so://phie

poppy

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

blob: 45ee4d63895b2266278477d9ac0407897050dc0d (2776 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.EntityDeathEvent;

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

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

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

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

18import org.bukkit.inventory.ItemStack;

19import org.bukkit.potion.PotionEffect;

20import org.bukkit.potion.PotionEffectType;

21

22

23public class EventListener implements Listener

24{

25 @EventHandler

26 public void onPlayerInteract(PlayerInteractEvent event)

27 {

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

29 {

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

31 {

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

33 {

34 event.setCancelled(true);

35 }

36 }

37 }

38 }

39

40 @EventHandler

41 public void onEntityExplode(EntityExplodeEvent event)

42 {

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

44 {

45 event.blockList().clear();

46 }

47 }

48

49 @EventHandler

50 public void onChat(AsyncPlayerChatEvent event)

51 {

52 // FIXME Conversion Exception on '%

53

54 String format = ChatColor.WHITE + event.getPlayer().getName() + ": " + ChatColor.GRAY + event.getMessage();

55 event.setFormat(format);

56 }

57

58 @EventHandler

59 public void onEntityHit(EntityDamageByEntityEvent event)

60 {

61 if(event.getDamager() instanceof Snowball)

62 {

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

64

65 if(snowball.getShooter() instanceof Player)

66 {

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

68

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

70 event.setDamage(1);

71 }

72 }

73 }

74

75 @EventHandler

76 public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event)

77 {

78 Player player = event.getPlayer();

79

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

81 {

82 ItemStack item = player.getInventory().getItemInMainHand();

83

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

85 {

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

87

88 armorstand.setArms(true);

89 event.setCancelled(true);

90

91 item.setAmount(item.getAmount() - 2);

92 }

93 }

94 }

95

96 @EventHandler

97 public void onArmorStandDestroy(EntityDeathEvent event)

98 {

99 if(event.getEntity() instanceof ArmorStand)

100 {

101 ArmorStand armorstand = (ArmorStand) event.getEntity();

102

103 if(armorstand.hasArms()){

104 event.getDrops().add(new ItemStack(Material.STICK, 2));

105 }

106 }

107 }