mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 15:27:29 +00:00
Reset sync caches between worlds
This commit is contained in:
1 parent
323a0c454a
commit
b47a2bc1d2
2 files changed
+18
No files matched your search
@@ -86,6 +86,15 @@ public class SyncController {
|
||||
registerCache(EnumSyncType.MAGIC_CYCLE, SyncController::magicCyclesNBT);
|
||||
}
|
||||
|
||||
public static void resetServerState() {
|
||||
for (SyncCacheEntry entry : CACHE_ENTRIES.values()) {
|
||||
if (entry != null) {
|
||||
entry.reset();
|
||||
}
|
||||
}
|
||||
PLAYER_SYNC_STATE.clear();
|
||||
}
|
||||
|
||||
public static void syncPlayer(EntityPlayerMP player) {
|
||||
syncPlayer(player, true);
|
||||
}
|
||||
@@ -939,6 +948,12 @@ public class SyncController {
|
||||
return revision;
|
||||
}
|
||||
|
||||
private synchronized void reset() {
|
||||
dirty = true;
|
||||
payload = null;
|
||||
revision = 0;
|
||||
}
|
||||
|
||||
private static byte[][] splitIntoChunks(byte[] payload) {
|
||||
int totalSize = payload.length;
|
||||
int chunkCount = (totalSize + LargeAbstractPacket.CHUNK_SIZE - 1) / LargeAbstractPacket.CHUNK_SIZE;
|
||||
|
||||
@@ -19,6 +19,7 @@ import kamkeel.npcs.command.CommandKamkeel;
|
||||
import kamkeel.npcs.command.profile.CommandProfile;
|
||||
import kamkeel.npcs.controllers.AttributeController;
|
||||
import kamkeel.npcs.controllers.ProfileController;
|
||||
import kamkeel.npcs.controllers.SyncController;
|
||||
import kamkeel.npcs.controllers.data.profile.CNPCData;
|
||||
import kamkeel.npcs.developer.Developer;
|
||||
import kamkeel.npcs.network.PacketHandler;
|
||||
@@ -303,6 +304,7 @@ public class CustomNpcs {
|
||||
//Loading items in the about to start event was corrupting items with a damage value
|
||||
@EventHandler
|
||||
public void started(FMLServerStartedEvent event) {
|
||||
SyncController.resetServerState();
|
||||
RecipeController.Instance.load();
|
||||
new BankController();
|
||||
DialogController.Instance.load();
|
||||
@@ -315,6 +317,7 @@ public class CustomNpcs {
|
||||
|
||||
@EventHandler
|
||||
public void stopped(FMLServerStoppedEvent event) {
|
||||
SyncController.resetServerState();
|
||||
ServerCloneController.Instance = null;
|
||||
GlobalDataController.Instance.saveData();
|
||||
ScriptController.Instance.saveForgeScripts();
|
||||
|
||||
Reference in new issue
Block a user