bug fixing and jsons
This commit is contained in:
parent
89b2500bad
commit
a4f0b2642c
|
|
@ -20,6 +20,8 @@ import net.minecraft.sounds.SoundEvents;
|
|||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraftforge.client.event.ClientChatEvent;
|
||||
|
|
@ -39,6 +41,7 @@ import net.minecraftforge.fml.common.Mod;
|
|||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.network.PacketDistributor;
|
||||
import net.montoyo.wd.block.WDBlockContainer;
|
||||
import net.montoyo.wd.client.ClientProxy;
|
||||
import net.montoyo.wd.config.ModConfig;
|
||||
import net.montoyo.wd.core.*;
|
||||
|
|
@ -149,9 +152,12 @@ public class WebDisplays {
|
|||
|
||||
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||
bus.addListener(Messages::registryNetworkPackets);
|
||||
ItemInit.init(bus);
|
||||
BlockInit.init(bus);
|
||||
ItemInit.init(bus);
|
||||
ItemInit.registerUpgrade();
|
||||
ItemInit.registerComponents();
|
||||
TileInit.init(bus);
|
||||
|
||||
PROXY.preInit();
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
|
|
|
|||
|
|
@ -4,12 +4,16 @@
|
|||
|
||||
package net.montoyo.wd.block;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
@ -18,33 +22,41 @@ import net.minecraft.world.level.block.Blocks;
|
|||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.level.block.state.properties.DirectionProperty;
|
||||
import net.minecraft.world.level.block.state.properties.IntegerProperty;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraft.world.level.material.Material;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
import net.minecraft.world.phys.shapes.Shapes;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import net.montoyo.wd.core.DefaultPeripheral;
|
||||
import net.montoyo.wd.core.IPeripheral;
|
||||
import net.montoyo.wd.entity.TileEntityKeyboard;
|
||||
import net.montoyo.wd.init.BlockInit;
|
||||
import net.montoyo.wd.item.ItemLinker;
|
||||
import net.montoyo.wd.utilities.BlockSide;
|
||||
import net.montoyo.wd.utilities.Vector3i;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.lwjgl.system.CallbackI;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class BlockKeyboardRight extends Block implements IPeripheral {
|
||||
|
||||
public static final DirectionProperty facing = DirectionProperty.create("facing", Direction.Plane.HORIZONTAL);
|
||||
public static final DirectionProperty facing = BlockStateProperties.HORIZONTAL_FACING;
|
||||
public static final VoxelShape KEYBOARD_AABB = Shapes.box(0.0, 0.0, 0.0, 1.0, 1.0 / 16.0, 1.0);
|
||||
|
||||
public BlockKeyboardRight() {
|
||||
super(Properties.of(Material.STONE)
|
||||
.strength(1.5f, 10.f));
|
||||
|
||||
//("keyboard")
|
||||
//("keyboard")
|
||||
//fullBlock = false;
|
||||
}
|
||||
|
||||
|
|
@ -64,13 +76,13 @@ public class BlockKeyboardRight extends Block implements IPeripheral {
|
|||
}
|
||||
|
||||
private TileEntityKeyboard getTileEntity(Level world, BlockPos pos) {
|
||||
for(Direction nf: Direction.Plane.HORIZONTAL) {
|
||||
for (Direction nf : Direction.Plane.HORIZONTAL) {
|
||||
BlockPos np = pos.above(nf.getNormal().getX()); //TODO is X correct?
|
||||
BlockState ns = world.getBlockState(np);
|
||||
|
||||
if(ns.getBlock() instanceof BlockPeripheral && ns.getValue(BlockPeripheral.type) == DefaultPeripheral.KEYBOARD) {
|
||||
if (ns.getBlock() instanceof BlockPeripheral && ns.getValue(BlockPeripheral.type) == DefaultPeripheral.KEYBOARD) {
|
||||
BlockEntity te = world.getBlockEntity(np);
|
||||
if(te != null && te instanceof TileEntityKeyboard)
|
||||
if (te != null && te instanceof TileEntityKeyboard)
|
||||
return (TileEntityKeyboard) te;
|
||||
|
||||
break;
|
||||
|
|
@ -87,16 +99,16 @@ public class BlockKeyboardRight extends Block implements IPeripheral {
|
|||
}
|
||||
|
||||
public static boolean checkNeighborhood(Level world, BlockPos bp, BlockPos ignore) {
|
||||
for(Direction neighbor: Direction.Plane.HORIZONTAL) {
|
||||
for (Direction neighbor : Direction.Plane.HORIZONTAL) {
|
||||
BlockPos np = bp.above(neighbor.getNormal().getX()); //TODO is X correct?
|
||||
|
||||
if(ignore == null || !np.equals(ignore)) {
|
||||
if (ignore == null || !np.equals(ignore)) {
|
||||
BlockState state = world.getBlockState(np);
|
||||
|
||||
if(state.getBlock() instanceof BlockPeripheral) {
|
||||
if(state.getValue(BlockPeripheral.type) == DefaultPeripheral.KEYBOARD)
|
||||
if (state.getBlock() instanceof BlockPeripheral) {
|
||||
if (state.getValue(BlockPeripheral.type) == DefaultPeripheral.KEYBOARD)
|
||||
return false;
|
||||
} else if(state.getBlock() instanceof BlockKeyboardRight)
|
||||
} else if (state.getBlock() instanceof BlockKeyboardRight)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -105,11 +117,11 @@ public class BlockKeyboardRight extends Block implements IPeripheral {
|
|||
}
|
||||
|
||||
public void removeLeftPiece(Level world, BlockPos pos, boolean dropItem) {
|
||||
for(Direction nf: Direction.Plane.HORIZONTAL) {
|
||||
for (Direction nf : Direction.Plane.HORIZONTAL) {
|
||||
BlockPos np = pos.above(nf.getNormal().getX()); //TODO is X correct?
|
||||
BlockState ns = world.getBlockState(np);
|
||||
|
||||
if(ns.getBlock() instanceof BlockPeripheral && ns.getValue(BlockPeripheral.type) == DefaultPeripheral.KEYBOARD) {
|
||||
if (ns.getBlock() instanceof BlockPeripheral && ns.getValue(BlockPeripheral.type) == DefaultPeripheral.KEYBOARD) {
|
||||
/* if(dropItem)
|
||||
if(world instanceof ServerLevel serverWorld) {
|
||||
// ns.getBlock().getDrops(ns, serverWorld, np,0);
|
||||
|
|
@ -125,7 +137,7 @@ public class BlockKeyboardRight extends Block implements IPeripheral {
|
|||
if (world.isClientSide())
|
||||
return;
|
||||
|
||||
if(neighbor.getX() == pos.getX() && neighbor.getY() == pos.getY() - 1 && neighbor.getZ() == pos.getZ()) {
|
||||
if (neighbor.getX() == pos.getX() && neighbor.getY() == pos.getY() - 1 && neighbor.getZ() == pos.getZ()) {
|
||||
removeLeftPiece(world, pos, true);
|
||||
world.setBlock(pos, Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL_IMMEDIATE);
|
||||
}
|
||||
|
|
@ -133,7 +145,7 @@ public class BlockKeyboardRight extends Block implements IPeripheral {
|
|||
|
||||
@Override
|
||||
public boolean onDestroyedByPlayer(BlockState state, Level world, BlockPos pos, Player ply, boolean willHarvest, FluidState fluid) {
|
||||
if(!world.isClientSide)
|
||||
if (!world.isClientSide)
|
||||
removeLeftPiece(world, pos, !ply.isCreative());
|
||||
|
||||
return super.onDestroyedByPlayer(state, world, pos, ply, willHarvest, fluid);
|
||||
|
|
@ -143,18 +155,46 @@ public class BlockKeyboardRight extends Block implements IPeripheral {
|
|||
@Override
|
||||
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
|
||||
double rpos = (entity.getY() - ((double) pos.getY())) * 16.0;
|
||||
if(!world.isClientSide && rpos >= 1.0 && rpos <= 2.0 && Math.random() < 0.25) {
|
||||
if (!world.isClientSide && rpos >= 1.0 && rpos <= 2.0 && Math.random() < 0.25) {
|
||||
TileEntityKeyboard tek = getTileEntity(world, pos);
|
||||
|
||||
if(tek != null)
|
||||
if (tek != null)
|
||||
tek.simulateCat(entity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
|
||||
if(player.isShiftKeyDown())
|
||||
return InteractionResult.PASS;
|
||||
public boolean canBeReplaced(BlockState state, BlockPlaceContext context) {
|
||||
if (!context.getItemInHand().isEmpty()) //Keyboard
|
||||
return false;
|
||||
|
||||
//Special checks for the keyboard
|
||||
BlockPos pos = context.getClickedPos().offset(context.getHorizontalDirection().getNormal());
|
||||
if (context.getLevel().getBlockState(pos.below()) == Blocks.AIR.defaultBlockState() || !BlockKeyboardRight.checkNeighborhood(context.getLevel(), pos, null))
|
||||
return true;
|
||||
|
||||
int f = (int) Math.floor(((double) (context.getPlayer().getYRot() * 4.0f / 360.0f)) + 2.5) & 3;
|
||||
Vec3i dir = Direction.from2DDataValue(f).getNormal();
|
||||
BlockPos left = pos.offset(dir);
|
||||
BlockPos right = pos.subtract(dir);
|
||||
|
||||
if (context.getLevel().getBlockState(right) == Blocks.AIR.defaultBlockState() && !(context.getLevel().getBlockState(right.below()) == Blocks.AIR.defaultBlockState()) && BlockKeyboardRight.checkNeighborhood(context.getLevel(), right, null))
|
||||
return false;
|
||||
else
|
||||
return !(context.getLevel().getBlockState(left) == Blocks.AIR.defaultBlockState() && !(context.getLevel().getBlockState(left.below()) == Blocks.AIR.defaultBlockState()) && BlockKeyboardRight.checkNeighborhood(context.getLevel(), left, null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
|
||||
if (player.isShiftKeyDown()) {
|
||||
ItemStack itemStack = player.getItemInHand(hand);
|
||||
if (canBeReplaced(state, new BlockPlaceContext(player, hand, itemStack, hit))) {
|
||||
int f = (int) Math.floor(((double) (player.getYRot() * 4.0f / 360.0f)) + 2.5) & 3;
|
||||
Vec3i dir = Direction.from2DDataValue(f).getNormal();
|
||||
level.setBlock(pos.offset(dir), BlockInit.blockKeyBoard.get().defaultBlockState(), UPDATE_ALL_IMMEDIATE);
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
if(player.getItemInHand(hand).getItem() instanceof ItemLinker)
|
||||
return InteractionResult.PASS;
|
||||
|
|
|
|||
|
|
@ -4,15 +4,19 @@
|
|||
|
||||
package net.montoyo.wd.block;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.server.players.PlayerList;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Explosion;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
@ -29,6 +33,7 @@ import net.minecraft.world.level.block.state.properties.Property;
|
|||
import net.minecraft.world.level.material.Material;
|
||||
import net.minecraft.world.level.material.PushReaction;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
import net.minecraft.world.phys.shapes.Shapes;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
|
|
@ -44,7 +49,10 @@ import net.montoyo.wd.net.Messages;
|
|||
import net.montoyo.wd.net.client.CMessageCloseGui;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class BlockPeripheral extends Block {
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class BlockPeripheral extends WDBlockContainer {
|
||||
|
||||
public static final EnumProperty<DefaultPeripheral> type = EnumProperty.create("type", DefaultPeripheral.class);
|
||||
public static final DirectionProperty facing = DirectionProperty.create("facing", Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST);
|
||||
|
|
@ -53,19 +61,15 @@ public class BlockPeripheral extends Block {
|
|||
public BlockPeripheral() {
|
||||
super(BlockBehaviour.Properties.of(Material.STONE).strength(1.5f, 10.f));
|
||||
// setName("peripheral");
|
||||
}
|
||||
|
||||
// @Override
|
||||
// protected BlockItem createItemBlock() {
|
||||
// return new ItemPeripheral(this);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
|
||||
builder.add(properties);
|
||||
}
|
||||
|
||||
// @Nullable TODO: Fix
|
||||
// @Nullable TODO: Fix
|
||||
// @Override
|
||||
// public BlockState getStateForPlacement(BlockPlaceContext context) {
|
||||
// Direction rot = Direction.fromYRot(placer.getYHeadRot());
|
||||
|
|
|
|||
|
|
@ -4,33 +4,33 @@
|
|||
|
||||
package net.montoyo.wd.block;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.level.block.entity.BaseContainerBlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.montoyo.wd.item.ItemPeripheral;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
|
||||
public abstract class WDBlockContainer extends BaseContainerBlockEntity {
|
||||
public abstract class WDBlockContainer extends Block {
|
||||
|
||||
protected BlockItem itemBlock;
|
||||
protected static BlockItem itemBlock;
|
||||
|
||||
public WDBlockContainer(BlockEntityType<?> type, BlockPos blockPos, BlockState state) {
|
||||
super(type, blockPos, state);
|
||||
public WDBlockContainer(Properties arg) {
|
||||
super(arg);
|
||||
}
|
||||
|
||||
protected void setName(String name) {
|
||||
// setRegistryName(name);
|
||||
}
|
||||
|
||||
protected abstract BlockItem createItemBlock();
|
||||
protected static BlockItem createItemBlock(Block block) {
|
||||
return new BlockItem(block, new Item.Properties().tab(WebDisplays.CREATIVE_TAB));
|
||||
}
|
||||
|
||||
public void makeItemBlock() {
|
||||
public static void makeItemBlock(Block block) {
|
||||
if(itemBlock != null)
|
||||
throw new RuntimeException("WDBlockContainer.makeItemBlock() called twice!");
|
||||
|
||||
itemBlock = createItemBlock();
|
||||
itemBlock.setRegistryName(getName().getString());
|
||||
itemBlock = createItemBlock(block);
|
||||
// itemBlock.setRegistryName(getName().getString());
|
||||
}
|
||||
|
||||
public BlockItem getItem() {
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public class GuiKeyboard extends WDScreen {
|
|||
else
|
||||
showWarning = !hasUserReadWarning();
|
||||
|
||||
loadFrom(new ResourceLocation("webdisplays", "gui/keyboard.json"));
|
||||
loadFrom(new ResourceLocation("webdisplays", "gui/kb_right.json"));
|
||||
|
||||
if (showWarning) {
|
||||
int maxLabelW = 0;
|
||||
|
|
|
|||
|
|
@ -8,28 +8,37 @@ import net.minecraft.util.StringRepresentable;
|
|||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.montoyo.wd.entity.*;
|
||||
import net.montoyo.wd.entity.TileEntityKeyboard;
|
||||
import net.montoyo.wd.entity.TileEntityRCtrl;
|
||||
import net.montoyo.wd.entity.TileEntityRedCtrl;
|
||||
import net.montoyo.wd.entity.TileEntityServer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public enum DefaultPeripheral implements StringRepresentable {
|
||||
|
||||
KEYBOARD("keyboard", "Keyboard", TileEntityKeyboard::new), //WITH FACING (< 3)
|
||||
KEYBOARD("keyboard", "Keyboard", TileEntityKeyboard::new, TileEntityKeyboard::getBlockFromTE), //WITH FACING (< 3)
|
||||
// CC_INTERFACE("ccinterface", "ComputerCraft_Interface", TileEntityCCInterface.class),
|
||||
// OC_INTERFACE("cointerface", "OpenComputers_Interface", TileEntityOCInterface.class),
|
||||
REMOTE_CONTROLLER("remotectrl", "Remote_Controller", TileEntityRCtrl::new), //WITHOUT FACING (>= 3)
|
||||
REDSTONE_CONTROLLER("redstonectrl", "Redstone_Controller", TileEntityRedCtrl::new),
|
||||
SERVER("server", "Server", TileEntityServer::new);
|
||||
REMOTE_CONTROLLER("remotectrl", "Remote_Controller", TileEntityRCtrl::new ,TileEntityRCtrl::getBlockFromTE), //WITHOUT FACING (>= 3)
|
||||
REDSTONE_CONTROLLER("redstonectrl", "Redstone_Controller", TileEntityRedCtrl::new ,TileEntityRedCtrl::getBlockFromTE),
|
||||
SERVER("server", "Server", TileEntityServer::new, TileEntityServer::getBlockFromTE);
|
||||
|
||||
private final String name;
|
||||
private final String wikiName;
|
||||
private final BlockEntityType.BlockEntitySupplier<? extends BlockEntity> teClass;
|
||||
private final Supplier<? extends Block> bClass;
|
||||
|
||||
DefaultPeripheral(String name, String wname, BlockEntityType.BlockEntitySupplier<? extends BlockEntity> factory) {
|
||||
DefaultPeripheral(String name, String wname, BlockEntityType.BlockEntitySupplier<? extends BlockEntity> factory, Supplier<? extends Block> supplier) {
|
||||
this.name = name;
|
||||
wikiName = wname;
|
||||
teClass = factory;
|
||||
bClass = supplier;
|
||||
}
|
||||
|
||||
public Supplier<? extends Block> getBlockClass() {
|
||||
return bClass;
|
||||
}
|
||||
|
||||
public static DefaultPeripheral fromMetadata(int meta) {
|
||||
|
|
@ -58,7 +67,7 @@ public enum DefaultPeripheral implements StringRepresentable {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String getSerializedName() {
|
||||
public @NotNull String getSerializedName() {
|
||||
return "default_peripheral_" + name;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,21 @@
|
|||
package net.montoyo.wd.entity;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.animal.Ocelot;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.context.UseOnContext;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.block.BlockKeyboardRight;
|
||||
import net.montoyo.wd.core.ScreenRights;
|
||||
import net.montoyo.wd.data.KeyboardData;
|
||||
import net.montoyo.wd.init.TileInit;
|
||||
|
|
@ -23,9 +29,21 @@ import net.montoyo.wd.utilities.Util;
|
|||
public class TileEntityKeyboard extends TileEntityPeripheralBase {
|
||||
|
||||
private static final String RANDOM_CHARS = "AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn0123456789"; //Yes I have an AZERTY keyboard, u care?
|
||||
private static BlockPos blockPos;
|
||||
private static BlockState blockState;
|
||||
|
||||
public TileEntityKeyboard(BlockPos arg2, BlockState arg3) {
|
||||
super(TileInit.KEYBOARD.get(), arg2, arg3);
|
||||
blockPos = arg2;
|
||||
blockState = arg3;
|
||||
}
|
||||
|
||||
public static Block getBlockFromTE() {
|
||||
if(blockPos != null && blockState != null) {
|
||||
return new TileEntityKeyboard(blockPos, blockState).getBlockState().getBlock();
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -5,16 +5,20 @@
|
|||
package net.montoyo.wd.entity;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.LevelChunk;
|
||||
import net.montoyo.wd.block.BlockKeyboardRight;
|
||||
import net.montoyo.wd.core.IPeripheral;
|
||||
import net.montoyo.wd.utilities.BlockSide;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import net.minecraft.server.level.ServerPlayer;
|
|||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.montoyo.wd.core.ScreenRights;
|
||||
|
|
@ -18,9 +19,21 @@ import net.montoyo.wd.utilities.BlockSide;
|
|||
import net.montoyo.wd.utilities.Util;
|
||||
|
||||
public class TileEntityRCtrl extends TileEntityPeripheralBase {
|
||||
private static BlockPos blockPos;
|
||||
private static BlockState blockState;
|
||||
|
||||
public TileEntityRCtrl(BlockPos arg2, BlockState arg3) {
|
||||
super(TileInit.REMOTE_CONTROLLER.get(), arg2, arg3);
|
||||
blockPos = arg2;
|
||||
blockState = arg3;
|
||||
}
|
||||
|
||||
public static Block getBlockFromTE() {
|
||||
if(blockPos != null && blockState != null) {
|
||||
return new TileEntityKeyboard(blockPos, blockState).getBlockState().getBlock();
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -27,9 +27,21 @@ public class TileEntityRedCtrl extends TileEntityPeripheralBase {
|
|||
private String risingEdgeURL = "";
|
||||
private String fallingEdgeURL = "";
|
||||
private boolean state = false;
|
||||
private static BlockState blockState;
|
||||
private static BlockPos blockPos;
|
||||
|
||||
public TileEntityRedCtrl(BlockPos arg2, BlockState arg3) {
|
||||
super(TileInit.REDSTONE_CONTROLLER.get(), arg2, arg3);
|
||||
blockPos = arg2;
|
||||
blockState = arg3;
|
||||
}
|
||||
|
||||
public static Block getBlockFromTE() {
|
||||
if(blockPos != null && blockState != null) {
|
||||
return new TileEntityKeyboard(blockPos, blockState).getBlockState().getBlock();
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -110,5 +122,4 @@ public class TileEntityRedCtrl extends TileEntityPeripheralBase {
|
|||
tes.setScreenURL(screenSide, url);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import net.minecraft.core.BlockPos;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
@ -22,9 +23,21 @@ import javax.annotation.Nonnull;
|
|||
public class TileEntityServer extends BlockEntity {
|
||||
|
||||
private NameUUIDPair owner;
|
||||
private static BlockPos blockPos;
|
||||
private static BlockState blockState;
|
||||
|
||||
public TileEntityServer(BlockPos arg2, BlockState arg3) {
|
||||
super(TileInit.SERVER.get(), arg2, arg3);
|
||||
blockPos = arg2;
|
||||
blockState = arg3;
|
||||
}
|
||||
|
||||
public static Block getBlockFromTE() {
|
||||
if(blockPos != null && blockState != null) {
|
||||
return new TileEntityKeyboard(blockPos, blockState).getBlockState().getBlock();
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package net.montoyo.wd.init;
|
||||
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.material.Material;
|
||||
|
|
@ -12,10 +10,6 @@ import net.minecraftforge.registries.RegistryObject;
|
|||
import net.montoyo.wd.block.BlockKeyboardRight;
|
||||
import net.montoyo.wd.block.BlockPeripheral;
|
||||
import net.montoyo.wd.block.BlockScreen;
|
||||
import net.montoyo.wd.core.WDCreativeTab;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class BlockInit {
|
||||
|
||||
|
|
@ -25,9 +19,15 @@ public class BlockInit {
|
|||
|
||||
public static DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, "webdisplays");
|
||||
|
||||
public static final RegistryObject<Block> blockScreen = BLOCKS.register("screen_block", () -> new BlockScreen(BlockBehaviour.Properties.of(Material.STONE)));
|
||||
public static final RegistryObject<Block> blockScreen = BLOCKS.register("screen", () -> new BlockScreen(BlockBehaviour.Properties.of(Material.STONE)));
|
||||
|
||||
public static final RegistryObject<Block> blockPeripheral = BLOCKS.register("peripheral_block", BlockPeripheral::new);
|
||||
public static final RegistryObject<Block> blockKeyBoard = BlockInit.BLOCKS.register("kb_left", BlockPeripheral::new);
|
||||
|
||||
public static final RegistryObject<Block> blockKbRight = BLOCKS.register("kb_right_block", BlockKeyboardRight::new);
|
||||
public static final RegistryObject<Block> blockRedControl = BlockInit.BLOCKS.register("redctrl", BlockPeripheral::new);
|
||||
|
||||
public static final RegistryObject<Block> blockRControl = BlockInit.BLOCKS.register("rctrl", BlockPeripheral::new);
|
||||
|
||||
public static final RegistryObject<Block> blockServer = BlockInit.BLOCKS.register("server", BlockPeripheral::new);
|
||||
|
||||
public static final RegistryObject<Block> blockKbRight = BLOCKS.register("kb_right", BlockKeyboardRight::new);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
package net.montoyo.wd.init;
|
||||
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.block.WDBlockContainer;
|
||||
import net.montoyo.wd.core.CraftComponent;
|
||||
import net.montoyo.wd.core.DefaultUpgrade;
|
||||
import net.montoyo.wd.item.*;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
import java.util.Locale;
|
||||
|
||||
public class ItemInit {
|
||||
public class ItemInit{
|
||||
|
||||
public static void init(IEventBus bus) {
|
||||
ITEMS.register(bus);
|
||||
|
|
@ -17,12 +22,32 @@ public class ItemInit {
|
|||
|
||||
public static DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, "webdisplays");
|
||||
|
||||
public static final RegistryObject<Item> itemScreenCfg = ITEMS.register("screen_config", () -> new ItemScreenConfigurator(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemOwnerThief = ITEMS.register("owner_thief", () -> new ItemOwnershipThief(new Item.Properties()));
|
||||
public static RegistryObject<Item> itemUpgrade = null;
|
||||
public static RegistryObject<Item> itemCraftComp = null;
|
||||
|
||||
public static final RegistryObject<Item> itemScreenCfg = ITEMS.register("screencfg", () -> new ItemScreenConfigurator(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemOwnerThief = ITEMS.register("ownerthief", () -> new ItemOwnershipThief(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemLinker = ITEMS.register("linker", () -> new ItemLinker(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemMinePad = ITEMS.register("mine_pad", () -> new ItemMinePad2(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemUpgrade = ITEMS.register("upgrade", ItemUpgrade::new);
|
||||
public static final RegistryObject<Item> itemCraftComp = ITEMS.register("craftcomp", () -> new ItemCraftComponent(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemMinePad = ITEMS.register("minepad", () -> new ItemMinePad2(new Item.Properties()));
|
||||
public static final RegistryObject<Item> itemLaserPointer = ITEMS.register("laserpointer", () -> new ItemLaserPointer(new Item.Properties()));
|
||||
|
||||
public static void registerUpgrade() {
|
||||
for (DefaultUpgrade du : DefaultUpgrade.values()) {
|
||||
itemUpgrade = ITEMS.register("upgrade_" + du.name().toLowerCase(Locale.ROOT), ItemUpgrade::new);
|
||||
}
|
||||
}
|
||||
|
||||
public static void registerComponents() {
|
||||
for (CraftComponent cc : CraftComponent.values()) {
|
||||
itemCraftComp = ITEMS.register("craftcomp_" + cc.name().toLowerCase(Locale.ROOT), () -> new ItemCraftComponent(new Item.Properties()));
|
||||
}
|
||||
}
|
||||
|
||||
public static final RegistryObject<Item> screen = ITEMS.register("screen", () -> new BlockItem(BlockInit.blockScreen.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
|
||||
|
||||
public static final RegistryObject<Item> keyboard = ITEMS.register("keyboard", () -> new BlockItem(BlockInit.blockKbRight.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
|
||||
public static final RegistryObject<Item> redctrl = ITEMS.register("redctrl", () -> new BlockItem(BlockInit.blockRedControl.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
|
||||
public static final RegistryObject<Item> rctrl = ITEMS.register("rctrl", () -> new BlockItem(BlockInit.blockRControl.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
|
||||
public static final RegistryObject<Item> server = ITEMS.register("server", () -> new BlockItem(BlockInit.blockServer.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package net.montoyo.wd.init;
|
||||
|
||||
import net.minecraft.world.level.ClipContext;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
|
|
@ -20,17 +21,17 @@ public class TileInit {
|
|||
.register("screen", () -> BlockEntityType.Builder
|
||||
.of(TileEntityScreen::new, BlockInit.blockScreen.get()).build(null));
|
||||
|
||||
public static final RegistryObject<BlockEntityType<?>> KEYBOARD = TILE_TYPES.register("keyboard", () -> BlockEntityType.Builder
|
||||
.of(TileEntityKeyboard::new, BlockInit.blockPeripheral.get()).build(null));
|
||||
public static final RegistryObject<BlockEntityType<?>> KEYBOARD = TILE_TYPES.register("kb_left", () -> BlockEntityType.Builder
|
||||
.of(TileEntityKeyboard::new, BlockInit.blockKeyBoard.get()).build(null));
|
||||
|
||||
public static final RegistryObject<BlockEntityType<?>> REMOTE_CONTROLLER = TILE_TYPES.register("remotectrl",
|
||||
() -> BlockEntityType.Builder.of(TileEntityRCtrl::new, BlockInit.blockPeripheral.get()).build(null)); //WITHOUT FACING (>= 3)
|
||||
public static final RegistryObject<BlockEntityType<?>> REMOTE_CONTROLLER = TILE_TYPES.register("rctrl",
|
||||
() -> BlockEntityType.Builder.of(TileEntityRCtrl::new, BlockInit.blockRControl.get()).build(null)); //WITHOUT FACING (>= 3)
|
||||
|
||||
public static final RegistryObject<BlockEntityType<?>> REDSTONE_CONTROLLER = TILE_TYPES.register("redstonectrl",
|
||||
() -> BlockEntityType.Builder.of(TileEntityRedCtrl::new, BlockInit.blockPeripheral.get()).build(null));
|
||||
public static final RegistryObject<BlockEntityType<?>> REDSTONE_CONTROLLER = TILE_TYPES.register("redctrl",
|
||||
() -> BlockEntityType.Builder.of(TileEntityRedCtrl::new, BlockInit.blockRedControl.get()).build(null));
|
||||
|
||||
public static final RegistryObject<BlockEntityType<?>> SERVER = TILE_TYPES.register("server" ,
|
||||
() -> BlockEntityType.Builder.of(TileEntityServer::new, BlockInit.blockPeripheral.get()).build(null));
|
||||
() -> BlockEntityType.Builder.of(TileEntityServer::new, BlockInit.blockServer.get()).build(null));
|
||||
|
||||
public static void init(IEventBus bus) {
|
||||
TILE_TYPES.register(bus);
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2019 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.item;
|
||||
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.montoyo.wd.core.WDCreativeTab;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class ItemPeripheral extends Item implements WDItem {
|
||||
|
||||
public ItemPeripheral() {
|
||||
super(new Properties().tab(WDCreativeTab.TAB_REDSTONE));
|
||||
}
|
||||
|
||||
//TODO what was this!
|
||||
/*@Override
|
||||
public boolean canPlaceBlock(Level world, @Nonnull BlockPos pos_, @Nonnull EnumFacing side, EntityPlayer player, ItemStack stack) {
|
||||
if(stack.getMetadata() != 0) //Keyboard
|
||||
return true;
|
||||
|
||||
//Special checks for the keyboard
|
||||
BlockPos pos = pos_.add(side.getDirectionVec());
|
||||
if(world.isAirBlock(pos.down()) || !BlockKeyboardRight.checkNeighborhood(world, pos, null))
|
||||
return false;
|
||||
|
||||
int f = MathHelper.floor(((double) (player.rotationYaw * 4.0f / 360.0f)) + 2.5) & 3;
|
||||
Vec3i dir = EnumFacing.getHorizontal(f).rotateY().getDirectionVec();
|
||||
BlockPos left = pos.add(dir);
|
||||
BlockPos right = pos.subtract(dir);
|
||||
|
||||
if(world.isAirBlock(right) && !world.isAirBlock(right.down()) && BlockKeyboardRight.checkNeighborhood(world, right, null))
|
||||
return true;
|
||||
else
|
||||
return world.isAirBlock(left) && !world.isAirBlock(left.down()) && BlockKeyboardRight.checkNeighborhood(world, left, null);
|
||||
} */
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String getWikiName(@Nonnull ItemStack is) {
|
||||
return is.getItem().getName(is).getString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -21,6 +21,7 @@ import net.montoyo.wd.core.MissingPermissionException;
|
|||
import net.montoyo.wd.core.ScreenRights;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.init.BlockInit;
|
||||
import net.montoyo.wd.init.ItemInit;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
|
@ -291,7 +292,9 @@ public class SMessageScreenCtrl implements Runnable {
|
|||
return; //Out of range (player reach distance)
|
||||
|
||||
BlockState bs = world.getBlockState(blockPos);
|
||||
if(bs.getBlock() != BlockInit.blockPeripheral.get() || bs.getValue(BlockPeripheral.type) != DefaultPeripheral.REMOTE_CONTROLLER)
|
||||
if(bs.getBlock() != BlockInit.blockServer.get() || bs.getBlock() != BlockInit.blockRControl.get() ||
|
||||
bs.getBlock() != BlockInit.blockKeyBoard.get() || bs.getBlock() != BlockInit.blockRedControl.get()
|
||||
|| bs.getValue(BlockPeripheral.type) != DefaultPeripheral.REMOTE_CONTROLLER)
|
||||
return; //I call it hax...
|
||||
} else if(player.shouldRenderAtSqrDistance(player.distanceToSqr(bp.getX(), bp.getY(), bp.getZ())))
|
||||
return; //Out of range (range problem)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"uvlock": false,
|
||||
"variants": {
|
||||
"facing=north,type=default_peripheral_keyboard": { "model": "webdisplays:block/kb_left" },
|
||||
"facing=east,type=default_peripheral_keyboard": { "model": "webdisplays:block/kb_left", "y": 90.0 },
|
||||
"facing=south,type=default_peripheral_keyboard": { "model": "webdisplays:block/kb_left", "y": 180.0 },
|
||||
"facing=west,type=default_peripheral_keyboard": { "model": "webdisplays:block/kb_left", "y": 270.0 }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"uvlock": false,
|
||||
"variants": {
|
||||
"facing=north": { "model": "webdisplays:block/kb_right" },
|
||||
"facing=east": { "model": "webdisplays:block/kb_right", "y": 90.0 },
|
||||
"facing=south": { "model": "webdisplays:block/kb_right", "y": 180.0 },
|
||||
"facing=west": { "model": "webdisplays:block/kb_right", "y": 270.0 }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=0": { "model": "webdisplays:kb_right" },
|
||||
"facing=1": { "model": "webdisplays:kb_right", "y": 90.0 },
|
||||
"facing=2": { "model": "webdisplays:kb_right", "y": 180.0 },
|
||||
"facing=3": { "model": "webdisplays:kb_right", "y": 270.0 }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=0,type=keyboard": { "model": "webdisplays:kb_left" },
|
||||
"facing=1,type=keyboard": { "model": "webdisplays:kb_left", "y": 90.0 },
|
||||
"facing=2,type=keyboard": { "model": "webdisplays:kb_left", "y": 180.0 },
|
||||
"facing=3,type=keyboard": { "model": "webdisplays:kb_left", "y": 270.0 },
|
||||
|
||||
"facing=0,type=ccinterface": { "model": "webdisplays:ccinterface", "y": 180.0 },
|
||||
"facing=1,type=ccinterface": { "model": "webdisplays:ccinterface", "y": 270.0 },
|
||||
"facing=2,type=ccinterface": { "model": "webdisplays:ccinterface" },
|
||||
"facing=3,type=ccinterface": { "model": "webdisplays:ccinterface", "y": 90.0 },
|
||||
|
||||
"facing=0,type=cointerface": { "model": "webdisplays:ocinterface", "y": 180.0 },
|
||||
"facing=1,type=cointerface": { "model": "webdisplays:ocinterface", "y": 270.0 },
|
||||
"facing=2,type=cointerface": { "model": "webdisplays:ocinterface" },
|
||||
"facing=3,type=cointerface": { "model": "webdisplays:ocinterface", "y": 90.0 },
|
||||
|
||||
"facing=0,type=remotectrl": { "model": "webdisplays:rctrl" },
|
||||
"facing=1,type=remotectrl": { "model": "webdisplays:rctrl" },
|
||||
"facing=2,type=remotectrl": { "model": "webdisplays:rctrl" },
|
||||
"facing=3,type=remotectrl": { "model": "webdisplays:rctrl" },
|
||||
|
||||
"facing=0,type=redstonectrl": { "model": "webdisplays:redctrl" },
|
||||
"facing=1,type=redstonectrl": { "model": "webdisplays:redctrl" },
|
||||
"facing=2,type=redstonectrl": { "model": "webdisplays:redctrl" },
|
||||
"facing=3,type=redstonectrl": { "model": "webdisplays:redctrl" },
|
||||
|
||||
"facing=0,type=server": { "model": "webdisplays:server" },
|
||||
"facing=1,type=server": { "model": "webdisplays:server" },
|
||||
"facing=2,type=server": { "model": "webdisplays:server" },
|
||||
"facing=3,type=server": { "model": "webdisplays:server" }
|
||||
}
|
||||
}
|
||||
10
src/main/resources/assets/webdisplays/blockstates/rctrl.json
Normal file
10
src/main/resources/assets/webdisplays/blockstates/rctrl.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"uvlock": false,
|
||||
"variants": {
|
||||
"facing=north,type=default_peripheral_remotectrl": { "model": "webdisplays:block/rctrl" },
|
||||
"facing=east,type=default_peripheral_remotectrl": { "model": "webdisplays:block/rctrl" },
|
||||
"facing=south,type=default_peripheral_remotectrl": { "model": "webdisplays:block/rctrl" },
|
||||
"facing=west,type=default_peripheral_remotectrl": { "model": "webdisplays:block/rctrl" }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"uvlock": false,
|
||||
"variants": {
|
||||
"facing=north,type=default_peripheral_redstonectrl": { "model": "webdisplays:block/redctrl" },
|
||||
"facing=east,type=default_peripheral_redstonectrl": { "model": "webdisplays:block/redctrl" },
|
||||
"facing=south,type=default_peripheral_redstonectrl": { "model": "webdisplays:block/redctrl" },
|
||||
"facing=west,type=default_peripheral_redstonectrl": { "model": "webdisplays:block/redctrl" }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"uvlock": false,
|
||||
"variants": {
|
||||
"normal": { "model": "webdisplays:screen" },
|
||||
"inventory": { "model": "webdisplays:screen_item" }
|
||||
"normal": { "model": "webdisplays:block/screen" },
|
||||
"inventory": { "model": "webdisplays:block/screen_item" }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"uvlock": false,
|
||||
"variants": {
|
||||
"facing=north,type=default_peripheral_server": { "model": "webdisplays:block/server" },
|
||||
"facing=east,type=default_peripheral_server": { "model": "webdisplays:block/server" },
|
||||
"facing=south,type=default_peripheral_server": { "model": "webdisplays:block/server" },
|
||||
"facing=west,type=default_peripheral_server": { "model": "webdisplays:block/server" }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "webdisplays:blocks/screen15"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/orientable",
|
||||
"textures": {
|
||||
"top": "webdisplays:blocks/cci_topbot",
|
||||
"front": "webdisplays:blocks/cci_front",
|
||||
"side": "webdisplays:blocks/cci_side"
|
||||
}
|
||||
}
|
||||
503
src/main/resources/assets/webdisplays/models/item/kb_left.json
Normal file
503
src/main/resources/assets/webdisplays/models/item/kb_left.json
Normal file
|
|
@ -0,0 +1,503 @@
|
|||
{
|
||||
"__comment": "Model absolutely not generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
"particle": "webdisplays:blocks/kb_key",
|
||||
"0": "webdisplays:blocks/kb_base",
|
||||
"1": "webdisplays:blocks/kb_key"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Base",
|
||||
"from": [ 0.0, 0.0, 3.0 ],
|
||||
"to": [ 16.0, 1.0, 16.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 1.0 ] },
|
||||
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
|
||||
"south": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 1.0 ] },
|
||||
"west": { "texture": "#0", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
|
||||
"up": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 13.0 ] },
|
||||
"down": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 13.0 ], "cullface": "down" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key1",
|
||||
"from": [ 1.0, 1.0, 4.0 ],
|
||||
"to": [ 2.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key2",
|
||||
"from": [ 4.0, 1.0, 4.0 ],
|
||||
"to": [ 5.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key3",
|
||||
"from": [ 6.0, 1.0, 4.0 ],
|
||||
"to": [ 7.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key4",
|
||||
"from": [ 8.0, 1.0, 4.0 ],
|
||||
"to": [ 9.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key5",
|
||||
"from": [ 10.0, 1.0, 4.0 ],
|
||||
"to": [ 11.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key6",
|
||||
"from": [ 13.0, 1.0, 4.0 ],
|
||||
"to": [ 14.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key7",
|
||||
"from": [ 15.0, 1.0, 4.0 ],
|
||||
"to": [ 16.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key8",
|
||||
"from": [ 1.0, 1.0, 6.0 ],
|
||||
"to": [ 2.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key9",
|
||||
"from": [ 3.0, 1.0, 6.0 ],
|
||||
"to": [ 4.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key10",
|
||||
"from": [ 5.0, 1.0, 6.0 ],
|
||||
"to": [ 6.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key11",
|
||||
"from": [ 7.0, 1.0, 6.0 ],
|
||||
"to": [ 8.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key12",
|
||||
"from": [ 9.0, 1.0, 6.0 ],
|
||||
"to": [ 10.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key13",
|
||||
"from": [ 11.0, 1.0, 6.0 ],
|
||||
"to": [ 12.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key14",
|
||||
"from": [ 13.0, 1.0, 6.0 ],
|
||||
"to": [ 14.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key15",
|
||||
"from": [ 15.0, 1.0, 6.0 ],
|
||||
"to": [ 16.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key16",
|
||||
"from": [ 1.0, 1.0, 8.0 ],
|
||||
"to": [ 3.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key17",
|
||||
"from": [ 4.0, 1.0, 8.0 ],
|
||||
"to": [ 5.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key18",
|
||||
"from": [ 6.0, 1.0, 8.0 ],
|
||||
"to": [ 7.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key19",
|
||||
"from": [ 8.0, 1.0, 8.0 ],
|
||||
"to": [ 9.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key20",
|
||||
"from": [ 10.0, 1.0, 8.0 ],
|
||||
"to": [ 11.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key21",
|
||||
"from": [ 12.0, 1.0, 8.0 ],
|
||||
"to": [ 13.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key22",
|
||||
"from": [ 14.0, 1.0, 8.0 ],
|
||||
"to": [ 15.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key23",
|
||||
"from": [ 1.0, 1.0, 10.0 ],
|
||||
"to": [ 4.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key24",
|
||||
"from": [ 5.0, 1.0, 10.0 ],
|
||||
"to": [ 6.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key25",
|
||||
"from": [ 7.0, 1.0, 10.0 ],
|
||||
"to": [ 8.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key26",
|
||||
"from": [ 9.0, 1.0, 10.0 ],
|
||||
"to": [ 10.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key27",
|
||||
"from": [ 11.0, 1.0, 10.0 ],
|
||||
"to": [ 12.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key28",
|
||||
"from": [ 13.0, 1.0, 10.0 ],
|
||||
"to": [ 14.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key29",
|
||||
"from": [ 15.0, 1.0, 10.0 ],
|
||||
"to": [ 16.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key30",
|
||||
"from": [ 1.0, 1.0, 12.0 ],
|
||||
"to": [ 3.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key31",
|
||||
"from": [ 4.0, 1.0, 12.0 ],
|
||||
"to": [ 5.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key32",
|
||||
"from": [ 6.0, 1.0, 12.0 ],
|
||||
"to": [ 7.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key33",
|
||||
"from": [ 8.0, 1.0, 12.0 ],
|
||||
"to": [ 9.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key34",
|
||||
"from": [ 10.0, 1.0, 12.0 ],
|
||||
"to": [ 11.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key35",
|
||||
"from": [ 12.0, 1.0, 12.0 ],
|
||||
"to": [ 13.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key36",
|
||||
"from": [ 14.0, 1.0, 12.0 ],
|
||||
"to": [ 15.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key37",
|
||||
"from": [ 1.0, 1.0, 14.0 ],
|
||||
"to": [ 3.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key38",
|
||||
"from": [ 4.0, 1.0, 14.0 ],
|
||||
"to": [ 6.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key39",
|
||||
"from": [ 7.0, 1.0, 14.0 ],
|
||||
"to": [ 9.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key40",
|
||||
"from": [ 10.0, 1.0, 14.0 ],
|
||||
"to": [ 16.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 6.0, 1.0 ] }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
477
src/main/resources/assets/webdisplays/models/item/kb_right.json
Normal file
477
src/main/resources/assets/webdisplays/models/item/kb_right.json
Normal file
|
|
@ -0,0 +1,477 @@
|
|||
{
|
||||
"__comment": "Model absolutely not generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
"particle": "webdisplays:blocks/kb_key",
|
||||
"0": "webdisplays:blocks/kb_base",
|
||||
"1": "webdisplays:blocks/kb_key"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Base",
|
||||
"from": [ 0.0, 0.0, 3.0 ],
|
||||
"to": [ 16.0, 1.0, 16.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 1.0 ] },
|
||||
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
|
||||
"south": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 1.0 ] },
|
||||
"west": { "texture": "#0", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
|
||||
"up": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 13.0 ] },
|
||||
"down": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 13.0 ], "cullface": "down" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key1",
|
||||
"from": [ 1.0, 1.0, 4.0 ],
|
||||
"to": [ 2.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key2",
|
||||
"from": [ 3.0, 1.0, 4.0 ],
|
||||
"to": [ 4.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key3",
|
||||
"from": [ 6.0, 1.0, 4.0 ],
|
||||
"to": [ 7.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key4",
|
||||
"from": [ 8.0, 1.0, 4.0 ],
|
||||
"to": [ 9.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key5",
|
||||
"from": [ 10.0, 1.0, 4.0 ],
|
||||
"to": [ 11.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key6",
|
||||
"from": [ 12.0, 1.0, 4.0 ],
|
||||
"to": [ 13.0, 2.0, 5.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key7",
|
||||
"from": [ 1.0, 1.0, 6.0 ],
|
||||
"to": [ 2.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key8",
|
||||
"from": [ 3.0, 1.0, 6.0 ],
|
||||
"to": [ 4.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key9",
|
||||
"from": [ 5.0, 1.0, 6.0 ],
|
||||
"to": [ 6.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key10",
|
||||
"from": [ 7.0, 1.0, 6.0 ],
|
||||
"to": [ 8.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key11",
|
||||
"from": [ 9.0, 1.0, 6.0 ],
|
||||
"to": [ 11.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key12",
|
||||
"from": [ 12.0, 1.0, 6.0 ],
|
||||
"to": [ 13.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key13",
|
||||
"from": [ 14.0, 1.0, 6.0 ],
|
||||
"to": [ 15.0, 2.0, 7.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key14",
|
||||
"from": [ 0.0, 1.0, 8.0 ],
|
||||
"to": [ 1.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key15",
|
||||
"from": [ 2.0, 1.0, 8.0 ],
|
||||
"to": [ 3.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key16",
|
||||
"from": [ 4.0, 1.0, 8.0 ],
|
||||
"to": [ 5.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key17",
|
||||
"from": [ 6.0, 1.0, 8.0 ],
|
||||
"to": [ 7.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key18",
|
||||
"from": [ 8.0, 1.0, 8.0 ],
|
||||
"to": [ 11.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key19",
|
||||
"from": [ 12.0, 1.0, 8.0 ],
|
||||
"to": [ 13.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key20",
|
||||
"from": [ 14.0, 1.0, 8.0 ],
|
||||
"to": [ 15.0, 2.0, 9.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key21",
|
||||
"from": [ 1.0, 1.0, 10.0 ],
|
||||
"to": [ 2.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key22",
|
||||
"from": [ 3.0, 1.0, 10.0 ],
|
||||
"to": [ 4.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key23",
|
||||
"from": [ 5.0, 1.0, 10.0 ],
|
||||
"to": [ 6.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key24",
|
||||
"from": [ 7.0, 1.0, 10.0 ],
|
||||
"to": [ 8.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key25",
|
||||
"from": [ 9.0, 1.0, 9.0 ],
|
||||
"to": [ 11.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 0.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 2.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key26",
|
||||
"from": [ 12.0, 1.0, 10.0 ],
|
||||
"to": [ 13.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key27",
|
||||
"from": [ 14.0, 1.0, 10.0 ],
|
||||
"to": [ 15.0, 2.0, 11.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key29",
|
||||
"from": [ 0.0, 1.0, 12.0 ],
|
||||
"to": [ 1.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key30",
|
||||
"from": [ 2.0, 1.0, 12.0 ],
|
||||
"to": [ 3.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key31",
|
||||
"from": [ 4.0, 1.0, 12.0 ],
|
||||
"to": [ 5.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key32",
|
||||
"from": [ 6.0, 1.0, 12.0 ],
|
||||
"to": [ 7.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key33",
|
||||
"from": [ 8.0, 1.0, 12.0 ],
|
||||
"to": [ 11.0, 2.0, 13.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key34",
|
||||
"from": [ 13.0, 1.0, 13.0 ],
|
||||
"to": [ 14.0, 2.0, 14.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key35",
|
||||
"from": [ 0.0, 1.0, 14.0 ],
|
||||
"to": [ 2.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key36",
|
||||
"from": [ 3.0, 1.0, 14.0 ],
|
||||
"to": [ 5.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key37",
|
||||
"from": [ 6.0, 1.0, 14.0 ],
|
||||
"to": [ 8.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key38",
|
||||
"from": [ 9.0, 1.0, 14.0 ],
|
||||
"to": [ 11.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 2.0, 1.0 ] }
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Key39",
|
||||
"from": [ 12.0, 1.0, 14.0 ],
|
||||
"to": [ 15.0, 2.0, 15.0 ],
|
||||
"faces": {
|
||||
"north": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"south": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] },
|
||||
"west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
|
||||
"up": { "texture": "#1", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/orientable",
|
||||
"textures": {
|
||||
"top": "webdisplays:blocks/oci_topbot",
|
||||
"front": "webdisplays:blocks/oci_front",
|
||||
"side": "webdisplays:blocks/oci_side"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "webdisplays:blocks/rctrl"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "webdisplays:blocks/redctrl"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "webdisplays:blocks/screen15"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"particle": "webdisplays:blocks/server",
|
||||
"down": "webdisplays:blocks/server2",
|
||||
"up": "webdisplays:blocks/server2",
|
||||
"north": "webdisplays:blocks/server",
|
||||
"east": "webdisplays:blocks/server",
|
||||
"south": "webdisplays:blocks/server",
|
||||
"west": "webdisplays:blocks/server"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user