mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-23 05:36:45 +01:00
fixes + new features.
This commit is contained in:
parent
e2c665a732
commit
53bce4fb26
@ -6,7 +6,7 @@
|
|||||||
<groupId>com.intellectualcrafters</groupId>
|
<groupId>com.intellectualcrafters</groupId>
|
||||||
|
|
||||||
<artifactId>PlotSquared</artifactId>
|
<artifactId>PlotSquared</artifactId>
|
||||||
<version>2.5.5</version>
|
<version>2.5.6</version>
|
||||||
<name>PlotSquared</name>
|
<name>PlotSquared</name>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<build>
|
<build>
|
||||||
@ -57,6 +57,11 @@
|
|||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.websocket</groupId>
|
||||||
|
<artifactId>javax.websocket-api</artifactId>
|
||||||
|
<version>1.1</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bukkit</groupId>
|
<groupId>org.bukkit</groupId>
|
||||||
<artifactId>bukkit</artifactId>
|
<artifactId>bukkit</artifactId>
|
||||||
|
@ -21,54 +21,6 @@
|
|||||||
|
|
||||||
package com.intellectualcrafters.plot;
|
package com.intellectualcrafters.plot;
|
||||||
|
|
||||||
import com.google.common.io.Files;
|
|
||||||
import com.intellectualcrafters.plot.api.PlotAPI;
|
|
||||||
import com.intellectualcrafters.plot.commands.Auto;
|
|
||||||
import com.intellectualcrafters.plot.commands.MainCommand;
|
|
||||||
import com.intellectualcrafters.plot.commands.WE_Anywhere;
|
|
||||||
import com.intellectualcrafters.plot.config.C;
|
|
||||||
import com.intellectualcrafters.plot.config.ConfigurationNode;
|
|
||||||
import com.intellectualcrafters.plot.config.Settings;
|
|
||||||
import com.intellectualcrafters.plot.database.*;
|
|
||||||
import com.intellectualcrafters.plot.events.PlayerTeleportToPlotEvent;
|
|
||||||
import com.intellectualcrafters.plot.events.PlotDeleteEvent;
|
|
||||||
import com.intellectualcrafters.plot.flag.AbstractFlag;
|
|
||||||
import com.intellectualcrafters.plot.flag.FlagManager;
|
|
||||||
import com.intellectualcrafters.plot.generator.HybridGen;
|
|
||||||
import com.intellectualcrafters.plot.generator.HybridPlotManager;
|
|
||||||
import com.intellectualcrafters.plot.generator.HybridPlotWorld;
|
|
||||||
import com.intellectualcrafters.plot.listeners.*;
|
|
||||||
import com.intellectualcrafters.plot.object.*;
|
|
||||||
import com.intellectualcrafters.plot.util.*;
|
|
||||||
import com.intellectualcrafters.plot.util.Logger.LogLevel;
|
|
||||||
import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper;
|
|
||||||
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
|
|
||||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
|
||||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
|
||||||
|
|
||||||
import me.confuser.barapi.BarAPI;
|
|
||||||
import net.milkbowl.vault.economy.Economy;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.bukkit.*;
|
|
||||||
import org.bukkit.command.PluginCommand;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.entity.Entity;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
||||||
import org.bukkit.event.server.PluginEnableEvent;
|
|
||||||
import org.bukkit.event.world.WorldLoadEvent;
|
|
||||||
import org.bukkit.generator.ChunkGenerator;
|
|
||||||
import org.bukkit.plugin.InvalidDescriptionException;
|
|
||||||
import org.bukkit.plugin.InvalidPluginException;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
|
||||||
import org.bukkit.plugin.UnknownDependencyException;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -76,9 +28,88 @@ import java.sql.Connection;
|
|||||||
import java.sql.DatabaseMetaData;
|
import java.sql.DatabaseMetaData;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import me.confuser.barapi.BarAPI;
|
||||||
|
import net.milkbowl.vault.economy.Economy;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Chunk;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.command.PluginCommand;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||||
|
import org.bukkit.event.world.WorldLoadEvent;
|
||||||
|
import org.bukkit.generator.ChunkGenerator;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import com.google.common.io.Files;
|
||||||
|
import com.intellectualcrafters.plot.commands.MainCommand;
|
||||||
|
import com.intellectualcrafters.plot.commands.WE_Anywhere;
|
||||||
|
import com.intellectualcrafters.plot.config.C;
|
||||||
|
import com.intellectualcrafters.plot.config.ConfigurationNode;
|
||||||
|
import com.intellectualcrafters.plot.config.Settings;
|
||||||
|
import com.intellectualcrafters.plot.database.DBFunc;
|
||||||
|
import com.intellectualcrafters.plot.database.MySQL;
|
||||||
|
import com.intellectualcrafters.plot.database.PlotMeConverter;
|
||||||
|
import com.intellectualcrafters.plot.database.SQLManager;
|
||||||
|
import com.intellectualcrafters.plot.database.SQLite;
|
||||||
|
import com.intellectualcrafters.plot.events.PlayerTeleportToPlotEvent;
|
||||||
|
import com.intellectualcrafters.plot.events.PlotDeleteEvent;
|
||||||
|
import com.intellectualcrafters.plot.flag.AbstractFlag;
|
||||||
|
import com.intellectualcrafters.plot.flag.FlagManager;
|
||||||
|
import com.intellectualcrafters.plot.generator.HybridGen;
|
||||||
|
import com.intellectualcrafters.plot.generator.HybridPlotManager;
|
||||||
|
import com.intellectualcrafters.plot.generator.HybridPlotWorld;
|
||||||
|
import com.intellectualcrafters.plot.listeners.ForceFieldListener;
|
||||||
|
import com.intellectualcrafters.plot.listeners.InventoryListener;
|
||||||
|
import com.intellectualcrafters.plot.listeners.PlayerEvents;
|
||||||
|
import com.intellectualcrafters.plot.listeners.PlotListener;
|
||||||
|
import com.intellectualcrafters.plot.listeners.PlotPlusListener;
|
||||||
|
import com.intellectualcrafters.plot.listeners.WorldEditListener;
|
||||||
|
import com.intellectualcrafters.plot.listeners.WorldGuardListener;
|
||||||
|
import com.intellectualcrafters.plot.object.Plot;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotGenerator;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotId;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotManager;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotWorld;
|
||||||
|
import com.intellectualcrafters.plot.util.ConsoleColors;
|
||||||
|
import com.intellectualcrafters.plot.util.ExpireManager;
|
||||||
|
import com.intellectualcrafters.plot.util.Lag;
|
||||||
|
import com.intellectualcrafters.plot.util.Logger;
|
||||||
|
import com.intellectualcrafters.plot.util.Logger.LogLevel;
|
||||||
|
import com.intellectualcrafters.plot.util.Metrics;
|
||||||
|
import com.intellectualcrafters.plot.util.PlayerFunctions;
|
||||||
|
import com.intellectualcrafters.plot.util.PlotHelper;
|
||||||
|
import com.intellectualcrafters.plot.util.SendChunk;
|
||||||
|
import com.intellectualcrafters.plot.util.SetBlockFast;
|
||||||
|
import com.intellectualcrafters.plot.util.UUIDHandler;
|
||||||
|
import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper;
|
||||||
|
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
|
||||||
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
|
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PlotMain class.
|
* PlotMain class.
|
||||||
@ -1137,6 +1168,29 @@ import java.util.concurrent.TimeUnit;
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
FlagManager.addFlag(new AbstractFlag("price") {
|
||||||
|
@Override
|
||||||
|
public String parseValue(final String value) {
|
||||||
|
try {
|
||||||
|
double price = Double.parseDouble(value);
|
||||||
|
if (price >= 0) {
|
||||||
|
return price + "";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getValueDesc() {
|
||||||
|
return "Flag value must be a positive number representing the price of the plot'";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
FlagManager.addFlag(new AbstractFlag("time") {
|
FlagManager.addFlag(new AbstractFlag("time") {
|
||||||
@Override
|
@Override
|
||||||
public String parseValue(final String value) {
|
public String parseValue(final String value) {
|
||||||
@ -1288,7 +1342,6 @@ import java.util.concurrent.TimeUnit;
|
|||||||
Files.copy(file, to);
|
Files.copy(file, to);
|
||||||
file.delete();
|
file.delete();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
@ -1309,7 +1362,6 @@ import java.util.concurrent.TimeUnit;
|
|||||||
* On Load.
|
* On Load.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
final public void onEnable() {
|
final public void onEnable() {
|
||||||
if (Bukkit.getPluginManager().getPlugin("PlotMe") != null) {
|
if (Bukkit.getPluginManager().getPlugin("PlotMe") != null) {
|
||||||
CONVERT_PLOTME = true;
|
CONVERT_PLOTME = true;
|
||||||
|
@ -0,0 +1,111 @@
|
|||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// PlotSquared - A plot manager and world generator for the Bukkit API /
|
||||||
|
// Copyright (c) 2014 IntellectualSites/IntellectualCrafters /
|
||||||
|
// /
|
||||||
|
// This program is free software; you can redistribute it and/or modify /
|
||||||
|
// it under the terms of the GNU General Public License as published by /
|
||||||
|
// the Free Software Foundation; either version 3 of the License, or /
|
||||||
|
// (at your option) any later version. /
|
||||||
|
// /
|
||||||
|
// This program is distributed in the hope that it will be useful, /
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of /
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /
|
||||||
|
// GNU General Public License for more details. /
|
||||||
|
// /
|
||||||
|
// You should have received a copy of the GNU General Public License /
|
||||||
|
// along with this program; if not, write to the Free Software Foundation, /
|
||||||
|
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA /
|
||||||
|
// /
|
||||||
|
// You can contact us via: support@intellectualsites.com /
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
package com.intellectualcrafters.plot.commands;
|
||||||
|
|
||||||
|
import com.intellectualcrafters.plot.PlotMain;
|
||||||
|
import com.intellectualcrafters.plot.config.C;
|
||||||
|
import com.intellectualcrafters.plot.database.DBFunc;
|
||||||
|
import com.intellectualcrafters.plot.events.PlayerClaimPlotEvent;
|
||||||
|
import com.intellectualcrafters.plot.flag.Flag;
|
||||||
|
import com.intellectualcrafters.plot.flag.FlagManager;
|
||||||
|
import com.intellectualcrafters.plot.generator.HybridPlotWorld;
|
||||||
|
import com.intellectualcrafters.plot.object.Plot;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotId;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotWorld;
|
||||||
|
import com.intellectualcrafters.plot.util.PlayerFunctions;
|
||||||
|
import com.intellectualcrafters.plot.util.PlotHelper;
|
||||||
|
import com.intellectualcrafters.plot.util.SchematicHandler;
|
||||||
|
import com.intellectualcrafters.plot.util.SetBlockFast;
|
||||||
|
import com.intellectualcrafters.plot.util.UUIDHandler;
|
||||||
|
|
||||||
|
import net.milkbowl.vault.economy.Economy;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Citymonstret
|
||||||
|
*/
|
||||||
|
public class Buy extends SubCommand {
|
||||||
|
|
||||||
|
public Buy() {
|
||||||
|
super(Command.BUY, "Buy the plot you are standing on", "b", CommandCategory.CLAIMING, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean execute(final Player plr, final String... args) {
|
||||||
|
if (!PlotMain.useEconomy) {
|
||||||
|
return sendMessage(plr, C.ECON_DISABLED);
|
||||||
|
}
|
||||||
|
World world = plr.getWorld();
|
||||||
|
if (!PlotMain.isPlotWorld(world)) {
|
||||||
|
return sendMessage(plr, C.NOT_IN_PLOT_WORLD);
|
||||||
|
}
|
||||||
|
Plot plot;
|
||||||
|
if (args.length > 0) {
|
||||||
|
try {
|
||||||
|
String[] split = args[0].split(";");
|
||||||
|
PlotId id = new PlotId(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
|
||||||
|
plot = PlotHelper.getPlot(world, id);
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return sendMessage(plr, C.NOT_VALID_PLOT_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plot = PlayerFunctions.getCurrentPlot(plr);
|
||||||
|
}
|
||||||
|
if (plot == null) {
|
||||||
|
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||||
|
}
|
||||||
|
if (PlayerFunctions.getPlayerPlotCount(world, plr) >= PlayerFunctions.getAllowedPlots(plr)) {
|
||||||
|
return sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS);
|
||||||
|
}
|
||||||
|
if (!plot.hasOwner()) {
|
||||||
|
return sendMessage(plr, C.PLOT_UNOWNED);
|
||||||
|
}
|
||||||
|
Flag flag = FlagManager.getPlotFlag(plot, "price");
|
||||||
|
if (flag == null) {
|
||||||
|
return sendMessage(plr, C.NOT_FOR_SALE);
|
||||||
|
}
|
||||||
|
double price = Double.parseDouble(flag.getValue());
|
||||||
|
PlotId id = plot.id;
|
||||||
|
PlotId id2 = PlayerFunctions.getTopPlot(world, plot).id;
|
||||||
|
int size = PlayerFunctions.getPlotSelectionIds(world, id, id2).size();
|
||||||
|
PlotWorld plotworld = PlotMain.getWorldSettings(world);
|
||||||
|
if (plotworld.USE_ECONOMY) {
|
||||||
|
price += plotworld.PLOT_PRICE * size;
|
||||||
|
}
|
||||||
|
if (price > 0d) {
|
||||||
|
final Economy economy = PlotMain.economy;
|
||||||
|
if (economy.getBalance(plr) < price) {
|
||||||
|
return sendMessage(plr, C.CANNOT_AFFORD_PLOT, "" + price);
|
||||||
|
}
|
||||||
|
economy.withdrawPlayer(plr, price);
|
||||||
|
sendMessage(plr, C.REMOVED_BALANCE, price + "");
|
||||||
|
}
|
||||||
|
plot.owner = UUIDHandler.getUUID(plr);
|
||||||
|
DBFunc.setOwner(plot, plot.owner);
|
||||||
|
PlayerFunctions.sendMessage(plr, C.CLAIMED);
|
||||||
|
}
|
||||||
|
}
|
@ -36,6 +36,7 @@ public enum Command {
|
|||||||
// (Rating system) (ratings can be stored as the average, and number of
|
// (Rating system) (ratings can be stored as the average, and number of
|
||||||
// ratings)
|
// ratings)
|
||||||
// - /plot rate <number out of 10>
|
// - /plot rate <number out of 10>
|
||||||
|
BUY("b"),
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -82,7 +82,9 @@ public enum C {
|
|||||||
/*
|
/*
|
||||||
* Economy Stuff
|
* Economy Stuff
|
||||||
*/
|
*/
|
||||||
|
ECON_DISABLED("&cEconomy is not enabled"),
|
||||||
CANNOT_AFFORD_PLOT("&cYou cannot afford to buy this plot. It costs &6%s"),
|
CANNOT_AFFORD_PLOT("&cYou cannot afford to buy this plot. It costs &6%s"),
|
||||||
|
NOT_FOR_SALE("&cThis plot is not for sale"),
|
||||||
CANNOT_AFFORD_MERGE("&cYou cannot afford to merge the plots. It costs &6%s"),
|
CANNOT_AFFORD_MERGE("&cYou cannot afford to merge the plots. It costs &6%s"),
|
||||||
ADDED_BALANCE("&6%s &chas been added to your balance"),
|
ADDED_BALANCE("&6%s &chas been added to your balance"),
|
||||||
REMOVED_BALANCE("&6%s &chas been taken from your balance"),
|
REMOVED_BALANCE("&6%s &chas been taken from your balance"),
|
||||||
|
@ -221,8 +221,7 @@ public class HybridGen extends PlotGenerator {
|
|||||||
}
|
}
|
||||||
// You can have as many populators as you would like, e.g. tree
|
// You can have as many populators as you would like, e.g. tree
|
||||||
// populator, ore populator
|
// populator, ore populator
|
||||||
// return Arrays.asList((BlockPopulator) new HybridPop(this.plotworld));
|
return Arrays.asList((BlockPopulator) new HybridPop(this.plotworld));
|
||||||
return new ArrayList<>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
package com.intellectualcrafters.plot.util;
|
||||||
|
|
||||||
|
public class EconHandler {
|
||||||
|
|
||||||
|
}
|
@ -2,21 +2,17 @@ package com.intellectualcrafters.plot.util;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import com.intellectualcrafters.plot.PlotMain;
|
import com.intellectualcrafters.plot.PlotMain;
|
||||||
import com.intellectualcrafters.plot.commands.Auto;
|
import com.intellectualcrafters.plot.commands.Auto;
|
||||||
import com.intellectualcrafters.plot.commands.Schematic;
|
|
||||||
import com.intellectualcrafters.plot.config.C;
|
|
||||||
import com.intellectualcrafters.plot.config.Settings;
|
import com.intellectualcrafters.plot.config.Settings;
|
||||||
import com.intellectualcrafters.plot.database.DBFunc;
|
import com.intellectualcrafters.plot.database.DBFunc;
|
||||||
import com.intellectualcrafters.plot.events.PlotDeleteEvent;
|
import com.intellectualcrafters.plot.events.PlotDeleteEvent;
|
||||||
@ -129,6 +125,11 @@ public class ExpireManager {
|
|||||||
if (keep.contains(uuid)) {
|
if (keep.contains(uuid)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Player player = UUIDHandler.uuidWrapper.getPlayer(uuid);
|
||||||
|
if (player != null) {
|
||||||
|
keep.add(uuid);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
OfflinePlayer op = UUIDHandler.uuidWrapper.getOfflinePlayer(uuid);
|
OfflinePlayer op = UUIDHandler.uuidWrapper.getOfflinePlayer(uuid);
|
||||||
if (!op.hasPlayedBefore()) {
|
if (!op.hasPlayedBefore()) {
|
||||||
toRemove.add(plot);
|
toRemove.add(plot);
|
||||||
|
Loading…
Reference in New Issue
Block a user