From 0ec13d83fd0fbeb300ad78c0c837038ac361d675 Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Mon, 15 Jun 2020 11:22:30 -0400 Subject: [PATCH] Don't Drop Chest In Creative --- .../com/thebrokenrail/twine/mixin/MixinBoatEntity.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/thebrokenrail/twine/mixin/MixinBoatEntity.java b/src/main/java/com/thebrokenrail/twine/mixin/MixinBoatEntity.java index 2410004..865a1fd 100644 --- a/src/main/java/com/thebrokenrail/twine/mixin/MixinBoatEntity.java +++ b/src/main/java/com/thebrokenrail/twine/mixin/MixinBoatEntity.java @@ -110,21 +110,23 @@ public class MixinBoatEntity implements BoatUtil { } @Unique - private void dropItemsOnDestroy() { + private void dropItemsOnDestroy(boolean isCreative) { if (((BoatEntity) (Object) this).getEntityWorld().getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) { - ((BoatEntity) (Object) this).dropStack(new ItemStack(getChestItem())); + if (!isCreative) { + ((BoatEntity) (Object) this).dropStack(new ItemStack(getChestItem())); + } dropItems(); } } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/vehicle/BoatEntity;remove()V"), method = "damage") public void damage(DamageSource source, float amount, CallbackInfoReturnable info) { - dropItemsOnDestroy(); + dropItemsOnDestroy(source.getAttacker() instanceof PlayerEntity && ((PlayerEntity) source.getAttacker()).isCreative()); } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/vehicle/BoatEntity;remove()V"), method = "fall") public void fall(double heightDifference, boolean onGround, BlockState landedState, BlockPos landedPosition, CallbackInfo info) { - dropItemsOnDestroy(); + dropItemsOnDestroy(false); } @Unique