24package com.dreamfirestudios.dreamcore.DreamFakeBlock;
26import com.dreamfirestudios.dreamcore.DreamCore;
27import org.bukkit.Location;
28import org.bukkit.Material;
29import org.bukkit.entity.Player;
47 public static void createFakeBlock(String
id, Location location, Material material, Player... players){
49 for (var player : players) {
50 fakeBlock.addObserver(player);
61 if (fakeBlock.isPlayerObservingAtLocation(player, location)) {
62 fakeBlock.removeObserver(player);
72 if (fakeBlock !=
null) fakeBlock.removeObserver(player);
80 if (fakeBlock.isLocation(location)) {
81 fakeBlock.removeAllObservers();
91 if (fakeBlock !=
null) fakeBlock.removeAllObservers();
99 if (fakeBlock.isPlayerObservingAtLocation(player, location)) {
100 return fakeBlock.getMaterial();
111 return fakeBlock !=
null ? fakeBlock.getMaterial() :
null;
static final LinkedHashMap< String, DreamFakeBlock > DreamFakeBlocks
Static utility methods for creating, managing and querying fake blocks.
static void createFakeBlock(String id, Location location, Material material, Player... players)
Create and register a new fake block with observers.
static Material returnMaterialForPlayer(Player player, Location location)
Returns the fake material a player sees at a location, or null if none.
static Material returnMaterialForID(String id)
Returns the fake material for a block ID, or null if not present.
static void removeFakeBlock(Location location)
Remove and clear a fake block by location.
static void removePlayerFromFakeBlock(Player player, Location location)
Remove a player from observing the fake block at a specific location.
static void removeFakeBlock(String id)
Remove and clear a fake block by ID.
static void removePlayerFromFakeBlock(Player player, String id)
Remove a player from observing a fake block by ID.
Represents a single fake block at a given location for one or more observers.
Fired when a new DreamFakeBlock is created and registered.