Add the Visualization instance to VisualizationEvent (#945)

This commit is contained in:
Frank van der Heijden 2020-08-07 18:50:07 +02:00 committed by GitHub
parent 2d3c3a3940
commit fb53c1811e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 20 deletions

View File

@ -1962,11 +1962,12 @@ class PlayerEventHandler implements Listener
Bukkit.getPluginManager().callEvent(inspectionEvent);
if (inspectionEvent.isCancelled()) return;
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claims, true));
//visualize boundaries
Visualization visualization = Visualization.fromClaims(claims, player.getEyeLocation().getBlockY(), VisualizationType.Claim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, claims, true));
Visualization.Apply(player, visualization);
instance.sendMessage(player, TextMode.Info, Messages.ShowNearbyClaims, String.valueOf(claims.size()));
@ -1994,7 +1995,7 @@ class PlayerEventHandler implements Listener
instance.sendMessage(player, TextMode.Err, Messages.TooFarAway);
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, Collections.<Claim>emptySet()));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, null, Collections.<Claim>emptySet()));
Visualization.Revert(player);
return;
@ -2014,7 +2015,7 @@ class PlayerEventHandler implements Listener
instance.sendMessage(player, TextMode.Info, Messages.BlockNotClaimed);
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, Collections.<Claim>emptySet()));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, null, Collections.<Claim>emptySet()));
Visualization.Revert(player);
}
@ -2034,7 +2035,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(claim, player.getEyeLocation().getBlockY(), VisualizationType.Claim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, claim));
Visualization.Apply(player, visualization);
@ -2113,7 +2114,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, claim));
Visualization.Apply(player, visualization);
@ -2394,7 +2395,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, result.claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, result.claim));
Visualization.Apply(player, visualization);
@ -2408,7 +2409,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, result.claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, result.claim));
Visualization.Apply(player, visualization);
playerData.lastShovelLocation = null;
@ -2425,7 +2426,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, claim));
Visualization.Apply(player, visualization);
}
@ -2438,7 +2439,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, claim));
Visualization.Apply(player, visualization);
}
@ -2477,7 +2478,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(newClaim, clickedBlock.getY(), VisualizationType.RestoreNature, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, newClaim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, newClaim));
Visualization.Apply(player, visualization);
}
@ -2565,7 +2566,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, result.claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, result.claim));
Visualization.Apply(player, visualization);
}
@ -2584,7 +2585,7 @@ class PlayerEventHandler implements Listener
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, result.claim));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, visualization, result.claim));
Visualization.Apply(player, visualization);
playerData.lastShovelLocation = null;

View File

@ -45,7 +45,7 @@ class VisualizationReversionTask implements Runnable
if (playerData.currentVisualization != visualization) return;
// alert plugins of a visualization
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, Collections.<Claim>emptySet()));
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, null, Collections.<Claim>emptySet()));
Visualization.Revert(player);
}

View File

@ -1,6 +1,7 @@
package me.ryanhamshire.GriefPrevention.events;
import me.ryanhamshire.GriefPrevention.Claim;
import me.ryanhamshire.GriefPrevention.Visualization;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
@ -14,6 +15,7 @@ import java.util.Collections;
public class VisualizationEvent extends PlayerEvent
{
private static final HandlerList handlers = new HandlerList();
private final Visualization visualization;
private final Collection<Claim> claims;
private final boolean showSubdivides;
private final boolean visualizingNearbyClaims;
@ -24,9 +26,10 @@ public class VisualizationEvent extends PlayerEvent
* @param player Player receiving visuals
* @param claim The claim being visualized (with subdivides), or null if visuals being removed
*/
public VisualizationEvent(Player player, Claim claim)
public VisualizationEvent(Player player, Visualization visualization, Claim claim)
{
super(player);
this.visualization = visualization;
this.claims = Collections.singleton(claim);
this.showSubdivides = true;
this.visualizingNearbyClaims = false;
@ -38,9 +41,9 @@ public class VisualizationEvent extends PlayerEvent
* @param player Player receiving visuals
* @param claims Claims being visualized (without subdivides)
*/
public VisualizationEvent(Player player, Collection<Claim> claims)
public VisualizationEvent(Player player, Visualization visualization, Collection<Claim> claims)
{
this(player, claims, false);
this(player, visualization, claims, false);
}
/**
@ -50,16 +53,27 @@ public class VisualizationEvent extends PlayerEvent
* @param claims Claims being visualized (without subdivides)
* @param visualizingNearbyClaims If the event is called on nearby claims (shift inspecting)
*/
public VisualizationEvent(Player player, Collection<Claim> claims, boolean visualizingNearbyClaims)
public VisualizationEvent(Player player, Visualization visualization, Collection<Claim> claims, boolean visualizingNearbyClaims)
{
super(player);
this.visualization = visualization;
this.claims = claims;
this.showSubdivides = false;
this.visualizingNearbyClaims = visualizingNearbyClaims;
}
/**
* Get the claims being visualized, or null if visualization being removed
* Get the visualization, or null if visualization being removed
*
* @return The visualization object
*/
public Visualization getVisualization()
{
return visualization;
}
/**
* Get the claims being visualized, or an empty list if visualization being removed
*
* @return Claims being visualized
*/