TeleportBlock.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package me.km.effects.active;
  2. import me.km.KajetansMod;
  3. import me.km.api.Location;
  4. import me.km.effects.ActiveEffectBase;
  5. import me.km.effects.passive.BlockClickEffects;
  6. import net.minecraft.entity.player.EntityPlayerMP;
  7. import net.minecraft.util.math.BlockPos;
  8. import net.minecraft.world.WorldServer;
  9. public class TeleportBlock extends ActiveEffectBase
  10. {
  11. @Override
  12. protected boolean executeEffect(EntityPlayerMP p, int power)
  13. {
  14. WorldServer w = p.getServerWorld();
  15. BlockPos b = p.getPosition();
  16. for(int x = -1; x <= 1; x++)
  17. {
  18. for(int y = -1; y <= 1; y++)
  19. {
  20. if(x == 0 && y == 0)
  21. {
  22. continue;
  23. }
  24. if(w.isAirBlock(b.add(x, 0, y)))
  25. {
  26. KajetansMod.effects.getEvent(BlockClickEffects.class).registerTeleportBlock(new Location(w, b.add(x, 0, y)), p, 60 * power);
  27. return true;
  28. }
  29. }
  30. }
  31. KajetansMod.skills.send(p, "Es wurde kein freier Platz gefunden.");
  32. return false;
  33. }
  34. @Override
  35. protected int getManaCost(int manaFactor)
  36. {
  37. return 1;
  38. }
  39. }