Add VisualizationEvent (#48)
* Add VisualizationEvent Need to know if subdivides are showing or not * Javadocs for VisualizationEvent
This commit is contained in:
parent
70f3be68d3
commit
9e4db8fb3e
|
|
@ -22,6 +22,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
@ -32,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
||||||
|
import me.ryanhamshire.GriefPrevention.events.VisualizationEvent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
|
|
@ -1819,6 +1821,9 @@ class PlayerEventHandler implements Listener
|
||||||
//find nearby claims
|
//find nearby claims
|
||||||
Set<Claim> claims = this.dataStore.getNearbyClaims(player.getLocation());
|
Set<Claim> claims = this.dataStore.getNearbyClaims(player.getLocation());
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claims));
|
||||||
|
|
||||||
//visualize boundaries
|
//visualize boundaries
|
||||||
Visualization visualization = Visualization.fromClaims(claims, player.getEyeLocation().getBlockY(), VisualizationType.Claim, player.getLocation());
|
Visualization visualization = Visualization.fromClaims(claims, player.getEyeLocation().getBlockY(), VisualizationType.Claim, player.getLocation());
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
|
|
@ -1846,6 +1851,10 @@ class PlayerEventHandler implements Listener
|
||||||
if(clickedBlockType == Material.AIR)
|
if(clickedBlockType == Material.AIR)
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Err, Messages.TooFarAway);
|
instance.sendMessage(player, TextMode.Err, Messages.TooFarAway);
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, Collections.<Claim>emptySet()));
|
||||||
|
|
||||||
Visualization.Revert(player);
|
Visualization.Revert(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1857,6 +1866,10 @@ class PlayerEventHandler implements Listener
|
||||||
if(claim == null)
|
if(claim == null)
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Info, Messages.BlockNotClaimed);
|
instance.sendMessage(player, TextMode.Info, Messages.BlockNotClaimed);
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, Collections.<Claim>emptySet()));
|
||||||
|
|
||||||
Visualization.Revert(player);
|
Visualization.Revert(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1868,6 +1881,10 @@ class PlayerEventHandler implements Listener
|
||||||
|
|
||||||
//visualize boundary
|
//visualize boundary
|
||||||
Visualization visualization = Visualization.FromClaim(claim, player.getEyeLocation().getBlockY(), VisualizationType.Claim, player.getLocation());
|
Visualization visualization = Visualization.FromClaim(claim, player.getEyeLocation().getBlockY(), VisualizationType.Claim, player.getLocation());
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
|
|
||||||
//if can resize this claim, tell about the boundaries
|
//if can resize this claim, tell about the boundaries
|
||||||
|
|
@ -1971,6 +1988,10 @@ class PlayerEventHandler implements Listener
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Err, Messages.BlockClaimed, claim.getOwnerName());
|
instance.sendMessage(player, TextMode.Err, Messages.BlockClaimed, claim.getOwnerName());
|
||||||
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
|
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
@ -2249,6 +2270,10 @@ class PlayerEventHandler implements Listener
|
||||||
instance.sendMessage(player, TextMode.Err, Messages.CreateSubdivisionOverlap);
|
instance.sendMessage(player, TextMode.Err, Messages.CreateSubdivisionOverlap);
|
||||||
|
|
||||||
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
|
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));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
@ -2259,6 +2284,10 @@ class PlayerEventHandler implements Listener
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Success, Messages.SubdivisionSuccess);
|
instance.sendMessage(player, TextMode.Success, Messages.SubdivisionSuccess);
|
||||||
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
|
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));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
playerData.lastShovelLocation = null;
|
playerData.lastShovelLocation = null;
|
||||||
playerData.claimSubdividing = null;
|
playerData.claimSubdividing = null;
|
||||||
|
|
@ -2272,6 +2301,10 @@ class PlayerEventHandler implements Listener
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Err, Messages.CreateClaimFailOverlap);
|
instance.sendMessage(player, TextMode.Err, Messages.CreateClaimFailOverlap);
|
||||||
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
|
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2281,6 +2314,10 @@ class PlayerEventHandler implements Listener
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Err, Messages.CreateClaimFailOverlapOtherPlayer, claim.getOwnerName());
|
instance.sendMessage(player, TextMode.Err, Messages.CreateClaimFailOverlapOtherPlayer, claim.getOwnerName());
|
||||||
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
|
Visualization visualization = Visualization.FromClaim(claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, claim));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2314,7 +2351,12 @@ class PlayerEventHandler implements Listener
|
||||||
instance.sendMessage(player, TextMode.Instr, Messages.ClaimStart);
|
instance.sendMessage(player, TextMode.Instr, Messages.ClaimStart);
|
||||||
|
|
||||||
//show him where he's working
|
//show him where he's working
|
||||||
Visualization visualization = Visualization.FromClaim(new Claim(clickedBlock.getLocation(), clickedBlock.getLocation(), null, new ArrayList<String>(), new ArrayList<String>(), new ArrayList<String>(), new ArrayList<String>(), null), clickedBlock.getY(), VisualizationType.RestoreNature, player.getLocation());
|
Claim newClaim = new Claim(clickedBlock.getLocation(), clickedBlock.getLocation(), null, new ArrayList<String>(), new ArrayList<String>(), new ArrayList<String>(), new ArrayList<String>(), null);
|
||||||
|
Visualization visualization = Visualization.FromClaim(newClaim, clickedBlock.getY(), VisualizationType.RestoreNature, player.getLocation());
|
||||||
|
|
||||||
|
// alert plugins of a visualization
|
||||||
|
Bukkit.getPluginManager().callEvent(new VisualizationEvent(player, newClaim));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2399,6 +2441,10 @@ class PlayerEventHandler implements Listener
|
||||||
instance.sendMessage(player, TextMode.Err, Messages.CreateClaimFailOverlapShort);
|
instance.sendMessage(player, TextMode.Err, Messages.CreateClaimFailOverlapShort);
|
||||||
|
|
||||||
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.ErrorClaim, player.getLocation());
|
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));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -2414,6 +2460,10 @@ class PlayerEventHandler implements Listener
|
||||||
{
|
{
|
||||||
instance.sendMessage(player, TextMode.Success, Messages.CreateClaimSuccess);
|
instance.sendMessage(player, TextMode.Success, Messages.CreateClaimSuccess);
|
||||||
Visualization visualization = Visualization.FromClaim(result.claim, clickedBlock.getY(), VisualizationType.Claim, player.getLocation());
|
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));
|
||||||
|
|
||||||
Visualization.Apply(player, visualization);
|
Visualization.Apply(player, visualization);
|
||||||
playerData.lastShovelLocation = null;
|
playerData.lastShovelLocation = null;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
package me.ryanhamshire.GriefPrevention.events;
|
||||||
|
|
||||||
|
import me.ryanhamshire.GriefPrevention.Claim;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.bukkit.event.player.PlayerEvent;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when GriefPrevention is sending claim visuals to a player
|
||||||
|
*/
|
||||||
|
public class VisualizationEvent extends PlayerEvent {
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
private final Collection<Claim> claims;
|
||||||
|
private final boolean showSubdivides;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* New visualization being sent to player
|
||||||
|
*
|
||||||
|
* @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) {
|
||||||
|
super(player);
|
||||||
|
this.claims = Collections.singleton(claim);
|
||||||
|
this.showSubdivides = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* New visualization being sent to player
|
||||||
|
*
|
||||||
|
* @param player Player receiving visuals
|
||||||
|
* @param claims Claims being visualized (without subdivides)
|
||||||
|
*/
|
||||||
|
public VisualizationEvent(Player player, Collection<Claim> claims) {
|
||||||
|
super(player);
|
||||||
|
this.claims = claims;
|
||||||
|
this.showSubdivides = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the claims being visualized, or null if visualization being removed
|
||||||
|
*
|
||||||
|
* @return Claims being visualized
|
||||||
|
*/
|
||||||
|
public Collection<Claim> getClaims() {
|
||||||
|
return claims;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if subdivide claims are being shown
|
||||||
|
*
|
||||||
|
* @return True if subdivide claims are being shown
|
||||||
|
*/
|
||||||
|
public boolean showSubdivides() {
|
||||||
|
return showSubdivides;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user