classpublicPriority 3
DeathMarkerProvider
com.hypixel.hytale.server.core.universe.world.worldmap.markers.DeathMarkerProvider
implements WorldMapManager.MarkerProvider
0
Methods
0
Public Methods
0
Fields
1
Constructors
Constants
DeathMarkerProviderINSTANCE= new DeathMarkerProvider()
Constructors
private
DeathMarkerProvider()Inheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.server.core.universe.world.worldmap.markers;
import com.hypixel.hytale.math.vector.Transform;
import com.hypixel.hytale.protocol.packets.worldmap.MapMarker;
import com.hypixel.hytale.server.core.asset.type.gameplay.GameplayConfig;
import com.hypixel.hytale.server.core.asset.type.gameplay.WorldMapConfig;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.server.core.entity.entities.player.data.PlayerDeathPositionData;
import com.hypixel.hytale.server.core.entity.entities.player.data.PlayerWorldData;
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 com.hypixel.hytale.server.core.util.PositionUtil;
import javax.annotation.Nonnull;
public class DeathMarkerProvider implements WorldMapManager.MarkerProvider {
public static final DeathMarkerProvider INSTANCE = new DeathMarkerProvider();
private DeathMarkerProvider() {
}
@Override
public void update(
@Nonnull World world, @Nonnull GameplayConfig gameplayConfig, @Nonnull WorldMapTracker tracker, int chunkViewRadius, int playerChunkX, int playerChunkZ
) {
WorldMapConfig worldMapConfig = gameplayConfig.getWorldMapConfig();
if (worldMapConfig.isDisplayDeathMarker()) {
Player player = tracker.getPlayer();
PlayerWorldData perWorldData = player.getPlayerConfigData().getPerWorldData(world.getName());
for (PlayerDeathPositionData deathPosition : perWorldData.getDeathPositions()) {
addDeathMarker(tracker, playerChunkX, playerChunkZ, deathPosition);
}
}
}
private static void addDeathMarker(@Nonnull WorldMapTracker tracker, int playerChunkX, int playerChunkZ, @Nonnull PlayerDeathPositionData deathPosition) {
String markerId = deathPosition.getMarkerId();
Transform transform = deathPosition.getTransform();
int deathDay = deathPosition.getDay();
tracker.trySendMarker(
-1,
playerChunkX,
playerChunkZ,
transform.getPosition(),
transform.getRotation().getYaw(),
markerId,
"Death (Day " + deathDay + ")",
transform,
(id, name, t) -> new MapMarker(id, name, "Death.png", PositionUtil.toTransformPacket(t), null)
);
}
}