mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-03 10:43:45 +01:00 
			
		
		
		
	
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							@@ -8,7 +8,7 @@
 | 
				
			|||||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
					        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
				
			||||||
    </properties>
 | 
					    </properties>
 | 
				
			||||||
    <artifactId>PlotSquared</artifactId>
 | 
					    <artifactId>PlotSquared</artifactId>
 | 
				
			||||||
    <version>3.2.12</version>
 | 
					    <version>3.2.13</version>
 | 
				
			||||||
    <name>PlotSquared</name>
 | 
					    <name>PlotSquared</name>
 | 
				
			||||||
    <packaging>jar</packaging>
 | 
					    <packaging>jar</packaging>
 | 
				
			||||||
    <build>
 | 
					    <build>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1371,7 +1371,9 @@ public class PS {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                plotworld.loadConfiguration(config.getConfigurationSection("worlds." + world));
 | 
					                ConfigurationSection section = config.getConfigurationSection("worlds." + world);
 | 
				
			||||||
 | 
					                plotworld.saveConfiguration(section);
 | 
				
			||||||
 | 
					                plotworld.loadConfiguration(section);
 | 
				
			||||||
                config.save(configFile);
 | 
					                config.save(configFile);
 | 
				
			||||||
            } catch (final Exception e) {
 | 
					            } catch (final Exception e) {
 | 
				
			||||||
                e.printStackTrace();
 | 
					                e.printStackTrace();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@
 | 
				
			|||||||
package com.intellectualcrafters.plot.commands;
 | 
					package com.intellectualcrafters.plot.commands;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Arrays;
 | 
					import java.util.Arrays;
 | 
				
			||||||
 | 
					import java.util.Map.Entry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.intellectualcrafters.plot.config.C;
 | 
					import com.intellectualcrafters.plot.config.C;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Location;
 | 
					import com.intellectualcrafters.plot.object.Location;
 | 
				
			||||||
@@ -76,7 +77,8 @@ public class Comment extends SubCommand {
 | 
				
			|||||||
            sendMessage(player, C.COMMENT_SYNTAX, StringMan.join(CommentManager.inboxes.keySet(), "|"));
 | 
					            sendMessage(player, C.COMMENT_SYNTAX, StringMan.join(CommentManager.inboxes.keySet(), "|"));
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        for (final PlotPlayer pp : UUIDHandler.getPlayers().values()) {
 | 
					        for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
 | 
					            PlotPlayer pp = entry.getValue();
 | 
				
			||||||
            if (pp.getAttribute("chatspy")) {
 | 
					            if (pp.getAttribute("chatspy")) {
 | 
				
			||||||
                MainUtil.sendMessage(pp, "/plot comment " + StringMan.join(args, " "));
 | 
					                MainUtil.sendMessage(pp, "/plot comment " + StringMan.join(args, " "));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,7 +77,7 @@ public class DebugClaimTest extends SubCommand {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        final String world = args[0];
 | 
					        final String world = args[0];
 | 
				
			||||||
        if (!BlockManager.manager.isWorld(world) || !PS.get().isPlotWorld(world)) {
 | 
					        if (!BlockManager.manager.isWorld(world) || !PS.get().isPlotWorld(world)) {
 | 
				
			||||||
            return !MainUtil.sendMessage(null, "&cInvalid plot world!");
 | 
					            return !MainUtil.sendMessage(plr, "&cInvalid plot world!");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        PlotId min, max;
 | 
					        PlotId min, max;
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
@@ -86,18 +86,18 @@ public class DebugClaimTest extends SubCommand {
 | 
				
			|||||||
            min = PlotId.fromString(args[1]);
 | 
					            min = PlotId.fromString(args[1]);
 | 
				
			||||||
            max = PlotId.fromString(args[2]);
 | 
					            max = PlotId.fromString(args[2]);
 | 
				
			||||||
        } catch (final Exception e) {
 | 
					        } catch (final Exception e) {
 | 
				
			||||||
            return !MainUtil.sendMessage(null,
 | 
					            return !MainUtil.sendMessage(plr,
 | 
				
			||||||
            "&cInvalid min/max values. &7The values are to Plot IDs in the format &cX;Y &7where X;Y are the plot coords\nThe conversion will only check the plots in the selected area.");
 | 
					            "&cInvalid min/max values. &7The values are to Plot IDs in the format &cX;Y &7where X;Y are the plot coords\nThe conversion will only check the plots in the selected area.");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        MainUtil.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: &7Beginning sign to plot conversion. This may take a while...");
 | 
					        MainUtil.sendMessage(plr, "&3Sign Block&8->&3PlotSquared&8: &7Beginning sign to plot conversion. This may take a while...");
 | 
				
			||||||
        MainUtil.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: Found an excess of 250,000 chunks. Limiting search radius... (~3.8 min)");
 | 
					        MainUtil.sendMessage(plr, "&3Sign Block&8->&3PlotSquared&8: Found an excess of 250,000 chunks. Limiting search radius... (~3.8 min)");
 | 
				
			||||||
        final PlotManager manager = PS.get().getPlotManager(world);
 | 
					        final PlotManager manager = PS.get().getPlotManager(world);
 | 
				
			||||||
        final PlotWorld plotworld = PS.get().getPlotWorld(world);
 | 
					        final PlotWorld plotworld = PS.get().getPlotWorld(world);
 | 
				
			||||||
        final ArrayList<Plot> plots = new ArrayList<>();
 | 
					        final ArrayList<Plot> plots = new ArrayList<>();
 | 
				
			||||||
        for (final PlotId id : MainUtil.getPlotSelectionIds(min, max)) {
 | 
					        for (final PlotId id : MainUtil.getPlotSelectionIds(min, max)) {
 | 
				
			||||||
            final Plot plot = MainUtil.getPlotAbs(world, id);
 | 
					            final Plot plot = MainUtil.getPlotAbs(world, id);
 | 
				
			||||||
            if (PS.get().getPlot(world, plot.id) != null) {
 | 
					            if (PS.get().getPlot(world, plot.id) != null) {
 | 
				
			||||||
                MainUtil.sendMessage(null, " - &cDB Already contains: " + plot.id);
 | 
					                MainUtil.sendMessage(plr, " - &cDB Already contains: " + plot.id);
 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            final Location loc = manager.getSignLoc(plotworld, plot);
 | 
					            final Location loc = manager.getSignLoc(plotworld, plot);
 | 
				
			||||||
@@ -125,29 +125,29 @@ public class DebugClaimTest extends SubCommand {
 | 
				
			|||||||
                        uuid = UUIDHandler.getUUID(line, null);
 | 
					                        uuid = UUIDHandler.getUUID(line, null);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    if (uuid != null) {
 | 
					                    if (uuid != null) {
 | 
				
			||||||
                        MainUtil.sendMessage(null, " - &aFound plot: " + plot.id + " : " + line);
 | 
					                        MainUtil.sendMessage(plr, " - &aFound plot: " + plot.id + " : " + line);
 | 
				
			||||||
                        plot.owner = uuid;
 | 
					                        plot.owner = uuid;
 | 
				
			||||||
                        plots.add(plot);
 | 
					                        plots.add(plot);
 | 
				
			||||||
                    } else {
 | 
					                    } else {
 | 
				
			||||||
                        MainUtil.sendMessage(null, " - &cInvalid playername: " + plot.id + " : " + line);
 | 
					                        MainUtil.sendMessage(plr, " - &cInvalid playername: " + plot.id + " : " + line);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (plots.size() > 0) {
 | 
					        if (plots.size() > 0) {
 | 
				
			||||||
            MainUtil.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: &7Updating '" + plots.size() + "' plots!");
 | 
					            MainUtil.sendMessage(plr, "&3Sign Block&8->&3PlotSquared&8: &7Updating '" + plots.size() + "' plots!");
 | 
				
			||||||
            DBFunc.createPlotsAndData(plots, new Runnable() {
 | 
					            DBFunc.createPlotsAndData(plots, new Runnable() {
 | 
				
			||||||
                @Override
 | 
					                @Override
 | 
				
			||||||
                public void run() {
 | 
					                public void run() {
 | 
				
			||||||
                    MainUtil.sendMessage(null, "&6Database update finished!");
 | 
					                    MainUtil.sendMessage(plr, "&6Database update finished!");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            for (final Plot plot : plots) {
 | 
					            for (final Plot plot : plots) {
 | 
				
			||||||
                PS.get().updatePlot(plot);
 | 
					                PS.get().updatePlot(plot);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            MainUtil.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: &7Complete!");
 | 
					            MainUtil.sendMessage(plr, "&3Sign Block&8->&3PlotSquared&8: &7Complete!");
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            MainUtil.sendMessage(null, "No plots were found for the given search.");
 | 
					            MainUtil.sendMessage(plr, "No plots were found for the given search.");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -433,13 +433,13 @@ public class DebugExec extends SubCommand {
 | 
				
			|||||||
                            } catch (final ScriptException e) {
 | 
					                            } catch (final ScriptException e) {
 | 
				
			||||||
                                e.printStackTrace();
 | 
					                                e.printStackTrace();
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            PS.log("> " + (System.currentTimeMillis() - start) + "ms -> " + result);
 | 
					                            ConsolePlayer.getConsole().sendMessage("> " + (System.currentTimeMillis() - start) + "ms -> " + result);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    });
 | 
					                    });
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    final long start = System.currentTimeMillis();
 | 
					                    final long start = System.currentTimeMillis();
 | 
				
			||||||
                    Object result = engine.eval(script, scope);
 | 
					                    Object result = engine.eval(script, scope);
 | 
				
			||||||
                    PS.log("> " + (System.currentTimeMillis() - start) + "ms -> " + result);
 | 
					                    ConsolePlayer.getConsole().sendMessage("> " + (System.currentTimeMillis() - start) + "ms -> " + result);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                return true;
 | 
					                return true;
 | 
				
			||||||
            } catch (final ScriptException e) {
 | 
					            } catch (final ScriptException e) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,11 +42,11 @@ public class DebugSaveTest extends SubCommand {
 | 
				
			|||||||
    public boolean onCommand(final PlotPlayer plr, final String[] args) {
 | 
					    public boolean onCommand(final PlotPlayer plr, final String[] args) {
 | 
				
			||||||
        final ArrayList<Plot> plots = new ArrayList<Plot>();
 | 
					        final ArrayList<Plot> plots = new ArrayList<Plot>();
 | 
				
			||||||
        plots.addAll(PS.get().getPlots());
 | 
					        plots.addAll(PS.get().getPlots());
 | 
				
			||||||
        MainUtil.sendMessage(null, "&6Starting `DEBUGSAVETEST`");
 | 
					        MainUtil.sendMessage(plr, "&6Starting `DEBUGSAVETEST`");
 | 
				
			||||||
        DBFunc.createPlotsAndData(plots, new Runnable() {
 | 
					        DBFunc.createPlotsAndData(plots, new Runnable() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
            public void run() {
 | 
					            public void run() {
 | 
				
			||||||
                MainUtil.sendMessage(null, "&6Database sync finished!");
 | 
					                MainUtil.sendMessage(plr, "&6Database sync finished!");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,9 +67,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean onCommand(final PlotPlayer plr, final String[] args) {
 | 
					    public boolean onCommand(final PlotPlayer player, final String[] args) {
 | 
				
			||||||
        final PlotPlayer player = null;
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        final UUIDWrapper currentUUIDWrapper = UUIDHandler.getUUIDWrapper();
 | 
					        final UUIDWrapper currentUUIDWrapper = UUIDHandler.getUUIDWrapper();
 | 
				
			||||||
        final UUIDWrapper newWrapper;
 | 
					        final UUIDWrapper newWrapper;
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@@ -113,18 +111,18 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
            MainUtil.sendMessage(player, "&cUUID mode already in use!");
 | 
					            MainUtil.sendMessage(player, "&cUUID mode already in use!");
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        MainUtil.sendConsoleMessage("&6Beginning UUID mode conversion");
 | 
					        MainUtil.sendMessage(player, "&6Beginning UUID mode conversion");
 | 
				
			||||||
        MainUtil.sendConsoleMessage("&7 - Disconnecting players");
 | 
					        MainUtil.sendMessage(player, "&7 - Disconnecting players");
 | 
				
			||||||
        for (final PlotPlayer pp : UUIDHandler.getPlayers().values()) {
 | 
					        for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
            pp.kick("PlotSquared UUID conversion has been initiated. You may reconnect when finished.");
 | 
					            entry.getValue().kick("PlotSquared UUID conversion has been initiated. You may reconnect when finished.");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        MainUtil.sendConsoleMessage("&7 - Initializing map");
 | 
					        MainUtil.sendMessage(player, "&7 - Initializing map");
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        final HashMap<UUID, UUID> uCMap = new HashMap<UUID, UUID>();
 | 
					        final HashMap<UUID, UUID> uCMap = new HashMap<UUID, UUID>();
 | 
				
			||||||
        final HashMap<UUID, UUID> uCReverse = new HashMap<UUID, UUID>();
 | 
					        final HashMap<UUID, UUID> uCReverse = new HashMap<UUID, UUID>();
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        MainUtil.sendConsoleMessage("&7 - Collecting playerdata");
 | 
					        MainUtil.sendMessage(player, "&7 - Collecting playerdata");
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        final HashSet<String> worlds = new HashSet<>();
 | 
					        final HashSet<String> worlds = new HashSet<>();
 | 
				
			||||||
        worlds.add(Bukkit.getWorlds().get(0).getName());
 | 
					        worlds.add(Bukkit.getWorlds().get(0).getName());
 | 
				
			||||||
@@ -146,7 +144,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                        final UUID uuid = UUID.fromString(s);
 | 
					                        final UUID uuid = UUID.fromString(s);
 | 
				
			||||||
                        uuids.add(uuid);
 | 
					                        uuids.add(uuid);
 | 
				
			||||||
                    } catch (final Exception e) {
 | 
					                    } catch (final Exception e) {
 | 
				
			||||||
                        MainUtil.sendMessage(plr, C.PREFIX.s() + "Invalid playerdata: " + current);
 | 
					                        MainUtil.sendMessage(player, C.PREFIX.s() + "Invalid playerdata: " + current);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -164,7 +162,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        MainUtil.sendConsoleMessage("&7 - Populating map");
 | 
					        MainUtil.sendMessage(player, "&7 - Populating map");
 | 
				
			||||||
        UUID uuid2;
 | 
					        UUID uuid2;
 | 
				
			||||||
        final UUIDWrapper wrapper = new DefaultUUIDWrapper();
 | 
					        final UUIDWrapper wrapper = new DefaultUUIDWrapper();
 | 
				
			||||||
        for (UUID uuid : uuids) {
 | 
					        for (UUID uuid : uuids) {
 | 
				
			||||||
@@ -177,7 +175,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                    uCReverse.put(uuid2, uuid);
 | 
					                    uCReverse.put(uuid2, uuid);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            } catch (final Throwable e) {
 | 
					            } catch (final Throwable e) {
 | 
				
			||||||
                MainUtil.sendMessage(plr, C.PREFIX.s() + "&6Invalid playerdata: " + uuid.toString() + ".dat");
 | 
					                MainUtil.sendMessage(player, C.PREFIX.s() + "&6Invalid playerdata: " + uuid.toString() + ".dat");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        for (final String name : names) {
 | 
					        for (final String name : names) {
 | 
				
			||||||
@@ -189,7 +187,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (uCMap.size() == 0) {
 | 
					        if (uCMap.size() == 0) {
 | 
				
			||||||
            MainUtil.sendConsoleMessage("&c - Error! Attempting to repopulate");
 | 
					            MainUtil.sendMessage(player, "&c - Error! Attempting to repopulate");
 | 
				
			||||||
            for (final OfflinePlotPlayer op : currentUUIDWrapper.getOfflinePlayers()) {
 | 
					            for (final OfflinePlotPlayer op : currentUUIDWrapper.getOfflinePlayers()) {
 | 
				
			||||||
                if (op.getLastPlayed() != 0) {
 | 
					                if (op.getLastPlayed() != 0) {
 | 
				
			||||||
                    //                    String name = op.getName();
 | 
					                    //                    String name = op.getName();
 | 
				
			||||||
@@ -203,14 +201,14 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (uCMap.size() == 0) {
 | 
					            if (uCMap.size() == 0) {
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&cError. Failed to collect UUIDs!");
 | 
					                MainUtil.sendMessage(player, "&cError. Failed to collect UUIDs!");
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&a - Successfully repopulated");
 | 
					                MainUtil.sendMessage(player, "&a - Successfully repopulated");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        MainUtil.sendConsoleMessage("&7 - Replacing cache");
 | 
					        MainUtil.sendMessage(player, "&7 - Replacing cache");
 | 
				
			||||||
        TaskManager.runTaskAsync(new Runnable() {
 | 
					        TaskManager.runTaskAsync(new Runnable() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
            public void run() {
 | 
					            public void run() {
 | 
				
			||||||
@@ -221,7 +219,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&7 - Scanning for applicable files (uuids.txt)");
 | 
					                MainUtil.sendMessage(player, "&7 - Scanning for applicable files (uuids.txt)");
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                final File file = new File(PS.get().IMP.getDirectory(), "uuids.txt");
 | 
					                final File file = new File(PS.get().IMP.getDirectory(), "uuids.txt");
 | 
				
			||||||
                if (file.exists()) {
 | 
					                if (file.exists()) {
 | 
				
			||||||
@@ -256,10 +254,10 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&7 - Replacing wrapper");
 | 
					                MainUtil.sendMessage(player, "&7 - Replacing wrapper");
 | 
				
			||||||
                UUIDHandler.setUUIDWrapper(newWrapper);
 | 
					                UUIDHandler.setUUIDWrapper(newWrapper);
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&7 - Updating plot objects");
 | 
					                MainUtil.sendMessage(player, "&7 - Updating plot objects");
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                for (final Plot plot : PS.get().getPlotsRaw()) {
 | 
					                for (final Plot plot : PS.get().getPlotsRaw()) {
 | 
				
			||||||
                    final UUID value = uCMap.get(plot.owner);
 | 
					                    final UUID value = uCMap.get(plot.owner);
 | 
				
			||||||
@@ -271,16 +269,16 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                    plot.getDenied().clear();
 | 
					                    plot.getDenied().clear();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&7 - Deleting database");
 | 
					                MainUtil.sendMessage(player, "&7 - Deleting database");
 | 
				
			||||||
                final AbstractDB database = DBFunc.dbManager;
 | 
					                final AbstractDB database = DBFunc.dbManager;
 | 
				
			||||||
                final boolean result = database.deleteTables();
 | 
					                final boolean result = database.deleteTables();
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&7 - Creating tables");
 | 
					                MainUtil.sendMessage(player, "&7 - Creating tables");
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                try {
 | 
					                try {
 | 
				
			||||||
                    database.createTables();
 | 
					                    database.createTables();
 | 
				
			||||||
                    if (!result) {
 | 
					                    if (!result) {
 | 
				
			||||||
                        MainUtil.sendConsoleMessage("&cConversion failed! Attempting recovery");
 | 
					                        MainUtil.sendMessage(player, "&cConversion failed! Attempting recovery");
 | 
				
			||||||
                        for (final Plot plot : PS.get().getPlots()) {
 | 
					                        for (final Plot plot : PS.get().getPlots()) {
 | 
				
			||||||
                            final UUID value = uCReverse.get(plot.owner);
 | 
					                            final UUID value = uCReverse.get(plot.owner);
 | 
				
			||||||
                            if (value != null) {
 | 
					                            if (value != null) {
 | 
				
			||||||
@@ -290,7 +288,7 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                        database.createPlotsAndData(new ArrayList<>(PS.get().getPlots()), new Runnable() {
 | 
					                        database.createPlotsAndData(new ArrayList<>(PS.get().getPlots()), new Runnable() {
 | 
				
			||||||
                            @Override
 | 
					                            @Override
 | 
				
			||||||
                            public void run() {
 | 
					                            public void run() {
 | 
				
			||||||
                                MainUtil.sendMessage(null, "&6Recovery was successful!");
 | 
					                                MainUtil.sendMessage(player, "&6Recovery was successful!");
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        });
 | 
					                        });
 | 
				
			||||||
                        return;
 | 
					                        return;
 | 
				
			||||||
@@ -313,10 +311,10 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                try {
 | 
					                try {
 | 
				
			||||||
                    PS.get().config.save(PS.get().configFile);
 | 
					                    PS.get().config.save(PS.get().configFile);
 | 
				
			||||||
                } catch (final Exception e) {
 | 
					                } catch (final Exception e) {
 | 
				
			||||||
                    MainUtil.sendConsoleMessage("Could not save configuration. It will need to be manuall set!");
 | 
					                    MainUtil.sendMessage(player, "Could not save configuration. It will need to be manuall set!");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&7 - Populating tables");
 | 
					                MainUtil.sendMessage(player, "&7 - Populating tables");
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                TaskManager.runTaskAsync(new Runnable() {
 | 
					                TaskManager.runTaskAsync(new Runnable() {
 | 
				
			||||||
                    @Override
 | 
					                    @Override
 | 
				
			||||||
@@ -325,14 +323,14 @@ public class DebugUUID extends SubCommand {
 | 
				
			|||||||
                        database.createPlotsAndData(plots, new Runnable() {
 | 
					                        database.createPlotsAndData(plots, new Runnable() {
 | 
				
			||||||
                            @Override
 | 
					                            @Override
 | 
				
			||||||
                            public void run() {
 | 
					                            public void run() {
 | 
				
			||||||
                                MainUtil.sendConsoleMessage("&aConversion complete!");
 | 
					                                MainUtil.sendMessage(player, "&aConversion complete!");
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        });
 | 
					                        });
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&aIt is now safe for players to join");
 | 
					                MainUtil.sendMessage(player, "&aIt is now safe for players to join");
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&cConversion is still in progress, you will be notified when it is complete");
 | 
					                MainUtil.sendMessage(player, "&cConversion is still in progress, you will be notified when it is complete");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -104,7 +104,7 @@ public class Purge extends SubCommand {
 | 
				
			|||||||
            final Set<PlotId> ids = PS.get().getPlots(worldname).keySet();
 | 
					            final Set<PlotId> ids = PS.get().getPlots(worldname).keySet();
 | 
				
			||||||
            final int length = ids.size();
 | 
					            final int length = ids.size();
 | 
				
			||||||
            if (length == 0) {
 | 
					            if (length == 0) {
 | 
				
			||||||
                return MainUtil.sendMessage(null, "&cNo plots found");
 | 
					                return MainUtil.sendMessage(plr, "&cNo plots found");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            DBFunc.purge(worldname, ids);
 | 
					            DBFunc.purge(worldname, ids);
 | 
				
			||||||
            return finishPurge(length);
 | 
					            return finishPurge(length);
 | 
				
			||||||
@@ -122,7 +122,7 @@ public class Purge extends SubCommand {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            final int length = ids.size();
 | 
					            final int length = ids.size();
 | 
				
			||||||
            if (length == 0) {
 | 
					            if (length == 0) {
 | 
				
			||||||
                return MainUtil.sendMessage(null, "&cNo plots found");
 | 
					                return MainUtil.sendMessage(plr, "&cNo plots found");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            DBFunc.purge(worldname, ids);
 | 
					            DBFunc.purge(worldname, ids);
 | 
				
			||||||
            return finishPurge(length);
 | 
					            return finishPurge(length);
 | 
				
			||||||
@@ -137,7 +137,7 @@ public class Purge extends SubCommand {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            final int length = ids.size();
 | 
					            final int length = ids.size();
 | 
				
			||||||
            if (length == 0) {
 | 
					            if (length == 0) {
 | 
				
			||||||
                return MainUtil.sendMessage(null, "&cNo plots found");
 | 
					                return MainUtil.sendMessage(plr, "&cNo plots found");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            DBFunc.purge(worldname, ids);
 | 
					            DBFunc.purge(worldname, ids);
 | 
				
			||||||
            return finishPurge(length);
 | 
					            return finishPurge(length);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -167,7 +167,7 @@ public class SchematicCmd extends SubCommand {
 | 
				
			|||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (args.length != 2) {
 | 
					                if (args.length != 2) {
 | 
				
			||||||
                    MainUtil.sendMessage(null, "&cNeed world arg. Use &7/plots sch exportall <world>");
 | 
					                    MainUtil.sendMessage(plr, "&cNeed world arg. Use &7/plots sch exportall <world>");
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                final Collection<Plot> plots = PS.get().getPlotsInWorld(args[1]);
 | 
					                final Collection<Plot> plots = PS.get().getPlotsInWorld(args[1]);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,6 +31,7 @@ import java.util.HashSet;
 | 
				
			|||||||
import com.intellectualcrafters.plot.PS;
 | 
					import com.intellectualcrafters.plot.PS;
 | 
				
			||||||
import com.intellectualcrafters.plot.config.C;
 | 
					import com.intellectualcrafters.plot.config.C;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.ChunkLoc;
 | 
					import com.intellectualcrafters.plot.object.ChunkLoc;
 | 
				
			||||||
 | 
					import com.intellectualcrafters.plot.object.ConsolePlayer;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Location;
 | 
					import com.intellectualcrafters.plot.object.Location;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Plot;
 | 
					import com.intellectualcrafters.plot.object.Plot;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.PlotId;
 | 
					import com.intellectualcrafters.plot.object.PlotId;
 | 
				
			||||||
@@ -158,7 +159,7 @@ public class Trim extends SubCommand {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static void sendMessage(final String message) {
 | 
					    public static void sendMessage(final String message) {
 | 
				
			||||||
        PS.log("&3PlotSquared -> World trim&8: &7" + message);
 | 
					        ConsolePlayer.getConsole().sendMessage("&3PlotSquared -> World trim&8: &7" + message);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public PlotId getId(final String id) {
 | 
					    public PlotId getId(final String id) {
 | 
				
			||||||
@@ -207,11 +208,12 @@ public class Trim extends SubCommand {
 | 
				
			|||||||
        sendMessage(C.TASK_START.s());
 | 
					        sendMessage(C.TASK_START.s());
 | 
				
			||||||
        final ArrayList<ChunkLoc> empty = new ArrayList<>();
 | 
					        final ArrayList<ChunkLoc> empty = new ArrayList<>();
 | 
				
			||||||
        getTrimRegions(empty, world, new Runnable() {
 | 
					        getTrimRegions(empty, world, new Runnable() {
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
            public void run() {
 | 
					            public void run() {
 | 
				
			||||||
                deleteChunks(world, empty, new Runnable() {
 | 
					                deleteChunks(world, empty, new Runnable() {
 | 
				
			||||||
                    @Override
 | 
					                    @Override
 | 
				
			||||||
                    public void run() {
 | 
					                    public void run() {
 | 
				
			||||||
                        PS.log("$1Trim task complete!");
 | 
					                        ConsolePlayer.getConsole().sendMessage("$1Trim task complete!");
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,8 +50,8 @@ public class Update extends SubCommand {
 | 
				
			|||||||
            try {
 | 
					            try {
 | 
				
			||||||
                url = new URL(args[0]);
 | 
					                url = new URL(args[0]);
 | 
				
			||||||
            } catch (final MalformedURLException e) {
 | 
					            } catch (final MalformedURLException e) {
 | 
				
			||||||
                MainUtil.sendConsoleMessage("&cInvalid url: " + args[0]);
 | 
					                MainUtil.sendMessage(plr, "&cInvalid url: " + args[0]);
 | 
				
			||||||
                MainUtil.sendConsoleMessage(C.COMMAND_SYNTAX, "/plot update [url]");
 | 
					                MainUtil.sendMessage(plr, C.COMMAND_SYNTAX, "/plot update [url]");
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,7 +26,11 @@ public class ConsolePlayer extends PlotPlayer {
 | 
				
			|||||||
        return instance;
 | 
					        return instance;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ConsolePlayer() {
 | 
					    /**
 | 
				
			||||||
 | 
					     * Direct access is deprecated
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    @Deprecated
 | 
				
			||||||
 | 
					    public ConsolePlayer() {
 | 
				
			||||||
        String world;
 | 
					        String world;
 | 
				
			||||||
        final Set<String> plotworlds = PS.get().getPlotWorlds();
 | 
					        final Set<String> plotworlds = PS.get().getPlotWorlds();
 | 
				
			||||||
        if (plotworlds.size() > 0) {
 | 
					        if (plotworlds.size() > 0) {
 | 
				
			||||||
@@ -39,7 +43,7 @@ public class ConsolePlayer extends PlotPlayer {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static boolean isConsole(final PlotPlayer plr) {
 | 
					    public static boolean isConsole(final PlotPlayer plr) {
 | 
				
			||||||
        return instance == plr;
 | 
					        return plr instanceof ConsolePlayer;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,7 @@ import java.util.Set;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import com.intellectualcrafters.plot.PS;
 | 
					import com.intellectualcrafters.plot.PS;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.ChunkLoc;
 | 
					import com.intellectualcrafters.plot.object.ChunkLoc;
 | 
				
			||||||
 | 
					import com.intellectualcrafters.plot.object.ConsolePlayer;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Location;
 | 
					import com.intellectualcrafters.plot.object.Location;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Plot;
 | 
					import com.intellectualcrafters.plot.object.Plot;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.PlotBlock;
 | 
					import com.intellectualcrafters.plot.object.PlotBlock;
 | 
				
			||||||
@@ -141,7 +142,7 @@ public abstract class ChunkManager {
 | 
				
			|||||||
                for (final ChunkLoc loc : chunks) {
 | 
					                for (final ChunkLoc loc : chunks) {
 | 
				
			||||||
                    final String directory = world + File.separator + "region" + File.separator + "r." + loc.x + "." + loc.z + ".mca";
 | 
					                    final String directory = world + File.separator + "region" + File.separator + "r." + loc.x + "." + loc.z + ".mca";
 | 
				
			||||||
                    final File file = new File(PS.get().IMP.getWorldContainer(), directory);
 | 
					                    final File file = new File(PS.get().IMP.getWorldContainer(), directory);
 | 
				
			||||||
                    PS.log("&6 - Deleting file: " + file.getName() + " (max 1024 chunks)");
 | 
					                    ConsolePlayer.getConsole().sendMessage("&6 - Deleting file: " + file.getName() + " (max 1024 chunks)");
 | 
				
			||||||
                    if (file.exists()) {
 | 
					                    if (file.exists()) {
 | 
				
			||||||
                        file.delete();
 | 
					                        file.delete();
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,7 @@ import com.intellectualcrafters.plot.flag.Flag;
 | 
				
			|||||||
import com.intellectualcrafters.plot.flag.FlagManager;
 | 
					import com.intellectualcrafters.plot.flag.FlagManager;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.BlockLoc;
 | 
					import com.intellectualcrafters.plot.object.BlockLoc;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.ChunkLoc;
 | 
					import com.intellectualcrafters.plot.object.ChunkLoc;
 | 
				
			||||||
 | 
					import com.intellectualcrafters.plot.object.ConsolePlayer;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Location;
 | 
					import com.intellectualcrafters.plot.object.Location;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Plot;
 | 
					import com.intellectualcrafters.plot.object.Plot;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.PlotBlock;
 | 
					import com.intellectualcrafters.plot.object.PlotBlock;
 | 
				
			||||||
@@ -283,7 +284,8 @@ public class MainUtil {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static List<PlotPlayer> getPlayersInPlot(final Plot plot) {
 | 
					    public static List<PlotPlayer> getPlayersInPlot(final Plot plot) {
 | 
				
			||||||
        final ArrayList<PlotPlayer> players = new ArrayList<>();
 | 
					        final ArrayList<PlotPlayer> players = new ArrayList<>();
 | 
				
			||||||
 | 
					        for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
            PlotPlayer pp = entry.getValue();
 | 
					            PlotPlayer pp = entry.getValue();
 | 
				
			||||||
            if (plot.equals(pp.getCurrentPlot())) {
 | 
					            if (plot.equals(pp.getCurrentPlot())) {
 | 
				
			||||||
                players.add(pp);
 | 
					                players.add(pp);
 | 
				
			||||||
@@ -2013,7 +2015,7 @@ public class MainUtil {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    public static boolean sendMessage(final PlotPlayer plr, final String msg, final boolean prefix) {
 | 
					    public static boolean sendMessage(final PlotPlayer plr, final String msg, final boolean prefix) {
 | 
				
			||||||
        if ((msg.length() > 0) && !msg.equals("")) {
 | 
					        if ((msg.length() > 0) && !msg.equals("")) {
 | 
				
			||||||
            if (plr == null) {
 | 
					            if (plr == null) {
 | 
				
			||||||
                ConsolePlayer.getConsole().sendMessage((prefix ? C.PREFIX.s() : "") + msg);
 | 
					                ConsolePlayer.getConsole().sendMessage((prefix ? C.PREFIX.s() : "") + msg);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                plr.sendMessage((prefix ? C.PREFIX.s() : "") + C.color(msg));
 | 
					                plr.sendMessage((prefix ? C.PREFIX.s() : "") + C.color(msg));
 | 
				
			||||||
@@ -2103,7 +2105,7 @@ public class MainUtil {
 | 
				
			|||||||
            if ((args != null) && (args.length > 0)) {
 | 
					            if ((args != null) && (args.length > 0)) {
 | 
				
			||||||
                msg = C.format(c, args);
 | 
					                msg = C.format(c, args);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (plr == null) {
 | 
					            if (plr == null) {
 | 
				
			||||||
                ConsolePlayer.getConsole().sendMessage(msg);
 | 
					                ConsolePlayer.getConsole().sendMessage(msg);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                sendMessage(plr, msg, c.usePrefix());
 | 
					                sendMessage(plr, msg, c.usePrefix());
 | 
				
			||||||
@@ -2126,7 +2128,7 @@ public class MainUtil {
 | 
				
			|||||||
            if ((args != null) && (args.length > 0)) {
 | 
					            if ((args != null) && (args.length > 0)) {
 | 
				
			||||||
                msg = C.format(c, args);
 | 
					                msg = C.format(c, args);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (plr == null) {
 | 
					            if (plr == null) {
 | 
				
			||||||
                ConsolePlayer.getConsole().sendMessage(msg);
 | 
					                ConsolePlayer.getConsole().sendMessage(msg);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                sendMessage(plr, msg, c.usePrefix());
 | 
					                sendMessage(plr, msg, c.usePrefix());
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@ import java.util.HashSet;
 | 
				
			|||||||
import java.util.Map;
 | 
					import java.util.Map;
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
import java.util.UUID;
 | 
					import java.util.UUID;
 | 
				
			||||||
 | 
					import java.util.concurrent.ConcurrentHashMap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.google.common.base.Charsets;
 | 
					import com.google.common.base.Charsets;
 | 
				
			||||||
import com.google.common.collect.BiMap;
 | 
					import com.google.common.collect.BiMap;
 | 
				
			||||||
@@ -13,6 +14,7 @@ import com.intellectualcrafters.plot.PS;
 | 
				
			|||||||
import com.intellectualcrafters.plot.config.C;
 | 
					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.object.ConsolePlayer;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.OfflinePlotPlayer;
 | 
					import com.intellectualcrafters.plot.object.OfflinePlotPlayer;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.Plot;
 | 
					import com.intellectualcrafters.plot.object.Plot;
 | 
				
			||||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
					import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
				
			||||||
@@ -25,11 +27,11 @@ public abstract class UUIDHandlerImplementation {
 | 
				
			|||||||
    private BiMap<StringWrapper, UUID> uuidMap = HashBiMap.create(new HashMap<StringWrapper, UUID>());
 | 
					    private BiMap<StringWrapper, UUID> uuidMap = HashBiMap.create(new HashMap<StringWrapper, UUID>());
 | 
				
			||||||
    public boolean CACHED = false;
 | 
					    public boolean CACHED = false;
 | 
				
			||||||
    public UUIDWrapper uuidWrapper = null;
 | 
					    public UUIDWrapper uuidWrapper = null;
 | 
				
			||||||
    public final HashMap<String, PlotPlayer> players;
 | 
					    public final ConcurrentHashMap<String, PlotPlayer> players;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public UUIDHandlerImplementation(final UUIDWrapper wrapper) {
 | 
					    public UUIDHandlerImplementation(final UUIDWrapper wrapper) {
 | 
				
			||||||
        uuidWrapper = wrapper;
 | 
					        uuidWrapper = wrapper;
 | 
				
			||||||
        players = new HashMap<>();
 | 
					        players = new ConcurrentHashMap<>();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -96,7 +98,7 @@ public abstract class UUIDHandlerImplementation {
 | 
				
			|||||||
            try {
 | 
					            try {
 | 
				
			||||||
                unknown.add(uuid);
 | 
					                unknown.add(uuid);
 | 
				
			||||||
            } catch (final Exception e) {
 | 
					            } catch (final Exception e) {
 | 
				
			||||||
                PS.log("&c(minor) Invalid UUID mapping: " + uuid);
 | 
					                ConsolePlayer.getConsole().sendMessage("&c(minor) Invalid UUID mapping: " + uuid);
 | 
				
			||||||
                e.printStackTrace();
 | 
					                e.printStackTrace();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
@@ -178,11 +180,11 @@ public abstract class UUIDHandlerImplementation {
 | 
				
			|||||||
        if (uuid == null) {
 | 
					        if (uuid == null) {
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // check online
 | 
					        //        // check online
 | 
				
			||||||
        final PlotPlayer player = getPlayer(uuid);
 | 
					        //        final PlotPlayer player = getPlayer(uuid);
 | 
				
			||||||
        if (player != null) {
 | 
					        //        if (player != null) {
 | 
				
			||||||
            return player.getName();
 | 
					        //            return player.getName();
 | 
				
			||||||
        }
 | 
					        //        }
 | 
				
			||||||
        // check cache
 | 
					        // check cache
 | 
				
			||||||
        final StringWrapper name = uuidMap.inverse().get(uuid);
 | 
					        final StringWrapper name = uuidMap.inverse().get(uuid);
 | 
				
			||||||
        if (name != null) {
 | 
					        if (name != null) {
 | 
				
			||||||
@@ -228,10 +230,9 @@ public abstract class UUIDHandlerImplementation {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public PlotPlayer getPlayer(final UUID uuid) {
 | 
					    public PlotPlayer getPlayer(final UUID uuid) {
 | 
				
			||||||
        for (final PlotPlayer player : players.values()) {
 | 
					        String name = getName(uuid);
 | 
				
			||||||
            if (player.getUUID().equals(uuid)) {
 | 
					        if (name != null) {
 | 
				
			||||||
                return player;
 | 
					            return getPlayer(name);
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return null;
 | 
					        return null;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,7 +41,6 @@ public class AugmentedPopulator extends BlockPopulator {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    public AugmentedPopulator(final String world, final BukkitPlotGenerator generator, final PlotCluster cluster, final boolean p, final boolean b) {
 | 
					    public AugmentedPopulator(final String world, final BukkitPlotGenerator generator, final PlotCluster cluster, final boolean p, final boolean b) {
 | 
				
			||||||
        MainUtil.initCache();
 | 
					        MainUtil.initCache();
 | 
				
			||||||
        PS.log("== NEW AUGMENTED POPULATOR FOR: " + world);
 | 
					 | 
				
			||||||
        this.cluster = cluster;
 | 
					        this.cluster = cluster;
 | 
				
			||||||
        this.generator = generator;
 | 
					        this.generator = generator;
 | 
				
			||||||
        plotworld = PS.get().getPlotWorld(world);
 | 
					        plotworld = PS.get().getPlotWorld(world);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@ import java.util.Arrays;
 | 
				
			|||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
import java.util.Iterator;
 | 
					import java.util.Iterator;
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import java.util.Map.Entry;
 | 
				
			||||||
import java.util.Objects;
 | 
					import java.util.Objects;
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
import java.util.UUID;
 | 
					import java.util.UUID;
 | 
				
			||||||
@@ -140,7 +141,8 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
 | 
				
			|||||||
            public void run() {
 | 
					            public void run() {
 | 
				
			||||||
                final String world = bloc.getWorld().getName();
 | 
					                final String world = bloc.getWorld().getName();
 | 
				
			||||||
                final int x = bloc.getBlockX();
 | 
					                final int x = bloc.getBlockX();
 | 
				
			||||||
                final int z = bloc.getBlockZ();
 | 
					                final int z = bloc.getBlockZ();
 | 
				
			||||||
 | 
					                final int distance = Bukkit.getViewDistance() * 16;
 | 
				
			||||||
                for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
					                for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
                    PlotPlayer player = entry.getValue();
 | 
					                    PlotPlayer player = entry.getValue();
 | 
				
			||||||
                    final Location loc = player.getLocation();
 | 
					                    final Location loc = player.getLocation();
 | 
				
			||||||
@@ -223,8 +225,8 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
 | 
				
			|||||||
                            return;
 | 
					                            return;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (Settings.REDSTONE_DISABLER_UNOCCUPIED) {
 | 
					                if (Settings.REDSTONE_DISABLER_UNOCCUPIED) {
 | 
				
			||||||
                    for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
					                    for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
                        if (plot.equals(entry.getValue().getCurrentPlot())) {
 | 
					                        if (plot.equals(entry.getValue().getCurrentPlot())) {
 | 
				
			||||||
                            return;
 | 
					                            return;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ import java.util.HashSet;
 | 
				
			|||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.bukkit.Bukkit;
 | 
				
			||||||
import org.bukkit.command.CommandExecutor;
 | 
					import org.bukkit.command.CommandExecutor;
 | 
				
			||||||
import org.bukkit.command.CommandSender;
 | 
					import org.bukkit.command.CommandSender;
 | 
				
			||||||
import org.bukkit.command.TabCompleter;
 | 
					import org.bukkit.command.TabCompleter;
 | 
				
			||||||
@@ -34,7 +35,33 @@ public class BukkitCommand implements CommandExecutor, TabCompleter {
 | 
				
			|||||||
    public boolean onCommand(final CommandSender commandSender, final org.bukkit.command.Command command, final String commandLabel, final String[] args) {
 | 
					    public boolean onCommand(final CommandSender commandSender, final org.bukkit.command.Command command, final String commandLabel, final String[] args) {
 | 
				
			||||||
        if (commandSender instanceof Player) {
 | 
					        if (commandSender instanceof Player) {
 | 
				
			||||||
            return MainCommand.onCommand(BukkitUtil.getPlayer((Player) commandSender), commandLabel, args);
 | 
					            return MainCommand.onCommand(BukkitUtil.getPlayer((Player) commandSender), commandLabel, args);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if (commandSender == null || commandSender.getClass() == Bukkit.getConsoleSender().getClass()) {
 | 
				
			||||||
 | 
					            return MainCommand.onCommand(ConsolePlayer.getConsole(), commandLabel, args);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        @SuppressWarnings("deprecation")
 | 
				
			||||||
 | 
					        ConsolePlayer sender = new ConsolePlayer() {
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
 | 
					            public void sendMessage(String message) {
 | 
				
			||||||
 | 
					                commandSender.sendMessage(commandLabel);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
 | 
					            public boolean hasPermission(String perm) {
 | 
				
			||||||
 | 
					                return commandSender.hasPermission(commandLabel);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
 | 
					            public String getName() {
 | 
				
			||||||
 | 
					                if (commandSender.getName().equals("CONSOLE")) {
 | 
				
			||||||
 | 
					                    return "*";
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                return commandSender.getName();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        sender.teleport(ConsolePlayer.getConsole().getLocationFull());
 | 
				
			||||||
 | 
					        boolean result = MainCommand.onCommand(sender, commandLabel, args);
 | 
				
			||||||
 | 
					        ConsolePlayer.getConsole().teleport(sender.getLocationFull());
 | 
				
			||||||
        return result;
 | 
					        return result;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -125,7 +125,7 @@ public class BukkitUtil extends BlockManager {
 | 
				
			|||||||
            return lastPlotPlayer;
 | 
					            return lastPlotPlayer;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        final String name = player.getName();
 | 
					        final String name = player.getName();
 | 
				
			||||||
        final PlotPlayer pp = UUIDHandler.getPlayers().get(name);
 | 
					        final PlotPlayer pp = UUIDHandler.getPlayer(name);
 | 
				
			||||||
        if (pp != null) {
 | 
					        if (pp != null) {
 | 
				
			||||||
            return pp;
 | 
					            return pp;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ import java.util.Collection;
 | 
				
			|||||||
import java.util.HashMap;
 | 
					import java.util.HashMap;
 | 
				
			||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import java.util.Map.Entry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.bukkit.Bukkit;
 | 
					import org.bukkit.Bukkit;
 | 
				
			||||||
import org.bukkit.Chunk;
 | 
					import org.bukkit.Chunk;
 | 
				
			||||||
@@ -76,7 +77,8 @@ public class SendChunk {
 | 
				
			|||||||
            list.add(chunk);
 | 
					            list.add(chunk);
 | 
				
			||||||
            final Object c = methodGetHandleChunk.of(chunk).call();
 | 
					            final Object c = methodGetHandleChunk.of(chunk).call();
 | 
				
			||||||
            methodInitLighting.of(c).call();
 | 
					            methodInitLighting.of(c).call();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
            PlotPlayer pp = entry.getValue();
 | 
					            PlotPlayer pp = entry.getValue();
 | 
				
			||||||
            final Plot plot = pp.getCurrentPlot();
 | 
					            final Plot plot = pp.getCurrentPlot();
 | 
				
			||||||
            Location loc = null;
 | 
					            Location loc = null;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ package com.plotsquared.sponge.listener;
 | 
				
			|||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import java.util.Map.Entry;
 | 
				
			||||||
import java.util.Objects;
 | 
					import java.util.Objects;
 | 
				
			||||||
import java.util.Optional;
 | 
					import java.util.Optional;
 | 
				
			||||||
import java.util.UUID;
 | 
					import java.util.UUID;
 | 
				
			||||||
@@ -408,7 +409,8 @@ public class MainListener {
 | 
				
			|||||||
        final String newMessage = StringMan.replaceAll(C.PLOT_CHAT_FORMAT.s(), "%plot_id%", id.x + ";" + id.y, "%sender%", sender);
 | 
					        final String newMessage = StringMan.replaceAll(C.PLOT_CHAT_FORMAT.s(), "%plot_id%", id.x + ";" + id.y, "%sender%", sender);
 | 
				
			||||||
        final Text forcedMessage = event.getMessage();
 | 
					        final Text forcedMessage = event.getMessage();
 | 
				
			||||||
        //        String forcedMessage = StringMan.replaceAll(C.PLOT_CHAT_FORCED.s(), "%plot_id%", id.x + ";" + id.y, "%sender%", sender);
 | 
					        //        String forcedMessage = StringMan.replaceAll(C.PLOT_CHAT_FORCED.s(), "%plot_id%", id.x + ";" + id.y, "%sender%", sender);
 | 
				
			||||||
        for (final PlotPlayer user : UUIDHandler.getPlayers().values()) {
 | 
					        for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
 | 
				
			||||||
 | 
					            PlotPlayer user = entry.getValue();
 | 
				
			||||||
            String toSend;
 | 
					            String toSend;
 | 
				
			||||||
            if (plot.equals(MainUtil.getPlot(user.getLocation()))) {
 | 
					            if (plot.equals(MainUtil.getPlot(user.getLocation()))) {
 | 
				
			||||||
                toSend = newMessage;
 | 
					                toSend = newMessage;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,7 @@ public class SpongeUtil {
 | 
				
			|||||||
            return lastPlotPlayer;
 | 
					            return lastPlotPlayer;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        final String name = player.getName();
 | 
					        final String name = player.getName();
 | 
				
			||||||
        final PlotPlayer pp = UUIDHandler.getPlayers().get(name);
 | 
					        final PlotPlayer pp = UUIDHandler.getPlayer(name);
 | 
				
			||||||
        if (pp != null) {
 | 
					        if (pp != null) {
 | 
				
			||||||
            return pp;
 | 
					            return pp;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user