package me.km.blockprotections; import me.km.KajetansMod; import me.km.api.Module; import me.km.api.ModuleListener; import me.km.permissions.Permissions; import me.km.plots.ProtectionBank; import net.minecraft.block.BlockCrops; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; public class SemiProtections extends ModuleListener { private final ProtectionBank bank; public SemiProtections(Module m) { super(m); bank = KajetansMod.plots.getDataBank(ProtectionBank.class); } @SubscribeEvent public void onBlockBreak(BlockEvent.BreakEvent e) { EntityPlayer p = e.getPlayer(); if(KajetansMod.perms.hasPermission(p, Permissions.BLOCK_BYPASS) && p.isCreative()) { return; } IBlockState b = e.getState(); if(b.getBlock() instanceof BlockCrops) { if(!bank.hasTag(e.getWorld(), e.getPos(), "farm")) { return; } e.setCanceled(true); if(b.getValue(BlockCrops.AGE) == 7) { b.getBlock().dropBlockAsItem(e.getWorld(), e.getPos(), b, 0); } e.getWorld().setBlockState(e.getPos(), b.withProperty(BlockCrops.AGE, 0)); } } }