From 062e9355cfc68563d210ab9f80dd7c791ca03a1a Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Thu, 4 Aug 2022 23:05:54 +0200 Subject: [PATCH] Add Torch Recipe, disable dying on Flames. TBC --- .gitignore | 2 + .../particles/ColoredFlameParticle.java | 1 - .../common/blocks/AdvancedTorchBlock.java | 23 ++++++----- .../assets/hyperlighting/lang/en_us.json | 6 ++- .../particles/colored_flame.json | 2 +- .../particle/flames/colored_flame_red.png | Bin 0 -> 541 bytes .../textures/particle/flames/flame_red.png | Bin 0 -> 600 bytes .../advanced_torch.json | 32 +++++++++++++++ .../hyperlighting/recipes/advanced_torch.json | 19 +++++++++ .../hyperlighting/datagen/DataGenerators.java | 22 +++++++++++ .../datagen/RecipeGenerator.java | 37 ++++++++++++++++++ 11 files changed, 129 insertions(+), 15 deletions(-) create mode 100644 Common/src/main/resources/assets/hyperlighting/textures/particle/flames/colored_flame_red.png create mode 100644 Common/src/main/resources/assets/hyperlighting/textures/particle/flames/flame_red.png create mode 100644 Common/src/main/resources/data/hyperlighting/advancements/recipes/hyperlighting.lighting/advanced_torch.json create mode 100644 Common/src/main/resources/data/hyperlighting/recipes/advanced_torch.json create mode 100644 Forge/src/main/java/me/hypherionmc/hyperlighting/datagen/DataGenerators.java create mode 100644 Forge/src/main/java/me/hypherionmc/hyperlighting/datagen/RecipeGenerator.java diff --git a/.gitignore b/.gitignore index 77bb201..b1f5849 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ run artifacts ColorGen.java + +Forge/src/generated diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ColoredFlameParticle.java b/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ColoredFlameParticle.java index 504714e..3f8e66f 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ColoredFlameParticle.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/client/particles/ColoredFlameParticle.java @@ -9,7 +9,6 @@ public class ColoredFlameParticle extends RisingParticle { public ColoredFlameParticle(ClientLevel level, double x, double y, double z, double r, double g, double b) { super(level, x, y, z, 0, 0, 0); - this.setColor((float) r, (float) g, (float) b); } @Override diff --git a/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedTorchBlock.java b/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedTorchBlock.java index 0458c9f..fe11ee2 100644 --- a/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedTorchBlock.java +++ b/Common/src/main/java/me/hypherionmc/hyperlighting/common/blocks/AdvancedTorchBlock.java @@ -17,10 +17,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.SimpleParticleType; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtUtils; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; @@ -48,10 +45,8 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import org.jetbrains.annotations.NotNull; -import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Random; import java.util.function.Supplier; public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements DyableBlock, LightableBlock { @@ -59,7 +54,15 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy public static final BooleanProperty LIT = BlockStateProperties.LIT; public static final EnumProperty COLOR = EnumProperty.create("color", DyeColor.class); public static final EnumProperty ATTACH_FACE = EnumProperty.create("face", AttachFace.class, AttachFace.FLOOR, AttachFace.WALL); - private static final Map 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))); + private static final Map 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) + )); + private final Supplier particleType; private DyeColor color; @@ -188,9 +191,7 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy 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); - - // xSpeed, ySpeed and zSpeed here is used to pass color data. This isn't the proper way, but I don't wanna add a bunch of extra code for something so simple - levelIn.addParticle(particleType.get(), d0, d1, d2, color.getTextureDiffuseColors()[0], color.getTextureDiffuseColors()[1], color.getTextureDiffuseColors()[2]); + levelIn.addParticle(particleType.get(), d0, d1, d2, 0D, 0D, 0D); } else { Direction direction = stateIn.getValue(FACING); double d0 = (double) pos.getX() + 0.5D; @@ -198,9 +199,7 @@ public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements Dy 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); - - // xSpeed, ySpeed and zSpeed here is used to pass color data. This isn't the proper way, but I don't wanna add a bunch of extra code for something so simple - levelIn.addParticle(particleType.get(), d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), color.getTextureDiffuseColors()[0], color.getTextureDiffuseColors()[1], color.getTextureDiffuseColors()[2]); + levelIn.addParticle(particleType.get(), d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0D, 0D, 0D); } } } 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 d39d772..f304140 100644 --- a/Common/src/main/resources/assets/hyperlighting/lang/en_us.json +++ b/Common/src/main/resources/assets/hyperlighting/lang/en_us.json @@ -1,5 +1,9 @@ { "block.hyperlighting.advanced_torch": "Advanced Torch (%s)", - "subtitles.torch_ignite": "Torch Ignite Sound" + "subtitles.torch_ignite": "Torch Ignite Sound", + + "cl.hyperlightingconfig.title": "Hyper Lighting Config", + "cl.torchconfig.litbydefault": "Lit when Placed", + "cl.torchconfig.requirestool": "Requires Torch Lighter" } diff --git a/Common/src/main/resources/assets/hyperlighting/particles/colored_flame.json b/Common/src/main/resources/assets/hyperlighting/particles/colored_flame.json index 4666ce2..3fecae4 100644 --- a/Common/src/main/resources/assets/hyperlighting/particles/colored_flame.json +++ b/Common/src/main/resources/assets/hyperlighting/particles/colored_flame.json @@ -1,5 +1,5 @@ { "textures": [ - "hyperlighting:colored_flame" + "hyperlighting:flames/colored_flame_red" ] } diff --git a/Common/src/main/resources/assets/hyperlighting/textures/particle/flames/colored_flame_red.png b/Common/src/main/resources/assets/hyperlighting/textures/particle/flames/colored_flame_red.png new file mode 100644 index 0000000000000000000000000000000000000000..ab69792eb16d3c091319a9e5dec6c886fbab27c4 GIT binary patch literal 541 zcmV+&0^1VIr*to#AK8jJzMjZa8%{e z%fg4k{f-<^_)6=UGCyn1mib+?lS+<3K=+Jgt2k4|D(B>d`-HpmR!RMxN8coD6lQ0n zcFOF+CCLN{Vq_?>f`vz1YC$rq?Hl;@O;Z$)lE2LwjySU9#M>`wNxB+RP0nXI&L;DT1ES9tSTj%5+QtR?W*RZz_y|O>D^aJHRXa0bz zxXS+*gno1H*riDPR+jB|&_ULYPT#H+)&O9K~@w fVUch-ydDJrC+8T@0w<|H00000NkvXXu0mjfT_osS literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hyperlighting/textures/particle/flames/flame_red.png b/Common/src/main/resources/assets/hyperlighting/textures/particle/flames/flame_red.png new file mode 100644 index 0000000000000000000000000000000000000000..e0a052f08bfbaf4b97f1de1d381a5a4547d9164a GIT binary patch literal 600 zcmV-e0;m0nP)1VIr*to#AK8jJzMjZa8%{e z%fg4k{f-<^_)6=UGCyn1mib+?lS+<3K=+Jgt2k4|D(B>d`-HpmR!RMxN8coD6lQ0n zcFOF+CCLN{Vq_?>f`vz1YC$rq?Hl;@O;Z$)lE2LwjySU9#M>`wNxB+RP0nXI&L;DT1ES9tSTj%5+QtR?W*RZz_y|O>D^aJHRXa0bz zxXS+^7IB<_!(yH{3Tc&OR)AejEQeJhyeo4*7_55<9qGbO_O4tEKT^gw+V m!2J3ZE#1My(UT*^E&u>D(IlRaqlxMO0000 consumer) { + System.out.println("Running Recipe Gen"); + + ShapedRecipeBuilder.shaped(HLBlocks.ADVANCED_TORCH) + .pattern(" X ") + .pattern(" Y ") + .pattern(" ") + .define('X', ItemTags.WOOL) + .define('Y', Items.STICK) + .unlockedBy("wool", has(ItemTags.WOOL)) + .save(consumer); + + } +}