PlotSquared/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitEventUtil.java

128 lines
4.7 KiB
Java
Raw Normal View History

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 com.intellectualcrafters.plot.flag.Flag;
import com.intellectualcrafters.plot.object.Location;
import com.intellectualcrafters.plot.object.Plot;
2016-02-10 19:59:51 +01:00
import com.intellectualcrafters.plot.object.PlotArea;
2015-07-30 16:25:16 +02:00
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;
2016-02-11 02:37:21 +01:00
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import java.util.ArrayList;
import java.util.UUID;
2015-02-23 06:29:45 +01:00
2015-09-13 06:04:31 +02:00
public class BukkitEventUtil extends EventUtil {
2015-09-13 06:04:31 +02:00
public Player getPlayer(final PlotPlayer player) {
if (player instanceof BukkitPlayer) {
return ((BukkitPlayer) player).player;
}
2015-07-27 20:12:51 +02:00
return null;
2015-02-23 06:29:45 +01:00
}
2015-09-13 06:04:31 +02:00
public boolean callEvent(final Event event) {
2015-02-23 06:29:45 +01:00
Bukkit.getServer().getPluginManager().callEvent(event);
return !(event instanceof Cancellable) || !((Cancellable) event).isCancelled();
2015-02-23 06:29:45 +01:00
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public boolean callClaim(final PlotPlayer player, final Plot plot, final boolean auto) {
2015-02-23 06:29:45 +01:00
return callEvent(new PlayerClaimPlotEvent(getPlayer(player), plot, auto));
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public boolean callTeleport(final PlotPlayer player, final Location from, final Plot plot) {
2015-02-23 06:29:45 +01:00
return callEvent(new PlayerTeleportToPlotEvent(getPlayer(player), from, plot));
}
2015-02-23 06:29:45 +01:00
@Override
2016-02-10 19:59:51 +01:00
public boolean callClear(final Plot plot) {
return callEvent(new PlotClearEvent(plot));
2015-02-23 06:29:45 +01:00
}
2015-02-23 06:29:45 +01:00
@Override
2016-02-10 19:59:51 +01:00
public void callDelete(final Plot plot) {
callEvent(new PlotDeleteEvent(plot));
2015-02-23 06:29:45 +01:00
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public boolean callFlagAdd(final Flag flag, final Plot plot) {
2015-02-23 06:29:45 +01:00
return callEvent(new PlotFlagAddEvent(flag, plot));
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public boolean callFlagRemove(final Flag flag, final Plot plot) {
2015-02-23 06:29:45 +01:00
return callEvent(new PlotFlagRemoveEvent(flag, plot));
}
2015-02-23 06:29:45 +01:00
@Override
2016-02-10 19:59:51 +01:00
public boolean callMerge(final Plot plot, final ArrayList<PlotId> plots) {
2016-02-11 02:37:21 +01:00
return callEvent(new PlotMergeEvent(BukkitUtil.getWorld(plot.getArea().worldname), plot, plots));
2015-02-23 06:29:45 +01:00
}
2015-02-23 06:29:45 +01:00
@Override
2016-02-10 19:59:51 +01:00
public boolean callUnlink(final PlotArea area, final ArrayList<PlotId> plots) {
return callEvent(new PlotUnlinkEvent(BukkitUtil.getWorld(area.worldname), area, plots));
2015-02-23 06:29:45 +01:00
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public void callEntry(final PlotPlayer player, final Plot plot) {
2015-02-23 06:29:45 +01:00
callEvent(new PlayerEnterPlotEvent(getPlayer(player), plot));
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public void callLeave(final PlotPlayer player, final Plot plot) {
2015-02-23 06:29:45 +01:00
callEvent(new PlayerLeavePlotEvent(getPlayer(player), plot));
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public void callDenied(final PlotPlayer initiator, final Plot plot, final UUID player, final boolean added) {
2015-02-23 06:29:45 +01:00
callEvent(new PlayerPlotDeniedEvent(getPlayer(initiator), plot, player, added));
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public void callTrusted(final PlotPlayer initiator, final Plot plot, final UUID player, final boolean added) {
2015-02-23 06:29:45 +01:00
callEvent(new PlayerPlotHelperEvent(getPlayer(initiator), plot, player, added));
}
2015-02-23 06:29:45 +01:00
@Override
2015-09-13 06:04:31 +02:00
public void callMember(final PlotPlayer initiator, final Plot plot, final UUID player, final boolean added) {
2015-02-23 06:29:45 +01:00
callEvent(new PlayerPlotTrustedEvent(getPlayer(initiator), plot, player, added));
}
@Override
2015-09-13 06:04:31 +02:00
public boolean callFlagRemove(final Flag flag, final PlotCluster cluster) {
return callEvent(new ClusterFlagRemoveEvent(flag, cluster));
}
2015-08-08 09:36:02 +02:00
@Override
2015-09-13 06:04:31 +02:00
public Rating callRating(final PlotPlayer player, final Plot plot, final Rating rating) {
2015-09-11 12:09:22 +02:00
final PlotRateEvent event = new PlotRateEvent(player, rating, plot);
2015-08-08 09:36:02 +02:00
Bukkit.getServer().getPluginManager().callEvent(event);
return event.getRating();
}
2015-02-23 06:29:45 +01:00
}