so://phie

poppy

A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy

blob: bb5a296d8003c58222826eb2d88ead7927666ad9 (2641 bytes)[doc][blame][raw]

1package de.typable.minecrafthub.event;

2

3import org.bukkit.ChatColor;

4import org.bukkit.Material;

5import org.bukkit.entity.ArmorStand;

6import org.bukkit.entity.EntityType;

7import org.bukkit.entity.Player;

8import org.bukkit.entity.Snowball;

9import org.bukkit.event.EventHandler;

10import org.bukkit.event.Listener;

11import org.bukkit.event.block.Action;

12import org.bukkit.event.entity.EntityDamageByEntityEvent;

13import org.bukkit.event.entity.EntityExplodeEvent;

14import org.bukkit.event.player.AsyncPlayerChatEvent;

15import org.bukkit.event.player.PlayerInteractAtEntityEvent;

16import org.bukkit.event.player.PlayerInteractEvent;

17import org.bukkit.potion.PotionEffect;

18import org.bukkit.potion.PotionEffectType;

19

20

21public class EventListener implements Listener

22{

23 @EventHandler

24 public void onPlayerInteract(PlayerInteractEvent event)

25 {

26 if(event.getAction() == Action.PHYSICAL)

27 {

28 if(event.getClickedBlock() != null)

29 {

30 if(event.getClickedBlock().getType() == Material.FARMLAND)

31 {

32 event.setCancelled(true);

33 }

34 }

35 }

36 }

37

38 @EventHandler

39 public void onEntityExplode(EntityExplodeEvent event)

40 {

41 if(event.getEntityType() == EntityType.CREEPER)

42 {

43 event.blockList().clear();

44 }

45 }

46

47 @EventHandler

48 public void onChat(AsyncPlayerChatEvent event)

49 {

50 // FIXME Conversion Exception on '%

51

52 String format = ChatColor.WHITE + event.getPlayer().getName() + ": " + ChatColor.GRAY

53 + event.getMessage();

54 event.setFormat(format);

55 }

56

57 @EventHandler

58 public void onEntityHit(EntityDamageByEntityEvent event)

59 {

60 if(event.getDamager() instanceof Snowball)

61 {

62 Snowball snowball = (Snowball) event.getDamager();

63

64 if(snowball.getShooter() instanceof Player)

65 {

66 Player player = (Player) event.getEntity();

67

68 player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 20 * 2, 1));

69

70 event.setDamage(1);

71 }

72 }

73 }

74

75 @EventHandler

76 public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event)

77 {

78

79 Player player = event.getPlayer();

80

81 if (event.getRightClicked().getType().equals(EntityType.ARMOR_STAND))

82 {

83

84 if(player.getInventory().getItemInMainHand().getType() == Material.STICK && player.getInventory().getItemInMainHand().getAmount() > 1 && player.isSneaking())

85 {

86 ArmorStand armorstand = (ArmorStand) event.getRightClicked();

87

88 armorstand.setArms(true);

89 event.setCancelled(true);

90

91 player.getInventory().getItemInMainHand().setAmount(player.getInventory().getItemInMainHand().getAmount() - 2);

92 }

93 }

94 }

95}

96