mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 07:06:44 +01:00
Bug Fix and Cleanup
This commit is contained in:
parent
669359cd37
commit
8f3d35bca3
@ -620,11 +620,14 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain
|
|||||||
public PlotPlayer wrapPlayer(Object player) {
|
public PlotPlayer wrapPlayer(Object player) {
|
||||||
if (player instanceof Player) {
|
if (player instanceof Player) {
|
||||||
return BukkitUtil.getPlayer((Player) player);
|
return BukkitUtil.getPlayer((Player) player);
|
||||||
} else if (player instanceof OfflinePlayer) {
|
}
|
||||||
|
if (player instanceof OfflinePlayer) {
|
||||||
return BukkitUtil.getPlayer((OfflinePlayer) player);
|
return BukkitUtil.getPlayer((OfflinePlayer) player);
|
||||||
} else if (player instanceof String) {
|
}
|
||||||
|
if (player instanceof String) {
|
||||||
return UUIDHandler.getPlayer((String) player);
|
return UUIDHandler.getPlayer((String) player);
|
||||||
} else if (player instanceof UUID) {
|
}
|
||||||
|
if (player instanceof UUID) {
|
||||||
return UUIDHandler.getPlayer((UUID) player);
|
return UUIDHandler.getPlayer((UUID) player);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -192,7 +192,7 @@ public abstract class TextualComponent implements Cloneable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TextualComponent clone() throws CloneNotSupportedException {
|
public TextualComponent clone() {
|
||||||
// Since this is a private and final class, we can just reinstantiate this class instead of casting super.clone
|
// Since this is a private and final class, we can just reinstantiate this class instead of casting super.clone
|
||||||
return new ArbitraryTextTypeComponent(getKey(), getValue());
|
return new ArbitraryTextTypeComponent(getKey(), getValue());
|
||||||
}
|
}
|
||||||
@ -266,7 +266,7 @@ public abstract class TextualComponent implements Cloneable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TextualComponent clone() throws CloneNotSupportedException {
|
public TextualComponent clone() {
|
||||||
// Since this is a private and final class, we can just reinstantiate this class instead of casting super.clone
|
// Since this is a private and final class, we can just reinstantiate this class instead of casting super.clone
|
||||||
return new ComplexTextTypeComponent(getKey(), getValue());
|
return new ComplexTextTypeComponent(getKey(), getValue());
|
||||||
}
|
}
|
||||||
|
@ -264,7 +264,7 @@ public class LikePlotMeConverter {
|
|||||||
sendMessage("Saving configuration...");
|
sendMessage("Saving configuration...");
|
||||||
try {
|
try {
|
||||||
PS.get().config.save(PS.get().configFile);
|
PS.get().config.save(PS.get().configFile);
|
||||||
} catch (IOException e) {
|
} catch (IOException ignored) {
|
||||||
sendMessage(" - &cFailed to save configuration.");
|
sendMessage(" - &cFailed to save configuration.");
|
||||||
}
|
}
|
||||||
TaskManager.runTask(new Runnable() {
|
TaskManager.runTask(new Runnable() {
|
||||||
@ -293,7 +293,7 @@ public class LikePlotMeConverter {
|
|||||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv unload " + actualWorldName);
|
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv unload " + actualWorldName);
|
||||||
try {
|
try {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException ignored) {
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
}
|
}
|
||||||
// load world with MV
|
// load world with MV
|
||||||
@ -304,7 +304,7 @@ public class LikePlotMeConverter {
|
|||||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mw unload " + actualWorldName);
|
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mw unload " + actualWorldName);
|
||||||
try {
|
try {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException ignored) {
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
}
|
}
|
||||||
// load world with MW
|
// load world with MW
|
||||||
|
@ -196,8 +196,9 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (plot.getFlag(Flags.REDSTONE).isPresent()) {
|
Optional<Boolean> flag = plot.getFlag(Flags.REDSTONE);
|
||||||
if (plot.getFlag(Flags.REDSTONE).get()) {
|
if (flag.isPresent()) {
|
||||||
|
if (flag.get()) {
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
event.setNewCurrent(0);
|
event.setNewCurrent(0);
|
||||||
@ -245,7 +246,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (plot.getFlag(Flags.REDSTONE).isPresent() && !plot.getFlag(Flags.REDSTONE).get()) {
|
Optional<Boolean> flag = plot.getFlag(Flags.REDSTONE);
|
||||||
|
if (flag.isPresent() && !flag.get()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -322,7 +324,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
entity.remove();
|
entity.remove();
|
||||||
return false;
|
return false;
|
||||||
} else if (!(shooter instanceof Entity) && shooter != null) {
|
}
|
||||||
|
if (!(shooter instanceof Entity) && shooter != null) {
|
||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
entity.remove();
|
entity.remove();
|
||||||
return false;
|
return false;
|
||||||
@ -374,7 +377,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
String c = parts[0];
|
String c = parts[0];
|
||||||
if (parts[0].contains(":")) {
|
if (parts[0].contains(":")) {
|
||||||
c = parts[0].split(":")[1];
|
c = parts[0].split(":")[1];
|
||||||
msg = msg.replace(parts[0].split(":")[0] + ":", "");
|
msg = msg.replace(parts[0].split(":")[0] + ':', "");
|
||||||
}
|
}
|
||||||
String l = c;
|
String l = c;
|
||||||
List<String> aliases = new ArrayList<>();
|
List<String> aliases = new ArrayList<>();
|
||||||
@ -513,7 +516,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
player.teleport(event.getTo());
|
player.teleport(event.getTo());
|
||||||
MainUtil.sendMessage(pp, C.BORDER);
|
MainUtil.sendMessage(pp, C.BORDER);
|
||||||
return;
|
return;
|
||||||
} else if (x2 < -border) {
|
}
|
||||||
|
if (x2 < -border) {
|
||||||
to.setX(-border + 4);
|
to.setX(-border + 4);
|
||||||
player.teleport(event.getTo());
|
player.teleport(event.getTo());
|
||||||
MainUtil.sendMessage(pp, C.BORDER);
|
MainUtil.sendMessage(pp, C.BORDER);
|
||||||
@ -633,7 +637,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_DESTROY_UNOWNED);
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_DESTROY_UNOWNED);
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
} else if (!plot.isAdded(pp.getUUID())) {
|
}
|
||||||
|
if (!plot.isAdded(pp.getUUID())) {
|
||||||
Optional<HashSet<PlotBlock>> destroy = plot.getFlag(Flags.BREAK);
|
Optional<HashSet<PlotBlock>> destroy = plot.getFlag(Flags.BREAK);
|
||||||
Block block = event.getBlock();
|
Block block = event.getBlock();
|
||||||
if (destroy.isPresent() && destroy.get()
|
if (destroy.isPresent() && destroy.get()
|
||||||
@ -686,7 +691,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
Plot plot = area.getOwnedPlot(location);
|
Plot plot = area.getOwnedPlot(location);
|
||||||
if (plot != null) {
|
if (plot != null) {
|
||||||
if (plot.getFlag(Flags.EXPLOSION).isPresent() && plot.getFlag(Flags.EXPLOSION).get()) {
|
Optional<Boolean> flag = plot.getFlag(Flags.EXPLOSION);
|
||||||
|
if (flag.isPresent() && flag.get()) {
|
||||||
List<MetadataValue> meta = event.getEntity().getMetadata("plot");
|
List<MetadataValue> meta = event.getEntity().getMetadata("plot");
|
||||||
Plot origin;
|
Plot origin;
|
||||||
if (meta.isEmpty()) {
|
if (meta.isEmpty()) {
|
||||||
@ -780,19 +786,23 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Plot plot = area.getOwnedPlot(location);
|
Plot plot = area.getOwnedPlot(location);
|
||||||
|
Optional<Boolean> flag;
|
||||||
switch (block.getType()) {
|
switch (block.getType()) {
|
||||||
case GRASS:
|
case GRASS:
|
||||||
if (plot.getFlag(Flags.GRASS_GROW).isPresent() && plot.getFlag(Flags.GRASS_GROW).get()) {
|
flag = plot.getFlag(Flags.GRASS_GROW);
|
||||||
|
if (flag.isPresent() && flag.get()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MYCEL:
|
case MYCEL:
|
||||||
if (plot.getFlag(Flags.MYCEL_GROW).isPresent() && plot.getFlag(Flags.MYCEL_GROW).get()) {
|
flag = plot.getFlag(Flags.MYCEL_GROW);
|
||||||
|
if (flag.isPresent() && flag.get()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case VINE:
|
case VINE:
|
||||||
if (plot.getFlag(Flags.VINE_GROW).isPresent() && plot.getFlag(Flags.VINE_GROW).get()) {
|
flag = plot.getFlag(Flags.VINE_GROW);
|
||||||
|
if (flag.isPresent() && flag.get()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -831,10 +841,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
if (!plot.isAdded(pp.getUUID())) {
|
if (!plot.isAdded(pp.getUUID())) {
|
||||||
Optional<HashSet<PlotBlock>> destroy = plot.getFlag(Flags.BREAK);
|
Optional<HashSet<PlotBlock>> destroy = plot.getFlag(Flags.BREAK);
|
||||||
Block block = event.getBlock();
|
Block block = event.getBlock();
|
||||||
if (destroy.isPresent() && destroy.get().contains(new PlotBlock((short) block.getTypeId(), block.getData()))) {
|
if (destroy.isPresent() && destroy.get().contains(new PlotBlock((short) block.getTypeId(), block.getData())) || Permissions
|
||||||
return;
|
.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||||
}
|
|
||||||
if (Permissions.hasPermission(pp, C.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -850,8 +858,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onFade(BlockFadeEvent e) {
|
public void onFade(BlockFadeEvent event) {
|
||||||
Block b = e.getBlock();
|
Block b = event.getBlock();
|
||||||
Location location = BukkitUtil.getLocation(b.getLocation());
|
Location location = BukkitUtil.getLocation(b.getLocation());
|
||||||
PlotArea area = location.getPlotArea();
|
PlotArea area = location.getPlotArea();
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
@ -859,7 +867,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
Plot plot = area.getOwnedPlot(location);
|
Plot plot = area.getOwnedPlot(location);
|
||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
switch (b.getType()) {
|
switch (b.getType()) {
|
||||||
@ -867,7 +875,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
Optional<Boolean> ice_melt = plot.getFlag(Flags.ICE_MELT);
|
Optional<Boolean> ice_melt = plot.getFlag(Flags.ICE_MELT);
|
||||||
if (ice_melt.isPresent()) {
|
if (ice_melt.isPresent()) {
|
||||||
if (!ice_melt.get()) {
|
if (!ice_melt.get()) {
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -875,7 +883,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
Optional<Boolean> snow_melt = plot.getFlag(Flags.SNOW_MELT);
|
Optional<Boolean> snow_melt = plot.getFlag(Flags.SNOW_MELT);
|
||||||
if (snow_melt.isPresent()) {
|
if (snow_melt.isPresent()) {
|
||||||
if (!snow_melt.get()) {
|
if (!snow_melt.get()) {
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -883,7 +891,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
Optional<Boolean> soil_dry = plot.getFlag(Flags.SOIL_DRY);
|
Optional<Boolean> soil_dry = plot.getFlag(Flags.SOIL_DRY);
|
||||||
if (soil_dry.isPresent()) {
|
if (soil_dry.isPresent()) {
|
||||||
if (!soil_dry.get()) {
|
if (!soil_dry.get()) {
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -902,9 +910,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
Plot plot = area.getOwnedPlot(tLocation);
|
Plot plot = area.getOwnedPlot(tLocation);
|
||||||
Location fLocation = BukkitUtil.getLocation(from.getLocation());
|
Location fLocation = BukkitUtil.getLocation(from.getLocation());
|
||||||
if (plot != null) {
|
if (plot != null) {
|
||||||
if (plot.getFlag(Flags.DISABLE_PHYSICS).or(false)) {
|
if (plot.getFlag(Flags.DISABLE_PHYSICS).or(false) || !area.contains(fLocation.getX(), fLocation.getZ()) || !Objects
|
||||||
event.setCancelled(true);
|
.equals(plot, area.getOwnedPlot(fLocation))) {
|
||||||
} else if (!area.contains(fLocation.getX(), fLocation.getZ()) || !Objects.equals(plot, area.getOwnedPlot(fLocation))) {
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
} else if (!area.contains(fLocation.getX(), fLocation.getZ()) || !Objects.equals(plot, area.getOwnedPlot(fLocation))) {
|
} else if (!area.contains(fLocation.getX(), fLocation.getZ()) || !Objects.equals(plot, area.getOwnedPlot(fLocation))) {
|
||||||
@ -977,7 +984,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (Throwable ignored) {
|
||||||
this.pistonBlocks = false;
|
this.pistonBlocks = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1006,7 +1013,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (Throwable ignored) {
|
||||||
this.pistonBlocks = false;
|
this.pistonBlocks = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1183,7 +1190,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
eventType = PlayerBlockEventType.INTERACT_BLOCK;
|
eventType = PlayerBlockEventType.INTERACT_BLOCK;
|
||||||
lb = new BukkitLazyBlock(0, block);
|
lb = new BukkitLazyBlock(0, block);
|
||||||
break;
|
break;
|
||||||
} else if (id < 198) {
|
}
|
||||||
|
if (id < 198) {
|
||||||
location = BukkitUtil.getLocation(block.getRelative(event.getBlockFace()).getLocation());
|
location = BukkitUtil.getLocation(block.getRelative(event.getBlockFace()).getLocation());
|
||||||
eventType = PlayerBlockEventType.PLACE_BLOCK;
|
eventType = PlayerBlockEventType.PLACE_BLOCK;
|
||||||
lb = new BukkitLazyBlock(id, block);
|
lb = new BukkitLazyBlock(id, block);
|
||||||
@ -1341,11 +1349,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Plot plot = area.getOwnedPlotAbs(location);
|
Plot plot = area.getOwnedPlotAbs(location);
|
||||||
if (plot == null) {
|
if (plot == null || plot.getFlag(Flags.DISABLE_PHYSICS).or(false)) {
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (plot.getFlag(Flags.DISABLE_PHYSICS).or(false)) {
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1411,7 +1415,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean checkEntity(Entity entity, Plot plot) {
|
public boolean checkEntity(Entity entity, Plot plot) {
|
||||||
if (plot == null || plot.owner == null || plot.getFlags().isEmpty() && plot.getArea().DEFAULT_FLAGS.isEmpty()) {
|
if (plot == null || !plot.hasOwner() || plot.getFlags().isEmpty() && plot.getArea().DEFAULT_FLAGS.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
switch (entity.getType()) {
|
switch (entity.getType()) {
|
||||||
@ -1509,9 +1513,11 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
} else {
|
} else {
|
||||||
return checkEntity(plot, Flags.ENTITY_CAP, Flags.MOB_CAP);
|
return checkEntity(plot, Flags.ENTITY_CAP, Flags.MOB_CAP);
|
||||||
}
|
}
|
||||||
} else if (entity instanceof Vehicle) {
|
}
|
||||||
|
if (entity instanceof Vehicle) {
|
||||||
return checkEntity(plot, Flags.ENTITY_CAP, Flags.VEHICLE_CAP);
|
return checkEntity(plot, Flags.ENTITY_CAP, Flags.VEHICLE_CAP);
|
||||||
} else if (entity instanceof Hanging) {
|
}
|
||||||
|
if (entity instanceof Hanging) {
|
||||||
return checkEntity(plot, Flags.ENTITY_CAP, Flags.MISC_CAP);
|
return checkEntity(plot, Flags.ENTITY_CAP, Flags.MISC_CAP);
|
||||||
}
|
}
|
||||||
return checkEntity(plot, Flags.ENTITY_CAP);
|
return checkEntity(plot, Flags.ENTITY_CAP);
|
||||||
@ -1519,8 +1525,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onBlockBurn(BlockBurnEvent e) {
|
public void onBlockBurn(BlockBurnEvent event) {
|
||||||
Block b = e.getBlock();
|
Block b = event.getBlock();
|
||||||
Location location = BukkitUtil.getLocation(b.getLocation());
|
Location location = BukkitUtil.getLocation(b.getLocation());
|
||||||
|
|
||||||
PlotArea area = location.getPlotArea();
|
PlotArea area = location.getPlotArea();
|
||||||
@ -1530,8 +1536,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
|
|
||||||
Plot plot = location.getOwnedPlot();
|
Plot plot = location.getOwnedPlot();
|
||||||
if (plot == null || !plot.getFlag(Flags.BLOCK_BURN).or(false)) {
|
if (plot == null || !plot.getFlag(Flags.BLOCK_BURN).or(false)) {
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1582,8 +1587,13 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
} else if (!plot.getFlag(Flags.BLOCK_IGNITION).or(false)) {
|
} else if (!plot.getFlag(Flags.BLOCK_IGNITION).or(false)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
} else if (ignitingEntity != null) {
|
} else {
|
||||||
if (plot == null || !plot.getFlag(Flags.BLOCK_IGNITION).or(false)) {
|
if (plot == null) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (ignitingEntity != null) {
|
||||||
|
if (!plot.getFlag(Flags.BLOCK_IGNITION).or(false)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1598,7 +1608,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
Block shooter = ((BlockProjectileSource) fireball.getShooter()).getBlock();
|
Block shooter = ((BlockProjectileSource) fireball.getShooter()).getBlock();
|
||||||
location = BukkitUtil.getLocation(shooter.getLocation());
|
location = BukkitUtil.getLocation(shooter.getLocation());
|
||||||
}
|
}
|
||||||
if (location != null && (location.getPlot() == null || !location.getPlot().equals(plot))) {
|
if (location != null && !plot.equals(location.getPlot())) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1606,32 +1616,12 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
|
|
||||||
} else if (event.getIgnitingBlock() != null) {
|
} else if (event.getIgnitingBlock() != null) {
|
||||||
Block ignitingBlock = event.getIgnitingBlock();
|
Block ignitingBlock = event.getIgnitingBlock();
|
||||||
if (igniteCause == BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL) {
|
Plot plotIgnited = BukkitUtil.getLocation(ignitingBlock.getLocation()).getPlot();
|
||||||
if (plot == null || !plot.getFlag(Flags.BLOCK_IGNITION).or(false)) {
|
if (igniteCause == BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL && (!plot.getFlag(Flags.BLOCK_IGNITION).or(false)
|
||||||
|
|| plotIgnited == null || !plotIgnited.equals(plot))
|
||||||
|
|| (igniteCause == BlockIgniteEvent.IgniteCause.SPREAD || igniteCause == BlockIgniteEvent.IgniteCause.LAVA) && (
|
||||||
|
!plot.getFlag(Flags.BLOCK_IGNITION).or(false) || plotIgnited == null || !plotIgnited.equals(plot))) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (BukkitUtil.getLocation(ignitingBlock.getLocation()).getPlot() == null) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!BukkitUtil.getLocation(ignitingBlock.getLocation()).getPlot().equals(plot)) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (igniteCause == BlockIgniteEvent.IgniteCause.SPREAD || igniteCause == BlockIgniteEvent.IgniteCause.LAVA) {
|
|
||||||
if (plot == null || !plot.getFlag(Flags.BLOCK_IGNITION).or(false)) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (BukkitUtil.getLocation(ignitingBlock.getLocation()).getPlot() == null) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!BukkitUtil.getLocation(ignitingBlock.getLocation()).getPlot().equals(plot)) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1931,7 +1921,8 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
} else if (!plot.isAdded(pp.getUUID())) {
|
}
|
||||||
|
if (!plot.isAdded(pp.getUUID())) {
|
||||||
if (!plot.getFlag(Flags.HANGING_PLACE).or(false)) {
|
if (!plot.getFlag(Flags.HANGING_PLACE).or(false)) {
|
||||||
if (!Permissions.hasPermission(pp, C.PERMISSION_ADMIN_BUILD_OTHER)) {
|
if (!Permissions.hasPermission(pp, C.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_OTHER);
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_OTHER);
|
||||||
@ -2055,13 +2046,13 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onVehicleDestroy(VehicleDestroyEvent e) {
|
public void onVehicleDestroy(VehicleDestroyEvent event) {
|
||||||
Location l = BukkitUtil.getLocation(e.getVehicle());
|
Location l = BukkitUtil.getLocation(event.getVehicle());
|
||||||
PlotArea area = l.getPlotArea();
|
PlotArea area = l.getPlotArea();
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Entity d = e.getAttacker();
|
Entity d = event.getAttacker();
|
||||||
if (d instanceof Player) {
|
if (d instanceof Player) {
|
||||||
Player p = (Player) d;
|
Player p = (Player) d;
|
||||||
PlotPlayer pp = BukkitUtil.getPlayer(p);
|
PlotPlayer pp = BukkitUtil.getPlayer(p);
|
||||||
@ -2069,13 +2060,13 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
if (!Permissions.hasPermission(pp, "plots.admin.vehicle.break.road")) {
|
if (!Permissions.hasPermission(pp, "plots.admin.vehicle.break.road")) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.vehicle.break.road");
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.vehicle.break.road");
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!plot.hasOwner()) {
|
if (!plot.hasOwner()) {
|
||||||
if (!Permissions.hasPermission(pp, "plots.admin.vehicle.break.unowned")) {
|
if (!Permissions.hasPermission(pp, "plots.admin.vehicle.break.unowned")) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.vehicle.break.unowned");
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.vehicle.break.unowned");
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -2086,7 +2077,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
if (!Permissions.hasPermission(pp, "plots.admin.vehicle.break.other")) {
|
if (!Permissions.hasPermission(pp, "plots.admin.vehicle.break.other")) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.vehicle.break.other");
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.vehicle.break.other");
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2113,15 +2104,15 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent e) {
|
public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent event) {
|
||||||
Entity damager = e.getDamager();
|
Entity damager = event.getDamager();
|
||||||
Location l = BukkitUtil.getLocation(damager);
|
Location l = BukkitUtil.getLocation(damager);
|
||||||
if (!PS.get().hasPlotArea(l.getWorld())) {
|
if (!PS.get().hasPlotArea(l.getWorld())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Entity victim = e.getEntity();
|
Entity victim = event.getEntity();
|
||||||
if (!entityDamage(damager, victim)) {
|
if (!entityDamage(damager, victim)) {
|
||||||
e.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2267,29 +2258,29 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onPlayerEggThrow(PlayerEggThrowEvent e) {
|
public void onPlayerEggThrow(PlayerEggThrowEvent event) {
|
||||||
Location l = BukkitUtil.getLocation(e.getEgg().getLocation());
|
Location l = BukkitUtil.getLocation(event.getEgg().getLocation());
|
||||||
PlotArea area = l.getPlotArea();
|
PlotArea area = l.getPlotArea();
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Player p = e.getPlayer();
|
Player p = event.getPlayer();
|
||||||
PlotPlayer pp = BukkitUtil.getPlayer(p);
|
PlotPlayer pp = BukkitUtil.getPlayer(p);
|
||||||
Plot plot = area.getPlot(l);
|
Plot plot = area.getPlot(l);
|
||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
if (!Permissions.hasPermission(pp, "plots.admin.projectile.road")) {
|
if (!Permissions.hasPermission(pp, "plots.admin.projectile.road")) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.projectile.road");
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.projectile.road");
|
||||||
e.setHatching(false);
|
event.setHatching(false);
|
||||||
}
|
}
|
||||||
} else if (!plot.hasOwner()) {
|
} else if (!plot.hasOwner()) {
|
||||||
if (!Permissions.hasPermission(pp, "plots.admin.projectile.unowned")) {
|
if (!Permissions.hasPermission(pp, "plots.admin.projectile.unowned")) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.projectile.unowned");
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.projectile.unowned");
|
||||||
e.setHatching(false);
|
event.setHatching(false);
|
||||||
}
|
}
|
||||||
} else if (!plot.isAdded(pp.getUUID())) {
|
} else if (!plot.isAdded(pp.getUUID())) {
|
||||||
if (!Permissions.hasPermission(pp, "plots.admin.projectile.other")) {
|
if (!Permissions.hasPermission(pp, "plots.admin.projectile.other")) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.projectile.other");
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, "plots.admin.projectile.other");
|
||||||
e.setHatching(false);
|
event.setHatching(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2336,7 +2327,7 @@ public class PlayerEvents extends PlotListener implements Listener {
|
|||||||
if (loc.getY() > area.MAX_BUILD_HEIGHT && loc.getY() < area.MIN_BUILD_HEIGHT && !Permissions
|
if (loc.getY() > area.MAX_BUILD_HEIGHT && loc.getY() < area.MIN_BUILD_HEIGHT && !Permissions
|
||||||
.hasPermission(pp, C.PERMISSION_ADMIN_BUILD_HEIGHTLIMIT)) {
|
.hasPermission(pp, C.PERMISSION_ADMIN_BUILD_HEIGHTLIMIT)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
MainUtil.sendMessage(pp, C.HEIGHT_LIMIT.s().replace("{limit}", "" + area.MAX_BUILD_HEIGHT));
|
MainUtil.sendMessage(pp, C.HEIGHT_LIMIT.s().replace("{limit}", String.valueOf(area.MAX_BUILD_HEIGHT)));
|
||||||
}
|
}
|
||||||
} else if (!Permissions.hasPermission(pp, C.PERMISSION_ADMIN_BUILD_OTHER)) {
|
} else if (!Permissions.hasPermission(pp, C.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_ROAD);
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_ROAD);
|
||||||
|
@ -9,9 +9,6 @@ import org.bukkit.event.EventPriority;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.LingeringPotionSplashEvent;
|
import org.bukkit.event.entity.LingeringPotionSplashEvent;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by Jesse on 3/30/2016.
|
|
||||||
*/
|
|
||||||
public class PlayerEvents_1_9 implements Listener {
|
public class PlayerEvents_1_9 implements Listener {
|
||||||
|
|
||||||
private final PlayerEvents parent;
|
private final PlayerEvents parent;
|
||||||
|
@ -27,6 +27,7 @@ import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class WEListener implements Listener {
|
public class WEListener implements Listener {
|
||||||
|
|
||||||
@ -35,16 +36,16 @@ public class WEListener implements Listener {
|
|||||||
public final HashSet<String> rad2 = new HashSet<>(Arrays.asList("fill", "fillr", "removenear", "remove"));
|
public final HashSet<String> rad2 = new HashSet<>(Arrays.asList("fill", "fillr", "removenear", "remove"));
|
||||||
public final HashSet<String> rad2_1 = new HashSet<>(Arrays.asList("hcyl", "cyl"));
|
public final HashSet<String> rad2_1 = new HashSet<>(Arrays.asList("hcyl", "cyl"));
|
||||||
public final HashSet<String> rad2_2 = new HashSet<>(Arrays.asList("sphere", "pyramid"));
|
public final HashSet<String> rad2_2 = new HashSet<>(Arrays.asList("sphere", "pyramid"));
|
||||||
public final HashSet<String> rad2_3 = new HashSet<>(Collections.singletonList("brush smooth"));
|
public final Set<String> rad2_3 = Collections.singleton("brush smooth");
|
||||||
public final HashSet<String> rad3_1 = new HashSet<>(Collections.singletonList("brush gravity"));
|
public final Set<String> rad3_1 = Collections.singleton("brush gravity");
|
||||||
public final HashSet<String> rad3_2 = new HashSet<>(Arrays.asList("brush sphere", "brush cylinder"));
|
public final HashSet<String> rad3_2 = new HashSet<>(Arrays.asList("brush sphere", "brush cylinder"));
|
||||||
|
|
||||||
public final HashSet<String> region = new HashSet<>(
|
public final HashSet<String> region = new HashSet<>(
|
||||||
Arrays.asList("move", "set", "replace", "overlay", "walls", "outline", "deform", "hollow", "smooth", "naturalize", "paste", "count",
|
Arrays.asList("move", "set", "replace", "overlay", "walls", "outline", "deform", "hollow", "smooth", "naturalize", "paste", "count",
|
||||||
"distr",
|
"distr",
|
||||||
"regen", "copy", "cut", "green", "setbiome"));
|
"regen", "copy", "cut", "green", "setbiome"));
|
||||||
public final HashSet<String> regionExtend = new HashSet<>(Collections.singletonList("stack"));
|
public final Set<String> regionExtend = Collections.singleton("stack");
|
||||||
public final HashSet<String> restricted = new HashSet<>(Collections.singletonList("up"));
|
public final Set<String> restricted = Collections.singleton("up");
|
||||||
public final HashSet<String> other = new HashSet<>(Arrays.asList("undo", "redo"));
|
public final HashSet<String> other = new HashSet<>(Arrays.asList("undo", "redo"));
|
||||||
|
|
||||||
public String reduceCmd(String cmd, boolean single) {
|
public String reduceCmd(String cmd, boolean single) {
|
||||||
|
@ -57,14 +57,14 @@ public class DefaultTitleManager extends TitleManager {
|
|||||||
// Send title
|
// Send title
|
||||||
Object serialized = getMethod(this.nmsChatSerializer, "a", String.class).invoke(null,
|
Object serialized = getMethod(this.nmsChatSerializer, "a", String.class).invoke(null,
|
||||||
"{text:\"" + ChatColor.translateAlternateColorCodes('&', this.getTitle()) + "\",color:" + this.titleColor.name().toLowerCase()
|
"{text:\"" + ChatColor.translateAlternateColorCodes('&', this.getTitle()) + "\",color:" + this.titleColor.name().toLowerCase()
|
||||||
+ "}");
|
+ '}');
|
||||||
packet = this.packetTitle.getConstructor(this.packetActions, this.chatBaseComponent).newInstance(actions[0], serialized);
|
packet = this.packetTitle.getConstructor(this.packetActions, this.chatBaseComponent).newInstance(actions[0], serialized);
|
||||||
sendPacket.invoke(connection, packet);
|
sendPacket.invoke(connection, packet);
|
||||||
if (!this.getSubtitle().isEmpty()) {
|
if (!this.getSubtitle().isEmpty()) {
|
||||||
// Send subtitle if present
|
// Send subtitle if present
|
||||||
serialized = getMethod(this.nmsChatSerializer, "a", String.class).invoke(null,
|
serialized = getMethod(this.nmsChatSerializer, "a", String.class).invoke(null,
|
||||||
"{text:\"" + ChatColor.translateAlternateColorCodes('&', this.getSubtitle()) + "\",color:" + this.subtitleColor.name()
|
"{text:\"" + ChatColor.translateAlternateColorCodes('&', this.getSubtitle()) + "\",color:" + this.subtitleColor.name()
|
||||||
.toLowerCase() + "}");
|
.toLowerCase() + '}');
|
||||||
packet = this.packetTitle.getConstructor(this.packetActions, this.chatBaseComponent).newInstance(actions[1], serialized);
|
packet = this.packetTitle.getConstructor(this.packetActions, this.chatBaseComponent).newInstance(actions[1], serialized);
|
||||||
sendPacket.invoke(connection, packet);
|
sendPacket.invoke(connection, packet);
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,7 @@ public class HackTitleManager extends TitleManager {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Field getField(String name, Class<?> clazz) throws Exception {
|
private Field getField(String name, Class<?> clazz) throws NoSuchFieldException, SecurityException {
|
||||||
return clazz.getDeclaredField(name);
|
return clazz.getDeclaredField(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -742,12 +742,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
chest.getInventory().setContents(blockLocEntry.getValue());
|
chest.getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate chest: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate chest: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate chest (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate chest (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, String[]> blockLocEntry : this.signContents.entrySet()) {
|
for (Entry<BlockLoc, String[]> blockLocEntry : this.signContents.entrySet()) {
|
||||||
@ -765,14 +765,14 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug(
|
PS.debug(
|
||||||
"&c[WARN] Plot clear failed to regenerate sign: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
"&c[WARN] Plot clear failed to regenerate sign: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y
|
.getKey().y
|
||||||
+ "," + (
|
+ ',' + (
|
||||||
blockLocEntry.getKey().z + zOffset));
|
blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IndexOutOfBoundsException e) {
|
} catch (IndexOutOfBoundsException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate sign: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry.getKey().y
|
PS.debug("&c[WARN] Plot clear failed to regenerate sign: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry.getKey().y
|
||||||
+ "," + (
|
+ ',' + (
|
||||||
blockLocEntry.getKey().z + zOffset));
|
blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -785,12 +785,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, ItemStack[]> blockLocEntry : this.dropperContents.entrySet()) {
|
for (Entry<BlockLoc, ItemStack[]> blockLocEntry : this.dropperContents.entrySet()) {
|
||||||
@ -802,12 +802,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate dispenser (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, ItemStack[]> blockLocEntry : this.beaconContents.entrySet()) {
|
for (Entry<BlockLoc, ItemStack[]> blockLocEntry : this.beaconContents.entrySet()) {
|
||||||
@ -819,12 +819,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate beacon: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate beacon: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate beacon (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate beacon (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, Material> blockLocMaterialEntry : this.jukeboxDisc.entrySet()) {
|
for (Entry<BlockLoc, Material> blockLocMaterialEntry : this.jukeboxDisc.entrySet()) {
|
||||||
@ -837,15 +837,15 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((Jukebox) state).setPlaying(blockLocMaterialEntry.getValue());
|
((Jukebox) state).setPlaying(blockLocMaterialEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore jukebox: " + (blockLocMaterialEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore jukebox: " + (blockLocMaterialEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocMaterialEntry
|
+ blockLocMaterialEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocMaterialEntry.getKey().z + zOffset));
|
blockLocMaterialEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate jukebox (e): " + (blockLocMaterialEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate jukebox (e): " + (blockLocMaterialEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocMaterialEntry
|
+ blockLocMaterialEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocMaterialEntry.getKey().z + zOffset));
|
blockLocMaterialEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -863,12 +863,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((Skull) state).setSkullType((SkullType) data[3]);
|
((Skull) state).setSkullType((SkullType) data[3]);
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore skull: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to restore skull: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate skull (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate skull (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -881,12 +881,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate hopper: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate hopper: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate hopper (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate hopper (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, Note> blockLocNoteEntry : this.noteBlockContents.entrySet()) {
|
for (Entry<BlockLoc, Note> blockLocNoteEntry : this.noteBlockContents.entrySet()) {
|
||||||
@ -898,15 +898,15 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((NoteBlock) state).setNote(blockLocNoteEntry.getValue());
|
((NoteBlock) state).setNote(blockLocNoteEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate note block: " + (blockLocNoteEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate note block: " + (blockLocNoteEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocNoteEntry
|
+ blockLocNoteEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocNoteEntry.getKey().z + zOffset));
|
blockLocNoteEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate note block (e): " + (blockLocNoteEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate note block (e): " + (blockLocNoteEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocNoteEntry
|
+ blockLocNoteEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocNoteEntry.getKey().z + zOffset));
|
blockLocNoteEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -918,14 +918,14 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
if (state instanceof BrewingStand) {
|
if (state instanceof BrewingStand) {
|
||||||
((BrewingStand) state).setBrewingTime(blockLocShortEntry.getValue());
|
((BrewingStand) state).setBrewingTime(blockLocShortEntry.getValue());
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore brewing stand cooking: " + (blockLocShortEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore brewing stand cooking: " + (blockLocShortEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocShortEntry
|
+ blockLocShortEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocShortEntry.getKey().z + zOffset));
|
blockLocShortEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore brewing stand cooking (e): " + (blockLocShortEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore brewing stand cooking (e): " + (blockLocShortEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocShortEntry.getKey().y + "," + (blockLocShortEntry.getKey().z + zOffset));
|
+ blockLocShortEntry.getKey().y + ',' + (blockLocShortEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, EntityType> blockLocEntityTypeEntry : this.spawnerData.entrySet()) {
|
for (Entry<BlockLoc, EntityType> blockLocEntityTypeEntry : this.spawnerData.entrySet()) {
|
||||||
@ -938,14 +938,14 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((CreatureSpawner) state).setSpawnedType(blockLocEntityTypeEntry.getValue());
|
((CreatureSpawner) state).setSpawnedType(blockLocEntityTypeEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore spawner type: " + (blockLocEntityTypeEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore spawner type: " + (blockLocEntityTypeEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocEntityTypeEntry
|
+ blockLocEntityTypeEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocEntityTypeEntry.getKey().z + zOffset));
|
blockLocEntityTypeEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore spawner type (e): " + (blockLocEntityTypeEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore spawner type (e): " + (blockLocEntityTypeEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocEntityTypeEntry.getKey().y + "," + (blockLocEntityTypeEntry.getKey().z + zOffset));
|
+ blockLocEntityTypeEntry.getKey().y + ',' + (blockLocEntityTypeEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, String> blockLocStringEntry : this.cmdData.entrySet()) {
|
for (Entry<BlockLoc, String> blockLocStringEntry : this.cmdData.entrySet()) {
|
||||||
@ -957,15 +957,15 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((CommandBlock) state).setCommand(blockLocStringEntry.getValue());
|
((CommandBlock) state).setCommand(blockLocStringEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore command block: " + (blockLocStringEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore command block: " + (blockLocStringEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocStringEntry
|
+ blockLocStringEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocStringEntry.getKey().z + zOffset));
|
blockLocStringEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to restore command block (e): " + (blockLocStringEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to restore command block (e): " + (blockLocStringEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocStringEntry
|
+ blockLocStringEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocStringEntry.getKey().z + zOffset));
|
blockLocStringEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -978,15 +978,15 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate brewing stand: " + (blockLocEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate brewing stand: " + (blockLocEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocEntry
|
+ blockLocEntry
|
||||||
.getKey().y + "," + (
|
.getKey().y + ',' + (
|
||||||
blockLocEntry.getKey().z
|
blockLocEntry.getKey().z
|
||||||
+ zOffset));
|
+ zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate brewing stand (e): " + (blockLocEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate brewing stand (e): " + (blockLocEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocEntry.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
+ blockLocEntry.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, Short[]> blockLocEntry : this.furnaceTime.entrySet()) {
|
for (Entry<BlockLoc, Short[]> blockLocEntry : this.furnaceTime.entrySet()) {
|
||||||
@ -1000,13 +1000,13 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((Furnace) state).setCookTime(time[1]);
|
((Furnace) state).setCookTime(time[1]);
|
||||||
} else {
|
} else {
|
||||||
PS.debug(
|
PS.debug(
|
||||||
"&c[WARN] Plot clear failed to restore furnace cooking: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
"&c[WARN] Plot clear failed to restore furnace cooking: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
PS.debug(
|
PS.debug(
|
||||||
"&c[WARN] Plot clear failed to restore furnace cooking (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
"&c[WARN] Plot clear failed to restore furnace cooking (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, ItemStack[]> blockLocEntry : this.furnaceContents.entrySet()) {
|
for (Entry<BlockLoc, ItemStack[]> blockLocEntry : this.furnaceContents.entrySet()) {
|
||||||
@ -1018,12 +1018,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
((InventoryHolder) state).getInventory().setContents(blockLocEntry.getValue());
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate furnace: " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate furnace: " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate furnace (e): " + (blockLocEntry.getKey().x + xOffset) + "," + blockLocEntry
|
PS.debug("&c[WARN] Plot clear failed to regenerate furnace (e): " + (blockLocEntry.getKey().x + xOffset) + ',' + blockLocEntry
|
||||||
.getKey().y + "," + (blockLocEntry.getKey().z + zOffset));
|
.getKey().y + ',' + (blockLocEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Entry<BlockLoc, DyeColor> blockLocByteEntry : this.bannerBase.entrySet()) {
|
for (Entry<BlockLoc, DyeColor> blockLocByteEntry : this.bannerBase.entrySet()) {
|
||||||
@ -1039,12 +1039,12 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
banner.setPatterns(patterns);
|
banner.setPatterns(patterns);
|
||||||
state.update(true);
|
state.update(true);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate banner: " + (blockLocByteEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate banner: " + (blockLocByteEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocByteEntry.getKey().y + "," + (blockLocByteEntry.getKey().z + zOffset));
|
+ blockLocByteEntry.getKey().y + ',' + (blockLocByteEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
PS.debug("&c[WARN] Plot clear failed to regenerate banner (e): " + (blockLocByteEntry.getKey().x + xOffset) + ","
|
PS.debug("&c[WARN] Plot clear failed to regenerate banner (e): " + (blockLocByteEntry.getKey().x + xOffset) + ','
|
||||||
+ blockLocByteEntry.getKey().y + "," + (blockLocByteEntry.getKey().z + zOffset));
|
+ blockLocByteEntry.getKey().y + ',' + (blockLocByteEntry.getKey().z + zOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1074,17 +1074,23 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
if (block.getState() instanceof InventoryHolder) {
|
if (block.getState() instanceof InventoryHolder) {
|
||||||
InventoryHolder inventoryHolder = (InventoryHolder) block.getState();
|
InventoryHolder inventoryHolder = (InventoryHolder) block.getState();
|
||||||
ItemStack[] inventory = inventoryHolder.getInventory().getContents().clone();
|
ItemStack[] inventory = inventoryHolder.getInventory().getContents().clone();
|
||||||
if (id == Material.CHEST) {
|
switch (id) {
|
||||||
|
case CHEST:
|
||||||
this.chestContents.put(bl, inventory);
|
this.chestContents.put(bl, inventory);
|
||||||
} else if (id == Material.DISPENSER) {
|
break;
|
||||||
|
case DISPENSER:
|
||||||
this.dispenserContents.put(bl, inventory);
|
this.dispenserContents.put(bl, inventory);
|
||||||
} else if (id == Material.BEACON) {
|
break;
|
||||||
|
case BEACON:
|
||||||
this.beaconContents.put(bl, inventory);
|
this.beaconContents.put(bl, inventory);
|
||||||
} else if (id == Material.DROPPER) {
|
break;
|
||||||
|
case DROPPER:
|
||||||
this.dropperContents.put(bl, inventory);
|
this.dropperContents.put(bl, inventory);
|
||||||
} else if (id == Material.HOPPER) {
|
break;
|
||||||
|
case HOPPER:
|
||||||
this.hopperContents.put(bl, inventory);
|
this.hopperContents.put(bl, inventory);
|
||||||
} else if (id == Material.BREWING_STAND) {
|
break;
|
||||||
|
case BREWING_STAND:
|
||||||
BrewingStand brewingStand = (BrewingStand) inventoryHolder;
|
BrewingStand brewingStand = (BrewingStand) inventoryHolder;
|
||||||
short time = (short) brewingStand.getBrewingTime();
|
short time = (short) brewingStand.getBrewingTime();
|
||||||
if (time > 0) {
|
if (time > 0) {
|
||||||
@ -1092,7 +1098,9 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
}
|
}
|
||||||
ItemStack[] invBre = brewingStand.getInventory().getContents().clone();
|
ItemStack[] invBre = brewingStand.getInventory().getContents().clone();
|
||||||
this.brewingStandContents.put(bl, invBre);
|
this.brewingStandContents.put(bl, invBre);
|
||||||
} else if (id == Material.FURNACE || id == Material.BURNING_FURNACE) {
|
break;
|
||||||
|
case FURNACE:
|
||||||
|
case BURNING_FURNACE:
|
||||||
Furnace furnace = (Furnace) inventoryHolder;
|
Furnace furnace = (Furnace) inventoryHolder;
|
||||||
short burn = furnace.getBurnTime();
|
short burn = furnace.getBurnTime();
|
||||||
short cook = furnace.getCookTime();
|
short cook = furnace.getCookTime();
|
||||||
@ -1101,6 +1109,7 @@ public class BukkitChunkManager extends ChunkManager {
|
|||||||
if (cook != 0) {
|
if (cook != 0) {
|
||||||
this.furnaceTime.put(bl, new Short[]{burn, cook});
|
this.furnaceTime.put(bl, new Short[]{burn, cook});
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else if (block.getState() instanceof CreatureSpawner) {
|
} else if (block.getState() instanceof CreatureSpawner) {
|
||||||
CreatureSpawner spawner = (CreatureSpawner) block.getState();
|
CreatureSpawner spawner = (CreatureSpawner) block.getState();
|
||||||
|
@ -194,7 +194,7 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
try {
|
try {
|
||||||
Biome biome = Biome.valueOf(biomeStr.toUpperCase());
|
Biome biome = Biome.valueOf(biomeStr.toUpperCase());
|
||||||
return Arrays.asList(Biome.values()).indexOf(biome);
|
return Arrays.asList(Biome.values()).indexOf(biome);
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -252,7 +252,7 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -271,8 +271,7 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
try {
|
try {
|
||||||
Material material = Material.valueOf(name.toUpperCase());
|
Material material = Material.valueOf(name.toUpperCase());
|
||||||
return new StringComparison<PlotBlock>().new ComparisonResult(0, new PlotBlock((short) material.getId(), (byte) 0));
|
return new StringComparison<PlotBlock>().new ComparisonResult(0, new PlotBlock((short) material.getId(), (byte) 0));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
//ignored
|
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
byte data;
|
byte data;
|
||||||
@ -297,8 +296,7 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
StringComparison<PlotBlock> outer = new StringComparison<>();
|
StringComparison<PlotBlock> outer = new StringComparison<>();
|
||||||
return outer.new ComparisonResult(match, block);
|
return outer.new ComparisonResult(match, block);
|
||||||
|
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException ignored) {
|
||||||
//ignored
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -520,11 +520,6 @@ public class Metrics {
|
|||||||
return graph.name.equals(this.name);
|
return graph.name.equals(this.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when the server owner decides to opt-out of BukkitMetrics while the server is running.
|
|
||||||
*/
|
|
||||||
protected void onOptOut() {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,8 +24,8 @@ import org.bukkit.block.Biome;
|
|||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
@ -223,7 +223,7 @@ public class FastQueue_1_9 extends SlowQueue {
|
|||||||
TaskManager.runTaskLater(new Runnable() {
|
TaskManager.runTaskLater(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
sendChunk(fs.getChunkWrapper().world, Arrays.asList(new ChunkLoc(fs.getX(), fs.getZ())));
|
sendChunk(fs.getChunkWrapper().world, Collections.singletonList(new ChunkLoc(fs.getX(), fs.getZ())));
|
||||||
}
|
}
|
||||||
}, 1);
|
}, 1);
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ public class FileUUIDHandler extends UUIDHandlerImplementation {
|
|||||||
}
|
}
|
||||||
toAdd.put(new StringWrapper(name), uuid);
|
toAdd.put(new StringWrapper(name), uuid);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
PS.debug(C.PREFIX + "Invalid playerdata: " + current);
|
PS.debug(C.PREFIX + "Invalid playerdata: " + current);
|
||||||
}
|
}
|
||||||
@ -153,7 +153,7 @@ public class FileUUIDHandler extends UUIDHandlerImplementation {
|
|||||||
try {
|
try {
|
||||||
UUID uuid = UUID.fromString(s);
|
UUID uuid = UUID.fromString(s);
|
||||||
uuids.add(uuid);
|
uuids.add(uuid);
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
PS.debug(C.PREFIX + "Invalid PlayerData: " + current);
|
PS.debug(C.PREFIX + "Invalid PlayerData: " + current);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -198,7 +198,7 @@ public class FileUUIDHandler extends UUIDHandlerImplementation {
|
|||||||
ExpireManager.IMP.storeDate(uuid, last);
|
ExpireManager.IMP.storeDate(uuid, last);
|
||||||
}
|
}
|
||||||
toAdd.put(new StringWrapper(name), uuid);
|
toAdd.put(new StringWrapper(name), uuid);
|
||||||
} catch (Throwable e) {
|
} catch (IOException ignored) {
|
||||||
PS.debug(C.PREFIX + "&6Invalid PlayerData: " + uuid.toString() + ".dat");
|
PS.debug(C.PREFIX + "&6Invalid PlayerData: " + uuid.toString() + ".dat");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,6 @@ public class YamlConfiguration extends FileConfiguration {
|
|||||||
config.load(file);
|
config.load(file);
|
||||||
} catch (InvalidConfigurationException | IOException ex) {
|
} catch (InvalidConfigurationException | IOException ex) {
|
||||||
try {
|
try {
|
||||||
file.getAbsolutePath();
|
|
||||||
File dest = new File(file.getAbsolutePath() + "_broken");
|
File dest = new File(file.getAbsolutePath() + "_broken");
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (dest.exists()) {
|
while (dest.exists()) {
|
||||||
@ -126,7 +125,7 @@ public class YamlConfiguration extends FileConfiguration {
|
|||||||
input = (Map<?, ?>) yaml.load(contents);
|
input = (Map<?, ?>) yaml.load(contents);
|
||||||
} catch (final YAMLException e) {
|
} catch (final YAMLException e) {
|
||||||
throw new InvalidConfigurationException(e);
|
throw new InvalidConfigurationException(e);
|
||||||
} catch (final ClassCastException e) {
|
} catch (final ClassCastException ignored) {
|
||||||
throw new InvalidConfigurationException("Top level is not a Map.");
|
throw new InvalidConfigurationException("Top level is not a Map.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,7 +188,7 @@ public class YamlConfiguration extends FileConfiguration {
|
|||||||
if (options().copyHeader()) {
|
if (options().copyHeader()) {
|
||||||
final Configuration def = getDefaults();
|
final Configuration def = getDefaults();
|
||||||
|
|
||||||
if (def != null && def instanceof FileConfiguration) {
|
if (def instanceof FileConfiguration) {
|
||||||
final FileConfiguration filedefaults = (FileConfiguration) def;
|
final FileConfiguration filedefaults = (FileConfiguration) def;
|
||||||
final String defaultsHeader = filedefaults.buildHeader();
|
final String defaultsHeader = filedefaults.buildHeader();
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ public class ConfigurationSerialization {
|
|||||||
} else {
|
} else {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
} catch (Throwable ex) {
|
} catch (IllegalAccessException | InvocationTargetException | IllegalArgumentException ex) {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName())
|
Logger.getLogger(ConfigurationSerialization.class.getName())
|
||||||
.log(Level.SEVERE, "Could not call method '" + method.toString() + "' of " + this.clazz
|
.log(Level.SEVERE, "Could not call method '" + method.toString() + "' of " + this.clazz
|
||||||
+ " for deserialization",
|
+ " for deserialization",
|
||||||
@ -222,7 +222,7 @@ public class ConfigurationSerialization {
|
|||||||
protected ConfigurationSerializable deserializeViaCtor(Constructor<? extends ConfigurationSerializable> ctor, Map<String, ?> args) {
|
protected ConfigurationSerializable deserializeViaCtor(Constructor<? extends ConfigurationSerializable> ctor, Map<String, ?> args) {
|
||||||
try {
|
try {
|
||||||
return ctor.newInstance(args);
|
return ctor.newInstance(args);
|
||||||
} catch (Throwable ex) {
|
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | InstantiationException ex) {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName())
|
Logger.getLogger(ConfigurationSerialization.class.getName())
|
||||||
.log(Level.SEVERE, "Could not call constructor '" + ctor.toString() + "' of " + this.clazz
|
.log(Level.SEVERE, "Could not call constructor '" + ctor.toString() + "' of " + this.clazz
|
||||||
+ " for deserialization",
|
+ " for deserialization",
|
||||||
@ -238,22 +238,17 @@ public class ConfigurationSerialization {
|
|||||||
}
|
}
|
||||||
ConfigurationSerializable result = null;
|
ConfigurationSerializable result = null;
|
||||||
Method method = getMethod("deserialize", true);
|
Method method = getMethod("deserialize", true);
|
||||||
|
|
||||||
if (method != null) {
|
if (method != null) {
|
||||||
result = deserializeViaMethod(method, args);
|
result = deserializeViaMethod(method, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
method = getMethod("valueOf", true);
|
method = getMethod("valueOf", true);
|
||||||
|
|
||||||
if (method != null) {
|
if (method != null) {
|
||||||
result = deserializeViaMethod(method, args);
|
result = deserializeViaMethod(method, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
Constructor<? extends ConfigurationSerializable> constructor = getConstructor();
|
Constructor<? extends ConfigurationSerializable> constructor = getConstructor();
|
||||||
|
|
||||||
if (constructor != null) {
|
if (constructor != null) {
|
||||||
result = deserializeViaCtor(constructor, args);
|
result = deserializeViaCtor(constructor, args);
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ public final class ByteArrayTag extends Tag {
|
|||||||
}
|
}
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Byte_Array" + append + ": " + hex;
|
return "TAG_Byte_Array" + append + ": " + hex;
|
||||||
|
@ -36,7 +36,7 @@ public final class ByteTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Byte" + append + ": " + this.value;
|
return "TAG_Byte" + append + ": " + this.value;
|
||||||
|
@ -373,7 +373,7 @@ public final class CompoundTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
StringBuilder bldr = new StringBuilder();
|
StringBuilder bldr = new StringBuilder();
|
||||||
|
@ -16,7 +16,7 @@ public class CompoundTagBuilder {
|
|||||||
* Create a new instance.
|
* Create a new instance.
|
||||||
*/
|
*/
|
||||||
CompoundTagBuilder() {
|
CompoundTagBuilder() {
|
||||||
this.entries = new HashMap<String, Tag>();
|
this.entries = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,7 +36,7 @@ public final class DoubleTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Double" + append + ": " + this.value;
|
return "TAG_Double" + append + ": " + this.value;
|
||||||
|
@ -36,7 +36,7 @@ public final class FloatTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Float" + append + ": " + this.value;
|
return "TAG_Float" + append + ": " + this.value;
|
||||||
|
@ -48,7 +48,7 @@ public final class IntArrayTag extends Tag {
|
|||||||
}
|
}
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Int_Array" + append + ": " + hex;
|
return "TAG_Int_Array" + append + ": " + hex;
|
||||||
|
@ -36,7 +36,7 @@ public final class IntTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Int" + append + ": " + this.value;
|
return "TAG_Int" + append + ": " + this.value;
|
||||||
|
@ -378,7 +378,7 @@ public final class ListTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
StringBuilder bldr = new StringBuilder();
|
StringBuilder bldr = new StringBuilder();
|
||||||
|
@ -23,7 +23,7 @@ public class ListTagBuilder {
|
|||||||
ListTagBuilder(Class<? extends Tag> type) {
|
ListTagBuilder(Class<? extends Tag> type) {
|
||||||
checkNotNull(type);
|
checkNotNull(type);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.entries = new ArrayList<Tag>();
|
this.entries = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,7 +36,7 @@ public final class LongTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Long" + append + ": " + this.value;
|
return "TAG_Long" + append + ": " + this.value;
|
||||||
|
@ -36,7 +36,7 @@ public final class ShortTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_Short" + append + ": " + this.value;
|
return "TAG_Short" + append + ": " + this.value;
|
||||||
|
@ -40,7 +40,7 @@ public final class StringTag extends Tag {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
String append = "";
|
String append = "";
|
||||||
if (name != null && !name.equals("")) {
|
if (name != null && !name.isEmpty()) {
|
||||||
append = "(\"" + getName() + "\")";
|
append = "(\"" + getName() + "\")";
|
||||||
}
|
}
|
||||||
return "TAG_String" + append + ": " + this.value;
|
return "TAG_String" + append + ": " + this.value;
|
||||||
|
@ -1330,7 +1330,7 @@ public class JSONObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} catch (Throwable exception) {
|
} catch (JSONException exception) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,5 +12,5 @@ public interface JSONString {
|
|||||||
*
|
*
|
||||||
* @return A strictly syntactically correct JSON text.
|
* @return A strictly syntactically correct JSON text.
|
||||||
*/
|
*/
|
||||||
public String toJSONString();
|
String toJSONString();
|
||||||
}
|
}
|
||||||
|
@ -342,7 +342,7 @@ public class JSONTokener {
|
|||||||
}
|
}
|
||||||
back();
|
back();
|
||||||
string = sb.toString().trim();
|
string = sb.toString().trim();
|
||||||
if (string != null && string.isEmpty()) {
|
if (string.isEmpty()) {
|
||||||
throw syntaxError("Missing value");
|
throw syntaxError("Missing value");
|
||||||
}
|
}
|
||||||
return JSONObject.stringToValue(string);
|
return JSONObject.stringToValue(string);
|
||||||
@ -370,7 +370,7 @@ public class JSONTokener {
|
|||||||
index = startIndex;
|
index = startIndex;
|
||||||
character = startCharacter;
|
character = startCharacter;
|
||||||
line = startLine;
|
line = startLine;
|
||||||
return c;
|
return 0;
|
||||||
}
|
}
|
||||||
} while (c != to);
|
} while (c != to);
|
||||||
} catch (final IOException exception) {
|
} catch (final IOException exception) {
|
||||||
|
@ -137,7 +137,7 @@ public class PS {
|
|||||||
try {
|
try {
|
||||||
URL url = PS.class.getProtectionDomain().getCodeSource().getLocation();
|
URL url = PS.class.getProtectionDomain().getCodeSource().getLocation();
|
||||||
this.file = new File(new URL(url.toURI().toString().split("\\!")[0].replaceAll("jar:file", "file")).toURI().getPath());
|
this.file = new File(new URL(url.toURI().toString().split("\\!")[0].replaceAll("jar:file", "file")).toURI().getPath());
|
||||||
} catch (MalformedURLException | URISyntaxException | SecurityException | NullPointerException e) {
|
} catch (MalformedURLException | URISyntaxException | SecurityException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
this.file = new File(this.IMP.getDirectory().getParentFile(), "PlotSquared.jar");
|
this.file = new File(this.IMP.getDirectory().getParentFile(), "PlotSquared.jar");
|
||||||
if (!this.file.exists()) {
|
if (!this.file.exists()) {
|
||||||
@ -489,13 +489,12 @@ public class PS {
|
|||||||
return areas[0];
|
return areas[0];
|
||||||
} else if (id == null) {
|
} else if (id == null) {
|
||||||
return null;
|
return null;
|
||||||
} else {
|
}
|
||||||
for (PlotArea area : areas) {
|
for (PlotArea area : areas) {
|
||||||
if (StringMan.isEqual(id, area.id)) {
|
if (StringMan.isEqual(id, area.id)) {
|
||||||
return area;
|
return area;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1474,7 +1473,7 @@ public class PS {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (type == 1) {
|
if (type == 1) {
|
||||||
throw new IllegalArgumentException("Invalid type for multi-area world. Expected `2`, got `" + type + "`");
|
throw new IllegalArgumentException("Invalid type for multi-area world. Expected `2`, got `" + 1 + "`");
|
||||||
}
|
}
|
||||||
for (String areaId : areasSection.getKeys(false)) {
|
for (String areaId : areasSection.getKeys(false)) {
|
||||||
PS.log(C.PREFIX + "&3 - " + areaId);
|
PS.log(C.PREFIX + "&3 - " + areaId);
|
||||||
|
@ -112,7 +112,7 @@ public class Area extends SubCommand {
|
|||||||
object.plotManager = "PlotSquared";
|
object.plotManager = "PlotSquared";
|
||||||
object.setupGenerator = "PlotSquared";
|
object.setupGenerator = "PlotSquared";
|
||||||
object.step = area.getSettingNodes();
|
object.step = area.getSettingNodes();
|
||||||
final String path = "worlds." + area.worldname + ".areas." + area.id + "-" + object.min + "-" + object.max;
|
final String path = "worlds." + area.worldname + ".areas." + area.id + '-' + object.min + '-' + object.max;
|
||||||
Runnable run = new Runnable() {
|
Runnable run = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -254,7 +254,7 @@ public class Area extends SubCommand {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (hasConfirmation(player)) {
|
if (hasConfirmation(player)) {
|
||||||
CmdConfirm.addPending(player, getCommandString() + " " + StringMan.join(args, " "), run);
|
CmdConfirm.addPending(player, getCommandString() + ' ' + StringMan.join(args, " "), run);
|
||||||
} else {
|
} else {
|
||||||
run.run();
|
run.run();
|
||||||
}
|
}
|
||||||
@ -310,11 +310,11 @@ public class Area extends SubCommand {
|
|||||||
int claimed = area.getPlotCount();
|
int claimed = area.getPlotCount();
|
||||||
int clusters = area.getClusters().size();
|
int clusters = area.getClusters().size();
|
||||||
String region;
|
String region;
|
||||||
String generator = area.getGenerator() + "";
|
String generator = String.valueOf(area.getGenerator());
|
||||||
if (area.TYPE == 2) {
|
if (area.TYPE == 2) {
|
||||||
PlotId min = area.getMin();
|
PlotId min = area.getMin();
|
||||||
PlotId max = area.getMax();
|
PlotId max = area.getMax();
|
||||||
name = area.worldname + ";" + area.id + ";" + min + ";" + max;
|
name = area.worldname + ';' + area.id + ';' + min + ';' + max;
|
||||||
int size = (max.x - min.x + 1) * (max.y - min.y + 1);
|
int size = (max.x - min.x + 1) * (max.y - min.y + 1);
|
||||||
percent = claimed == 0 ? 0 : size / (double) claimed;
|
percent = claimed == 0 ? 0 : size / (double) claimed;
|
||||||
region = area.getRegion().toString();
|
region = area.getRegion().toString();
|
||||||
@ -326,7 +326,7 @@ public class Area extends SubCommand {
|
|||||||
String value = "&r$1NAME: " + name
|
String value = "&r$1NAME: " + name
|
||||||
+ "\n$1Type: $2" + area.TYPE
|
+ "\n$1Type: $2" + area.TYPE
|
||||||
+ "\n$1Terrain: $2" + area.TERRAIN
|
+ "\n$1Terrain: $2" + area.TERRAIN
|
||||||
+ "\n$1Usage: $2" + String.format("%.2f", percent) + "%"
|
+ "\n$1Usage: $2" + String.format("%.2f", percent) + '%'
|
||||||
+ "\n$1Claimed: $2" + claimed
|
+ "\n$1Claimed: $2" + claimed
|
||||||
+ "\n$1Clusters: $2" + clusters
|
+ "\n$1Clusters: $2" + clusters
|
||||||
+ "\n$1Region: $2" + region
|
+ "\n$1Region: $2" + region
|
||||||
@ -363,11 +363,11 @@ public class Area extends SubCommand {
|
|||||||
int claimed = area.getPlotCount();
|
int claimed = area.getPlotCount();
|
||||||
int clusters = area.getClusters().size();
|
int clusters = area.getClusters().size();
|
||||||
String region;
|
String region;
|
||||||
String generator = area.getGenerator() + "";
|
String generator = String.valueOf(area.getGenerator());
|
||||||
if (area.TYPE == 2) {
|
if (area.TYPE == 2) {
|
||||||
PlotId min = area.getMin();
|
PlotId min = area.getMin();
|
||||||
PlotId max = area.getMax();
|
PlotId max = area.getMax();
|
||||||
name = area.worldname + ";" + area.id + ";" + min + ";" + max;
|
name = area.worldname + ';' + area.id + ';' + min + ';' + max;
|
||||||
int size = (max.x - min.x + 1) * (max.y - min.y + 1);
|
int size = (max.x - min.x + 1) * (max.y - min.y + 1);
|
||||||
percent = claimed == 0 ? 0 : size / (double) claimed;
|
percent = claimed == 0 ? 0 : size / (double) claimed;
|
||||||
region = area.getRegion().toString();
|
region = area.getRegion().toString();
|
||||||
@ -377,18 +377,18 @@ public class Area extends SubCommand {
|
|||||||
region = "N/A";
|
region = "N/A";
|
||||||
}
|
}
|
||||||
PlotMessage tooltip = new PlotMessage()
|
PlotMessage tooltip = new PlotMessage()
|
||||||
.text("Claimed=").color("$1").text("" + claimed).color("$2")
|
.text("Claimed=").color("$1").text(String.valueOf(claimed)).color("$2")
|
||||||
.text("\nUsage=").color("$1").text(String.format("%.2f", percent) + "%").color("$2")
|
.text("\nUsage=").color("$1").text(String.format("%.2f", percent) + '%').color("$2")
|
||||||
.text("\nClusters=").color("$1").text("" + clusters).color("$2")
|
.text("\nClusters=").color("$1").text(String.valueOf(clusters)).color("$2")
|
||||||
.text("\nRegion=").color("$1").text(region).color("$2")
|
.text("\nRegion=").color("$1").text(region).color("$2")
|
||||||
.text("\nGenerator=").color("$1").text(generator).color("$2");
|
.text("\nGenerator=").color("$1").text(generator).color("$2");
|
||||||
|
|
||||||
// type / terrain
|
// type / terrain
|
||||||
String visit = "/plot area tp " + area.toString();
|
String visit = "/plot area tp " + area.toString();
|
||||||
message.text("[").color("$3")
|
message.text("[").color("$3")
|
||||||
.text(i + "").command(visit).tooltip(visit).color("$1")
|
.text(String.valueOf(i)).command(visit).tooltip(visit).color("$1")
|
||||||
.text("]").color("$3")
|
.text("]").color("$3")
|
||||||
.text(" " + name).tooltip(tooltip).command(getCommandString() + " info " + area).color("$1").text(" - ")
|
.text(' ' + name).tooltip(tooltip).command(getCommandString() + " info " + area).color("$1").text(" - ")
|
||||||
.color("$2")
|
.color("$2")
|
||||||
.text(area.TYPE + ":" + area.TERRAIN).color("$3");
|
.text(area.TYPE + ":" + area.TERRAIN).color("$3");
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ public class Auto extends SubCommand {
|
|||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
schematic = args[1];
|
schematic = args[1];
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException ignored) {
|
||||||
size_x = 1;
|
size_x = 1;
|
||||||
size_z = 1;
|
size_z = 1;
|
||||||
schematic = args[0];
|
schematic = args[0];
|
||||||
|
@ -92,7 +92,7 @@ public class DebugClaimTest extends SubCommand {
|
|||||||
}
|
}
|
||||||
if (uuid != null) {
|
if (uuid != null) {
|
||||||
MainUtil.sendMessage(plr, " - &aFound plot: " + plot.getId() + " : " + line);
|
MainUtil.sendMessage(plr, " - &aFound plot: " + plot.getId() + " : " + line);
|
||||||
plot.owner = uuid;
|
plot.setOwner(uuid);
|
||||||
plots.add(plot);
|
plots.add(plot);
|
||||||
} else {
|
} else {
|
||||||
MainUtil.sendMessage(plr, " - &cInvalid PlayerName: " + plot.getId() + " : " + line);
|
MainUtil.sendMessage(plr, " - &cInvalid PlayerName: " + plot.getId() + " : " + line);
|
||||||
|
@ -31,11 +31,6 @@ import java.util.Map;
|
|||||||
permission = "plots.flag")
|
permission = "plots.flag")
|
||||||
public class FlagCmd extends SubCommand {
|
public class FlagCmd extends SubCommand {
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUsage() {
|
|
||||||
return super.getUsage();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(PlotPlayer player, String[] args) {
|
public boolean onCommand(PlotPlayer player, String[] args) {
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import com.intellectualcrafters.plot.util.StringMan;
|
|||||||
import com.plotsquared.general.commands.Command;
|
import com.plotsquared.general.commands.Command;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -58,7 +59,7 @@ public class GenerateDocs {
|
|||||||
String comment = GenerateDocs.getComments(lines);
|
String comment = GenerateDocs.getComments(lines);
|
||||||
|
|
||||||
GenerateDocs.log("#### Description");
|
GenerateDocs.log("#### Description");
|
||||||
GenerateDocs.log("`" + command.getDescription() + "`");
|
GenerateDocs.log('`' + command.getDescription() + '`');
|
||||||
if (!comment.isEmpty()) {
|
if (!comment.isEmpty()) {
|
||||||
GenerateDocs.log("##### Comments");
|
GenerateDocs.log("##### Comments");
|
||||||
GenerateDocs.log("``` java");
|
GenerateDocs.log("``` java");
|
||||||
@ -76,18 +77,18 @@ public class GenerateDocs {
|
|||||||
GenerateDocs.log(" - `" + StringMan.join(usages, "`\n - `") + "` ");
|
GenerateDocs.log(" - `" + StringMan.join(usages, "`\n - `") + "` ");
|
||||||
GenerateDocs.log("");
|
GenerateDocs.log("");
|
||||||
} else {
|
} else {
|
||||||
GenerateDocs.log("`" + mainUsage + "` ");
|
GenerateDocs.log('`' + mainUsage + "` ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command.getRequiredType() != RequiredType.NONE) {
|
if (command.getRequiredType() != RequiredType.NONE) {
|
||||||
GenerateDocs.log("#### Required callers");
|
GenerateDocs.log("#### Required callers");
|
||||||
GenerateDocs.log("`" + command.getRequiredType().name() + "`");
|
GenerateDocs.log('`' + command.getRequiredType().name() + '`');
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> aliases = command.getAliases();
|
List<String> aliases = command.getAliases();
|
||||||
if (!aliases.isEmpty()) {
|
if (!aliases.isEmpty()) {
|
||||||
GenerateDocs.log("#### Aliases");
|
GenerateDocs.log("#### Aliases");
|
||||||
GenerateDocs.log("`" + StringMan.getString(command.getAliases()) + "`");
|
GenerateDocs.log('`' + StringMan.getString(command.getAliases()) + '`');
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateDocs.log("#### Permissions");
|
GenerateDocs.log("#### Permissions");
|
||||||
@ -96,21 +97,21 @@ public class GenerateDocs {
|
|||||||
GenerateDocs.log(" - `" + command.getPermission() + "` ");
|
GenerateDocs.log(" - `" + command.getPermission() + "` ");
|
||||||
GenerateDocs.log("");
|
GenerateDocs.log("");
|
||||||
GenerateDocs.log("##### Other");
|
GenerateDocs.log("##### Other");
|
||||||
GenerateDocs.log(" - `" + StringMan.join(perms, "`\n - `") + "`");
|
GenerateDocs.log(" - `" + StringMan.join(perms, "`\n - `") + '`');
|
||||||
GenerateDocs.log("");
|
GenerateDocs.log("");
|
||||||
} else {
|
} else {
|
||||||
GenerateDocs.log("`" + command.getPermission() + "` ");
|
GenerateDocs.log('`' + command.getPermission() + "` ");
|
||||||
}
|
}
|
||||||
GenerateDocs.log("***");
|
GenerateDocs.log("***");
|
||||||
GenerateDocs.log("");
|
GenerateDocs.log("");
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> getUsage(String cmd, List<String> lines) {
|
public static List<String> getUsage(String cmd, List<String> lines) {
|
||||||
Pattern p = Pattern.compile("\"([^\"]*)\"");
|
Pattern p = Pattern.compile("\"([^\"]*)\"");
|
||||||
HashSet<String> usages = new HashSet<String>();
|
HashSet<String> usages = new HashSet<>();
|
||||||
for (String line : lines) {
|
for (String line : lines) {
|
||||||
if (line.contains("COMMAND_SYNTAX") && !line.contains("getUsage()")) {
|
if (line.contains("COMMAND_SYNTAX") && !line.contains("getUsage()")) {
|
||||||
Matcher m = p.matcher(line);
|
Matcher m = p.matcher(line);
|
||||||
@ -203,7 +204,7 @@ public class GenerateDocs {
|
|||||||
line = line.trim();
|
line = line.trim();
|
||||||
if (line.startsWith("/** ") || line.startsWith("*/ ") || line.startsWith("* ")) {
|
if (line.startsWith("/** ") || line.startsWith("*/ ") || line.startsWith("* ")) {
|
||||||
line = line.replaceAll("/[*][*] ", "").replaceAll("[*]/ ", "").replaceAll("[*] ", "").trim();
|
line = line.replaceAll("/[*][*] ", "").replaceAll("[*]/ ", "").replaceAll("[*] ", "").trim();
|
||||||
result.append(line + "\n");
|
result.append(line + '\n');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result.toString().trim();
|
return result.toString().trim();
|
||||||
|
@ -245,12 +245,10 @@ public class ListCmd extends SubCommand {
|
|||||||
}
|
}
|
||||||
plots = new ArrayList<>();
|
plots = new ArrayList<>();
|
||||||
for (Plot plot : PS.get().getPlots()) {
|
for (Plot plot : PS.get().getPlots()) {
|
||||||
/*
|
Optional<Double> price = plot.getFlag(Flags.PRICE);
|
||||||
Flag price = FlagManager.getPlotFlagRaw(plot, "price");
|
if (price.isPresent()) {
|
||||||
if (price != null) {
|
|
||||||
plots.add(plot);
|
plots.add(plot);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "unowned":
|
case "unowned":
|
||||||
|
@ -14,7 +14,6 @@ import com.intellectualcrafters.plot.util.StringMan;
|
|||||||
import com.intellectualcrafters.plot.util.UUIDHandler;
|
import com.intellectualcrafters.plot.util.UUIDHandler;
|
||||||
import com.plotsquared.general.commands.CommandDeclaration;
|
import com.plotsquared.general.commands.CommandDeclaration;
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@CommandDeclaration(command = "merge",
|
@CommandDeclaration(command = "merge",
|
||||||
@ -74,7 +73,7 @@ public class Merge extends SubCommand {
|
|||||||
final PlotArea plotworld = plot.getArea();
|
final PlotArea plotworld = plot.getArea();
|
||||||
final double price = plotworld.PRICES.containsKey("merge") ? plotworld.PRICES.get("merge") : 0;
|
final double price = plotworld.PRICES.containsKey("merge") ? plotworld.PRICES.get("merge") : 0;
|
||||||
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d && EconHandler.manager.getMoney(plr) < price) {
|
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d && EconHandler.manager.getMoney(plr) < price) {
|
||||||
sendMessage(plr, C.CANNOT_AFFORD_MERGE, price + "");
|
sendMessage(plr, C.CANNOT_AFFORD_MERGE, String.valueOf(price));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final int size = plot.getConnectedPlots().size();
|
final int size = plot.getConnectedPlots().size();
|
||||||
@ -108,7 +107,7 @@ public class Merge extends SubCommand {
|
|||||||
if (plot.autoMerge(-1, maxSize, uuid, terrain)) {
|
if (plot.autoMerge(-1, maxSize, uuid, terrain)) {
|
||||||
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d) {
|
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d) {
|
||||||
EconHandler.manager.withdrawMoney(plr, price);
|
EconHandler.manager.withdrawMoney(plr, price);
|
||||||
sendMessage(plr, C.REMOVED_BALANCE, price + "");
|
sendMessage(plr, C.REMOVED_BALANCE, String.valueOf(price));
|
||||||
}
|
}
|
||||||
MainUtil.sendMessage(plr, C.SUCCESS_MERGE);
|
MainUtil.sendMessage(plr, C.SUCCESS_MERGE);
|
||||||
return true;
|
return true;
|
||||||
@ -138,7 +137,7 @@ public class Merge extends SubCommand {
|
|||||||
if (plot.autoMerge(direction, maxSize - size, uuid, terrain)) {
|
if (plot.autoMerge(direction, maxSize - size, uuid, terrain)) {
|
||||||
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d) {
|
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d) {
|
||||||
EconHandler.manager.withdrawMoney(plr, price);
|
EconHandler.manager.withdrawMoney(plr, price);
|
||||||
sendMessage(plr, C.REMOVED_BALANCE, price + "");
|
sendMessage(plr, C.REMOVED_BALANCE, String.valueOf(price));
|
||||||
}
|
}
|
||||||
MainUtil.sendMessage(plr, C.SUCCESS_MERGE);
|
MainUtil.sendMessage(plr, C.SUCCESS_MERGE);
|
||||||
return true;
|
return true;
|
||||||
@ -152,7 +151,7 @@ public class Merge extends SubCommand {
|
|||||||
MainUtil.sendMessage(plr, C.NO_PERMISSION, C.PERMISSION_MERGE_OTHER);
|
MainUtil.sendMessage(plr, C.NO_PERMISSION, C.PERMISSION_MERGE_OTHER);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
HashSet<UUID> uuids = adjacent.getOwners();
|
java.util.Set<UUID> uuids = adjacent.getOwners();
|
||||||
boolean isOnline = false;
|
boolean isOnline = false;
|
||||||
for (final UUID owner : uuids) {
|
for (final UUID owner : uuids) {
|
||||||
final PlotPlayer accepter = UUIDHandler.getPlayer(owner);
|
final PlotPlayer accepter = UUIDHandler.getPlayer(owner);
|
||||||
@ -173,11 +172,11 @@ public class Merge extends SubCommand {
|
|||||||
}
|
}
|
||||||
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d) {
|
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d) {
|
||||||
if (EconHandler.manager.getMoney(plr) < price) {
|
if (EconHandler.manager.getMoney(plr) < price) {
|
||||||
sendMessage(plr, C.CANNOT_AFFORD_MERGE, price + "");
|
sendMessage(plr, C.CANNOT_AFFORD_MERGE, String.valueOf(price));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
EconHandler.manager.withdrawMoney(plr, price);
|
EconHandler.manager.withdrawMoney(plr, price);
|
||||||
sendMessage(plr, C.REMOVED_BALANCE, price + "");
|
sendMessage(plr, C.REMOVED_BALANCE, String.valueOf(price));
|
||||||
}
|
}
|
||||||
MainUtil.sendMessage(plr, C.SUCCESS_MERGE);
|
MainUtil.sendMessage(plr, C.SUCCESS_MERGE);
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ public class RegenAllRoads extends SubCommand {
|
|||||||
}
|
}
|
||||||
String name = args[0];
|
String name = args[0];
|
||||||
PlotManager manager = area.getPlotManager();
|
PlotManager manager = area.getPlotManager();
|
||||||
if ((manager == null) || !(manager instanceof HybridPlotManager)) {
|
if (!(manager instanceof HybridPlotManager)) {
|
||||||
MainUtil.sendMessage(plr, C.NOT_VALID_PLOT_WORLD);
|
MainUtil.sendMessage(plr, C.NOT_VALID_PLOT_WORLD);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -65,8 +65,8 @@ public class Setup extends SubCommand {
|
|||||||
if (object.setup_index > 0) {
|
if (object.setup_index > 0) {
|
||||||
object.setup_index--;
|
object.setup_index--;
|
||||||
ConfigurationNode node = object.step[object.setup_index];
|
ConfigurationNode node = object.step[object.setup_index];
|
||||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", node.getDescription(), node.getType().getType(),
|
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1, node.getDescription(), node.getType().getType(),
|
||||||
node.getDefaultValue() + "");
|
String.valueOf(node.getDefaultValue()));
|
||||||
return false;
|
return false;
|
||||||
} else if (object.current > 0) {
|
} else if (object.current > 0) {
|
||||||
object.current--;
|
object.current--;
|
||||||
@ -127,8 +127,8 @@ public class Setup extends SubCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
ConfigurationNode step = object.step[object.setup_index];
|
ConfigurationNode step = object.step[object.setup_index];
|
||||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(),
|
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1, step.getDescription(), step.getType().getType(),
|
||||||
step.getDefaultValue() + "");
|
String.valueOf(step.getDefaultValue()));
|
||||||
} else {
|
} else {
|
||||||
if (gen.isFull()) {
|
if (gen.isFull()) {
|
||||||
object.plotManager = object.setupGenerator;
|
object.plotManager = object.setupGenerator;
|
||||||
@ -216,8 +216,8 @@ public class Setup extends SubCommand {
|
|||||||
.getNewPlotArea("CheckingPlotSquaredGenerator", null, null, null).getSettingNodes();
|
.getNewPlotArea("CheckingPlotSquaredGenerator", null, null, null).getSettingNodes();
|
||||||
}
|
}
|
||||||
ConfigurationNode step = object.step[object.setup_index];
|
ConfigurationNode step = object.step[object.setup_index];
|
||||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(),
|
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1, step.getDescription(), step.getType().getType(),
|
||||||
step.getDefaultValue() + "");
|
String.valueOf(step.getDefaultValue()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 6: // world setup
|
case 6: // world setup
|
||||||
@ -229,8 +229,8 @@ public class Setup extends SubCommand {
|
|||||||
}
|
}
|
||||||
ConfigurationNode step = object.step[object.setup_index];
|
ConfigurationNode step = object.step[object.setup_index];
|
||||||
if (args.length < 1) {
|
if (args.length < 1) {
|
||||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(),
|
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1, step.getDescription(), step.getType().getType(),
|
||||||
step.getDefaultValue() + "");
|
String.valueOf(step.getDefaultValue()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
boolean valid = step.isValid(args[0]);
|
boolean valid = step.isValid(args[0]);
|
||||||
@ -243,13 +243,13 @@ public class Setup extends SubCommand {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
step = object.step[object.setup_index];
|
step = object.step[object.setup_index];
|
||||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(),
|
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1, step.getDescription(), step.getType().getType(),
|
||||||
step.getDefaultValue() + "");
|
String.valueOf(step.getDefaultValue()));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
sendMessage(plr, C.SETUP_INVALID_ARG, args[0], step.getConstant());
|
sendMessage(plr, C.SETUP_INVALID_ARG, args[0], step.getConstant());
|
||||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(),
|
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1, step.getDescription(), step.getType().getType(),
|
||||||
step.getDefaultValue() + "");
|
String.valueOf(step.getDefaultValue()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
case 7:
|
case 7:
|
||||||
|
@ -41,7 +41,7 @@ public class Update extends SubCommand {
|
|||||||
MainUtil.sendMessage(plr, "&cTo manually specify an update URL: /plot update <url>");
|
MainUtil.sendMessage(plr, "&cTo manually specify an update URL: /plot update <url>");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (PS.get().update(null, url) && (url == PS.get().update)) {
|
if (PS.get().update(plr, url) && (url == PS.get().update)) {
|
||||||
PS.get().update = null;
|
PS.get().update = null;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -7,6 +7,7 @@ import com.intellectualcrafters.plot.util.StringMan;
|
|||||||
import com.plotsquared.general.commands.CommandCaller;
|
import com.plotsquared.general.commands.CommandCaller;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -730,7 +731,7 @@ public enum C {
|
|||||||
if (!split[0].equalsIgnoreCase(caption.category)) {
|
if (!split[0].equalsIgnoreCase(caption.category)) {
|
||||||
changed = true;
|
changed = true;
|
||||||
yml.set(key, null);
|
yml.set(key, null);
|
||||||
yml.set(caption.category + "." + caption.name().toLowerCase(), value);
|
yml.set(caption.category + '.' + caption.name().toLowerCase(), value);
|
||||||
}
|
}
|
||||||
captions.add(caption);
|
captions.add(caption);
|
||||||
caption.s = value;
|
caption.s = value;
|
||||||
@ -747,7 +748,7 @@ public enum C {
|
|||||||
// HashMap<String, String> replacements = new HashMap<>();
|
// HashMap<String, String> replacements = new HashMap<>();
|
||||||
replacements.clear();
|
replacements.clear();
|
||||||
for (String style : styles) {
|
for (String style : styles) {
|
||||||
replacements.put("$" + style, "\u00a7" + config.getString(style));
|
replacements.put('$' + style, '§' + config.getString(style));
|
||||||
}
|
}
|
||||||
for (char letter : "1234567890abcdefklmnor".toCharArray()) {
|
for (char letter : "1234567890abcdefklmnor".toCharArray()) {
|
||||||
replacements.put("&" + letter, "\u00a7" + letter);
|
replacements.put("&" + letter, "\u00a7" + letter);
|
||||||
@ -761,14 +762,14 @@ public enum C {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
changed = true;
|
changed = true;
|
||||||
yml.set(caption.category + "." + caption.name().toLowerCase(), caption.def);
|
yml.set(caption.category + '.' + caption.name().toLowerCase(), caption.def);
|
||||||
}
|
}
|
||||||
caption.s = StringMan.replaceFromMap(caption.s, replacements);
|
caption.s = StringMan.replaceFromMap(caption.s, replacements);
|
||||||
}
|
}
|
||||||
if (changed) {
|
if (changed) {
|
||||||
yml.save(file);
|
yml.save(file);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (IOException | IllegalArgumentException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ public class Configuration {
|
|||||||
try {
|
try {
|
||||||
Integer.parseInt(string);
|
Integer.parseInt(string);
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
} catch (NumberFormatException ignored) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -54,12 +54,8 @@ public class Configuration {
|
|||||||
public static final SettingValue<Boolean> BOOLEAN = new SettingValue<Boolean>("BOOLEAN") {
|
public static final SettingValue<Boolean> BOOLEAN = new SettingValue<Boolean>("BOOLEAN") {
|
||||||
@Override
|
@Override
|
||||||
public boolean validateValue(String string) {
|
public boolean validateValue(String string) {
|
||||||
try {
|
|
||||||
Boolean.parseBoolean(string);
|
Boolean.parseBoolean(string);
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -73,7 +69,7 @@ public class Configuration {
|
|||||||
try {
|
try {
|
||||||
Double.parseDouble(string);
|
Double.parseDouble(string);
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
} catch (NumberFormatException ignored) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,7 +85,7 @@ public class Configuration {
|
|||||||
try {
|
try {
|
||||||
int biome = WorldUtil.IMP.getBiomeFromString(string.toUpperCase());
|
int biome = WorldUtil.IMP.getBiomeFromString(string.toUpperCase());
|
||||||
return biome != -1;
|
return biome != -1;
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -134,7 +130,7 @@ public class Configuration {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException ignored) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
|
|||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
|
||||||
|
@SuppressWarnings("SqlDialectInspection")
|
||||||
public class SQLManager implements AbstractDB {
|
public class SQLManager implements AbstractDB {
|
||||||
|
|
||||||
// Public final
|
// Public final
|
||||||
@ -173,7 +174,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
this.plotTasks.put(plot, tasks);
|
this.plotTasks.put(plot, tasks);
|
||||||
}
|
}
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
task = new UniqueStatement(plot.hashCode() + "") {
|
task = new UniqueStatement(String.valueOf(plot.hashCode())) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement get() {
|
public PreparedStatement get() {
|
||||||
@ -207,7 +208,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
this.playerTasks.put(uuid, tasks);
|
this.playerTasks.put(uuid, tasks);
|
||||||
}
|
}
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
task = new UniqueStatement(uuid.hashCode() + "") {
|
task = new UniqueStatement(String.valueOf(uuid.hashCode())) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement get() {
|
public PreparedStatement get() {
|
||||||
@ -238,7 +239,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
this.clusterTasks.put(cluster, tasks);
|
this.clusterTasks.put(cluster, tasks);
|
||||||
}
|
}
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
task = new UniqueStatement(cluster.hashCode() + "") {
|
task = new UniqueStatement(String.valueOf(cluster.hashCode())) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreparedStatement get() {
|
public PreparedStatement get() {
|
||||||
@ -397,7 +398,8 @@ public class SQLManager implements AbstractDB {
|
|||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
commit();
|
commit();
|
||||||
return true;
|
return true;
|
||||||
} else if (count != -1) {
|
}
|
||||||
|
if (count != -1) {
|
||||||
if (!this.connection.getAutoCommit()) {
|
if (!this.connection.getAutoCommit()) {
|
||||||
this.connection.setAutoCommit(true);
|
this.connection.setAutoCommit(true);
|
||||||
}
|
}
|
||||||
@ -611,7 +613,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
stmt.setInt(i * 5 + 2, plot.getId().y);
|
stmt.setInt(i * 5 + 2, plot.getId().y);
|
||||||
try {
|
try {
|
||||||
stmt.setString(i * 5 + 3, plot.owner.toString());
|
stmt.setString(i * 5 + 3, plot.owner.toString());
|
||||||
} catch (SQLException e) {
|
} catch (SQLException ignored) {
|
||||||
stmt.setString(i * 5 + 3, AbstractDB.everyone.toString());
|
stmt.setString(i * 5 + 3, AbstractDB.everyone.toString());
|
||||||
}
|
}
|
||||||
stmt.setString(i * 5 + 4, plot.getArea().toString());
|
stmt.setString(i * 5 + 4, plot.getArea().toString());
|
||||||
@ -625,7 +627,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
stmt.setInt(i * 6 + 3, plot.getId().y);
|
stmt.setInt(i * 6 + 3, plot.getId().y);
|
||||||
try {
|
try {
|
||||||
stmt.setString(i * 6 + 4, plot.owner.toString());
|
stmt.setString(i * 6 + 4, plot.owner.toString());
|
||||||
} catch (SQLException e1) {
|
} catch (SQLException ignored) {
|
||||||
stmt.setString(i * 6 + 4, AbstractDB.everyone.toString());
|
stmt.setString(i * 6 + 4, AbstractDB.everyone.toString());
|
||||||
}
|
}
|
||||||
stmt.setString(i * 6 + 5, plot.getArea().toString());
|
stmt.setString(i * 6 + 5, plot.getArea().toString());
|
||||||
@ -742,18 +744,15 @@ public class SQLManager implements AbstractDB {
|
|||||||
PS.debug("&6[WARN] Could not bulk save!");
|
PS.debug("&6[WARN] Could not bulk save!");
|
||||||
try {
|
try {
|
||||||
String nonBulk = mod.getCreateSQL();
|
String nonBulk = mod.getCreateSQL();
|
||||||
PreparedStatement preparedStmt = this.connection.prepareStatement(nonBulk);
|
try (PreparedStatement preparedStmt = this.connection.prepareStatement(nonBulk)) {
|
||||||
for (T obj : objList) {
|
for (T obj : objList) {
|
||||||
try {
|
|
||||||
mod.setSQL(preparedStmt, obj);
|
mod.setSQL(preparedStmt, obj);
|
||||||
preparedStmt.addBatch();
|
preparedStmt.addBatch();
|
||||||
} catch (SQLException e3) {
|
|
||||||
PS.debug("&c[ERROR] Failed to save " + obj + "!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
PS.debug("&aBatch 3");
|
PS.debug("&aBatch 3");
|
||||||
preparedStmt.executeBatch();
|
preparedStmt.executeBatch();
|
||||||
preparedStmt.close();
|
preparedStmt.close();
|
||||||
|
}
|
||||||
} catch (SQLException e3) {
|
} catch (SQLException e3) {
|
||||||
e3.printStackTrace();
|
e3.printStackTrace();
|
||||||
PS.debug("&c[ERROR] Failed to save all!");
|
PS.debug("&c[ERROR] Failed to save all!");
|
||||||
@ -807,9 +806,9 @@ public class SQLManager implements AbstractDB {
|
|||||||
int k = 0;
|
int k = 0;
|
||||||
for (Entry<Flag<?>, ?> flag : pair.settings.flags.entrySet()) {
|
for (Entry<Flag<?>, ?> flag : pair.settings.flags.entrySet()) {
|
||||||
if (k != 0) {
|
if (k != 0) {
|
||||||
flag_string.append(",");
|
flag_string.append(',');
|
||||||
}
|
}
|
||||||
flag_string.append(flag.getKey().getName() + ":" + flag.getKey().valueToString(flag.getValue()).replaceAll(":", "¯")
|
flag_string.append(flag.getKey().getName() + ':' + flag.getKey().valueToString(flag.getValue()).replaceAll(":", "¯")
|
||||||
.replaceAll(",", "´"));
|
.replaceAll(",", "´"));
|
||||||
k++;
|
k++;
|
||||||
}
|
}
|
||||||
@ -822,7 +821,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
if (loc.y == 0) {
|
if (loc.y == 0) {
|
||||||
position = "DEFAULT";
|
position = "DEFAULT";
|
||||||
} else {
|
} else {
|
||||||
position = loc.x + "," + loc.y + "," + loc.z;
|
position = loc.x + "," + loc.y + ',' + loc.z;
|
||||||
}
|
}
|
||||||
statement.setString(i * 10 + 10, position);
|
statement.setString(i * 10 + 10, position);
|
||||||
}
|
}
|
||||||
@ -844,9 +843,9 @@ public class SQLManager implements AbstractDB {
|
|||||||
int k = 0;
|
int k = 0;
|
||||||
for (Entry<Flag<?>, ?> flag : pair.settings.flags.entrySet()) {
|
for (Entry<Flag<?>, ?> flag : pair.settings.flags.entrySet()) {
|
||||||
if (k != 0) {
|
if (k != 0) {
|
||||||
flag_string.append(",");
|
flag_string.append(',');
|
||||||
}
|
}
|
||||||
flag_string.append(flag.getKey().getName() + ":" + flag.getKey().valueToString(flag.getValue()).replaceAll(":", "¯")
|
flag_string.append(flag.getKey().getName() + ':' + flag.getKey().valueToString(flag.getValue()).replaceAll(":", "¯")
|
||||||
.replaceAll(",", "´"));
|
.replaceAll(",", "´"));
|
||||||
k++;
|
k++;
|
||||||
}
|
}
|
||||||
@ -862,7 +861,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
if (loc.y == 0) {
|
if (loc.y == 0) {
|
||||||
position = "DEFAULT";
|
position = "DEFAULT";
|
||||||
} else {
|
} else {
|
||||||
position = loc.x + "," + loc.y + "," + loc.z;
|
position = loc.x + "," + loc.y + ',' + loc.z;
|
||||||
}
|
}
|
||||||
stmt.setString(i * 10 + 10, position);
|
stmt.setString(i * 10 + 10, position);
|
||||||
}
|
}
|
||||||
@ -960,10 +959,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void commit() {
|
public void commit() {
|
||||||
try {
|
|
||||||
if (this.closed) {
|
if (this.closed) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
if (!this.connection.getAutoCommit()) {
|
if (!this.connection.getAutoCommit()) {
|
||||||
this.connection.commit();
|
this.connection.commit();
|
||||||
this.connection.setAutoCommit(true);
|
this.connection.setAutoCommit(true);
|
||||||
@ -992,7 +991,6 @@ public class SQLManager implements AbstractDB {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(PreparedStatement statement) {
|
public void execute(PreparedStatement statement) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1181,7 +1179,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
+ "`comment` VARCHAR(40) NOT NULL,"
|
+ "`comment` VARCHAR(40) NOT NULL,"
|
||||||
+ "`inbox` VARCHAR(40) NOT NULL, `timestamp` INT(11) NOT NULL,"
|
+ "`inbox` VARCHAR(40) NOT NULL, `timestamp` INT(11) NOT NULL,"
|
||||||
+ "`sender` VARCHAR(40) NOT NULL"
|
+ "`sender` VARCHAR(40) NOT NULL"
|
||||||
+ ")");
|
+ ')');
|
||||||
stmt.addBatch("CREATE TABLE IF NOT EXISTS `"
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `"
|
||||||
+ this.prefix
|
+ this.prefix
|
||||||
+ "plot_settings` ("
|
+ "plot_settings` ("
|
||||||
@ -1196,7 +1194,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
+ " `merged` INT(11) DEFAULT NULL,"
|
+ " `merged` INT(11) DEFAULT NULL,"
|
||||||
+ " `position` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',"
|
+ " `position` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',"
|
||||||
+ " PRIMARY KEY (`plot_plot_id`)"
|
+ " PRIMARY KEY (`plot_plot_id`)"
|
||||||
+ ")");
|
+ ')');
|
||||||
stmt.addBatch("CREATE TABLE IF NOT EXISTS `" + this.prefix
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `" + this.prefix
|
||||||
+ "plot_rating` (`plot_plot_id` INT(11) NOT NULL, `rating` INT(2) NOT NULL, `player` VARCHAR(40) NOT NULL)");
|
+ "plot_rating` (`plot_plot_id` INT(11) NOT NULL, `rating` INT(2) NOT NULL, `player` VARCHAR(40) NOT NULL)");
|
||||||
stmt.addBatch("CREATE TABLE IF NOT EXISTS `"
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `"
|
||||||
@ -1210,7 +1208,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
+ "`owner` VARCHAR(40) NOT NULL,"
|
+ "`owner` VARCHAR(40) NOT NULL,"
|
||||||
+ "`world` VARCHAR(45) NOT NULL,"
|
+ "`world` VARCHAR(45) NOT NULL,"
|
||||||
+ "`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP"
|
+ "`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP"
|
||||||
+ ")");
|
+ ')');
|
||||||
stmt.addBatch("CREATE TABLE IF NOT EXISTS `" + this.prefix + "cluster_helpers` (`cluster_id` INT(11) NOT NULL,"
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `" + this.prefix + "cluster_helpers` (`cluster_id` INT(11) NOT NULL,"
|
||||||
+ "`user_uuid` VARCHAR(40) NOT NULL)");
|
+ "`user_uuid` VARCHAR(40) NOT NULL)");
|
||||||
stmt.addBatch("CREATE TABLE IF NOT EXISTS `" + this.prefix + "cluster_invited` (`cluster_id` INT(11) NOT NULL,"
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `" + this.prefix + "cluster_invited` (`cluster_id` INT(11) NOT NULL,"
|
||||||
@ -1229,7 +1227,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
+ " `merged` INT(11) DEFAULT NULL,"
|
+ " `merged` INT(11) DEFAULT NULL,"
|
||||||
+ " `position` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',"
|
+ " `position` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',"
|
||||||
+ " PRIMARY KEY (`cluster_id`)"
|
+ " PRIMARY KEY (`cluster_id`)"
|
||||||
+ ")");
|
+ ')');
|
||||||
stmt.addBatch("CREATE TABLE IF NOT EXISTS `"
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `"
|
||||||
+ this.prefix
|
+ this.prefix
|
||||||
+ "player_meta` ("
|
+ "player_meta` ("
|
||||||
@ -1237,7 +1235,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
+ " `uuid` VARCHAR(40) NOT NULL,"
|
+ " `uuid` VARCHAR(40) NOT NULL,"
|
||||||
+ " `key` VARCHAR(32) NOT NULL,"
|
+ " `key` VARCHAR(32) NOT NULL,"
|
||||||
+ " `value` blob NOT NULL"
|
+ " `value` blob NOT NULL"
|
||||||
+ ")");
|
+ ')');
|
||||||
}
|
}
|
||||||
stmt.executeBatch();
|
stmt.executeBatch();
|
||||||
stmt.clearBatch();
|
stmt.clearBatch();
|
||||||
@ -1411,21 +1409,22 @@ public class SQLManager implements AbstractDB {
|
|||||||
if (cluster.temp > 0) {
|
if (cluster.temp > 0) {
|
||||||
return cluster.temp;
|
return cluster.temp;
|
||||||
}
|
}
|
||||||
PreparedStatement stmt = this.connection.prepareStatement("SELECT `id` FROM `"
|
int c_id;
|
||||||
|
try (PreparedStatement stmt = this.connection.prepareStatement("SELECT `id` FROM `"
|
||||||
+ this.prefix
|
+ this.prefix
|
||||||
+ "cluster` WHERE `pos1_x` = ? AND `pos1_z` = ? AND `pos2_x` = ? AND `pos2_z` = ? AND `world` = ? ORDER BY `timestamp` ASC");
|
+ "cluster` WHERE `pos1_x` = ? AND `pos1_z` = ? AND `pos2_x` = ? AND `pos2_z` = ? AND `world` = ? ORDER BY `timestamp` ASC")) {
|
||||||
stmt.setInt(1, cluster.getP1().x);
|
stmt.setInt(1, cluster.getP1().x);
|
||||||
stmt.setInt(2, cluster.getP1().y);
|
stmt.setInt(2, cluster.getP1().y);
|
||||||
stmt.setInt(3, cluster.getP2().x);
|
stmt.setInt(3, cluster.getP2().x);
|
||||||
stmt.setInt(4, cluster.getP2().y);
|
stmt.setInt(4, cluster.getP2().y);
|
||||||
stmt.setString(5, cluster.area.toString());
|
stmt.setString(5, cluster.area.toString());
|
||||||
ResultSet r = stmt.executeQuery();
|
try (ResultSet resultSet = stmt.executeQuery()) {
|
||||||
int c_id = Integer.MAX_VALUE;
|
c_id = Integer.MAX_VALUE;
|
||||||
while (r.next()) {
|
while (resultSet.next()) {
|
||||||
c_id = r.getInt("id");
|
c_id = resultSet.getInt("id");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
stmt.close();
|
|
||||||
r.close();
|
|
||||||
if (c_id == Integer.MAX_VALUE || c_id == 0) {
|
if (c_id == Integer.MAX_VALUE || c_id == 0) {
|
||||||
if (cluster.temp > 0) {
|
if (cluster.temp > 0) {
|
||||||
return cluster.temp;
|
return cluster.temp;
|
||||||
@ -1493,8 +1492,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
rs = data.getColumns(null, null, this.prefix + "plot_comments", "hashcode");
|
rs = data.getColumns(null, null, this.prefix + "plot_comments", "hashcode");
|
||||||
if (!rs.next()) {
|
if (!rs.next()) {
|
||||||
rs.close();
|
rs.close();
|
||||||
try {
|
try (Statement statement = this.connection.createStatement()) {
|
||||||
Statement statement = this.connection.createStatement();
|
|
||||||
statement.addBatch("DROP TABLE `" + this.prefix + "plot_comments`");
|
statement.addBatch("DROP TABLE `" + this.prefix + "plot_comments`");
|
||||||
if (Settings.DB.USE_MYSQL) {
|
if (Settings.DB.USE_MYSQL) {
|
||||||
statement.addBatch("CREATE TABLE IF NOT EXISTS `"
|
statement.addBatch("CREATE TABLE IF NOT EXISTS `"
|
||||||
@ -1514,17 +1512,16 @@ public class SQLManager implements AbstractDB {
|
|||||||
+ "`comment` VARCHAR(40) NOT NULL,"
|
+ "`comment` VARCHAR(40) NOT NULL,"
|
||||||
+ "`inbox` VARCHAR(40) NOT NULL, `timestamp` INT(11) NOT NULL,"
|
+ "`inbox` VARCHAR(40) NOT NULL, `timestamp` INT(11) NOT NULL,"
|
||||||
+ "`sender` VARCHAR(40) NOT NULL"
|
+ "`sender` VARCHAR(40) NOT NULL"
|
||||||
+ ")");
|
+ ')');
|
||||||
}
|
}
|
||||||
statement.executeBatch();
|
statement.executeBatch();
|
||||||
statement.close();
|
} catch (SQLException ignored) {
|
||||||
} catch (SQLException e) {
|
try (Statement statement = this.connection.createStatement()) {
|
||||||
Statement statement = this.connection.createStatement();
|
|
||||||
statement.addBatch("ALTER IGNORE TABLE `" + this.prefix + "plot_comments` ADD `inbox` VARCHAR(11) DEFAULT `public`");
|
statement.addBatch("ALTER IGNORE TABLE `" + this.prefix + "plot_comments` ADD `inbox` VARCHAR(11) DEFAULT `public`");
|
||||||
statement.addBatch("ALTER IGNORE TABLE `" + this.prefix + "plot_comments` ADD `timestamp` INT(11) DEFAULT 0");
|
statement.addBatch("ALTER IGNORE TABLE `" + this.prefix + "plot_comments` ADD `timestamp` INT(11) DEFAULT 0");
|
||||||
statement.addBatch("ALTER TABLE `" + this.prefix + "plot` DROP `tier`");
|
statement.addBatch("ALTER TABLE `" + this.prefix + "plot` DROP `tier`");
|
||||||
statement.executeBatch();
|
statement.executeBatch();
|
||||||
statement.close();
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1534,7 +1531,6 @@ public class SQLManager implements AbstractDB {
|
|||||||
try (Statement statement = this.connection.createStatement()) {
|
try (Statement statement = this.connection.createStatement()) {
|
||||||
statement.executeUpdate(
|
statement.executeUpdate(
|
||||||
"DELETE FROM `" + this.prefix + "plot_denied` WHERE `plot_plot_id` NOT IN (SELECT `id` FROM `" + this.prefix + "plot`)");
|
"DELETE FROM `" + this.prefix + "plot_denied` WHERE `plot_plot_id` NOT IN (SELECT `id` FROM `" + this.prefix + "plot`)");
|
||||||
statement.close();
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -1555,7 +1551,6 @@ public class SQLManager implements AbstractDB {
|
|||||||
PS.debug("RESTORING: " + this.prefix + table);
|
PS.debug("RESTORING: " + this.prefix + table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
statement.close();
|
|
||||||
} catch (SQLException e2) {
|
} catch (SQLException e2) {
|
||||||
e2.printStackTrace();
|
e2.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -1620,7 +1615,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
for (String areaKey : areaSection.getKeys(false)) {
|
for (String areaKey : areaSection.getKeys(false)) {
|
||||||
String[] split = areaKey.split("(?<![;])-");
|
String[] split = areaKey.split("(?<![;])-");
|
||||||
if (split.length == 3) {
|
if (split.length == 3) {
|
||||||
areas.add(worldKey + ";" + split[0]);
|
areas.add(worldKey + ';' + split[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1633,7 +1628,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
/*
|
/*
|
||||||
* Getting plots
|
* Getting plots
|
||||||
*/
|
*/
|
||||||
Statement statement = this.connection.createStatement();
|
try (Statement statement = this.connection.createStatement()) {
|
||||||
int id;
|
int id;
|
||||||
String o;
|
String o;
|
||||||
UUID user;
|
UUID user;
|
||||||
@ -1824,14 +1819,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
plot.getSettings().setMerged(merged);
|
plot.getSettings().setMerged(merged);
|
||||||
String[] flags_string;
|
String[] flags_string;
|
||||||
String myflags = resultSet.getString("flags");
|
String myflags = resultSet.getString("flags");
|
||||||
if (myflags == null) {
|
if (myflags == null || myflags.isEmpty()) {
|
||||||
flags_string = new String[]{};
|
flags_string = new String[]{};
|
||||||
} else {
|
} else {
|
||||||
if (!myflags.isEmpty()) {
|
|
||||||
flags_string = myflags.split(",");
|
flags_string = myflags.split(",");
|
||||||
} else {
|
|
||||||
flags_string = new String[]{};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
HashMap<Flag<?>, Object> flags = new HashMap<>();
|
HashMap<Flag<?>, Object> flags = new HashMap<>();
|
||||||
boolean exception = false;
|
boolean exception = false;
|
||||||
@ -1865,13 +1856,14 @@ public class SQLManager implements AbstractDB {
|
|||||||
} else if (Settings.AUTO_PURGE) {
|
} else if (Settings.AUTO_PURGE) {
|
||||||
toDelete.add(id);
|
toDelete.add(id);
|
||||||
} else {
|
} else {
|
||||||
PS.debug("&cENTRY " + id + " in `plot_settings` does not exist. Create this plot or set `auto-purge: true` in the settings"
|
PS.debug(
|
||||||
|
"&cENTRY " + id + " in `plot_settings` does not exist. Create this plot or set `auto-purge: true` in the settings"
|
||||||
+ ".yml.");
|
+ ".yml.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
statement.close();
|
|
||||||
deleteRows(toDelete, this.prefix + "plot_settings", "plot_plot_id");
|
deleteRows(toDelete, this.prefix + "plot_settings", "plot_plot_id");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!plots.entrySet().isEmpty()) {
|
if (!plots.entrySet().isEmpty()) {
|
||||||
createEmptySettings(new ArrayList<>(plots.keySet()), null);
|
createEmptySettings(new ArrayList<>(plots.keySet()), null);
|
||||||
for (Entry<Integer, Plot> entry : plots.entrySet()) {
|
for (Entry<Integer, Plot> entry : plots.entrySet()) {
|
||||||
@ -2027,23 +2019,23 @@ public class SQLManager implements AbstractDB {
|
|||||||
stmt_prefix = " OR `plot_plot_id` = ";
|
stmt_prefix = " OR `plot_plot_id` = ";
|
||||||
}
|
}
|
||||||
PreparedStatement stmt = SQLManager.this.connection
|
PreparedStatement stmt = SQLManager.this.connection
|
||||||
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_helpers` WHERE `plot_plot_id` = " + idstr + "");
|
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_helpers` WHERE `plot_plot_id` = " + idstr);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
stmt.close();
|
stmt.close();
|
||||||
stmt = SQLManager.this.connection
|
stmt = SQLManager.this.connection
|
||||||
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_denied` WHERE `plot_plot_id` = " + idstr + "");
|
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_denied` WHERE `plot_plot_id` = " + idstr);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
stmt.close();
|
stmt.close();
|
||||||
stmt = SQLManager.this.connection
|
stmt = SQLManager.this.connection
|
||||||
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_settings` WHERE `plot_plot_id` = " + idstr + "");
|
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_settings` WHERE `plot_plot_id` = " + idstr);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
stmt.close();
|
stmt.close();
|
||||||
stmt = SQLManager.this.connection
|
stmt = SQLManager.this.connection
|
||||||
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_trusted` WHERE `plot_plot_id` = " + idstr + "");
|
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_trusted` WHERE `plot_plot_id` = " + idstr);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
stmt.close();
|
stmt.close();
|
||||||
stmt = SQLManager.this.connection
|
stmt = SQLManager.this.connection
|
||||||
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot` WHERE `id` = " + idstr2 + "");
|
.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot` WHERE `id` = " + idstr2);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
stmt.close();
|
stmt.close();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -2344,10 +2336,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
try (PreparedStatement statement = this.connection
|
try (PreparedStatement statement = this.connection
|
||||||
.prepareStatement("SELECT `rating`, `player` FROM `" + this.prefix + "plot_rating` WHERE `plot_plot_id` = ? ")) {
|
.prepareStatement("SELECT `rating`, `player` FROM `" + this.prefix + "plot_rating` WHERE `plot_plot_id` = ? ")) {
|
||||||
statement.setInt(1, getId(plot));
|
statement.setInt(1, getId(plot));
|
||||||
try (ResultSet set = statement.executeQuery()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
while (set.next()) {
|
while (resultSet.next()) {
|
||||||
UUID uuid = UUID.fromString(set.getString("player"));
|
UUID uuid = UUID.fromString(resultSet.getString("player"));
|
||||||
int rating = set.getInt("rating");
|
int rating = resultSet.getInt("rating");
|
||||||
map.put(uuid, rating);
|
map.put(uuid, rating);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2526,7 +2518,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
for (String areaKey : areaSection.getKeys(false)) {
|
for (String areaKey : areaSection.getKeys(false)) {
|
||||||
String[] split = areaKey.split("(?<![;])-");
|
String[] split = areaKey.split("(?<![;])-");
|
||||||
if (split.length == 3) {
|
if (split.length == 3) {
|
||||||
areas.add(worldKey + ";" + split[0]);
|
areas.add(worldKey + ';' + split[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2538,17 +2530,17 @@ public class SQLManager implements AbstractDB {
|
|||||||
/*
|
/*
|
||||||
* Getting clusters
|
* Getting clusters
|
||||||
*/
|
*/
|
||||||
Statement stmt = this.connection.createStatement();
|
try (Statement stmt = this.connection.createStatement()) {
|
||||||
ResultSet r = stmt.executeQuery("SELECT * FROM `" + this.prefix + "cluster`");
|
ResultSet resultSet = stmt.executeQuery("SELECT * FROM `" + this.prefix + "cluster`");
|
||||||
PlotCluster cluster;
|
PlotCluster cluster;
|
||||||
String owner;
|
String owner;
|
||||||
UUID user;
|
UUID user;
|
||||||
int id;
|
int id;
|
||||||
while (r.next()) {
|
while (resultSet.next()) {
|
||||||
PlotId pos1 = new PlotId(r.getInt("pos1_x"), r.getInt("pos1_z"));
|
PlotId pos1 = new PlotId(resultSet.getInt("pos1_x"), resultSet.getInt("pos1_z"));
|
||||||
PlotId pos2 = new PlotId(r.getInt("pos2_x"), r.getInt("pos2_z"));
|
PlotId pos2 = new PlotId(resultSet.getInt("pos2_x"), resultSet.getInt("pos2_z"));
|
||||||
id = r.getInt("id");
|
id = resultSet.getInt("id");
|
||||||
String areaid = r.getString("world");
|
String areaid = resultSet.getString("world");
|
||||||
if (!areas.contains(areaid)) {
|
if (!areas.contains(areaid)) {
|
||||||
if (noExist.containsKey(areaid)) {
|
if (noExist.containsKey(areaid)) {
|
||||||
noExist.put(areaid, noExist.get(areaid) + 1);
|
noExist.put(areaid, noExist.get(areaid) + 1);
|
||||||
@ -2556,7 +2548,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
noExist.put(areaid, 1);
|
noExist.put(areaid, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
owner = r.getString("owner");
|
owner = resultSet.getString("owner");
|
||||||
user = uuids.get(owner);
|
user = uuids.get(owner);
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
user = UUID.fromString(owner);
|
user = UUID.fromString(owner);
|
||||||
@ -2574,10 +2566,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
/*
|
/*
|
||||||
* Getting helpers
|
* Getting helpers
|
||||||
*/
|
*/
|
||||||
r = stmt.executeQuery("SELECT `user_uuid`, `cluster_id` FROM `" + this.prefix + "cluster_helpers`");
|
resultSet = stmt.executeQuery("SELECT `user_uuid`, `cluster_id` FROM `" + this.prefix + "cluster_helpers`");
|
||||||
while (r.next()) {
|
while (resultSet.next()) {
|
||||||
id = r.getInt("cluster_id");
|
id = resultSet.getInt("cluster_id");
|
||||||
owner = r.getString("user_uuid");
|
owner = resultSet.getString("user_uuid");
|
||||||
user = uuids.get(owner);
|
user = uuids.get(owner);
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
user = UUID.fromString(owner);
|
user = UUID.fromString(owner);
|
||||||
@ -2593,10 +2585,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
/*
|
/*
|
||||||
* Getting invited
|
* Getting invited
|
||||||
*/
|
*/
|
||||||
r = stmt.executeQuery("SELECT `user_uuid`, `cluster_id` FROM `" + this.prefix + "cluster_invited`");
|
resultSet = stmt.executeQuery("SELECT `user_uuid`, `cluster_id` FROM `" + this.prefix + "cluster_invited`");
|
||||||
while (r.next()) {
|
while (resultSet.next()) {
|
||||||
id = r.getInt("cluster_id");
|
id = resultSet.getInt("cluster_id");
|
||||||
owner = r.getString("user_uuid");
|
owner = resultSet.getString("user_uuid");
|
||||||
user = uuids.get(owner);
|
user = uuids.get(owner);
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
user = UUID.fromString(owner);
|
user = UUID.fromString(owner);
|
||||||
@ -2609,16 +2601,16 @@ public class SQLManager implements AbstractDB {
|
|||||||
PS.debug("&cCluster " + id + " in cluster_invited does not exist. Please create the cluster or remove this entry.");
|
PS.debug("&cCluster " + id + " in cluster_invited does not exist. Please create the cluster or remove this entry.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
r = stmt.executeQuery("SELECT * FROM `" + this.prefix + "cluster_settings`");
|
resultSet = stmt.executeQuery("SELECT * FROM `" + this.prefix + "cluster_settings`");
|
||||||
while (r.next()) {
|
while (resultSet.next()) {
|
||||||
id = r.getInt("cluster_id");
|
id = resultSet.getInt("cluster_id");
|
||||||
cluster = clusters.get(id);
|
cluster = clusters.get(id);
|
||||||
if (cluster != null) {
|
if (cluster != null) {
|
||||||
String alias = r.getString("alias");
|
String alias = resultSet.getString("alias");
|
||||||
if (alias != null) {
|
if (alias != null) {
|
||||||
cluster.settings.setAlias(alias);
|
cluster.settings.setAlias(alias);
|
||||||
}
|
}
|
||||||
String pos = r.getString("position");
|
String pos = resultSet.getString("position");
|
||||||
switch (pos.toLowerCase()) {
|
switch (pos.toLowerCase()) {
|
||||||
case "":
|
case "":
|
||||||
case "default":
|
case "default":
|
||||||
@ -2632,22 +2624,18 @@ public class SQLManager implements AbstractDB {
|
|||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Integer m = r.getInt("merged");
|
Integer m = resultSet.getInt("merged");
|
||||||
boolean[] merged = new boolean[4];
|
boolean[] merged = new boolean[4];
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
merged[3 - i] = (m & 1 << i) != 0;
|
merged[3 - i] = (m & 1 << i) != 0;
|
||||||
}
|
}
|
||||||
cluster.settings.setMerged(merged);
|
cluster.settings.setMerged(merged);
|
||||||
String[] flags_string;
|
String[] flags_string;
|
||||||
String myflags = r.getString("flags");
|
String myflags = resultSet.getString("flags");
|
||||||
if (myflags == null) {
|
if (myflags == null || myflags.isEmpty()) {
|
||||||
flags_string = new String[]{};
|
flags_string = new String[]{};
|
||||||
} else {
|
} else {
|
||||||
if (!myflags.isEmpty()) {
|
|
||||||
flags_string = myflags.split(",");
|
flags_string = myflags.split(",");
|
||||||
} else {
|
|
||||||
flags_string = new String[]{};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
HashMap<Flag<?>, Object> flags = new HashMap<>();
|
HashMap<Flag<?>, Object> flags = new HashMap<>();
|
||||||
boolean exception = false;
|
boolean exception = false;
|
||||||
@ -2657,14 +2645,14 @@ public class SQLManager implements AbstractDB {
|
|||||||
try {
|
try {
|
||||||
String flag_str = split[1].replaceAll("\u00AF", ":").replaceAll("<EFBFBD>", ",");
|
String flag_str = split[1].replaceAll("\u00AF", ":").replaceAll("<EFBFBD>", ",");
|
||||||
Flag flag = FlagManager.getFlag(split[0]);
|
Flag flag = FlagManager.getFlag(split[0]);
|
||||||
flags.put(flag, flag_str);
|
flags.put(flag, flag.parseValue(flag_str));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
exception = true;
|
exception = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Flag flag = FlagManager.getFlag(element);
|
Flag flag = FlagManager.getFlag(element);
|
||||||
flags.put(flag, "");
|
flags.put(flag, flag.parseValue(""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (exception) {
|
if (exception) {
|
||||||
@ -2676,8 +2664,8 @@ public class SQLManager implements AbstractDB {
|
|||||||
PS.debug("&cCluster " + id + " in cluster_settings does not exist. Please create the cluster or remove this entry.");
|
PS.debug("&cCluster " + id + " in cluster_settings does not exist. Please create the cluster or remove this entry.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stmt.close();
|
resultSet.close();
|
||||||
r.close();
|
}
|
||||||
boolean invalidPlot = false;
|
boolean invalidPlot = false;
|
||||||
for (Entry<String, Integer> entry : noExist.entrySet()) {
|
for (Entry<String, Integer> entry : noExist.entrySet()) {
|
||||||
String a = entry.getKey();
|
String a = entry.getKey();
|
||||||
@ -2700,9 +2688,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
for (Entry<Flag<?>, Object> flag : flags.entrySet()) {
|
for (Entry<Flag<?>, Object> flag : flags.entrySet()) {
|
||||||
if (i != 0) {
|
if (i != 0) {
|
||||||
flag_string.append(",");
|
flag_string.append(',');
|
||||||
}
|
}
|
||||||
flag_string.append(flag.getKey().getName() + ":" + flag.getKey().valueToString(flag.getValue()).replaceAll(":", "¯").replaceAll(",",
|
flag_string.append(flag.getKey().getName()).append(":")
|
||||||
|
.append(flag.getKey().valueToString(flag.getValue()).replaceAll(":", "¯").replaceAll(",",
|
||||||
"´"));
|
"´"));
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
@ -2793,17 +2782,17 @@ public class SQLManager implements AbstractDB {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(PreparedStatement statement) {
|
public void execute(PreparedStatement statement) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addBatch(PreparedStatement statement) throws SQLException {
|
public void addBatch(PreparedStatement statement) throws SQLException {
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
ResultSet keys = statement.getGeneratedKeys();
|
try (ResultSet keys = statement.getGeneratedKeys()) {
|
||||||
if (keys.next()) {
|
if (keys.next()) {
|
||||||
cluster.temp = keys.getInt(1);
|
cluster.temp = keys.getInt(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
addClusterTask(cluster, new UniqueStatement("createCluster_settings_" + cluster.hashCode()) {
|
addClusterTask(cluster, new UniqueStatement("createCluster_settings_" + cluster.hashCode()) {
|
||||||
@Override
|
@Override
|
||||||
@ -3038,12 +3027,10 @@ public class SQLManager implements AbstractDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (Entry<String, HashMap<PlotId, Plot>> entry : database.entrySet()) {
|
for (Entry<String, HashMap<PlotId, Plot>> entry : database.entrySet()) {
|
||||||
String worldname = entry.getKey();
|
|
||||||
HashMap<PlotId, Plot> map = entry.getValue();
|
HashMap<PlotId, Plot> map = entry.getValue();
|
||||||
if (!map.isEmpty()) {
|
if (!map.isEmpty()) {
|
||||||
for (Entry<PlotId, Plot> entry2 : map.entrySet()) {
|
for (Entry<PlotId, Plot> entry2 : map.entrySet()) {
|
||||||
Plot plot = entry2.getValue();
|
PS.debug("$1Plot was deleted: " + entry2.getValue().toString() + "// TODO implement this when sure safe");
|
||||||
PS.debug("$1Plot was deleted: " + entry2.getValue() + "// TODO implement this when sure safe");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3112,30 +3099,30 @@ public class SQLManager implements AbstractDB {
|
|||||||
try (Statement stmt = SQLManager.this.connection.createStatement()) {
|
try (Statement stmt = SQLManager.this.connection.createStatement()) {
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "cluster` SET `owner` = '" + now.toString() + "' WHERE `owner` = '" + old.toString()
|
"UPDATE `" + SQLManager.this.prefix + "cluster` SET `owner` = '" + now.toString() + "' WHERE `owner` = '" + old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "cluster_helpers` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "cluster_helpers` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
||||||
+ old.toString()
|
+ old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "cluster_invited` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "cluster_invited` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
||||||
+ old.toString()
|
+ old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot` SET `owner` = '" + now.toString() + "' WHERE `owner` = '" + old.toString()
|
"UPDATE `" + SQLManager.this.prefix + "plot` SET `owner` = '" + now.toString() + "' WHERE `owner` = '" + old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot_denied` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "plot_denied` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
||||||
+ old.toString()
|
+ old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot_helpers` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "plot_helpers` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
||||||
+ old.toString()
|
+ old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot_trusted` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "plot_trusted` SET `user_uuid` = '" + now.toString() + "' WHERE `user_uuid` = '"
|
||||||
+ old.toString()
|
+ old.toString()
|
||||||
+ "'");
|
+ '\'');
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ public class SQLite extends Database {
|
|||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
try {
|
try {
|
||||||
file.createNewFile();
|
file.createNewFile();
|
||||||
} catch (IOException e) {
|
} catch (IOException ignored) {
|
||||||
PS.debug("&cUnable to create database!");
|
PS.debug("&cUnable to create database!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,9 +12,9 @@ public abstract class StmtMod<T> {
|
|||||||
public String getCreateMySQL(int size, String query, int params) {
|
public String getCreateMySQL(int size, String query, int params) {
|
||||||
StringBuilder statement = new StringBuilder(query);
|
StringBuilder statement = new StringBuilder(query);
|
||||||
for (int i = 0; i < size - 1; i++) {
|
for (int i = 0; i < size - 1; i++) {
|
||||||
statement.append("(").append(StringMan.repeat(",?", params).substring(1)).append("),");
|
statement.append('(').append(StringMan.repeat(",?", params).substring(1)).append("),");
|
||||||
}
|
}
|
||||||
statement.append("(").append(StringMan.repeat(",?", params).substring(1)).append(")");
|
statement.append('(').append(StringMan.repeat(",?", params).substring(1)).append(')');
|
||||||
return statement.toString();
|
return statement.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ public abstract class StmtMod<T> {
|
|||||||
StringBuilder statement = new StringBuilder(query);
|
StringBuilder statement = new StringBuilder(query);
|
||||||
String modParams = StringMan.repeat(",?", params).substring(1);
|
String modParams = StringMan.repeat(",?", params).substring(1);
|
||||||
for (int i = 0; i < size - 1; i++) {
|
for (int i = 0; i < size - 1; i++) {
|
||||||
statement.append("UNION SELECT ").append(modParams).append(" ");
|
statement.append("UNION SELECT ").append(modParams).append(' ');
|
||||||
}
|
}
|
||||||
return statement.toString();
|
return statement.toString();
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ package com.intellectualcrafters.plot.flag;
|
|||||||
|
|
||||||
public class Flag<V> {
|
public class Flag<V> {
|
||||||
|
|
||||||
private String name;
|
private final String name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flag object used to store basic information for a Plot. Flags are a
|
* Flag object used to store basic information for a Plot. Flags are a
|
||||||
|
@ -127,9 +127,8 @@ public class AugmentedUtils {
|
|||||||
}
|
}
|
||||||
if (!has) {
|
if (!has) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
|
||||||
toReturn = true;
|
|
||||||
}
|
}
|
||||||
|
toReturn = true;
|
||||||
secondaryMask = new PlotChunk<Object>(wrap) {
|
secondaryMask = new PlotChunk<Object>(wrap) {
|
||||||
@Override
|
@Override
|
||||||
public Object getChunkAbs() {
|
public Object getChunkAbs() {
|
||||||
|
@ -2,6 +2,7 @@ package com.intellectualcrafters.plot.object;
|
|||||||
|
|
||||||
import com.google.common.base.Optional;
|
import com.google.common.base.Optional;
|
||||||
import com.google.common.collect.BiMap;
|
import com.google.common.collect.BiMap;
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.intellectualcrafters.jnbt.CompoundTag;
|
import com.intellectualcrafters.jnbt.CompoundTag;
|
||||||
import com.intellectualcrafters.plot.PS;
|
import com.intellectualcrafters.plot.PS;
|
||||||
import com.intellectualcrafters.plot.config.C;
|
import com.intellectualcrafters.plot.config.C;
|
||||||
@ -212,19 +213,19 @@ public class Plot {
|
|||||||
String[] split = string.split(";|,");
|
String[] split = string.split(";|,");
|
||||||
if (split.length == 2) {
|
if (split.length == 2) {
|
||||||
if (defaultArea != null) {
|
if (defaultArea != null) {
|
||||||
PlotId id = PlotId.fromString(split[0] + ";" + split[1]);
|
PlotId id = PlotId.fromString(split[0] + ';' + split[1]);
|
||||||
return id != null ? defaultArea.getPlotAbs(id) : null;
|
return id != null ? defaultArea.getPlotAbs(id) : null;
|
||||||
}
|
}
|
||||||
} else if (split.length == 3) {
|
} else if (split.length == 3) {
|
||||||
PlotArea pa = PS.get().getPlotArea(split[0], null);
|
PlotArea pa = PS.get().getPlotArea(split[0], null);
|
||||||
if (pa != null) {
|
if (pa != null) {
|
||||||
PlotId id = PlotId.fromString(split[1] + ";" + split[2]);
|
PlotId id = PlotId.fromString(split[1] + ';' + split[2]);
|
||||||
return pa.getPlotAbs(id);
|
return pa.getPlotAbs(id);
|
||||||
}
|
}
|
||||||
} else if (split.length == 4) {
|
} else if (split.length == 4) {
|
||||||
PlotArea pa = PS.get().getPlotArea(split[0], split[1]);
|
PlotArea pa = PS.get().getPlotArea(split[0], split[1]);
|
||||||
if (pa != null) {
|
if (pa != null) {
|
||||||
PlotId id = PlotId.fromString(split[1] + ";" + split[2]);
|
PlotId id = PlotId.fromString(split[1] + ';' + split[2]);
|
||||||
return pa.getPlotAbs(id);
|
return pa.getPlotAbs(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -348,17 +349,17 @@ public class Plot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of owner UUIDs for a plot (supports multi-owner mega-plots).
|
* Get a immutable set of owner UUIDs for a plot (supports multi-owner mega-plots).
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public HashSet<UUID> getOwners() {
|
public Set<UUID> getOwners() {
|
||||||
if (this.owner == null) {
|
if (this.owner == null) {
|
||||||
return new HashSet<>();
|
return new HashSet<>();
|
||||||
}
|
}
|
||||||
if (isMerged()) {
|
if (isMerged()) {
|
||||||
HashSet<Plot> plots = getConnectedPlots();
|
HashSet<Plot> plots = getConnectedPlots();
|
||||||
Plot[] array = plots.toArray(new Plot[plots.size()]);
|
Plot[] array = plots.toArray(new Plot[plots.size()]);
|
||||||
HashSet<UUID> owners = new HashSet<UUID>(1);
|
ImmutableSet.Builder<UUID> owners = ImmutableSet.builder();
|
||||||
UUID last = this.owner;
|
UUID last = this.owner;
|
||||||
owners.add(this.owner);
|
owners.add(this.owner);
|
||||||
for (Plot current : array) {
|
for (Plot current : array) {
|
||||||
@ -367,9 +368,9 @@ public class Plot {
|
|||||||
last = current.owner;
|
last = current.owner;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return owners;
|
return owners.build();
|
||||||
}
|
}
|
||||||
return new HashSet<>(Collections.singletonList(this.owner));
|
return ImmutableSet.of(this.owner);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -380,10 +381,7 @@ public class Plot {
|
|||||||
* @return true if the player is added/trusted or is the owner
|
* @return true if the player is added/trusted or is the owner
|
||||||
*/
|
*/
|
||||||
public boolean isAdded(UUID uuid) {
|
public boolean isAdded(UUID uuid) {
|
||||||
if (this.owner == null) {
|
if (this.owner == null || getDenied().contains(uuid)) {
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (getDenied().contains(uuid)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (getTrusted().contains(uuid) || getTrusted().contains(DBFunc.everyone)) {
|
if (getTrusted().contains(uuid) || getTrusted().contains(DBFunc.everyone)) {
|
||||||
@ -1742,7 +1740,7 @@ public class Plot {
|
|||||||
TaskManager.runTaskAsync(new Runnable() {
|
TaskManager.runTaskAsync(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
String name = Plot.this.id + "," + Plot.this.area + "," + MainUtil.getName(Plot.this.owner);
|
String name = Plot.this.id + "," + Plot.this.area + ',' + MainUtil.getName(Plot.this.owner);
|
||||||
boolean result =
|
boolean result =
|
||||||
SchematicHandler.manager.save(value, Settings.SCHEMATIC_SAVE_PATH + File.separator + name + ".schematic");
|
SchematicHandler.manager.save(value, Settings.SCHEMATIC_SAVE_PATH + File.separator + name + ".schematic");
|
||||||
if (whenDone != null) {
|
if (whenDone != null) {
|
||||||
@ -2034,7 +2032,7 @@ public class Plot {
|
|||||||
this.create();
|
this.create();
|
||||||
}
|
}
|
||||||
return this.owner;
|
return this.owner;
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2576,16 +2574,15 @@ public class Plot {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
TaskManager.TELEPORT_QUEUE.remove(name);
|
TaskManager.TELEPORT_QUEUE.remove(name);
|
||||||
if (!player.isOnline()) {
|
if (player.isOnline()) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
MainUtil.sendMessage(player, C.TELEPORTED_TO_PLOT);
|
MainUtil.sendMessage(player, C.TELEPORTED_TO_PLOT);
|
||||||
player.teleport(location);
|
player.teleport(location);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}, Settings.TELEPORT_DELAY * 20);
|
}, Settings.TELEPORT_DELAY * 20);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return result;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isOnline() {
|
public boolean isOnline() {
|
||||||
@ -2876,6 +2873,7 @@ public class Plot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasFlag(Flag<?> flag) {
|
public boolean hasFlag(Flag<?> flag) {
|
||||||
|
//todo
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -515,7 +515,7 @@ public class PlotAnalysis {
|
|||||||
int SIZE = 10;
|
int SIZE = 10;
|
||||||
List<Integer>[] bucket = new ArrayList[SIZE];
|
List<Integer>[] bucket = new ArrayList[SIZE];
|
||||||
for (int i = 0; i < bucket.length; i++) {
|
for (int i = 0; i < bucket.length; i++) {
|
||||||
bucket[i] = new ArrayList<Integer>();
|
bucket[i] = new ArrayList<>();
|
||||||
}
|
}
|
||||||
boolean maxLength = false;
|
boolean maxLength = false;
|
||||||
int placement = 1;
|
int placement = 1;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.intellectualcrafters.plot.object;
|
package com.intellectualcrafters.plot.object;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class PlotHandler {
|
public class PlotHandler {
|
||||||
@ -8,7 +8,7 @@ public class PlotHandler {
|
|||||||
if ((plot1.owner == null) || (plot2.owner == null)) {
|
if ((plot1.owner == null) || (plot2.owner == null)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final HashSet<UUID> owners = plot1.getOwners();
|
final Set<UUID> owners = plot1.getOwners();
|
||||||
owners.retainAll(plot2.getOwners());
|
owners.retainAll(plot2.getOwners());
|
||||||
return !owners.isEmpty();
|
return !owners.isEmpty();
|
||||||
}
|
}
|
||||||
|
@ -245,19 +245,6 @@ public abstract class PlotPlayer implements CommandCaller {
|
|||||||
*/
|
*/
|
||||||
public abstract UUID getUUID();
|
public abstract UUID getUUID();
|
||||||
|
|
||||||
/**
|
|
||||||
* Check the player's permissions<br>
|
|
||||||
* - Will be cached if permission caching is enabled
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public abstract boolean hasPermission(String permission);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Send the player a message
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public abstract void sendMessage(String message);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Teleport the player to a location
|
* Teleport the player to a location
|
||||||
* @param location
|
* @param location
|
||||||
|
@ -254,7 +254,7 @@ public class BO3Handler {
|
|||||||
try (FileOutputStream fos = new FileOutputStream(bo3File)) {
|
try (FileOutputStream fos = new FileOutputStream(bo3File)) {
|
||||||
write(fos, plot, bo3);
|
write(fos, plot, bo3);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ import com.intellectualcrafters.plot.object.RegionWrapper;
|
|||||||
import com.intellectualcrafters.plot.object.RunnableVal;
|
import com.intellectualcrafters.plot.object.RunnableVal;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -125,7 +126,7 @@ public class MainUtil {
|
|||||||
filename = "plot." + extension;
|
filename = "plot." + extension;
|
||||||
} else {
|
} else {
|
||||||
website = Settings.WEB_URL + "save.php?" + uuid;
|
website = Settings.WEB_URL + "save.php?" + uuid;
|
||||||
filename = file + "." + extension;
|
filename = file + '.' + extension;
|
||||||
}
|
}
|
||||||
final URL url;
|
final URL url;
|
||||||
try {
|
try {
|
||||||
@ -183,7 +184,7 @@ public class MainUtil {
|
|||||||
whenDone.value = url;
|
whenDone.value = url;
|
||||||
}
|
}
|
||||||
TaskManager.runTask(whenDone);
|
TaskManager.runTask(whenDone);
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
TaskManager.runTask(whenDone);
|
TaskManager.runTask(whenDone);
|
||||||
}
|
}
|
||||||
@ -298,7 +299,8 @@ public class MainUtil {
|
|||||||
public static String getName(UUID owner) {
|
public static String getName(UUID owner) {
|
||||||
if (owner == null) {
|
if (owner == null) {
|
||||||
return C.NONE.s();
|
return C.NONE.s();
|
||||||
} else if (owner.equals(DBFunc.everyone)) {
|
}
|
||||||
|
if (owner.equals(DBFunc.everyone)) {
|
||||||
return C.EVERYONE.s();
|
return C.EVERYONE.s();
|
||||||
}
|
}
|
||||||
String name = UUIDHandler.getName(owner);
|
String name = UUIDHandler.getName(owner);
|
||||||
@ -365,7 +367,7 @@ public class MainUtil {
|
|||||||
uuid = UUID.fromString(term);
|
uuid = UUID.fromString(term);
|
||||||
}
|
}
|
||||||
uuids.add(uuid);
|
uuids.add(uuid);
|
||||||
} catch (Exception e) {
|
} catch (Exception ignored) {
|
||||||
id = PlotId.fromString(term);
|
id = PlotId.fromString(term);
|
||||||
if (id != null) {
|
if (id != null) {
|
||||||
continue;
|
continue;
|
||||||
@ -772,20 +774,20 @@ public class MainUtil {
|
|||||||
}
|
}
|
||||||
String info;
|
String info;
|
||||||
if (full && Settings.RATING_CATEGORIES != null && Settings.RATING_CATEGORIES.size() > 1) {
|
if (full && Settings.RATING_CATEGORIES != null && Settings.RATING_CATEGORIES.size() > 1) {
|
||||||
String rating = "";
|
|
||||||
String prefix = "";
|
|
||||||
double[] ratings = MainUtil.getAverageRatings(plot);
|
double[] ratings = MainUtil.getAverageRatings(plot);
|
||||||
for (double v : ratings) {
|
for (double v : ratings) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String rating = "";
|
||||||
|
String prefix = "";
|
||||||
for (int i = 0; i < ratings.length; i++) {
|
for (int i = 0; i < ratings.length; i++) {
|
||||||
rating += prefix + Settings.RATING_CATEGORIES.get(i) + "=" + String.format("%.1f", ratings[i]);
|
rating += prefix + Settings.RATING_CATEGORIES.get(i) + '=' + String.format("%.1f", ratings[i]);
|
||||||
prefix = ",";
|
prefix = ",";
|
||||||
}
|
}
|
||||||
info = newInfo.replaceAll("%rating%", rating);
|
info = newInfo.replaceAll("%rating%", rating);
|
||||||
} else {
|
} else {
|
||||||
info = newInfo.replaceAll("%rating%", String.format("%.1f", plot.getAverageRating()) + "/" + max);
|
info = newInfo.replaceAll("%rating%", String.format("%.1f", plot.getAverageRating()) + '/' + max);
|
||||||
}
|
}
|
||||||
whenDone.run(info);
|
whenDone.run(info);
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ public class MathMan {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static double sqrtApprox(double d) {
|
public static double sqrtApprox(double d) {
|
||||||
return Double.longBitsToDouble(((Double.doubleToLongBits(d) - (1l << 52)) >> 1) + (1l << 61));
|
return Double.longBitsToDouble(((Double.doubleToLongBits(d) - (1L << 52)) >> 1) + (1L << 61));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float invSqrt(float x) {
|
public static float invSqrt(float x) {
|
||||||
|
@ -27,8 +27,8 @@ public class ReflectionUtils {
|
|||||||
|
|
||||||
public ReflectionUtils(String version) {
|
public ReflectionUtils(String version) {
|
||||||
if (version != null) {
|
if (version != null) {
|
||||||
preClassB += "." + version;
|
preClassB += '.' + version;
|
||||||
preClassM += "." + version;
|
preClassM += '.' + version;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,29 +73,29 @@ public class ReflectionUtils {
|
|||||||
} catch (ClassCastException ignored) {
|
} catch (ClassCastException ignored) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (IllegalAccessException | IllegalArgumentException | SecurityException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Class<?> getNmsClass(String name) {
|
public static Class<?> getNmsClass(String name) {
|
||||||
String className = preClassM + "." + name;
|
String className = preClassM + '.' + name;
|
||||||
return getClass(className);
|
return getClass(className);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Class<?> getCbClass(String name) {
|
public static Class<?> getCbClass(String name) {
|
||||||
String className = preClassB + "." + name;
|
String className = preClassB + '.' + name;
|
||||||
return getClass(className);
|
return getClass(className);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Class<?> getUtilClass(String name) {
|
public static Class<?> getUtilClass(String name) {
|
||||||
try {
|
try {
|
||||||
return Class.forName(name); //Try before 1.8 first
|
return Class.forName(name); //Try before 1.8 first
|
||||||
} catch (ClassNotFoundException ex) {
|
} catch (ClassNotFoundException ignored) {
|
||||||
try {
|
try {
|
||||||
return Class.forName("net.minecraft.util." + name); //Not 1.8
|
return Class.forName("net.minecraft.util." + name); //Not 1.8
|
||||||
} catch (ClassNotFoundException ex2) {
|
} catch (ClassNotFoundException ignored2) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,9 +110,9 @@ public class ReflectionUtils {
|
|||||||
public static Method makeMethod(Class<?> clazz, String methodName, Class<?>... paramaters) {
|
public static Method makeMethod(Class<?> clazz, String methodName, Class<?>... paramaters) {
|
||||||
try {
|
try {
|
||||||
return clazz.getDeclaredMethod(methodName, paramaters);
|
return clazz.getDeclaredMethod(methodName, paramaters);
|
||||||
} catch (NoSuchMethodException ex) {
|
} catch (NoSuchMethodException ignored) {
|
||||||
return null;
|
return null;
|
||||||
} catch (Exception ex) {
|
} catch (SecurityException ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ public class ReflectionUtils {
|
|||||||
return (T) method.invoke(instance, paramaters);
|
return (T) method.invoke(instance, paramaters);
|
||||||
} catch (InvocationTargetException ex) {
|
} catch (InvocationTargetException ex) {
|
||||||
throw new RuntimeException(ex.getCause());
|
throw new RuntimeException(ex.getCause());
|
||||||
} catch (Exception ex) {
|
} catch (IllegalAccessException | IllegalArgumentException ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -136,9 +136,9 @@ public class ReflectionUtils {
|
|||||||
public static <T> Constructor<T> makeConstructor(Class<?> clazz, Class<?>... paramaterTypes) {
|
public static <T> Constructor<T> makeConstructor(Class<?> clazz, Class<?>... paramaterTypes) {
|
||||||
try {
|
try {
|
||||||
return (Constructor<T>) clazz.getConstructor(paramaterTypes);
|
return (Constructor<T>) clazz.getConstructor(paramaterTypes);
|
||||||
} catch (NoSuchMethodException ex) {
|
} catch (NoSuchMethodException ignored) {
|
||||||
return null;
|
return null;
|
||||||
} catch (Exception ex) {
|
} catch (SecurityException ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -152,7 +152,7 @@ public class ReflectionUtils {
|
|||||||
return constructor.newInstance(paramaters);
|
return constructor.newInstance(paramaters);
|
||||||
} catch (InvocationTargetException ex) {
|
} catch (InvocationTargetException ex) {
|
||||||
throw new RuntimeException(ex.getCause());
|
throw new RuntimeException(ex.getCause());
|
||||||
} catch (Exception ex) {
|
} catch (IllegalAccessException | IllegalArgumentException | InstantiationException ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -160,9 +160,9 @@ public class ReflectionUtils {
|
|||||||
public static Field makeField(Class<?> clazz, String name) {
|
public static Field makeField(Class<?> clazz, String name) {
|
||||||
try {
|
try {
|
||||||
return clazz.getDeclaredField(name);
|
return clazz.getDeclaredField(name);
|
||||||
} catch (NoSuchFieldException ex) {
|
} catch (NoSuchFieldException ignored) {
|
||||||
return null;
|
return null;
|
||||||
} catch (Exception ex) {
|
} catch (SecurityException ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -175,7 +175,7 @@ public class ReflectionUtils {
|
|||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
try {
|
try {
|
||||||
return (T) field.get(instance);
|
return (T) field.get(instance);
|
||||||
} catch (Exception ex) {
|
} catch (IllegalAccessException | IllegalArgumentException ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -577,6 +577,8 @@ public abstract class SchematicHandler {
|
|||||||
try (OutputStream stream = new FileOutputStream(tmp); NBTOutputStream output = new NBTOutputStream(new GZIPOutputStream(stream))) {
|
try (OutputStream stream = new FileOutputStream(tmp); NBTOutputStream output = new NBTOutputStream(new GZIPOutputStream(stream))) {
|
||||||
output.writeTag(tag);
|
output.writeTag(tag);
|
||||||
}
|
}
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
|
@ -253,7 +253,7 @@ public abstract class Command {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (page == 0 && totalPages != 0) { // Next
|
if (page == 0 && totalPages != 0) { // Next
|
||||||
new PlotMessage().text("<-").color("$3").text(" | ").color("$3").text("->").color("$1").command(baseCommand + " " + (page + 2))
|
new PlotMessage().text("<-").color("$3").text(" | ").color("$3").text("->").color("$1").command(baseCommand + " " + (0 + 2))
|
||||||
.text(C.CLICKABLE.s()).color("$2").send(player);
|
.text(C.CLICKABLE.s()).color("$2").send(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,14 @@ import com.intellectualcrafters.plot.commands.RequiredType;
|
|||||||
|
|
||||||
public interface CommandCaller {
|
public interface CommandCaller {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send the player a message.
|
||||||
|
*/
|
||||||
void sendMessage(String message);
|
void sendMessage(String message);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check the player's permissions. Will be cached if permission caching is enabled.
|
||||||
|
*/
|
||||||
boolean hasPermission(String perm);
|
boolean hasPermission(String perm);
|
||||||
|
|
||||||
RequiredType getSuperCaller();
|
RequiredType getSuperCaller();
|
||||||
|
@ -123,11 +123,10 @@ public class WESubscriber {
|
|||||||
if (maskextent != null) {
|
if (maskextent != null) {
|
||||||
wrapper = new ExtentWrapper(maskextent);
|
wrapper = new ExtentWrapper(maskextent);
|
||||||
field.set(maskextent, history);
|
field.set(maskextent, history);
|
||||||
event.setExtent(wrapper);
|
|
||||||
} else {
|
} else {
|
||||||
wrapper = new ExtentWrapper(history);
|
wrapper = new ExtentWrapper(history);
|
||||||
event.setExtent(wrapper);
|
|
||||||
}
|
}
|
||||||
|
event.setExtent(wrapper);
|
||||||
field.set(history, reorder);
|
field.set(history, reorder);
|
||||||
field.set(reorder, new ProcessedWEExtent(world, mask, max, new FastModeExtent(worldObj, true), wrapper));
|
field.set(reorder, new ProcessedWEExtent(world, mask, max, new FastModeExtent(worldObj, true), wrapper));
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package com.intellectualcrafters.plot;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
import com.google.common.base.Optional;
|
||||||
import com.intellectualcrafters.plot.database.AbstractDBTEst;
|
import com.intellectualcrafters.plot.database.AbstractDBTest;
|
||||||
import com.intellectualcrafters.plot.database.DBFunc;
|
import com.intellectualcrafters.plot.database.DBFunc;
|
||||||
import com.intellectualcrafters.plot.flag.Flag;
|
import com.intellectualcrafters.plot.flag.Flag;
|
||||||
import com.intellectualcrafters.plot.flag.Flags;
|
import com.intellectualcrafters.plot.flag.Flags;
|
||||||
@ -27,7 +27,7 @@ public class FlagTest {
|
|||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
EventUtil.manager = new EventUtilTest();
|
EventUtil.manager = new EventUtilTest();
|
||||||
DBFunc.dbManager = new AbstractDBTEst();
|
DBFunc.dbManager = new AbstractDBTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -15,70 +15,54 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class AbstractDBTEst implements AbstractDB {
|
public class AbstractDBTest implements AbstractDB {
|
||||||
|
|
||||||
@Override public void setOwner(Plot plot, UUID uuid) {
|
@Override public void setOwner(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void createPlotsAndData(ArrayList<Plot> plots, Runnable whenDone) {
|
@Override public void createPlotsAndData(ArrayList<Plot> plots, Runnable whenDone) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void createPlot(Plot plot) {
|
@Override public void createPlot(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void createTables() throws Exception {
|
@Override public void createTables() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void delete(Plot plot) {
|
@Override public void delete(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void deleteSettings(Plot plot) {
|
@Override public void deleteSettings(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void deleteHelpers(Plot plot) {
|
@Override public void deleteHelpers(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void deleteTrusted(Plot plot) {
|
@Override public void deleteTrusted(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void deleteDenied(Plot plot) {
|
@Override public void deleteDenied(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void deleteComments(Plot plot) {
|
@Override public void deleteComments(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void deleteRatings(Plot plot) {
|
@Override public void deleteRatings(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void delete(PlotCluster cluster) {
|
@Override public void delete(PlotCluster cluster) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void addPersistentMeta(UUID uuid, String key, byte[] meta, boolean delete) {
|
@Override public void addPersistentMeta(UUID uuid, String key, byte[] meta, boolean delete) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removePersistentMeta(UUID uuid, String key) {
|
@Override public void removePersistentMeta(UUID uuid, String key) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void getPersistentMeta(UUID uuid, RunnableVal<Map<String, byte[]>> result) {
|
@Override public void getPersistentMeta(UUID uuid, RunnableVal<Map<String, byte[]>> result) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void createPlotSettings(int id, Plot plot) {
|
@Override public void createPlotSettings(int id, Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public int getId(Plot plot) {
|
@Override public int getId(Plot plot) {
|
||||||
@ -94,7 +78,6 @@ public class AbstractDBTEst implements AbstractDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public void validateAllPlots(Set<Plot> toValidate) {
|
@Override public void validateAllPlots(Set<Plot> toValidate) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public HashMap<String, Set<PlotCluster>> getClusters() {
|
@Override public HashMap<String, Set<PlotCluster>> getClusters() {
|
||||||
@ -102,83 +85,63 @@ public class AbstractDBTEst implements AbstractDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setMerged(Plot plot, boolean[] merged) {
|
@Override public void setMerged(Plot plot, boolean[] merged) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void swapPlots(Plot plot1, Plot plot2) {
|
@Override public void swapPlots(Plot plot1, Plot plot2) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setFlags(Plot plot, HashMap<Flag<?>, Object> flags) {
|
@Override public void setFlags(Plot plot, HashMap<Flag<?>, Object> flags) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setFlags(PlotCluster cluster, HashMap<Flag<?>, Object> flags) {
|
@Override public void setFlags(PlotCluster cluster, HashMap<Flag<?>, Object> flags) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setClusterName(PlotCluster cluster, String name) {
|
@Override public void setClusterName(PlotCluster cluster, String name) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setAlias(Plot plot, String alias) {
|
@Override public void setAlias(Plot plot, String alias) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void purgeIds(Set<Integer> uniqueIds) {
|
@Override public void purgeIds(Set<Integer> uniqueIds) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void purge(PlotArea area, Set<PlotId> plotIds) {
|
@Override public void purge(PlotArea area, Set<PlotId> plotIds) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setPosition(Plot plot, String position) {
|
@Override public void setPosition(Plot plot, String position) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setPosition(PlotCluster cluster, String position) {
|
@Override public void setPosition(PlotCluster cluster, String position) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removeTrusted(Plot plot, UUID uuid) {
|
@Override public void removeTrusted(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removeHelper(PlotCluster cluster, UUID uuid) {
|
@Override public void removeHelper(PlotCluster cluster, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removeMember(Plot plot, UUID uuid) {
|
@Override public void removeMember(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removeInvited(PlotCluster cluster, UUID uuid) {
|
@Override public void removeInvited(PlotCluster cluster, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setTrusted(Plot plot, UUID uuid) {
|
@Override public void setTrusted(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setHelper(PlotCluster cluster, UUID uuid) {
|
@Override public void setHelper(PlotCluster cluster, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setMember(Plot plot, UUID uuid) {
|
@Override public void setMember(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setInvited(PlotCluster cluster, UUID uuid) {
|
@Override public void setInvited(PlotCluster cluster, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removeDenied(Plot plot, UUID uuid) {
|
@Override public void removeDenied(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setDenied(Plot plot, UUID uuid) {
|
@Override public void setDenied(Plot plot, UUID uuid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public HashMap<UUID, Integer> getRatings(Plot plot) {
|
@Override public HashMap<UUID, Integer> getRatings(Plot plot) {
|
||||||
@ -186,43 +149,33 @@ public class AbstractDBTEst implements AbstractDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setRating(Plot plot, UUID rater, int value) {
|
@Override public void setRating(Plot plot, UUID rater, int value) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void removeComment(Plot plot, PlotComment comment) {
|
@Override public void removeComment(Plot plot, PlotComment comment) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void clearInbox(Plot plot, String inbox) {
|
@Override public void clearInbox(Plot plot, String inbox) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setComment(Plot plot, PlotComment comment) {
|
@Override public void setComment(Plot plot, PlotComment comment) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void getComments(Plot plot, String inbox, RunnableVal<List<PlotComment>> whenDone) {
|
@Override public void getComments(Plot plot, String inbox, RunnableVal<List<PlotComment>> whenDone) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void createPlotAndSettings(Plot plot, Runnable whenDone) {
|
@Override public void createPlotAndSettings(Plot plot, Runnable whenDone) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void createCluster(PlotCluster cluster) {
|
@Override public void createCluster(PlotCluster cluster) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void resizeCluster(PlotCluster current, PlotId min, PlotId max) {
|
@Override public void resizeCluster(PlotCluster current, PlotId min, PlotId max) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void movePlot(Plot originalPlot, Plot newPlot) {
|
@Override public void movePlot(Plot originalPlot, Plot newPlot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void replaceUUID(UUID old, UUID now) {
|
@Override public void replaceUUID(UUID old, UUID now) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean deleteTables() {
|
@Override public boolean deleteTables() {
|
||||||
@ -230,14 +183,11 @@ public class AbstractDBTEst implements AbstractDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public void close() {
|
@Override public void close() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void replaceWorld(String oldWorld, String newWorld, PlotId min, PlotId max) {
|
@Override public void replaceWorld(String oldWorld, String newWorld, PlotId min, PlotId max) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void updateTables(int[] oldVersion) {
|
@Override public void updateTables(int[] oldVersion) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,6 @@ public class EventUtilTest extends EventUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public void callDelete(Plot plot) {
|
@Override public void callDelete(Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean callFlagAdd(Flag flag, Plot plot) {
|
@Override public boolean callFlagAdd(Flag flag, Plot plot) {
|
||||||
@ -55,22 +54,17 @@ public class EventUtilTest extends EventUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override public void callEntry(PlotPlayer player, Plot plot) {
|
@Override public void callEntry(PlotPlayer player, Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void callLeave(PlotPlayer player, Plot plot) {
|
@Override public void callLeave(PlotPlayer player, Plot plot) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void callDenied(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
@Override public void callDenied(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void callTrusted(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
@Override public void callTrusted(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void callMember(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
@Override public void callMember(PlotPlayer initiator, Plot plot, UUID player, boolean added) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -182,7 +182,7 @@ public class MainListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Listener
|
@Listener
|
||||||
public void onSpawnEntity(SpawnEntityEvent event) throws Exception {
|
public void onSpawnEntity(SpawnEntityEvent event) {
|
||||||
World world = event.getTargetWorld();
|
World world = event.getTargetWorld();
|
||||||
event.filterEntities(entity -> {
|
event.filterEntities(entity -> {
|
||||||
if (entity instanceof Player) {
|
if (entity instanceof Player) {
|
||||||
@ -283,7 +283,7 @@ public class MainListener {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onNotifyNeighborBlock(NotifyNeighborBlockEvent event) throws Exception {
|
public void onNotifyNeighborBlock(NotifyNeighborBlockEvent event) {
|
||||||
AtomicBoolean cancelled = new AtomicBoolean(false);
|
AtomicBoolean cancelled = new AtomicBoolean(false);
|
||||||
// SpongeUtil.printCause("physics", event.getCause());
|
// SpongeUtil.printCause("physics", event.getCause());
|
||||||
// PlotArea area = plotloc.getPlotArea();
|
// PlotArea area = plotloc.getPlotArea();
|
||||||
@ -320,7 +320,7 @@ public class MainListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Listener
|
@Listener
|
||||||
public void onInteract(InteractEvent event) throws Exception {
|
public void onInteract(InteractEvent event) {
|
||||||
Player player = SpongeUtil.getCause(event.getCause(), Player.class);
|
Player player = SpongeUtil.getCause(event.getCause(), Player.class);
|
||||||
if (player == null) {
|
if (player == null) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -366,7 +366,7 @@ public class MainListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Listener
|
@Listener
|
||||||
public void onExplosion(ExplosionEvent e) throws Exception {
|
public void onExplosion(ExplosionEvent e) {
|
||||||
if (e instanceof ExplosionEvent.Detonate) {
|
if (e instanceof ExplosionEvent.Detonate) {
|
||||||
ExplosionEvent.Detonate event = (Detonate) e;
|
ExplosionEvent.Detonate event = (Detonate) e;
|
||||||
World world = event.getTargetWorld();
|
World world = event.getTargetWorld();
|
||||||
|
@ -3,7 +3,6 @@ package com.plotsquared.sponge.util;
|
|||||||
import com.intellectualcrafters.plot.object.PlotPlayer;
|
import com.intellectualcrafters.plot.object.PlotPlayer;
|
||||||
import com.intellectualcrafters.plot.util.AbstractTitle;
|
import com.intellectualcrafters.plot.util.AbstractTitle;
|
||||||
import com.plotsquared.sponge.object.SpongePlayer;
|
import com.plotsquared.sponge.object.SpongePlayer;
|
||||||
import org.spongepowered.api.text.Text;
|
|
||||||
import org.spongepowered.api.text.title.Title;
|
import org.spongepowered.api.text.title.Title;
|
||||||
|
|
||||||
public class SpongeTitleManager extends AbstractTitle {
|
public class SpongeTitleManager extends AbstractTitle {
|
||||||
|
@ -116,7 +116,6 @@ public class SlowQueue implements PlotQueue<Chunk> {
|
|||||||
IChunkProvider provider = nmsWorld.getChunkProvider();
|
IChunkProvider provider = nmsWorld.getChunkProvider();
|
||||||
if (!(provider instanceof ChunkProviderServer)) {
|
if (!(provider instanceof ChunkProviderServer)) {
|
||||||
PS.debug("Not valid world generator for: " + world);
|
PS.debug("Not valid world generator for: " + world);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
/* ChunkProviderServer chunkServer = (ChunkProviderServer) provider;
|
/* ChunkProviderServer chunkServer = (ChunkProviderServer) provider;
|
||||||
IChunkProvider chunkProvider = chunkServer.serverChunkGenerator;
|
IChunkProvider chunkProvider = chunkServer.serverChunkGenerator;
|
||||||
|
@ -8,6 +8,7 @@ import com.plotsquared.sponge.SpongeMain;
|
|||||||
import com.plotsquared.sponge.object.SpongePlayer;
|
import com.plotsquared.sponge.object.SpongePlayer;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
public class SpongeOnlineUUIDWrapper extends UUIDWrapper {
|
public class SpongeOnlineUUIDWrapper extends UUIDWrapper {
|
||||||
|
|
||||||
@ -36,7 +37,7 @@ public class SpongeOnlineUUIDWrapper extends UUIDWrapper {
|
|||||||
String name;
|
String name;
|
||||||
try {
|
try {
|
||||||
name = SpongeMain.THIS.getResolver().get(uuid, true).get().getName().orElse(null);
|
name = SpongeMain.THIS.getResolver().get(uuid, true).get().getName().orElse(null);
|
||||||
} catch (final Exception e) {
|
} catch (InterruptedException | ExecutionException ignored) {
|
||||||
name = null;
|
name = null;
|
||||||
}
|
}
|
||||||
final String username = name;
|
final String username = name;
|
||||||
|
Loading…
Reference in New Issue
Block a user