A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
blob: bb5a296d8003c58222826eb2d88ead7927666ad9 (2641 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.EntityExplodeEvent;14
import org.bukkit.event.player.AsyncPlayerChatEvent;15
import org.bukkit.event.player.PlayerInteractAtEntityEvent;16
import org.bukkit.event.player.PlayerInteractEvent;17
import org.bukkit.potion.PotionEffect;18
import org.bukkit.potion.PotionEffectType;21
public class EventListener implements Listener22
{23
@EventHandler24
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
}38
@EventHandler39
public void onEntityExplode(EntityExplodeEvent event)40
{41
if(event.getEntityType() == EntityType.CREEPER)42
{43
event.blockList().clear();44
}45
}47
@EventHandler48
public void onChat(AsyncPlayerChatEvent event)49
{50
// FIXME Conversion Exception on '%52
String format = ChatColor.WHITE + event.getPlayer().getName() + ": " + ChatColor.GRAY53
+ event.getMessage();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));70
event.setDamage(1);71
}72
}73
}75
@EventHandler76
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event)77
{79
Player player = event.getPlayer();81
if (event.getRightClicked().getType().equals(EntityType.ARMOR_STAND))82
{84
if(player.getInventory().getItemInMainHand().getType() == Material.STICK && player.getInventory().getItemInMainHand().getAmount() > 1 && player.isSneaking())85
{86
ArmorStand armorstand = (ArmorStand) event.getRightClicked();88
armorstand.setArms(true);89
event.setCancelled(true);91
player.getInventory().getItemInMainHand().setAmount(player.getInventory().getItemInMainHand().getAmount() - 2);92
}93
}94
}95
}