| 97 | DispenserBlock.registerProjectileBehavior(PItems.WITHER_POOP_BALL); |
| 98 | DispenserBlock.registerBehavior(PItems.POOP.get(), new OptionalDispenseItemBehavior() { |
| 99 | @Override |
| 100 | protected ItemStack execute(BlockSource blockSource, ItemStack item) { |
| 101 | this.setSuccess(true); |
| 102 | Level level = blockSource.level(); |
| 103 | BlockPos blockpos = blockSource.pos().relative(blockSource.state().getValue(DispenserBlock.FACING)); |
| 104 | |
| 105 | if (!BoneMealItem.applyBonemeal(item, level, blockpos, null) && !BoneMealItem.growWaterPlant(item, level, blockpos, null)) { |
| 106 | this.setSuccess(false); |
| 107 | } else if (!level.isClientSide) { |
| 108 | level.levelEvent(1505, blockpos, 15); |
| 109 | } |
| 110 | return item; |
| 111 | } |
| 112 | }); |
| 113 | DispenserBlock.registerBehavior(PBlocks.POOP_TNT.asItem(), new DefaultDispenseItemBehavior() { |
| 114 | @Override |