mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-25 22:56:45 +01:00
Implement PlotComponentSetEvent
This commit is contained in:
parent
ef60aeb017
commit
ceb8fb9fa3
@ -0,0 +1,56 @@
|
||||
package com.plotsquared.bukkit.events;
|
||||
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.object.PlotId;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
/**
|
||||
* Called when a plot component is set
|
||||
*
|
||||
*/
|
||||
public class PlotComponentSetEvent extends PlotEvent {
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private final String component;
|
||||
|
||||
public PlotComponentSetEvent(Plot plot, String component) {
|
||||
super(plot);
|
||||
this.component = component;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the PlotId
|
||||
*
|
||||
* @return PlotId
|
||||
*/
|
||||
public PlotId getPlotId() {
|
||||
return getPlot().getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the world name
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public String getWorld() {
|
||||
return getPlot().getArea().worldname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the component which was set
|
||||
*
|
||||
* @return Component name
|
||||
*/
|
||||
public String getComponent() {
|
||||
return this.component;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
@ -109,7 +109,6 @@ import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.projectiles.BlockProjectileSource;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
@ -18,6 +18,7 @@ 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.PlotComponentSetEvent;
|
||||
import com.plotsquared.bukkit.events.PlotDeleteEvent;
|
||||
import com.plotsquared.bukkit.events.PlotFlagAddEvent;
|
||||
import com.plotsquared.bukkit.events.PlotFlagRemoveEvent;
|
||||
@ -57,6 +58,11 @@ public class BukkitEventUtil extends EventUtil {
|
||||
return callEvent(new PlayerTeleportToPlotEvent(getPlayer(player), from, plot));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean callComponentSet(Plot plot, String component) {
|
||||
return callEvent(new PlotComponentSetEvent(plot, component));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean callClear(Plot plot) {
|
||||
return callEvent(new PlotClearEvent(plot));
|
||||
|
@ -7,9 +7,9 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
import com.intellectualcrafters.plot.object.PlotId;
|
||||
import com.intellectualcrafters.plot.object.PseudoRandom;
|
||||
import com.intellectualcrafters.plot.object.RegionWrapper;
|
||||
import com.intellectualcrafters.plot.util.EventUtil;
|
||||
import com.intellectualcrafters.plot.util.MainUtil;
|
||||
import com.intellectualcrafters.plot.util.SetQueue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
@ -22,27 +22,35 @@ public class ClassicPlotManager extends SquarePlotManager {
|
||||
switch (component) {
|
||||
case "floor":
|
||||
setFloor(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "wall":
|
||||
setWallFilling(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "all":
|
||||
setAll(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "air":
|
||||
setAir(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "main":
|
||||
setMain(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "middle":
|
||||
setMiddle(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "outline":
|
||||
setOutline(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
case "border":
|
||||
setWall(plotworld, plotid, blocks);
|
||||
EventUtil.manager.callComponentSet(plotworld.getPlot(plotid), component);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -31,6 +31,8 @@ public abstract class EventUtil {
|
||||
|
||||
public abstract boolean callTeleport(PlotPlayer player, Location from, Plot plot);
|
||||
|
||||
public abstract boolean callComponentSet(Plot plot, String component);
|
||||
|
||||
public abstract boolean callClear(Plot plot);
|
||||
|
||||
public abstract void callDelete(Plot plot);
|
||||
|
@ -26,6 +26,8 @@ public class EventUtilTest extends EventUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override public boolean callComponentSet(Plot plot, String component) { return false; }
|
||||
|
||||
@Override public boolean callClear(Plot plot) {
|
||||
return false;
|
||||
}
|
||||
|
@ -0,0 +1,54 @@
|
||||
package com.plotsquared.sponge.events;
|
||||
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
import org.spongepowered.api.event.cause.Cause;
|
||||
import org.spongepowered.api.event.impl.AbstractEvent;
|
||||
|
||||
import com.intellectualcrafters.plot.object.PlotId;
|
||||
|
||||
public class PlotComponentSetEvent extends AbstractEvent {
|
||||
private final Plot plot;
|
||||
private final String component;
|
||||
|
||||
/**
|
||||
* PlotDeleteEvent: Called when a plot is deleted
|
||||
*
|
||||
* @param plot The plot that was deleted
|
||||
*/
|
||||
public PlotComponentSetEvent(Plot plot, String component) {
|
||||
this.plot = plot;
|
||||
this.component = component;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the PlotId
|
||||
*
|
||||
* @return PlotId
|
||||
*/
|
||||
public PlotId getPlotId() {
|
||||
return this.plot.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the world name
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public String getWorld() {
|
||||
return this.plot.getArea().worldname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the component which was set
|
||||
*
|
||||
* @return Component name
|
||||
*/
|
||||
public String getComponent() {
|
||||
return this.component;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Cause getCause() {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -19,6 +19,7 @@ import com.plotsquared.sponge.events.PlayerPlotHelperEvent;
|
||||
import com.plotsquared.sponge.events.PlayerPlotTrustedEvent;
|
||||
import com.plotsquared.sponge.events.PlayerTeleportToPlotEvent;
|
||||
import com.plotsquared.sponge.events.PlotClearEvent;
|
||||
import com.plotsquared.sponge.events.PlotComponentSetEvent;
|
||||
import com.plotsquared.sponge.events.PlotDeleteEvent;
|
||||
import com.plotsquared.sponge.events.PlotFlagAddEvent;
|
||||
import com.plotsquared.sponge.events.PlotFlagRemoveEvent;
|
||||
@ -53,6 +54,11 @@ public class SpongeEventUtil extends EventUtil {
|
||||
return callEvent(new PlayerTeleportToPlotEvent(SpongeUtil.getPlayer(player), from, plot));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean callComponentSet(Plot plot, String component) {
|
||||
return callEvent(new PlotComponentSetEvent(plot, component));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean callClear(Plot plot) {
|
||||
return callEvent(new PlotClearEvent(plot));
|
||||
|
Loading…
Reference in New Issue
Block a user