From 68b1c0598ca52f7a5d49f56c3cb55eacd195b115 Mon Sep 17 00:00:00 2001 From: Jordan Byrne Date: Wed, 23 May 2018 05:27:51 +1000 Subject: $ More improvements to the Chunk Loader ID system. Should now avoid ID conflicts. --- .../api/objects/minecraft/ChunkManager.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/Java/gtPlusPlus/api/objects/minecraft') diff --git a/src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java b/src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java index ef180b05c5..bf080424ea 100644 --- a/src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java +++ b/src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java @@ -58,11 +58,30 @@ public class ChunkManager implements LoadingCallback, OrderedLoadingCallback, Fo Utils.registerEvent(this); } + public static boolean setIdAndUniqueString(int id, String blockposString) { + if (mIdToUUIDMap.injectCleanDataToAutoMap(id, blockposString)) { + Logger.INFO("Found Cached ID from NBT, cleanly injected into ChunkManager."); + return true; + } + else { + Logger.INFO("Creating new Cached ID based on blockpos UID"); + if (mIdToUUIDMap.injectCleanDataToAutoMap(mIdToUUIDMap.getNextFreeMapID(), blockposString)) { + Logger.INFO("Success! Cleanly injected into ChunkManager."); + return true; + } + else { + return false; + } + } + } + public static int getIdFromUniqueString(String blockposString) { if (mIdToUUIDMap.containsValue(blockposString)) { + Logger.INFO("Found Cached ID based on blockpos UID"); return mIdToUUIDMap.get(blockposString); } else { + Logger.INFO("Creating new Cached ID based on blockpos UID"); return mIdToUUIDMap.putToInternalMap(blockposString); } } -- cgit