function resetMonData(pNbt,pData){ if (pNbt.get("SynchroSavedTeam").getInt("active") == 0) { let mon = pNbt.get("SynchroSavedTeam").get("slot_0") console.log(mon) pData['monData'] = mon }else{ pData.setBoolean('monStart',false) return } } PlayerEvents.tick(event => { const pData = event.player.persistentData const pNbt = event.player.getNbt() if (pData.getBoolean('monStart')) { if (!pData['monData']) { resetMonData(pNbt, pData) console.log("Mon Data needs reset") return } if (pData['monData'].isEmpty()) { resetMonData(pNbt, pData) console.log("Mon Data needs reset2") return } if (!pNbt.get("SynchroSavedTeam").get("slot_0")){ //Player nuked slot 1 by accident. Reset it. pNbt["SynchroSavedTeam"]["slot_0"] = pData['monData'] console.log("Slot Data needs reset") return } if (pNbt.get("SynchroSavedTeam").get("slot_0").isEmpty()){ //Player nuked slot 1 by accident. Reset it. pNbt["SynchroSavedTeam"]["slot_0"] = pData['monData'] console.log("Slot Data needs reset2") return } if (pNbt.get("SynchroSavedTeam").get("slot_0").getUUID("UUID").toString() != pData.get('monData').getUUID("UUID").toString()) { pNbt["SynchroSavedTeam"]["slot_0"] = pData['monData'] console.log("Team slot got overwritten.") return } if (pNbt.get("SynchroSavedTeam").getInt("active") == -1) { //Player has unsynched. time to reset it. console.log("Resetting "+event.player.getUsername()) event.player.server.runCommand("/synchro slot activate 1 "+event.player.getUsername()) console.log("Player Unsynced.") return } pData['monData'] = pNbt.get("SynchroSavedTeam").get("slot_0") console.log("backup data") } })