diff options
| author | ash lea <example@thisismyactual.email> | 2026-06-01 15:22:54 -0400 |
|---|---|---|
| committer | ash lea <example@thisismyactual.email> | 2026-06-01 15:22:54 -0400 |
| commit | 4b3a7180814d765ed31411c8cf629d7792d4dcc5 (patch) | |
| tree | c9c797cd6e8cf9dfba03fadf93257ff0abd91896 /src/main | |
| parent | ed8c99807a55089ffa72b5f5f17ca2bccf18f37a (diff) | |
make compatible with any DragonEggBlock or subclass
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/wtf/kity/uncrackable/mixin/BlockBehaviourMixin.java | 4 | ||||
| -rw-r--r-- | src/main/java/wtf/kity/uncrackable/mixin/FallingBlockEntityMixin.java | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/main/java/wtf/kity/uncrackable/mixin/BlockBehaviourMixin.java b/src/main/java/wtf/kity/uncrackable/mixin/BlockBehaviourMixin.java index 506b0c9..428d195 100644 --- a/src/main/java/wtf/kity/uncrackable/mixin/BlockBehaviourMixin.java +++ b/src/main/java/wtf/kity/uncrackable/mixin/BlockBehaviourMixin.java @@ -5,7 +5,7 @@ import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.item.FallingBlockEntity; import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DragonEggBlock; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.PushReaction; @@ -25,7 +25,7 @@ public class BlockBehaviourMixin { if (!shape.isEmpty() && context instanceof EntityCollisionContext entityContext && entityContext.getEntity() instanceof FallingBlockEntity fallingBlock - && fallingBlock.getBlockState().is(Blocks.DRAGON_EGG) + && fallingBlock.getBlockState().getBlock() instanceof DragonEggBlock && state.getPistonPushReaction() != PushReaction.DESTROY ) { return Shapes.block(); diff --git a/src/main/java/wtf/kity/uncrackable/mixin/FallingBlockEntityMixin.java b/src/main/java/wtf/kity/uncrackable/mixin/FallingBlockEntityMixin.java index 500f970..3d76afb 100644 --- a/src/main/java/wtf/kity/uncrackable/mixin/FallingBlockEntityMixin.java +++ b/src/main/java/wtf/kity/uncrackable/mixin/FallingBlockEntityMixin.java @@ -11,7 +11,7 @@ import net.minecraft.world.entity.item.FallingBlockEntity; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DragonEggBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; @@ -46,9 +46,10 @@ public abstract class FallingBlockEntityMixin extends Entity { ) ) private void setTime(FallingBlockEntity instance, int value, Operation<Void> original) { - if (!instance.getBlockState().is(Blocks.DRAGON_EGG)) { - original.call(instance, value); + if (instance.getBlockState().getBlock() instanceof DragonEggBlock) { + return; } + original.call(instance, value); } /// Egg should not drop as an item if it lands above build height. @@ -61,7 +62,7 @@ public abstract class FallingBlockEntityMixin extends Entity { ) ) private boolean getDropItem(FallingBlockEntity instance, Operation<Boolean> original) { - if (instance.getBlockState().is(Blocks.DRAGON_EGG)) { + if (instance.getBlockState().getBlock() instanceof DragonEggBlock) { return false; } return original.call(instance); @@ -88,7 +89,7 @@ public abstract class FallingBlockEntityMixin extends Entity { return true; } - if (instance.is(Blocks.DRAGON_EGG)) { + if (instance.getBlock() instanceof DragonEggBlock) { BlockEntity blockentity = instance.hasBlockEntity() ? this.level().getBlockEntity(blockPos) : null; Block.dropResources(instance, this.level(), blockPos, blockentity); instance.onDestroyedByPushReaction(this.level(), blockPos, Direction.DOWN, this.level().getFluidState(blockPos)); @@ -107,6 +108,6 @@ public abstract class FallingBlockEntityMixin extends Entity { ) ) private boolean isFree(BlockState state, Operation<Boolean> original, @Local Block block) { - return original.call(state) && block != Blocks.DRAGON_EGG; + return original.call(state) && block instanceof DragonEggBlock; } } |