PvpEvent.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package me.km.playerbank;
  2. import me.km.KajetansMod;
  3. import me.km.api.Module;
  4. import me.km.api.ModuleListener;
  5. import me.km.api.Utils;
  6. import net.minecraft.entity.player.EntityPlayer;
  7. import net.minecraftforge.event.entity.living.LivingAttackEvent;
  8. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  9. public class PvpEvent extends ModuleListener
  10. {
  11. public PvpEvent(Module m)
  12. {
  13. super(m);
  14. }
  15. @SubscribeEvent
  16. public void PlayerVSPlayer(LivingAttackEvent e)
  17. {
  18. if(!(e.getEntityLiving() instanceof EntityPlayer) ||
  19. !KajetansMod.worldManager.getWorldPreferences(e.getEntity().world).pvpProtection ||
  20. !(e.getSource().getImmediateSource()instanceof EntityPlayer))
  21. {
  22. return;
  23. }
  24. EntityPlayer affectedPlayer = (EntityPlayer) e.getEntityLiving();
  25. EntityPlayer p = Utils.getDamager(e.getSource());
  26. if(p == null || affectedPlayer.equals(p))
  27. {
  28. return;
  29. }
  30. PlayerBank pb = KajetansMod.playerbank.getDataBank();
  31. if(pb.getTag(affectedPlayer, "pvp") != 1)
  32. {
  33. this.getModule().send(p, affectedPlayer.getName() + " hat PVP ausgeschalten!");
  34. e.setCanceled(true);
  35. }
  36. if(pb.getTag(p, "pvp") != 1)
  37. {
  38. this.getModule().send(p, "Du hast PVP ausgeschalten!");
  39. e.setCanceled(true);
  40. }
  41. }
  42. }