A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
blob: b4febcd9035da6ecdf5464e83c94aba4e6c310e7 (1732 bytes)[doc][blame][raw]
1
package poppy.modules;3
import org.bukkit.Material;4
import org.bukkit.entity.Entity;5
import org.bukkit.entity.Player;6
import org.bukkit.entity.HumanEntity;7
import org.bukkit.event.Listener;8
import org.bukkit.event.EventHandler;9
import org.bukkit.event.player.PlayerInteractAtEntityEvent;10
import org.bukkit.event.inventory.InventoryClickEvent;11
import org.bukkit.event.inventory.InventoryType.SlotType;12
import org.bukkit.event.inventory.ClickType;13
import org.bukkit.inventory.ItemStack;15
public class PlayerMountModule implements Listener16
{17
@EventHandler18
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event)19
{20
final Player player = event.getPlayer();21
final Entity entity = event.getRightClicked();23
if(entity instanceof Player)24
{25
final Player mountablePlayer = (Player) entity;26
final Material helmet = mountablePlayer.getInventory().getHelmet().getType();28
if(helmet.equals(Material.SADDLE) && mountablePlayer.getPassengers().size() == 0)29
{30
mountablePlayer.addPassenger(player);31
}32
}33
}35
@EventHandler36
public void onInventoryClick(InventoryClickEvent event)37
{38
final HumanEntity entity = event.getWhoClicked();40
if(entity instanceof Player)41
{42
final Player player = (Player) entity;43
final SlotType slotType = event.getSlotType();45
if(slotType != SlotType.ARMOR)46
{47
return;48
}50
final ClickType clickType = event.getClick();52
if(!(clickType == ClickType.LEFT || clickType == ClickType.RIGHT))53
{54
return;55
}57
final ItemStack head = event.getCurrentItem();59
if(head == null || head.getType() != Material.SADDLE)60
{61
return;62
}64
player.eject();65
}66
}67
}