A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
blob: da0d49aa5f28715890e91a7a3c36999f52b93308 (2788 bytes)[doc][blame][raw]
1
package de.typable.minecrafthub.event;3
import org.bukkit.ChatColor;4
import org.bukkit.Material;5
import org.bukkit.entity.ArmorStand;6
import org.bukkit.entity.EntityType;7
import org.bukkit.entity.Player;8
import org.bukkit.entity.Snowball;9
import org.bukkit.event.EventHandler;10
import org.bukkit.event.Listener;11
import org.bukkit.event.block.Action;12
import org.bukkit.event.entity.EntityDamageByEntityEvent;13
import org.bukkit.event.entity.EntityDeathEvent;14
import org.bukkit.event.entity.EntityExplodeEvent;15
import org.bukkit.event.player.AsyncPlayerChatEvent;16
import org.bukkit.event.player.PlayerInteractAtEntityEvent;17
import org.bukkit.event.player.PlayerInteractEvent;18
import org.bukkit.inventory.ItemStack;19
import org.bukkit.potion.PotionEffect;20
import org.bukkit.potion.PotionEffectType;23
public class EventListener implements Listener24
{25
@EventHandler26
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
}40
@EventHandler41
public void onEntityExplode(EntityExplodeEvent event)42
{43
if(event.getEntityType() == EntityType.CREEPER)44
{45
event.blockList().clear();46
}47
}49
@EventHandler50
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
}57
@EventHandler58
public void onEntityHit(EntityDamageByEntityEvent event)59
{60
if(event.getDamager() instanceof Snowball)61
{62
Snowball snowball = (Snowball) event.getDamager();64
if(snowball.getShooter() instanceof Player)65
{66
Player player = (Player) event.getEntity();68
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 20 * 2, 1));69
event.setDamage(1);70
}71
}72
}74
@EventHandler75
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event)76
{77
Player player = event.getPlayer();79
if(event.getRightClicked().getType().equals(EntityType.ARMOR_STAND))80
{81
ItemStack item = player.getInventory().getItemInMainHand();83
if(item.getType() == Material.STICK && item.getAmount() > 1 && player.isSneaking())84
{85
ArmorStand armorstand = (ArmorStand) event.getRightClicked();87
armorstand.setArms(true);88
item.setAmount(item.getAmount() - 2);90
event.setCancelled(true);91
}92
}93
}95
@EventHandler96
public void onArmorStandDestroy(EntityDeathEvent event)97
{98
if(event.getEntity() instanceof ArmorStand)99
{100
ArmorStand armorstand = (ArmorStand) event.getEntity();102
if(armorstand.hasArms())103
{104
event.getDrops().add(new ItemStack(Material.STICK, 2));105
}106
}107
}