mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-22 06:03:45 +02:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			fix/genera
			...
			fix/v7/unn
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 75b2665f7d | ||
|   | cb9a8a6cfb | 
| @@ -600,7 +600,7 @@ public class PlayerEventListener implements Listener { | |||||||
|                 PlotArea area = location.getPlotArea(); |                 PlotArea area = location.getPlotArea(); | ||||||
|                 if (area == null) { |                 if (area == null) { | ||||||
|                     if (lastPlot != null) { |                     if (lastPlot != null) { | ||||||
|                         plotListener.plotExit(pp, lastPlot); |                         plotListener.plotExit(pp, lastPlot, null, null); | ||||||
|                         lastPlotAccess.remove(); |                         lastPlotAccess.remove(); | ||||||
|                     } |                     } | ||||||
|                     try (final MetaDataAccess<Location> lastLocationAccess = |                     try (final MetaDataAccess<Location> lastLocationAccess = | ||||||
| @@ -753,7 +753,7 @@ public class PlayerEventListener implements Listener { | |||||||
|             if (now == null) { |             if (now == null) { | ||||||
|                 try (final MetaDataAccess<Boolean> kickAccess = |                 try (final MetaDataAccess<Boolean> kickAccess = | ||||||
|                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { |                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { | ||||||
|                     if (lastPlot != null && !plotListener.plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse( |                     if (lastPlot != null && !plotListener.plotExit(pp, lastPlot, now, area) && this.tmpTeleport && !kickAccess.get().orElse( | ||||||
|                             false)) { |                             false)) { | ||||||
|                         pp.sendMessage( |                         pp.sendMessage( | ||||||
|                                 TranslatableCaption.of("permission.no_permission_event"), |                                 TranslatableCaption.of("permission.no_permission_event"), | ||||||
| @@ -847,7 +847,7 @@ public class PlayerEventListener implements Listener { | |||||||
|             if (plot == null) { |             if (plot == null) { | ||||||
|                 try (final MetaDataAccess<Boolean> kickAccess = |                 try (final MetaDataAccess<Boolean> kickAccess = | ||||||
|                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { |                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { | ||||||
|                     if (lastPlot != null && !plotListener.plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse( |                     if (lastPlot != null && !plotListener.plotExit(pp, lastPlot, null, area) && this.tmpTeleport && !kickAccess.get().orElse( | ||||||
|                             false)) { |                             false)) { | ||||||
|                         pp.sendMessage( |                         pp.sendMessage( | ||||||
|                                 TranslatableCaption.of("permission.no_permission_event"), |                                 TranslatableCaption.of("permission.no_permission_event"), | ||||||
|   | |||||||
| @@ -164,7 +164,7 @@ public class PlotListener { | |||||||
|         try (final MetaDataAccess<Plot> lastPlot = player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) { |         try (final MetaDataAccess<Plot> lastPlot = player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) { | ||||||
|             Plot last = lastPlot.get().orElse(null); |             Plot last = lastPlot.get().orElse(null); | ||||||
|             if ((last != null) && !last.getId().equals(plot.getId())) { |             if ((last != null) && !last.getId().equals(plot.getId())) { | ||||||
|                 plotExit(player, last); |                 plotExit(player, last, plot, plot.getArea()); | ||||||
|             } |             } | ||||||
|             if (PlotSquared.platform().expireManager() != null) { |             if (PlotSquared.platform().expireManager() != null) { | ||||||
|                 PlotSquared.platform().expireManager().handleEntry(player, plot); |                 PlotSquared.platform().expireManager().handleEntry(player, plot); | ||||||
| @@ -365,7 +365,12 @@ public class PlotListener { | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public boolean plotExit(final PlotPlayer<?> player, Plot plot) { |     public boolean plotExit( | ||||||
|  |             final PlotPlayer<?> player, | ||||||
|  |             @NonNull Plot plot, | ||||||
|  |             @Nullable Plot nextPlot, | ||||||
|  |             @Nullable PlotArea nextArea | ||||||
|  |     ) { | ||||||
|         try (final MetaDataAccess<Plot> lastPlot = player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) { |         try (final MetaDataAccess<Plot> lastPlot = player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) { | ||||||
|             final Plot previous = lastPlot.remove(); |             final Plot previous = lastPlot.remove(); | ||||||
|  |  | ||||||
| @@ -382,8 +387,10 @@ public class PlotListener { | |||||||
|             if (plot.hasOwner()) { |             if (plot.hasOwner()) { | ||||||
|                 PlotArea pw = plot.getArea(); |                 PlotArea pw = plot.getArea(); | ||||||
|                 if (pw == null) { |                 if (pw == null) { | ||||||
|  |                     if (nextPlot == null || nextPlot.getArea() == null) { | ||||||
|                         return true; |                         return true; | ||||||
|                     } |                     } | ||||||
|  |                 } | ||||||
|                 try (final MetaDataAccess<Boolean> kickAccess = |                 try (final MetaDataAccess<Boolean> kickAccess = | ||||||
|                              player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { |                              player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { | ||||||
|                     if (plot.getFlag(DenyExitFlag.class) && !player.hasPermission(Permission.PERMISSION_ADMIN_EXIT_DENIED) && |                     if (plot.getFlag(DenyExitFlag.class) && !player.hasPermission(Permission.PERMISSION_ADMIN_EXIT_DENIED) && | ||||||
| @@ -440,6 +447,17 @@ public class PlotListener { | |||||||
|                             player.setFlight(value.get()); |                             player.setFlight(value.get()); | ||||||
|                             metaDataAccess.remove(); |                             metaDataAccess.remove(); | ||||||
|                         } else { |                         } else { | ||||||
|  |                             FlyFlag.FlyStatus flight = FlyFlag.FlyStatus.DEFAULT; | ||||||
|  |                             if (nextPlot != null) { | ||||||
|  |                                 flight = nextPlot.getFlag(FlyFlag.class); | ||||||
|  |                             } else if (nextArea != null) { | ||||||
|  |                                 if (nextArea.isRoadFlags()) { | ||||||
|  |                                     flight = nextArea.getRoadFlag(FlyFlag.class); | ||||||
|  |                                 } else { | ||||||
|  |                                     flight = nextArea.getFlag(FlyFlag.class); | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                             if (flight != FlyFlag.FlyStatus.ENABLED) { | ||||||
|                                 GameMode gameMode = player.getGameMode(); |                                 GameMode gameMode = player.getGameMode(); | ||||||
|                                 if (gameMode == GameModes.SURVIVAL || gameMode == GameModes.ADVENTURE) { |                                 if (gameMode == GameModes.SURVIVAL || gameMode == GameModes.ADVENTURE) { | ||||||
|                                     player.setFlight(false); |                                     player.setFlight(false); | ||||||
| @@ -449,6 +467,7 @@ public class PlotListener { | |||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|  |                 } | ||||||
|  |  | ||||||
|                 if (plot.getFlag(TimeFlag.class) != TimeFlag.TIME_DISABLED.getValue().longValue()) { |                 if (plot.getFlag(TimeFlag.class) != TimeFlag.TIME_DISABLED.getValue().longValue()) { | ||||||
|                     player.setTime(Long.MAX_VALUE); |                     player.setTime(Long.MAX_VALUE); | ||||||
|   | |||||||
| @@ -1340,7 +1340,7 @@ public class Plot { | |||||||
|         for (Plot current : getConnectedPlots()) { |         for (Plot current : getConnectedPlots()) { | ||||||
|             List<PlotPlayer<?>> players = current.getPlayersInPlot(); |             List<PlotPlayer<?>> players = current.getPlayersInPlot(); | ||||||
|             for (PlotPlayer<?> pp : players) { |             for (PlotPlayer<?> pp : players) { | ||||||
|                 this.plotListener.plotExit(pp, current); |                 this.plotListener.plotExit(pp, current, null, area); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (Settings.Backup.DELETE_ON_UNCLAIM) { |             if (Settings.Backup.DELETE_ON_UNCLAIM) { | ||||||
| @@ -2594,7 +2594,7 @@ public class Plot { | |||||||
|     public void reEnter() { |     public void reEnter() { | ||||||
|         TaskManager.runTaskLater(() -> { |         TaskManager.runTaskLater(() -> { | ||||||
|             for (PlotPlayer<?> pp : Plot.this.getPlayersInPlot()) { |             for (PlotPlayer<?> pp : Plot.this.getPlayersInPlot()) { | ||||||
|                 this.plotListener.plotExit(pp, Plot.this); |                 this.plotListener.plotExit(pp, Plot.this, Plot.this, area); | ||||||
|                 this.plotListener.plotEntry(pp, Plot.this); |                 this.plotListener.plotEntry(pp, Plot.this); | ||||||
|             } |             } | ||||||
|         }, TaskTime.ticks(1L)); |         }, TaskTime.ticks(1L)); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user