A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
blob: e82566cdcec6d490d9e616ab2876bb95ab547f82 (2436 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.inventory.ItemStack;18
import org.bukkit.potion.PotionEffect;19
import org.bukkit.potion.PotionEffectType;22
public class EventListener implements Listener23
{24
@EventHandler25
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
}39
@EventHandler40
public void onEntityExplode(EntityExplodeEvent event)41
{42
if(event.getEntityType() == EntityType.CREEPER)43
{44
event.blockList().clear();45
}46
}48
@EventHandler49
public void onChat(AsyncPlayerChatEvent event)50
{51
// FIXME Conversion Exception on '%53
String format = ChatColor.WHITE + event.getPlayer().getName() + ": " + ChatColor.GRAY + 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));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
event.setCancelled(true);90
item.setAmount(item.getAmount() - 2);91
}92
}93
}94
}