mirror of
https://github.com/libraryaddict/LibsDisguises.git
synced 2025-03-02 04:01:26 +01:00
First part of reflection cleanup
This commit is contained in:
parent
7eadfb6127
commit
d6ff57c718
@ -364,7 +364,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -394,4 +394,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return nmsItem.getTag().getAsString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -364,7 +364,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -394,4 +394,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return nmsItem.getTag().getAsString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -366,7 +366,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -397,4 +397,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return nmsItem.getTag().getAsString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -365,7 +365,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -384,4 +384,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return registry.getId(CraftArt.BukkitToNotch(type).value());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -390,7 +390,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -409,4 +409,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return registry.getId(CraftArt.BukkitToNotch(type).value());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -385,7 +385,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -404,4 +404,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return registry.getId(CraftArt.BukkitToNotch(type).value());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -386,7 +386,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -405,4 +405,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return registry.getId(CraftArt.BukkitToNotch(type).value());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ import me.libraryaddict.disguise.utilities.reflection.ReflectionManagerAbstract;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.syncher.SynchedEntityData;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
@ -396,7 +395,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -448,4 +447,13 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
return registry.getId(CraftArt.bukkitToMinecraft(type));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ import me.libraryaddict.disguise.utilities.reflection.ReflectionManagerAbstract;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.syncher.SynchedEntityData;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
@ -397,7 +396,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -448,4 +447,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
|
||||
return registry.getId(CraftArt.bukkitToMinecraft(type));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -396,7 +396,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -460,4 +460,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
public String getDataAsString(ItemStack itemStack) {
|
||||
return itemStack.hasItemMeta() ? itemStack.getItemMeta().getAsComponentString() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -401,7 +401,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -465,4 +465,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
public String getDataAsString(ItemStack itemStack) {
|
||||
return itemStack.hasItemMeta() ? itemStack.getItemMeta().getAsComponentString() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -468,4 +468,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
public String getDataAsString(ItemStack itemStack) {
|
||||
return itemStack.hasItemMeta() ? itemStack.getItemMeta().getAsComponentString() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameProfile getMCGameProfile(Player player) {
|
||||
public GameProfile getProfile(Player player) {
|
||||
return ((CraftPlayer) player).getProfile();
|
||||
}
|
||||
|
||||
@ -468,4 +468,14 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
||||
public String getDataAsString(ItemStack itemStack) {
|
||||
return itemStack.hasItemMeta() ? itemStack.getItemMeta().getAsComponentString() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).updatePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearEntityTracker(Object trackerEntry, Object serverPlayer) {
|
||||
((ChunkMap.TrackedEntity) trackerEntry).removePlayer((ServerPlayer) serverPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -13,10 +13,11 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class ConfigLoader {
|
||||
@Getter
|
||||
private final List<String> configs = new ArrayList<>();
|
||||
|
||||
public ConfigLoader() {
|
||||
@ -31,6 +32,40 @@ public class ConfigLoader {
|
||||
|
||||
configs.add(s);
|
||||
}
|
||||
|
||||
// TODO Load from legacy if new doesn't exist
|
||||
}
|
||||
|
||||
/**
|
||||
* The configs that used to exist but don't anymore.
|
||||
*/
|
||||
private List<String> getLegacyConfigs() {
|
||||
return Arrays.asList("combat.yml", "features.yml", "nametags.yml", "players.yml", "sanity.yml");
|
||||
}
|
||||
|
||||
private void moveLegacyConfigs() {
|
||||
File configsFolder = new File(LibsDisguises.getInstance().getDataFolder(), "configs");
|
||||
|
||||
for (String name : getLegacyConfigs()) {
|
||||
File file = new File(configsFolder, name);
|
||||
|
||||
if (!file.exists()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
File legacy = new File(configsFolder, "legacy/" + name);
|
||||
|
||||
if (legacy.exists()) {
|
||||
file.delete();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!legacy.getParentFile().exists()) {
|
||||
legacy.getParentFile().mkdirs();
|
||||
}
|
||||
|
||||
file.renameTo(legacy);
|
||||
}
|
||||
}
|
||||
|
||||
public void saveMissingConfigs() {
|
||||
@ -54,7 +89,7 @@ public class ConfigLoader {
|
||||
}
|
||||
}
|
||||
|
||||
public YamlConfiguration loadDefaults() {
|
||||
private YamlConfiguration loadDefaults(List<String> configs) {
|
||||
YamlConfiguration globalConfig = new YamlConfiguration();
|
||||
|
||||
for (String config : configs) {
|
||||
@ -75,12 +110,21 @@ public class ConfigLoader {
|
||||
}
|
||||
|
||||
return globalConfig;
|
||||
|
||||
}
|
||||
|
||||
public YamlConfiguration loadDefaults() {
|
||||
return loadDefaults(configs);
|
||||
}
|
||||
|
||||
public YamlConfiguration load() {
|
||||
return load(configs);
|
||||
}
|
||||
|
||||
public YamlConfiguration load(List<String> configNames) {
|
||||
YamlConfiguration globalConfig = new YamlConfiguration();
|
||||
|
||||
for (String config : configs) {
|
||||
for (String config : configNames) {
|
||||
YamlConfiguration c = YamlConfiguration.loadConfiguration(new File(LibsDisguises.getInstance().getDataFolder(), config));
|
||||
|
||||
for (String k : c.getKeys(true)) {
|
||||
|
@ -206,8 +206,50 @@ public class ReflectionManager {
|
||||
try {
|
||||
nmsReflection = getReflectionManager(getVersion());
|
||||
|
||||
getGameProfile = getCraftMethod("CraftPlayer", "getProfile");
|
||||
// Uses a private field
|
||||
trackedPlayers = getNmsField("EntityTrackerEntry", "trackedPlayers");
|
||||
trackerIsMoving = getNmsField("EntityTrackerEntry", NmsVersion.v1_20_R2.isSupported() ? "i" :
|
||||
NmsVersion.v1_19_R1.isSupported() ? "p" :
|
||||
NmsVersion.v1_17.isSupported() ? "r" : NmsVersion.v1_14.isSupported() ? "q" : "isMoving");
|
||||
|
||||
if (nmsReflection != null) {
|
||||
sessionService = nmsReflection.getMinecraftSessionService();
|
||||
}
|
||||
|
||||
// I don't think authlib is always going to be in sync enough that we can trust this to a specific nms version
|
||||
try {
|
||||
fillProfileProperties = sessionService.getClass().getMethod("fillProfileProperties", GameProfile.class, boolean.class);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
try {
|
||||
propertyName = Property.class.getMethod("getName");
|
||||
propertyValue = Property.class.getMethod("getValue");
|
||||
propertySignature = Property.class.getMethod("getSignature");
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
if (nmsReflection != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
getServerMethod = getCraftMethod("CraftServer", "getServer");
|
||||
|
||||
Object minecraftServer = getMinecraftServer();
|
||||
|
||||
for (Method method : getNmsClass("MinecraftServer").getMethods()) {
|
||||
if (!method.getReturnType().getSimpleName().equals("MinecraftSessionService")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
sessionService = (MinecraftSessionService) method.invoke(minecraftServer);
|
||||
break;
|
||||
}
|
||||
|
||||
if (DisguiseUtilities.isRunningPaper() && !NmsVersion.v1_17.isSupported()) {
|
||||
// Uses a private field
|
||||
trackedPlayersMap = getNmsField("EntityTrackerEntry", "trackedPlayerMap");
|
||||
}
|
||||
|
||||
// In 1.12 to 1.13, it's all in EntityTrackerEntry
|
||||
// In 1.14+, we have it in EntityTracker in PlayerChunkMap
|
||||
@ -221,46 +263,7 @@ public class ReflectionManager {
|
||||
addEntityTracker = getNmsMethod("EntityTrackerEntry", "updatePlayer", getNmsClass("EntityPlayer"));
|
||||
}
|
||||
|
||||
trackerIsMoving = getNmsField("EntityTrackerEntry", NmsVersion.v1_20_R2.isSupported() ? "i" :
|
||||
NmsVersion.v1_19_R1.isSupported() ? "p" :
|
||||
NmsVersion.v1_17.isSupported() ? "r" : NmsVersion.v1_14.isSupported() ? "q" : "isMoving");
|
||||
|
||||
if (DisguiseUtilities.isRunningPaper() && !NmsVersion.v1_17.isSupported()) {
|
||||
trackedPlayersMap = getNmsField("EntityTrackerEntry", "trackedPlayerMap");
|
||||
}
|
||||
|
||||
if (nmsReflection != null) {
|
||||
sessionService = nmsReflection.getMinecraftSessionService();
|
||||
} else {
|
||||
getServerMethod = getCraftMethod("CraftServer", "getServer");
|
||||
|
||||
Object minecraftServer = getMinecraftServer();
|
||||
|
||||
for (Method method : getNmsClass("MinecraftServer").getMethods()) {
|
||||
if (!method.getReturnType().getSimpleName().equals("MinecraftSessionService")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
sessionService = (MinecraftSessionService) method.invoke(minecraftServer);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
fillProfileProperties = sessionService.getClass().getMethod("fillProfileProperties", GameProfile.class, boolean.class);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
try {
|
||||
propertyName = Property.class.getMethod("getName");
|
||||
propertyValue = Property.class.getMethod("getValue");
|
||||
propertySignature = Property.class.getMethod("getSignature");
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
if (nmsReflection != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
getGameProfile = getCraftMethod("CraftPlayer", "getProfile");
|
||||
boundingBoxConstructor =
|
||||
getNmsConstructor("AxisAlignedBB", double.class, double.class, double.class, double.class, double.class, double.class);
|
||||
|
||||
@ -1025,6 +1028,10 @@ public class ReflectionManager {
|
||||
}
|
||||
|
||||
private static GameProfile getGameProfile(Player player) {
|
||||
if (getNmsReflection() != null) {
|
||||
return getNmsReflection().getProfile(player);
|
||||
}
|
||||
|
||||
try {
|
||||
return (GameProfile) getGameProfile.invoke(player);
|
||||
|
||||
@ -1203,11 +1210,19 @@ public class ReflectionManager {
|
||||
|
||||
@SneakyThrows
|
||||
public static void clearEntityTracker(Object trackerEntry, Object player) {
|
||||
if (getNmsReflection() != null) {
|
||||
getNmsReflection().clearEntityTracker(trackerEntry, player);
|
||||
}
|
||||
|
||||
clearEntityTracker.invoke(trackerEntry, player);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
public static void addEntityTracker(Object trackerEntry, Object player) {
|
||||
if (getNmsReflection() != null) {
|
||||
getNmsReflection().addEntityTracker(trackerEntry, player);
|
||||
}
|
||||
|
||||
addEntityTracker.invoke(trackerEntry, player);
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ public interface ReflectionManagerAbstract {
|
||||
|
||||
ItemMeta getDeserializedItemMeta(Map<String, Object> meta);
|
||||
|
||||
GameProfile getMCGameProfile(Player player);
|
||||
GameProfile getProfile(Player player);
|
||||
|
||||
static UserProfile getUserProfile(UUID uuid, String playerName) {
|
||||
return new UserProfile(uuid, playerName == null || playerName.length() < 17 ? playerName : playerName.substring(0, 16));
|
||||
@ -157,4 +157,8 @@ public interface ReflectionManagerAbstract {
|
||||
default String getDataAsString(ItemStack itemStack) {
|
||||
return itemStack.hasItemMeta() ? itemStack.getItemMeta().getAsString() : null;
|
||||
}
|
||||
|
||||
void addEntityTracker(Object trackerEntry, Object serverPlayer);
|
||||
|
||||
void clearEntityTracker(Object trackerEntry, Object serverPlayer);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user