so://phie

poppy

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

blob: e82566cdcec6d490d9e616ab2876bb95ab547f82 (2436 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.inventory.ItemStack;

18import org.bukkit.potion.PotionEffect;

19import org.bukkit.potion.PotionEffectType;

20

21

22public class EventListener implements Listener

23{

24 @EventHandler

25 public void onPlayerInteract(PlayerInteractEvent event)

26 {

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

28 {

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

30 {

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

32 {

33 event.setCancelled(true);

34 }

35 }

36 }

37 }

38

39 @EventHandler

40 public void onEntityExplode(EntityExplodeEvent event)

41 {

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

43 {

44 event.blockList().clear();

45 }

46 }

47

48 @EventHandler

49 public void onChat(AsyncPlayerChatEvent event)

50 {

51 // FIXME Conversion Exception on '%

52

53 String format = ChatColor.WHITE + event.getPlayer().getName() + ": " + ChatColor.GRAY + 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 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 event.setCancelled(true);

89

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

91 }

92 }

93 }

94}