mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-03 18:53:43 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			fix/plotMu
			...
			fix/v6/cle
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					557eacc5d7 | 
@@ -220,17 +220,6 @@ public final class PlotModificationManager {
 | 
				
			|||||||
        if (isDelete) {
 | 
					        if (isDelete) {
 | 
				
			||||||
            this.removeSign();
 | 
					            this.removeSign();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        PlotUnlinkEvent event = PlotSquared.get().getEventDispatcher()
 | 
					 | 
				
			||||||
                .callUnlink(
 | 
					 | 
				
			||||||
                        this.plot.getArea(),
 | 
					 | 
				
			||||||
                        this.plot,
 | 
					 | 
				
			||||||
                        true,
 | 
					 | 
				
			||||||
                        !isDelete,
 | 
					 | 
				
			||||||
                        isDelete ? PlotUnlinkEvent.REASON.DELETE : PlotUnlinkEvent.REASON.CLEAR
 | 
					 | 
				
			||||||
                );
 | 
					 | 
				
			||||||
        if (event.getEventResult() != Result.DENY && this.unlinkPlot(event.isCreateRoad(), event.isCreateSign())) {
 | 
					 | 
				
			||||||
            PlotSquared.get().getEventDispatcher().callPostUnlink(plot, event.getReason());
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        final PlotManager manager = this.plot.getArea().getPlotManager();
 | 
					        final PlotManager manager = this.plot.getArea().getPlotManager();
 | 
				
			||||||
        Runnable run = new Runnable() {
 | 
					        Runnable run = new Runnable() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
@@ -281,7 +270,21 @@ public final class PlotModificationManager {
 | 
				
			|||||||
                manager.clearPlot(current, this, actor, null);
 | 
					                manager.clearPlot(current, this, actor, null);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        PlotUnlinkEvent event = PlotSquared.get().getEventDispatcher()
 | 
				
			||||||
 | 
					                .callUnlink(
 | 
				
			||||||
 | 
					                        this.plot.getArea(),
 | 
				
			||||||
 | 
					                        this.plot,
 | 
				
			||||||
 | 
					                        true,
 | 
				
			||||||
 | 
					                        !isDelete,
 | 
				
			||||||
 | 
					                        isDelete ? PlotUnlinkEvent.REASON.DELETE : PlotUnlinkEvent.REASON.CLEAR
 | 
				
			||||||
 | 
					                );
 | 
				
			||||||
 | 
					        if (event.getEventResult() != Result.DENY) {
 | 
				
			||||||
 | 
					            if (this.unlinkPlot(event.isCreateRoad(), event.isCreateSign(), run)) {
 | 
				
			||||||
 | 
					                PlotSquared.get().getEventDispatcher().callPostUnlink(plot, event.getReason());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
            run.run();
 | 
					            run.run();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -321,7 +324,22 @@ public final class PlotModificationManager {
 | 
				
			|||||||
     * @return success/!cancelled
 | 
					     * @return success/!cancelled
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public boolean unlinkPlot(final boolean createRoad, final boolean createSign) {
 | 
					    public boolean unlinkPlot(final boolean createRoad, final boolean createSign) {
 | 
				
			||||||
 | 
					        return unlinkPlot(createRoad, createSign, null);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Unlink the plot and all connected plots.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param createRoad whether to recreate road
 | 
				
			||||||
 | 
					     * @param createSign whether to recreate signs
 | 
				
			||||||
 | 
					     * @param whenDone   Task to run when unlink is complete
 | 
				
			||||||
 | 
					     * @return success/!cancelled
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public boolean unlinkPlot(final boolean createRoad, final boolean createSign, final Runnable whenDone) {
 | 
				
			||||||
        if (!this.plot.isMerged()) {
 | 
					        if (!this.plot.isMerged()) {
 | 
				
			||||||
 | 
					            if (whenDone != null) {
 | 
				
			||||||
 | 
					                whenDone.run();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        final Set<Plot> plots = this.plot.getConnectedPlots();
 | 
					        final Set<Plot> plots = this.plot.getConnectedPlots();
 | 
				
			||||||
@@ -366,14 +384,17 @@ public final class PlotModificationManager {
 | 
				
			|||||||
                    current.getPlotModificationManager().setSign(PlayerManager.resolveName(current.getOwnerAbs()).getComponent(
 | 
					                    current.getPlotModificationManager().setSign(PlayerManager.resolveName(current.getOwnerAbs()).getComponent(
 | 
				
			||||||
                            LocaleHolder.console()));
 | 
					                            LocaleHolder.console()));
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                if (whenDone != null) {
 | 
				
			||||||
 | 
					                    TaskManager.runTask(whenDone);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }));
 | 
					            }));
 | 
				
			||||||
 | 
					        } else if (whenDone != null) {
 | 
				
			||||||
 | 
					            queue.setCompleteTask(whenDone);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (createRoad) {
 | 
					        if (createRoad) {
 | 
				
			||||||
            manager.finishPlotUnlink(ids, queue);
 | 
					            manager.finishPlotUnlink(ids, queue);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (queue != null) {
 | 
					 | 
				
			||||||
        queue.enqueue();
 | 
					        queue.enqueue();
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user