From 4f47505535002c91cf5fed804e4758c5a65e96a5 Mon Sep 17 00:00:00 2001 From: Augusto Resende Date: Tue, 27 Oct 2020 22:57:59 -0300 Subject: [PATCH] fix some bugs and bump version --- changelog.txt | 4 ++++ .../mixin/ZeroTickAbstractPlantPartBlock.java | 5 +++++ forge/gradle.properties | 2 +- .../zerotickunpatch/mixin/ZeroTickAbstractPlantBlock.java | 5 +++++ gradle.properties | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/changelog.txt b/changelog.txt index 104265c..88f6cb6 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +This version (0.2.5) fix some bugs when the mod runs with custom world generation settings. + +=============================================================================== + This version (0.2.4) fix another weird bug that crashes on Server Fabric version. =============================================================================== diff --git a/fabric/src/main/java/com/vanilla/experience/fabric/zerotickunpatch/mixin/ZeroTickAbstractPlantPartBlock.java b/fabric/src/main/java/com/vanilla/experience/fabric/zerotickunpatch/mixin/ZeroTickAbstractPlantPartBlock.java index 867bbf8..b4d9acc 100644 --- a/fabric/src/main/java/com/vanilla/experience/fabric/zerotickunpatch/mixin/ZeroTickAbstractPlantPartBlock.java +++ b/fabric/src/main/java/com/vanilla/experience/fabric/zerotickunpatch/mixin/ZeroTickAbstractPlantPartBlock.java @@ -24,6 +24,11 @@ public ZeroTickAbstractPlantPartBlock(Settings settings) { @Inject(at = @At("TAIL"), method = "scheduledTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Ljava/util/Random;)V") public void scheduledTick(final BlockState state, final ServerWorld world, final BlockPos pos, final Random random, CallbackInfo info) { + if (!state.canPlaceAt(world, pos)) { + world.breakBlock(pos, true); + return; + } + if(!world.isAir(pos.down())) { this.randomTick(state, world, pos, random); } diff --git a/forge/gradle.properties b/forge/gradle.properties index f6d09c1..4f47027 100644 --- a/forge/gradle.properties +++ b/forge/gradle.properties @@ -1,7 +1,7 @@ org.gradle.jvmargs=-Xmx4G org.gradle.daemon=false -mod_version=0.2.4 +mod_version=0.2.5 mod_id=vanillaexperience mc_version=1.16.3 forge_version=34.1.0 diff --git a/forge/src/main/java/com/vanilla/experience/forge/zerotickunpatch/mixin/ZeroTickAbstractPlantBlock.java b/forge/src/main/java/com/vanilla/experience/forge/zerotickunpatch/mixin/ZeroTickAbstractPlantBlock.java index 8bded3d..2921932 100644 --- a/forge/src/main/java/com/vanilla/experience/forge/zerotickunpatch/mixin/ZeroTickAbstractPlantBlock.java +++ b/forge/src/main/java/com/vanilla/experience/forge/zerotickunpatch/mixin/ZeroTickAbstractPlantBlock.java @@ -20,6 +20,11 @@ public ZeroTickAbstractPlantBlock(Properties propertiesIn) { @Inject(at = @At("TAIL"), method = "tick(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/server/ServerWorld;Lnet/minecraft/util/math/BlockPos;Ljava/util/Random;)V") public void tick(final BlockState state, final ServerWorld world, final BlockPos pos, final Random random, CallbackInfo info) { + if (!state.isValidPosition(world, pos)) { + world.destroyBlock(pos, true); + return; + } + if(!world.isAirBlock(pos.down())) { this.randomTick(state, world, pos, random); } diff --git a/gradle.properties b/gradle.properties index fdbe0a7..a7ee52d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ # This is required to provide enough memory for the Minecraft decompilation process. org.gradle.jvmargs=-Xmx4G org.gradle.daemon=false -mod_version=0.2.4 +mod_version=0.2.5 mod_id=vanillaexperience mc_version=1.16.3 forge_version=34.1.0