mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 07:06:44 +01:00
Tweaks
This commit is contained in:
parent
6758628cba
commit
00ab472ba6
@ -53,6 +53,9 @@ public class MusicSubcommand extends SubCommand {
|
||||
PlotInventory inv = new PlotInventory(player, 2, "Plot Jukebox") {
|
||||
public boolean onClick(int index) {
|
||||
PlotItemStack item = getItem(index);
|
||||
if (item == null) {
|
||||
return true;
|
||||
}
|
||||
int id = item.id == 7 ? 0 : item.id;
|
||||
if (id == 0) {
|
||||
FlagManager.removePlotFlag(plot, "music");
|
||||
|
@ -1372,37 +1372,133 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
if (event.getTo() == null || event.getFrom() == null) {
|
||||
return;
|
||||
}
|
||||
final Location f = BukkitUtil.getLocation(event.getFrom());
|
||||
final Location t = BukkitUtil.getLocation(event.getTo());
|
||||
final Location q = new Location(t.getWorld(), t.getX(), 64, t.getZ());
|
||||
final Player player = event.getPlayer();
|
||||
if (PS.get().isPlotWorld(q.getWorld())) {
|
||||
final Plot plot = MainUtil.getPlot(q);
|
||||
if (plot != null) {
|
||||
final PlotPlayer pp = BukkitUtil.getPlayer(player);
|
||||
if (plot.isDenied(pp.getUUID())) {
|
||||
if (Permissions.hasPermission(pp, "plots.admin.enter.denied")) {
|
||||
final org.bukkit.Location from = event.getFrom();
|
||||
final org.bukkit.Location to = event.getTo();
|
||||
|
||||
int x2;
|
||||
if (getInt(from.getX()) != (x2 = getInt(to.getX()))) {
|
||||
String worldname = to.getWorld().getName();
|
||||
PlotWorld plotworld = PS.get().getPlotWorld(worldname);
|
||||
if (plotworld == null) {
|
||||
return;
|
||||
}
|
||||
MainUtil.sendMessage(pp, C.YOU_BE_DENIED);
|
||||
event.setCancelled(true);
|
||||
PlotManager plotManager = PS.get().getPlotManager(worldname);
|
||||
PlotId id = plotManager.getPlotId(plotworld, x2, 0, getInt(to.getZ()));
|
||||
Player player = event.getPlayer();
|
||||
PlotPlayer pp = BukkitUtil.getPlayer(player);
|
||||
Plot lastPlot = (Plot) pp.getMeta("lastplot");
|
||||
if (id == null) {
|
||||
if (lastPlot == null) {
|
||||
return;
|
||||
} else {
|
||||
if (MainUtil.enteredPlot(f, t)) {
|
||||
plotEntry(pp, plot);
|
||||
}
|
||||
if (!plotExit(pp, lastPlot)) {
|
||||
MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.exit.denied");
|
||||
if (lastPlot.equals(MainUtil.getPlot(BukkitUtil.getLocation(from)))) {
|
||||
player.teleport(from);
|
||||
}
|
||||
} else {
|
||||
if (MainUtil.leftPlot(f, t)) {
|
||||
final Plot plot2 = MainUtil.getPlot(f);
|
||||
plotExit(BukkitUtil.getPlayer(player), plot2);
|
||||
else {
|
||||
player.teleport(player.getWorld().getSpawnLocation());
|
||||
}
|
||||
}
|
||||
if ((q.getX() >= 29999999) || (q.getX() <= -29999999) || (q.getZ() >= 29999999) || (q.getZ() <= -29999999)) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (lastPlot != null && id.equals(lastPlot.id)) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
Plot plot = MainUtil.getPlot(worldname, id);
|
||||
if (!plotEntry(pp, plot)) {
|
||||
MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.entry.denied");
|
||||
if (!plot.equals(MainUtil.getPlot(BukkitUtil.getLocation(from)))) {
|
||||
player.teleport(from);
|
||||
}
|
||||
else {
|
||||
player.teleport(player.getWorld().getSpawnLocation());
|
||||
}
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
Integer border = MainUtil.worldBorder.get(worldname);
|
||||
if (border != null) {
|
||||
if (x2 > border) {
|
||||
to.setX(border - 4);
|
||||
player.teleport(event.getTo());
|
||||
MainUtil.sendMessage(pp, C.BORDER);
|
||||
return;
|
||||
}
|
||||
else if (x2 < -border) {
|
||||
to.setX(-border + 4);
|
||||
player.teleport(event.getTo());
|
||||
MainUtil.sendMessage(pp, C.BORDER);
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
int z2;
|
||||
if (getInt(from.getZ()) != (z2 = getInt(to.getZ())) ) {
|
||||
String worldname = to.getWorld().getName();
|
||||
PlotWorld plotworld = PS.get().getPlotWorld(worldname);
|
||||
if (plotworld == null) {
|
||||
return;
|
||||
}
|
||||
PlotManager plotManager = PS.get().getPlotManager(worldname);
|
||||
PlotId id = plotManager.getPlotId(plotworld, x2, 0, z2);
|
||||
Player player = event.getPlayer();
|
||||
PlotPlayer pp = BukkitUtil.getPlayer(player);
|
||||
Plot lastPlot = (Plot) pp.getMeta("lastplot");
|
||||
if (id == null) {
|
||||
if (lastPlot == null) {
|
||||
return;
|
||||
}
|
||||
if (!plotExit(pp, lastPlot)) {
|
||||
MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.exit.denied");
|
||||
if (lastPlot.equals(MainUtil.getPlot(BukkitUtil.getLocation(from)))) {
|
||||
player.teleport(from);
|
||||
}
|
||||
else {
|
||||
player.teleport(player.getWorld().getSpawnLocation());
|
||||
}
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (lastPlot != null && id.equals(lastPlot.id)) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
Plot plot = MainUtil.getPlot(worldname, id);
|
||||
if (!plotEntry(pp, plot)) {
|
||||
MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.entry.denied");
|
||||
if (!plot.equals(MainUtil.getPlot(BukkitUtil.getLocation(from)))) {
|
||||
player.teleport(from);
|
||||
}
|
||||
else {
|
||||
player.teleport(player.getWorld().getSpawnLocation());
|
||||
}
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
Integer border = MainUtil.worldBorder.get(worldname);
|
||||
if (border != null) {
|
||||
if (z2 > border) {
|
||||
to.setZ(border - 4);
|
||||
player.teleport(event.getTo());
|
||||
MainUtil.sendMessage(pp, C.BORDER);
|
||||
return;
|
||||
}
|
||||
else if (z2 < -border) {
|
||||
to.setZ(-border + 4);
|
||||
player.teleport(event.getTo());
|
||||
MainUtil.sendMessage(pp, C.BORDER);
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
@ -1460,6 +1556,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
if (inv != null && event.getRawSlot() == event.getSlot()) {
|
||||
if (!inv.onClick(event.getSlot())) {
|
||||
event.setCancelled(true);
|
||||
inv.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -120,7 +120,6 @@ public class WEListener implements Listener {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (!WEManager.regionContains(region, mask)) {
|
||||
MainUtil.sendMessage(pp, C.REQUIRE_SELECTION_IN_MASK, "pos1 + pos2");
|
||||
e.setCancelled(true);
|
||||
@ -129,6 +128,7 @@ public class WEListener implements Listener {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
long volume = Math.abs((pos1.getBlockX() - pos2.getBlockX()) * (pos1.getBlockY() - pos2.getBlockY()) * (pos1.getBlockZ() - pos2.getBlockZ())) * modifier;
|
||||
return checkVolume(pp, volume, max, e);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user