so://phie

poppy

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

blob: da0d49aa5f28715890e91a7a3c36999f52b93308 (2788 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 String message = ChatColor.GRAY + event.getMessage().replace("%", "%%");

53 String format = ChatColor.WHITE + event.getPlayer().getName() + ": " + message;

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 event.setDamage(1);

70 }

71 }

72 }

73

74 @EventHandler

75 public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event)

76 {

77 Player player = event.getPlayer();

78

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

80 {

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

82

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

84 {

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

86

87 armorstand.setArms(true);

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

89

90 event.setCancelled(true);

91 }

92 }

93 }

94

95 @EventHandler

96 public void onArmorStandDestroy(EntityDeathEvent event)

97 {

98 if(event.getEntity() instanceof ArmorStand)

99 {

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

101

102 if(armorstand.hasArms())

103 {

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

105 }

106 }

107 }