118 lines
2.9 KiB
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));
|
|
}
|
|
}
|
|
}
|
|
} |