From b951d830e9ecd6076bcf280586e4c3453c886950 Mon Sep 17 00:00:00 2001 From: CDAGaming Date: Tue, 14 Jan 2025 14:33:33 -0600 Subject: [PATCH] [Port] Update to 1.1.0 (v2.5.3) --- .../utils/entity/EntityUtils.java | 5 +-- .../utils/server/ServerList.java | 6 +-- .../utils/server/ServerUtils.java | 8 ++-- .../craftpresence/utils/world/BiomeUtils.java | 2 +- .../utils/world/DimensionUtils.java | 37 +++++-------------- gradle.properties | 12 +++--- 6 files changed, 26 insertions(+), 44 deletions(-) diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java index 579bab8b6..e70f8b832 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java @@ -30,7 +30,6 @@ import com.gitlab.cdagaming.craftpresence.core.impl.ExtendedModule; import com.gitlab.cdagaming.unilib.utils.WorldUtils; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiPlayerInfo; import net.minecraft.src.Entity; import net.minecraft.src.EntityList; @@ -276,9 +275,9 @@ public void getInternalData() { // If Server Data is enabled, allow Uuid's to count as entities if (CraftPresence.SERVER.isEnabled()) { - for (GuiPlayerInfo playerInfo : CraftPresence.SERVER.currentPlayerList) { + for (String playerInfo : CraftPresence.SERVER.currentPlayerList) { if (playerInfo != null) { - final String uuidString = playerInfo.name; + final String uuidString = playerInfo; if (!StringUtils.isNullOrEmpty(uuidString)) { if (!ENTITY_NAMES.contains(uuidString)) { ENTITY_NAMES.add(uuidString); diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerList.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerList.java index 2d2820424..75805e2fc 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerList.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerList.java @@ -46,7 +46,7 @@ public ServerList(Minecraft minecraft) { public void loadServerList() { try { - NBTTagCompound var1 = CompressedStreamTools.read(new File(this.mc.mcDataDir, "servers.dat")); + NBTTagCompound var1 = CompressedStreamTools.writeMapToFileUncompressed(new File(this.mc.mcDataDir, "servers.dat")); NBTTagList var2 = var1.getTagList("servers"); this.servers.clear(); @@ -63,12 +63,12 @@ public void saveServerList() { NBTTagList var1 = new NBTTagList(); for(ServerNBTStorage var3 : this.servers) { - var1.appendTag(var3.getCompoundTag()); + var1.setTag(var3.getCompoundTag()); } NBTTagCompound var5 = new NBTTagCompound(); var5.setTag("servers", var1); - CompressedStreamTools.safeWrite(var5, new File(this.mc.mcDataDir, "servers.dat")); + CompressedStreamTools.saveMapToFileWithBackup(var5, new File(this.mc.mcDataDir, "servers.dat")); } catch (Exception var4) { var4.printStackTrace(); } diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java index ee90c54df..6d5d9ce42 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java @@ -82,7 +82,7 @@ public class ServerUtils implements ExtendedModule { /** * The Current Player Map, if available */ - public List currentPlayerList = StringUtils.newArrayList(); + public List currentPlayerList = StringUtils.newArrayList(); /** * A List of the detected Server Addresses */ @@ -319,7 +319,7 @@ private ServerNBTStorage getOrCreateServerData(final String serverIP, final int private void processData(final boolean newLANStatus, final boolean newSinglePlayerStatus, final ServerNBTStorage newServerData, final NetClientHandler newConnection, final String newServer_IP, final String newServer_MOTD, final String newServer_Name, - final int newCurrentPlayers, final int newMaxPlayers, final List newPlayerList) { + final int newCurrentPlayers, final int newMaxPlayers, final List newPlayerList) { final boolean isNewServer = newServerData != null && !newServerData.equals(currentServerData); final boolean hasLeftServer = newServerData == null && currentServerData != null; if (newLANStatus != isOnLAN || newSinglePlayerStatus != isOnSinglePlayer || @@ -430,7 +430,7 @@ private void processRealmData(final ServerNBTStorage newServerData, final NetCli * @param newConnection The Player's Current Connection Data */ private void processServerData(final ServerNBTStorage newServerData, final NetClientHandler newConnection) { - final List newPlayerList = newConnection != null ? StringUtils.newArrayList(newConnection.playerNames) : StringUtils.newArrayList(); + final List newPlayerList = newConnection != null ? StringUtils.newArrayList(newConnection.playerNames) : StringUtils.newArrayList(); final int newCurrentPlayers = newConnection != null ? newConnection.playerNames.size() : 1; final boolean newLANStatus = false; @@ -693,7 +693,7 @@ public void initPresence() { syncArgument("player.position.z", () -> MathUtils.roundDouble(CraftPresence.player.posZ, 3)); // Player Health Arguments - syncArgument("player.health.current", () -> MathUtils.roundDouble(CraftPresence.player.getHealth(), 0)); + syncArgument("player.health.current", () -> MathUtils.roundDouble(CraftPresence.player.getEntityHealth(), 0)); syncArgument("player.health.max", () -> MathUtils.roundDouble(CraftPresence.player.getMaxHealth(), 0)); // World Data Arguments diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/BiomeUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/BiomeUtils.java index 8e84ef1bf..17ead25ea 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/BiomeUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/BiomeUtils.java @@ -114,7 +114,7 @@ public void clearAttributes() { @Override public void updateData() { - final BiomeGenBase newBiome = CraftPresence.world.getBiomeGenForCoords((int) CraftPresence.player.posX, (int) CraftPresence.player.posZ); + final BiomeGenBase newBiome = CraftPresence.world.getWorldChunkManager().getBiomeGenAt((int) CraftPresence.player.posX, (int) CraftPresence.player.posZ); final String newBiomeName = newBiome.biomeName; final String newBiomeIdentifier = StringUtils.getOrDefault(newBiomeName, MappingUtils.getClassName(newBiome)); diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/DimensionUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/DimensionUtils.java index 16250d578..0218f0537 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/DimensionUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/world/DimensionUtils.java @@ -35,7 +35,6 @@ import unilib.external.io.github.classgraph.ClassInfo; import java.util.List; -import java.util.Map; import java.util.function.Supplier; /** @@ -188,37 +187,21 @@ private List getDimensionTypes() { List dimensionTypes = StringUtils.newArrayList(); if (dimensionTypes.isEmpty()) { - // Fallback 1: Use Reflected Dimension Types - Map reflectedDimensionTypes = (Map) StringUtils.getField(FileUtils.loadClass("forge.DimensionManager"), null, "providers"); - if (reflectedDimensionTypes != null) { - for (Object objectType : reflectedDimensionTypes.values()) { + // Use Manual Class Lookup + for (ClassInfo classInfo : FileUtils.getClassNamesMatchingSuperType(WorldProvider.class).values()) { + if (classInfo != null) { try { - WorldProvider type = (objectType instanceof WorldProvider) ? (WorldProvider) objectType : null; - - if (type != null && !dimensionTypes.contains(type)) { - dimensionTypes.add(type); + Class classObj = FileUtils.loadClass(classInfo.getName()); + if (classObj != null) { + WorldProvider providerObj = (WorldProvider) classObj.getDeclaredConstructor().newInstance(); + if (!dimensionTypes.contains(providerObj)) { + dimensionTypes.add(providerObj); + } } } catch (Throwable ex) { printException(ex); } } - } else if (FileUtils.isClassGraphEnabled()) { - // Fallback 2: Use Manual Class Lookup - for (ClassInfo classInfo : FileUtils.getClassNamesMatchingSuperType(WorldProvider.class).values()) { - if (classInfo != null) { - try { - Class classObj = FileUtils.loadClass(classInfo.getName()); - if (classObj != null) { - WorldProvider providerObj = (WorldProvider) classObj.getDeclaredConstructor().newInstance(); - if (!dimensionTypes.contains(providerObj)) { - dimensionTypes.add(providerObj); - } - } - } catch (Throwable ex) { - printException(ex); - } - } - } } } @@ -270,7 +253,7 @@ public String getOverrideText(ModuleData data) { @Override public boolean canFetchInternals() { - return MappingUtils.areMappingsLoaded() && (!FileUtils.isClassGraphEnabled() || FileUtils.canScanClasses()); + return MappingUtils.areMappingsLoaded() && FileUtils.isClassGraphEnabled() && FileUtils.canScanClasses(); } @Override diff --git a/gradle.properties b/gradle.properties index 462900469..89c06dd38 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,20 +11,20 @@ enabled_platforms=fabric,modloader isLegacy=true isJarMod=true # Mapping Info -mc_mappings=6.2-1.2.5 +mc_mappings=5.6-1.1 mc_mappings_type=mcp -mc_version=1.2.5 -mc_protocol=29 +mc_version=1.1 +mc_protocol=23 display_version= # Fabric Info fabric_loader_version=0.16.9 fabric_api_version= -fabric_game_version_range=1.2.5 +fabric_game_version_range=1.1 fabric_loader_version_range=>=0.12.0 # Forge Info -forge_version=1.2.5 +forge_version=1.1 fml_version_range= -forge_game_version_range=1.2.5 +forge_game_version_range=1.1 forge_loader_version_range= # Deployment Info versionId=2.5.3