diff --git a/src/main/java/com/wenxin2/marioverse/blocks/QuestionBlock.java b/src/main/java/com/wenxin2/marioverse/blocks/QuestionBlock.java index 26525179..80947da3 100644 --- a/src/main/java/com/wenxin2/marioverse/blocks/QuestionBlock.java +++ b/src/main/java/com/wenxin2/marioverse/blocks/QuestionBlock.java @@ -375,30 +375,27 @@ public void spawnFromQuestionBlock(Level world, BlockPos pos, ItemStack stack, E world.addFreshEntity(egg); stack.copyWithCount(1); } else spawnItem(world, pos, stack, dropItemsAtPos); - } else if (stack.getItem() instanceof BucketItem bucket && bucket.content != Fluids.EMPTY) { - if (ConfigRegistry.QUESTION_BUCKET_TWEAKS.get()) { - if (world.getBlockState(pos.above()).isAir() || !world.getFluidState(pos.above()).isEmpty() - || (!world.getBlockState(pos.below()).isAir() && world.getFluidState(pos.below()).isEmpty())) { - if (bucket.emptyContents(null, world, pos.above(), null, stack)) - bucket.checkExtraContent(null, world, stack, pos.above()); - } else { - if (bucket.emptyContents(null, world, pos.below(), null, stack)) - bucket.checkExtraContent(null, world, stack, pos.below()); - } - spawnItem(world, pos, new ItemStack(Items.BUCKET), dropItemsAtPos); - } else spawnItem(world, pos, stack, dropItemsAtPos); - } else if (stack.getItem() instanceof SolidBucketItem bucket) { - if (ConfigRegistry.QUESTION_BUCKET_TWEAKS.get()) { - if (world.getBlockState(pos.above()).isAir() || !world.getFluidState(pos.above()).isEmpty() - || (!world.getBlockState(pos.below()).isAir() && world.getFluidState(pos.below()).isEmpty())) { - if (bucket.emptyContents(null, world, pos.above(), null, stack)) - bucket.checkExtraContent(null, world, stack, pos.above()); - } else { - if (bucket.emptyContents(null, world, pos.below(), null, stack)) - bucket.checkExtraContent(null, world, stack, pos.below()); - } - spawnItem(world, pos, new ItemStack(Items.BUCKET), dropItemsAtPos); - } else spawnItem(world, pos, stack, dropItemsAtPos); + } else if (stack.getItem() instanceof BucketItem bucket && bucket.content != Fluids.EMPTY + && ConfigRegistry.QUESTION_BUCKET_TWEAKS.get()) { + if (world.getBlockState(pos.above()).isAir() || !world.getFluidState(pos.above()).isEmpty() + || (!world.getBlockState(pos.below()).isAir() && world.getFluidState(pos.below()).isEmpty())) { + if (bucket.emptyContents(null, world, pos.above(), null, stack)) + bucket.checkExtraContent(null, world, stack, pos.above()); + } else { + if (bucket.emptyContents(null, world, pos.below(), null, stack)) + bucket.checkExtraContent(null, world, stack, pos.below()); + } + spawnItem(world, pos, new ItemStack(Items.BUCKET), dropItemsAtPos); + } else if (stack.getItem() instanceof SolidBucketItem bucket && ConfigRegistry.QUESTION_BUCKET_TWEAKS.get()) { + if (world.getBlockState(pos.above()).isAir() || !world.getFluidState(pos.above()).isEmpty() + || (!world.getBlockState(pos.below()).isAir() && world.getFluidState(pos.below()).isEmpty())) { + if (bucket.emptyContents(null, world, pos.above(), null, stack)) + bucket.checkExtraContent(null, world, stack, pos.above()); + } else { + if (bucket.emptyContents(null, world, pos.below(), null, stack)) + bucket.checkExtraContent(null, world, stack, pos.below()); + } + spawnItem(world, pos, new ItemStack(Items.BUCKET), dropItemsAtPos); } else if (stack.getItem() == CompatRegistry.HAT_STAND_ITEM.get()) { Entity entity = CompatRegistry.HAT_STAND.get().create(serverWorld); diff --git a/src/main/java/com/wenxin2/marioverse/mixin/ContainersMixin.java b/src/main/java/com/wenxin2/marioverse/mixin/ContainersMixin.java index ea7c97d2..f874dfc5 100644 --- a/src/main/java/com/wenxin2/marioverse/mixin/ContainersMixin.java +++ b/src/main/java/com/wenxin2/marioverse/mixin/ContainersMixin.java @@ -226,18 +226,15 @@ private static void dropContents(Level world, double x, double y, double z, Cont world.addFreshEntity(egg); stack.copyWithCount(1); } else marioverse$spawnItem(world, pos, stack); - } else if (stack.getItem() instanceof BucketItem bucket && bucket.content != Fluids.EMPTY) { - if (canEmptyBuckets) { - if (bucket.emptyContents(null, world, pos, null, stack)) - bucket.checkExtraContent(null, world, stack, pos); - marioverse$spawnItem(world, pos, new ItemStack(Items.BUCKET)); - } else marioverse$spawnItem(world, pos, stack); - } else if (stack.getItem() instanceof SolidBucketItem bucket) { - if (canEmptyBuckets) { - if (bucket.emptyContents(null, world, pos, null, stack)) - bucket.checkExtraContent(null, world, stack, pos); - marioverse$spawnItem(world, pos, new ItemStack(Items.BUCKET)); - } else marioverse$spawnItem(world, pos, stack); + } else if (stack.getItem() instanceof BucketItem bucket + && bucket.content != Fluids.EMPTY && canEmptyBuckets) { + if (bucket.emptyContents(null, world, pos, null, stack)) + bucket.checkExtraContent(null, world, stack, pos); + marioverse$spawnItem(world, pos, new ItemStack(Items.BUCKET)); + } else if (stack.getItem() instanceof SolidBucketItem bucket && canEmptyBuckets) { + if (bucket.emptyContents(null, world, pos, null, stack)) + bucket.checkExtraContent(null, world, stack, pos); + marioverse$spawnItem(world, pos, new ItemStack(Items.BUCKET)); } else if (stack.getItem() == CompatRegistry.HAT_STAND_ITEM.get()) { Entity entity = CompatRegistry.HAT_STAND.get().create(serverWorld);