SemiProtections.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package me.km.blockprotections;
  2. import me.km.api.Module;
  3. import me.km.api.ModuleListener;
  4. import me.km.permissions.Permission;
  5. import me.km.permissions.Permissions;
  6. import net.minecraft.block.BlockCrops;
  7. import net.minecraft.block.state.IBlockState;
  8. import net.minecraft.entity.player.EntityPlayer;
  9. import net.minecraftforge.event.world.BlockEvent;
  10. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  11. public class SemiProtections extends ModuleListener
  12. {
  13. //private final BlockProtectionBank bank;
  14. public SemiProtections(Module m)
  15. {
  16. super(m);
  17. //bank = KajetansMod.blocks.getDataBank(BlockProtectionBank.class);
  18. }
  19. @SubscribeEvent
  20. public void onBlockBreak(BlockEvent.BreakEvent e)
  21. {
  22. EntityPlayer p = e.getPlayer();
  23. if(Permission.hasPermission(p, Permissions.BLOCK_BYPASS) && p.isCreative())
  24. {
  25. return;
  26. }
  27. IBlockState b = e.getState();
  28. if(b.getBlock() instanceof BlockCrops)
  29. {
  30. // TODO
  31. /*if(!bank.hasTag(e., "farm"))
  32. {
  33. return;
  34. }*/
  35. e.setCanceled(true);
  36. if(b.getValue(BlockCrops.AGE) == 7)
  37. {
  38. b.getBlock().dropBlockAsItem(e.getWorld(), e.getPos(), b, 0);
  39. }
  40. e.getWorld().setBlockState(e.getPos(), b.withProperty(BlockCrops.AGE, 0));
  41. }
  42. }
  43. }