From 0b1aafea4c8b755297a482677752fe85f9fa45ae Mon Sep 17 00:00:00 2001 From: Matteo Date: Fri, 16 Jun 2023 17:31:13 +0200 Subject: [PATCH 01/34] bump geckolib version --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5779f1cd..b10d1091 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,14 +9,14 @@ org.gradle.parallel=true loader_version=0.14.21 # Mod Properties - mod_version = 0.0.6 + mod_version = 0.0.6_b maven_group = com.example archives_base_name = sculk_depths # Dependencies fabric_version = 0.76.0+1.19.4 customportalapi_version = 0.0.1-beta63-1.19.4 - geckolib_version = fabric-1.19.4:4.1.3 + geckolib_version = fabric-1.19.4:4.2 # DevDependencies rei_version = 11.0.617+fabric From a70a01c9749c8a08554d5d1edf65fbb86fea3ae5 Mon Sep 17 00:00:00 2001 From: Matteo Date: Fri, 16 Jun 2023 22:58:15 +0200 Subject: [PATCH 02/34] Kryslum enriched soil kinda acts like farmland --- .../net/ugi/sculk_depths/block/ModBlocks.java | 6 ++ .../block/{ => custom}/CephleraBlock.java | 5 +- .../{ => custom}/CephleraLightBlock.java | 3 +- .../custom/KryslumEnrichedSoilBLock.java | 82 +++++++++++++++++++ .../entity/custom/GlomperEntity.java | 3 +- .../net/ugi/sculk_depths/fluid/ModFluids.java | 1 + .../AllowCropsOnKryslumEnrichedSoil.java | 28 +++++++ src/main/resources/sculk_depths.mixins.json | 5 +- 8 files changed, 127 insertions(+), 6 deletions(-) rename src/main/java/net/ugi/sculk_depths/block/{ => custom}/CephleraBlock.java (76%) rename src/main/java/net/ugi/sculk_depths/block/{ => custom}/CephleraLightBlock.java (89%) create mode 100644 src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index d6c410f1..bb6a96ad 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -6,6 +6,9 @@ import net.minecraft.block.*; import net.minecraft.sound.BlockSoundGroup; import net.ugi.sculk_depths.SculkDepths; +import net.ugi.sculk_depths.block.custom.CephleraBlock; +import net.ugi.sculk_depths.block.custom.CephleraLightBlock; +import net.ugi.sculk_depths.block.custom.KryslumEnrichedSoilBLock; import net.ugi.sculk_depths.block.sapling.ValtroxSaplingGenerator; import net.ugi.sculk_depths.fluid.ModFluids; import net.ugi.sculk_depths.item.ModItemGroup; @@ -25,6 +28,9 @@ public class ModBlocks { public static final Block CRUMBLING_DIRT = registerBlock("crumbling_dirt", new Block(FabricBlockSettings.of(Material.SOLID_ORGANIC).strength(1.0f).requiresTool().sounds(BlockSoundGroup.ROOTED_DIRT)), ModItemGroup.SCULK_DEPTHS); + public static final Block KRYSLUM_ENRICHED_SOIL = registerBlock("kryslum_enriched_soil", + new KryslumEnrichedSoilBLock(FabricBlockSettings.of(Material.SOIL).ticksRandomly().strength(0.6f).sounds(BlockSoundGroup.GRAVEL)), ModItemGroup.SCULK_DEPTHS); + //umbrusk blockset public static final Block UMBRUSK = registerBlock("umbrusk", diff --git a/src/main/java/net/ugi/sculk_depths/block/CephleraBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java similarity index 76% rename from src/main/java/net/ugi/sculk_depths/block/CephleraBlock.java rename to src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java index 0ab8f1d6..2dc6e778 100644 --- a/src/main/java/net/ugi/sculk_depths/block/CephleraBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java @@ -1,9 +1,10 @@ -package net.ugi.sculk_depths.block; +package net.ugi.sculk_depths.block.custom; import net.minecraft.block.*; import net.minecraft.util.math.Direction; import net.minecraft.util.math.random.Random; import net.minecraft.util.shape.VoxelShape; +import net.ugi.sculk_depths.block.ModBlocks; public class CephleraBlock extends AbstractPlantBlock { public static final VoxelShape SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); @@ -13,6 +14,6 @@ public CephleraBlock(AbstractBlock.Settings settings) { } protected AbstractPlantStemBlock getStem() { - return (AbstractPlantStemBlock)ModBlocks.CEPHLERA_LIGHT; + return (AbstractPlantStemBlock) ModBlocks.CEPHLERA_LIGHT; } } \ No newline at end of file diff --git a/src/main/java/net/ugi/sculk_depths/block/CephleraLightBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java similarity index 89% rename from src/main/java/net/ugi/sculk_depths/block/CephleraLightBlock.java rename to src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java index 64db5e4f..4d5d1bd6 100644 --- a/src/main/java/net/ugi/sculk_depths/block/CephleraLightBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java @@ -1,10 +1,11 @@ -package net.ugi.sculk_depths.block; +package net.ugi.sculk_depths.block.custom; import net.minecraft.block.*; import net.minecraft.util.math.Direction; import net.minecraft.util.math.random.Random; import net.minecraft.util.shape.VoxelShape; +import net.ugi.sculk_depths.block.ModBlocks; public class CephleraLightBlock extends AbstractPlantStemBlock { protected static final VoxelShape SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java new file mode 100644 index 00000000..2b556ff9 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java @@ -0,0 +1,82 @@ +package net.ugi.sculk_depths.block.custom; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.*; +import net.minecraft.entity.Entity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.ai.pathing.NavigationType; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.registry.tag.FluidTags; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.IntProperty; +import net.minecraft.state.property.Properties; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.random.Random; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.*; +import net.minecraft.world.event.GameEvent; +import net.ugi.sculk_depths.block.ModBlocks; +import org.jetbrains.annotations.Nullable; + +public class KryslumEnrichedSoilBLock extends Block { + + public static final IntProperty MOISTURE = Properties.MOISTURE; + protected static final VoxelShape SHAPE = Block.createCuboidShape(0.0, 0.0, 0.0, 16.0, 15.0, 16.0); + public static final int MAX_MOISTURE = 7; + + public KryslumEnrichedSoilBLock(FabricBlockSettings settings) { + super(settings); + this.setDefaultState((BlockState)((BlockState)this.stateManager.getDefaultState()).with(MOISTURE, 7)); + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + if (direction == Direction.UP && !state.canPlaceAt(world, pos)) { + world.scheduleBlockTick(pos, this, 1); + } + return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); + } + + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + BlockState blockState = world.getBlockState(pos.up()); + return !blockState.getMaterial().isSolid() || blockState.getBlock() instanceof FenceGateBlock || blockState.getBlock() instanceof PistonExtensionBlock; + } + + @Override + public BlockState getPlacementState(ItemPlacementContext ctx) { + if (!this.getDefaultState().canPlaceAt(ctx.getWorld(), ctx.getBlockPos())) { + return ModBlocks.KRYSLUM_ENRICHED_SOIL.getDefaultState(); + } + return super.getPlacementState(ctx); + } + + @Override + public boolean hasSidedTransparency(BlockState state) { + return true; + } + + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return SHAPE; + } + + + public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(MOISTURE); + } + + @Override + public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type) { + return false; + } +} diff --git a/src/main/java/net/ugi/sculk_depths/entity/custom/GlomperEntity.java b/src/main/java/net/ugi/sculk_depths/entity/custom/GlomperEntity.java index 9940fce3..d3cd542a 100644 --- a/src/main/java/net/ugi/sculk_depths/entity/custom/GlomperEntity.java +++ b/src/main/java/net/ugi/sculk_depths/entity/custom/GlomperEntity.java @@ -79,7 +79,7 @@ protected void initGoals() { } - public class GlomperTargetGoal + public static class GlomperTargetGoal extends ActiveTargetGoal { private boolean pauseWhenMobIdle; @@ -100,6 +100,7 @@ public boolean shouldContinue() { if (!this.pauseWhenMobIdle) { return !this.mob.getNavigation().isIdle(); } + assert this.target != null; if (!this.target.isFallFlying()) { return false; } diff --git a/src/main/java/net/ugi/sculk_depths/fluid/ModFluids.java b/src/main/java/net/ugi/sculk_depths/fluid/ModFluids.java index b0a56b80..9a0cbb06 100644 --- a/src/main/java/net/ugi/sculk_depths/fluid/ModFluids.java +++ b/src/main/java/net/ugi/sculk_depths/fluid/ModFluids.java @@ -10,6 +10,7 @@ public class ModFluids { public static final FlowableFluid KRYSLUM_STILL = register("kryslum_still", new KryslumFluid.Still()); public static final FlowableFluid KRYSLUM_FLOWING = register("kryslum_flow", new KryslumFluid.Flowing()); + private static FlowableFluid register(String name, FlowableFluid flowableFluid) { return Registry.register(Registries.FLUID, new Identifier(SculkDepths.MOD_ID, name), flowableFluid); } diff --git a/src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java b/src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java new file mode 100644 index 00000000..7adb7a97 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java @@ -0,0 +1,28 @@ +package net.ugi.sculk_depths.mixin; + +import net.minecraft.block.BlockState; + +import net.minecraft.block.CropBlock; + +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; +import net.ugi.sculk_depths.block.ModBlocks; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(CropBlock.class) +public abstract class AllowCropsOnKryslumEnrichedSoil { + @Shadow protected abstract boolean canPlantOnTop(BlockState floor, BlockView world, BlockPos pos); + + @Inject(at = @At("HEAD"), method = "canPlantOnTop", cancellable = true) + protected void canPlantOnTop(BlockState floor, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { + if(floor.isOf(ModBlocks.KRYSLUM_ENRICHED_SOIL)) cir.setReturnValue(true); + } + +} + + diff --git a/src/main/resources/sculk_depths.mixins.json b/src/main/resources/sculk_depths.mixins.json index db11c36b..89566b90 100644 --- a/src/main/resources/sculk_depths.mixins.json +++ b/src/main/resources/sculk_depths.mixins.json @@ -4,10 +4,11 @@ "package": "net.ugi.sculk_depths.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ - + "NoiseChunkGeneratorMixin", + "AllowCropsOnKryslumEnrichedSoil" ], "client": [ - "NoiseChunkGeneratorMixin" + ], "injectors": { "defaultRequire": 1 From 507d851ef3e66e5bb89637e78bdf18967053a5a7 Mon Sep 17 00:00:00 2001 From: Matteo Date: Sat, 17 Jun 2023 18:21:00 +0200 Subject: [PATCH 03/34] fix crops grow slow on Kryslum Enriched Soil --- .../custom/KryslumEnrichedSoilBLock.java | 19 ++++++-- .../AllowCropsOnKryslumEnrichedSoil.java | 28 ------------ .../sculk_depths/mixin/CropBlockMixin.java | 43 +++++++++++++++++++ src/main/resources/sculk_depths.mixins.json | 5 +-- 4 files changed, 61 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java index 2b556ff9..c20b132f 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java @@ -21,7 +21,7 @@ import net.ugi.sculk_depths.block.ModBlocks; import org.jetbrains.annotations.Nullable; -public class KryslumEnrichedSoilBLock extends Block { +public class KryslumEnrichedSoilBLock extends FarmlandBlock { public static final IntProperty MOISTURE = Properties.MOISTURE; protected static final VoxelShape SHAPE = Block.createCuboidShape(0.0, 0.0, 0.0, 16.0, 15.0, 16.0); @@ -40,7 +40,6 @@ public BlockState getStateForNeighborUpdate(BlockState state, Direction directio return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); } - @Override public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { BlockState blockState = world.getBlockState(pos.up()); @@ -50,7 +49,7 @@ public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { @Override public BlockState getPlacementState(ItemPlacementContext ctx) { if (!this.getDefaultState().canPlaceAt(ctx.getWorld(), ctx.getBlockPos())) { - return ModBlocks.KRYSLUM_ENRICHED_SOIL.getDefaultState(); + return Blocks.DIRT.getDefaultState(); } return super.getPlacementState(ctx); } @@ -65,11 +64,25 @@ public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos po return SHAPE; } + @Override + public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (!state.canPlaceAt(world, pos)) { + FarmlandBlock.setToDirt(null, state, world, pos); + } + } + @Override public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + } + + @Override + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { } + + + @Override protected void appendProperties(StateManager.Builder builder) { builder.add(MOISTURE); diff --git a/src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java b/src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java deleted file mode 100644 index 7adb7a97..00000000 --- a/src/main/java/net/ugi/sculk_depths/mixin/AllowCropsOnKryslumEnrichedSoil.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.ugi.sculk_depths.mixin; - -import net.minecraft.block.BlockState; - -import net.minecraft.block.CropBlock; - -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.BlockView; -import net.ugi.sculk_depths.block.ModBlocks; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(CropBlock.class) -public abstract class AllowCropsOnKryslumEnrichedSoil { - @Shadow protected abstract boolean canPlantOnTop(BlockState floor, BlockView world, BlockPos pos); - - @Inject(at = @At("HEAD"), method = "canPlantOnTop", cancellable = true) - protected void canPlantOnTop(BlockState floor, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { - if(floor.isOf(ModBlocks.KRYSLUM_ENRICHED_SOIL)) cir.setReturnValue(true); - } - -} - - diff --git a/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java new file mode 100644 index 00000000..732b768f --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java @@ -0,0 +1,43 @@ +package net.ugi.sculk_depths.mixin; + +import net.minecraft.block.*; + +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; +import net.ugi.sculk_depths.block.ModBlocks; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.ModifyVariable; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + + +@Mixin(CropBlock.class) +public abstract class CropBlockMixin { + + + @Inject(at = @At("RETURN"), method = "canPlantOnTop", cancellable = true) + protected void canPlantOnTop(BlockState floor, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { + cir.setReturnValue(cir.getReturnValue() || floor.getBlock() instanceof FarmlandBlock); + } + + + @ModifyVariable( + method = "getAvailableMoisture", + at = @At( + value = "STORE" + ), + ordinal = 0 + ) + private static float changeMoistureOnKryslumEnrichedSoil(float originalValue, Block block, BlockView world, BlockPos pos) { + BlockState blockState = world.getBlockState(pos.down()); + if (blockState.isOf(ModBlocks.KRYSLUM_ENRICHED_SOIL)) { + return 7.0f; + + } + return originalValue; + } +} + + + diff --git a/src/main/resources/sculk_depths.mixins.json b/src/main/resources/sculk_depths.mixins.json index 89566b90..4091551d 100644 --- a/src/main/resources/sculk_depths.mixins.json +++ b/src/main/resources/sculk_depths.mixins.json @@ -4,11 +4,10 @@ "package": "net.ugi.sculk_depths.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ - "NoiseChunkGeneratorMixin", - "AllowCropsOnKryslumEnrichedSoil" + "CropBlockMixin", + "NoiseChunkGeneratorMixin" ], "client": [ - ], "injectors": { "defaultRequire": 1 From 251becd2f21f7a77e71fce60bdff4deb4192d08a Mon Sep 17 00:00:00 2001 From: Matteo Date: Sat, 17 Jun 2023 22:56:51 +0200 Subject: [PATCH 04/34] main to 1.20 --- gradle.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index b10d1091..ba4804e0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,9 +14,9 @@ org.gradle.parallel=true archives_base_name = sculk_depths # Dependencies - fabric_version = 0.76.0+1.19.4 - customportalapi_version = 0.0.1-beta63-1.19.4 - geckolib_version = fabric-1.19.4:4.2 + fabric_version= 0.83.0+1.20.1 + customportalapi_version = 0.0.1-beta64-1.20 + geckolib_version = fabric-1.20:4.2 # DevDependencies rei_version = 11.0.617+fabric From 5eda97edb6efadb8d10ec70d0895b496b78636c9 Mon Sep 17 00:00:00 2001 From: Matteo Date: Sat, 17 Jun 2023 22:58:43 +0200 Subject: [PATCH 05/34] main to 1.20 --- gradle.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gradle.properties b/gradle.properties index ba4804e0..643ed43c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,9 @@ org.gradle.parallel=true archives_base_name = sculk_depths # Dependencies + fabric_version= 0.83.0+1.20.1 + customportalapi_version = 0.0.1-beta64-1.20 geckolib_version = fabric-1.20:4.2 From 440fea9f6e2ed19a6f53ade80bde60745585cac6 Mon Sep 17 00:00:00 2001 From: Matteo Date: Sat, 17 Jun 2023 23:24:57 +0200 Subject: [PATCH 06/34] main to 1.20 --- .../net/ugi/sculk_depths/block/ModBlocks.java | 88 +++++++++---------- .../custom/KryslumEnrichedSoilBLock.java | 30 +------ 2 files changed, 46 insertions(+), 72 deletions(-) diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index 54a2d926..ed19fb30 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -25,143 +25,143 @@ public class ModBlocks { public static final Block FLUMROCK = registerBlock("flumrock", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block CRUMBLING_DIRT = registerBlock("crumbling_dirt", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(1.0f).requiresTool().sounds(BlockSoundGroup.ROOTED_DIRT)), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.DIRT).strength(1.0f).requiresTool().sounds(BlockSoundGroup.ROOTED_DIRT)), ModItemGroup.SCULK_DEPTHS); public static final Block KRYSLUM_ENRICHED_SOIL = registerBlock("kryslum_enriched_soil", - new KryslumEnrichedSoilBLock(FabricBlockSettings.of(Material.SOIL).ticksRandomly().strength(0.6f).sounds(BlockSoundGroup.GRAVEL)), ModItemGroup.SCULK_DEPTHS); + new KryslumEnrichedSoilBLock(FabricBlockSettings.copyOf(Blocks.FARMLAND).ticksRandomly().strength(0.6f).sounds(BlockSoundGroup.GRAVEL)), ModItemGroup.SCULK_DEPTHS); //umbrusk blockset public static final Block UMBRUSK = registerBlock("umbrusk", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).hardness(5.0f).resistance(8f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).hardness(5.0f).resistance(8f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block UMBRUSK_STAIRS = registerBlock("umbrusk_stairs", - new StairsBlock(UMBRUSK.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(UMBRUSK.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block UMBRUSK_SLAB = registerBlock("umbrusk_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block UMBRUSK_WALL = registerBlock("umbrusk_wall", - new WallBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); //umbrusk brick blockset public static final Block UMBRUSK_BRICKS = registerBlock("umbrusk_bricks", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block UMBRUSK_BRICK_STAIRS = registerBlock("umbrusk_brick_stairs", - new StairsBlock(UMBRUSK.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(UMBRUSK.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block UMBRUSK_BRICK_SLAB = registerBlock("umbrusk_brick_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block UMBRUSK_BRICK_WALL = registerBlock("umbrusk_brick_wall", - new WallBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(5.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); //valtrox blockset public static final Block VALTROX_LOG = registerBlock("valtrox_log", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.OAK_LOG).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_PLANKS = registerBlock("valtrox_planks", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.OAK_PLANKS).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_WOOD = registerBlock("valtrox_wood", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.OAK_WOOD).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_SLAB = registerBlock("valtrox_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.OAK_SLAB).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_STAIRS = registerBlock("valtrox_stairs", - new StairsBlock(VALTROX_PLANKS.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(5.0f)), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(VALTROX_PLANKS.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS).strength(5.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_FENCE = registerBlock("valtrox_fence", - new FenceBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); + new FenceBlock(FabricBlockSettings.copyOf(Blocks.OAK_FENCE).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); //dried valtrox blockset public static final Block DRIED_VALTROX_LOG = registerBlock("dried_valtrox_log", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_PLANKS = registerBlock("dried_valtrox_planks", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_WOOD = registerBlock("dried_valtrox_wood", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_SLAB = registerBlock("dried_valtrox_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_STAIRS = registerBlock("dried_valtrox_stairs", - new StairsBlock(DRIED_VALTROX_PLANKS.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(DRIED_VALTROX_PLANKS.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_FENCE = registerBlock("dried_valtrox_fence", - new FenceBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); + new FenceBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); //petrified valtrox blockset public static final Block PETRIFIED_VALTROX_LOG = registerBlock("petrified_valtrox_log", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_SLATES = registerBlock("petrified_valtrox_slates", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_WOOD = registerBlock("petrified_valtrox_wood", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_SLAB = registerBlock("petrified_valtrox_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_STAIRS = registerBlock("petrified_valtrox_stairs", - new StairsBlock(PETRIFIED_VALTROX_SLATES.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(PETRIFIED_VALTROX_SLATES.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_WALL = registerBlock("petrified_valtrox_wall", - new WallBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); //zygrin set public static final Block ZYGRIN = registerBlock("zygrin", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_STAIRS = registerBlock("zygrin_stairs", - new StairsBlock(ZYGRIN.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(ZYGRIN.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_SLAB = registerBlock("zygrin_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_WALL = registerBlock("zygrin_wall", - new WallBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_PILLAR = registerBlock("zygrin_pillar", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f)), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block CHISELED_ZYGRIN = registerBlock("chiseled_zygrin", - new PillarBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f)), ModItemGroup.SCULK_DEPTHS); + new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block POLISHED_ZYGRIN = registerBlock("polished_zygrin", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block POLISHED_ZYGRIN_STAIRS = registerBlock("polished_zygrin_stairs", - new StairsBlock(POLISHED_ZYGRIN.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(POLISHED_ZYGRIN.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block POLISHED_ZYGRIN_SLAB = registerBlock("polished_zygrin_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block POLISHED_ZYGRIN_WALL = registerBlock("polished_zygrin_wall", - new WallBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_BRICKS = registerBlock("zygrin_bricks", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_BRICK_STAIRS = registerBlock("zygrin_brick_stairs", - new StairsBlock(ZYGRIN_BRICKS.getDefaultState(), AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new StairsBlock(ZYGRIN_BRICKS.getDefaultState(), FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_BRICK_SLAB = registerBlock("zygrin_brick_slab", - new SlabBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new SlabBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_BRICK_WALL = registerBlock("zygrin_brick_wall", - new WallBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); //leaves public static final Block VALTROX_LEAVES = registerBlock("valtrox_leaves", @@ -179,7 +179,7 @@ public class ModBlocks { //ores public static final Block QUAZARITH_ORE = registerBlock("quazarith_ore", - new Block(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.BLOCK).hardness(6.0f).resistance(10f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + new Block(FabricBlockSettings.copyOf(Blocks.DEEPSLATE).hardness(6.0f).resistance(10f).requiresTool()), ModItemGroup.SCULK_DEPTHS); //fluids public static final Block KRYSLUM = registerBlockWithoutBlockItem("kryslum", new ModFluidBlock(ModFluids.KRYSLUM_STILL, AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.IGNORE).noCollision().nonOpaque().dropsNothing()), ModItemGroup.SCULK_DEPTHS); diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java index c20b132f..b64eb760 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java @@ -1,13 +1,8 @@ package net.ugi.sculk_depths.block.custom; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; import net.minecraft.entity.Entity; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.ai.pathing.NavigationType; -import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemPlacementContext; -import net.minecraft.registry.tag.FluidTags; import net.minecraft.server.world.ServerWorld; import net.minecraft.state.StateManager; import net.minecraft.state.property.IntProperty; @@ -17,9 +12,6 @@ import net.minecraft.util.math.random.Random; import net.minecraft.util.shape.VoxelShape; import net.minecraft.world.*; -import net.minecraft.world.event.GameEvent; -import net.ugi.sculk_depths.block.ModBlocks; -import org.jetbrains.annotations.Nullable; public class KryslumEnrichedSoilBLock extends FarmlandBlock { @@ -27,9 +19,9 @@ public class KryslumEnrichedSoilBLock extends FarmlandBlock { protected static final VoxelShape SHAPE = Block.createCuboidShape(0.0, 0.0, 0.0, 16.0, 15.0, 16.0); public static final int MAX_MOISTURE = 7; - public KryslumEnrichedSoilBLock(FabricBlockSettings settings) { + public KryslumEnrichedSoilBLock(AbstractBlock.Settings settings) { super(settings); - this.setDefaultState((BlockState)((BlockState)this.stateManager.getDefaultState()).with(MOISTURE, 7)); + this.setDefaultState((BlockState)((BlockState)this.stateManager.getDefaultState()).with(MOISTURE, MAX_MOISTURE)); } @Override @@ -40,11 +32,6 @@ public BlockState getStateForNeighborUpdate(BlockState state, Direction directio return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); } - @Override - public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { - BlockState blockState = world.getBlockState(pos.up()); - return !blockState.getMaterial().isSolid() || blockState.getBlock() instanceof FenceGateBlock || blockState.getBlock() instanceof PistonExtensionBlock; - } @Override public BlockState getPlacementState(ItemPlacementContext ctx) { @@ -54,10 +41,6 @@ public BlockState getPlacementState(ItemPlacementContext ctx) { return super.getPlacementState(ctx); } - @Override - public boolean hasSidedTransparency(BlockState state) { - return true; - } @Override public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { @@ -66,9 +49,6 @@ public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos po @Override public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { - if (!state.canPlaceAt(world, pos)) { - FarmlandBlock.setToDirt(null, state, world, pos); - } } @Override @@ -77,19 +57,13 @@ public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random @Override public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { - } - @Override protected void appendProperties(StateManager.Builder builder) { builder.add(MOISTURE); } - @Override - public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type) { - return false; - } } From 44291af294e0cf14b38161d0984327accaf4be2c Mon Sep 17 00:00:00 2001 From: Matteo_fey <66562258+warior456@users.noreply.github.com> Date: Sun, 18 Jun 2023 11:56:24 +0200 Subject: [PATCH 07/34] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09f38507..c7d6b466 100644 --- a/README.md +++ b/README.md @@ -55,5 +55,5 @@ When entering this dimension, it is recommended to bring a netherite pickaxe as ## License Please refer to the [LICENSE.md](https://github.com/warior456/Sculk-Depths/blob/main/LICENSE.md) file for licensing details. -For any questions or issues, please reach out to us on our [GitHub repository](https://github.com/warior456/Sculk-Depths). +For any questions or issues, please reach out to us on our [GitHub repository](https://github.com/warior456/Sculk-Depths) or our [Discord Server](https://discord.gg/dxANwW23Ub) From edc4c9ed4ad6ef7eca7c6ace718b8c2fe6812d96 Mon Sep 17 00:00:00 2001 From: Matteo Date: Sun, 18 Jun 2023 13:59:01 +0200 Subject: [PATCH 08/34] possible fix for #32 some recipes are broken --- gradle.properties | 2 -- .../data/sculk_depths/recipes/stick.json | 17 ----------------- 2 files changed, 19 deletions(-) delete mode 100644 src/main/resources/data/sculk_depths/recipes/stick.json diff --git a/gradle.properties b/gradle.properties index e08cf03d..11ca4077 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,9 +14,7 @@ org.gradle.parallel=true archives_base_name = sculk_depths # Dependencies - fabric_version= 0.83.0+1.20.1 - customportalapi_version = 0.0.1-beta64-1.20 geckolib_version = fabric-1.20:4.2 diff --git a/src/main/resources/data/sculk_depths/recipes/stick.json b/src/main/resources/data/sculk_depths/recipes/stick.json deleted file mode 100644 index f25c887a..00000000 --- a/src/main/resources/data/sculk_depths/recipes/stick.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "sticks", - "pattern": [ - "#", - "#" - ], - "key": { - "#": { - "tag": "sculk_depths:planks" - } - }, - "result": { - "item": "minecraft:stick", - "count": 4 - } -} From 66b0a5dd3f4276694b7afc8f3f7a3e0006801bf2 Mon Sep 17 00:00:00 2001 From: gemsb <85642836+gemsb@users.noreply.github.com> Date: Mon, 19 Jun 2023 21:24:32 +0200 Subject: [PATCH 09/34] name fixes and zygrin light block --- .../net/ugi/sculk_depths/block/ModBlocks.java | 3 +++ .../sculk_depths/blockstates/zygrin_light.json | 5 +++++ .../resources/assets/sculk_depths/lang/en_us.json | 3 +++ .../sculk_depths/models/block/zygrin_light.json | 6 ++++++ .../sculk_depths/models/item/zygrin_light.json | 3 +++ .../sculk_depths/textures/block/zygrin_light.png | Bin 0 -> 135 bytes 6 files changed, 20 insertions(+) create mode 100644 src/main/resources/assets/sculk_depths/blockstates/zygrin_light.json create mode 100644 src/main/resources/assets/sculk_depths/models/block/zygrin_light.json create mode 100644 src/main/resources/assets/sculk_depths/models/item/zygrin_light.json create mode 100644 src/main/resources/assets/sculk_depths/textures/block/zygrin_light.png diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index ed19fb30..054a1bb9 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -163,6 +163,9 @@ public class ModBlocks { public static final Block ZYGRIN_BRICK_WALL = registerBlock("zygrin_brick_wall", new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); + public static final Block ZYGRIN_LIGHT = registerBlock("zygrin_light", + new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool().luminance(blockState -> 15)), ModItemGroup.SCULK_DEPTHS); + //leaves public static final Block VALTROX_LEAVES = registerBlock("valtrox_leaves", new LeavesBlock(FabricBlockSettings.copyOf(Blocks.OAK_LEAVES)), ModItemGroup.SCULK_DEPTHS); diff --git a/src/main/resources/assets/sculk_depths/blockstates/zygrin_light.json b/src/main/resources/assets/sculk_depths/blockstates/zygrin_light.json new file mode 100644 index 00000000..7e963699 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/blockstates/zygrin_light.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "sculk_depths:block/zygrin_light" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/lang/en_us.json b/src/main/resources/assets/sculk_depths/lang/en_us.json index 4f6a8143..95341f48 100644 --- a/src/main/resources/assets/sculk_depths/lang/en_us.json +++ b/src/main/resources/assets/sculk_depths/lang/en_us.json @@ -73,9 +73,12 @@ "block.sculk_depths.zygrin_brick_wall": "Zygrin Brick Wall", "block.sculk_depths.zygrin_pillar": "Zygrin Pillar", "block.sculk_depths.chiseled_zygrin": "Chiseled Zygrin", + "block.sculk_depths.zygrin_light": "Zygrin Light", "block.sculk_depths.cephlera": "Cephlera", "block.sculk_depths.cephlera_light": "Cephlera Light", + "block.sculk_depths.kryslum_enriched_soil": "Kryslum Enriched Soil", + "entity.sculk_depths.glomper": "Glomper" } \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/block/zygrin_light.json b/src/main/resources/assets/sculk_depths/models/block/zygrin_light.json new file mode 100644 index 00000000..f4c47709 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/block/zygrin_light.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "sculk_depths:block/zygrin_light" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/item/zygrin_light.json b/src/main/resources/assets/sculk_depths/models/item/zygrin_light.json new file mode 100644 index 00000000..6cdf6902 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/item/zygrin_light.json @@ -0,0 +1,3 @@ +{ + "parent": "sculk_depths:block/zygrin_light" +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/textures/block/zygrin_light.png b/src/main/resources/assets/sculk_depths/textures/block/zygrin_light.png new file mode 100644 index 0000000000000000000000000000000000000000..a9379a5bea3ae694ddaa0af8c3f450a4dc228593 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFFVdQ&MBb@02cZnrT_o{ literal 0 HcmV?d00001 From 59996299a33dbea059b979b79a5ef6520eecc270 Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 20 Jun 2023 11:12:52 +0200 Subject: [PATCH 10/34] fix #34 valtrox leaves not dropping saplings and leaves --- .../loot_tables/blocks/valtrox_leaves.json | 99 ++++++++++--------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/src/main/resources/data/sculk_depths/loot_tables/blocks/valtrox_leaves.json b/src/main/resources/data/sculk_depths/loot_tables/blocks/valtrox_leaves.json index 5265cff9..67624138 100644 --- a/src/main/resources/data/sculk_depths/loot_tables/blocks/valtrox_leaves.json +++ b/src/main/resources/data/sculk_depths/loot_tables/blocks/valtrox_leaves.json @@ -2,18 +2,16 @@ "type": "minecraft:block", "pools": [ { - "rolls": 1, - "bonus_rolls": 0, + "bonus_rolls": 0.0, "entries": [ { "type": "minecraft:alternatives", "children": [ { "type": "minecraft:item", - "name": "sculk_depths:valtrox_leaves", "conditions": [ { - "condition": "minecraft:alternative", + "condition": "minecraft:any_of", "terms": [ { "condition": "minecraft:match_tool", @@ -38,72 +36,40 @@ } ] } - ] + ], + "name": "sculk_depths:valtrox_leaves" }, { "type": "minecraft:item", - "name": "sculk_depths:valtrox_sapling", "conditions": [ { "condition": "minecraft:survives_explosion" }, { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", "chances": [ 0.05, 0.0625, 0.083333336, 0.1 - ] + ], + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune" } - ] + ], + "name": "sculk_depths:valtrox_sapling" } ] } - ] + ], + "rolls": 1.0 }, { - "rolls": 1, - "bonus_rolls": 0, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 1, - "max": 2 - }, - "add": false - }, - { - "function": "minecraft:explosion_decay" - } - ], - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.02, - 0.022222223, - 0.025, - 0.033333335, - 0.1 - ] - } - ] - } - ], + "bonus_rolls": 0.0, "conditions": [ { "condition": "minecraft:inverted", "term": { - "condition": "minecraft:alternative", + "condition": "minecraft:any_of", "terms": [ { "condition": "minecraft:match_tool", @@ -129,7 +95,42 @@ ] } } - ] + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "chances": [ + 0.02, + 0.022222223, + 0.025, + 0.033333335, + 0.1 + ], + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune" + } + ], + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:stick" + } + ], + "rolls": 1.0 } - ] + ], + "random_sequence": "sculk_depths:valtrox_leaves" } From 7df5fbc6b40b3c2dc7bbe39462e4d72748eee712 Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 20 Jun 2023 12:12:00 +0200 Subject: [PATCH 11/34] fix #33 and fixing up kryslumFluid --- .../net/ugi/sculk_depths/block/ModBlocks.java | 2 +- .../ugi/sculk_depths/block/ModFluidBlock.java | 11 --------- .../ugi/sculk_depths/fluid/KryslumFluid.java | 23 +++++++++---------- 3 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 src/main/java/net/ugi/sculk_depths/block/ModFluidBlock.java diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index 054a1bb9..ee749b90 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -185,7 +185,7 @@ public class ModBlocks { new Block(FabricBlockSettings.copyOf(Blocks.DEEPSLATE).hardness(6.0f).resistance(10f).requiresTool()), ModItemGroup.SCULK_DEPTHS); //fluids - public static final Block KRYSLUM = registerBlockWithoutBlockItem("kryslum", new ModFluidBlock(ModFluids.KRYSLUM_STILL, AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.IGNORE).noCollision().nonOpaque().dropsNothing()), ModItemGroup.SCULK_DEPTHS); + public static final Block KRYSLUM = registerBlockWithoutBlockItem("kryslum", new FluidBlock(ModFluids.KRYSLUM_STILL, FabricBlockSettings.copyOf(Blocks.WATER).replaceable().noCollision().strength(100.0f).pistonBehavior(PistonBehavior.DESTROY).dropsNothing().liquid().solid().sounds(BlockSoundGroup.SCULK)), ModItemGroup.SCULK_DEPTHS); private static Block registerBlock(String name, Block block, RegistryKey group) { registerBlockItem(name, block, group); diff --git a/src/main/java/net/ugi/sculk_depths/block/ModFluidBlock.java b/src/main/java/net/ugi/sculk_depths/block/ModFluidBlock.java deleted file mode 100644 index 2000e668..00000000 --- a/src/main/java/net/ugi/sculk_depths/block/ModFluidBlock.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.ugi.sculk_depths.block; - - -import net.minecraft.block.FluidBlock; -import net.minecraft.fluid.FlowableFluid; - -public class ModFluidBlock extends FluidBlock { - public ModFluidBlock(FlowableFluid fluid, Settings settings) { - super(fluid, settings); - } -} \ No newline at end of file diff --git a/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java b/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java index 1af49f2e..5801ddfc 100644 --- a/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java +++ b/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java @@ -13,6 +13,7 @@ import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvents; import net.minecraft.state.StateManager; +import net.minecraft.state.property.IntProperty; import net.minecraft.state.property.Properties; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; @@ -24,7 +25,8 @@ import java.util.Optional; -public class KryslumFluid extends FlowableFluid { +public abstract class KryslumFluid extends FlowableFluid { + public static final IntProperty LEVEL = Properties.LEVEL_1_8; public KryslumFluid() { } @@ -40,6 +42,7 @@ public Item getBucketItem() { return ModItems.KRYSLUM_BUCKET; } + @Override public void randomDisplayTick(World world, BlockPos pos, FluidState state, Random random) { if (!state.isStill() && !(Boolean) state.get(FALLING)) { if (random.nextInt(64) == 0) { @@ -50,6 +53,7 @@ public void randomDisplayTick(World world, BlockPos pos, FluidState state, Rando } } + @Override @Nullable public ParticleEffect getParticle() { return ParticleTypes.SCULK_CHARGE_POP; @@ -78,17 +82,13 @@ public boolean isStill(FluidState state) { } public boolean matchesType(Fluid fluid) { - return fluid == ModFluids.KRYSLUM_STILL || fluid == ModFluids.KRYSLUM_FLOWING; + return fluid == ModFluids.KRYSLUM_STILL || fluid == ModFluids.KRYSLUM_FLOWING; //perhaps here for adding farmland } public int getLevelDecreasePerBlock(WorldView world) { return 2; } - @Override - public int getLevel(FluidState state) { - return 0; - } public int getTickRate(WorldView world) { return 40; @@ -107,31 +107,30 @@ public Optional getBucketFillSound() { } public static class Flowing extends KryslumFluid { - public Flowing() { - } - + @Override protected void appendProperties(StateManager.Builder builder) { super.appendProperties(builder); builder.add(LEVEL); } + @Override public int getLevel(FluidState state) { return state.get(LEVEL); } + @Override public boolean isStill(FluidState state) { return false; } } public static class Still extends KryslumFluid { - public Still() { - } - + @Override public int getLevel(FluidState state) { return 8; } + @Override public boolean isStill(FluidState state) { return true; } From 96cc128a36846b33ae6b0e8eaf4558ac17a7c742 Mon Sep 17 00:00:00 2001 From: Matteo Date: Wed, 21 Jun 2023 15:16:25 +0200 Subject: [PATCH 12/34] KryslumEnrichedSoilBLock now moisturizes farmland add energy essence basic item --- build.gradle | 3 ++ .../net/ugi/sculk_depths/block/ModBlocks.java | 4 +++ .../custom/KryslumEnrichedSoilBLock.java | 5 ++++ .../net/ugi/sculk_depths/item/ModItems.java | 4 +++ .../mixin/FarmLandBlockMixin.java | 28 +++++++++++++++++++ src/main/resources/sculk_depths.mixins.json | 1 + 6 files changed, 45 insertions(+) create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java diff --git a/build.gradle b/build.gradle index 7fd9f005..ed43e8ba 100644 --- a/build.gradle +++ b/build.gradle @@ -19,9 +19,12 @@ repositories { maven { url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/' } maven { url 'https://maven.kyrptonaught.dev/' } maven { url "https://api.modrinth.com/maven" } + maven { url = "https://jitpack.io" } } dependencies { + + include(implementation(annotationProcessor("com.github.llamalad7.mixinextras:mixinextras-fabric:0.2.0-beta.8"))) // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index ee749b90..2c385c3d 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -5,7 +5,10 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.fluid.Fluid; import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.tag.FluidTags; +import net.minecraft.registry.tag.TagBuilder; import net.minecraft.sound.BlockSoundGroup; import net.ugi.sculk_depths.SculkDepths; import net.ugi.sculk_depths.block.custom.CephleraBlock; @@ -34,6 +37,7 @@ public class ModBlocks { new KryslumEnrichedSoilBLock(FabricBlockSettings.copyOf(Blocks.FARMLAND).ticksRandomly().strength(0.6f).sounds(BlockSoundGroup.GRAVEL)), ModItemGroup.SCULK_DEPTHS); + //umbrusk blockset public static final Block UMBRUSK = registerBlock("umbrusk", new Block(FabricBlockSettings.copyOf(Blocks.STONE).hardness(5.0f).resistance(8f).requiresTool()), ModItemGroup.SCULK_DEPTHS); diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java index b64eb760..705d16b6 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java @@ -1,8 +1,11 @@ package net.ugi.sculk_depths.block.custom; +import com.mojang.datafixers.types.templates.Tag; import net.minecraft.block.*; import net.minecraft.entity.Entity; +import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemPlacementContext; +import net.minecraft.registry.tag.FluidTags; import net.minecraft.server.world.ServerWorld; import net.minecraft.state.StateManager; import net.minecraft.state.property.IntProperty; @@ -24,6 +27,8 @@ public KryslumEnrichedSoilBLock(AbstractBlock.Settings settings) { this.setDefaultState((BlockState)((BlockState)this.stateManager.getDefaultState()).with(MOISTURE, MAX_MOISTURE)); } + + @Override public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { if (direction == Direction.UP && !state.canPlaceAt(world, pos)) { diff --git a/src/main/java/net/ugi/sculk_depths/item/ModItems.java b/src/main/java/net/ugi/sculk_depths/item/ModItems.java index f748b2f6..78f9dd17 100644 --- a/src/main/java/net/ugi/sculk_depths/item/ModItems.java +++ b/src/main/java/net/ugi/sculk_depths/item/ModItems.java @@ -23,6 +23,9 @@ public class ModItems { public static final Item QUAZARITH_PIECES = registerItem("quazarith_pieces", new Item(new FabricItemSettings())); + public static final Item ENERGY_ESSENCE = registerItem("energy_essence", + new Item(new FabricItemSettings())); + //quazarith tools public static final Item QUAZARITH_SHOVEL = registerItem("quazarith_shovel", @@ -67,6 +70,7 @@ public static void addItemsToItemGroup() { addToItemGroup(ModItemGroup.SCULK_DEPTHS, KRYSLUM_BUCKET); addToItemGroup(ModItemGroup.SCULK_DEPTHS, SOUL_HEART); + addToItemGroup(ModItemGroup.SCULK_DEPTHS, ENERGY_ESSENCE); addToItemGroup(ModItemGroup.SCULK_DEPTHS, QUAZARITH_INGOT); addToItemGroup(ModItemGroup.SCULK_DEPTHS, QUAZARITH_PIECES); diff --git a/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java new file mode 100644 index 00000000..7fb0e0de --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java @@ -0,0 +1,28 @@ +package net.ugi.sculk_depths.mixin; + + +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; +import com.llamalad7.mixinextras.sugar.Local; +import net.minecraft.block.FarmlandBlock; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; +import net.ugi.sculk_depths.block.ModBlocks; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +@Mixin(FarmlandBlock.class) + + +public abstract class FarmLandBlockMixin { + + + @ModifyExpressionValue( + method = "isWaterNearby", + at = @At(value = "INVOKE", target = "Lnet/minecraft/fluid/FluidState;isIn(Lnet/minecraft/registry/tag/TagKey;)Z") + ) + private static boolean addBlockMoistTagForFarmLand(boolean original, @Local(ordinal = 0) WorldView world, @Local(ordinal = 1) BlockPos blockPos ) { + return original || world.getBlockState(blockPos).isOf(ModBlocks.KRYSLUM_ENRICHED_SOIL); + } + + +} diff --git a/src/main/resources/sculk_depths.mixins.json b/src/main/resources/sculk_depths.mixins.json index 4091551d..42830582 100644 --- a/src/main/resources/sculk_depths.mixins.json +++ b/src/main/resources/sculk_depths.mixins.json @@ -5,6 +5,7 @@ "compatibilityLevel": "JAVA_17", "mixins": [ "CropBlockMixin", + "FarmLandBlockMixin", "NoiseChunkGeneratorMixin" ], "client": [ From 9aef53f34d2d4aca41efe405825fd55c628f3b85 Mon Sep 17 00:00:00 2001 From: Matteo Date: Wed, 21 Jun 2023 15:36:16 +0200 Subject: [PATCH 13/34] fix pumpkins and melons --- .../custom/KryslumEnrichedSoilBLock.java | 2 -- .../sculk_depths/mixin/PlantBlockMixin.java | 21 +++++++++++++++++++ src/main/resources/sculk_depths.mixins.json | 3 ++- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java index 705d16b6..bd0cab92 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/KryslumEnrichedSoilBLock.java @@ -3,9 +3,7 @@ import com.mojang.datafixers.types.templates.Tag; import net.minecraft.block.*; import net.minecraft.entity.Entity; -import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemPlacementContext; -import net.minecraft.registry.tag.FluidTags; import net.minecraft.server.world.ServerWorld; import net.minecraft.state.StateManager; import net.minecraft.state.property.IntProperty; diff --git a/src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java new file mode 100644 index 00000000..95f64cd5 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java @@ -0,0 +1,21 @@ +package net.ugi.sculk_depths.mixin; + +import net.minecraft.block.*; + +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + + +@Mixin(StemBlock.class) +public abstract class PlantBlockMixin { + + + @Inject(at = @At("RETURN"), method = "canPlantOnTop", cancellable = true) + protected void canPlantOnTop(BlockState floor, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { + cir.setReturnValue(cir.getReturnValue() || floor.getBlock() instanceof FarmlandBlock); + } +} \ No newline at end of file diff --git a/src/main/resources/sculk_depths.mixins.json b/src/main/resources/sculk_depths.mixins.json index 42830582..df84abcc 100644 --- a/src/main/resources/sculk_depths.mixins.json +++ b/src/main/resources/sculk_depths.mixins.json @@ -6,7 +6,8 @@ "mixins": [ "CropBlockMixin", "FarmLandBlockMixin", - "NoiseChunkGeneratorMixin" + "NoiseChunkGeneratorMixin", + "StemBlockMixin" ], "client": [ ], From 535bd16650e19596f42352738648586df0cca542 Mon Sep 17 00:00:00 2001 From: Matteo Date: Wed, 21 Jun 2023 16:20:44 +0200 Subject: [PATCH 14/34] fix pumpkins and melons for real --- .../mixin/AttachedStemBlockMixin.java | 23 +++++++++++++++++++ .../sculk_depths/mixin/CropBlockMixin.java | 15 +++++++----- .../mixin/FarmLandBlockMixin.java | 2 +- .../sculk_depths/mixin/PlantBlockMixin.java | 21 ----------------- .../sculk_depths/mixin/StemBlockMixin.java | 22 ++++++++++++++++++ .../assets/sculk_depths/lang/en_us.json | 1 + .../data/minecraft/tags/blocks/dirt.json | 2 +- .../data/minecraft/tags/blocks/sand.json | 6 +++++ src/main/resources/sculk_depths.mixins.json | 1 + 9 files changed, 64 insertions(+), 29 deletions(-) create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/AttachedStemBlockMixin.java delete mode 100644 src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/StemBlockMixin.java create mode 100644 src/main/resources/data/minecraft/tags/blocks/sand.json diff --git a/src/main/java/net/ugi/sculk_depths/mixin/AttachedStemBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/AttachedStemBlockMixin.java new file mode 100644 index 00000000..067989c1 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/AttachedStemBlockMixin.java @@ -0,0 +1,23 @@ +package net.ugi.sculk_depths.mixin; + +import com.llamalad7.mixinextras.injector.ModifyReturnValue; +import com.llamalad7.mixinextras.sugar.Local; +import net.minecraft.block.AttachedStemBlock; +import net.minecraft.block.BlockState; +import net.minecraft.block.StemBlock; +import net.ugi.sculk_depths.block.custom.KryslumEnrichedSoilBLock; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + + +@Mixin(AttachedStemBlock.class) +public abstract class AttachedStemBlockMixin { + + @ModifyReturnValue( + method = "canPlantOnTop", + at = @At("RETURN") + ) + private boolean allowOnTopOfKryslumEnrichedSoil(boolean original, @Local(ordinal = 0) BlockState floor) { + return original || floor.getBlock() instanceof KryslumEnrichedSoilBLock; + } +} \ No newline at end of file diff --git a/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java index 732b768f..bb82b17a 100644 --- a/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java +++ b/src/main/java/net/ugi/sculk_depths/mixin/CropBlockMixin.java @@ -1,24 +1,27 @@ package net.ugi.sculk_depths.mixin; +import com.llamalad7.mixinextras.injector.ModifyReturnValue; +import com.llamalad7.mixinextras.sugar.Local; import net.minecraft.block.*; import net.minecraft.util.math.BlockPos; import net.minecraft.world.BlockView; import net.ugi.sculk_depths.block.ModBlocks; +import net.ugi.sculk_depths.block.custom.KryslumEnrichedSoilBLock; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyVariable; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(CropBlock.class) public abstract class CropBlockMixin { - - @Inject(at = @At("RETURN"), method = "canPlantOnTop", cancellable = true) - protected void canPlantOnTop(BlockState floor, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { - cir.setReturnValue(cir.getReturnValue() || floor.getBlock() instanceof FarmlandBlock); + @ModifyReturnValue( + method = "canPlantOnTop", + at = @At("RETURN") + ) + private boolean allowOnTopOfKryslumEnrichedSoil(boolean original, @Local(ordinal = 0) BlockState floor) { + return original || floor.getBlock() instanceof KryslumEnrichedSoilBLock; } diff --git a/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java index 7fb0e0de..0906dbb5 100644 --- a/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java +++ b/src/main/java/net/ugi/sculk_depths/mixin/FarmLandBlockMixin.java @@ -20,7 +20,7 @@ public abstract class FarmLandBlockMixin { method = "isWaterNearby", at = @At(value = "INVOKE", target = "Lnet/minecraft/fluid/FluidState;isIn(Lnet/minecraft/registry/tag/TagKey;)Z") ) - private static boolean addBlockMoistTagForFarmLand(boolean original, @Local(ordinal = 0) WorldView world, @Local(ordinal = 1) BlockPos blockPos ) { + private static boolean kryslumWetsFarmland(boolean original, @Local(ordinal = 0) WorldView world, @Local(ordinal = 1) BlockPos blockPos ) { return original || world.getBlockState(blockPos).isOf(ModBlocks.KRYSLUM_ENRICHED_SOIL); } diff --git a/src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java deleted file mode 100644 index 95f64cd5..00000000 --- a/src/main/java/net/ugi/sculk_depths/mixin/PlantBlockMixin.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.ugi.sculk_depths.mixin; - -import net.minecraft.block.*; - -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.BlockView; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - - -@Mixin(StemBlock.class) -public abstract class PlantBlockMixin { - - - @Inject(at = @At("RETURN"), method = "canPlantOnTop", cancellable = true) - protected void canPlantOnTop(BlockState floor, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { - cir.setReturnValue(cir.getReturnValue() || floor.getBlock() instanceof FarmlandBlock); - } -} \ No newline at end of file diff --git a/src/main/java/net/ugi/sculk_depths/mixin/StemBlockMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/StemBlockMixin.java new file mode 100644 index 00000000..9b5b1ab4 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/StemBlockMixin.java @@ -0,0 +1,22 @@ +package net.ugi.sculk_depths.mixin; + +import com.llamalad7.mixinextras.injector.ModifyReturnValue; +import com.llamalad7.mixinextras.sugar.Local; +import net.minecraft.block.*; + +import net.ugi.sculk_depths.block.custom.KryslumEnrichedSoilBLock; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + + +@Mixin(StemBlock.class) +public abstract class StemBlockMixin { + + @ModifyReturnValue( + method = "canPlantOnTop", + at = @At("RETURN") + ) + private boolean allowOnTopOfKryslumEnrichedSoil(boolean original, @Local(ordinal = 0) BlockState floor) { + return original || floor.getBlock() instanceof KryslumEnrichedSoilBLock; + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/lang/en_us.json b/src/main/resources/assets/sculk_depths/lang/en_us.json index 95341f48..b7e3ebcd 100644 --- a/src/main/resources/assets/sculk_depths/lang/en_us.json +++ b/src/main/resources/assets/sculk_depths/lang/en_us.json @@ -1,6 +1,7 @@ { "item.sculk_depths.kryslum_bucket": "Kryslum Bucket", "item.sculk_depths.soul_heart": "Soul Heart", + "item.sculk_depths.energy_essence" : "Energy Essence", "block.sculk_depths.crumbling_dirt" : "Crumbling Dirt", "block.sculk_depths.umbrusk": "Umbrusk", diff --git a/src/main/resources/data/minecraft/tags/blocks/dirt.json b/src/main/resources/data/minecraft/tags/blocks/dirt.json index 8a145801..2e297036 100644 --- a/src/main/resources/data/minecraft/tags/blocks/dirt.json +++ b/src/main/resources/data/minecraft/tags/blocks/dirt.json @@ -1,6 +1,6 @@ { "replace": false, "values": [ - "sculk_depths:crumbling_dirt" + "sculk_depths:kryslum_enriched_soil" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/sand.json b/src/main/resources/data/minecraft/tags/blocks/sand.json new file mode 100644 index 00000000..8a145801 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/sand.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "sculk_depths:crumbling_dirt" + ] +} \ No newline at end of file diff --git a/src/main/resources/sculk_depths.mixins.json b/src/main/resources/sculk_depths.mixins.json index df84abcc..d5098048 100644 --- a/src/main/resources/sculk_depths.mixins.json +++ b/src/main/resources/sculk_depths.mixins.json @@ -4,6 +4,7 @@ "package": "net.ugi.sculk_depths.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ + "AttachedStemBlockMixin", "CropBlockMixin", "FarmLandBlockMixin", "NoiseChunkGeneratorMixin", From b7760d33eaa6b431b7da322457f4ccd854ef07c5 Mon Sep 17 00:00:00 2001 From: Matteo Date: Wed, 21 Jun 2023 18:21:41 +0200 Subject: [PATCH 15/34] energised Flint and Steel --- .../net/ugi/sculk_depths/item/ModItems.java | 5 ++ .../custom/EnergizedFlintAndSteelItem.java | 58 +++++++++++++++++++ .../net/ugi/sculk_depths/portal/Portals.java | 8 ++- .../util/ModLootTableModifiers.java | 31 ++++++++++ .../assets/sculk_depths/lang/en_us.json | 3 +- .../loot_tables/entities/warden.json | 2 +- .../tags/blocks/needs_stone_tool.json | 2 +- .../recipes/soul_heart_depreciation.json | 11 ++++ 8 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java create mode 100644 src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java create mode 100644 src/main/resources/data/sculk_depths/recipes/soul_heart_depreciation.json diff --git a/src/main/java/net/ugi/sculk_depths/item/ModItems.java b/src/main/java/net/ugi/sculk_depths/item/ModItems.java index 78f9dd17..4f5aa8df 100644 --- a/src/main/java/net/ugi/sculk_depths/item/ModItems.java +++ b/src/main/java/net/ugi/sculk_depths/item/ModItems.java @@ -9,6 +9,7 @@ import net.minecraft.util.Identifier; import net.ugi.sculk_depths.SculkDepths; import net.ugi.sculk_depths.fluid.ModFluids; +import net.ugi.sculk_depths.item.custom.EnergizedFlintAndSteelItem; public class ModItems { @@ -25,6 +26,9 @@ public class ModItems { public static final Item ENERGY_ESSENCE = registerItem("energy_essence", new Item(new FabricItemSettings())); + public static final Item ENERGISED_FLINT_AND_STEEL = registerItem("energized_flint_and_steel", + new EnergizedFlintAndSteelItem(new FabricItemSettings().maxCount(1).maxDamage(128))); + //quazarith tools @@ -71,6 +75,7 @@ public static void addItemsToItemGroup() { addToItemGroup(ModItemGroup.SCULK_DEPTHS, KRYSLUM_BUCKET); addToItemGroup(ModItemGroup.SCULK_DEPTHS, SOUL_HEART); addToItemGroup(ModItemGroup.SCULK_DEPTHS, ENERGY_ESSENCE); + addToItemGroup(ModItemGroup.SCULK_DEPTHS, ENERGISED_FLINT_AND_STEEL); addToItemGroup(ModItemGroup.SCULK_DEPTHS, QUAZARITH_INGOT); addToItemGroup(ModItemGroup.SCULK_DEPTHS, QUAZARITH_PIECES); diff --git a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java new file mode 100644 index 00000000..06498b1d --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java @@ -0,0 +1,58 @@ +package net.ugi.sculk_depths.item.custom; + +import net.minecraft.advancement.criterion.Criteria; +import net.minecraft.block.*; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.FlintAndSteelItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUsageContext; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.sound.SoundCategory; +import net.minecraft.sound.SoundEvents; +import net.minecraft.state.property.Properties; +import net.minecraft.util.ActionResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraft.world.event.GameEvent; + +public class EnergizedFlintAndSteelItem extends Item { + + public EnergizedFlintAndSteelItem(Settings settings) { + super(settings); + } +/* + @Override + public ActionResult useOnBlock(ItemUsageContext context) { //originally copied from mc + BlockPos blockPos; + PlayerEntity playerEntity = context.getPlayer(); + World world = context.getWorld(); + BlockState blockState = world.getBlockState(blockPos = context.getBlockPos()); + if (CampfireBlock.canBeLit(blockState) || CandleBlock.canBeLit(blockState) || CandleCakeBlock.canBeLit(blockState)) { + world.playSound(playerEntity, blockPos, SoundEvents.ITEM_FLINTANDSTEEL_USE, SoundCategory.BLOCKS, 1.0f, world.getRandom().nextFloat() * 0.4f + 0.8f); + world.setBlockState(blockPos, (BlockState)blockState.with(Properties.LIT, true), Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD); + world.emitGameEvent((Entity)playerEntity, GameEvent.BLOCK_CHANGE, blockPos); + if (playerEntity != null) { + context.getStack().damage(1, playerEntity, p -> p.sendToolBreakStatus(context.getHand())); + } + return ActionResult.success(world.isClient()); + } + BlockPos blockPos2 = blockPos.offset(context.getSide()); + if (AbstractFireBlock.canPlaceAt(world, blockPos2, context.getHorizontalPlayerFacing())) { + world.playSound(playerEntity, blockPos2, SoundEvents.ITEM_FLINTANDSTEEL_USE, SoundCategory.BLOCKS, 1.0f, world.getRandom().nextFloat() * 0.4f + 0.8f); + BlockState blockState2 = AbstractFireBlock.getState(world, blockPos2); + world.setBlockState(blockPos2, blockState2, Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD); + world.emitGameEvent((Entity)playerEntity, GameEvent.BLOCK_PLACE, blockPos); + ItemStack itemStack = context.getStack(); + if (playerEntity instanceof ServerPlayerEntity) { + Criteria.PLACED_BLOCK.trigger((ServerPlayerEntity)playerEntity, blockPos2, itemStack); + itemStack.damage(1, playerEntity, p -> p.sendToolBreakStatus(context.getHand())); + } + return ActionResult.success(world.isClient()); + } + return ActionResult.FAIL; + } + + */ +} diff --git a/src/main/java/net/ugi/sculk_depths/portal/Portals.java b/src/main/java/net/ugi/sculk_depths/portal/Portals.java index e894b296..38022035 100644 --- a/src/main/java/net/ugi/sculk_depths/portal/Portals.java +++ b/src/main/java/net/ugi/sculk_depths/portal/Portals.java @@ -5,6 +5,7 @@ import net.kyrptonaught.customportalapi.portal.PortalIgnitionSource; import net.minecraft.block.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; import net.ugi.sculk_depths.item.ModItems; @@ -15,15 +16,16 @@ public static void registerModPortals() { //.customPortalBlock(Blocks.SCULK) .destDimID(new Identifier("sculk_depths:sculk_depthsdim")) .tintColor(1, 69, 86) - .lightWithItem(ModItems.SOUL_HEART) + .lightWithItem(ModItems.ENERGISED_FLINT_AND_STEEL) .setPortalSearchYRange(0, 120) .registerIgniteEvent((player, world, portalPos, framePos, portalIgnitionSource) -> { if (portalIgnitionSource.sourceType == PortalIgnitionSource.SourceType.USEITEM && player != null) { if (player.isCreative()) return; - ItemStack heldItem = player.getMainHandStack().getItem() == ModItems.SOUL_HEART ? + ItemStack heldItem = player.getMainHandStack().getItem() == ModItems.ENERGISED_FLINT_AND_STEEL ? player.getMainHandStack() : player.getOffHandStack(); - heldItem.decrement(1); + heldItem.damage(10, player, p -> p.sendToolBreakStatus(player.getActiveHand())); //todo configurable damage + //heldItem.setDamage(heldItem.getDamage() + 10); //if above breaks use this with a custom durability check } }) .registerPortal(); diff --git a/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java b/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java new file mode 100644 index 00000000..7b73790a --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java @@ -0,0 +1,31 @@ + + +package net.ugi.sculk_depths.util; +/* +import net.fabricmc.fabric.api.loot.v2.LootTableEvents; +import net.minecraft.loot.LootPool; +import net.minecraft.loot.LootTable; +import net.minecraft.util.Identifier; +import net.ugi.sculk_depths.SculkDepths; + +public class ModLootTableModifiers { + private static final Identifier BLAZE_ID = new Identifier("minecraft", "entities/blaze"); + + public static void modifyLootTables() { + LootTableEvents.MODIFY.register(((resourceManager, manager, id, supplier, source) -> { + if (BLAZE_ID.equals(id)) { + LootPool[] pools = manager.getLootTable(new Identifier(SculkDepths.MOD_ID, "injections/blaze")).pools; + + if (pools != null) + supplyPools(supplier, pools); + } + })); + } + + private static void supplyPools(LootTable.Builder supplier, LootPool[] pools) { + for (LootPool pool: pools) { + supplier.pool(pool); + } + } +} +*/ \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/lang/en_us.json b/src/main/resources/assets/sculk_depths/lang/en_us.json index b7e3ebcd..c0d4ed48 100644 --- a/src/main/resources/assets/sculk_depths/lang/en_us.json +++ b/src/main/resources/assets/sculk_depths/lang/en_us.json @@ -1,7 +1,8 @@ { "item.sculk_depths.kryslum_bucket": "Kryslum Bucket", - "item.sculk_depths.soul_heart": "Soul Heart", + "item.sculk_depths.soul_heart": "Soul Heart (DEPRECATED PLEASE CONVERT IN CRAFTING TABLE)", "item.sculk_depths.energy_essence" : "Energy Essence", + "item.sculk_depths.energized_flint_and_steel" : "Energized Flint and Steel", "block.sculk_depths.crumbling_dirt" : "Crumbling Dirt", "block.sculk_depths.umbrusk": "Umbrusk", diff --git a/src/main/resources/data/minecraft/loot_tables/entities/warden.json b/src/main/resources/data/minecraft/loot_tables/entities/warden.json index d8859637..6c376cfe 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/warden.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/warden.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "sculk_depths:soul_heart" + "name": "sculk_depths:energy_essence" } ], "rolls": 1.0 diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json index e6701550..20472e70 100644 --- a/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json @@ -8,6 +8,6 @@ "sculk_depths:petrified_valtrox_wood", "sculk_depths:petrified_valtrox_slab", "sculk_depths:petrified_valtrox_stairs", - "sculk_depths:petrified_valtrox_fence" + "sculk_depths:petrified_valtrox_wall" ] } \ No newline at end of file diff --git a/src/main/resources/data/sculk_depths/recipes/soul_heart_depreciation.json b/src/main/resources/data/sculk_depths/recipes/soul_heart_depreciation.json new file mode 100644 index 00000000..6a89456e --- /dev/null +++ b/src/main/resources/data/sculk_depths/recipes/soul_heart_depreciation.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "sculk_depths:soul_heart" + } + ], + "result": { + "item": "sculk_depths:energy_essence" + } +} From dc66ca8a93a276d787ab3f9f9c79cc67fbc03cbd Mon Sep 17 00:00:00 2001 From: Matteo Date: Thu, 22 Jun 2023 00:10:12 +0200 Subject: [PATCH 16/34] soul fire (portal lighting is broken) --- .../ugi/sculk_depths/SculkDepthsClient.java | 1 + .../net/ugi/sculk_depths/block/ModBlocks.java | 5 +- .../block/custom/SoulFireBlock.java | 50 +++++++++++ .../ugi/sculk_depths/fluid/KryslumFluid.java | 5 +- .../custom/EnergizedFlintAndSteelItem.java | 7 +- .../net/ugi/sculk_depths/portal/Portals.java | 3 +- .../sculk_depths/blockstates/soul_fire.json | 90 +++++++++++++++++++ .../item/energized_flint_and_steel.json | 6 ++ .../tags/blocks/mineable/shovel.json | 3 +- .../blocks/kryslum_enriched_soil.json | 14 +++ 10 files changed, 174 insertions(+), 10 deletions(-) create mode 100644 src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java create mode 100644 src/main/resources/assets/sculk_depths/blockstates/soul_fire.json create mode 100644 src/main/resources/assets/sculk_depths/models/item/energized_flint_and_steel.json create mode 100644 src/main/resources/data/sculk_depths/loot_tables/blocks/kryslum_enriched_soil.json diff --git a/src/main/java/net/ugi/sculk_depths/SculkDepthsClient.java b/src/main/java/net/ugi/sculk_depths/SculkDepthsClient.java index 4b3ae5b6..39495a94 100644 --- a/src/main/java/net/ugi/sculk_depths/SculkDepthsClient.java +++ b/src/main/java/net/ugi/sculk_depths/SculkDepthsClient.java @@ -30,6 +30,7 @@ public void onInitializeClient() { BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.VALTROX_SAPLING, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.CEPHLERA, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.CEPHLERA_LIGHT, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.SOUL_FIRE, RenderLayer.getCutout()); } } \ No newline at end of file diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index 2c385c3d..0951aa1e 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -14,6 +14,7 @@ import net.ugi.sculk_depths.block.custom.CephleraBlock; import net.ugi.sculk_depths.block.custom.CephleraLightBlock; import net.ugi.sculk_depths.block.custom.KryslumEnrichedSoilBLock; +import net.ugi.sculk_depths.block.custom.SoulFireBlock; import net.ugi.sculk_depths.block.sapling.ValtroxSaplingGenerator; import net.ugi.sculk_depths.fluid.ModFluids; import net.ugi.sculk_depths.item.ModItemGroup; @@ -34,7 +35,7 @@ public class ModBlocks { new Block(FabricBlockSettings.copyOf(Blocks.DIRT).strength(1.0f).requiresTool().sounds(BlockSoundGroup.ROOTED_DIRT)), ModItemGroup.SCULK_DEPTHS); public static final Block KRYSLUM_ENRICHED_SOIL = registerBlock("kryslum_enriched_soil", - new KryslumEnrichedSoilBLock(FabricBlockSettings.copyOf(Blocks.FARMLAND).ticksRandomly().strength(0.6f).sounds(BlockSoundGroup.GRAVEL)), ModItemGroup.SCULK_DEPTHS); + new KryslumEnrichedSoilBLock(FabricBlockSettings.copyOf(Blocks.FARMLAND).ticksRandomly().strength(0.8f).sounds(BlockSoundGroup.GRAVEL)), ModItemGroup.SCULK_DEPTHS); @@ -191,6 +192,8 @@ public class ModBlocks { //fluids public static final Block KRYSLUM = registerBlockWithoutBlockItem("kryslum", new FluidBlock(ModFluids.KRYSLUM_STILL, FabricBlockSettings.copyOf(Blocks.WATER).replaceable().noCollision().strength(100.0f).pistonBehavior(PistonBehavior.DESTROY).dropsNothing().liquid().solid().sounds(BlockSoundGroup.SCULK)), ModItemGroup.SCULK_DEPTHS); + public static final Block SOUL_FIRE = registerBlockWithoutBlockItem("soul_fire", new SoulFireBlock( FabricBlockSettings.copyOf(Blocks.SOUL_FIRE)), ModItemGroup.SCULK_DEPTHS); + private static Block registerBlock(String name, Block block, RegistryKey group) { registerBlockItem(name, block, group); return Registry.register(Registries.BLOCK, new Identifier(SculkDepths.MOD_ID, name), block); diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java new file mode 100644 index 00000000..a25708e0 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java @@ -0,0 +1,50 @@ +package net.ugi.sculk_depths.block.custom; + + +import net.kyrptonaught.customportalapi.portal.PortalPlacer; +import net.minecraft.block.*; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.World; +import net.minecraft.world.WorldAccess; +import net.minecraft.world.WorldView; + +import static net.ugi.sculk_depths.portal.Portals.SOUL_FIRE; + + +public class SoulFireBlock extends AbstractFireBlock { + + + + public SoulFireBlock(AbstractBlock.Settings settings) { + super(settings, 2); + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + if (this.canPlaceAt(state, world, pos)) { + return this.getDefaultState(); + } + return Blocks.AIR.getDefaultState(); + } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return isSoulBase(world.getBlockState(pos.down())); + } + + public static boolean isSoulBase(BlockState state) { + //return true || state.isOf(Blocks.REINFORCED_DEEPSLATE) || state.isIn(BlockTags.LOGS) || state.isIn(BlockTags.INFINIBURN_END); + return !state.isOf(Blocks.AIR); + } + + @Override + protected boolean isFlammable(BlockState state) { + return true; + } + + @Override + public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) { + PortalPlacer.attemptPortalLight(world, pos, SOUL_FIRE); + } +} diff --git a/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java b/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java index 5801ddfc..55a0a3da 100644 --- a/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java +++ b/src/main/java/net/ugi/sculk_depths/fluid/KryslumFluid.java @@ -95,6 +95,7 @@ public int getTickRate(WorldView world) { } public boolean canBeReplacedWith(FluidState state, BlockView world, BlockPos pos, Fluid fluid, Direction direction) { + //noinspection deprecation return direction == Direction.DOWN && !fluid.isIn(FluidTags.WATER); } @@ -118,10 +119,6 @@ public int getLevel(FluidState state) { return state.get(LEVEL); } - @Override - public boolean isStill(FluidState state) { - return false; - } } public static class Still extends KryslumFluid { diff --git a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java index 06498b1d..76c493da 100644 --- a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java +++ b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java @@ -16,13 +16,14 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; +import net.ugi.sculk_depths.block.ModBlocks; public class EnergizedFlintAndSteelItem extends Item { public EnergizedFlintAndSteelItem(Settings settings) { super(settings); } -/* + @Override public ActionResult useOnBlock(ItemUsageContext context) { //originally copied from mc BlockPos blockPos; @@ -41,7 +42,7 @@ public ActionResult useOnBlock(ItemUsageContext context) { //originally copied f BlockPos blockPos2 = blockPos.offset(context.getSide()); if (AbstractFireBlock.canPlaceAt(world, blockPos2, context.getHorizontalPlayerFacing())) { world.playSound(playerEntity, blockPos2, SoundEvents.ITEM_FLINTANDSTEEL_USE, SoundCategory.BLOCKS, 1.0f, world.getRandom().nextFloat() * 0.4f + 0.8f); - BlockState blockState2 = AbstractFireBlock.getState(world, blockPos2); + BlockState blockState2 = ModBlocks.SOUL_FIRE.getDefaultState(); world.setBlockState(blockPos2, blockState2, Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD); world.emitGameEvent((Entity)playerEntity, GameEvent.BLOCK_PLACE, blockPos); ItemStack itemStack = context.getStack(); @@ -54,5 +55,5 @@ public ActionResult useOnBlock(ItemUsageContext context) { //originally copied f return ActionResult.FAIL; } - */ + } diff --git a/src/main/java/net/ugi/sculk_depths/portal/Portals.java b/src/main/java/net/ugi/sculk_depths/portal/Portals.java index 38022035..d1ee3090 100644 --- a/src/main/java/net/ugi/sculk_depths/portal/Portals.java +++ b/src/main/java/net/ugi/sculk_depths/portal/Portals.java @@ -10,13 +10,14 @@ import net.ugi.sculk_depths.item.ModItems; public class Portals { + public final static PortalIgnitionSource SOUL_FIRE = PortalIgnitionSource.CustomSource(new Identifier("sculk_depths","soul_fire")); public static void registerModPortals() { CustomPortalBuilder.beginPortal() .frameBlock(Blocks.REINFORCED_DEEPSLATE) //.customPortalBlock(Blocks.SCULK) .destDimID(new Identifier("sculk_depths:sculk_depthsdim")) .tintColor(1, 69, 86) - .lightWithItem(ModItems.ENERGISED_FLINT_AND_STEEL) + .customIgnitionSource(SOUL_FIRE) .setPortalSearchYRange(0, 120) .registerIgniteEvent((player, world, portalPos, framePos, portalIgnitionSource) -> { if (portalIgnitionSource.sourceType == PortalIgnitionSource.SourceType.USEITEM && player != null) { diff --git a/src/main/resources/assets/sculk_depths/blockstates/soul_fire.json b/src/main/resources/assets/sculk_depths/blockstates/soul_fire.json new file mode 100644 index 00000000..bd637a77 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/blockstates/soul_fire.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": [ + { + "model": "minecraft:block/soul_fire_floor0" + }, + { + "model": "minecraft:block/soul_fire_floor1" + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0" + }, + { + "model": "minecraft:block/soul_fire_side1" + }, + { + "model": "minecraft:block/soul_fire_side_alt0" + }, + { + "model": "minecraft:block/soul_fire_side_alt1" + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0", + "y": 90 + }, + { + "model": "minecraft:block/soul_fire_side1", + "y": 90 + }, + { + "model": "minecraft:block/soul_fire_side_alt0", + "y": 90 + }, + { + "model": "minecraft:block/soul_fire_side_alt1", + "y": 90 + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0", + "y": 180 + }, + { + "model": "minecraft:block/soul_fire_side1", + "y": 180 + }, + { + "model": "minecraft:block/soul_fire_side_alt0", + "y": 180 + }, + { + "model": "minecraft:block/soul_fire_side_alt1", + "y": 180 + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0", + "y": 270 + }, + { + "model": "minecraft:block/soul_fire_side1", + "y": 270 + }, + { + "model": "minecraft:block/soul_fire_side_alt0", + "y": 270 + }, + { + "model": "minecraft:block/soul_fire_side_alt1", + "y": 270 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/item/energized_flint_and_steel.json b/src/main/resources/assets/sculk_depths/models/item/energized_flint_and_steel.json new file mode 100644 index 00000000..969a6ea5 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/item/energized_flint_and_steel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "sculk_depths:item/energized_flint_and_steel" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json b/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json index 8a145801..b8e23f16 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "sculk_depths:crumbling_dirt" + "sculk_depths:crumbling_dirt", + "sculk_depths:kryslum_enriched_soil" ] } \ No newline at end of file diff --git a/src/main/resources/data/sculk_depths/loot_tables/blocks/kryslum_enriched_soil.json b/src/main/resources/data/sculk_depths/loot_tables/blocks/kryslum_enriched_soil.json new file mode 100644 index 00000000..19d377a2 --- /dev/null +++ b/src/main/resources/data/sculk_depths/loot_tables/blocks/kryslum_enriched_soil.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "sculk_depths:kryslum_enriched_soil" + } + ] + } + ] +} From d323482f9a7b5098747d44184e3a436a0eb12fc5 Mon Sep 17 00:00:00 2001 From: Matteo_fey <66562258+warior456@users.noreply.github.com> Date: Thu, 22 Jun 2023 11:10:37 +0200 Subject: [PATCH 17/34] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index c7d6b466..f6ea62fd 100644 --- a/README.md +++ b/README.md @@ -57,3 +57,7 @@ Please refer to the [LICENSE.md](https://github.com/warior456/Sculk-Depths/blob/ For any questions or issues, please reach out to us on our [GitHub repository](https://github.com/warior456/Sculk-Depths) or our [Discord Server](https://discord.gg/dxANwW23Ub) +## Need a Minecraft server? +![pebblehost](https://github.com/warior456/Sculk-Depths/assets/66562258/ae831af6-309b-4f11-b896-5f4eb7567088) +Starting at just 1$/month for 1GB RAM [Check it out](https://billing.pebblehost.com/aff.php?aff=2968) + From 46a7524a548edb84d418d8d8d2545451ced1ba6a Mon Sep 17 00:00:00 2001 From: Matteo Date: Thu, 22 Jun 2023 13:29:34 +0200 Subject: [PATCH 18/34] glomper spawn egg --- .../net/ugi/sculk_depths/entity/client/GlomperRenderer.java | 2 +- src/main/java/net/ugi/sculk_depths/item/ModItems.java | 4 ++++ src/main/java/net/ugi/sculk_depths/portal/Portals.java | 1 - src/main/resources/assets/sculk_depths/lang/en_us.json | 1 + .../assets/sculk_depths/models/item/glomper_spawn_egg.json | 3 +++ 5 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/assets/sculk_depths/models/item/glomper_spawn_egg.json diff --git a/src/main/java/net/ugi/sculk_depths/entity/client/GlomperRenderer.java b/src/main/java/net/ugi/sculk_depths/entity/client/GlomperRenderer.java index 8f6a157c..fd2161db 100644 --- a/src/main/java/net/ugi/sculk_depths/entity/client/GlomperRenderer.java +++ b/src/main/java/net/ugi/sculk_depths/entity/client/GlomperRenderer.java @@ -23,7 +23,7 @@ public Identifier getTextureLocation(GlomperEntity animatable) { @Override protected int getBlockLight(GlomperEntity entity, BlockPos pos) { - return 14; + return 15; } @Override diff --git a/src/main/java/net/ugi/sculk_depths/item/ModItems.java b/src/main/java/net/ugi/sculk_depths/item/ModItems.java index 4f5aa8df..9810429d 100644 --- a/src/main/java/net/ugi/sculk_depths/item/ModItems.java +++ b/src/main/java/net/ugi/sculk_depths/item/ModItems.java @@ -8,6 +8,7 @@ import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; import net.ugi.sculk_depths.SculkDepths; +import net.ugi.sculk_depths.entity.ModEntities; import net.ugi.sculk_depths.fluid.ModFluids; import net.ugi.sculk_depths.item.custom.EnergizedFlintAndSteelItem; @@ -29,6 +30,8 @@ public class ModItems { public static final Item ENERGISED_FLINT_AND_STEEL = registerItem("energized_flint_and_steel", new EnergizedFlintAndSteelItem(new FabricItemSettings().maxCount(1).maxDamage(128))); + public static final Item GLOMPER_SPAWN_EGG = registerItem("glomper_spawn_egg", + new SpawnEggItem(ModEntities.GLOMPER, 1769607, 42751, new FabricItemSettings())); //quazarith tools @@ -76,6 +79,7 @@ public static void addItemsToItemGroup() { addToItemGroup(ModItemGroup.SCULK_DEPTHS, SOUL_HEART); addToItemGroup(ModItemGroup.SCULK_DEPTHS, ENERGY_ESSENCE); addToItemGroup(ModItemGroup.SCULK_DEPTHS, ENERGISED_FLINT_AND_STEEL); + addToItemGroup(ModItemGroup.SCULK_DEPTHS, GLOMPER_SPAWN_EGG); addToItemGroup(ModItemGroup.SCULK_DEPTHS, QUAZARITH_INGOT); addToItemGroup(ModItemGroup.SCULK_DEPTHS, QUAZARITH_PIECES); diff --git a/src/main/java/net/ugi/sculk_depths/portal/Portals.java b/src/main/java/net/ugi/sculk_depths/portal/Portals.java index d1ee3090..c8ac9ff1 100644 --- a/src/main/java/net/ugi/sculk_depths/portal/Portals.java +++ b/src/main/java/net/ugi/sculk_depths/portal/Portals.java @@ -5,7 +5,6 @@ import net.kyrptonaught.customportalapi.portal.PortalIgnitionSource; import net.minecraft.block.Blocks; import net.minecraft.item.ItemStack; -import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; import net.ugi.sculk_depths.item.ModItems; diff --git a/src/main/resources/assets/sculk_depths/lang/en_us.json b/src/main/resources/assets/sculk_depths/lang/en_us.json index c0d4ed48..7539cbbb 100644 --- a/src/main/resources/assets/sculk_depths/lang/en_us.json +++ b/src/main/resources/assets/sculk_depths/lang/en_us.json @@ -3,6 +3,7 @@ "item.sculk_depths.soul_heart": "Soul Heart (DEPRECATED PLEASE CONVERT IN CRAFTING TABLE)", "item.sculk_depths.energy_essence" : "Energy Essence", "item.sculk_depths.energized_flint_and_steel" : "Energized Flint and Steel", + "item.sculk_depths.glomper_spawn_egg": "Glomper Spawn Egg", "block.sculk_depths.crumbling_dirt" : "Crumbling Dirt", "block.sculk_depths.umbrusk": "Umbrusk", diff --git a/src/main/resources/assets/sculk_depths/models/item/glomper_spawn_egg.json b/src/main/resources/assets/sculk_depths/models/item/glomper_spawn_egg.json new file mode 100644 index 00000000..d1aaa9d6 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/item/glomper_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} \ No newline at end of file From 10ca1518269ab16f46fc4b15fbded7893de9ca1d Mon Sep 17 00:00:00 2001 From: gemsb <85642836+gemsb@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:32:47 +0200 Subject: [PATCH 19/34] zygrin light Doesn't connect --- src/main/java/net/ugi/sculk_depths/block/ModBlocks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index 0951aa1e..9654a2fd 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -169,7 +169,7 @@ public class ModBlocks { new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_LIGHT = registerBlock("zygrin_light", - new Block(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool().luminance(blockState -> 15)), ModItemGroup.SCULK_DEPTHS); + new LeavesBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool().luminance(blockState -> 15)), ModItemGroup.SCULK_DEPTHS); //leaves public static final Block VALTROX_LEAVES = registerBlock("valtrox_leaves", From 57796f3e90b2754b16fc0610900cf299dc25073f Mon Sep 17 00:00:00 2001 From: Matteo_fey <66562258+warior456@users.noreply.github.com> Date: Fri, 23 Jun 2023 00:20:01 +0200 Subject: [PATCH 20/34] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6ea62fd..142ad9c9 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,6 @@ Please refer to the [LICENSE.md](https://github.com/warior456/Sculk-Depths/blob/ For any questions or issues, please reach out to us on our [GitHub repository](https://github.com/warior456/Sculk-Depths) or our [Discord Server](https://discord.gg/dxANwW23Ub) ## Need a Minecraft server? -![pebblehost](https://github.com/warior456/Sculk-Depths/assets/66562258/ae831af6-309b-4f11-b896-5f4eb7567088) +[![pebblehost](https://github.com/warior456/Sculk-Depths/assets/66562258/ae831af6-309b-4f11-b896-5f4eb7567088)](https://billing.pebblehost.com/aff.php?aff=2968) Starting at just 1$/month for 1GB RAM [Check it out](https://billing.pebblehost.com/aff.php?aff=2968) From a0ca7e051749de71622d3a7ba41271ce3b4f21e6 Mon Sep 17 00:00:00 2001 From: Matteo Date: Fri, 23 Jun 2023 14:19:26 +0200 Subject: [PATCH 21/34] energized flint and steel temp texture --- .../net/ugi/sculk_depths/block/ModBlocks.java | 6 ++--- .../block/custom/nonConnectingBlock.java | 17 +++++++++++++ .../models/item/energizedflint_and_steel.json | 6 +++++ .../item/energized_flint_and_steel.pdn | Bin 0 -> 11399 bytes .../item/energized_flint_and_steel.png | Bin 0 -> 880 bytes .../item/energized_flint_and_steel.png.mcmeta | 24 ++++++++++++++++++ 6 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/main/java/net/ugi/sculk_depths/block/custom/nonConnectingBlock.java create mode 100644 src/main/resources/assets/sculk_depths/models/item/energizedflint_and_steel.json create mode 100644 src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn create mode 100644 src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.png create mode 100644 src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.png.mcmeta diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index 9654a2fd..c1bf538e 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -11,9 +11,7 @@ import net.minecraft.registry.tag.TagBuilder; import net.minecraft.sound.BlockSoundGroup; import net.ugi.sculk_depths.SculkDepths; -import net.ugi.sculk_depths.block.custom.CephleraBlock; -import net.ugi.sculk_depths.block.custom.CephleraLightBlock; -import net.ugi.sculk_depths.block.custom.KryslumEnrichedSoilBLock; +import net.ugi.sculk_depths.block.custom.*; import net.ugi.sculk_depths.block.custom.SoulFireBlock; import net.ugi.sculk_depths.block.sapling.ValtroxSaplingGenerator; import net.ugi.sculk_depths.fluid.ModFluids; @@ -169,7 +167,7 @@ public class ModBlocks { new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block ZYGRIN_LIGHT = registerBlock("zygrin_light", - new LeavesBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool().luminance(blockState -> 15)), ModItemGroup.SCULK_DEPTHS); + new nonConnectingBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(4.0f).requiresTool().luminance(blockState -> 15)), ModItemGroup.SCULK_DEPTHS); //leaves public static final Block VALTROX_LEAVES = registerBlock("valtrox_leaves", diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/nonConnectingBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/nonConnectingBlock.java new file mode 100644 index 00000000..03885e83 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/block/custom/nonConnectingBlock.java @@ -0,0 +1,17 @@ +package net.ugi.sculk_depths.block.custom; + +import net.minecraft.block.*; + + +public class nonConnectingBlock extends Block { + + + public nonConnectingBlock(Settings settings) { + super(settings); + } + + //@Override + public static boolean cannotConnect(BlockState state) { + return true; + } +} diff --git a/src/main/resources/assets/sculk_depths/models/item/energizedflint_and_steel.json b/src/main/resources/assets/sculk_depths/models/item/energizedflint_and_steel.json new file mode 100644 index 00000000..5885e1fe --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/item/energizedflint_and_steel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/energized_flint_and_steel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn b/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn new file mode 100644 index 0000000000000000000000000000000000000000..d6b09d5b44b9347032be928ae90be42625efef0d GIT binary patch literal 11399 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 JL~n(T_&snVXmbDn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.png b/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..14379fe29d2aa0038e97c05c4497a77d998e31cc GIT binary patch literal 880 zcmeAS@N?(olHy`uVBq!ia0vp^3JeTP3>?fr)|Kh=ZUQOB;vjb?hIQv;UIIBR>5jgR z3=A9lx&I`x0{I33J|V8|?(REx?)?A%|GatgjEsy53k$`>#KOYDG&D4fjg8sa+3V}; zSFBjEdGqFT=gt8&y>|EqGFYG_$S)YE3mGsxP>z)Z%5fHWL>4nJ@ErzW#^d=bQh?4{ z>*?YcQW5ud#_gip20SjJk>Ton|NiHne#*7*!3m~QRX4=vu$zhbC0<{AH{(_=TirtM zH}+b4oUYfZoD1AZr;Nd-<{$`Mb zJ4dX#e9^2Q%fklN|+_76)E-vwZ%9;56cc)I+^jmvxhWmx!oDhi@!W` zz5Yfk+eh=(7wj^u>-y^$jFe29j_FtYQvCZzW{-U1$N$ftx7*p<&uRZ&d!AqaKlc{L zKfa2;7~LCRFP3lU@#tOfk$YZULeBX^-G-0mPx|?PzP#MWKLwKY!39U|i^zO5XFc@w zBEN&%61NLKSpDr|ID7ujd?c*$@9~M*&pP4{c;xL?j$4Rn Date: Sun, 25 Jun 2023 17:58:23 +0200 Subject: [PATCH 22/34] e --- .../net/ugi/sculk_depths/SculkDepths.java | 2 ++ .../custom/EnergizedFlintAndSteelItem.java | 4 ++-- .../net/ugi/sculk_depths/portal/Portals.java | 3 ++- .../util/ModLootTableModifiers.java | 22 ++++++------------ .../item/energized_flint_and_steel.pdn | Bin 11399 -> 11113 bytes .../item/energized_flint_and_steel.png | Bin 880 -> 841 bytes .../item/energized_flint_and_steel.png.mcmeta | 4 ++-- .../recipes/energized_flint_and_steel.json | 14 +++++++++++ 8 files changed, 29 insertions(+), 20 deletions(-) create mode 100644 src/main/resources/data/sculk_depths/recipes/energized_flint_and_steel.json diff --git a/src/main/java/net/ugi/sculk_depths/SculkDepths.java b/src/main/java/net/ugi/sculk_depths/SculkDepths.java index 23b23dc0..91f211a9 100644 --- a/src/main/java/net/ugi/sculk_depths/SculkDepths.java +++ b/src/main/java/net/ugi/sculk_depths/SculkDepths.java @@ -13,6 +13,7 @@ import net.ugi.sculk_depths.item.ModItems; import net.ugi.sculk_depths.portal.Portals; import net.ugi.sculk_depths.sound.ModSounds; +import net.ugi.sculk_depths.util.ModLootTableModifiers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,6 +32,7 @@ public void onInitialize() { ModBlocks.registerModBlocks(); Portals.registerModPortals(); ModSounds.registerModSounds(); + ModLootTableModifiers.modifyLootTables(); FabricDefaultAttributeRegistry.register(ModEntities.GLOMPER, GlomperEntity.setAttributes()); LOGGER.info("sculk_depths has loaded"); diff --git a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java index 76c493da..5b2b5ba4 100644 --- a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java +++ b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java @@ -23,7 +23,7 @@ public class EnergizedFlintAndSteelItem extends Item { public EnergizedFlintAndSteelItem(Settings settings) { super(settings); } - +/* @Override public ActionResult useOnBlock(ItemUsageContext context) { //originally copied from mc BlockPos blockPos; @@ -54,6 +54,6 @@ public ActionResult useOnBlock(ItemUsageContext context) { //originally copied f } return ActionResult.FAIL; } - +*/ } diff --git a/src/main/java/net/ugi/sculk_depths/portal/Portals.java b/src/main/java/net/ugi/sculk_depths/portal/Portals.java index c8ac9ff1..3f5fdc59 100644 --- a/src/main/java/net/ugi/sculk_depths/portal/Portals.java +++ b/src/main/java/net/ugi/sculk_depths/portal/Portals.java @@ -16,7 +16,8 @@ public static void registerModPortals() { //.customPortalBlock(Blocks.SCULK) .destDimID(new Identifier("sculk_depths:sculk_depthsdim")) .tintColor(1, 69, 86) - .customIgnitionSource(SOUL_FIRE) + //.customIgnitionSource(SOUL_FIRE) + .lightWithItem(ModItems.ENERGISED_FLINT_AND_STEEL) .setPortalSearchYRange(0, 120) .registerIgniteEvent((player, world, portalPos, framePos, portalIgnitionSource) -> { if (portalIgnitionSource.sourceType == PortalIgnitionSource.SourceType.USEITEM && player != null) { diff --git a/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java b/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java index 7b73790a..6e5f6691 100644 --- a/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java +++ b/src/main/java/net/ugi/sculk_depths/util/ModLootTableModifiers.java @@ -1,7 +1,7 @@ package net.ugi.sculk_depths.util; -/* + import net.fabricmc.fabric.api.loot.v2.LootTableEvents; import net.minecraft.loot.LootPool; import net.minecraft.loot.LootTable; @@ -9,23 +9,15 @@ import net.ugi.sculk_depths.SculkDepths; public class ModLootTableModifiers { + private static final Identifier BLAZE_ID = new Identifier("minecraft", "entities/blaze"); public static void modifyLootTables() { - LootTableEvents.MODIFY.register(((resourceManager, manager, id, supplier, source) -> { - if (BLAZE_ID.equals(id)) { - LootPool[] pools = manager.getLootTable(new Identifier(SculkDepths.MOD_ID, "injections/blaze")).pools; - - if (pools != null) - supplyPools(supplier, pools); - } - })); - } - private static void supplyPools(LootTable.Builder supplier, LootPool[] pools) { - for (LootPool pool: pools) { - supplier.pool(pool); - } } + + + + + } -*/ \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn b/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn index d6b09d5b44b9347032be928ae90be42625efef0d..8cff1e8053a3873c893eeab0bc718cd5a0ed1056 100644 GIT binary patch delta 2892 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 delta 3158 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 Date: Mon, 26 Jun 2023 22:42:34 +0200 Subject: [PATCH 23/34] fix valtrox wall loottable --- ...petrified_valtrox_fence.json => petrified_valtrox_wall.json} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/main/resources/data/sculk_depths/loot_tables/blocks/{petrified_valtrox_fence.json => petrified_valtrox_wall.json} (83%) diff --git a/src/main/resources/data/sculk_depths/loot_tables/blocks/petrified_valtrox_fence.json b/src/main/resources/data/sculk_depths/loot_tables/blocks/petrified_valtrox_wall.json similarity index 83% rename from src/main/resources/data/sculk_depths/loot_tables/blocks/petrified_valtrox_fence.json rename to src/main/resources/data/sculk_depths/loot_tables/blocks/petrified_valtrox_wall.json index 17e28d17..5a2c82a0 100644 --- a/src/main/resources/data/sculk_depths/loot_tables/blocks/petrified_valtrox_fence.json +++ b/src/main/resources/data/sculk_depths/loot_tables/blocks/petrified_valtrox_wall.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "sculk_depths:petrified_valtrox_fence" + "name": "sculk_depths:petrified_valtrox_wall" } ], "conditions": [ From 81c8ff26df2cf6e1626008dfdfc96e6c45f23371 Mon Sep 17 00:00:00 2001 From: gemsb <85642836+gemsb@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:28:35 +0200 Subject: [PATCH 24/34] tag --- .../data/sculk_depths/entity_types/drops_energy_essence.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/main/resources/data/sculk_depths/entity_types/drops_energy_essence.json diff --git a/src/main/resources/data/sculk_depths/entity_types/drops_energy_essence.json b/src/main/resources/data/sculk_depths/entity_types/drops_energy_essence.json new file mode 100644 index 00000000..bf9682c8 --- /dev/null +++ b/src/main/resources/data/sculk_depths/entity_types/drops_energy_essence.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:cow" + ] +} \ No newline at end of file From a30d7ab7a0f89a0724264da2776b7e85c8a83920 Mon Sep 17 00:00:00 2001 From: gemsb <85642836+gemsb@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:44:27 +0200 Subject: [PATCH 25/34] tag textures --- .../blockstates/kryslum_enriched_soil.json | 7 +++++++ .../models/block/kryslum_enriched_soil.json | 7 +++++++ .../models/item/energy_essence.json | 6 ++++++ .../models/item/kryslum_enriched_soil.json | 3 +++ .../textures/block/kryslum_enriched_soil.png | Bin 0 -> 383 bytes .../block/kryslum_enriched_soil_side.png | Bin 0 -> 383 bytes .../textures/item/energy_essence.png | Bin 0 -> 275 bytes .../recipes/dried_valtrox_fence.json | 2 +- .../recipes/petrified_valtrox_wall.json | 17 +++++++++++++++++ .../entity_types/drops_energy_essence.json | 0 10 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json create mode 100644 src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json create mode 100644 src/main/resources/assets/sculk_depths/models/item/energy_essence.json create mode 100644 src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json create mode 100644 src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png create mode 100644 src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil_side.png create mode 100644 src/main/resources/assets/sculk_depths/textures/item/energy_essence.png create mode 100644 src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json rename src/main/resources/data/sculk_depths/{ => tags}/entity_types/drops_energy_essence.json (100%) diff --git a/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json b/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json new file mode 100644 index 00000000..189fd161 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/kryslum_enriched_soil" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json b/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json new file mode 100644 index 00000000..b78b9671 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_farmland", + "textures": { + "dirt": "minecraft:block/kryslum_enriched_soil_side", + "top": "minecraft:block/kryslum_enriched_soil" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/item/energy_essence.json b/src/main/resources/assets/sculk_depths/models/item/energy_essence.json new file mode 100644 index 00000000..ee4273b6 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/item/energy_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "sculk_depths:item/energy_essence" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json b/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json new file mode 100644 index 00000000..76c1e4e5 --- /dev/null +++ b/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:block/kryslum_enriched_soil" +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png b/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png new file mode 100644 index 0000000000000000000000000000000000000000..38d945232b360a67f4e1969d93b52070a389579b GIT binary patch literal 383 zcmV-_0f7FAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940Tf9@K~y+Tol?6} z!!QtBNp@l!VqOzwZ~1#K=x8>9|SMFxC~Ym9)3FbGMR$fZ}9H z;qeL756IT<=({$l6%7`rXXLekKHLcQYm?L->j{MOD`XU4vK-3fk)1*`Fx;%l1%lC_ z5F$H;XrOxwwgB-2T8W#=2F`Q)&_i1btwot^K&ur;%;WPa>=4;0#7Zcau+Oic>H_LN zE99dC-8UGoZxCkl$W9?zS9L>y1H`sHyvFup{kMPMb{5pNd?KiEebdpK?$ z2OHTbFxphmp7>DGO|;M2B_;_K}rxqoZU85IG!X1*=;_PTG61Gmqf;}f+d{A dZum}UfgeC+W@JCeh^7Dl002ovPDHLkV1hy>ou&W) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil_side.png b/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil_side.png new file mode 100644 index 0000000000000000000000000000000000000000..38d945232b360a67f4e1969d93b52070a389579b GIT binary patch literal 383 zcmV-_0f7FAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940Tf9@K~y+Tol?6} z!!QtBNp@l!VqOzwZ~1#K=x8>9|SMFxC~Ym9)3FbGMR$fZ}9H z;qeL756IT<=({$l6%7`rXXLekKHLcQYm?L->j{MOD`XU4vK-3fk)1*`Fx;%l1%lC_ z5F$H;XrOxwwgB-2T8W#=2F`Q)&_i1btwot^K&ur;%;WPa>=4;0#7Zcau+Oic>H_LN zE99dC-8UGoZxCkl$W9?zS9L>y1H`sHyvFup{kMPMb{5pNd?KiEebdpK?$ z2OHTbFxphmp7>DGO|;M2B_;_K}rxqoZU85IG!X1*=;_PTG61Gmqf;}f+d{A dZum}UfgeC+W@JCeh^7Dl002ovPDHLkV1hy>ou&W) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sculk_depths/textures/item/energy_essence.png b/src/main/resources/assets/sculk_depths/textures/item/energy_essence.png new file mode 100644 index 0000000000000000000000000000000000000000..687dd506984f0ae917fde34f6dd1069c7fe2fd11 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}50G|+72H|#(#$)ns$1F0BF)-LMa1}5xs7u)a*=(L>q8Wa2o$2Zta@;`W zQPOpFK#H#<$S?RmGGK5$aOVV2hO@vUvKXk~FbFdq&tH)O6pZk6aSYK2jy)48#9+w6 z5}=}d`pDn))=J!_`*z8*J~8Lp@QBr6OAW(>AeOf-KMNClLRMID6o)0UXYLJZ`Np^R y(uRd!Hy&bp&;9K0OwPo7f$wa}-~N8-JHfth1$SUJ&moXU7(8A5T-G@yGywo6R$BA` literal 0 HcmV?d00001 diff --git a/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json b/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json index 6ac5d468..1e616034 100644 --- a/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json +++ b/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json @@ -11,7 +11,7 @@ } }, "result": { - "item": "sculk_depths:dried_valtrox_wall", + "item": "sculk_depths:dried_valtrox_fence", "count": 6 } } diff --git a/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json b/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json new file mode 100644 index 00000000..d671d6e1 --- /dev/null +++ b/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_wall", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "sculk_depths:petrified_valtrox_planks" + } + }, + "result": { + "item": "sculk_depths:petrified_valtrox_wall", + "count": 6 + } +} diff --git a/src/main/resources/data/sculk_depths/entity_types/drops_energy_essence.json b/src/main/resources/data/sculk_depths/tags/entity_types/drops_energy_essence.json similarity index 100% rename from src/main/resources/data/sculk_depths/entity_types/drops_energy_essence.json rename to src/main/resources/data/sculk_depths/tags/entity_types/drops_energy_essence.json From 697fbe5601463fbfacdace89b1b03af172b8c167 Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 27 Jun 2023 17:01:48 +0200 Subject: [PATCH 26/34] add energy essence drop for entities with drops_energy_essence --- .../sculk_depths/mixin/LivingEntityMixin.java | 34 +++++++++++++++++++ .../ugi/sculk_depths/tags/ModEntityTags.java | 11 ++++++ src/main/resources/sculk_depths.mixins.json | 1 + 3 files changed, 46 insertions(+) create mode 100644 src/main/java/net/ugi/sculk_depths/mixin/LivingEntityMixin.java create mode 100644 src/main/java/net/ugi/sculk_depths/tags/ModEntityTags.java diff --git a/src/main/java/net/ugi/sculk_depths/mixin/LivingEntityMixin.java b/src/main/java/net/ugi/sculk_depths/mixin/LivingEntityMixin.java new file mode 100644 index 00000000..3328eef2 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/mixin/LivingEntityMixin.java @@ -0,0 +1,34 @@ +package net.ugi.sculk_depths.mixin; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.ItemEntity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.mob.WardenEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.ugi.sculk_depths.item.ModItems; +import net.ugi.sculk_depths.tags.ModEntityTags; +import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(LivingEntity.class) +public abstract class LivingEntityMixin extends Entity { + protected LivingEntityMixin(EntityType type, World world) { + super(type, world); + } + + @Inject(method = "onKilledBy", at = @At("RETURN")) + public void sculkDepths$onKilledBy(@Nullable LivingEntity adversary, CallbackInfo ci) { + if (this.getWorld().isClient) { + return; + } + if (adversary instanceof WardenEntity && this.getType().isIn(ModEntityTags.DROPS_ENERGY_ESSENCE)) { + ItemEntity itemEntity = new ItemEntity(this.getWorld(), this.getX(), this.getY(), this.getZ(), new ItemStack(ModItems.ENERGY_ESSENCE)); + this.getWorld().spawnEntity(itemEntity); + } + } +} \ No newline at end of file diff --git a/src/main/java/net/ugi/sculk_depths/tags/ModEntityTags.java b/src/main/java/net/ugi/sculk_depths/tags/ModEntityTags.java new file mode 100644 index 00000000..2a27fb2e --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/tags/ModEntityTags.java @@ -0,0 +1,11 @@ +package net.ugi.sculk_depths.tags; + +import net.minecraft.entity.EntityType; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; +import net.ugi.sculk_depths.SculkDepths; + +public class ModEntityTags { + public static final TagKey> DROPS_ENERGY_ESSENCE = TagKey.of(RegistryKeys.ENTITY_TYPE, new Identifier(SculkDepths.MOD_ID, "drops_energy_essence")); +} diff --git a/src/main/resources/sculk_depths.mixins.json b/src/main/resources/sculk_depths.mixins.json index d5098048..418db342 100644 --- a/src/main/resources/sculk_depths.mixins.json +++ b/src/main/resources/sculk_depths.mixins.json @@ -7,6 +7,7 @@ "AttachedStemBlockMixin", "CropBlockMixin", "FarmLandBlockMixin", + "LivingEntityMixin", "NoiseChunkGeneratorMixin", "StemBlockMixin" ], From 1bbcb3028fb9b28bb288c7497270f361c1930140 Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 27 Jun 2023 17:06:29 +0200 Subject: [PATCH 27/34] add some mobs to the tag --- .../tags/entity_types/drops_energy_essence.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/resources/data/sculk_depths/tags/entity_types/drops_energy_essence.json b/src/main/resources/data/sculk_depths/tags/entity_types/drops_energy_essence.json index bf9682c8..d70f743f 100644 --- a/src/main/resources/data/sculk_depths/tags/entity_types/drops_energy_essence.json +++ b/src/main/resources/data/sculk_depths/tags/entity_types/drops_energy_essence.json @@ -1,5 +1,13 @@ { "values": [ - "minecraft:cow" + "minecraft:cow", + "minecraft:horse", + "minecraft:donkey", + "minecraft:mule", + "minecraft:chicken", + "minecraft:pig", + "minecraft:sheep", + "minecraft:bat", + "minecraft:bee" ] } \ No newline at end of file From 4164754ceaf7d5c51957892565ec311ab3e02f21 Mon Sep 17 00:00:00 2001 From: gemsb <85642836+gemsb@users.noreply.github.com> Date: Tue, 27 Jun 2023 17:41:41 +0200 Subject: [PATCH 28/34] tag recipes textures --- .../blockstates/kryslum_enriched_soil.json | 2 +- .../models/block/kryslum_enriched_soil.json | 4 +- .../models/item/kryslum_enriched_soil.json | 2 +- .../textures/block/kryslum_enriched_soil.png | Bin 383 -> 1809 bytes .../block/kryslum_enriched_soil.png.mcmeta | 45 ++++++++++++++++++ .../block/kryslum_enriched_soil_side.png | Bin 383 -> 1617 bytes .../kryslum_enriched_soil_side.png.mcmeta | 45 ++++++++++++++++++ .../textures/block/kryslum_flow.png | Bin 3412 -> 3427 bytes .../textures/block/kryslum_flow.png.mcmeta | 2 +- .../textures/block/kryslum_still.png | Bin 4186 -> 4529 bytes .../textures/block/kryslum_still.png.mcmeta | 2 +- .../recipes/dried_valtrox_fence.json | 9 ++-- .../recipes/petrified_valtrox_wall.json | 4 +- 13 files changed, 104 insertions(+), 11 deletions(-) create mode 100644 src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png.mcmeta create mode 100644 src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil_side.png.mcmeta diff --git a/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json b/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json index 189fd161..5a0c316c 100644 --- a/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json +++ b/src/main/resources/assets/sculk_depths/blockstates/kryslum_enriched_soil.json @@ -1,7 +1,7 @@ { "variants": { "": { - "model": "minecraft:block/kryslum_enriched_soil" + "model": "sculk_depths:block/kryslum_enriched_soil" } } } \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json b/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json index b78b9671..eeddafbc 100644 --- a/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json +++ b/src/main/resources/assets/sculk_depths/models/block/kryslum_enriched_soil.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/template_farmland", "textures": { - "dirt": "minecraft:block/kryslum_enriched_soil_side", - "top": "minecraft:block/kryslum_enriched_soil" + "dirt": "sculk_depths:block/kryslum_enriched_soil_side", + "top": "sculk_depths:block/kryslum_enriched_soil" } } \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json b/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json index 76c1e4e5..70cb2ac6 100644 --- a/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json +++ b/src/main/resources/assets/sculk_depths/models/item/kryslum_enriched_soil.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:block/kryslum_enriched_soil" + "parent": "sculk_depths:block/kryslum_enriched_soil" } \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png b/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png index 38d945232b360a67f4e1969d93b52070a389579b..1ff26222269d38a78cb6a03fb4bc59c86786f3b8 100644 GIT binary patch literal 1809 zcmWku3s93+7CwL8kdQwK2`(0I4LA|2C}>5be-<&&fCUju6>3#5EK-$<>+6T8$YTuH z!rv}k6ko_thp2$b?uhiU>jN}ukYcHmuz@w8PpOn;Z*ZqWIHUY&vII zlcb54urZtg{v3uM03C$O27eAy%)$g1#sv^Fu|U300FT1~-~-?oNZ1T1mnoo;Nhwk; zOT=c=0wgTP3?HtH%N8&gU^pvcU;#cHm>-5SnIaa;pUncVSH@$>cpM&pzmJcIiSaQE zybcMADdo_U#R3pA7$REw_Ixpu;m>CJ(B&8yER7am01AbK$MeHL#^w048Dbi(j1hC# zfDoU_gwXlEG@Do)z~lO2K*NQ!1q9%1wus3990w$qa@c+}QZ5&>7-IT1OQWEqM8d+P zv^J@9hA&r0XFD&;cx)L>OOH^6kcI^Y30X`(7E8cnN_~7FW0R20hU#x2E)o9dgv=aR zvIL@{L5xHGUTAKB04eM*gqS$+PQkhj5FQR;;Sdr6K?s6^Aa^@xb0Jy@>Lla2jNR#e?BB8K^|Q$3N~y2bs}gq5EBEn zWss_YtFFZkg=P7gByPuCJSA4m~Q|@@o=RPNF@D$CrGK5>HoN_3Vrcw&#g~*9)S3&f1i@3%}RSSkn9Ozgy27 ztjbDzyCda;nYwprkyh*5l{FQDpN|*K`$tlar1$zzx8+!E@%k3Q=1S?WmvS7|k3ZgQ zi8!BqAnKPnJ=#lVb(?#c;`nbTcP2m8-q|xTKEm_vyG4{s%ii1g%=W``_xxr4Q}bTU z_H;Gx?=k)SmzS3DC(S#<8(!|Mob$-LV))+aS&J5bn=ss-_PAjvFd{N_dNQplFk$>y zBfod(L4C^6x-Qpp#p{fhqrKOE7|K`FzM1}NRaK&A;!v;BwrK7V$J(2H6~R3ZVkRCm zKk4tZE^A4aU7gxjGOzOk`LOe)@$ZdBgI&?A59Bb%z8sJYhg zgw$M92|Sa<6BBD{Hd1L8XUlW>q^_xqoGw>hut((SG!^C)o3@5*+CtUM!)3Z$dp%dz z|9J?S=`j?WeXV2ZLmeuCJKc=-y3$*fk>%z^Hs^XrYCHPmJ3XKi&Qu1zu%q+>K2qQH z6Ux!0qlsvDZW*~_3$>VR>O&J1<^`VP3iN99^*INbZ!6{EH=XyRp4Pw78Bez83l3Tu zo)#M4p}&`_Wjcf1v`yFKPdzfKD`^J2W-PRr`#U*gj|g;#yBFQykmcJf+VStv#XRD! zO$8Lc)x6lI+Be zP4uZF)r@8i-UsTalU^Q(D306yjrwnQ#zU_V!>7q1Ig0j#7OMw5lc!0IQNN0ij$B`h z=G#;(>NBIcR91wqW>dG)EULZA&Jy=4yNXz6)CYhc7_P7jMd>M78)x6N1%OMS;M7Ejk`YfFh;Q=}x$4zDzjEL|r zXAtD8*EM=a;c@<^xk#Nyv>Lg5>it}9*f$eJoR>; z_e0{{4b*3s{|}9K5v_d%9|qw}B6~z$K=-Jg*WtW2HhGfdaqaRi!YETDx>sEol!>#6 z6RmoQJ$BHfMV!IOF}6v&iC(Xab41xBWC2WajC#Q)o7WncJYH68}k#q$95c-^V2c4THP>h(fg$UYK@9Oug&8^7PNIIx&8AT+7PLlK%rQ C+tmF4 delta 343 zcmV-d0jU0w4*vp>77G9n2nGNE03Y-JVUZype*g(^NLh0L01m+b01m+cxRGn^0003L zNklpnD6p0PzG`iJQs>&U5?FLt6{2MVV|ss})DgSmtz0` diff --git a/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png.mcmeta b/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png.mcmeta new file mode 100644 index 00000000..4fadce8a --- /dev/null +++ b/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 4, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil_side.png b/src/main/resources/assets/sculk_depths/textures/block/kryslum_enriched_soil_side.png index 38d945232b360a67f4e1969d93b52070a389579b..41011843b28e6716702748ad6267f73f8fab68b9 100644 GIT binary patch delta 1587 zcmWlZdr%XH8pXf76F`DNfi_Yjnb&72o;hDtbh<& zgav9_;;lR`rPpGiMJkHgVhtstj*6|4Dn%^fKr4@ghcDWcJ9ExIXXZC^X3orUQv2L0 zeO)R4X43$m@E13assMk2Qk$UCtV1Z^MW=F^bWa-9hsET(y6`w`4=RPrWOy^^UUZrd zi{VM5@Hi|84h3PjFPr7fpt%G1vY8MV$am!|0`PO;fHc~J3Lut1p$W7)A2x&U#_?v- zKpD?v(RnT`F9sEyBfcD_C!ONw%Jv{=fGhy>H@PgDFNfjHqmWg$Z&c2!mmz1n_7unIK#O!cYiaNTjeg12%4fXa$V-!gvqx z1>l?n+a-|Vpin_T0EoqqaR?+*kPtW|Z39(2^qz&Yryw*83JYPa0-Qr|<1Bn!1p*X? zy5T}Im_LOaBk1-*v>f6!aH<|!8bKg{Tmov%keUYSB-ob;d|&Wg5Ep*F02LL$<$^{7 zsoOx823%j*vQR4;st7;>pvw#afdnLN1f>d&=0L3p)EZDIAtwX&r9rqDJ|w_=6f$(s zT*ZF+MbE-&oQ!vqvH;w#{NEHGVayQ#I;NDb(IhHP+Uz;^&G9-iF4qCa-JP*X8DYf}=>YWc4Sm5}YhwXMXW~OM6w~cBVh+ z$!}&u)U^`cl}EqseVQ!kxy0N2xRbv>f1)RDRc29n#KGk#64(DK)<0;6D!o7%{BiQU zh0A*>jJj1!e7Wh)*obQBtli=5o0a0avelhI`RZ+9pJZN7X&o^a z3Ll1~UGH4GMxz(i?aJKSl-ZPcm6y3=cK>@^b7p74=Fs&--A&%Tjb&xK;*l4j)uxXQ z>naqBrYk4!s>yFW$pb?Chhj9>GWUEUszuSx!0r{8CiId1>Cf%AyOtO<8OTreN)d9X zz1%n;$MWlE&LcQ?aPIu~BO}{W(XgQg`kKqKL)fZ6O8m)km)>Fbi3Ta^^5n-QCr+6P^z-sDyLjgI=??2n z?PfA%a3(=O#>Co(`^KxW?1PBKJ|sfEYH37Wez%7lm&mTt@#=QEo~D6rZDJUyTbY`hSYeerK8a>pgGlXwrRCfvV@;{`=p8NK>(}o?l>eR8tFv%bP4p3K z_olqnQGtff>BOub%ONqLMW1z8YwizgSm?JuL<-2Z;8%8ubcx|u26B$*yitt4}v>_n^8(<7oc4ZjHSm*-8dU2Wvx%iYtF+WXpiDq`yb@_Lm&SrptW zbN?eC5Y@&Yi;b7CGx&GR7KQ1VBmA?Q^LoK@q6&)~u$&~4#~N6U@Oo=B?SZUmF7dUC z=smw_T_icLPfo7Jde-233b4pg`{ak?0b9O9OE_5YWy=TH*L|TWD6_Y*;IK-FHB^Na#O#Ha0p+^&^47Jfh5rDIxPZO@ delta 343 zcmV-d0jU1b4F3X<77G9n2nGNE03Y-JVUZype*g(^NLh0L01m+b01m+cxRGn^0003L zNklpnD6p0PzG`iJQs>&U5?FLt6{2MVV|ss})Dg0Ipc{fKUPD@bvs zk%Y>%-~P2zIDb5FrfrNE6cK;?)KUoj!kHHLV??{Wi4_eK3up4(e@^&7=^8T*shn}f zvFw#9uGSKZe;PSIeR%q?^1+uei;_#qIWJmuoSQI2RMT=cP9OfhJn)_t?UmkL&qF54 z4@`c1dr#g@SA#}3VHlHj=kw46@%Uk~f-}xGXoZ=t=(K%xg)^lrNqRk@&#+0N^=l>t zfn=?dl|mNfCFh$kcFI9pns*pH&Jf1?>@dxe%&*t6e{d!-^;t*LzL<|q7{=s>zUuMU zC1(pe$^+9P(b#Y~d_NW`eK>NagL4Y=>VE#JDYY{Pf}J!^#ITKWB;YsYTnGY<^&w$11AMDVI7rHE?diD9X+aJJXrt`|`kh8mceh z*zZipf9N-7lEdLpWuAIt(Ka~37(UE%z>*c-*~0lI44EjTQM3hQeiihi9Ig=R1tcQpwOJ(ln2PPjT z9d@ssHo>Zl4lpKsx0q$zy&tQT(p@;yF=>Qwf05o#m^i6VoT*FOh?aYYQIkpyoS!~C zefZ2YrE_XsOIb-OcHm4Z{+gN~*=FUITsV`eqxLRjU96ssik$Dl1QX50^yB3iA9ycK z@p-t87c;d1mbRz7qEGn{>%I;9lV z3uhYBrD9M;Ep7a=;Y>E17Mx5KvSemhf4~^!BxW@lR5U6b7fPI)Fjg&-F_Sr5yD2@g zN954sx$Dd>LJ!X92@*D$mJT&jiy@q8$T1WM($JSuInz{Kl}LY^AP4|GX9_lt8Nm{P z1jp%_a}!39((jXN|8RlxO&G}8pC;uTB;^cYELwzg9gBRopvGhjA53+VM)zQAe>cO2 zHIv9LjIY-eH`gkML2@Q!;PtXwhWU!?RNkBF7o!S6D^Y∨M@E>Q=-S2ft+O z51c7leblmy7(t|x;mVl`G{@Y2-$fWi!@{}6HmGB-+a2mZ+k{y&dCC}lB+^0U;0pS+ zWm?`_61%$a75jzN%?f11@LM9!3J%0#w3 zT@wBGMRBHTrl`igRe5oHM4V&X1j+Vr=n%ht{AJq%FU|sKpV@3`jX!tjBj=`++tXlb zthzlRd*CDHeZPkwEl~QraHdl(r9Ih-_<^^FZ=7jR;VnozVhr(TdEwlIsY>WC+Yv|5 z+;hGQvsc?MTa>$Ae`U@PMk4_3$u6orM8i>Qe){nAVdVo>6iX5x7-elch%s_1o#KpU z59z+bFvhsha`-vQ>BraLcRgCZW;AlI58Gfh3M)jI2PQ3jdx(x1#^~AVI765gIuK!+ zuEs%_H6!8}-2`bV*ky~wk?}p^Oo%W_hS!gX^NH`mT+d5zf99{hD@xc07Qu^nI;0fe z=Gz3VnJ|+X$aF3uQnjomuz08I)U2`sfB1}EMa7M&&uei`|f_P!ju{D20 zoWC|*i!kGb^GC#a{kl;k<)4W2ho3$?eOUW|4+PoM%T<;3+=erHg`DwsO_MYh6~-j2 z)8UfQ`)c)se;S7|a+oq4UuL^}drST@!m%~CXG!|HG1{CLOk!=%l2%LsXB<%DYJID5 z4QJH64lVPd<#s5sQ1h;tN*cqx#+9-=1k0I9m>ezBt;RiED06PY6gBULV9fWe!$tGJ zBA~`So??uzQ#(0hBz$%8sBvS=twNR$Jlc$$uU!LZf3_-tGxe>;Rnp!B3AvF%#`k4_> z3T6dgPO1*=wJgRYYSeD3UZ!kAyGgF*DmT| zzH+8$>s)`|WtS@LI6r-O`mpjLl+u+yk7eq}f4SYzZezabGzu1#9Os)bUYE=VjcC3e(~2!nw~fnr76B2?c5%`=#4m1Hop) znZ{gHC_c|4s#MZ5X9&}`DpzPMpQ;uJvu4D{O?MLnii8pUVvI4Fl1Gp6qqG~8<9rv! ze=O0A=DeFO?vbUjzINwnGIM|)oJpo}XQf^yb9+oDI8)4n$(Xk`3%($0W=xBAEjg~Y z$8_U#;r#UB>BGtgqoXE|r5_)t-7;_{S8PD5?r)amVmLQpq%8FuGS)1W+Y_-B--Lm8 z9WuCKNl5V+V;mF?@c19OV~<6YF^PD8e=!8(SEeQmV;Hog0V!x2mqHpN%b2iWmSvhQ zr)$E>oKVfK8L1lVv_hYbXpq!b&NQV%TXjW3>Ue)~Xw5|CZM?rIgd+{co-@@^i{!G- zR$rou4~!vIlwufWbD4U?Le6_RWS`CTGMhz{ePELDc+RqR7tI-rh60iC zO%OE{gPaS?=3SW23}K|tNh+@>Zq5r*s5O&VF85bcNtV6|!y}9g|W8jxr_$ zp%RDjxV^ucI&-FLLVgUwTmKDKKYwf*Pw_U$`AeR%rthyU6A4<3_a9(}As4XgkF002ovPDHLk FV1gM0gPQ;V delta 3380 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 delta 4141 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 diff --git a/src/main/resources/assets/sculk_depths/textures/block/kryslum_still.png.mcmeta b/src/main/resources/assets/sculk_depths/textures/block/kryslum_still.png.mcmeta index 88b68dab..4fadce8a 100644 --- a/src/main/resources/assets/sculk_depths/textures/block/kryslum_still.png.mcmeta +++ b/src/main/resources/assets/sculk_depths/textures/block/kryslum_still.png.mcmeta @@ -1,6 +1,6 @@ { "animation": { - "frametime": 3, + "frametime": 4, "frames": [ 0, 1, diff --git a/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json b/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json index 1e616034..b25d72ef 100644 --- a/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json +++ b/src/main/resources/data/sculk_depths/recipes/dried_valtrox_fence.json @@ -2,16 +2,19 @@ "type": "minecraft:crafting_shaped", "group": "wooden_fence", "pattern": [ - "WWW", - "WWW" + "WIW", + "WIW" ], "key": { "W": { "item": "sculk_depths:dried_valtrox_planks" + }, + "I": { + "item": "minecraft:stick" } }, "result": { "item": "sculk_depths:dried_valtrox_fence", - "count": 6 + "count": 3 } } diff --git a/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json b/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json index d671d6e1..8b1dc6b1 100644 --- a/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json +++ b/src/main/resources/data/sculk_depths/recipes/petrified_valtrox_wall.json @@ -7,11 +7,11 @@ ], "key": { "#": { - "item": "sculk_depths:petrified_valtrox_planks" + "item": "sculk_depths:petrified_valtrox_slates" } }, "result": { "item": "sculk_depths:petrified_valtrox_wall", "count": 6 } -} +} \ No newline at end of file From 4ee4ff18254377964deeed47f5766d21c8f0a6be Mon Sep 17 00:00:00 2001 From: gemsb <85642836+gemsb@users.noreply.github.com> Date: Tue, 27 Jun 2023 17:51:50 +0200 Subject: [PATCH 29/34] flint texture --- .../item/energized_flint_and_steel.pdn | Bin 11113 -> 11369 bytes .../item/energized_flint_and_steel.png | Bin 841 -> 841 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn b/src/main/resources/assets/sculk_depths/textures/item/energized_flint_and_steel.pdn index 8cff1e8053a3873c893eeab0bc718cd5a0ed1056..0fa86d486eb9733a126a9f6e9ab72ff0a3b809c9 100644 GIT binary patch delta 3110 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 delta 63 zcmV-F0Kosr2FV7HMl?r9N4dGV|NsA Date: Tue, 27 Jun 2023 19:28:27 +0200 Subject: [PATCH 30/34] fix energized flint and steel function and lightportal --- .../block/custom/SoulFireBlock.java | 4 ---- .../custom/EnergizedFlintAndSteelItem.java | 18 ++++++++++++++++-- .../net/ugi/sculk_depths/portal/Portals.java | 4 ++-- .../textures/item/energy_essence.png | Bin 275 -> 255 bytes 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java index a25708e0..ea926978 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java @@ -43,8 +43,4 @@ protected boolean isFlammable(BlockState state) { return true; } - @Override - public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) { - PortalPlacer.attemptPortalLight(world, pos, SOUL_FIRE); - } } diff --git a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java index 5b2b5ba4..65d7175c 100644 --- a/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java +++ b/src/main/java/net/ugi/sculk_depths/item/custom/EnergizedFlintAndSteelItem.java @@ -1,5 +1,6 @@ package net.ugi.sculk_depths.item.custom; +import net.kyrptonaught.customportalapi.portal.PortalPlacer; import net.minecraft.advancement.criterion.Criteria; import net.minecraft.block.*; import net.minecraft.entity.Entity; @@ -18,18 +19,31 @@ import net.minecraft.world.event.GameEvent; import net.ugi.sculk_depths.block.ModBlocks; +import static net.ugi.sculk_depths.portal.Portals.SOUL_FIRE; + public class EnergizedFlintAndSteelItem extends Item { public EnergizedFlintAndSteelItem(Settings settings) { super(settings); } -/* + @Override public ActionResult useOnBlock(ItemUsageContext context) { //originally copied from mc BlockPos blockPos; PlayerEntity playerEntity = context.getPlayer(); World world = context.getWorld(); BlockState blockState = world.getBlockState(blockPos = context.getBlockPos()); + + boolean portalLighted = PortalPlacer.attemptPortalLight(world, blockPos.offset(context.getSide()), SOUL_FIRE); + System.out.println(portalLighted); + if(portalLighted){ + ItemStack itemStack = context.getStack(); + if (playerEntity instanceof ServerPlayerEntity) { + itemStack.damage(15, playerEntity, p -> p.sendToolBreakStatus(context.getHand())); //todo config damage amount + } + return ActionResult.success(world.isClient()); + } + if (CampfireBlock.canBeLit(blockState) || CandleBlock.canBeLit(blockState) || CandleCakeBlock.canBeLit(blockState)) { world.playSound(playerEntity, blockPos, SoundEvents.ITEM_FLINTANDSTEEL_USE, SoundCategory.BLOCKS, 1.0f, world.getRandom().nextFloat() * 0.4f + 0.8f); world.setBlockState(blockPos, (BlockState)blockState.with(Properties.LIT, true), Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD); @@ -52,8 +66,8 @@ public ActionResult useOnBlock(ItemUsageContext context) { //originally copied f } return ActionResult.success(world.isClient()); } + return ActionResult.FAIL; } -*/ } diff --git a/src/main/java/net/ugi/sculk_depths/portal/Portals.java b/src/main/java/net/ugi/sculk_depths/portal/Portals.java index 3f5fdc59..446bf957 100644 --- a/src/main/java/net/ugi/sculk_depths/portal/Portals.java +++ b/src/main/java/net/ugi/sculk_depths/portal/Portals.java @@ -16,8 +16,8 @@ public static void registerModPortals() { //.customPortalBlock(Blocks.SCULK) .destDimID(new Identifier("sculk_depths:sculk_depthsdim")) .tintColor(1, 69, 86) - //.customIgnitionSource(SOUL_FIRE) - .lightWithItem(ModItems.ENERGISED_FLINT_AND_STEEL) + .customIgnitionSource(SOUL_FIRE) + //.lightWithItem(ModItems.ENERGISED_FLINT_AND_STEEL) .setPortalSearchYRange(0, 120) .registerIgniteEvent((player, world, portalPos, framePos, portalIgnitionSource) -> { if (portalIgnitionSource.sourceType == PortalIgnitionSource.SourceType.USEITEM && player != null) { diff --git a/src/main/resources/assets/sculk_depths/textures/item/energy_essence.png b/src/main/resources/assets/sculk_depths/textures/item/energy_essence.png index 687dd506984f0ae917fde34f6dd1069c7fe2fd11..5c2b3feea11b1aa7225b66c08f8767b00b3fdbc5 100644 GIT binary patch delta 198 zcmbQt^q+BpW4&mAPlzk8khq|z6l+o}x1tuqq^X+sUo$W;)Yh&23#8afg8YL2g8_q- zH?td1h_k>WvY3H^?+^$xifVW@00k2~T^vI+f=l}txegd`Fq;gTe~DWM4f5L-jU delta 218 zcmey*IGJgJW4%^@PlzjnaJxt2F?qLR7MaHw80;9h3K$sFrR;!gHcvCr3_rQfbaf3m zZUzR1DCxR7AjMY_e;C;K~S)Z8mZFt1$u%(7!LJ-Sam!E|RJ|QctIEup(*)#VB zwS42-duhYMuNx1sz2|=RcP3|IzQA`j Date: Tue, 27 Jun 2023 19:29:19 +0200 Subject: [PATCH 31/34] release candidate 1 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 11ca4077..9fb65c56 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ org.gradle.parallel=true loader_version=0.14.21 # Mod Properties - mod_version = 0.0.6_b + mod_version = 0.0.7-rc1 maven_group = com.example archives_base_name = sculk_depths From cac8e67aee22a9717d025de24cef8ae676f08f2b Mon Sep 17 00:00:00 2001 From: Matteo_fey <66562258+warior456@users.noreply.github.com> Date: Tue, 27 Jun 2023 20:50:51 +0200 Subject: [PATCH 32/34] Update README.md (update documentation) --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 142ad9c9..7029f112 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,10 @@ This mod adds a new dimension called "Sculk Depths" to Minecraft. To access this dimension, follow these steps: 1. Search for a deep dark biome with an ancient city. -2. Summon and defeat a Warden to obtain its new drop, the Soul Heart. -3. Clear all the sculk veins from the middle of the reinforced deepslate in the center of the city. -4. Use the Soul Heart to light the portal. +2. Summon a Warden and let it kill a passive mob like a cow, sheep, or horse OR kill the warden. +3. this will drop Energy Essence which is used to craft an Energized Flint and Steel +4. Clear all the sculk veins from the middle of the reinforced deepslate in the center of the city. +5. Use the Energized Flint and Steel to light the portal. When entering this dimension, it is recommended to bring a netherite pickaxe as the dimension is mostly made of a very hard block called Umbrusk. @@ -24,7 +25,7 @@ When entering this dimension, it is recommended to bring a netherite pickaxe as - Four new biomes. - A new structure (work in progress). - A new hostile mob: The Glomper. It attacks players using an elytra, so be careful while flying around! -- The Warden drops the Soul Heart, which is used to open the portal. +- Energy Essence drops when the warden kills a passive mob or when the warden is killed, this is used to craft an Energized Flint and Steel to open the portal. - new blocks: - Cephlera Light - Nine new block sets: From 6088c02cf321dafd9a215c1047b0bb0a46839277 Mon Sep 17 00:00:00 2001 From: Matteo_fey <66562258+warior456@users.noreply.github.com> Date: Tue, 27 Jun 2023 20:59:56 +0200 Subject: [PATCH 33/34] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7029f112..2113171f 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ When entering this dimension, it is recommended to bring a netherite pickaxe as - A new structure (work in progress). - A new hostile mob: The Glomper. It attacks players using an elytra, so be careful while flying around! - Energy Essence drops when the warden kills a passive mob or when the warden is killed, this is used to craft an Energized Flint and Steel to open the portal. +- Energized Flint and Steel: can light most blocks with Soul Fire and lights the portal - new blocks: - Cephlera Light - Nine new block sets: From b2552ac725ba3b11e806a31afb65984abb4f8503 Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 27 Jun 2023 21:00:26 +0200 Subject: [PATCH 34/34] 0.0.7 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 9fb65c56..2e5b7f9a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ org.gradle.parallel=true loader_version=0.14.21 # Mod Properties - mod_version = 0.0.7-rc1 + mod_version = 0.0.7 maven_group = com.example archives_base_name = sculk_depths