diff --git a/gradle.properties b/gradle.properties index 45982bc2..8b851f25 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check https://fabricmc.net/develop/ - minecraft_version=23w12a + minecraft_version=23w13a loader_version=0.14.18 jsr305_version=3.0.2 fabric_version=0.76.0+1.19.4 diff --git a/src/main/java/carpet/mixins/BlockBehaviourBlockStateBase_mixin.java b/src/main/java/carpet/mixins/BlockBehaviourBlockStateBase_mixin.java new file mode 100644 index 00000000..3e512d97 --- /dev/null +++ b/src/main/java/carpet/mixins/BlockBehaviourBlockStateBase_mixin.java @@ -0,0 +1,27 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.BuddingAmethystBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.PushReaction; +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.CallbackInfoReturnable; + +@Mixin(BlockBehaviour.BlockStateBase.class) +public abstract class BlockBehaviourBlockStateBase_mixin +{ + @Shadow public abstract Block getBlock(); + + @Inject(method = "getPistonPushReaction", at = @At("HEAD"), cancellable = true) + private void onGetPistonPushReaction(CallbackInfoReturnable cir) + { + if (CarpetSettings.movableAmethyst && getBlock() instanceof BuddingAmethystBlock) + { + cir.setReturnValue(PushReaction.NORMAL); + } + } +} diff --git a/src/main/java/carpet/mixins/BuddingAmethystBlock_movableAmethystMixin.java b/src/main/java/carpet/mixins/BuddingAmethystBlock_movableAmethystMixin.java index 6984a673..b8f3d45f 100644 --- a/src/main/java/carpet/mixins/BuddingAmethystBlock_movableAmethystMixin.java +++ b/src/main/java/carpet/mixins/BuddingAmethystBlock_movableAmethystMixin.java @@ -26,11 +26,6 @@ public class BuddingAmethystBlock_movableAmethystMixin extends Block { super(settings); } - @Inject(at = @At("HEAD"), method = "getPistonPushReaction(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/material/PushReaction;", cancellable = true) - void getPistonBehavior(BlockState state, CallbackInfoReturnable cir) { - if (CarpetSettings.movableAmethyst) cir.setReturnValue(PushReaction.NORMAL); - } - @Override public void playerDestroy(Level world, Player player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack stack) { super.playerDestroy(world, player, pos, state, blockEntity, stack); diff --git a/src/main/java/carpet/script/api/WorldAccess.java b/src/main/java/carpet/script/api/WorldAccess.java index 17b23b40..43e55faa 100644 --- a/src/main/java/carpet/script/api/WorldAccess.java +++ b/src/main/java/carpet/script/api/WorldAccess.java @@ -524,7 +524,7 @@ public class WorldAccess booleanStateTest(c, "liquid", lv, (s, p) -> !s.getFluidState().isEmpty())); expression.addContextFunction("flammable", -1, (c, t, lv) -> - booleanStateTest(c, "flammable", lv, (s, p) -> s.getMaterial().isFlammable())); + booleanStateTest(c, "flammable", lv, (s, p) -> s.ignitedByLava())); expression.addContextFunction("transparent", -1, (c, t, lv) -> booleanStateTest(c, "transparent", lv, (s, p) -> !s.getMaterial().isSolid())); diff --git a/src/main/java/carpet/script/utils/Colors.java b/src/main/java/carpet/script/utils/Colors.java index a746a7d7..d6c01eac 100644 --- a/src/main/java/carpet/script/utils/Colors.java +++ b/src/main/java/carpet/script/utils/Colors.java @@ -182,7 +182,6 @@ public class Colors entry(Material.SPONGE , "sponge" ), entry(Material.SHULKER_SHELL , "shulker" ), entry(Material.WOOD , "wood" ), - entry(Material.NETHER_WOOD , "nether_wood" ), entry(Material.BAMBOO_SAPLING , "shoots" ), entry(Material.BAMBOO , "bamboo" ), entry(Material.WOOL , "wool" ), diff --git a/src/main/java/carpet/utils/BlockInfo.java b/src/main/java/carpet/utils/BlockInfo.java index c000acdc..755e4103 100644 --- a/src/main/java/carpet/utils/BlockInfo.java +++ b/src/main/java/carpet/utils/BlockInfo.java @@ -61,7 +61,7 @@ public class BlockInfo lst.add(Messenger.s(String.format(" - Blocks movement on land: %s", !state.isPathfindable(world,pos, PathComputationType.LAND)))); lst.add(Messenger.s(String.format(" - Blocks movement in air: %s", !state.isPathfindable(world,pos, PathComputationType.AIR)))); lst.add(Messenger.s(String.format(" - Blocks movement in liquids: %s", !state.isPathfindable(world,pos, PathComputationType.WATER)))); - lst.add(Messenger.s(String.format(" - Can burn: %s", material.isFlammable()))); + lst.add(Messenger.s(String.format(" - Can burn: %s", state.ignitedByLava()))); lst.add(Messenger.s(String.format(" - Requires a tool: %s", !material.isReplaceable()))); //?maybe lst.add(Messenger.s(String.format(" - Hardness: %.2f", state.getDestroySpeed(world, pos)))); lst.add(Messenger.s(String.format(" - Blast resistance: %.2f", block.getExplosionResistance()))); diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 3d822689..537aed2a 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -183,6 +183,7 @@ "CollectingNeighborUpdaterAccessor", "BlockBehaviour_customStickyMixin", + "BlockBehaviourBlockStateBase_mixin", "ChainBlock_customStickyMixin", "ChestBlock_customStickyMixin", "HoneyBlock_customStickyMixin",