mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-31 17:43:44 +01:00 
			
		
		
		
	Removes Cluster Flags
Signed-off-by: matt <4009945+MattBDev@users.noreply.github.com>
This commit is contained in:
		| @@ -1,63 +0,0 @@ | |||||||
| package com.github.intellectualsites.plotsquared.bukkit.events; |  | ||||||
|  |  | ||||||
| import com.github.intellectualsites.plotsquared.plot.flag.Flag; |  | ||||||
| import com.github.intellectualsites.plotsquared.plot.object.PlotCluster; |  | ||||||
| import org.bukkit.event.Cancellable; |  | ||||||
| import org.bukkit.event.Event; |  | ||||||
| import org.bukkit.event.HandlerList; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Called when a flag is removed from a plot. |  | ||||||
|  */ |  | ||||||
| public class ClusterFlagRemoveEvent extends Event implements Cancellable { |  | ||||||
|  |  | ||||||
|     private static final HandlerList handlers = new HandlerList(); |  | ||||||
|     private final PlotCluster cluster; |  | ||||||
|     private final Flag flag; |  | ||||||
|     private boolean cancelled; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * PlotFlagRemoveEvent: Called when a flag is removed from a plot. |  | ||||||
|      * |  | ||||||
|      * @param flag    Flag that was removed |  | ||||||
|      * @param cluster PlotCluster from which the flag was removed |  | ||||||
|      */ |  | ||||||
|     public ClusterFlagRemoveEvent(Flag flag, PlotCluster cluster) { |  | ||||||
|         this.cluster = cluster; |  | ||||||
|         this.flag = flag; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public static HandlerList getHandlerList() { |  | ||||||
|         return handlers; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Get the cluster involved. |  | ||||||
|      * |  | ||||||
|      * @return PlotCluster |  | ||||||
|      */ |  | ||||||
|     public PlotCluster getCluster() { |  | ||||||
|         return this.cluster; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Get the flag involved. |  | ||||||
|      * |  | ||||||
|      * @return Flag |  | ||||||
|      */ |  | ||||||
|     public Flag getFlag() { |  | ||||||
|         return this.flag; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @Override public HandlerList getHandlers() { |  | ||||||
|         return handlers; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @Override public boolean isCancelled() { |  | ||||||
|         return this.cancelled; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @Override public void setCancelled(boolean b) { |  | ||||||
|         this.cancelled = b; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -101,10 +101,6 @@ public final class BukkitEventUtil extends EventUtil { | |||||||
|             new PlotChangeOwnerEvent(getPlayer(initiator), plot, oldOwner, newOwner, hasOldOwner)); |             new PlotChangeOwnerEvent(getPlayer(initiator), plot, oldOwner, newOwner, hasOldOwner)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override public boolean callFlagRemove(Flag flag, Object object, PlotCluster cluster) { |  | ||||||
|         return callEvent(new ClusterFlagRemoveEvent(flag, cluster)); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @Override @Nullable public Rating callRating(PlotPlayer player, Plot plot, Rating rating) { |     @Override @Nullable public Rating callRating(PlotPlayer player, Plot plot, Rating rating) { | ||||||
|         PlotRateEvent event = new PlotRateEvent(player, rating, plot); |         PlotRateEvent event = new PlotRateEvent(player, rating, plot); | ||||||
|         Bukkit.getServer().getPluginManager().callEvent(event); |         Bukkit.getServer().getPluginManager().callEvent(event); | ||||||
|   | |||||||
| @@ -143,14 +143,6 @@ public interface AbstractDB { | |||||||
|      */ |      */ | ||||||
|     void setFlags(Plot plot, HashMap<Flag<?>, Object> flags); |     void setFlags(Plot plot, HashMap<Flag<?>, Object> flags); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Set cluster flags. |  | ||||||
|      * |  | ||||||
|      * @param cluster PlotCluster Object |  | ||||||
|      * @param flags   flags to set (flag[]) |  | ||||||
|      */ |  | ||||||
|     void setFlags(PlotCluster cluster, HashMap<Flag<?>, Object> flags); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Rename a cluster to the given name. |      * Rename a cluster to the given name. | ||||||
|      * |      * | ||||||
|   | |||||||
| @@ -298,13 +298,6 @@ public class DBFunc { | |||||||
|         DBFunc.dbManager.setFlags(plot, flags); |         DBFunc.dbManager.setFlags(plot, flags); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void setFlags(PlotCluster cluster, HashMap<Flag<?>, Object> flags) { |  | ||||||
|         if (dbManager == null) { |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|         DBFunc.dbManager.setFlags(cluster, flags); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * @param plot |      * @param plot | ||||||
|      * @param alias |      * @param alias | ||||||
|   | |||||||
| @@ -2666,41 +2666,6 @@ import java.util.concurrent.atomic.AtomicInteger; | |||||||
|                             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 myflags = resultSet.getString("flags"); |  | ||||||
|                         if (myflags == null || myflags.isEmpty()) { |  | ||||||
|                             flags_string = new String[] {}; |  | ||||||
|                         } else { |  | ||||||
|                             flags_string = myflags.split(","); |  | ||||||
|                         } |  | ||||||
|                         HashMap<Flag<?>, Object> flags = new HashMap<>(); |  | ||||||
|                         for (String element : flags_string) { |  | ||||||
|                             if (element.contains(":")) { |  | ||||||
|                                 String[] split = element.split(":"); |  | ||||||
|                                 String flag_str = |  | ||||||
|                                     split[1].replaceAll("\u00AF", ":").replaceAll("´", ","); |  | ||||||
|                                 Flag flag = FlagManager.getOrCreateFlag(split[0]); |  | ||||||
|                                 if (flag == null) { |  | ||||||
|                                     flag = new StringFlag(split[0]) { |  | ||||||
|                                         @Override public String getValueDescription() { |  | ||||||
|                                             return "Generic Filler Flag"; |  | ||||||
|                                         } |  | ||||||
|                                     }; |  | ||||||
|                                 } |  | ||||||
|                                 flags.put(flag, flag.parseValue(flag_str)); |  | ||||||
|                             } else { |  | ||||||
|                                 Flag flag = FlagManager.getOrCreateFlag(element); |  | ||||||
|                                 if (flag == null) { |  | ||||||
|                                     flag = new StringFlag(element) { |  | ||||||
|                                         @Override public String getValueDescription() { |  | ||||||
|                                             return "Generic Filler Flag"; |  | ||||||
|                                         } |  | ||||||
|                                     }; |  | ||||||
|                                 } |  | ||||||
|                                 flags.put(flag, flag.parseValue("")); |  | ||||||
|                             } |  | ||||||
|                         } |  | ||||||
|                         cluster.settings.flags = flags; |  | ||||||
|                     } else { |                     } else { | ||||||
|                         PlotSquared.debug("&cCluster #" + id + "(" + cluster |                         PlotSquared.debug("&cCluster #" + id + "(" + cluster | ||||||
|                             + ") in cluster_settings does not exist. Please create the cluster or remove this entry."); |                             + ") in cluster_settings does not exist. Please create the cluster or remove this entry."); | ||||||
| @@ -2726,32 +2691,6 @@ import java.util.concurrent.atomic.AtomicInteger; | |||||||
|         return newClusters; |         return newClusters; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override public void setFlags(final PlotCluster cluster, HashMap<Flag<?>, Object> flags) { |  | ||||||
|         final StringBuilder flag_string = new StringBuilder(); |  | ||||||
|         int i = 0; |  | ||||||
|         for (Entry<Flag<?>, Object> flag : flags.entrySet()) { |  | ||||||
|             if (i != 0) { |  | ||||||
|                 flag_string.append(','); |  | ||||||
|             } |  | ||||||
|             flag_string.append(flag.getKey().getName()).append(':').append( |  | ||||||
|                 flag.getKey().valueToString(flag.getValue()).replaceAll(":", "\u00AF") |  | ||||||
|                     .replaceAll(",", "´")); |  | ||||||
|             i++; |  | ||||||
|         } |  | ||||||
|         addClusterTask(cluster, new UniqueStatement("setFlags") { |  | ||||||
|             @Override public void set(PreparedStatement stmt) throws SQLException { |  | ||||||
|                 stmt.setString(1, flag_string.toString()); |  | ||||||
|                 stmt.setInt(2, getClusterId(cluster)); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             @Override public PreparedStatement get() throws SQLException { |  | ||||||
|                 return SQLManager.this.connection.prepareStatement( |  | ||||||
|                     "UPDATE `" + SQLManager.this.prefix |  | ||||||
|                         + "cluster_settings` SET `flags` = ? WHERE `cluster_id` = ?"); |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @Override public void setClusterName(final PlotCluster cluster, final String name) { |     @Override public void setClusterName(final PlotCluster cluster, final String name) { | ||||||
|         addClusterTask(cluster, new UniqueStatement("setClusterName") { |         addClusterTask(cluster, new UniqueStatement("setClusterName") { | ||||||
|             @Override public void set(PreparedStatement stmt) throws SQLException { |             @Override public void set(PreparedStatement stmt) throws SQLException { | ||||||
|   | |||||||
| @@ -141,13 +141,6 @@ public class FlagManager { | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static <V> boolean addClusterFlag(PlotCluster cluster, Flag<V> flag, V value) { |  | ||||||
|         getSettingFlag(cluster.area, cluster.settings, flag); |  | ||||||
|         cluster.settings.flags.put(flag, value); |  | ||||||
|         DBFunc.setFlags(cluster, cluster.settings.flags); |  | ||||||
|         return true; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Returns a map of the {@link Flag}s and their values for the specified plot. |      * Returns a map of the {@link Flag}s and their values for the specified plot. | ||||||
|      * |      * | ||||||
| @@ -217,20 +210,6 @@ public class FlagManager { | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static boolean removeClusterFlag(PlotCluster cluster, Flag id) { |  | ||||||
|         Object object = cluster.settings.flags.remove(id); |  | ||||||
|         if (object == null) { |  | ||||||
|             return false; |  | ||||||
|         } |  | ||||||
|         boolean result = EventUtil.manager.callFlagRemove(id, object, cluster); |  | ||||||
|         if (!result) { |  | ||||||
|             cluster.settings.flags.put(id, object); |  | ||||||
|             return false; |  | ||||||
|         } |  | ||||||
|         DBFunc.setFlags(cluster, cluster.settings.flags); |  | ||||||
|         return true; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public static void setPlotFlags(Plot origin, HashMap<Flag<?>, Object> flags) { |     public static void setPlotFlags(Plot origin, HashMap<Flag<?>, Object> flags) { | ||||||
|         for (Plot plot : origin.getConnectedPlots()) { |         for (Plot plot : origin.getConnectedPlots()) { | ||||||
|             if (flags != null && !flags.isEmpty()) { |             if (flags != null && !flags.isEmpty()) { | ||||||
| @@ -248,20 +227,6 @@ public class FlagManager { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void setClusterFlags(PlotCluster cluster, Set<Flag> flags) { |  | ||||||
|         if (flags != null && !flags.isEmpty()) { |  | ||||||
|             cluster.settings.flags.clear(); |  | ||||||
|             for (Flag flag : flags) { |  | ||||||
|                 cluster.settings.flags.put(flag, flag); |  | ||||||
|             } |  | ||||||
|         } else if (cluster.settings.flags.isEmpty()) { |  | ||||||
|             return; |  | ||||||
|         } else { |  | ||||||
|             cluster.settings.flags.clear(); |  | ||||||
|         } |  | ||||||
|         DBFunc.setFlags(cluster, cluster.settings.flags); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Get a list of registered {@link Flag} objects based on player permissions. |      * Get a list of registered {@link Flag} objects based on player permissions. | ||||||
|      * |      * | ||||||
|   | |||||||
| @@ -43,8 +43,6 @@ public abstract class EventUtil { | |||||||
|  |  | ||||||
|     public abstract boolean callFlagRemove(Flag<?> flag, Plot plot, Object value); |     public abstract boolean callFlagRemove(Flag<?> flag, Plot plot, Object value); | ||||||
|  |  | ||||||
|     public abstract boolean callFlagRemove(Flag<?> flag, Object value, PlotCluster cluster); |  | ||||||
|  |  | ||||||
|     public abstract boolean callMerge(Plot plot, int dir, int max); |     public abstract boolean callMerge(Plot plot, int dir, int max); | ||||||
|  |  | ||||||
|     public abstract boolean callAutoMerge(Plot plot, List<PlotId> plots); |     public abstract boolean callAutoMerge(Plot plot, List<PlotId> plots); | ||||||
|   | |||||||
| @@ -84,9 +84,6 @@ public class AbstractDBTest implements AbstractDB { | |||||||
|     @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 setClusterName(PlotCluster cluster, String name) { |     @Override public void setClusterName(PlotCluster cluster, String name) { | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -40,10 +40,6 @@ public class EventUtilTest extends EventUtil { | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override public boolean callFlagRemove(Flag<?> flag, Object value, PlotCluster cluster) { |  | ||||||
|         return true; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @Override public boolean callMerge(Plot plot, int dir, int max) { |     @Override public boolean callMerge(Plot plot, int dir, int max) { | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 matt
					matt