12 Commits

100 changed files with 1401 additions and 426 deletions

View File

@@ -4,8 +4,8 @@ import me.hypherionmc.craterlib.common.config.ModuleConfig;
import me.hypherionmc.craterlib.common.config.annotations.SubConfig;
import me.hypherionmc.hyperlighting.Constants;
import me.hypherionmc.hyperlighting.common.init.CommonRegistration;
import me.hypherionmc.moonconfig.core.conversion.Path;
import me.hypherionmc.moonconfig.core.conversion.SpecComment;
import shadow.hypherionmc.moonconfig.core.conversion.Path;
import shadow.hypherionmc.moonconfig.core.conversion.SpecComment;
public class HyperLightingClientConfig extends ModuleConfig {
@@ -29,6 +29,11 @@ public class HyperLightingClientConfig extends ModuleConfig {
@SubConfig
public CandleConfig candleConfig = new CandleConfig();
@Path("pumpkinTrioConfig")
@SpecComment("Pumpkin Trio Configuration")
@SubConfig
public PumpkinTrioConfig pumpkinTrioConfig = new PumpkinTrioConfig();
public HyperLightingClientConfig() {
super(Constants.MOD_ID, "hyperlighting-client");
registerAndSetup(this);
@@ -94,4 +99,18 @@ public class HyperLightingClientConfig extends ModuleConfig {
@SpecComment("Should Candles emit colored Lighting when SHIMMER is installed")
public boolean coloredLighting = true;
}
public static class PumpkinTrioConfig {
@Path("litByDefault")
@SpecComment("Should Pumpkin Trios be lit by default when placed")
public boolean litByDefault = false;
@Path("requiresTool")
@SpecComment("Is the Torch Lighter tool needed to light Pumpkin Trios")
public boolean requiresTool = true;
@Path("coloredLighting")
@SpecComment("Should Pumpkin Trios emit colored Lighting when SHIMMER is installed")
public boolean coloredLighting = true;
}
}

View File

@@ -108,7 +108,7 @@ public class BatteryNeonBlockEntity extends CraterBlockEntity implements ITickab
if (level.getGameTime() % 40L == 0L) {
if (level.getBlockState(blockPos).getValue(BatteryNeon.LIT)) {
this.energyStorage.extractEnergy(1, false);
this.energyStorage.extractEnergyInternal(1, false);
}
}
this.sendUpdates();

View File

@@ -169,7 +169,7 @@ public class AdvancedCampfire extends BaseEntityBlock implements DyableBlock, Li
LevelAccessor levelAccessor = blockPlaceContext.getLevel();
BlockPos blockPos = blockPlaceContext.getClickedPos();
boolean bl = levelAccessor.getFluidState(blockPos).getType() == Fluids.WATER;
return this.defaultBlockState().setValue(SIGNAL_FIRE, this.isSmokeSource(levelAccessor.getBlockState(blockPos.below()))).setValue(LIT, !bl).setValue(FACING, blockPlaceContext.getHorizontalDirection());
return this.defaultBlockState().setValue(SIGNAL_FIRE, this.isSmokeSource(levelAccessor.getBlockState(blockPos.below()))).setValue(LIT, !bl && CommonRegistration.config.campfireConfig.litByDefault).setValue(FACING, blockPlaceContext.getHorizontalDirection());
}
@Override

View File

@@ -1,7 +1,5 @@
package me.hypherionmc.hyperlighting.common.blocks;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import me.hypherionmc.craterlib.api.inventory.CraterCreativeModeTab;
import me.hypherionmc.craterlib.api.rendering.DyableBlock;
import me.hypherionmc.craterlib.common.item.BlockItemDyable;
@@ -33,10 +31,8 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.AttachFace;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.EnumProperty;
@@ -48,173 +44,144 @@ import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
public class AdvancedCandleBlock extends HorizontalDirectionalBlock implements DyableBlock, LightableBlock {
public class AdvancedCandleBlock extends Block implements DyableBlock, LightableBlock {
//region Properties
public static final BooleanProperty LIT = BlockStateProperties.LIT;
public static final EnumProperty<DyeColor> COLOR = EnumProperty.create("color", DyeColor.class);
public static final EnumProperty<AttachFace> ATTACH_FACE = EnumProperty.create("face", AttachFace.class, AttachFace.FLOOR, AttachFace.WALL);
//endregion
//region Properties
public static final BooleanProperty LIT = BlockStateProperties.LIT;
public static final EnumProperty<DyeColor> COLOR = EnumProperty.create("color", DyeColor.class);
//endregion
//region Bounding Boxes
private static final Map<Direction, VoxelShape> SHAPES = Maps.newEnumMap(
ImmutableMap.of(
Direction.NORTH, Block.box(5.5D, 2.0D, 11.0D, 10.5D, 12.0D, 16.0D),
Direction.SOUTH, Block.box(5.5D, 2.0D, 0.0D, 10.5D, 12.0D, 5.0D),
Direction.WEST, Block.box(11.0D, 2.0D, 5.5D, 16.0D, 12.0D, 10.5D),
Direction.EAST, Block.box(0.0D, 2.0D, 5.5D, 5.0D, 12.0D, 10.5D),
Direction.UP, Block.box(6.0D, 0.0D, 6.0D, 10.0D, 10.0D, 10.0D)
)
);
//endregion
//region Bounding Boxes
VoxelShape BOUNDING_BOX = Block.box(4, 0, 4, 11, 10, 11);
//endregion
private DyeColor color;
private DyeColor color;
public AdvancedCandleBlock(String name, DyeColor color, CraterCreativeModeTab tab) {
super(Properties.of(Material.WOOD).noCollission().instabreak().lightLevel(BlockStateUtils.createLightLevelFromLitBlockState(15)));
this.registerDefaultState(this.defaultBlockState().setValue(FACING, Direction.NORTH).setValue(LIT, CommonRegistration.config.candleConfig.litByDefault).setValue(COLOR, color));
this.color = color;
public AdvancedCandleBlock(String name, DyeColor color, CraterCreativeModeTab tab) {
super(Properties.of(Material.WOOD).noCollission().instabreak().lightLevel(BlockStateUtils.createLightLevelFromLitBlockState(15)));
this.registerDefaultState(this.defaultBlockState().setValue(LIT, CommonRegistration.config.candleConfig.litByDefault).setValue(COLOR, color));
this.color = color;
CreativeTabRegistry.setCreativeTab(tab, HLItems.register(name, () -> new BlockItemDyable(this, new Item.Properties())));
CreativeTabRegistry.setCreativeTab(tab, HLItems.register(name, () -> new BlockItemDyable(this, new Item.Properties())));
}
@Override
public VoxelShape getShape(BlockState blockState, BlockGetter level, BlockPos pos, CollisionContext context) {
return BOUNDING_BOX;
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(LIT, COLOR);
super.createBlockStateDefinition(builder);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
BlockState state = this.defaultBlockState();
return state.setValue(LIT, CommonRegistration.config.candleConfig.litByDefault);
}
@Override
public BlockState updateShape(BlockState stateIn, Direction facing, BlockState neighbourState, LevelAccessor levelIn, BlockPos currentPos, BlockPos newPos) {
if (facing == Direction.DOWN && !this.isValidPosition(stateIn, levelIn, currentPos, facing)) {
return Blocks.AIR.defaultBlockState();
}
return super.updateShape(stateIn, facing, neighbourState, levelIn, currentPos, newPos);
}
@Override
public VoxelShape getShape(BlockState blockState, BlockGetter level, BlockPos pos, CollisionContext context) {
return switch (blockState.getValue(ATTACH_FACE)) {
case FLOOR -> SHAPES.get(Direction.UP);
case WALL -> SHAPES.get(blockState.getValue(FACING));
case CEILING -> null;
};
public boolean isValidPosition(BlockState state, LevelAccessor levelAccessor, BlockPos pos, Direction direction) {
return canSupportCenter(levelAccessor, pos, direction);
}
@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
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(LIT, ATTACH_FACE, FACING, COLOR);
super.createBlockStateDefinition(builder);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
Direction direction = context.getClickedFace();
BlockState state = this.defaultBlockState();
if (direction == Direction.UP) {
state = state.setValue(ATTACH_FACE, AttachFace.FLOOR);
@Override
public BlockColor dyeHandler() {
return ((blockState, blockAndTintGetter, blockPos, i) -> {
if (blockState.getValue(LIT)) {
return RenderUtils.renderColorFromDye(blockState.getValue(COLOR));
} else {
state = state.setValue(ATTACH_FACE, AttachFace.WALL).setValue(FACING, direction);
return RenderUtils.renderColorFromDye(DyeColor.BLACK);
}
return state.setValue(LIT, CommonRegistration.config.candleConfig.litByDefault);
}
});
}
@Override
public BlockState updateShape(BlockState stateIn, Direction facing, BlockState neighbourState, LevelAccessor levelIn, BlockPos currentPos, BlockPos newPos) {
if (facing == Direction.DOWN && !this.isValidPosition(stateIn, levelIn, currentPos, facing)) {
return Blocks.AIR.defaultBlockState();
}
return super.updateShape(stateIn, facing, neighbourState, levelIn, currentPos, newPos);
}
@Override
public DyeColor defaultDyeColor() {
return this.defaultBlockState().getValue(COLOR);
}
public boolean isValidPosition(BlockState state, LevelAccessor levelAccessor, BlockPos pos, Direction direction) {
return canSupportCenter(levelAccessor, pos, direction);
}
/** 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);
@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));
if (!player.isCreative()) {
ItemStack stack = player.getItemInHand(handIn);
stack.shrink(1);
player.setItemInHand(handIn, stack);
}
return InteractionResult.CONSUME;
} else if (!CommonRegistration.config.candleConfig.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 {
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.candleConfig.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 appendHoverText(ItemStack stack, BlockGetter level, List<Component> 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 void animateTick(BlockState stateIn, Level levelIn, BlockPos pos, RandomSource random) {
if (stateIn.getValue(LIT)) {
DyeColor color = stateIn.getValue(COLOR);
if (stateIn.getValue(ATTACH_FACE) == AttachFace.FLOOR) {
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
levelIn.addParticle(ParticleTypes.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0, d1, d2, 0D, 0D, 0D);
} else {
Direction direction = stateIn.getValue(FACING);
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
Direction direction1 = direction.getOpposite();
levelIn.addParticle(ParticleTypes.SMOKE, d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0D, 0D, 0D);
level.playSound(null, pos, HLSounds.TORCH_IGNITE.get(), SoundSource.BLOCKS, 0.3f, 1.0f);
}
return InteractionResult.CONSUME;
}
}
return InteractionResult.PASS;
}
@Override
public @NotNull ItemStack getCloneItemStack(@NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull BlockState state) {
return StackUtil.getColorStack(this, state.getValue(COLOR));
}
@Override
public void appendHoverText(ItemStack stack, BlockGetter level, List<Component> 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 List<ItemStack> getDrops(BlockState blockState, LootContext.Builder lootBuilder) {
return List.of(StackUtil.getColorStack(this, blockState.getValue(COLOR)));
@Override
public void animateTick(BlockState stateIn, Level levelIn, BlockPos pos, RandomSource random) {
if (stateIn.getValue(LIT)) {
DyeColor color = stateIn.getValue(COLOR);
double d0 = (double) pos.getX() + 0.48D;
double d1 = (double) pos.getY() + 0.79D;
double d2 = (double) pos.getZ() + 0.45D;
levelIn.addParticle(ParticleTypes.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0, d1, d2, 0D, 0D, 0D);
}
}
@Override
public @NotNull ItemStack getCloneItemStack(@NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull BlockState state) {
return StackUtil.getColorStack(this, state.getValue(COLOR));
}
@Override
public List<ItemStack> getDrops(BlockState blockState, LootContext.Builder lootBuilder) {
return List.of(StackUtil.getColorStack(this, blockState.getValue(COLOR)));
}
}

View File

@@ -31,9 +31,8 @@ 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.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
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.AttachFace;
@@ -81,7 +80,7 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy
}
@Override
public VoxelShape getShape(BlockState blockState, BlockGetter level, BlockPos pos, CollisionContext context) {
public @NotNull VoxelShape getShape(BlockState blockState, @NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull CollisionContext context) {
return switch (blockState.getValue(ATTACH_FACE)) {
case FLOOR -> SHAPES.get(Direction.UP);
case WALL -> SHAPES.get(blockState.getValue(FACING));
@@ -89,6 +88,54 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy
};
}
@Override
public @NotNull BlockState updateShape(@NotNull BlockState stateIn, @NotNull Direction facing, @NotNull BlockState neighbourState, @NotNull LevelAccessor levelIn, @NotNull BlockPos currentPos, @NotNull BlockPos newPos) {
AttachFace attachFace = stateIn.getValue(ATTACH_FACE);
if (attachFace == AttachFace.FLOOR) {
return facing == Direction.DOWN && !this.canSurvive(stateIn, levelIn, currentPos) ? Blocks.AIR.defaultBlockState() : super.updateShape(stateIn, facing, neighbourState, levelIn, currentPos, newPos);
}
return facing.getOpposite() == stateIn.getValue(FACING) && !stateIn.canSurvive(levelIn, currentPos) ? Blocks.AIR.defaultBlockState() : stateIn;
}
@Override
public boolean canSurvive(BlockState stateIn, @NotNull LevelReader levelIn, @NotNull BlockPos currentPos) {
AttachFace attachFace = stateIn.getValue(ATTACH_FACE);
if (attachFace == AttachFace.FLOOR) {
return canSupportCenter(levelIn, currentPos.below(), Direction.UP);
}
Direction direction = stateIn.getValue(FACING);
BlockPos neighbourPos = currentPos.relative(direction.getOpposite());
BlockState currentState = levelIn.getBlockState(neighbourPos);
return currentState.isFaceSturdy(levelIn, neighbourPos, direction);
}
@Override
public void animateTick(BlockState stateIn, @NotNull Level levelIn, @NotNull BlockPos pos, @NotNull RandomSource random) {
if (stateIn.getValue(LIT)) {
DyeColor color = stateIn.getValue(COLOR);
if (stateIn.getValue(ATTACH_FACE) == AttachFace.FLOOR) {
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
levelIn.addParticle(ParticleTypes.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0, d1, d2, 0D, 0D, 0D);
} else {
Direction direction = stateIn.getValue(FACING);
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
Direction direction1 = direction.getOpposite();
levelIn.addParticle(ParticleTypes.SMOKE, d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0D, 0D, 0D);
}
}
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(LIT, ATTACH_FACE, FACING, COLOR);
@@ -107,17 +154,6 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy
return state.setValue(LIT, CommonRegistration.config.torchConfig.litByDefault);
}
@Override
public BlockState updateShape(BlockState stateIn, Direction facing, BlockState neighbourState, LevelAccessor levelIn, BlockPos currentPos, BlockPos newPos) {
if (facing == Direction.DOWN && !this.isValidPosition(stateIn, levelIn, currentPos, facing)) {
return Blocks.AIR.defaultBlockState();
}
return super.updateShape(stateIn, facing, neighbourState, levelIn, currentPos, newPos);
}
public boolean isValidPosition(BlockState state, LevelAccessor levelAccessor, BlockPos pos, Direction direction) {
return canSupportCenter(levelAccessor, pos, direction);
}
@Override
public void toggleLight(Level worldIn, BlockState state, BlockPos pos) {
@@ -185,29 +221,6 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy
super.appendHoverText(stack, level, tooltip, options);
}
@Override
public void animateTick(BlockState stateIn, Level levelIn, BlockPos pos, RandomSource random) {
if (stateIn.getValue(LIT)) {
DyeColor color = stateIn.getValue(COLOR);
if (stateIn.getValue(ATTACH_FACE) == AttachFace.FLOOR) {
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
levelIn.addParticle(ParticleTypes.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0, d1, d2, 0D, 0D, 0D);
} else {
Direction direction = stateIn.getValue(FACING);
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
Direction direction1 = direction.getOpposite();
levelIn.addParticle(ParticleTypes.SMOKE, d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0.0D, 0.0D, 0.0D);
levelIn.addParticle(FlameParticles.getParticleByColor(color).get(), d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0D, 0D, 0D);
}
}
}
@Override
public @NotNull ItemStack getCloneItemStack(@NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull BlockState state) {
return StackUtil.getColorStack(this, state.getValue(COLOR));

View File

@@ -0,0 +1,73 @@
package me.hypherionmc.hyperlighting.common.blocks;
import me.hypherionmc.craterlib.systems.internal.CreativeTabRegistry;
import me.hypherionmc.craterlib.util.BlockStateUtils;
import me.hypherionmc.hyperlighting.api.LightableBlock;
import me.hypherionmc.hyperlighting.common.init.CommonRegistration;
import me.hypherionmc.hyperlighting.common.init.HLItems;
import me.hypherionmc.hyperlighting.common.init.HLSounds;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.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.block.Block;
import net.minecraft.world.level.block.SoundType;
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.BooleanProperty;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.material.Material;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.Nullable;
public class PumpkinTrioBlock extends Block implements LightableBlock {
public static final BooleanProperty LIT = BlockStateProperties.LIT;
public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING;
private static final VoxelShape BOUNDING_BOX = Block.box(0, 0, 0, 16, 0.256, 16);
public PumpkinTrioBlock(String name) {
super(Properties.of(Material.VEGETABLE).sound(SoundType.LILY_PAD).lightLevel(BlockStateUtils.createLightLevelFromLitBlockState(10)));
this.registerDefaultState(this.defaultBlockState().setValue(LIT, CommonRegistration.config.pumpkinTrioConfig.litByDefault).setValue(FACING, Direction.NORTH));
CreativeTabRegistry.setCreativeTab(CommonRegistration.LIGHTS_TAB, HLItems.register(name, () -> new BlockItem(this, new Item.Properties())));
}
@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
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(FACING, LIT);
super.createBlockStateDefinition(builder);
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
return BOUNDING_BOX;
}
@Nullable
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
Direction face = context.getPlayer().getDirection();
return this.defaultBlockState().setValue(FACING, face).setValue(LIT, CommonRegistration.config.pumpkinTrioConfig.litByDefault);
}
}

View File

@@ -32,7 +32,8 @@ public class HLBlocks {
/* Other */
public static BlockRegistryObject<Block> BATTERY_NEON = register("battery_neon", () -> new BatteryNeon("battery_neon"));
public static BlockRegistryObject<Block> PUMPKIN_TRIO = register("pumpkin_trio", () -> new PumpkinTrioBlock("pumpkin_trio"));
public static BlockRegistryObject<Block> PUMPKIN_TRIO_INVERTED = register("pumpkin_trio_inverted", () -> new PumpkinTrioBlock("pumpkin_trio_inverted"));
public static void loadAll() {}

View File

@@ -1,131 +1,35 @@
{
"variants": {
"facing=east,lit=true,color=white": {"model": "hyperlighting:block/candle/white_candle"},
"facing=east,lit=false,color=white": {"model": "hyperlighting:block/candle/white_candle"},
"facing=south,lit=true,color=white": {"model": "hyperlighting:block/candle/white_candle", "y": 90},
"facing=south,lit=false,color=white": {"model": "hyperlighting:block/candle/white_candle", "y": 90},
"facing=west,lit=true,color=white": {"model": "hyperlighting:block/candle/white_candle", "y": 180},
"facing=west,lit=false,color=white": {"model": "hyperlighting:block/candle/white_candle", "y": 180},
"facing=north,lit=true,color=white": {"model": "hyperlighting:block/candle/white_candle", "y": 270},
"facing=north,lit=false,color=white": {"model": "hyperlighting:block/candle/white_candle", "y": 270},
"facing=east,lit=true,color=orange": {"model": "hyperlighting:block/candle/orange_candle"},
"facing=east,lit=false,color=orange": {"model": "hyperlighting:block/candle/orange_candle"},
"facing=south,lit=true,color=orange": {"model": "hyperlighting:block/candle/orange_candle", "y": 90},
"facing=south,lit=false,color=orange": {"model": "hyperlighting:block/candle/orange_candle", "y": 90},
"facing=west,lit=true,color=orange": {"model": "hyperlighting:block/candle/orange_candle", "y": 180},
"facing=west,lit=false,color=orange": {"model": "hyperlighting:block/candle/orange_candle", "y": 180},
"facing=north,lit=true,color=orange": {"model": "hyperlighting:block/candle/orange_candle", "y": 270},
"facing=north,lit=false,color=orange": {"model": "hyperlighting:block/candle/orange_candle", "y": 270},
"facing=east,lit=true,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle"},
"facing=east,lit=false,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle"},
"facing=south,lit=true,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle", "y": 90},
"facing=south,lit=false,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle", "y": 90},
"facing=west,lit=true,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle", "y": 180},
"facing=west,lit=false,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle", "y": 180},
"facing=north,lit=true,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle", "y": 270},
"facing=north,lit=false,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle", "y": 270},
"facing=east,lit=true,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle"},
"facing=east,lit=false,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle"},
"facing=south,lit=true,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle", "y": 90},
"facing=south,lit=false,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle", "y": 90},
"facing=west,lit=true,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle", "y": 180},
"facing=west,lit=false,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle", "y": 180},
"facing=north,lit=true,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle", "y": 270},
"facing=north,lit=false,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle", "y": 270},
"facing=east,lit=true,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle"},
"facing=east,lit=false,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle"},
"facing=south,lit=true,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle", "y": 90},
"facing=south,lit=false,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle", "y": 90},
"facing=west,lit=true,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle", "y": 180},
"facing=west,lit=false,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle", "y": 180},
"facing=north,lit=true,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle", "y": 270},
"facing=north,lit=false,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle", "y": 270},
"facing=east,lit=true,color=lime": {"model": "hyperlighting:block/candle/lime_candle"},
"facing=east,lit=false,color=lime": {"model": "hyperlighting:block/candle/lime_candle"},
"facing=south,lit=true,color=lime": {"model": "hyperlighting:block/candle/lime_candle", "y": 90},
"facing=south,lit=false,color=lime": {"model": "hyperlighting:block/candle/lime_candle", "y": 90},
"facing=west,lit=true,color=lime": {"model": "hyperlighting:block/candle/lime_candle", "y": 180},
"facing=west,lit=false,color=lime": {"model": "hyperlighting:block/candle/lime_candle", "y": 180},
"facing=north,lit=true,color=lime": {"model": "hyperlighting:block/candle/lime_candle", "y": 270},
"facing=north,lit=false,color=lime": {"model": "hyperlighting:block/candle/lime_candle", "y": 270},
"facing=east,lit=true,color=pink": {"model": "hyperlighting:block/candle/pink_candle"},
"facing=east,lit=false,color=pink": {"model": "hyperlighting:block/candle/pink_candle"},
"facing=south,lit=true,color=pink": {"model": "hyperlighting:block/candle/pink_candle", "y": 90},
"facing=south,lit=false,color=pink": {"model": "hyperlighting:block/candle/pink_candle", "y": 90},
"facing=west,lit=true,color=pink": {"model": "hyperlighting:block/candle/pink_candle", "y": 180},
"facing=west,lit=false,color=pink": {"model": "hyperlighting:block/candle/pink_candle", "y": 180},
"facing=north,lit=true,color=pink": {"model": "hyperlighting:block/candle/pink_candle", "y": 270},
"facing=north,lit=false,color=pink": {"model": "hyperlighting:block/candle/pink_candle", "y": 270},
"facing=east,lit=true,color=gray": {"model": "hyperlighting:block/candle/gray_candle"},
"facing=east,lit=false,color=gray": {"model": "hyperlighting:block/candle/gray_candle"},
"facing=south,lit=true,color=gray": {"model": "hyperlighting:block/candle/gray_candle", "y": 90},
"facing=south,lit=false,color=gray": {"model": "hyperlighting:block/candle/gray_candle", "y": 90},
"facing=west,lit=true,color=gray": {"model": "hyperlighting:block/candle/gray_candle", "y": 180},
"facing=west,lit=false,color=gray": {"model": "hyperlighting:block/candle/gray_candle", "y": 180},
"facing=north,lit=true,color=gray": {"model": "hyperlighting:block/candle/gray_candle", "y": 270},
"facing=north,lit=false,color=gray": {"model": "hyperlighting:block/candle/gray_candle", "y": 270},
"facing=east,lit=true,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle"},
"facing=east,lit=false,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle"},
"facing=south,lit=true,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle", "y": 90},
"facing=south,lit=false,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle", "y": 90},
"facing=west,lit=true,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle", "y": 180},
"facing=west,lit=false,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle", "y": 180},
"facing=north,lit=true,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle", "y": 270},
"facing=north,lit=false,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle", "y": 270},
"facing=east,lit=true,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle"},
"facing=east,lit=false,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle"},
"facing=south,lit=true,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle", "y": 90},
"facing=south,lit=false,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle", "y": 90},
"facing=west,lit=true,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle", "y": 180},
"facing=west,lit=false,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle", "y": 180},
"facing=north,lit=true,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle", "y": 270},
"facing=north,lit=false,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle", "y": 270},
"facing=east,lit=true,color=purple": {"model": "hyperlighting:block/candle/purple_candle"},
"facing=east,lit=false,color=purple": {"model": "hyperlighting:block/candle/purple_candle"},
"facing=south,lit=true,color=purple": {"model": "hyperlighting:block/candle/purple_candle", "y": 90},
"facing=south,lit=false,color=purple": {"model": "hyperlighting:block/candle/purple_candle", "y": 90},
"facing=west,lit=true,color=purple": {"model": "hyperlighting:block/candle/purple_candle", "y": 180},
"facing=west,lit=false,color=purple": {"model": "hyperlighting:block/candle/purple_candle", "y": 180},
"facing=north,lit=true,color=purple": {"model": "hyperlighting:block/candle/purple_candle", "y": 270},
"facing=north,lit=false,color=purple": {"model": "hyperlighting:block/candle/purple_candle", "y": 270},
"facing=east,lit=true,color=blue": {"model": "hyperlighting:block/candle/blue_candle"},
"facing=east,lit=false,color=blue": {"model": "hyperlighting:block/candle/blue_candle"},
"facing=south,lit=true,color=blue": {"model": "hyperlighting:block/candle/blue_candle", "y": 90},
"facing=south,lit=false,color=blue": {"model": "hyperlighting:block/candle/blue_candle", "y": 90},
"facing=west,lit=true,color=blue": {"model": "hyperlighting:block/candle/blue_candle", "y": 180},
"facing=west,lit=false,color=blue": {"model": "hyperlighting:block/candle/blue_candle", "y": 180},
"facing=north,lit=true,color=blue": {"model": "hyperlighting:block/candle/blue_candle", "y": 270},
"facing=north,lit=false,color=blue": {"model": "hyperlighting:block/candle/blue_candle", "y": 270},
"facing=east,lit=true,color=brown": {"model": "hyperlighting:block/candle/brown_candle"},
"facing=east,lit=false,color=brown": {"model": "hyperlighting:block/candle/brown_candle"},
"facing=south,lit=true,color=brown": {"model": "hyperlighting:block/candle/brown_candle", "y": 90},
"facing=south,lit=false,color=brown": {"model": "hyperlighting:block/candle/brown_candle", "y": 90},
"facing=west,lit=true,color=brown": {"model": "hyperlighting:block/candle/brown_candle", "y": 180},
"facing=west,lit=false,color=brown": {"model": "hyperlighting:block/candle/brown_candle", "y": 180},
"facing=north,lit=true,color=brown": {"model": "hyperlighting:block/candle/brown_candle", "y": 270},
"facing=north,lit=false,color=brown": {"model": "hyperlighting:block/candle/brown_candle", "y": 270},
"facing=east,lit=true,color=green": {"model": "hyperlighting:block/candle/green_candle"},
"facing=east,lit=false,color=green": {"model": "hyperlighting:block/candle/green_candle"},
"facing=south,lit=true,color=green": {"model": "hyperlighting:block/candle/green_candle", "y": 90},
"facing=south,lit=false,color=green": {"model": "hyperlighting:block/candle/green_candle", "y": 90},
"facing=west,lit=true,color=green": {"model": "hyperlighting:block/candle/green_candle", "y": 180},
"facing=west,lit=false,color=green": {"model": "hyperlighting:block/candle/green_candle", "y": 180},
"facing=north,lit=true,color=green": {"model": "hyperlighting:block/candle/green_candle", "y": 270},
"facing=north,lit=false,color=green": {"model": "hyperlighting:block/candle/green_candle", "y": 270},
"facing=east,lit=true,color=red": {"model": "hyperlighting:block/candle/red_candle"},
"facing=east,lit=false,color=red": {"model": "hyperlighting:block/candle/red_candle"},
"facing=south,lit=true,color=red": {"model": "hyperlighting:block/candle/red_candle", "y": 90},
"facing=south,lit=false,color=red": {"model": "hyperlighting:block/candle/red_candle", "y": 90},
"facing=west,lit=true,color=red": {"model": "hyperlighting:block/candle/red_candle", "y": 180},
"facing=west,lit=false,color=red": {"model": "hyperlighting:block/candle/red_candle", "y": 180},
"facing=north,lit=true,color=red": {"model": "hyperlighting:block/candle/red_candle", "y": 270},
"facing=north,lit=false,color=red": {"model": "hyperlighting:block/candle/red_candle", "y": 270},
"facing=east,lit=true,color=black": {"model": "hyperlighting:block/candle/black_candle"},
"facing=east,lit=false,color=black": {"model": "hyperlighting:block/candle/black_candle"},
"facing=south,lit=true,color=black": {"model": "hyperlighting:block/candle/black_candle", "y": 90},
"facing=south,lit=false,color=black": {"model": "hyperlighting:block/candle/black_candle", "y": 90},
"facing=west,lit=true,color=black": {"model": "hyperlighting:block/candle/black_candle", "y": 180},
"facing=west,lit=false,color=black": {"model": "hyperlighting:block/candle/black_candle", "y": 180},
"facing=north,lit=true,color=black": {"model": "hyperlighting:block/candle/black_candle", "y": 270},
"facing=north,lit=false,color=black": {"model": "hyperlighting:block/candle/black_candle", "y": 270} }
"lit=true,color=white": {"model": "hyperlighting:block/candle/white_candle"},
"lit=false,color=white": {"model": "hyperlighting:block/candle/white_candle"},
"lit=true,color=orange": {"model": "hyperlighting:block/candle/orange_candle"},
"lit=false,color=orange": {"model": "hyperlighting:block/candle/orange_candle"},
"lit=true,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle"},
"lit=false,color=magenta": {"model": "hyperlighting:block/candle/magenta_candle"},
"lit=true,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle"},
"lit=false,color=light_blue": {"model": "hyperlighting:block/candle/light_blue_candle"},
"lit=true,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle"},
"lit=false,color=yellow": {"model": "hyperlighting:block/candle/yellow_candle"},
"lit=true,color=lime": {"model": "hyperlighting:block/candle/lime_candle"},
"lit=false,color=lime": {"model": "hyperlighting:block/candle/lime_candle"},
"lit=true,color=pink": {"model": "hyperlighting:block/candle/pink_candle"},
"lit=false,color=pink": {"model": "hyperlighting:block/candle/pink_candle"},
"lit=true,color=gray": {"model": "hyperlighting:block/candle/gray_candle"},
"lit=false,color=gray": {"model": "hyperlighting:block/candle/gray_candle"},
"lit=true,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle"},
"lit=false,color=light_gray": {"model": "hyperlighting:block/candle/light_gray_candle"},
"lit=true,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle"},
"lit=false,color=cyan": {"model": "hyperlighting:block/candle/cyan_candle"},
"lit=true,color=purple": {"model": "hyperlighting:block/candle/purple_candle"},
"lit=false,color=purple": {"model": "hyperlighting:block/candle/purple_candle"},
"lit=true,color=blue": {"model": "hyperlighting:block/candle/blue_candle"},
"lit=false,color=blue": {"model": "hyperlighting:block/candle/blue_candle"},
"lit=true,color=brown": {"model": "hyperlighting:block/candle/brown_candle"},
"lit=false,color=brown": {"model": "hyperlighting:block/candle/brown_candle"},
"lit=true,color=green": {"model": "hyperlighting:block/candle/green_candle"},
"lit=false,color=green": {"model": "hyperlighting:block/candle/green_candle"},
"lit=true,color=red": {"model": "hyperlighting:block/candle/red_candle"},
"lit=false,color=red": {"model": "hyperlighting:block/candle/red_candle"},
"lit=true,color=black": {"model": "hyperlighting:block/candle/black_candle"},
"lit=false,color=black": {"model": "hyperlighting:block/candle/black_candle"} }
}

View File

@@ -0,0 +1,12 @@
{
"variants": {
"facing=north,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio", "y": 180 },
"facing=south,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio" },
"facing=east,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio", "y": 270 },
"facing=west,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio", "y": 90 },
"facing=north,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio", "y": 180 },
"facing=south,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio" },
"facing=east,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio", "y": 270 },
"facing=west,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio", "y": 90 }
}
}

View File

@@ -0,0 +1,12 @@
{
"variants": {
"facing=north,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio_inverted", "y": 180 },
"facing=south,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio_inverted" },
"facing=east,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio_inverted", "y": 270 },
"facing=west,lit=true": { "model": "hyperlighting:block/jack_o_lantern_trio_inverted", "y": 90 },
"facing=north,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio_inverted", "y": 180 },
"facing=south,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio_inverted" },
"facing=east,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio_inverted", "y": 270 },
"facing=west,lit=false": { "model": "hyperlighting:block/carved_pumpkin_trio_inverted", "y": 90 }
}
}

View File

@@ -5,6 +5,8 @@
"block.hyperlighting.advanced_campfire": "Advanced Campfire (%s)",
"block.hyperlighting.solar_panel": "Solar Panel",
"block.hyperlighting.battery_neon": "Battery Fluorescent Light",
"block.hyperlighting.pumpkin_trio": "Jack-o'-Lantern Trio",
"block.hyperlighting.pumpkin_trio_inverted": "Jack-o'-Lantern Trio (Inverted)",
"item.hyperlighting.lighter_tool": "Torch Lighter Tool",
"item.hyperlighting.wireless_battery": "Wireless Battery",

View File

@@ -0,0 +1,230 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "hyperlighting:block/candle/base/advanced_candle",
"particle": "hyperlighting:block/candle/base/advanced_candle"
},
"elements": [
{
"from": [6, 0, 5],
"to": [9, 10, 6],
"faces": {
"north": {"uv": [7, 0, 10, 10], "texture": "#0"},
"east": {"uv": [6, 0, 7, 10], "texture": "#0"},
"south": {"uv": [7, 0, 10, 10], "texture": "#0"},
"west": {"uv": [5, 0, 6, 10], "texture": "#0"},
"up": {"uv": [11, 0, 14, 1], "texture": "#0"},
"down": {"uv": [0, 11, 3, 12], "texture": "#0"}
}
},
{
"from": [6, 0, 9],
"to": [9, 10, 10],
"faces": {
"north": {"uv": [7, 0, 10, 10], "texture": "#0"},
"east": {"uv": [5, 0, 6, 10], "texture": "#0"},
"south": {"uv": [7, 0, 10, 10], "texture": "#0"},
"west": {"uv": [6, 0, 7, 10], "texture": "#0"},
"up": {"uv": [11, 4, 14, 5], "texture": "#0"},
"down": {"uv": [0, 11, 3, 12], "texture": "#0"}
}
},
{
"from": [6, 0, 6],
"to": [9, 10, 9],
"faces": {
"north": {"uv": [7, 0, 10, 10], "texture": "#0"},
"east": {"uv": [2, 0, 5, 10], "texture": "#0"},
"south": {"uv": [7, 0, 10, 10], "texture": "#0"},
"west": {"uv": [2, 0, 5, 10], "texture": "#0"},
"up": {"uv": [11, 1, 14, 4], "texture": "#0"},
"down": {"uv": [0, 11, 3, 14], "texture": "#0"}
}
},
{
"from": [5, 0, 6],
"to": [6, 10, 9],
"faces": {
"north": {"uv": [1, 0, 2, 10], "texture": "#0"},
"east": {"uv": [2, 0, 5, 10], "texture": "#0"},
"south": {"uv": [0, 0, 1, 10], "texture": "#0"},
"west": {"uv": [2, 0, 5, 10], "texture": "#0"},
"up": {"uv": [10, 4, 11, 1], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 11, 1, 14], "texture": "#0"}
}
},
{
"from": [9, 0, 6],
"to": [10, 10, 9],
"faces": {
"north": {"uv": [0, 0, 1, 10], "texture": "#0"},
"east": {"uv": [2, 0, 5, 10], "texture": "#0"},
"south": {"uv": [1, 0, 2, 10], "texture": "#0"},
"west": {"uv": [2, 0, 5, 10], "texture": "#0"},
"up": {"uv": [14, 1, 15, 4], "texture": "#0"},
"down": {"uv": [0, 11, 1, 14], "texture": "#0"}
}
},
{
"from": [10, 0, 6],
"to": [11, 1, 10],
"faces": {
"north": {"uv": [0, 10, 1, 11], "texture": "#0"},
"east": {"uv": [0, 10, 4, 11], "texture": "#0"},
"south": {"uv": [0, 10, 1, 11], "texture": "#0"},
"west": {"uv": [0, 10, 4, 11], "texture": "#0"},
"up": {"uv": [0, 10, 1, 14], "texture": "#0"},
"down": {"uv": [0, 10, 1, 14], "texture": "#0"}
}
},
{
"from": [4, 0, 5],
"to": [5, 1, 7],
"faces": {
"north": {"uv": [1, 11, 2, 12], "texture": "#0"},
"east": {"uv": [1, 11, 3, 12], "texture": "#0"},
"south": {"uv": [1, 11, 2, 12], "texture": "#0"},
"west": {"uv": [1, 11, 3, 12], "texture": "#0"},
"up": {"uv": [1, 11, 2, 13], "texture": "#0"},
"down": {"uv": [1, 11, 2, 13], "texture": "#0"}
}
},
{
"from": [7, 0, 10],
"to": [10, 1, 11],
"faces": {
"north": {"uv": [4, 10, 7, 11], "texture": "#0"},
"east": {"uv": [4, 10, 5, 11], "texture": "#0"},
"south": {"uv": [4, 10, 7, 11], "texture": "#0"},
"west": {"uv": [4, 10, 5, 11], "texture": "#0"},
"up": {"uv": [4, 10, 7, 11], "texture": "#0"},
"down": {"uv": [4, 10, 7, 11], "texture": "#0"}
}
},
{
"from": [5, 0, 4],
"to": [7, 1, 5],
"faces": {
"north": {"uv": [7, 10, 9, 11], "texture": "#0"},
"east": {"uv": [7, 10, 8, 11], "texture": "#0"},
"south": {"uv": [7, 10, 9, 11], "texture": "#0"},
"west": {"uv": [7, 10, 8, 11], "texture": "#0"},
"up": {"uv": [7, 10, 9, 11], "texture": "#0"},
"down": {"uv": [7, 10, 9, 11], "texture": "#0"}
}
},
{
"from": [9, 0, 5],
"to": [10, 1, 6],
"faces": {
"north": {"uv": [9, 10, 10, 11], "texture": "#0"},
"east": {"uv": [9, 10, 10, 11], "texture": "#0"},
"south": {"uv": [9, 10, 10, 11], "texture": "#0"},
"west": {"uv": [9, 10, 10, 11], "texture": "#0"},
"up": {"uv": [9, 10, 10, 11], "texture": "#0"},
"down": {"uv": [9, 10, 10, 11], "texture": "#0"}
}
},
{
"from": [5, 0, 5],
"to": [6, 1, 6],
"faces": {
"north": {"uv": [0, 11, 1, 12], "texture": "#0"},
"east": {"uv": [0, 11, 1, 12], "texture": "#0"},
"south": {"uv": [0, 11, 1, 12], "texture": "#0"},
"west": {"uv": [0, 11, 1, 12], "texture": "#0"},
"up": {"uv": [0, 11, 1, 12], "texture": "#0"},
"down": {"uv": [0, 11, 1, 12], "texture": "#0"}
}
},
{
"from": [9, 0, 9],
"to": [10, 1, 10],
"faces": {
"north": {"uv": [0, 13, 1, 14], "texture": "#0"},
"east": {"uv": [0, 13, 1, 14], "texture": "#0"},
"south": {"uv": [0, 13, 1, 14], "texture": "#0"},
"west": {"uv": [0, 13, 1, 14], "texture": "#0"},
"up": {"uv": [0, 13, 1, 14], "texture": "#0"},
"down": {"uv": [0, 13, 1, 14], "texture": "#0"}
}
},
{
"name": "wick",
"from": [7.5, 10, 7],
"to": [7.5, 12, 8],
"rotation": {"angle": 45, "axis": "y", "origin": [7.5, 0, 7.5]},
"faces": {
"north": {"uv": [4, 11, 4, 13], "texture": "#0"},
"east": {"uv": [3, 11, 4, 13], "texture": "#0"},
"south": {"uv": [4, 11, 4, 13], "texture": "#0"},
"west": {"uv": [3, 11, 4, 13], "texture": "#0"},
"up": {"uv": [3, 13, 4, 13], "texture": "#0"},
"down": {"uv": [3, 13, 4, 13], "texture": "#0"}
}
},
{
"name": "wick",
"from": [7.5, 10, 7],
"to": [7.5, 12, 8],
"rotation": {"angle": -45, "axis": "y", "origin": [7.5, 0, 7.5]},
"faces": {
"north": {"uv": [4, 11, 4, 13], "texture": "#0"},
"east": {"uv": [3, 11, 4, 13], "texture": "#0"},
"south": {"uv": [4, 11, 4, 13], "texture": "#0"},
"west": {"uv": [3, 11, 4, 13], "texture": "#0"},
"up": {"uv": [3, 13, 4, 13], "texture": "#0"},
"down": {"uv": [3, 13, 4, 13], "texture": "#0"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"fixed": {
"rotation": [0, 180, 0]
}
},
"groups": [
{
"name": "candle_body",
"origin": [0, 0, 0],
"color": 0,
"children": [
0,
1,
2,
3,
4,
{
"name": "dripped_wax",
"origin": [0, 0, 0],
"color": 0,
"children": [5, 6, 7, 8, 9, 10, 11]
}
]
},
12,
13
]
}

View File

@@ -96,5 +96,29 @@
"down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#2"}
}
}
]
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
}
}
}

View File

@@ -68,5 +68,29 @@
"down": {"uv": [0, 0, 16, 6], "rotation": 90, "texture": "#1"}
}
}
]
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
}
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/black"
"0": "hyperlighting:block/candle/base/black_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/black_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/blue"
"0": "hyperlighting:block/candle/base/blue_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/blue_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/brown"
"0": "hyperlighting:block/candle/base/brown_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/brown_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/cyan"
"0": "hyperlighting:block/candle/base/cyan_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/cyan_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/gray"
"0": "hyperlighting:block/candle/base/gray_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/gray_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/green"
"0": "hyperlighting:block/candle/base/green_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/green_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/light_blue"
"0": "hyperlighting:block/candle/base/light_blue_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/light_blue_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/light_gray"
"0": "hyperlighting:block/candle/base/light_gray_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/light_gray_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/lime"
"0": "hyperlighting:block/candle/base/lime_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/lime_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/magenta"
"0": "hyperlighting:block/candle/base/magenta_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/magenta_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/orange"
"0": "hyperlighting:block/candle/base/orange_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/orange_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/pink"
"0": "hyperlighting:block/candle/base/pink_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/pink_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/purple"
"0": "hyperlighting:block/candle/base/purple_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/purple_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/red"
"0": "hyperlighting:block/candle/base/red_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/red_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/white"
"0": "hyperlighting:block/candle/base/white_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/white_advanced_candle_lit"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/color/yellow"
"0": "hyperlighting:block/candle/base/yellow_advanced_candle"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/advanced_candle_base",
"textures": {
"0": "hyperlighting:block/candle/lit/yellow_advanced_candle_lit"
}
}

View File

@@ -1,50 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "hyperlighting:block/candle_wax",
"1": "minecraft:block/coal_block",
"particle": "hyperlighting:block/candle_wax"
},
"elements": [
{
"name": "candle_body",
"from": [7, 0, 7],
"to": [9, 10, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#0"},
"east": {"uv": [0, 0, 2, 10], "texture": "#0"},
"south": {"uv": [0, 0, 2, 10], "texture": "#0"},
"west": {"uv": [0, 0, 2, 10], "texture": "#0"},
"up": {"uv": [0, 0, 2, 2], "texture": "#0"},
"down": {"uv": [0, 0, 2, 2], "texture": "#0"}
}
},
{
"from": [7.71194, 9.94134, 7.75],
"to": [8.21194, 10.69134, 8.25],
"rotation": {"angle": 0, "axis": "y", "origin": [7.96194, 7.19134, 8]},
"faces": {
"north": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"east": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"south": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"west": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"up": {"uv": [0, 0, 15.5, 15.5], "texture": "#1"},
"down": {"uv": [0, 0, 15.5, 15.5], "texture": "#1"}
}
},
{
"from": [7.53963, 10.59567, 7.75],
"to": [8.03963, 11.34567, 8.25],
"rotation": {"angle": 22.5, "axis": "z", "origin": [7.8853, 11.07664, 8]},
"faces": {
"north": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"east": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"south": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"west": {"uv": [0, 0, 15.5, 15.75], "texture": "#1"},
"up": {"uv": [0, 0, 15.5, 15.5], "texture": "#1"},
"down": {"uv": [0, 0, 15.5, 15.5], "texture": "#1"}
}
}
]
}

View File

@@ -0,0 +1,107 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"1": "minecraft:block/oak_planks",
"2": "hyperlighting:block/small_carved_pumpkin",
"3": "minecraft:block/hay_block_top",
"particle": "minecraft:block/hay_block_top"
},
"elements": [
{
"name": "Left Pumpkin",
"from": [8, 1, 2],
"to": [14, 7, 8],
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Right Pumpkin",
"from": [2, 1, 6],
"to": [8, 7, 12],
"rotation": {"angle": 45, "axis": "y", "origin": [5, 0, 9]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Top Pumpkin",
"from": [7, 7, 7],
"to": [13, 13, 13],
"rotation": {"angle": 22.5, "axis": "y", "origin": [10, 6, 10]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [0, 6, 6, 12], "texture": "#2"}
}
},
{
"name": "Stand",
"from": [9, 1, 10],
"to": [12, 7, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 0, 10]},
"faces": {
"north": {"uv": [13, 3, 16, 9], "texture": "#1"},
"east": {"uv": [4, 3, 7, 9], "texture": "#1"},
"south": {"uv": [10, 3, 13, 9], "texture": "#1"},
"west": {"uv": [0, 3, 3, 9], "texture": "#1"},
"up": {"uv": [0, 0, 3, 3], "texture": "#1"},
"down": {"uv": [0, 0, 3, 3], "texture": "#1"}
}
},
{
"name": "Straw",
"from": [0, 0, 0],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#3"},
"east": {"uv": [0, 15, 16, 16], "texture": "#3"},
"south": {"uv": [0, 15, 16, 16], "texture": "#3"},
"west": {"uv": [0, 15, 16, 16], "texture": "#3"},
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [0, 180, 0]
}
}
}

View File

@@ -0,0 +1,108 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"1": "minecraft:block/oak_planks",
"2": "hyperlighting:block/small_carved_pumpkin",
"3": "minecraft:block/hay_block_top",
"particle": "block/hay_block_top"
},
"elements": [
{
"name": "Left Pumpkin",
"from": [8, 1, 2],
"to": [14, 7, 8],
"rotation": {"angle": -45, "axis": "y", "origin": [5, 0, 9]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Right Pumpkin",
"from": [2, 1, 6],
"to": [8, 7, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 9]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Top Pumpkin",
"from": [7, 7, 7],
"to": [13, 13, 13],
"rotation": {"angle": -22.5, "axis": "y", "origin": [10, 6, 10]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [0, 6, 6, 12], "texture": "#2"}
}
},
{
"name": "Stand",
"from": [9, 1, 10],
"to": [12, 7, 13],
"rotation": {"angle": -45, "axis": "y", "origin": [9, 0, 10]},
"faces": {
"north": {"uv": [13, 3, 16, 9], "texture": "#1"},
"east": {"uv": [4, 3, 7, 9], "texture": "#1"},
"south": {"uv": [10, 3, 13, 9], "texture": "#1"},
"west": {"uv": [0, 3, 3, 9], "texture": "#1"},
"up": {"uv": [0, 0, 3, 3], "texture": "#1"},
"down": {"uv": [0, 0, 3, 3], "texture": "#1"}
}
},
{
"name": "Straw",
"from": [0, 0, 0],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#3"},
"east": {"uv": [0, 15, 16, 16], "texture": "#3"},
"south": {"uv": [0, 15, 16, 16], "texture": "#3"},
"west": {"uv": [0, 15, 16, 16], "texture": "#3"},
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [0, 180, 0]
}
}
}

View File

@@ -0,0 +1,159 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"1": "minecraft:block/oak_planks",
"2": "hyperlighting:block/small_jack_o_lantern",
"3": "minecraft:block/hay_block_top",
"particle": "minecraft:block/hay_block_top"
},
"elements": [
{
"name": "Left Pumpkin",
"from": [8, 1, 2],
"to": [14, 7, 8],
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Right Pumpkin",
"from": [2, 1, 6],
"to": [8, 7, 12],
"rotation": {"angle": 45, "axis": "y", "origin": [5, 0, 9]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Top Pumpkin",
"from": [7, 7, 7],
"to": [13, 13, 13],
"rotation": {"angle": 22.5, "axis": "y", "origin": [10, 6, 10]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [0, 6, 6, 12], "texture": "#2"}
}
},
{
"name": "Stand",
"from": [9, 1, 10],
"to": [12, 7, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 0, 10]},
"faces": {
"north": {"uv": [13, 3, 16, 9], "texture": "#1"},
"east": {"uv": [4, 3, 7, 9], "texture": "#1"},
"south": {"uv": [10, 3, 13, 9], "texture": "#1"},
"west": {"uv": [0, 3, 3, 9], "texture": "#1"},
"up": {"uv": [0, 0, 3, 3], "texture": "#1"},
"down": {"uv": [0, 0, 3, 3], "texture": "#1"}
}
},
{
"name": "Straw",
"from": [0, 0, 0],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#3"},
"east": {"uv": [0, 15, 16, 16], "texture": "#3"},
"south": {"uv": [0, 15, 16, 16], "texture": "#3"},
"west": {"uv": [0, 15, 16, 16], "texture": "#3"},
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [
75,
45,
0
],
"translation": [
0,
2.5,
0
],
"scale": [
0.375,
0.375,
0.375
]
},
"thirdperson_lefthand": {
"rotation": [
75,
45,
0
],
"translation": [
0,
2.5,
0
],
"scale": [
0.375,
0.375,
0.375
]
},
"firstperson_righthand": {
"rotation": [
0,
45,
0
],
"scale": [
0.4,
0.4,
0.4
]
},
"firstperson_lefthand": {
"rotation": [
0,
225,
0
],
"scale": [
0.4,
0.4,
0.4
]
},
"ground": {
"translation": [
0,
3,
0
],
"scale": [
0.25,
0.25,
0.25
]
},
"gui": {
"rotation": [
0,
180,
0
]
}
}
}

View File

@@ -0,0 +1,108 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"1": "minecraft:block/oak_planks",
"2": "hyperlighting:block/small_jack_o_lantern",
"3": "minecraft:block/hay_block_top",
"particle": "minecraft:block/hay_block_top"
},
"elements": [
{
"name": "Left Pumpkin",
"from": [8, 1, 2],
"to": [14, 7, 8],
"rotation": {"angle": -45, "axis": "y", "origin": [5, 0, 9]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Right Pumpkin",
"from": [2, 1, 6],
"to": [8, 7, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 9]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
},
{
"name": "Top Pumpkin",
"from": [7, 7, 7],
"to": [13, 13, 13],
"rotation": {"angle": -22.5, "axis": "y", "origin": [10, 6, 10]},
"faces": {
"north": {"uv": [0, 0, 6, 6], "texture": "#2"},
"east": {"uv": [6, 0, 12, 6], "texture": "#2"},
"south": {"uv": [6, 0, 12, 6], "texture": "#2"},
"west": {"uv": [6, 0, 12, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [0, 6, 6, 12], "texture": "#2"}
}
},
{
"name": "Stand",
"from": [9, 1, 10],
"to": [12, 7, 13],
"rotation": {"angle": -45, "axis": "y", "origin": [9, 0, 10]},
"faces": {
"north": {"uv": [13, 3, 16, 9], "texture": "#1"},
"east": {"uv": [4, 3, 7, 9], "texture": "#1"},
"south": {"uv": [10, 3, 13, 9], "texture": "#1"},
"west": {"uv": [0, 3, 3, 9], "texture": "#1"},
"up": {"uv": [0, 0, 3, 3], "texture": "#1"},
"down": {"uv": [0, 0, 3, 3], "texture": "#1"}
}
},
{
"name": "Straw",
"from": [0, 0, 0],
"to": [16, 1, 16],
"faces": {
"north": {"uv": [0, 15, 16, 16], "texture": "#3"},
"east": {"uv": [0, 15, 16, 16], "texture": "#3"},
"south": {"uv": [0, 15, 16, 16], "texture": "#3"},
"west": {"uv": [0, 15, 16, 16], "texture": "#3"},
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [0, 180, 0]
}
}
}

View File

@@ -2,11 +2,11 @@
"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"
"2": "minecraft:block/anvil",
"3": "minecraft:block/anvil_top",
"5": "minecraft:block/coal_block",
"6": "minecraft:block/candle",
"particle": "minecraft:block/coal_block"
},
"elements": [
{
@@ -313,6 +313,30 @@
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
}
},
"groups": [
{
"name": "lantern",
@@ -352,4 +376,4 @@
]
}
]
}
}

View File

@@ -2,11 +2,11 @@
"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"
"2": "minecraft:block/anvil",
"3": "minecraft:block/anvil_top",
"5": "minecraft:block/coal_block",
"6": "minecraft:block/candle",
"particle": "minecraft:block/coal_block"
},
"elements": [
{
@@ -313,6 +313,30 @@
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
}
},
"groups": [
{
"name": "lantern",
@@ -352,4 +376,4 @@
]
}
]
}
}

View File

@@ -46,10 +46,33 @@
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
}
},
"groups": [
{
"name": "group",
"origin": [10, 9, 15],
"color": 0,
"children": [0, 1, 2]
}
]

View File

@@ -35,7 +35,8 @@
"rotation": [56, 0, 0]
},
"ground": {
"translation": [0, 5.5, 0]
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [90, 0, 0]

View File

@@ -31,5 +31,29 @@
"down": {"uv": [7, 14, 9, 16], "texture": "#1"}
}
}
]
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
}
}
}

View File

@@ -1,5 +1,5 @@
{
"parent": "hyperlighting:block/candle_base",
"parent": "hyperlighting:block/advanced_candle_base",
"overrides": [
{ "predicate": { "color": 0 }, "model": "hyperlighting:block/candle/white_candle" },
{ "predicate": { "color": 1 }, "model": "hyperlighting:block/candle/orange_candle" },

View File

@@ -0,0 +1,3 @@
{
"parent": "hyperlighting:block/jack_o_lantern_trio"
}

View File

@@ -0,0 +1,3 @@
{
"parent": "hyperlighting:block/jack_o_lantern_trio_inverted"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"H": {
"item": "minecraft:honeycomb"
},
"S": {
"item": "minecraft:string"
}
},
"pattern": [
"S",
"H",
"H"
],
"result": {
"item": "hyperlighting:advanced_candle",
"count": 2
},
"show_notification": true
}

View File

@@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"key": {
"C": {
"item": "minecraft:hay_block"
},
"Y": {
"item": "minecraft:pumpkin"
}
},
"pattern": [
"Y Y",
" Y ",
"CCC"
],
"result": {
"item": "hyperlighting:pumpkin_trio",
"count": 3
},
"show_notification": true
}

View File

@@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"key": {
"C": {
"item": "minecraft:hay_block"
},
"Y": {
"item": "minecraft:pumpkin"
}
},
"pattern": [
"CCC",
" Y ",
"Y Y"
],
"result": {
"item": "hyperlighting:pumpkin_trio_inverted",
"count": 3
},
"show_notification": true
}

View File

@@ -43,7 +43,7 @@ public class TOPCampfireInfoProvider implements IBlockDisplayOverride {
.item(stack)
.horizontal()
.progress(
(int) ((float) tileCampFire.cookingTime[i] / tileCampFire.cookingProgress[i] * 100),
(int) ((float) tileCampFire.cookingProgress[i] / tileCampFire.cookingTime[i] * 100),
100,
iProbeInfo.defaultProgressStyle().suffix(" %").alignment(ElementAlignment.ALIGN_TOPLEFT));
}

View File

@@ -28,7 +28,7 @@ org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
#dependencies
craterlib_version=0.0.6d
craterlib_version=0.0.9d
mod_menu_version=6.1.0-rc.4
//shimmer_version=0.1.12
//sodium_version=3957319