2015-07-30 19:24:01 +02:00
|
|
|
package com.plotsquared.bukkit.util;
|
2015-02-23 06:29:45 +01:00
|
|
|
|
2015-07-30 16:25:16 +02:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.UUID;
|
|
|
|
|
2015-02-23 06:29:45 +01:00
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import org.bukkit.event.Cancellable;
|
|
|
|
import org.bukkit.event.Event;
|
|
|
|
|
2015-07-30 16:25:16 +02:00
|
|
|
import com.intellectualcrafters.plot.flag.Flag;
|
|
|
|
import com.intellectualcrafters.plot.object.Location;
|
|
|
|
import com.intellectualcrafters.plot.object.Plot;
|
|
|
|
import com.intellectualcrafters.plot.object.PlotCluster;
|
|
|
|
import com.intellectualcrafters.plot.object.PlotId;
|
|
|
|
import com.intellectualcrafters.plot.object.PlotPlayer;
|
2015-08-08 09:36:02 +02:00
|
|
|
import com.intellectualcrafters.plot.object.Rating;
|
2015-07-30 16:25:16 +02:00
|
|
|
import com.intellectualcrafters.plot.util.EventUtil;
|
|
|
|
import com.plotsquared.bukkit.events.ClusterFlagRemoveEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerClaimPlotEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerEnterPlotEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerLeavePlotEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerPlotDeniedEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerPlotHelperEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerPlotTrustedEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlayerTeleportToPlotEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlotClearEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlotDeleteEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlotFlagAddEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlotFlagRemoveEvent;
|
|
|
|
import com.plotsquared.bukkit.events.PlotMergeEvent;
|
2015-08-08 09:36:02 +02:00
|
|
|
import com.plotsquared.bukkit.events.PlotRateEvent;
|
2015-07-30 16:25:16 +02:00
|
|
|
import com.plotsquared.bukkit.events.PlotUnlinkEvent;
|
|
|
|
import com.plotsquared.bukkit.object.BukkitPlayer;
|
2015-02-23 06:29:45 +01:00
|
|
|
|
|
|
|
public class BukkitEventUtil extends EventUtil {
|
|
|
|
|
|
|
|
public Player getPlayer(PlotPlayer player) {
|
2015-07-27 20:12:51 +02:00
|
|
|
if (player instanceof BukkitPlayer) {
|
|
|
|
return ((BukkitPlayer) player).player;
|
|
|
|
}
|
|
|
|
return null;
|
2015-02-23 06:29:45 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public boolean callEvent(Event event) {
|
|
|
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
|
|
|
if (event instanceof Cancellable) {
|
|
|
|
return !((Cancellable) event).isCancelled();
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callClaim(PlotPlayer player, Plot plot, boolean auto) {
|
|
|
|
return callEvent(new PlayerClaimPlotEvent(getPlayer(player), plot, auto));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callTeleport(PlotPlayer player, Location from, Plot plot) {
|
|
|
|
return callEvent(new PlayerTeleportToPlotEvent(getPlayer(player), from, plot));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callClear(String world, PlotId id) {
|
|
|
|
return callEvent(new PlotClearEvent(world, id));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void callDelete(String world, PlotId id) {
|
|
|
|
callEvent(new PlotDeleteEvent(world, id));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callFlagAdd(Flag flag, Plot plot) {
|
|
|
|
return callEvent(new PlotFlagAddEvent(flag, plot));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callFlagRemove(Flag flag, Plot plot) {
|
|
|
|
return callEvent(new PlotFlagRemoveEvent(flag, plot));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callMerge(String world, Plot plot, ArrayList<PlotId> plots) {
|
|
|
|
return callEvent(new PlotMergeEvent(BukkitUtil.getWorld(world), plot, plots));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callUnlink(String world, ArrayList<PlotId> plots) {
|
|
|
|
return callEvent(new PlotUnlinkEvent(BukkitUtil.getWorld(world), plots));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void callEntry(PlotPlayer player, Plot plot) {
|
|
|
|
callEvent(new PlayerEnterPlotEvent(getPlayer(player), plot));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void callLeave(PlotPlayer player, Plot plot) {
|
|
|
|
callEvent(new PlayerLeavePlotEvent(getPlayer(player), plot));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void callDenied(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
|
|
|
callEvent(new PlayerPlotDeniedEvent(getPlayer(initiator), plot, player, added));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2015-05-14 14:55:57 +02:00
|
|
|
public void callTrusted(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
2015-02-23 06:29:45 +01:00
|
|
|
callEvent(new PlayerPlotHelperEvent(getPlayer(initiator), plot, player, added));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2015-05-14 14:55:57 +02:00
|
|
|
public void callMember(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
2015-02-23 06:29:45 +01:00
|
|
|
callEvent(new PlayerPlotTrustedEvent(getPlayer(initiator), plot, player, added));
|
|
|
|
}
|
2015-06-23 23:44:44 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean callFlagRemove(Flag flag, PlotCluster cluster) {
|
|
|
|
return callEvent(new ClusterFlagRemoveEvent(flag, cluster));
|
|
|
|
}
|
2015-08-08 09:36:02 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public Rating callRating(PlotPlayer player, Plot plot, Rating rating) {
|
|
|
|
PlotRateEvent event = new PlotRateEvent(player, rating, plot);
|
|
|
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
|
|
|
return event.getRating();
|
|
|
|
}
|
2015-02-23 06:29:45 +01:00
|
|
|
|
|
|
|
}
|