Optimized NBT access of player data when checking quest completion, player data variable is passed down to lower functions.

Player's quests are checked for completion every couple seconds now.
This commit is contained in:
luisc committed 2022-02-02 07:18:33 -06:00
1 parent 632e92f82e
commit 1ebf747302
13 files changed
+70 -69

No files matched your search

@@ -406,8 +406,9 @@ public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T>
public void updatePlayerInventory() {
((EntityPlayerMP)this.entity).inventoryContainer.detectAndSendChanges();
PlayerQuestData playerdata = PlayerDataController.instance.getPlayerData(player).questData;
playerdata.checkQuestCompletion((EntityPlayer)this.entity, EnumQuestType.Item);
PlayerData playerData = PlayerDataController.instance.getPlayerData(player);
PlayerQuestData questData = playerData.questData;
questData.checkQuestCompletion(playerData, EnumQuestType.Item);
}
public boolean checkGUIOpen() {
@@ -417,9 +418,10 @@ public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T>
}
public void checkQuestCompleted() {
PlayerQuestData playerdata = PlayerDataController.instance.getPlayerData(player).questData;
PlayerData playerData = PlayerDataController.instance.getPlayerData(player);
PlayerQuestData questData = playerData.questData;
for(EnumQuestType e : EnumQuestType.values())
playerdata.checkQuestCompletion((EntityPlayer)this.entity, e);
questData.checkQuestCompletion(playerData, e);
}
public ScriptDBCPlayer<T> getDBCPlayer() {