ObjectiveMarkerProvider.java
package com.hypixel.hytale.builtin.adventure.objectives.markers;
import com.hypixel.hytale.builtin.adventure.objectives.Objective;
import com.hypixel.hytale.builtin.adventure.objectives.ObjectiveDataStore;
import com.hypixel.hytale.builtin.adventure.objectives.ObjectivePlugin;
import com.hypixel.hytale.builtin.adventure.objectives.task.ObjectiveTask;
import com.hypixel.hytale.protocol.packets.worldmap.MapMarker;
import com.hypixel.hytale.server.core.asset.type.gameplay.GameplayConfig;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.server.core.universe.world.World;
import com.hypixel.hytale.server.core.universe.world.WorldMapTracker;
import com.hypixel.hytale.server.core.universe.world.worldmap.WorldMapManager;
import java.util.Set;
import java.util.UUID;
import javax.annotation.Nonnull;
public class ObjectiveMarkerProvider implements WorldMapManager.MarkerProvider {
public static final ObjectiveMarkerProvider INSTANCE = new ObjectiveMarkerProvider();
private ObjectiveMarkerProvider() {
}
public void update {
tracker.getPlayer();
Set<UUID> activeObjectiveUUIDs = player.getPlayerConfigData().getActiveObjectiveUUIDs();
(!activeObjectiveUUIDs.isEmpty()) {
player.getUuid();
ObjectivePlugin.get().getObjectiveDataStore();
(UUID objectiveUUID : activeObjectiveUUIDs) {
objectiveDataStore.getObjective(objectiveUUID);
(objective != && objective.getActivePlayerUUIDs().contains(playerUUID)) {
ObjectiveTask[] tasks = objective.getCurrentTasks();
(tasks != ) {
(ObjectiveTask task : tasks) {
(MapMarker marker : task.getMarkers()) {
tracker.trySendMarker(chunkViewRadius, playerChunkX, playerChunkZ, marker);
}
}
}
}
}
}
}
}