// convenience method to build a visualization from a claim // visualizationType determines the style (gold blocks, silver, red, diamond, etc) public static Visualization FromClaim( Claim claim, int height, VisualizationType visualizationType, Location locality) { // visualize only top level claims if (claim.parent != null) { return FromClaim(claim.parent, height, visualizationType, locality); } Visualization visualization = new Visualization(); // add subdivisions first for (int i = 0; i < claim.children.size(); i++) { visualization.addClaimElements( claim.children.get(i), height, VisualizationType.Subdivision, locality); } // add top level last so that it takes precedence (it shows on top when the child claim // boundaries overlap with its boundaries) visualization.addClaimElements(claim, height, visualizationType, locality); return visualization; }
public static void Apply(Player player, Visualization visualization, boolean CancelCurrent) { PlayerData playerData = GriefPrevention.instance.dataStore.getPlayerData(player.getName()); // if he has any current visualization, clear it first if (playerData.ActiveVisualizations.size() > 0 && CancelCurrent) { Visualization.Revert(player); } // if he's online, create a task to send him the visualization in about half a second if (player.isOnline()) { GriefPrevention.instance .getServer() .getScheduler() .scheduleSyncDelayedTask( GriefPrevention.instance, new VisualizationApplicationTask(player, playerData, visualization), 10L); } }