package net.aufdemrand.denizen.utilities.maps; import net.aufdemrand.denizen.objects.dPlayer; import org.bukkit.map.MapCanvas; import org.bukkit.map.MapView; import org.bukkit.map.MinecraftFont; import java.util.HashMap; import java.util.Map; import java.util.UUID; public class MapText extends MapObject { protected String textTag; protected Map<UUID, String> playerTexts = new HashMap<UUID, String>(); public MapText(String xTag, String yTag, String visibilityTag, boolean debug, String textTag) { super(xTag, yTag, visibilityTag, debug); this.textTag = textTag; } @Override public void update(dPlayer player, UUID uuid) { super.update(player, uuid); playerTexts.put(uuid, tag(textTag, player)); } public String getText(dPlayer player) { return playerTexts.get(player.getPlayerEntity().getUniqueId()); } public void setText(String textTag) { this.textTag = textTag; } @Override public Map<String, Object> getSaveData() { Map<String, Object> data = super.getSaveData(); data.put("type", "TEXT"); data.put("text", textTag); return data; } @Override public void render(MapView mapView, MapCanvas mapCanvas, dPlayer player, UUID uuid) { if (!playerTexts.containsKey(uuid)) { playerTexts.put(uuid, tag(textTag, player)); } mapCanvas.drawText(getX(player, uuid), getY(player, uuid), MinecraftFont.Font, getText(player)); } }