package org.ultralogger.logger;
import java.util.Iterator;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Egg;
import org.bukkit.entity.Entity;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockDispenseEvent;
import org.bukkit.event.block.BlockFadeEvent;
import org.bukkit.event.block.BlockFormEvent;
import org.bukkit.event.block.BlockGrowEvent;
import org.bukkit.event.block.BlockIgniteEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockSpreadEvent;
import org.bukkit.event.block.EntityBlockFormEvent;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.enchantment.EnchantItemEvent;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.CreeperPowerEvent;
import org.bukkit.event.entity.EntityBreakDoorEvent;
import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.entity.EntityCombustEvent;
import org.bukkit.event.entity.EntityCreatePortalEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.entity.EntityInteractEvent;
import org.bukkit.event.entity.EntityPortalEnterEvent;
import org.bukkit.event.entity.EntityTameEvent;
import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.entity.ExpBottleEvent;
import org.bukkit.event.entity.ExplosionPrimeEvent;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.event.entity.ItemSpawnEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.inventory.BrewEvent;
import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.inventory.FurnaceSmeltEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerBedEnterEvent;
import org.bukkit.event.player.PlayerBedLeaveEvent;
import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerBucketFillEvent;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerEggThrowEvent;
import org.bukkit.event.player.PlayerExpChangeEvent;
import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.event.player.PlayerFishEvent.State;
import org.bukkit.event.player.PlayerGameModeChangeEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerLevelChangeEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.bukkit.event.player.PlayerToggleSneakEvent;
import org.bukkit.event.player.PlayerToggleSprintEvent;
import org.bukkit.event.vehicle.VehicleCreateEvent;
import org.bukkit.event.vehicle.VehicleDestroyEvent;
import org.bukkit.event.vehicle.VehicleEnterEvent;
import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.event.weather.LightningStrikeEvent;
import org.bukkit.event.weather.ThunderChangeEvent;
import org.bukkit.event.weather.WeatherChangeEvent;
import org.bukkit.event.world.PortalCreateEvent;
import org.bukkit.event.world.SpawnChangeEvent;
import org.bukkit.event.world.StructureGrowEvent;
import org.bukkit.inventory.BrewerInventory;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.ultralogger.LoggerConfig;
import org.ultralogger.Main;
public class FileLogger implements Listener{
private LogFile file;
private String events;
private Main plugin;
public FileLogger(Main plugin,LoggerConfig config, String name, String events){
file = new LogFile(name, config);
this.events=events;
this.plugin=plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
public void disable() {
file.close();
}
public void save() {
file.close();
file.open();
}
/*
* BLOCK EVENTS (11)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void block_break(BlockBreakEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block i = event.getBlock();
file.log(printPlayer(event.getPlayer())+" destroyed "+new ItemStack(i.getTypeId()).toString()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_burn(BlockBurnEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" has burnt in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_dispense(BlockDispenseEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" was dispensed in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_fade(BlockFadeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" has fade in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_form(BlockFormEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" was formed in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_grow(BlockGrowEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" data "+i.getData()+" grown to data "+event.getNewState().getRawData()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_ignite(BlockIgniteEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
if(event.getPlayer()!=null)
file.log("Fire was ignited in "+printLoc(i.getLocation())+" due to "+event.getCause().name()+" by "+printPlayer(event.getPlayer()));
else
file.log("Fire was ignited in "+printLoc(i.getLocation())+" due to "+event.getCause().name());
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_place(BlockPlaceEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block i = event.getBlock();
file.log(printPlayer(event.getPlayer())+" placed "+new ItemStack(i.getTypeId()).toString()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_spread(BlockSpreadEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" data "+i.getData()+" spread to data "+event.getNewState().getRawData()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void block_entity_form(EntityBlockFormEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlock();
file.log(new ItemStack(i.getTypeId()).toString()+" was formed in "+printLoc(i.getLocation())+" by "+event.getEntity().toString());
}
@EventHandler (priority = EventPriority.MONITOR)
public void sign_change(SignChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block i = event.getBlock();
Player p = event.getPlayer();
if(p==null)
file.log(new ItemStack(i.getTypeId()).toString()+" was changed in "+printLoc(i.getLocation()));
else
file.log(printPlayer(p)+" has edited a sign in "+printLoc(i.getLocation()));
}
/*
* CHAT & COMMAND EVENTS (2)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void player_chat(AsyncPlayerChatEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+" --> "+event.getMessage());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_command(PlayerCommandPreprocessEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
String display =" tried command --> ";
String msg = event.getMessage()+" ";
String command = msg;
if(!plugin.getCommandManager().canLogCommand(event.getMessage()))
return;
if(msg.contains("/") && msg.contains(" "))
command = msg.substring(msg.indexOf("/")+1, msg.indexOf(" "));
if(event.getPlayer().getServer().getPluginCommand(command)!=null || event.getPlayer().getServer().getCommandAliases().containsKey(command) ||
event.getPlayer().getServer().getCommandAliases().containsValue(command)){
display =" issued command --> ";
}
file.log(printPlayer(event.getPlayer())+display+msg);
}
/*
* CRAFT EVENTS (4)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void brew(BrewEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
BrewerInventory i =event.getContents();
file.log("That was brew "+i.getItem(0)+","+i.getItem(1)+","+i.getItem(2)+" in "+printLoc(event.getBlock().getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void craft_item(CraftItemEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Player p =(Player) event.getView().getPlayer();
if(p!=null){
if(plugin.isEventForbidden(p, event.getClass()))
return;
file.log(printPlayer(p)+" crafted "+event.getRecipe().getResult().toString()+" in "+printLoc(p.getLocation()));
} else
file.log("Due to something that was crafted : "+event.getRecipe().getResult().toString());
}
@EventHandler (priority = EventPriority.MONITOR)
public void furnace_smelt(FurnaceSmeltEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
file.log("That was smelt in a furnace : "+event.getResult().toString()+" in "+printLoc(event.getBlock().getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void enchant_item(EnchantItemEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getEnchanter(), event.getClass()))
return;
String enchants ="";
for(Iterator<Enchantment> i =event.getEnchantsToAdd().keySet().iterator();i.hasNext();){
enchants+=i.next().getName()+",";
}
enchants=enchants.substring(0, enchants.lastIndexOf(","));
int cost = event.getExpLevelCost();
file.log(printPlayer(event.getEnchanter())+" has enchanted "+event.getItem().toString()+" for "+cost+" xp(s) with "+enchants);
}
/*
* ENTITY EVENTS (17)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void entity_spawn(CreatureSpawnEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" has spawned ("+event.getSpawnReason().name()+") "+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void creeper_power(CreeperPowerEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" was striked by lightning in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_break_door(EntityBreakDoorEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" broke a door in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_change_block(EntityChangeBlockEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i = event.getEntity();
Block b = event.getBlock();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" changed "+b.getType()+" into "+event.getTo()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_combust(EntityCombustEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" is combusting for "+event.getDuration()+" tick(s) in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_create_portal(EntityCreatePortalEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" created a portal in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_damage(EntityDamageEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" was damaged of "+event.getDamage()+" half heart(s) in "+printLoc(i.getLocation())+" due to "+
event.getCause().name());
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_death(EntityDeathEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" died in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_explode(EntityExplodeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i = event.getEntity();
if(i!=null)
file.log("["+i.getWorld().getName()+"] "+i.toString()+" has exploded in "+printLoc(i.getLocation()));
else
file.log("["+event.getLocation().getWorld().getName()+"] Something has exploded in "+printLoc(event.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_interact(EntityInteractEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i =event.getBlock();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+event.getEntity().toString()+" interacted with "+new ItemStack(i.getTypeId())+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_enter_portal(EntityPortalEnterEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i = event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+event.getEntity().toString()+" entered a portal in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_tame(EntityTameEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
if(plugin.isEventForbidden(plugin.getServer().getPlayer(event.getOwner().getName()), event.getClass()))
return;
file.log("["+i.getWorld().getName()+"] "+i.toString()+" was tamed by "+event.getOwner().getName()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void entity_teleport(EntityTeleportEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i = event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+event.getEntity().toString()+" was teleported from "+printLoc(event.getFrom())+" to "+printLoc(event.getTo()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void exp_bottle(ExpBottleEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] An exp bottle was thrown "+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void explosion_prime(ExplosionPrimeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i = event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+event.getEntity().toString()+" has exploded in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void food_level_change(FoodLevelChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i = event.getEntity();
if(i==null || !(i instanceof Player))
return;
if(plugin.isEventForbidden((Player) i, event.getClass()))
return;
file.log(printPlayer((Player)i)+"'s food level changed to "+event.getFoodLevel()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void item_spawn(ItemSpawnEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Item i = event.getEntity();
if(i==null)
return;
file.log("["+i.getWorld().getName()+"] "+i.getItemStack().toString()+" has spawned in "+printLoc(i.getLocation()));
}
/*
* INVENTORY EVENTS (3)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void inventory_open(InventoryOpenEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
HumanEntity i =event.getPlayer();
if(plugin.isEventForbidden((Player) event.getPlayer(), event.getClass()))
return;
file.log(printPlayer((Player) event.getPlayer())+" opened "+event.getView().getTitle()+" ("+event.getView().getType().name()+") in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void inventory_close(InventoryCloseEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
HumanEntity i =event.getPlayer();
if(plugin.isEventForbidden((Player) event.getPlayer(), event.getClass()))
return;
file.log(printPlayer((Player) event.getPlayer())+" closed "+event.getView().getTitle()+" ("+event.getView().getType().name()+") in "+printLoc(i.getLocation()));
}
private ItemStack lastItem = null;
private Inventory lastInv = null;
private int amount = -1;
@EventHandler (priority = EventPriority.MONITOR)
public void inventory_click(InventoryClickEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(event.getCurrentItem()==null)
return;
HumanEntity i =event.getWhoClicked();
if(plugin.isEventForbidden((Player) event.getWhoClicked(), event.getClass()))
return;
ItemStack item =event.getCursor();
/*
* True if it's to his inventory and false if it's from
* ( in fact we get the slot id of where he put the item and if he put in the top inv we guess that's from its inv and vice-versa )
*/
boolean toInv = event.getView().getBottomInventory().getSize()<=event.getRawSlot();
//If he stores something in
if(lastItem!=null && lastInv!=null && event.getView().getTopInventory().getType()==lastInv.getType() && item.getTypeId()==0){
//If he doesn't put the entire stack
lastItem.setAmount(amount);
if(toInv){
file.log(printPlayer((Player) event.getWhoClicked())+" put "+lastItem.toString()+" from "+lastInv.getType().name()+
" to his inventory in "+printLoc(i.getLocation()));
}
else{
file.log(printPlayer((Player) event.getWhoClicked())+" put "+lastItem.toString()+" from his inventory to "+event.getView().getType().name()+
" in "+printLoc(i.getLocation()));
}
//We store our informations
lastItem=item;
amount=item.getAmount();
lastInv=event.getView().getTopInventory();
}
else{
//We store our informations
lastItem=item;
amount=item.getAmount();
lastInv=event.getView().getTopInventory();
file.log(printPlayer((Player) event.getWhoClicked())+" clicked on "+item.toString()+" from "+event.getView().getTitle()+
" in "+printLoc(i.getLocation()));
}
}
/*
* PLAYER EVENTS (24)(Interact and InteractEntity == 1 event)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void player_login(PlayerLoginEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Player player = event.getPlayer();
String name = player.getName();
if(Main.isAdmin(player))
name="[Admin] "+name;
file.log(name+"("+event.getAddress().toString()+") tried to login, that's resulted to "+event.getResult().name());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_bed_enter(PlayerBedEnterEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block bed = event.getBed();
file.log(printPlayer(event.getPlayer())+" enters a bed in "+printLoc(bed.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_bed_leave(PlayerBedLeaveEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block bed = event.getBed();
file.log(printPlayer(event.getPlayer())+" leaves a bed in "+printLoc(bed.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_bucket_empty(PlayerBucketEmptyEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block where = event.getBlockClicked();
file.log(printPlayer(event.getPlayer())+" empties a bucket in "+printLoc(where.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_bucket_fill(PlayerBucketFillEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Block where = event.getBlockClicked();
file.log(printPlayer(event.getPlayer())+" filled a bucket in "+printLoc(where.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_change_world(PlayerChangedWorldEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+" changed world from "+event.getFrom().getName()+" to "+event.getPlayer().getWorld().getName());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_drop_item(PlayerDropItemEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Item i = event.getItemDrop();
file.log(printPlayer(event.getPlayer())+" has dropped "+i.getItemStack().toString()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_egg_throw(PlayerEggThrowEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Egg i =event.getEgg();
file.log(printPlayer(event.getPlayer())+" thrown an egg in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_exp_change(PlayerExpChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
int amount =event.getAmount();
file.log(printPlayer(event.getPlayer())+" earned "+amount+" xp(s) !");
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_game_mode_change(PlayerGameModeChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+" changed to gamemode "+event.getNewGameMode().name());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_item_break(PlayerItemBreakEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
ItemStack i =event.getBrokenItem();
file.log(printPlayer(event.getPlayer())+" broke his "+i.toString());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_join(PlayerJoinEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+" has joined");
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_kick(PlayerKickEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+" was kicked due to "+event.getReason()+" with message : "+event.getLeaveMessage());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_level_change(PlayerLevelChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+"'s lvl changed to lvl"+event.getNewLevel()+" from lvl"+event.getOldLevel());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_pickup_item(PlayerPickupItemEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Item i =event.getItem();
file.log(printPlayer(event.getPlayer())+" picked up item "+i.getItemStack().toString()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_portal(PlayerPortalEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Location i = event.getFrom();
Location f = event.getTo();
if(f==null)
return;
String s =printPlayer(event.getPlayer())+" was teleported from "+printLoc(i)+" to "+printLoc(f);
if(event.getCause() != null)
s+="due to "+event.getCause().name();
file.log(s);
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_quit(PlayerQuitEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
file.log(printPlayer(event.getPlayer())+" is now disconnected ");
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_respawn(PlayerRespawnEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Location i = event.getRespawnLocation();
file.log(printPlayer(event.getPlayer())+" respawned in "+printLoc(i));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_teleport(PlayerTeleportEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
Location i = event.getFrom();
Location f = event.getTo();
file.log(printPlayer(event.getPlayer())+" was teleported from "+printLoc(i)+" to "+printLoc(f)+" due to "+event.getCause().name());
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_toggle_fly(PlayerToggleFlightEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
if(event.isFlying())
file.log(printPlayer(event.getPlayer())+" started flying");
else
file.log(printPlayer(event.getPlayer())+" stopped flying");
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_toggle_sprint(PlayerToggleSprintEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
if(event.isSprinting())
file.log(printPlayer(event.getPlayer())+" started sprinting");
else
file.log(printPlayer(event.getPlayer())+" stopped sprinting");
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_toggle_sneak(PlayerToggleSneakEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
if(event.isSneaking())
file.log(printPlayer(event.getPlayer())+" started sneaking");
else
file.log(printPlayer(event.getPlayer())+" stopped sneaking");
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_death(PlayerDeathEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getEntity(), event.getClass()))
return;
file.log(printPlayer(event.getEntity())+" died : "+event.getDeathMessage()+". -- in"+printLoc(event.getEntity().getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_fish(PlayerFishEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
if(event.getState()==State.CAUGHT_ENTITY){
Entity i =event.getCaught();
if(i!=null)
file.log(printPlayer(event.getPlayer())+" fished "+i.toString()+printLoc(i.getLocation()));
}
else{
Player i =event.getPlayer();
file.log(printPlayer(event.getPlayer())+" is fishing("+event.getState().name()+") in "+printLoc(i.getLocation()));
}
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_interact_entity(PlayerInteractEntityEvent event){
if(!EventManager.isEnabled(PlayerInteractEvent.class, events))
return;
if(plugin.isEventForbidden(event.getPlayer(), PlayerInteractEvent.class))
return;
Entity i = event.getRightClicked();
file.log(printPlayer(event.getPlayer())+" interacted with "+i.toString()+" in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void player_interact(PlayerInteractEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
if(event.getAction()==Action.LEFT_CLICK_AIR || event.getAction()==Action.RIGHT_CLICK_AIR){
Player i = event.getPlayer();
if(event.hasItem())
file.log(printPlayer(event.getPlayer())+" interacted ("+event.getAction().name()+") in "+printLoc(i.getLocation())+" with "+event.getItem().toString());
else
file.log(printPlayer(event.getPlayer())+" interacted ("+event.getAction().name()+") in "+printLoc(i.getLocation())+" with his hand");
}
else{
Block i = event.getClickedBlock();
if(event.hasItem())
file.log(printPlayer(event.getPlayer())+" interacted ("+event.getAction().name()+")"+" in "+printLoc(i.getLocation())+" with "+event.getItem().toString());
else
file.log(printPlayer(event.getPlayer())+" interacted ("+event.getAction().name()+")"+" in "+printLoc(i.getLocation())+" with his hand");
}
}
/*
* VEHICLE EVENTS (4)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void vehicle_create(VehicleCreateEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Location loc = event.getVehicle().getLocation();
file.log(event.getVehicle().toString()+" was placed in "+printLoc(loc));
}
@EventHandler (priority = EventPriority.MONITOR)
public void vehicle_destroy(VehicleDestroyEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Location loc = event.getVehicle().getLocation();
String entity ="";
if(event.getAttacker()!=null)
entity=" by "+event.getAttacker().toString();
file.log(event.getVehicle().toString()+" was destroyed"+entity+" in "+printLoc(loc));
}
@EventHandler (priority = EventPriority.MONITOR)
public void vehicle_enter(VehicleEnterEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Location loc = event.getVehicle().getLocation();
String entity =event.getEntered().toString();
file.log(entity+" entered "+event.getVehicle().toString()+" in "+printLoc(loc));
}
@EventHandler (priority = EventPriority.MONITOR)
public void vehicle_exit(VehicleExitEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Location loc = event.getVehicle().getLocation();
String entity =event.getExited().toString();
file.log(entity+" exited "+event.getVehicle().toString()+" in "+printLoc(loc));
}
/*
* WEATHER EVENTS (3)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void lightning_strike(LightningStrikeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Entity i =event.getLightning();
file.log("["+event.getWorld().getName()+"] Lightning has striked in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void thunder_change(ThunderChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
boolean start =event.toThunderState();
String thunder ="thunder has stopped";
if(start)
thunder="thunder has started";
file.log("["+event.getWorld().getName()+"] "+thunder);
}
@EventHandler (priority = EventPriority.MONITOR)
public void weather_change(WeatherChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
boolean start =event.toWeatherState();
String rain ="rain has stopped";
if(start)
rain="rain has started";
file.log("["+event.getWorld().getName()+"] "+rain);
}
/*
* WORLD EVENTS (3)
*/
@EventHandler (priority = EventPriority.MONITOR)
public void onPortal(PortalCreateEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Block i = event.getBlocks().get(0);
file.log("["+event.getWorld().getName()+"] A portal was created in "+printLoc(i.getLocation()));
}
@EventHandler (priority = EventPriority.MONITOR)
public void onGrow(StructureGrowEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
String bonemeal ="";
if(event.isFromBonemeal()){
bonemeal = " due to bonemeal ";
if(event.getPlayer()!=null){
if(plugin.isEventForbidden(event.getPlayer(), event.getClass()))
return;
bonemeal+=" given by "+printPlayer(event.getPlayer());
}
}
Location i = event.getLocation();
file.log("["+event.getWorld().getName()+"] a "+event.getSpecies().name()+" grown in "+printLoc(i)+bonemeal);
}
@EventHandler (priority = EventPriority.MONITOR)
public void onSpawnChanges(SpawnChangeEvent event){
if(!EventManager.isEnabled(event.getClass(), events))
return;
Location from =event.getPreviousLocation();
Location to = event.getWorld().getSpawnLocation();
file.log("["+event.getWorld().getName()+"] Spawn was moved from "+printLoc(from)+"to "+printLoc(to));
}
/*
* STATIC USEFUL METHODS
*/
public static String printPlayer(Player player) {
if(player==null)
return "Someone";
String name = player.getName();
if(Main.isAdmin(player))
name="[Admin] "+name;
name="{"+player.getWorld().getName()+"}("+player.getGameMode().name()+")"+name;
return name;
}
public static String printLoc(Location loc){
return "{"+loc.getWorld().getName()+"}["+(int)loc.getX()+","+(int)loc.getY()+","+(int)loc.getZ()+"]";
}
}