mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-30 17:13:43 +01:00 
			
		
		
		
	| @@ -25,8 +25,10 @@ import java.net.URL; | ||||
| import java.util.Collection; | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| import java.util.Map.Entry; | ||||
| import java.util.Set; | ||||
| import java.util.concurrent.ConcurrentHashMap; | ||||
| import java.util.UUID; | ||||
|  | ||||
| @@ -397,7 +399,7 @@ public class Plot { | ||||
|     public void addTrusted(final UUID uuid) { | ||||
|         if (this.getTrusted().add(uuid)) DBFunc.setTrusted(this, uuid); | ||||
|     } | ||||
|  | ||||
|      | ||||
|     /** | ||||
|      * Add someone as a trusted user (updates database as well) | ||||
|      * | ||||
| @@ -418,6 +420,66 @@ public class Plot { | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * Set the trusted users for this plot | ||||
|      * @param uuids | ||||
|      */ | ||||
|     public void setTrusted(Set<UUID> uuids) { | ||||
|         if (uuids.size() == 0) { | ||||
|             return; | ||||
|         } | ||||
|         if (trusted != null && trusted.size() > 0) { | ||||
|             trusted.removeAll(uuids); | ||||
|             for (UUID uuid : trusted) { | ||||
|                 DBFunc.removeTrusted(this, uuid); | ||||
|             } | ||||
|             trusted.clear(); | ||||
|         } | ||||
|         for (UUID uuid : uuids) { | ||||
|             addTrusted(uuid); | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * Set the members for this plot | ||||
|      * @param uuids | ||||
|      */ | ||||
|     public void setMembers(Set<UUID> uuids) { | ||||
|         if (uuids.size() == 0) { | ||||
|             return; | ||||
|         } | ||||
|         if (members != null && members.size() > 0) { | ||||
|             members.removeAll(uuids); | ||||
|             for (UUID uuid : members) { | ||||
|                 DBFunc.removeMember(this, uuid); | ||||
|             } | ||||
|             members.clear(); | ||||
|         } | ||||
|         for (UUID uuid : uuids) { | ||||
|             addMember(uuid); | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * Set the denied users for this plot | ||||
|      * @param uuids | ||||
|      */ | ||||
|     public void setDenied(Set<UUID> uuids) { | ||||
|         if (uuids.size() == 0) { | ||||
|             return; | ||||
|         } | ||||
|         if (denied != null && denied.size() > 0) { | ||||
|             denied.removeAll(uuids); | ||||
|             for (UUID uuid : denied) { | ||||
|                 DBFunc.removeDenied(this, uuid); | ||||
|             } | ||||
|             denied.clear(); | ||||
|         } | ||||
|         for (UUID uuid : uuids) { | ||||
|             addDenied(uuid); | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * Clear a plot | ||||
|      * @see MainUtil#clear(Plot, boolean, Runnable) | ||||
|   | ||||
| @@ -23,6 +23,7 @@ package com.intellectualcrafters.plot.util; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Map.Entry; | ||||
| @@ -645,23 +646,36 @@ public class MainUtil { | ||||
|         if (!result) { | ||||
|             return false; | ||||
|         } | ||||
|          | ||||
|         HashSet<UUID> trusted = new HashSet<UUID>(); | ||||
|         HashSet<UUID> members = new HashSet<UUID>(); | ||||
|         HashSet<UUID> denied = new HashSet<UUID>(); | ||||
|  | ||||
|         manager.startPlotMerge(plotworld, plotIds); | ||||
|         for (int x = pos1.x; x <= pos2.x; x++) { | ||||
|             for (int y = pos1.y; y <= pos2.y; y++) { | ||||
|                 final PlotId id = new PlotId(x, y); | ||||
|                 final Plot plot = PS.get().getPlot(world, id); | ||||
|                 trusted.addAll(plot.getTrusted()); | ||||
|                 members.addAll(plot.getMembers()); | ||||
|                 denied.addAll(plot.getDenied()); | ||||
|                 if (removeRoads) { | ||||
|                     removeSign(plot); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         members.removeAll(trusted); | ||||
|         denied.removeAll(trusted); | ||||
|         denied.removeAll(members); | ||||
|         for (int x = pos1.x; x <= pos2.x; x++) { | ||||
|             for (int y = pos1.y; y <= pos2.y; y++) { | ||||
|                 final boolean lx = x < pos2.x; | ||||
|                 final boolean ly = y < pos2.y; | ||||
|                 final PlotId id = new PlotId(x, y); | ||||
|                 final Plot plot = PS.get().getPlot(world, id); | ||||
|                 plot.setTrusted(trusted); | ||||
|                 plot.setMembers(members); | ||||
|                 plot.setDenied(denied); | ||||
|                 Plot plot2 = null; | ||||
|                 if (lx) { | ||||
|                     if (ly) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 boy0001
					boy0001