package eu.univento.lobby.listeners; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerItemConsumeEvent; import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.weather.WeatherChangeEvent; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import eu.univento.core.api.CustomPlayer; /** * some short events * @author joethei * @version 1.0 */ public class Events implements Listener{ /** * cancels food level changes * @param e FoodLevelChangeEvent */ @EventHandler public void onFoodLevelChange(FoodLevelChangeEvent e) { e.setCancelled(true); } /** * cancels weather changes * @param e WeatherChangeEvent */ @EventHandler public void onWeather(WeatherChangeEvent e) { e.setCancelled(true); } /** * cancels item consume * @param e PlayerItemConsumeEvent */ @EventHandler public void onConsume(PlayerItemConsumeEvent e) { e.setCancelled(true); } /** * cancels death message and drops * @param e PlayerDeathEvent */ @EventHandler public void onDeath(PlayerDeathEvent e) { e.setDeathMessage(null); e.setKeepInventory(true); e.setKeepLevel(true); } /** * sets respawn location * @param e PlayerRespawnEvent */ @EventHandler public void onRespawn(PlayerRespawnEvent e) { e.setRespawnLocation(Bukkit.getWorld("world").getSpawnLocation()); } /** * cancels inventory dropping in creative * @param e InventoryCreativeEvent */ @EventHandler public void onCreative(InventoryCreativeEvent e) { e.setCancelled(false); } /** * cancels item pickup * @param e PlayerPickupEvent */ @EventHandler public void onPickup(PlayerPickupItemEvent e) { e.setCancelled(true); } /** * cancels item drop * @param e PlayerDropItemEvent */ @EventHandler public void onDrop(PlayerDropItemEvent e) { e.setCancelled(true); } /** * some fun with player hitting * @param e EntityDamageByEntityEvent */ @EventHandler public void onHit(EntityDamageByEntityEvent e) { if(e.getEntity() instanceof Player) { if(e.getDamager() instanceof Player) { CustomPlayer p = CustomPlayer.getPlayer(e.getEntity().getName()); CustomPlayer d = CustomPlayer.getPlayer(e.getDamager().getName()); d.setHealthScale(0.5D); p.setMaxHealth(60.0D); p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 5000, 2)); } } } }