mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-31 09:33:43 +01:00 
			
		
		
		
	Hanging and vehicle destroy
This commit is contained in:
		| @@ -1352,9 +1352,6 @@ public class PlotMain extends JavaPlugin implements Listener { | |||||||
|             plotCommand.setAliases(Arrays.asList("p", "ps", "plotme", "plot")); |             plotCommand.setAliases(Arrays.asList("p", "ps", "plotme", "plot")); | ||||||
|             plotCommand.setTabCompleter(command); |             plotCommand.setTabCompleter(command); | ||||||
|         } |         } | ||||||
| //        if (Settings.MOB_CAP_ENABLED) { |  | ||||||
| //            getServer().getPluginManager().registerEvents(new EntityListener(), this); |  | ||||||
| //        } |  | ||||||
|  |  | ||||||
|         // Main event handler |         // Main event handler | ||||||
|         getServer().getPluginManager().registerEvents(new PlayerEvents(), this); |         getServer().getPluginManager().registerEvents(new PlayerEvents(), this); | ||||||
| @@ -1367,7 +1364,7 @@ public class PlotMain extends JavaPlugin implements Listener { | |||||||
|         // Flag+ listener |         // Flag+ listener | ||||||
|         getServer().getPluginManager().registerEvents(new PlotPlusListener(), this); |         getServer().getPluginManager().registerEvents(new PlotPlusListener(), this); | ||||||
|         // Forcefield listener |         // Forcefield listener | ||||||
|         getServer().getPluginManager().registerEvents(new ForceFieldListener(this), this); |         getServer().getPluginManager().registerEvents(new ForceFieldListener(), this); | ||||||
|         // Default flags |         // Default flags | ||||||
|  |  | ||||||
|         if (getServer().getPluginManager().getPlugin("BarAPI") != null) { |         if (getServer().getPluginManager().getPlugin("BarAPI") != null) { | ||||||
|   | |||||||
| @@ -64,7 +64,7 @@ public class SetOwner extends SubCommand { | |||||||
|             return false; |             return false; | ||||||
|         } |         } | ||||||
|          |          | ||||||
|         if (!plot.owner.equals(UUIDHandler.getUUID(plr))) { |         if (!plot.owner.equals(UUIDHandler.getUUID(plr)) && !PlotMain.hasPermission(plr, "plots.admin.command.setowner")) { | ||||||
|             PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.admin.command.setowner"); |             PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.admin.command.setowner"); | ||||||
|             return false; |             return false; | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -42,10 +42,6 @@ import com.intellectualcrafters.plot.util.PlayerFunctions; | |||||||
|  */ |  */ | ||||||
| public class ForceFieldListener implements Listener { | public class ForceFieldListener implements Listener { | ||||||
|  |  | ||||||
|     public ForceFieldListener(final JavaPlugin plugin) { |  | ||||||
|         plugin.getServer().getPluginManager().registerEvents(this, plugin); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     private Set<Player> getNearbyPlayers(final Player player, final Plot plot) { |     private Set<Player> getNearbyPlayers(final Player player, final Plot plot) { | ||||||
|         final Set<Player> players = new HashSet<>(); |         final Set<Player> players = new HashSet<>(); | ||||||
|         Player oPlayer; |         Player oPlayer; | ||||||
|   | |||||||
| @@ -75,6 +75,7 @@ import org.bukkit.event.player.PlayerJoinEvent; | |||||||
| import org.bukkit.event.player.PlayerMoveEvent; | import org.bukkit.event.player.PlayerMoveEvent; | ||||||
| import org.bukkit.event.player.PlayerQuitEvent; | import org.bukkit.event.player.PlayerQuitEvent; | ||||||
| import org.bukkit.event.player.PlayerTeleportEvent; | import org.bukkit.event.player.PlayerTeleportEvent; | ||||||
|  | import org.bukkit.event.vehicle.VehicleDestroyEvent; | ||||||
| import org.bukkit.event.world.ChunkLoadEvent; | import org.bukkit.event.world.ChunkLoadEvent; | ||||||
| import org.bukkit.event.world.StructureGrowEvent; | import org.bukkit.event.world.StructureGrowEvent; | ||||||
| import org.bukkit.event.world.WorldLoadEvent; | import org.bukkit.event.world.WorldLoadEvent; | ||||||
| @@ -191,6 +192,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                 	if (!plot.equals(getCurrentPlot(f))) { |                 	if (!plot.equals(getCurrentPlot(f))) { | ||||||
|                 		if (plot.deny_entry(player)) { |                 		if (plot.deny_entry(player)) { | ||||||
|     	                	if (!PlotMain.hasPermission(player, "plots.admin.entry.denied")) { |     	                	if (!PlotMain.hasPermission(player, "plots.admin.entry.denied")) { | ||||||
|  |     	                	    PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.entry.denied"); | ||||||
|     	                		event.setCancelled(true); |     	                		event.setCancelled(true); | ||||||
|     	                        return; |     	                        return; | ||||||
|     	                	} |     	                	} | ||||||
| @@ -243,6 +245,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|         if (!isPlotWorld(world)) { |         if (!isPlotWorld(world)) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |         Player player = event.getPlayer(); | ||||||
|         if (isInPlot(event.getBlock().getLocation())) { |         if (isInPlot(event.getBlock().getLocation())) { | ||||||
|             if (event.getBlock().getY() == 0) { |             if (event.getBlock().getY() == 0) { | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
| @@ -250,7 +253,8 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             } |             } | ||||||
|             final Plot plot = getCurrentPlot(event.getBlock().getLocation()); |             final Plot plot = getCurrentPlot(event.getBlock().getLocation()); | ||||||
|             if (!plot.hasOwner()) { |             if (!plot.hasOwner()) { | ||||||
|                 if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.unowned")) { |                 if (PlotMain.hasPermission(player, "plots.admin.destroy.unowned")) { | ||||||
|  |                     PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.unowned"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
| @@ -262,6 +266,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.other")) { |                 if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.other")) { | ||||||
|  |                     PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.other"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
| @@ -269,6 +274,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.road")) { |         if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.road")) { | ||||||
|  |             PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.road"); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         event.setCancelled(true); |         event.setCancelled(true); | ||||||
| @@ -312,16 +318,19 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             final Player p = (Player) e; |             final Player p = (Player) e; | ||||||
|             if (!isInPlot(b.getLocation())) { |             if (!isInPlot(b.getLocation())) { | ||||||
|                 if (!PlotMain.hasPermission(p, "plots.admin.build.road")) { |                 if (!PlotMain.hasPermission(p, "plots.admin.build.road")) { | ||||||
|  |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.road"); | ||||||
|                     event.setCancelled(true); |                     event.setCancelled(true); | ||||||
|                 } |                 } | ||||||
|             } else { |             } else { | ||||||
|                 final Plot plot = getCurrentPlot(b.getLocation()); |                 final Plot plot = getCurrentPlot(b.getLocation()); | ||||||
|                 if (plot == null || !plot.hasOwner()) { |                 if (plot == null || !plot.hasOwner()) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.build.unowned")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.build.unowned")) { | ||||||
|  |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.unowned"); | ||||||
|                         event.setCancelled(true); |                         event.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } else if (!plot.hasRights(p)) { |                 } else if (!plot.hasRights(p)) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.build.other")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.build.other")) { | ||||||
|  |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.other"); | ||||||
|                         event.setCancelled(true); |                         event.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| @@ -496,6 +505,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             final Plot plot = getCurrentPlot(event.getClickedBlock().getLocation()); |             final Plot plot = getCurrentPlot(event.getClickedBlock().getLocation()); | ||||||
|             if (!plot.hasOwner()) { |             if (!plot.hasOwner()) { | ||||||
|                 if (PlotMain.hasPermission(player, "plots.admin.interact.unowned")) { |                 if (PlotMain.hasPermission(player, "plots.admin.interact.unowned")) { | ||||||
|  |                     PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.unowned"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| @@ -503,8 +513,9 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) block.getTypeId(), block.getData()))) { |             if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) block.getTypeId(), block.getData()))) { | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (!plot.hasRights(event.getPlayer())) { |             if (!plot.hasRights(player)) { | ||||||
|                 if (PlotMain.hasPermission(player, "plots.admin.interact.other")) { |                 if (PlotMain.hasPermission(player, "plots.admin.interact.other")) { | ||||||
|  |                     PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.other"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
| @@ -512,6 +523,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if (PlotMain.hasPermission(player, "plots.admin.interact.road")) { |         if (PlotMain.hasPermission(player, "plots.admin.interact.road")) { | ||||||
|  |             PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.road"); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         event.setCancelled(true); |         event.setCancelled(true); | ||||||
| @@ -567,16 +579,19 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                 final Player p = e.getPlayer(); |                 final Player p = e.getPlayer(); | ||||||
|                 if (!isInPlot(b.getLocation())) { |                 if (!isInPlot(b.getLocation())) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.build.road")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.build.road")) { | ||||||
|  |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.road"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } else { |                 } else { | ||||||
|                     final Plot plot = getCurrentPlot(b.getLocation()); |                     final Plot plot = getCurrentPlot(b.getLocation()); | ||||||
|                     if (plot == null || !plot.hasOwner()) { |                     if (plot == null || !plot.hasOwner()) { | ||||||
|                         if (!PlotMain.hasPermission(p, "plots.admin.build.unowned")) { |                         if (!PlotMain.hasPermission(p, "plots.admin.build.unowned")) { | ||||||
|  |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.unowned"); | ||||||
|                             e.setCancelled(true); |                             e.setCancelled(true); | ||||||
|                         } |                         } | ||||||
|                     } else if (!plot.hasRights(p)) { |                     } else if (!plot.hasRights(p)) { | ||||||
|                         if (!PlotMain.hasPermission(p, "plots.admin.build.other")) { |                         if (!PlotMain.hasPermission(p, "plots.admin.build.other")) { | ||||||
|  |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.other"); | ||||||
|                             e.setCancelled(true); |                             e.setCancelled(true); | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
| @@ -621,29 +636,30 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|         final BlockFace bf = e.getBlockFace(); |         final BlockFace bf = e.getBlockFace(); | ||||||
|         final Block b = e.getBlockClicked().getLocation().add(bf.getModX(), bf.getModY(), bf.getModZ()).getBlock(); |         final Block b = e.getBlockClicked().getLocation().add(bf.getModX(), bf.getModY(), bf.getModZ()).getBlock(); | ||||||
|         if (isPlotWorld(b.getLocation())) { |         if (isPlotWorld(b.getLocation())) { | ||||||
|  |             Player p = e.getPlayer(); | ||||||
|             if (!isInPlot(b.getLocation())) { |             if (!isInPlot(b.getLocation())) { | ||||||
|                 if (PlotMain.hasPermission(e.getPlayer(), "plots.admin.build.road")) { |                 if (PlotMain.hasPermission(p, "plots.admin.build.road")) { | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PLOT_PERMS); |                 PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.road"); | ||||||
|                 e.setCancelled(true); |                 e.setCancelled(true); | ||||||
|             } else { |             } else { | ||||||
|                 final Plot plot = getCurrentPlot(b.getLocation()); |                 final Plot plot = getCurrentPlot(b.getLocation()); | ||||||
|                 if (plot == null || !plot.hasOwner()) { |                 if (plot == null || !plot.hasOwner()) { | ||||||
|                     if (PlotMain.hasPermission(e.getPlayer(), "plots.admin.build.unowned")) { |                     if (PlotMain.hasPermission(p, "plots.admin.build.unowned")) { | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.unowned"); | ||||||
|                     e.setCancelled(true); |                     e.setCancelled(true); | ||||||
|                 } else if (!plot.hasRights(e.getPlayer())) { |                 } else if (!plot.hasRights(e.getPlayer())) { | ||||||
|                     Flag use = FlagManager.getPlotFlag(plot, "use"); |                     Flag use = FlagManager.getPlotFlag(plot, "use"); | ||||||
|                     if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) e.getBucket().getId(), (byte) 0))) { |                     if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) e.getBucket().getId(), (byte) 0))) { | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     if (PlotMain.hasPermission(e.getPlayer(), "plots.admin.build.other")) { |                     if (PlotMain.hasPermission(p, "plots.admin.build.other")) { | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.other"); | ||||||
|                     e.setCancelled(true); |                     e.setCancelled(true); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| @@ -680,19 +696,20 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|     public static void onBucketFill(final PlayerBucketFillEvent e) { |     public static void onBucketFill(final PlayerBucketFillEvent e) { | ||||||
|         final Block b = e.getBlockClicked(); |         final Block b = e.getBlockClicked(); | ||||||
|         if (isPlotWorld(b.getLocation())) { |         if (isPlotWorld(b.getLocation())) { | ||||||
|  |             Player p = e.getPlayer(); | ||||||
|             if (!isInPlot(b.getLocation())) { |             if (!isInPlot(b.getLocation())) { | ||||||
|                 if (PlotMain.hasPermission(e.getPlayer(), "plots.admin.build.road")) { |                 if (PlotMain.hasPermission(p, "plots.admin.build.road")) { | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PLOT_PERMS); |                 PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.road"); | ||||||
|                 e.setCancelled(true); |                 e.setCancelled(true); | ||||||
|             } else { |             } else { | ||||||
|                 final Plot plot = getCurrentPlot(b.getLocation()); |                 final Plot plot = getCurrentPlot(b.getLocation()); | ||||||
|                 if (plot == null || !plot.hasOwner()) { |                 if (plot == null || !plot.hasOwner()) { | ||||||
|                     if (PlotMain.hasPermission(e.getPlayer(), "plots.admin.build.unowned")) { |                     if (PlotMain.hasPermission(p, "plots.admin.build.unowned")) { | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.unowned"); | ||||||
|                     e.setCancelled(true); |                     e.setCancelled(true); | ||||||
|                 } else if (!plot.hasRights(e.getPlayer())) { |                 } else if (!plot.hasRights(e.getPlayer())) { | ||||||
|                     Flag use = FlagManager.getPlotFlag(plot, "use"); |                     Flag use = FlagManager.getPlotFlag(plot, "use"); | ||||||
| @@ -700,10 +717,10 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                     if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) block.getTypeId(), block.getData()))) { |                     if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) block.getTypeId(), block.getData()))) { | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     if (PlotMain.hasPermission(e.getPlayer(), "plots.admin.build.other")) { |                     if (PlotMain.hasPermission(p, "plots.admin.build.other")) { | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.other"); | ||||||
|                     e.setCancelled(true); |                     e.setCancelled(true); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| @@ -717,14 +734,14 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             final Player p = e.getPlayer(); |             final Player p = e.getPlayer(); | ||||||
|             if (!isInPlot(b.getLocation())) { |             if (!isInPlot(b.getLocation())) { | ||||||
|                 if (!PlotMain.hasPermission(p, "plots.admin.build.road")) { |                 if (!PlotMain.hasPermission(p, "plots.admin.build.road")) { | ||||||
|                     PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.road"); | ||||||
|                     e.setCancelled(true); |                     e.setCancelled(true); | ||||||
|                 } |                 } | ||||||
|             } else { |             } else { | ||||||
|                 final Plot plot = getCurrentPlot(b.getLocation()); |                 final Plot plot = getCurrentPlot(b.getLocation()); | ||||||
|                 if (plot == null || !plot.hasOwner()) { |                 if (plot == null || !plot.hasOwner()) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.build.unowned")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.build.unowned")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.unowned"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } else if (!plot.hasRights(p)) { |                 } else if (!plot.hasRights(p)) { | ||||||
| @@ -732,7 +749,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.build.other")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.build.other")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.build.other"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| @@ -749,14 +766,14 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             if (isPlotWorld(l)) { |             if (isPlotWorld(l)) { | ||||||
|                 if (!isInPlot(l)) { |                 if (!isInPlot(l)) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.destroy.road")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.destroy.road")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.road"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } else { |                 } else { | ||||||
|                     final Plot plot = getCurrentPlot(l); |                     final Plot plot = getCurrentPlot(l); | ||||||
|                     if (plot == null || !plot.hasOwner()) { |                     if (plot == null || !plot.hasOwner()) { | ||||||
|                         if (!PlotMain.hasPermission(p, "plots.admin.destroy.unowned")) { |                         if (!PlotMain.hasPermission(p, "plots.admin.destroy.unowned")) { | ||||||
|                             PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.unowned"); | ||||||
|                             e.setCancelled(true); |                             e.setCancelled(true); | ||||||
|                         } |                         } | ||||||
|                     } else if (!plot.hasRights(p)) { |                     } else if (!plot.hasRights(p)) { | ||||||
| @@ -764,7 +781,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                             return; |                             return; | ||||||
|                         } |                         } | ||||||
|                         if (!PlotMain.hasPermission(p, "plots.admin.destroy.other")) { |                         if (!PlotMain.hasPermission(p, "plots.admin.destroy.other")) { | ||||||
|                             PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.other"); | ||||||
|                             e.setCancelled(true); |                             e.setCancelled(true); | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
| @@ -780,14 +797,14 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             final Player p = e.getPlayer(); |             final Player p = e.getPlayer(); | ||||||
|             if (!isInPlot(l)) { |             if (!isInPlot(l)) { | ||||||
|                 if (!PlotMain.hasPermission(p, "plots.admin.interact.road")) { |                 if (!PlotMain.hasPermission(p, "plots.admin.interact.road")) { | ||||||
|                     PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.interact.road"); | ||||||
|                     e.setCancelled(true); |                     e.setCancelled(true); | ||||||
|                 } |                 } | ||||||
|             } else { |             } else { | ||||||
|                 final Plot plot = getCurrentPlot(l); |                 final Plot plot = getCurrentPlot(l); | ||||||
|                 if (plot == null || !plot.hasOwner()) { |                 if (plot == null || !plot.hasOwner()) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.interact.unowned")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.interact.unowned")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.interact.unowned"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } else if (!plot.hasRights(p)) { |                 } else if (!plot.hasRights(p)) { | ||||||
| @@ -805,7 +822,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.interact.other")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.interact.other")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.interact.other"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| @@ -813,6 +830,81 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) | ||||||
|  |     public static void onVehicleDestroy (VehicleDestroyEvent e) { | ||||||
|  |         final Location l = e.getVehicle().getLocation(); | ||||||
|  |         if (isPlotWorld(l)) { | ||||||
|  |             Entity d = e.getAttacker(); | ||||||
|  |             if (d instanceof Player) { | ||||||
|  |                 final Player p = (Player) d; | ||||||
|  |                 final PlotWorld pW = getPlotWorld(l.getWorld()); | ||||||
|  |                 if (!isInPlot(l)) { | ||||||
|  |                     if (!PlotMain.hasPermission(p, "plots.admin.vehicle.break.road")) { | ||||||
|  |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.vehicle.break.road"); | ||||||
|  |                         e.setCancelled(true); | ||||||
|  |                     } | ||||||
|  |                 } else { | ||||||
|  |                     final Plot plot = getCurrentPlot(l); | ||||||
|  |                     if (plot == null || !plot.hasOwner()) { | ||||||
|  |                         if (!PlotMain.hasPermission(p, "plots.admin.vehicle.break.unowned")) { | ||||||
|  |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.vehicle.break.unowned"); | ||||||
|  |                             e.setCancelled(true); | ||||||
|  |                             return; | ||||||
|  |                         } | ||||||
|  |                         return; | ||||||
|  |                     }  | ||||||
|  |                     if (!plot.hasRights(p)) { | ||||||
|  |                         if (FlagManager.isPlotFlagTrue(plot, "vehicle-break")) { | ||||||
|  |                             return; | ||||||
|  |                         } | ||||||
|  |                         if (!PlotMain.hasPermission(p, "plots.admin.vehicle.break.other")) { | ||||||
|  |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.vehicle.break.other"); | ||||||
|  |                             e.setCancelled(true); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     @EventHandler | ||||||
|  |     public void ArmorStandDestroy(EntityDamageByEntityEvent e){ | ||||||
|  |         final Location l = e.getEntity().getLocation(); | ||||||
|  |         if (isPlotWorld(l)) { | ||||||
|  |             Entity d = e.getDamager(); | ||||||
|  |             if (d instanceof Player) { | ||||||
|  |                 final Player p = (Player) d; | ||||||
|  |                 final PlotWorld pW = getPlotWorld(l.getWorld()); | ||||||
|  |                 if (!isInPlot(l)) { | ||||||
|  |                     if (!PlotMain.hasPermission(p, "plots.admin.destroy.road")) { | ||||||
|  |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.road"); | ||||||
|  |                         e.setCancelled(true); | ||||||
|  |                     } | ||||||
|  |                 } else { | ||||||
|  |                     final Plot plot = getCurrentPlot(l); | ||||||
|  |                     if (plot == null || !plot.hasOwner()) { | ||||||
|  |                         if (!PlotMain.hasPermission(p, "plots.admin.destroy.unowned")) { | ||||||
|  |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.unowned"); | ||||||
|  |                             e.setCancelled(true); | ||||||
|  |                             return; | ||||||
|  |                         } | ||||||
|  |                         return; | ||||||
|  |                     }  | ||||||
|  |                     if (!plot.hasRights(p)) { | ||||||
|  |                         if (FlagManager.isPlotFlagTrue(plot, "hanging-break")) { | ||||||
|  |                             return; | ||||||
|  |                         } | ||||||
|  |                         if (!PlotMain.hasPermission(p, "plots.admin.destroy.other")) { | ||||||
|  |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.other"); | ||||||
|  |                             e.setCancelled(true); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |      | ||||||
|     @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) |     @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) | ||||||
|     public static void onEntityDamageByEntityEvent(final EntityDamageByEntityEvent e) { |     public static void onEntityDamageByEntityEvent(final EntityDamageByEntityEvent e) { | ||||||
|         final Location l = e.getEntity().getLocation(); |         final Location l = e.getEntity().getLocation(); | ||||||
| @@ -830,14 +922,14 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                 } |                 } | ||||||
|                 if (!isInPlot(l)) { |                 if (!isInPlot(l)) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.pve.road")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.pve.road")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.pve.road"); | ||||||
|                         e.setCancelled(true); |                         e.setCancelled(true); | ||||||
|                     } |                     } | ||||||
|                 } else { |                 } else { | ||||||
|                     final Plot plot = getCurrentPlot(l); |                     final Plot plot = getCurrentPlot(l); | ||||||
|                     if (plot == null || !plot.hasOwner()) { |                     if (plot == null || !plot.hasOwner()) { | ||||||
|                         if (!PlotMain.hasPermission(p, "plots.admin.pve.unowned")) { |                         if (!PlotMain.hasPermission(p, "plots.admin.pve.unowned")) { | ||||||
|                             PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.pve.unowned"); | ||||||
|                             e.setCancelled(true); |                             e.setCancelled(true); | ||||||
|                             return; |                             return; | ||||||
|                         } |                         } | ||||||
| @@ -849,9 +941,6 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                     } |                     } | ||||||
|                     assert plot != null; |                     assert plot != null; | ||||||
|                     if (!plot.hasRights(p)) { |                     if (!plot.hasRights(p)) { | ||||||
|                         if (a instanceof RideableMinecart && FlagManager.isPlotFlagTrue(plot, "vehicle-break")) { |  | ||||||
|                             return; |  | ||||||
|                         } |  | ||||||
|                         if (a instanceof Monster && FlagManager.isPlotFlagTrue(plot, "hostile-attack")) { |                         if (a instanceof Monster && FlagManager.isPlotFlagTrue(plot, "hostile-attack")) { | ||||||
|                             return; |                             return; | ||||||
|                         } |                         } | ||||||
| @@ -862,7 +951,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                             return; |                             return; | ||||||
|                         } |                         } | ||||||
|                         if (!PlotMain.hasPermission(p, "plots.admin.pve.other")) { |                         if (!PlotMain.hasPermission(p, "plots.admin.pve.other")) { | ||||||
|                             PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                             PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.pve.other"); | ||||||
|                             e.setCancelled(true); |                             e.setCancelled(true); | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
| @@ -878,19 +967,19 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|             final Player p = e.getPlayer(); |             final Player p = e.getPlayer(); | ||||||
|             if (!isInPlot(l)) { |             if (!isInPlot(l)) { | ||||||
|                 if (!PlotMain.hasPermission(p, "plots.admin.projectile.road")) { |                 if (!PlotMain.hasPermission(p, "plots.admin.projectile.road")) { | ||||||
|                     PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                     PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.projectile.road"); | ||||||
|                     e.setHatching(false); |                     e.setHatching(false); | ||||||
|                 } |                 } | ||||||
|             } else { |             } else { | ||||||
|                 final Plot plot = getCurrentPlot(l); |                 final Plot plot = getCurrentPlot(l); | ||||||
|                 if (plot == null || !plot.hasOwner()) { |                 if (plot == null || !plot.hasOwner()) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.projectile.unowned")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.projectile.unowned")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.projectile.unowned"); | ||||||
|                         e.setHatching(false); |                         e.setHatching(false); | ||||||
|                     } |                     } | ||||||
|                 } else if (!plot.hasRights(p)) { |                 } else if (!plot.hasRights(p)) { | ||||||
|                     if (!PlotMain.hasPermission(p, "plots.admin.projectile.other")) { |                     if (!PlotMain.hasPermission(p, "plots.admin.projectile.other")) { | ||||||
|                         PlayerFunctions.sendMessage(p, C.NO_PLOT_PERMS); |                         PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.projectile.other"); | ||||||
|                         e.setHatching(false); |                         e.setHatching(false); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| @@ -911,6 +1000,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|         if (isInPlot(event.getBlock().getLocation())) { |         if (isInPlot(event.getBlock().getLocation())) { | ||||||
|             final Plot plot = getCurrentPlot(event.getBlockPlaced().getLocation()); |             final Plot plot = getCurrentPlot(event.getBlockPlaced().getLocation()); | ||||||
|             if (!plot.hasOwner() && PlotMain.hasPermission(player, "plots.admin.build.unowned")) { |             if (!plot.hasOwner() && PlotMain.hasPermission(player, "plots.admin.build.unowned")) { | ||||||
|  |                 PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.build.unowned"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (!plot.hasRights(player)) { |             if (!plot.hasRights(player)) { | ||||||
| @@ -920,12 +1010,14 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi | |||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 if (!PlotMain.hasPermission(player, "plots.admin.build.other")) { |                 if (!PlotMain.hasPermission(player, "plots.admin.build.other")) { | ||||||
|  |                     PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.build.other"); | ||||||
|                     event.setCancelled(true); |                     event.setCancelled(true); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if (!PlotMain.hasPermission(player, "plots.admin.build.road")) { |         if (!PlotMain.hasPermission(player, "plots.admin.build.road")) { | ||||||
|  |             PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.build.road"); | ||||||
|             event.setCancelled(true); |             event.setCancelled(true); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -63,7 +63,6 @@ public class WorldGuardListener implements Listener { | |||||||
|     public final ArrayList<Flag<?>> flags; |     public final ArrayList<Flag<?>> flags; | ||||||
|  |  | ||||||
|     public WorldGuardListener(final PlotMain plugin) { |     public WorldGuardListener(final PlotMain plugin) { | ||||||
|         plugin.getServer().getPluginManager().registerEvents(this, plugin); |  | ||||||
|         this.str_flags = new ArrayList<>(); |         this.str_flags = new ArrayList<>(); | ||||||
|         this.flags = new ArrayList<>(); |         this.flags = new ArrayList<>(); | ||||||
|         for (final Flag<?> flag : DefaultFlag.getFlags()) { |         for (final Flag<?> flag : DefaultFlag.getFlags()) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 boy0001
					boy0001