diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java b/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java index 9313cf4..0ca48ee 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/client/init/ClientRegistration.java @@ -1,10 +1,13 @@ package me.hypherionmc.hyperlighting.client.init; +import me.hypherionmc.craterlib.api.rendering.CustomRenderType; import me.hypherionmc.craterlib.client.events.ColorRegistrationEvent; import me.hypherionmc.craterlib.client.registry.ClientRegistry; import me.hypherionmc.craterlib.events.CraterEventBus; +import me.hypherionmc.craterlib.platform.Services; import me.hypherionmc.hyperlighting.common.init.HLBlocks; import me.hypherionmc.hyperlighting.common.init.HLItems; +import net.minecraft.client.renderer.ItemBlockRenderTypes; /** * @author HypherionSA @@ -15,6 +18,8 @@ public class ClientRegistration { public void registerAll() { CraterEventBus.register(ColorRegistrationEvent.BLOCKS.class, this::registerBlockColors); CraterEventBus.register(ColorRegistrationEvent.ITEMS.class, this::registerItemColors); + + Services.CLIENT_HELPER.registerCustomRenderTypes(HLBlocks.BLOCKS.getEntries(), HLItems.ITEMS.getEntries()); } public void registerBlockColors(ColorRegistrationEvent.BLOCKS event) { diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ParticleRegistryHandler.java b/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ParticleRegistryHandler.java index 4a760f6..8112c4a 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ParticleRegistryHandler.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ParticleRegistryHandler.java @@ -1,5 +1,6 @@ package me.hypherionmc.hyperlighting.client.particles; +import me.hypherionmc.hyperlighting.common.init.CandleFlameParticles; import me.hypherionmc.hyperlighting.common.init.FlameParticles; import net.minecraft.client.particle.ParticleEngine; import net.minecraft.core.particles.ParticleOptions; @@ -11,6 +12,10 @@ public class ParticleRegistryHandler { for (FlameParticles value : FlameParticles.values()) { strategy.register(value.getParticle().get(), ColoredFlameParticle.Factory::new); } + + for (CandleFlameParticles value : CandleFlameParticles.values()) { + strategy.register(value.getParticle().get(), ColoredFlameParticle.SmallFactory::new); + } } public interface ParticleStrategy { diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedLanternBlock.java b/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedLanternBlock.java new file mode 100644 index 0000000..60a416f --- /dev/null +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedLanternBlock.java @@ -0,0 +1,228 @@ +package me.hypherionmc.hyperlighting.common.blocks; + +import me.hypherionmc.craterlib.api.rendering.CustomRenderType; +import me.hypherionmc.craterlib.api.rendering.DyableBlock; +import me.hypherionmc.craterlib.common.item.BlockItemDyable; +import me.hypherionmc.craterlib.util.BlockStateUtils; +import me.hypherionmc.craterlib.util.MathUtils; +import me.hypherionmc.craterlib.util.RenderUtils; +import me.hypherionmc.hyperlighting.api.LightableBlock; +import me.hypherionmc.hyperlighting.common.init.CandleFlameParticles; +import me.hypherionmc.hyperlighting.common.init.CommonRegistration; +import me.hypherionmc.hyperlighting.common.init.HLItems; +import me.hypherionmc.hyperlighting.common.init.HLSounds; +import me.hypherionmc.hyperlighting.util.StackUtil; +import net.minecraft.ChatFormatting; +import net.minecraft.client.color.block.BlockColor; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.*; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.*; +import net.minecraft.world.level.material.Material; +import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * @author HypherionSA + * @date 06/08/2022 + */ +public class AdvancedLanternBlock extends FaceAttachedHorizontalDirectionalBlock implements DyableBlock, LightableBlock, CustomRenderType { + + //region Properties + public static final BooleanProperty LIT = BlockStateProperties.LIT; + public static final DirectionProperty HORIZONTAL_FACING = HorizontalDirectionalBlock.FACING; + public static final EnumProperty COLOR = EnumProperty.create("color", DyeColor.class); + //endregion + + //region Bounding Boxes + private static final VoxelShape BB_TOP = Block.box(5, 0, 5, 11, 9, 11); + private static final VoxelShape BB_NORTH = Block.box(5, 3, 3, 11, 12, 9); + private static final VoxelShape BB_SOUTH = MathUtils.rotateShape(Direction.NORTH, Direction.WEST, BB_NORTH); + private static final VoxelShape BB_EAST = MathUtils.rotateShape(Direction.NORTH, Direction.SOUTH, BB_NORTH); + private static final VoxelShape BB_WEST = MathUtils.rotateShape(Direction.NORTH, Direction.EAST, BB_NORTH); + private static final VoxelShape BB_CEILING = Block.box(5, 4, 5, 11, 13, 11); + //endregion + + private DyeColor color; + + public AdvancedLanternBlock(String name, DyeColor color, CreativeModeTab tab) { + super(Properties.of(Material.HEAVY_METAL) + .instabreak() + .sound(SoundType.LANTERN) + .lightLevel(BlockStateUtils.createLightLevelFromLitBlockState(15)) + ); + this.registerDefaultState(this.defaultBlockState().setValue(FACING, Direction.NORTH).setValue(LIT, CommonRegistration.config.lanternConfig.litByDefault).setValue(COLOR, color)); + this.color = color; + HLItems.register(name, () -> new BlockItemDyable(this, new Item.Properties().tab(tab))); + } + + @Override + public VoxelShape getShape(BlockState blockState, BlockGetter level, BlockPos pos, CollisionContext context) { + return switch (blockState.getValue(FACE)) { + case FLOOR -> BB_TOP; + case WALL -> switch (blockState.getValue(HORIZONTAL_FACING)) { + case EAST -> BB_EAST; + case WEST -> BB_WEST; + case SOUTH -> BB_SOUTH; + case DOWN, UP -> null; + case NORTH -> BB_NORTH; + }; + case CEILING -> BB_CEILING; + }; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(LIT, COLOR, HORIZONTAL_FACING, FACE); + super.createBlockStateDefinition(builder); + } + + @Override + public BlockState updateShape(BlockState stateIn, Direction facing, BlockState facingState, LevelAccessor worldIn, BlockPos currentPos, BlockPos facingPos) { + for (Direction direction : Direction.values()) { + if (!isValidPosition(stateIn, worldIn, currentPos, direction)) { + return Blocks.AIR.defaultBlockState(); + } + } + return super.updateShape(stateIn, facing, facingState, worldIn, currentPos, facingPos); + } + + public boolean isValidPosition(BlockState state, LevelReader worldIn, BlockPos pos, Direction direction) { + return canSupportCenter(worldIn, pos.below(), direction); + } + + @Nullable + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + BlockState state = super.getStateForPlacement(context); + return state != null ? state.setValue(LIT, false) : null; + } + + @Override + public void toggleLight(Level worldIn, BlockState state, BlockPos pos) { + state = state.setValue(LIT, !state.getValue(LIT)); + worldIn.setBlock(pos, state, 2); + if (!state.getValue(LIT)) { + worldIn.playSound(null, pos, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.3f, 1.0f); + } else { + worldIn.playSound(null, pos, HLSounds.TORCH_IGNITE.get(), SoundSource.BLOCKS, 0.3f, 1.0f); + } + worldIn.blockUpdated(pos, this); + } + + @Override + public BlockColor dyeHandler() { + return ((blockState, blockAndTintGetter, blockPos, i) -> { + if (blockState.getValue(LIT)) { + return RenderUtils.renderColorFromDye(blockState.getValue(COLOR)); + } else { + return RenderUtils.renderColorFromDye(DyeColor.BLACK); + } + }); + } + + @Override + public DyeColor defaultDyeColor() { + return this.defaultBlockState().getValue(COLOR); + } + + /** Check if player clicked the block with DYE and apply Color Tint **/ + @Override + public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { + if (!level.isClientSide()) { + if (!player.getItemInHand(handIn).isEmpty() && player.getItemInHand(handIn).getItem() instanceof DyeItem dyeItem) { + state = state.setValue(COLOR, dyeItem.getDyeColor()); + this.color = dyeItem.getDyeColor(); + level.setBlock(pos, state, 3); + level.sendBlockUpdated(pos, state, state, 3); + + if (!player.isCreative()) { + ItemStack stack = player.getItemInHand(handIn); + stack.shrink(1); + player.setItemInHand(handIn, stack); + } + return InteractionResult.CONSUME; + } else if (!CommonRegistration.config.lanternConfig.requiresTool) { + state = state.cycle(LIT); + level.setBlock(pos, state, 3); + level.sendBlockUpdated(pos, state, state, 3); + if (!state.getValue(LIT)) { + level.playSound(null, pos, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.3f, 1.0f); + } else { + level.playSound(null, pos, HLSounds.TORCH_IGNITE.get(), SoundSource.BLOCKS, 0.3f, 1.0f); + } + return InteractionResult.CONSUME; + } + } + return InteractionResult.PASS; + } + + @Override + public void animateTick(BlockState state, Level worldIn, BlockPos pos, RandomSource rand) { + if (worldIn.isClientSide && state.getValue(LIT)) { + DyeColor color = state.getValue(COLOR); + Direction direction = state.getValue(HORIZONTAL_FACING); + + double d0 = (double) pos.getX() + 0.5D; + double d1 = (double) pos.getY() + 0.7D; + double d2 = (double) pos.getZ() + 0.5D; + + if (state.getValue(FACE) == AttachFace.WALL) { + Direction direction1 = direction.getOpposite(); + worldIn.addParticle(ParticleTypes.SMOKE, d0 + -0.13D * (double) direction1.getStepX(), d1 + -0.13D, d2 + -0.13D * (double) direction1.getStepZ(), 0.0D, 0.0D, 0.0D); + worldIn.addParticle(CandleFlameParticles.getParticleByColor(color).get(), d0 + -0.13D * (double) direction1.getStepX(), d1 - 0.18D, d2 + -0.13D * (double) direction1.getStepZ(), 0D, 0D, 0D); + } else if (state.getValue(FACE) == AttachFace.FLOOR) { + worldIn.addParticle(ParticleTypes.SMOKE, d0, d1 - 0.3D, d2, 0.0D, 0.0D, 0.0D); + worldIn.addParticle(CandleFlameParticles.getParticleByColor(color).get(), d0, d1 - 0.35D, d2, 0D, 0D, 0D); + } else if (state.getValue(FACE) == AttachFace.CEILING) { + worldIn.addParticle(ParticleTypes.SMOKE, d0, d1 - 0.1D, d2, 0.0D, 0.0D, 0.0D); + worldIn.addParticle(CandleFlameParticles.getParticleByColor(color).get(), d0, d1 - 0.1D, d2, 0D, 0D, 0D); + } + } + } + + @Override + public void appendHoverText(ItemStack stack, BlockGetter level, List tooltip, TooltipFlag options) { + tooltip.add(Component.literal(ChatFormatting.YELLOW + "Dyable")); + tooltip.add(Component.literal(ChatFormatting.GREEN + "Color: " + color.getName())); + super.appendHoverText(stack, level, tooltip, options); + } + + @Override + public @NotNull ItemStack getCloneItemStack(@NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull BlockState state) { + return StackUtil.getColorStack(this, state.getValue(COLOR)); + } + + @Override + public List getDrops(BlockState blockState, LootContext.Builder lootBuilder) { + return List.of(StackUtil.getColorStack(this, blockState.getValue(COLOR))); + } + + @Override + public RenderType getCustomRenderType() { + return RenderType.cutoutMipped(); + } +} diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/common/config/HyperLightingConfig.java b/Common/src/main/java/me/hypherionmc/hyperlighting/common/config/HyperLightingConfig.java index 91e8c42..dee2ada 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/common/config/HyperLightingConfig.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/common/config/HyperLightingConfig.java @@ -14,6 +14,11 @@ public class HyperLightingConfig extends ModuleConfig { @SubConfig public TorchConfig torchConfig = new TorchConfig(); + @Path("lanternConfig") + @SpecComment("Lantern Configuration") + @SubConfig + public LanternConfig lanternConfig = new LanternConfig(); + public HyperLightingConfig() { super(Constants.MOD_ID, "hyperlighting-common"); registerAndSetup(this); @@ -33,4 +38,14 @@ public class HyperLightingConfig extends ModuleConfig { @SpecComment("Is the Torch Lighter tool needed to light torches") public boolean requiresTool = true; } + + public static class LanternConfig { + @Path("litByDefault") + @SpecComment("Should Lanterns be lit by default when placed") + public boolean litByDefault = false; + + @Path("requiresTool") + @SpecComment("Is the Torch Lighter tool needed to light Lanterns") + public boolean requiresTool = true; + } } diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CandleFlameParticles.java b/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CandleFlameParticles.java new file mode 100644 index 0000000..9b242ee --- /dev/null +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CandleFlameParticles.java @@ -0,0 +1,51 @@ +package me.hypherionmc.hyperlighting.common.init; + +import me.hypherionmc.craterlib.common.particles.WrappedSimpleParticleType; +import me.hypherionmc.craterlib.systems.reg.RegistryObject; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.world.item.DyeColor; + +import java.util.Arrays; + +import static me.hypherionmc.hyperlighting.common.init.HLParticles.register; + +/** + * @author HypherionSA + * @date 05/08/2022 + */ +public enum CandleFlameParticles { + WHITE(DyeColor.WHITE), + ORANGE(DyeColor.ORANGE), + MAGENTA(DyeColor.MAGENTA), + LIGHT_BLUE(DyeColor.LIGHT_BLUE), + YELLOW(DyeColor.YELLOW), + LIME(DyeColor.LIME), + PINK(DyeColor.PINK), + GRAY(DyeColor.GRAY), + LIGHT_GRAY(DyeColor.LIGHT_GRAY), + CYAN(DyeColor.CYAN), + PURPLE(DyeColor.PURPLE), + BLUE(DyeColor.BLUE), + BROWN(DyeColor.BROWN), + GREEN(DyeColor.GREEN), + RED(DyeColor.RED), + BLACK(DyeColor.BLACK); + + private final RegistryObject PARTICLE; + private final DyeColor color; + + private CandleFlameParticles(DyeColor color) { + PARTICLE = register("cflame_" + color.getName().toLowerCase(), () -> new WrappedSimpleParticleType(false)); + this.color = color; + } + + public RegistryObject getParticle() { + return PARTICLE; + } + + public static RegistryObject getParticleByColor(DyeColor color) { + return Arrays.stream(CandleFlameParticles.values()).filter(p -> p.color == color).findFirst().get().getParticle(); + } + + public static void loadAll() {} +} diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CommonRegistration.java b/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CommonRegistration.java index ac17c4c..cc36b4e 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CommonRegistration.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/CommonRegistration.java @@ -10,7 +10,7 @@ import static me.hypherionmc.hyperlighting.Constants.MOD_ID; public class CommonRegistration { public static HyperLightingConfig config = new HyperLightingConfig(); - public static final CreativeModeTab LIGHTS_TAB = CreativeTabBuilder.builder(MOD_ID, "lighting").setIcon(() -> new ItemStack(HLBlocks.ADVANCED_TORCH)).build(); + public static final CreativeModeTab LIGHTS_TAB = CreativeTabBuilder.builder(MOD_ID, "lighting").setIcon(() -> new ItemStack(HLBlocks.ADVANCED_LANTERN)).build(); public static void registerAll() { HLSounds.loadAll(); @@ -18,7 +18,6 @@ public class CommonRegistration { HLBlocks.loadAll(); HLItems.loadAll(); HLEntities.loadAll(); - } } diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/HLBlocks.java b/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/HLBlocks.java index 2ef13f1..cc5ad58 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/HLBlocks.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/common/init/HLBlocks.java @@ -3,6 +3,7 @@ package me.hypherionmc.hyperlighting.common.init; import me.hypherionmc.craterlib.systems.reg.BlockRegistryObject; import me.hypherionmc.craterlib.systems.reg.RegistrationProvider; import me.hypherionmc.hyperlighting.Constants; +import me.hypherionmc.hyperlighting.common.blocks.AdvancedLanternBlock; import me.hypherionmc.hyperlighting.common.blocks.AdvancedTorchBlock; import net.minecraft.core.Registry; import net.minecraft.world.item.DyeColor; @@ -17,6 +18,9 @@ public class HLBlocks { /* Torches */ public static BlockRegistryObject ADVANCED_TORCH = register("advanced_torch", () -> new AdvancedTorchBlock("advanced_torch", DyeColor.ORANGE, CommonRegistration.LIGHTS_TAB)); + /* Lanterns */ + public static BlockRegistryObject ADVANCED_LANTERN = register("advanced_lantern", () -> new AdvancedLanternBlock("advanced_lantern", DyeColor.ORANGE, CommonRegistration.LIGHTS_TAB)); + public static void loadAll() {} public static BlockRegistryObject register(String name, Supplier block) { diff --git a/Common/src/main/resources/assets/hyperlighting/blockstates/advanced_lantern.json b/Common/src/main/resources/assets/hyperlighting/blockstates/advanced_lantern.json new file mode 100644 index 0000000..5c133b1 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/blockstates/advanced_lantern.json @@ -0,0 +1,33 @@ +{ + "variants": { + "face=floor,facing=north,lit=true": {"model": "hyperlighting:block/lantern_basic", "y": 180}, + "face=floor,facing=south,lit=true": {"model": "hyperlighting:block/lantern_basic", "y": 0}, + "face=floor,facing=west,lit=true": {"model": "hyperlighting:block/lantern_basic", "y": 90}, + "face=floor,facing=east,lit=true": {"model": "hyperlighting:block/lantern_basic", "y": 270}, + + "face=ceiling,facing=north,lit=true": {"model": "hyperlighting:block/lantern_basic_ceiling", "y": 90}, + "face=ceiling,facing=south,lit=true": {"model": "hyperlighting:block/lantern_basic_ceiling", "y": 270}, + "face=ceiling,facing=west,lit=true": {"model": "hyperlighting:block/lantern_basic_ceiling"}, + "face=ceiling,facing=east,lit=true": {"model": "hyperlighting:block/lantern_basic_ceiling", "y": 180}, + + "face=wall,facing=north,lit=true": {"model": "hyperlighting:block/lantern_basic_wall", "y": 0}, + "face=wall,facing=south,lit=true": {"model": "hyperlighting:block/lantern_basic_wall", "y": 180}, + "face=wall,facing=west,lit=true": {"model": "hyperlighting:block/lantern_basic_wall", "y": 270}, + "face=wall,facing=east,lit=true": {"model": "hyperlighting:block/lantern_basic_wall", "y": 90}, + + "face=floor,facing=north,lit=false": {"model": "hyperlighting:block/lantern_basic", "y": 180}, + "face=floor,facing=south,lit=false": {"model": "hyperlighting:block/lantern_basic", "y": 0}, + "face=floor,facing=west,lit=false": {"model": "hyperlighting:block/lantern_basic", "y": 90}, + "face=floor,facing=east,lit=false": {"model": "hyperlighting:block/lantern_basic", "y": 270}, + + "face=ceiling,facing=north,lit=false": {"model": "hyperlighting:block/lantern_basic_ceiling", "y": 90}, + "face=ceiling,facing=south,lit=false": {"model": "hyperlighting:block/lantern_basic_ceiling", "y": 270}, + "face=ceiling,facing=west,lit=false": {"model": "hyperlighting:block/lantern_basic_ceiling"}, + "face=ceiling,facing=east,lit=false": {"model": "hyperlighting:block/lantern_basic_ceiling", "y": 180}, + + "face=wall,facing=north,lit=false": {"model": "hyperlighting:block/lantern_basic_wall", "y": 0}, + "face=wall,facing=south,lit=false": {"model": "hyperlighting:block/lantern_basic_wall", "y": 180}, + "face=wall,facing=west,lit=false": {"model": "hyperlighting:block/lantern_basic_wall", "y": 270}, + "face=wall,facing=east,lit=false": {"model": "hyperlighting:block/lantern_basic_wall", "y": 90} + } +} diff --git a/Common/src/main/resources/assets/hyperlighting/lang/en_us.json b/Common/src/main/resources/assets/hyperlighting/lang/en_us.json index 3c5923c..1404d7a 100644 --- a/Common/src/main/resources/assets/hyperlighting/lang/en_us.json +++ b/Common/src/main/resources/assets/hyperlighting/lang/en_us.json @@ -1,7 +1,10 @@ { "block.hyperlighting.advanced_torch": "Advanced Torch (%s)", + "block.hyperlighting.advanced_lantern": "Advanced Lantern (%s)", - "subtitles.torch_ignite": "Torch Ignite Sound", + "item.hyperlighting.lighter_tool": "Torch Lighter Tool", + + "subtitles.torch_ignite": "Flame Ignite Sound", "entity.hyperlighting.neonfly": "Neon Fly", diff --git a/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic.json b/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic.json new file mode 100644 index 0000000..13c8d97 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic.json @@ -0,0 +1,355 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "hyperlighting:block/grayscale_glass", + "2": "block/anvil", + "3": "block/anvil_top", + "5": "block/coal_block", + "6": "block/candle", + "particle": "block/coal_block" + }, + "elements": [ + { + "name": "glass", + "from": [6, 1, 5.5], + "to": [10, 8, 5.5], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass1", + "from": [6, 1, 10.5], + "to": [10, 8, 10.5], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass2", + "from": [10.5, 1, 6], + "to": [10.5, 8, 10], + "faces": { + "north": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass3", + "from": [5.5, 1, 6], + "to": [5.5, 8, 10], + "faces": { + "north": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "pillar", + "from": [5.25, 0, 5.25], + "to": [6, 8, 6], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar2", + "from": [5.25, 0, 10], + "to": [6, 8, 10.75], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar3", + "from": [10, 0, 10], + "to": [10.75, 8, 10.75], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar4", + "from": [10, 0, 5.25], + "to": [10.75, 8, 6], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "vent", + "from": [5.75, 9.25, 5.75], + "to": [10.25, 9.75, 10.25], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#3"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#3"}, + "south": {"uv": [3, 15, 13, 16], "texture": "#3"}, + "west": {"uv": [3, 2, 13, 3], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "rotation": 180, "texture": "#3"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#3"} + } + }, + { + "name": "venttop", + "from": [6, 9.5, 6], + "to": [10, 10, 10], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#3"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#3"}, + "south": {"uv": [3, 15, 13, 16], "texture": "#3"}, + "west": {"uv": [3, 2, 13, 3], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#3"} + } + }, + { + "from": [6, 8.75, 6], + "to": [6.5, 9.25, 6.5], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [9.5, 8.75, 6], + "to": [10, 9.25, 6.5], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [9.5, 8.75, 9.5], + "to": [10, 9.25, 10], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [6, 8.75, 9.5], + "to": [6.5, 9.25, 10], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "name": "base", + "from": [5, 0.25, 5], + "to": [11, 1, 11], + "faces": { + "north": {"uv": [0, 5, 6, 6], "rotation": 180, "texture": "#2"}, + "east": {"uv": [12, 0, 13, 6], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 1, 6, 2], "texture": "#2"}, + "west": {"uv": [13, 0, 14, 6], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 6, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 6, 6, 12], "texture": "#2"} + } + }, + { + "name": "base", + "from": [5, 8, 5], + "to": [11, 8.75, 11], + "faces": { + "north": {"uv": [0, 5, 6, 6], "rotation": 180, "texture": "#2"}, + "east": {"uv": [12, 0, 13, 6], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 1, 6, 2], "texture": "#2"}, + "west": {"uv": [13, 0, 14, 6], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 6, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 6, 6, 12], "texture": "#2"} + } + }, + { + "from": [7.5, 10, 7.625], + "to": [8.5, 10.75, 8.375], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 0.125]}, + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#2"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#2"}, + "west": {"uv": [2, 2, 4, 4], "texture": "#2"}, + "up": {"uv": [10, 0, 12, 2], "texture": "#2"}, + "down": {"uv": [8, 0, 10, 2], "texture": "#2"} + } + }, + { + "from": [7, 10, 7.75], + "to": [7.5, 11.5, 8.25], + "faces": { + "north": {"uv": [12, 2, 13, 4], "texture": "#2"}, + "east": {"uv": [13, 4, 14, 6], "texture": "#2"}, + "south": {"uv": [12, 0, 13, 2], "texture": "#2"}, + "west": {"uv": [11, 4, 12, 6], "texture": "#2"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#2"}, + "down": {"uv": [2, 0, 3, 1], "texture": "#2"} + } + }, + { + "from": [7.25, 11.5, 7.75], + "to": [7.75, 12, 8.25], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [8.25, 11.5, 7.75], + "to": [8.75, 12, 8.25], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [7.75, 11.75, 7.75], + "to": [8.25, 12.25, 8.25], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [8.5, 10, 7.75], + "to": [9, 11.5, 8.25], + "faces": { + "north": {"uv": [12, 2, 13, 4], "texture": "#2"}, + "east": {"uv": [13, 4, 14, 6], "texture": "#2"}, + "south": {"uv": [12, 0, 13, 2], "texture": "#2"}, + "west": {"uv": [11, 4, 12, 6], "texture": "#2"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#2"}, + "down": {"uv": [2, 0, 3, 1], "texture": "#2"} + } + }, + { + "name": "wick", + "from": [7.75, 3.75, 7.75], + "to": [8.25, 4.75, 8.25], + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#5"} + } + }, + { + "name": "candle", + "from": [7, 1, 7], + "to": [9, 4, 9], + "faces": { + "north": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "east": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "south": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "west": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "up": {"uv": [0, 6, 2, 8], "texture": "#6"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#6"} + } + } + ], + "groups": [ + { + "name": "lantern", + "origin": [0, 0, 0], + "color": 0, + "children": [ + { + "name": "glass", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7] + }, + { + "name": "pillars", + "origin": [0, 0, 0], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "vent", + "origin": [0, 0, 0], + "color": 0, + "children": [12, 13, 14, 15, 16, 17] + }, + { + "name": "body", + "origin": [0, 0, 0], + "color": 0, + "children": [18, 19] + }, + { + "name": "mount", + "origin": [0, 0, 0], + "color": 0, + "children": [20, 21, 22, 23] + } + ] + } + ] +} \ No newline at end of file diff --git a/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic_ceiling.json b/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic_ceiling.json new file mode 100644 index 0000000..5c8b4f6 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic_ceiling.json @@ -0,0 +1,355 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "hyperlighting:block/grayscale_glass", + "2": "block/anvil", + "3": "block/anvil_top", + "5": "block/coal_block", + "6": "block/candle", + "particle": "block/coal_block" + }, + "elements": [ + { + "name": "glass", + "from": [6, 4.75, 5.5], + "to": [10, 11.75, 5.5], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass1", + "from": [6, 4.75, 10.5], + "to": [10, 11.75, 10.5], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass2", + "from": [10.5, 4.75, 6], + "to": [10.5, 11.75, 10], + "faces": { + "north": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass3", + "from": [5.5, 4.75, 6], + "to": [5.5, 11.75, 10], + "faces": { + "north": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "pillar", + "from": [5.25, 3.75, 5.25], + "to": [6, 11.75, 6], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar2", + "from": [5.25, 3.75, 10], + "to": [6, 11.75, 10.75], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar3", + "from": [10, 3.75, 10], + "to": [10.75, 11.75, 10.75], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar4", + "from": [10, 3.75, 5.25], + "to": [10.75, 11.75, 6], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "vent", + "from": [5.75, 13, 5.75], + "to": [10.25, 13.5, 10.25], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#3"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#3"}, + "south": {"uv": [3, 15, 13, 16], "texture": "#3"}, + "west": {"uv": [3, 2, 13, 3], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "rotation": 180, "texture": "#3"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#3"} + } + }, + { + "name": "venttop", + "from": [6, 13.25, 6], + "to": [10, 13.75, 10], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#3"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#3"}, + "south": {"uv": [3, 15, 13, 16], "texture": "#3"}, + "west": {"uv": [3, 2, 13, 3], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#3"} + } + }, + { + "from": [6, 12.5, 6], + "to": [6.5, 13, 6.5], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [9.5, 12.5, 6], + "to": [10, 13, 6.5], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [9.5, 12.5, 9.5], + "to": [10, 13, 10], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [6, 12.5, 9.5], + "to": [6.5, 13, 10], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "name": "base", + "from": [5, 4, 5], + "to": [11, 4.75, 11], + "faces": { + "north": {"uv": [0, 5, 6, 6], "rotation": 180, "texture": "#2"}, + "east": {"uv": [12, 0, 13, 6], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 1, 6, 2], "texture": "#2"}, + "west": {"uv": [13, 0, 14, 6], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 6, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 6, 6, 12], "texture": "#2"} + } + }, + { + "name": "base", + "from": [5, 11.75, 5], + "to": [11, 12.5, 11], + "faces": { + "north": {"uv": [0, 5, 6, 6], "rotation": 180, "texture": "#2"}, + "east": {"uv": [12, 0, 13, 6], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 1, 6, 2], "texture": "#2"}, + "west": {"uv": [13, 0, 14, 6], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 6, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 6, 6, 12], "texture": "#2"} + } + }, + { + "from": [7.5, 13.75, 7.625], + "to": [8.5, 14.5, 8.375], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 0.125]}, + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#2"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#2"}, + "west": {"uv": [2, 2, 4, 4], "texture": "#2"}, + "up": {"uv": [10, 0, 12, 2], "texture": "#2"}, + "down": {"uv": [8, 0, 10, 2], "texture": "#2"} + } + }, + { + "from": [7, 13.75, 7.75], + "to": [7.5, 15.25, 8.25], + "faces": { + "north": {"uv": [12, 2, 13, 4], "texture": "#2"}, + "east": {"uv": [13, 4, 14, 6], "texture": "#2"}, + "south": {"uv": [12, 0, 13, 2], "texture": "#2"}, + "west": {"uv": [11, 4, 12, 6], "texture": "#2"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#2"}, + "down": {"uv": [2, 0, 3, 1], "texture": "#2"} + } + }, + { + "from": [7.25, 15.25, 7.75], + "to": [7.75, 15.75, 8.25], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [8.25, 15.25, 7.75], + "to": [8.75, 15.75, 8.25], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [7.75, 15.5, 7.75], + "to": [8.25, 16, 8.25], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [8.5, 13.75, 7.75], + "to": [9, 15.25, 8.25], + "faces": { + "north": {"uv": [12, 2, 13, 4], "texture": "#2"}, + "east": {"uv": [13, 4, 14, 6], "texture": "#2"}, + "south": {"uv": [12, 0, 13, 2], "texture": "#2"}, + "west": {"uv": [11, 4, 12, 6], "texture": "#2"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#2"}, + "down": {"uv": [2, 0, 3, 1], "texture": "#2"} + } + }, + { + "name": "wick", + "from": [7.75, 7.5, 7.75], + "to": [8.25, 8.5, 8.25], + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#5"} + } + }, + { + "name": "candle", + "from": [7, 4.75, 7], + "to": [9, 7.75, 9], + "faces": { + "north": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "east": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "south": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "west": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "up": {"uv": [0, 6, 2, 8], "texture": "#6"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#6"} + } + } + ], + "groups": [ + { + "name": "lantern", + "origin": [0, 0, 0], + "color": 0, + "children": [ + { + "name": "glass", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7] + }, + { + "name": "pillars", + "origin": [0, 0, 0], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "vent", + "origin": [0, 0, 0], + "color": 0, + "children": [12, 13, 14, 15, 16, 17] + }, + { + "name": "body", + "origin": [0, 0, 0], + "color": 0, + "children": [18, 19] + }, + { + "name": "mount", + "origin": [0, 0, 0], + "color": 0, + "children": [20, 21, 22, 23] + } + ] + } + ] +} \ No newline at end of file diff --git a/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic_wall.json b/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic_wall.json new file mode 100644 index 0000000..e2d6039 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/models/block/lantern_basic_wall.json @@ -0,0 +1,478 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "hyperlighting:block/grayscale_glass", + "2": "block/anvil", + "3": "block/anvil_top", + "5": "block/coal_block", + "6": "block/candle", + "particle": "block/coal_block" + }, + "elements": [ + { + "from": [7.73095, 15, 5.50878], + "to": [8.28095, 15.55, 15.75878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [14, 4, 14.55, 4.55], "texture": "#2"}, + "east": {"uv": [0, 0, 16, 1.55], "texture": "#2"}, + "south": {"uv": [15.45, 4, 16, 4.55], "texture": "#2"}, + "west": {"uv": [0, 2, 16, 3.55], "texture": "#2"}, + "up": {"uv": [0, 5, 10.5, 5.55], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 4, 10.5, 4.55], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [7.48095, 14.75, 15.25878], + "to": [8.53095, 15.8, 15.75878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 1.05, 1.05], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 1.05], "texture": "#2"}, + "south": {"uv": [0, 0, 1.05, 1.05], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 1.05], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 1.05], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 1.05], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [7.56095, 14.8, 15.00878], + "to": [8.46095, 15.75, 15.25878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 0.9, 0.95], "texture": "#2"}, + "east": {"uv": [0, 0, 0.25, 0.95], "texture": "#2"}, + "south": {"uv": [0, 0, 0.9, 0.95], "texture": "#2"}, + "west": {"uv": [0, 0, 0.25, 0.95], "texture": "#2"}, + "up": {"uv": [0, 0, 0.25, 0.9], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.25, 0.9], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [6.01095, 12, 15.50878], + "to": [10.01095, 16, 16.00878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [7, 0, 11, 4], "texture": "#3"}, + "east": {"uv": [12, 0, 12.5, 4], "texture": "#3"}, + "south": {"uv": [3, 0, 7, 4], "texture": "#3"}, + "west": {"uv": [11, 0, 11.5, 4], "texture": "#3"}, + "up": {"uv": [3, 5, 3.5, 9], "rotation": 270, "texture": "#3"}, + "down": {"uv": [12, 5, 12.5, 9], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [7.73095, 12.45, 14.95878], + "to": [8.28095, 13, 15.50878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "east": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "south": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "west": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "up": {"uv": [0, 0, 0.55, 0.55], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.55, 0.55], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [7.73095, 13, 14.40878], + "to": [8.28095, 13.55, 14.95878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "east": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "south": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "west": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "up": {"uv": [0, 0, 0.55, 0.55], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.55, 0.55], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [7.73095, 13.55, 13.85878], + "to": [8.28095, 14.1, 14.40878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "east": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "south": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "west": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "up": {"uv": [0, 0, 0.55, 0.55], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.55, 0.55], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [7.73095, 14.1, 13.30878], + "to": [8.28095, 14.65, 13.85878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "east": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "south": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "west": {"uv": [0, 0, 0.55, 0.55], "texture": "#2"}, + "up": {"uv": [0, 0, 0.55, 0.55], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.55, 0.55], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [7.74095, 14.65, 12.77878], + "to": [8.26095, 15.19, 13.30878], + "rotation": {"angle": 0, "axis": "y", "origin": [8.00986, 10.90054, 7.99892]}, + "faces": { + "north": {"uv": [0, 0, 0.52, 0.54], "texture": "#2"}, + "east": {"uv": [0, 0, 0.53, 0.54], "texture": "#2"}, + "south": {"uv": [0, 0, 0.52, 0.54], "texture": "#2"}, + "west": {"uv": [0, 0, 0.53, 0.54], "texture": "#2"}, + "up": {"uv": [0, 0, 0.53, 0.52], "rotation": 270, "texture": "#2"}, + "down": {"uv": [0, 0, 0.53, 0.52], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "glass", + "from": [6, 3.75, 3.75], + "to": [10, 10.75, 3.75], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass1", + "from": [6, 3.75, 8.75], + "to": [10, 10.75, 8.75], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass2", + "from": [10.5, 3.75, 4.25], + "to": [10.5, 10.75, 8.25], + "faces": { + "north": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "glass3", + "from": [5.5, 3.75, 4.25], + "to": [5.5, 10.75, 8.25], + "faces": { + "north": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 1, 7], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0}, + "down": {"uv": [0, 0, 1, 4], "texture": "#1", "tintindex": 0} + } + }, + { + "name": "pillar", + "from": [5.25, 2.75, 3.5], + "to": [6, 10.75, 4.25], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar2", + "from": [5.25, 2.75, 8.25], + "to": [6, 10.75, 9], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar3", + "from": [10, 2.75, 8.25], + "to": [10.75, 10.75, 9], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "pillar4", + "from": [10, 2.75, 3.5], + "to": [10.75, 10.75, 4.25], + "faces": { + "north": {"uv": [1, 0, 2, 7], "texture": "#2"}, + "east": {"uv": [2, 0, 3, 7], "texture": "#2"}, + "south": {"uv": [3, 0, 4, 7], "texture": "#2"}, + "west": {"uv": [4, 0, 5, 7], "texture": "#2"}, + "up": {"uv": [5, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [5, 1, 6, 2], "texture": "#2"} + } + }, + { + "name": "vent", + "from": [5.75, 12, 4], + "to": [10.25, 12.5, 8.5], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#3"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#3"}, + "south": {"uv": [3, 15, 13, 16], "texture": "#3"}, + "west": {"uv": [3, 2, 13, 3], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "rotation": 180, "texture": "#3"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#3"} + } + }, + { + "name": "venttop", + "from": [6, 12.25, 4.25], + "to": [10, 12.75, 8.25], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#3"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#3"}, + "south": {"uv": [3, 15, 13, 16], "texture": "#3"}, + "west": {"uv": [3, 2, 13, 3], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#3"} + } + }, + { + "from": [6, 11.5, 4.25], + "to": [6.5, 12, 4.75], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [9.5, 11.5, 4.25], + "to": [10, 12, 4.75], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [9.5, 11.5, 7.75], + "to": [10, 12, 8.25], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [6, 11.5, 7.75], + "to": [6.5, 12, 8.25], + "faces": { + "north": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "east": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "south": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "west": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#3"}, + "down": {"uv": [3, 0, 4, 1], "texture": "#3"} + } + }, + { + "from": [7.25, 14.25, 6], + "to": [7.75, 14.75, 6.5], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [8.25, 14.25, 6], + "to": [8.75, 14.75, 6.5], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "name": "base", + "from": [5, 3, 3.25], + "to": [11, 3.75, 9.25], + "faces": { + "north": {"uv": [0, 5, 6, 6], "rotation": 180, "texture": "#2"}, + "east": {"uv": [12, 0, 13, 6], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 1, 6, 2], "texture": "#2"}, + "west": {"uv": [13, 0, 14, 6], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 6, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 6, 6, 12], "texture": "#2"} + } + }, + { + "name": "base", + "from": [5, 10.75, 3.25], + "to": [11, 11.5, 9.25], + "faces": { + "north": {"uv": [0, 5, 6, 6], "rotation": 180, "texture": "#2"}, + "east": {"uv": [12, 0, 13, 6], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 1, 6, 2], "texture": "#2"}, + "west": {"uv": [13, 0, 14, 6], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 6, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 6, 6, 12], "texture": "#2"} + } + }, + { + "from": [7.75, 14.5, 6], + "to": [8.25, 15, 6.5], + "faces": { + "north": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#2"} + } + }, + { + "from": [8.5, 12.75, 6], + "to": [9, 14.25, 6.5], + "faces": { + "north": {"uv": [12, 2, 13, 4], "texture": "#2"}, + "east": {"uv": [13, 4, 14, 6], "texture": "#2"}, + "south": {"uv": [12, 0, 13, 2], "texture": "#2"}, + "west": {"uv": [11, 4, 12, 6], "texture": "#2"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#2"}, + "down": {"uv": [2, 0, 3, 1], "texture": "#2"} + } + }, + { + "name": "wick", + "from": [7.75, 6.5, 6], + "to": [8.25, 7.5, 6.5], + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#5"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#5"} + } + }, + { + "name": "candle", + "from": [7, 3.75, 5.25], + "to": [9, 6.75, 7.25], + "faces": { + "north": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "east": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "south": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "west": {"uv": [0, 6, 2, 10], "texture": "#6"}, + "up": {"uv": [0, 6, 2, 8], "texture": "#6"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#6"} + } + }, + { + "from": [7, 12.75, 6], + "to": [7.5, 14.25, 6.5], + "faces": { + "north": {"uv": [12, 2, 13, 4], "texture": "#2"}, + "east": {"uv": [13, 4, 14, 6], "texture": "#2"}, + "south": {"uv": [12, 0, 13, 2], "texture": "#2"}, + "west": {"uv": [11, 4, 12, 6], "texture": "#2"}, + "up": {"uv": [3, 0, 4, 1], "texture": "#2"}, + "down": {"uv": [2, 0, 3, 1], "texture": "#2"} + } + }, + { + "from": [7.5, 12.75, 5.875], + "to": [8.5, 13.5, 6.625], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 0.125]}, + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#2"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#2"}, + "west": {"uv": [2, 2, 4, 4], "texture": "#2"}, + "up": {"uv": [10, 0, 12, 2], "texture": "#2"}, + "down": {"uv": [8, 0, 10, 2], "texture": "#2"} + } + } + ], + "groups": [ + { + "name": "wall_mount", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8] + }, + { + "name": "lantern", + "origin": [0, 0, 0], + "color": 0, + "children": [ + { + "name": "glass", + "origin": [0, 0, 0], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "pillars", + "origin": [0, 0, 0], + "color": 0, + "children": [13, 14, 15, 16] + }, + { + "name": "vent", + "origin": [0, 0, 0], + "color": 0, + "children": [17, 18, 19, 20, 21, 22] + }, + { + "name": "body", + "origin": [0, 0, 0], + "color": 0, + "children": [23, 24, 25, 26] + }, + { + "name": "mount", + "origin": [0, 0, 0], + "color": 0, + "children": [27, 28, 29, 30, 31, 32] + } + ] + } + ] +} \ No newline at end of file diff --git a/Common/src/main/resources/assets/hyperlighting/models/item/advanced_lantern.json b/Common/src/main/resources/assets/hyperlighting/models/item/advanced_lantern.json new file mode 100644 index 0000000..1bb2e80 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/models/item/advanced_lantern.json @@ -0,0 +1,3 @@ +{ + "parent": "hyperlighting:block/lantern_basic" +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_black.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_black.json new file mode 100644 index 0000000..b00153e --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_black.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_black" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_blue.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_blue.json new file mode 100644 index 0000000..46af443 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_blue.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_blue" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_brown.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_brown.json new file mode 100644 index 0000000..1c18377 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_brown.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_brown" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_cyan.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_cyan.json new file mode 100644 index 0000000..43053a0 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_cyan.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_cyan" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_gray.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_gray.json new file mode 100644 index 0000000..53025aa --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_gray.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_gray" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_green.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_green.json new file mode 100644 index 0000000..5f5392a --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_green.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_green" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_light_blue.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_light_blue.json new file mode 100644 index 0000000..9c6d868 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_light_blue.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_light_blue" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_light_gray.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_light_gray.json new file mode 100644 index 0000000..d36fd30 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_light_gray.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_light_gray" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_lime.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_lime.json new file mode 100644 index 0000000..bd8062d --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_lime.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_lime" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_magenta.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_magenta.json new file mode 100644 index 0000000..e13c003 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_magenta.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_magenta" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_orange.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_orange.json new file mode 100644 index 0000000..d0ac047 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_orange.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_orange" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_pink.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_pink.json new file mode 100644 index 0000000..e4ef56f --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_pink.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_pink" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_purple.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_purple.json new file mode 100644 index 0000000..9e2f8d0 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_purple.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_purple" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_red.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_red.json new file mode 100644 index 0000000..9b88dc3 --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_red.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_red" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_white.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_white.json new file mode 100644 index 0000000..4379c3e --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_white.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_white" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/particles/cflame_yellow.json b/Common/src/main/resources/assets/hyperlighting/particles/cflame_yellow.json new file mode 100644 index 0000000..66e6d0b --- /dev/null +++ b/Common/src/main/resources/assets/hyperlighting/particles/cflame_yellow.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "hyperlighting:flames/flame_yellow" + ] +} diff --git a/Common/src/main/resources/assets/hyperlighting/textures/block/grayscale_glass.png b/Common/src/main/resources/assets/hyperlighting/textures/block/grayscale_glass.png new file mode 100644 index 0000000..8b90c84 Binary files /dev/null and b/Common/src/main/resources/assets/hyperlighting/textures/block/grayscale_glass.png differ diff --git a/gradle.properties b/gradle.properties index 2e35a0d..fee83ec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,4 +28,4 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false #dependencies -craterlib_version=1.0.3d +craterlib_version=1.0.4d