Skip to content

Commit 73ea38f

Browse files
committed
PlayerUtils - add some Player/PlayerRef converters
1 parent c71f136 commit 73ea38f

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

src/main/java/com/github/skriptdev/skript/api/hytale/utils/PlayerUtils.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package com.github.skriptdev.skript.api.hytale.utils;
22

3+
import com.hypixel.hytale.component.Ref;
4+
import com.hypixel.hytale.component.Store;
35
import com.hypixel.hytale.server.core.entity.entities.Player;
6+
import com.hypixel.hytale.server.core.universe.PlayerRef;
47
import com.hypixel.hytale.server.core.universe.Universe;
58
import com.hypixel.hytale.server.core.universe.world.World;
9+
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
610
import org.jetbrains.annotations.Nullable;
711

812
import java.util.ArrayList;
@@ -40,4 +44,36 @@ public static List<Player> getPlayers(@Nullable World world) {
4044
}
4145
}
4246

47+
/**
48+
* Get a PlayerRef from a Player.
49+
*
50+
* @param player Player to get PlayerRef from
51+
* @return PlayerRef from Player or null if not found
52+
*/
53+
public static @Nullable PlayerRef getPlayerRef(Player player) {
54+
World world = player.getWorld();
55+
assert world != null;
56+
57+
Ref<EntityStore> reference = player.getReference();
58+
assert reference != null;
59+
60+
Store<EntityStore> store = world.getEntityStore().getStore();
61+
return store.getComponent(reference, PlayerRef.getComponentType());
62+
}
63+
64+
/**
65+
* Get a Player from a PlayerRef.
66+
*
67+
* @param playerRef PlayerRef to get Player from
68+
* @param world World to get Player from
69+
* @return Player from PlayerRef or null if not found
70+
*/
71+
public static @Nullable Player getPlayer(PlayerRef playerRef, World world) {
72+
Ref<EntityStore> reference = playerRef.getReference();
73+
if (reference == null) return null;
74+
75+
Store<EntityStore> store = world.getEntityStore().getStore();
76+
return store.getComponent(reference, Player.getComponentType());
77+
}
78+
4379
}

0 commit comments

Comments
 (0)