Lobby/src/eu/univento/lobby/listeners/Events.java

118 lines
2.9 KiB
Java

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));
}
}
}
}