mirror of
https://github.com/TeamMidnightDust/VisualOverhaul.git
synced 2025-12-15 13:45:09 +01:00
VisualOverhaul 4.1.1 - Update to 1.19
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
plugins {
|
||||
id 'fabric-loom' version '0.10-SNAPSHOT'
|
||||
id 'fabric-loom' version '0.12-SNAPSHOT'
|
||||
id 'maven-publish'
|
||||
}
|
||||
|
||||
@@ -10,9 +10,6 @@ archivesBaseName = project.archives_base_name
|
||||
version = project.mod_version
|
||||
group = project.maven_group
|
||||
|
||||
minecraft {
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven { url "https://jitpack.io" }
|
||||
maven { url "https://api.modrinth.com/maven" }
|
||||
@@ -46,7 +43,7 @@ tasks.withType(JavaCompile).configureEach {
|
||||
it.options.encoding = "UTF-8"
|
||||
|
||||
// Minecraft 1.17 (21w19a) upwards uses Java 16.
|
||||
it.options.release = 16
|
||||
it.options.release = 17
|
||||
}
|
||||
|
||||
java {
|
||||
|
||||
@@ -3,16 +3,16 @@ org.gradle.jvmargs=-Xmx2G
|
||||
|
||||
# Fabric Properties
|
||||
# check these on https://fabricmc.net/use
|
||||
minecraft_version=1.18.2
|
||||
yarn_mappings=1.18.2+build.2
|
||||
loader_version=0.13.3
|
||||
minecraft_version=1.19
|
||||
yarn_mappings=1.19+build.4
|
||||
loader_version=0.14.8
|
||||
|
||||
# Mod Properties
|
||||
mod_version = 4.1.0
|
||||
mod_version = 4.1.1
|
||||
maven_group = eu.midnightdust
|
||||
archives_base_name = visualoverhaul
|
||||
|
||||
# Dependencies
|
||||
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
|
||||
fabric_version=0.47.10+1.18.2
|
||||
midnightlib_version=0.4.0
|
||||
fabric_version=0.56.0+1.19
|
||||
midnightlib_version=0.5.2
|
||||
|
||||
@@ -8,6 +8,7 @@ import eu.midnightdust.visualoverhaul.block.renderer.JukeboxBlockEntityRenderer;
|
||||
import eu.midnightdust.visualoverhaul.config.VOConfig;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
|
||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||
@@ -16,7 +17,6 @@ import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
|
||||
import net.fabricmc.fabric.impl.blockrenderlayer.BlockRenderLayerMapImpl;
|
||||
import net.fabricmc.fabric.impl.client.rendering.BlockEntityRendererRegistryImpl;
|
||||
import net.fabricmc.fabric.impl.networking.ClientSidePacketRegistryImpl;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
@@ -72,19 +72,19 @@ public class VisualOverhaulClient implements ClientModInitializer {
|
||||
// }
|
||||
|
||||
Registry.ITEM.forEach((item) -> {
|
||||
if(item instanceof MusicDiscItem || item.getName().getString().toLowerCase().contains("music_disc") || item.getName().getString().toLowerCase().contains("dynamic_disc")) {
|
||||
if(item instanceof MusicDiscItem || item.getName().getString().toLowerCase().contains("music_disc") || item.getName().getString().toLowerCase().contains("record") || item.getName().getString().toLowerCase().contains("dynamic_disc")) {
|
||||
FabricModelPredicateProviderRegistry.register(item, new Identifier("round"), (stack, world, entity, seed) -> stack.getCount() == 2 ? 1.0F : 0.0F);
|
||||
}
|
||||
});
|
||||
|
||||
ClientSidePacketRegistryImpl.INSTANCE.register(UPDATE_POTION_BOTTLES,
|
||||
(packetContext, attachedData) -> {
|
||||
ClientPlayNetworking.registerGlobalReceiver(UPDATE_POTION_BOTTLES,
|
||||
(client, handler, attachedData, packetSender) -> {
|
||||
BlockPos pos = attachedData.readBlockPos();
|
||||
DefaultedList<ItemStack> inv = DefaultedList.ofSize(5, ItemStack.EMPTY);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
inv.set(i, attachedData.readItemStack());
|
||||
}
|
||||
packetContext.getTaskQueue().execute(() -> {
|
||||
client.execute(() -> {
|
||||
if (client.world != null && client.world.getBlockEntity(pos) != null && client.world.getBlockEntity(pos) instanceof BrewingStandBlockEntity blockEntity) {
|
||||
blockEntity.setStack(0, inv.get(0));
|
||||
blockEntity.setStack(1, inv.get(1));
|
||||
@@ -94,24 +94,24 @@ public class VisualOverhaulClient implements ClientModInitializer {
|
||||
}
|
||||
});
|
||||
});
|
||||
ClientSidePacketRegistryImpl.INSTANCE.register(UPDATE_RECORD,
|
||||
(packetContext, attachedData) -> {
|
||||
ClientPlayNetworking.registerGlobalReceiver(UPDATE_RECORD,
|
||||
(client, handler, attachedData, packetSender) -> {
|
||||
BlockPos pos = attachedData.readBlockPos();
|
||||
ItemStack record = attachedData.readItemStack();
|
||||
packetContext.getTaskQueue().execute(() -> {
|
||||
client.execute(() -> {
|
||||
if (client.world != null && client.world.getBlockEntity(pos) != null && client.world.getBlockEntity(pos) instanceof JukeboxBlockEntity blockEntity) {
|
||||
blockEntity.setRecord(record);
|
||||
}
|
||||
});
|
||||
});
|
||||
ClientSidePacketRegistryImpl.INSTANCE.register(UPDATE_FURNACE_ITEMS,
|
||||
(packetContext, attachedData) -> {
|
||||
ClientPlayNetworking.registerGlobalReceiver(UPDATE_FURNACE_ITEMS,
|
||||
(client, handler, attachedData, packetSender) -> {
|
||||
BlockPos pos = attachedData.readBlockPos();
|
||||
DefaultedList<ItemStack> inv = DefaultedList.ofSize(3, ItemStack.EMPTY);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
inv.set(i, attachedData.readItemStack());
|
||||
}
|
||||
packetContext.getTaskQueue().execute(() -> {
|
||||
client.execute(() -> {
|
||||
if (client.world != null && client.world.getBlockEntity(pos) != null && client.world.getBlockEntity(pos) instanceof AbstractFurnaceBlockEntity blockEntity) {
|
||||
blockEntity.setStack(0, inv.get(0));
|
||||
blockEntity.setStack(1, inv.get(1));
|
||||
|
||||
@@ -21,10 +21,11 @@ import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Util;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.Vec3f;
|
||||
import net.minecraft.util.math.random.Random;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Objects;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class JukeboxBlockEntityRenderer implements BlockEntityRenderer<JukeboxBlockEntity> {
|
||||
@@ -45,16 +46,15 @@ public class JukeboxBlockEntityRenderer implements BlockEntityRenderer<JukeboxBl
|
||||
}
|
||||
// Else gets the record sound played at the position of the jukebox //
|
||||
else if (SoundTest.getSound(blockEntity.getPos()) != null) {
|
||||
// Converts the Sound Id to the item id of the approprieate disc (minecraft:music_disc.cat -> minecraft:music_disc_cat) //
|
||||
// Converts the Sound Id to the item id of the appropriate disc (minecraft:music_disc.cat -> minecraft:music_disc_cat) //
|
||||
discItem = new Identifier(String.valueOf(SoundTest.getSound(blockEntity.getPos())).replace(".", "_"));
|
||||
|
||||
// Tries to get the disc item from the registry //
|
||||
if (Registry.ITEM.getOrEmpty(discItem).isPresent()) {
|
||||
|
||||
record = new ItemStack(Registry.ITEM.get(discItem));
|
||||
}
|
||||
else {
|
||||
LogManager.getLogger("VisualOverhaul").warn("Error getting music disc item for" + SoundTest.getSound(blockEntity.getPos()));
|
||||
if (VOConfig.debug) LogManager.getLogger("VisualOverhaul").warn("Error getting music disc item for " + SoundTest.getSound(blockEntity.getPos()));
|
||||
discItem = null;
|
||||
record = ItemStack.EMPTY;
|
||||
}
|
||||
@@ -80,9 +80,9 @@ public class JukeboxBlockEntityRenderer implements BlockEntityRenderer<JukeboxBl
|
||||
matrices.push();
|
||||
matrices.translate(0f, 1f, 0f);
|
||||
if (record == ItemStack.EMPTY) {
|
||||
MinecraftClient.getInstance().getBlockRenderManager().renderBlock(VisualOverhaulClient.JukeBoxTop.getDefaultState().with(Properties.HAS_RECORD, false), blockEntity.getPos().up(), blockEntity.getWorld(), matrices, vertexConsumers.getBuffer(RenderLayer.getCutout()), false, new Random());
|
||||
MinecraftClient.getInstance().getBlockRenderManager().renderBlock(VisualOverhaulClient.JukeBoxTop.getDefaultState().with(Properties.HAS_RECORD, false), blockEntity.getPos().up(), blockEntity.getWorld(), matrices, vertexConsumers.getBuffer(RenderLayer.getCutout()), false, Random.create());
|
||||
} else {
|
||||
MinecraftClient.getInstance().getBlockRenderManager().renderBlock(VisualOverhaulClient.JukeBoxTop.getDefaultState().with(Properties.HAS_RECORD, true), blockEntity.getPos().up(), blockEntity.getWorld(), matrices, vertexConsumers.getBuffer(RenderLayer.getCutout()), false, new Random());
|
||||
MinecraftClient.getInstance().getBlockRenderManager().renderBlock(VisualOverhaulClient.JukeBoxTop.getDefaultState().with(Properties.HAS_RECORD, true), blockEntity.getPos().up(), blockEntity.getWorld(), matrices, vertexConsumers.getBuffer(RenderLayer.getCutout()), false, Random.create());
|
||||
}
|
||||
matrices.pop();
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ public class VOConfig extends MidnightConfig {
|
||||
@Client @Entry public static boolean coloredItems = true;
|
||||
@Client @Entry public static boolean coloredLilypad = true;
|
||||
@Client @Entry public static boolean potionEnchantmentGlint = true;
|
||||
@Client @Entry(name = "Debug") public static boolean debug = false;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package eu.midnightdust.visualoverhaul.mixin;
|
||||
import eu.midnightdust.visualoverhaul.VisualOverhaul;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.fabricmc.fabric.api.networking.v1.PlayerLookup;
|
||||
import net.fabricmc.fabric.impl.networking.ServerSidePacketRegistryImpl;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.entity.*;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -41,7 +41,7 @@ public abstract class MixinAbstractFurnaceBlockEntity extends LockableContainerB
|
||||
passedData.writeItemStack(blockEntity.getStack(1));
|
||||
passedData.writeItemStack(blockEntity.getStack(2));
|
||||
|
||||
watchingPlayers.forEach(player -> ServerSidePacketRegistryImpl.INSTANCE.sendToPlayer(player, VisualOverhaul.UPDATE_FURNACE_ITEMS, passedData));
|
||||
watchingPlayers.forEach(player -> ServerPlayNetworking.send(player, VisualOverhaul.UPDATE_FURNACE_ITEMS, passedData));
|
||||
invUpdate = false;
|
||||
}
|
||||
playerUpdate = world.getPlayers().size();
|
||||
|
||||
@@ -7,14 +7,13 @@ import net.minecraft.block.BlockState;
|
||||
import net.minecraft.particle.ParticleTypes;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.random.Random;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@Mixin(BlastFurnaceBlock.class)
|
||||
public abstract class MixinBlastFurnaceBlock extends AbstractFurnaceBlock {
|
||||
protected MixinBlastFurnaceBlock(Settings settings) {
|
||||
|
||||
@@ -3,7 +3,7 @@ package eu.midnightdust.visualoverhaul.mixin;
|
||||
import eu.midnightdust.visualoverhaul.VisualOverhaul;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.fabricmc.fabric.api.networking.v1.PlayerLookup;
|
||||
import net.fabricmc.fabric.impl.networking.ServerSidePacketRegistryImpl;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.block.entity.BrewingStandBlockEntity;
|
||||
@@ -43,7 +43,7 @@ public abstract class MixinBrewingStandBlockEntity extends LockableContainerBloc
|
||||
passedData.writeItemStack(blockEntity.getStack(3));
|
||||
passedData.writeItemStack(blockEntity.getStack(4));
|
||||
|
||||
watchingPlayers.forEach(player -> ServerSidePacketRegistryImpl.INSTANCE.sendToPlayer(player, VisualOverhaul.UPDATE_POTION_BOTTLES, passedData));
|
||||
watchingPlayers.forEach(player -> ServerPlayNetworking.send(player, VisualOverhaul.UPDATE_POTION_BOTTLES, passedData));
|
||||
invUpdate = false;
|
||||
}
|
||||
playerUpdate = world.getPlayers().size();
|
||||
|
||||
@@ -4,7 +4,7 @@ import eu.midnightdust.visualoverhaul.VisualOverhaul;
|
||||
import eu.midnightdust.visualoverhaul.util.JukeboxPacketUpdate;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.fabricmc.fabric.api.networking.v1.PlayerLookup;
|
||||
import net.fabricmc.fabric.impl.networking.ServerSidePacketRegistryImpl;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.block.BlockRenderType;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.BlockWithEntity;
|
||||
@@ -47,7 +47,7 @@ public abstract class MixinJukeboxBlock extends BlockWithEntity {
|
||||
passedData.writeBlockPos(pos);
|
||||
passedData.writeItemStack(blockEntity.getRecord());
|
||||
|
||||
watchingPlayers.forEach(player -> ServerSidePacketRegistryImpl.INSTANCE.sendToPlayer(player, VisualOverhaul.UPDATE_RECORD, passedData));
|
||||
watchingPlayers.forEach(player -> ServerPlayNetworking.send(player, VisualOverhaul.UPDATE_RECORD, passedData));
|
||||
JukeboxPacketUpdate.invUpdate = false;
|
||||
}
|
||||
JukeboxPacketUpdate.playerUpdate = world.getPlayers().size();
|
||||
|
||||
@@ -1,25 +1,15 @@
|
||||
package eu.midnightdust.visualoverhaul.mixin;
|
||||
|
||||
import eu.midnightdust.visualoverhaul.VisualOverhaul;
|
||||
import eu.midnightdust.visualoverhaul.util.JukeboxPacketUpdate;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.fabricmc.fabric.api.networking.v1.PlayerLookup;
|
||||
import net.fabricmc.fabric.impl.networking.ServerSidePacketRegistryImpl;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.entity.*;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@Mixin(JukeboxBlockEntity.class)
|
||||
public abstract class MixinJukeboxBlockEntity extends BlockEntity {
|
||||
|
||||
@@ -27,21 +17,7 @@ public abstract class MixinJukeboxBlockEntity extends BlockEntity {
|
||||
super(type, pos, state);
|
||||
}
|
||||
|
||||
@Unique
|
||||
private static void tick(World world, BlockPos pos, BlockState state, JukeboxBlockEntity blockEntity) {
|
||||
if (!world.isClient && (JukeboxPacketUpdate.invUpdate || world.getPlayers().size() == JukeboxPacketUpdate.playerUpdate)) {
|
||||
Stream<ServerPlayerEntity> watchingPlayers = PlayerLookup.tracking(blockEntity).stream();
|
||||
PacketByteBuf passedData = new PacketByteBuf(Unpooled.buffer());
|
||||
passedData.writeBlockPos(pos);
|
||||
passedData.writeItemStack(blockEntity.getRecord());
|
||||
|
||||
watchingPlayers.forEach(player -> ServerSidePacketRegistryImpl.INSTANCE.sendToPlayer(player, VisualOverhaul.UPDATE_RECORD, passedData));
|
||||
JukeboxPacketUpdate.invUpdate = false;
|
||||
}
|
||||
JukeboxPacketUpdate.playerUpdate = world.getPlayers().size();
|
||||
}
|
||||
|
||||
@Inject(at = @At("RETURN"), method = "getRecord", cancellable = true)
|
||||
@Inject(at = @At("RETURN"), method = "getRecord")
|
||||
public void getRecord(CallbackInfoReturnable<ItemStack> cir) {
|
||||
JukeboxPacketUpdate.invUpdate = true;
|
||||
}
|
||||
|
||||
@@ -7,14 +7,13 @@ import net.minecraft.block.SmokerBlock;
|
||||
import net.minecraft.particle.ParticleTypes;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.random.Random;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@Mixin(SmokerBlock.class)
|
||||
public abstract class MixinSmokerBlock extends AbstractFurnaceBlock {
|
||||
protected MixinSmokerBlock(Settings settings) {
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
package eu.midnightdust.visualoverhaul.util.sound;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class SoundTest {
|
||||
|
||||
public static Map<BlockPos, Identifier> soundPos = Maps.newHashMap();
|
||||
|
||||
/**
|
||||
* Returns the Sound provided in MixinSoundSystem
|
||||
* {@link eu.midnightdust.visualoverhaul.mixin.MixinSoundSystem}
|
||||
*/
|
||||
public static Identifier getSound(BlockPos pos) {
|
||||
if (soundPos.containsKey(pos)) {
|
||||
return soundPos.get(pos);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"pack": {
|
||||
"pack_format": 8,
|
||||
"pack_format": 9,
|
||||
"description": "§2Makes the water bucket respect biome colors"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"pack": {
|
||||
"pack_format": 8,
|
||||
"pack_format": 9,
|
||||
"description": "§2Changes the model of the furnace to be 3D"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"particle": "block/brewing_stand",
|
||||
"stand": "block/brewing_stand"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [8, 0, 8],
|
||||
"to": [11, 16, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [5, 0, 8, 16], "texture": "#stand"},
|
||||
"south": {"uv": [8, 0, 5, 16], "texture": "#stand"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 9, 8],
|
||||
"to": [16, 16, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 5, 7], "texture": "#stand"},
|
||||
"south": {"uv": [5, 0, 0, 7], "texture": "#stand"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"particle": "block/brewing_stand",
|
||||
"stand": "block/brewing_stand"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [4.59, 0, 8],
|
||||
"to": [7.59, 16, 8],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [8, 0, 5, 16], "texture": "#stand"},
|
||||
"south": {"uv": [5, 0, 8, 16], "texture": "#stand"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [-0.41, 9, 8],
|
||||
"to": [4.59, 16, 8],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 0, 0, 7], "texture": "#stand"},
|
||||
"south": {"uv": [0, 0, 5, 7], "texture": "#stand"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"particle": "block/brewing_stand",
|
||||
"stand": "block/brewing_stand"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [4.59, 0, 8],
|
||||
"to": [7.59, 16, 8],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [8, 0, 5, 16], "texture": "#stand"},
|
||||
"south": {"uv": [5, 0, 8, 16], "texture": "#stand"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [-0.41, 9, 8],
|
||||
"to": [4.59, 16, 8],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 0, 0, 7], "texture": "#stand"},
|
||||
"south": {"uv": [0, 0, 5, 7], "texture": "#stand"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"pack": {
|
||||
"pack_format": 8,
|
||||
"pack_format": 9,
|
||||
"description": "§2Removes the bottles from the brewing stand"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "minecraft:item/music_disc_5"
|
||||
},
|
||||
|
||||
"overrides": [
|
||||
{
|
||||
"predicate": {
|
||||
"round": 1
|
||||
},
|
||||
"model": "minecraft:item/music_disc_5_round"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "visualoverhaul:item/round_disc",
|
||||
"textures": {
|
||||
"0": "minecraft:item/music_disc_5"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "recordable:item/copper_record",
|
||||
"layer1": "recordable:item/copper_record_engravings",
|
||||
"layer2": "recordable:item/copper_record_cover_1",
|
||||
"layer3": "recordable:item/copper_record_cover_2",
|
||||
"layer4": "recordable:item/copper_record_cover_3",
|
||||
"layer5": "recordable:item/copper_record_cover_4",
|
||||
"layer6": "recordable:item/copper_record_cover_5",
|
||||
"layer7": "recordable:item/copper_record_cover_6",
|
||||
"layer8": "recordable:item/copper_record_cover_7",
|
||||
"layer9": "recordable:item/copper_record_cover_8",
|
||||
"layer10": "recordable:item/copper_record_cover_9",
|
||||
"layer11": "recordable:item/copper_record_cover_10"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"predicate": {
|
||||
"round": 1
|
||||
},
|
||||
"model": "recordable:item/copper_record_round"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,557 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"10": "recordable:item/copper_record_cover_10",
|
||||
"particle": "recordable:item/copper_record",
|
||||
"base": "recordable:item/copper_record",
|
||||
"02": "recordable:item/copper_record_cover_2",
|
||||
"03": "recordable:item/copper_record_cover_3",
|
||||
"04": "recordable:item/copper_record_cover_4",
|
||||
"05": "recordable:item/copper_record_cover_5",
|
||||
"06": "recordable:item/copper_record_cover_6",
|
||||
"08": "recordable:item/copper_record_cover_8",
|
||||
"09": "recordable:item/copper_record_cover_9"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [7.5, 0, 7.5],
|
||||
"to": [8.5, 1, 8.5],
|
||||
"faces": {
|
||||
"up": {"uv": [7, 7, 8, 8], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 0, 9.5],
|
||||
"to": [10.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 10]},
|
||||
"faces": {
|
||||
"up": {"uv": [5, 6, 6, 7], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 9.5],
|
||||
"to": [6.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 10]},
|
||||
"faces": {
|
||||
"up": {"uv": [9, 6, 10, 7], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 5.5],
|
||||
"to": [6.5, 1, 6.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [9, 8, 10, 9], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 0, 5.5],
|
||||
"to": [10.5, 1, 6.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [5, 8, 6, 9], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 0, 5.5],
|
||||
"to": [7.5, 1, 6.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [6, 8, 7, 9], "texture": "#08", "tintindex": 8}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 5.5],
|
||||
"to": [8.5, 1, 6.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [7, 8, 8, 9], "texture": "#09", "tintindex": 9}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8.5, 0, 5.5],
|
||||
"to": [9.5, 1, 6.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 8, 9, 9], "texture": "#10", "tintindex": 10}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2.5, 0, 4.5],
|
||||
"to": [13.5, 1, 5.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 5]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 9, 13, 10], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4.5, 0.001, 2.5],
|
||||
"to": [5.5, 1.001, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [5, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 9, 13, 10], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10.5, 0.001, 2.5],
|
||||
"to": [11.5, 1.001, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [11, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 9, 13, 10], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2.5, 0, 10.5],
|
||||
"to": [13.5, 1, 11.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 5, 13, 6], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 0, 9.5],
|
||||
"to": [7.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 10]},
|
||||
"faces": {
|
||||
"up": {"uv": [7, 6, 8, 7], "texture": "#02", "tintindex": 1}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 9.5],
|
||||
"to": [8.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 10]},
|
||||
"faces": {
|
||||
"up": {"uv": [7, 6, 8, 7], "texture": "#02", "tintindex": 2}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8.5, 0, 9.5],
|
||||
"to": [9.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 10]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 6, 9, 7], "texture": "#03", "tintindex": 3}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 8.5],
|
||||
"to": [6.5, 1, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [6, 8, 7, 9], "rotation": 270, "texture": "#08", "tintindex": 8}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 7.5],
|
||||
"to": [6.5, 1, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 7, 9, 8], "rotation": 270, "texture": "#06", "tintindex": 6}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 6.5],
|
||||
"to": [6.5, 1, 7.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 8, 9, 9], "rotation": 270, "texture": "#10", "tintindex": 10}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 8.5],
|
||||
"to": [6.5, 1, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [6, 8, 9, 9], "rotation": 270, "texture": "#08", "tintindex": 8}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 0, 8.5],
|
||||
"to": [10.5, 1, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [7, 6, 8, 7], "rotation": 270, "texture": "#02", "tintindex": 1}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 0, 7.5],
|
||||
"to": [10.5, 1, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [5, 7, 6, 8], "rotation": 270, "texture": "#04", "tintindex": 4}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 0, 6.5],
|
||||
"to": [10.5, 1, 7.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 6, 9, 7], "rotation": 270, "texture": "#03", "tintindex": 3}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8.5, 0, 6.5],
|
||||
"to": [9.5, 1, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [6, 7, 7, 8], "texture": "#05", "tintindex": 5}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 0, 6.5],
|
||||
"to": [7.5, 1, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 7, 9, 8], "texture": "#06", "tintindex": 6}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 8.5],
|
||||
"to": [8.5, 1, 9.5],
|
||||
"faces": {
|
||||
"up": {"uv": [6, 7, 7, 8], "texture": "#05", "tintindex": 5}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 6.5],
|
||||
"to": [8.5, 1, 7.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 7, 9, 8], "texture": "#06", "tintindex": 6}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, -0.001, 11.5],
|
||||
"to": [12.5, 0.999, 12.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 12]},
|
||||
"faces": {
|
||||
"up": {"uv": [3, 5, 8, 6], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, -0.001, 11.5],
|
||||
"to": [7.5, 0.999, 12.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [5, 8, 12]},
|
||||
"faces": {
|
||||
"up": {"uv": [8, 5, 12, 6], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 12.5],
|
||||
"to": [10.5, 1, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 5, 3, 10], "rotation": 90, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 0, 13.5],
|
||||
"to": [11.5, 1, 14.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 14]},
|
||||
"faces": {
|
||||
"east": {"uv": [10, 11, 11, 12], "texture": "#base", "tintindex": 0},
|
||||
"south": {"uv": [5, 12, 10, 13], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [5, 3, 10, 4], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4.5, 0, 13.5],
|
||||
"to": [6.5, 1, 14.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 14]},
|
||||
"faces": {
|
||||
"south": {"uv": [3, 11, 5, 12], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [2, 11, 3, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [8, 3, 10, 4], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 0, 12.5],
|
||||
"to": [4.5, 1, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 13]},
|
||||
"faces": {
|
||||
"south": {"uv": [13, 10, 14, 11], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [13, 10, 14, 11], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [10, 4, 11, 5], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2.5, 0, 11.5],
|
||||
"to": [3.5, 1, 12.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 12]},
|
||||
"faces": {
|
||||
"south": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [10, 11, 11, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [11, 4, 12, 5], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 11.5],
|
||||
"to": [13.5, 1, 12.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [11, 8, 12]},
|
||||
"faces": {
|
||||
"east": {"uv": [13, 10, 14, 11], "texture": "#base", "tintindex": 0},
|
||||
"south": {"uv": [13, 10, 14, 11], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [2, 4, 3, 5], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.5, 0, 12.5],
|
||||
"to": [12.5, 1, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 13]},
|
||||
"faces": {
|
||||
"east": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"south": {"uv": [11, 11, 12, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [4, 4, 5, 5], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.5, -0.001, 5.5],
|
||||
"to": [12.5, 0.999, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [5, 4, 10, 5], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.5, -0.001, 3.5],
|
||||
"to": [12.5, 0.999, 4.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 6]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 9, 3, 10], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 5.5],
|
||||
"to": [13.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 5, 3, 10], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13.5, 0, 4.5],
|
||||
"to": [14.5, 1, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [14, 8, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 11, 11, 12], "texture": "#base", "tintindex": 0},
|
||||
"east": {"uv": [5, 12, 10, 13], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [5, 3, 10, 4], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13.5, 0, 9.5],
|
||||
"to": [14.5, 1, 11.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [14, 8, 12]},
|
||||
"faces": {
|
||||
"east": {"uv": [3, 11, 5, 12], "texture": "#base", "tintindex": 0},
|
||||
"south": {"uv": [2, 11, 3, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [8, 3, 10, 4], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.5, 0, 2.5],
|
||||
"to": [12.5, 1, 3.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 5]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 11, 12, 12], "texture": "#base", "tintindex": 0},
|
||||
"east": {"uv": [10, 11, 11, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [1, 5, 2, 6], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 3.5],
|
||||
"to": [13.5, 1, 4.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 8, 6]},
|
||||
"faces": {
|
||||
"north": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"east": {"uv": [11, 11, 12, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [2, 4, 3, 5], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, -0.001, 3.5],
|
||||
"to": [10.5, 0.999, 4.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 4.1]},
|
||||
"faces": {
|
||||
"up": {"uv": [5, 10, 10, 11], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, -0.001, 3.5],
|
||||
"to": [4.5, 0.999, 4.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 4]},
|
||||
"faces": {
|
||||
"up": {"uv": [12, 9, 13, 10], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.5, 0, 2.5],
|
||||
"to": [10.5, 1, 3.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 3]},
|
||||
"faces": {
|
||||
"up": {"uv": [2, 5, 3, 10], "rotation": 270, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 0, 1.5],
|
||||
"to": [11.5, 1, 2.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 2]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 12, 10, 13], "texture": "#base", "tintindex": 0},
|
||||
"east": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [5, 3, 10, 4], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4.5, 0, 1.5],
|
||||
"to": [6.5, 1, 2.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 2]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 11, 12, 12], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [9, 12, 10, 13], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [8, 3, 10, 4], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2.5, 0, 3.5],
|
||||
"to": [3.5, 1, 4.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [5, 8, 4]},
|
||||
"faces": {
|
||||
"north": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [1, 5, 2, 6], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 0, 2.5],
|
||||
"to": [4.5, 1, 3.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [12, 11, 13, 12], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [11, 11, 12, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [12, 10, 13, 11], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, -0.001, 5.5],
|
||||
"to": [4.5, 0.999, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 8.1]},
|
||||
"faces": {
|
||||
"up": {"uv": [11, 5, 12, 10], "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2.5, 0, 5.5],
|
||||
"to": [3.5, 1, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3, 8, 8]},
|
||||
"faces": {
|
||||
"up": {"uv": [12, 5, 13, 10], "rotation": 180, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1.5, 0, 6.5],
|
||||
"to": [2.5, 1, 11.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 9]},
|
||||
"faces": {
|
||||
"south": {"uv": [13, 10, 14, 11], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [5, 12, 10, 13], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [5, 3, 10, 4], "rotation": 90, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1.5, 0, 4.5],
|
||||
"to": [2.5, 1, 6.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 4]},
|
||||
"faces": {
|
||||
"north": {"uv": [13, 10, 14, 11], "texture": "#base", "tintindex": 0},
|
||||
"west": {"uv": [10, 11, 12, 12], "texture": "#base", "tintindex": 0},
|
||||
"up": {"uv": [8, 3, 10, 4], "rotation": 90, "texture": "#base", "tintindex": 0}
|
||||
}
|
||||
}
|
||||
],
|
||||
"gui_light": "front",
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [38, 0, 0],
|
||||
"translation": [0, 1.75, 0.75],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [38, 0, 0],
|
||||
"translation": [0, 1.75, 0.75],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [87, -19, 41],
|
||||
"translation": [0, 4.25, 0]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [87, -19, 41],
|
||||
"translation": [0, 4.25, 0]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 7.5, 0]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [90, 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"translation": [0, 14.5, 0]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [-90, 0, 0],
|
||||
"translation": [0, 0, -8]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [10, 8, 12],
|
||||
"color": 0,
|
||||
"children": [26, 27, 28, 29, 30, 31, 32, 33, 34]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [10, 8, 12],
|
||||
"color": 0,
|
||||
"children": [35, 36, 37, 38, 39, 40, 41]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [10, 8, 12],
|
||||
"color": 0,
|
||||
"children": [42, 43, 44, 45, 46, 47, 48]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [10, 8, 12],
|
||||
"color": 0,
|
||||
"children": [49, 50, 51, 52]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"pack": {
|
||||
"pack_format": 8,
|
||||
"pack_format": 9,
|
||||
"description": "§2Makes the spinning discs on Jukeboxes round"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user