Files
CustomNPC-Plus/src/main/java/noppes/npcs/controllers/data/PlayerBankData.java
T

65 lines
1.8 KiB
Java
Raw Normal View History

package noppes.npcs.controllers.data;
2018-09-13 12:03:28 -04:00
import java.util.HashMap;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import noppes.npcs.controllers.BankController;
2022-06-12 01:26:23 -05:00
import noppes.npcs.scripted.interfaces.handler.IPlayerBankData;
2018-09-13 12:03:28 -04:00
2022-06-12 01:26:23 -05:00
public class PlayerBankData implements IPlayerBankData {
private final PlayerData parent;
2018-09-13 12:03:28 -04:00
public HashMap<Integer,BankData> banks;
2022-06-12 01:26:23 -05:00
public PlayerBankData(PlayerData parent){
2018-09-13 12:03:28 -04:00
banks = new HashMap<Integer,BankData>();
2022-06-12 01:26:23 -05:00
this.parent = parent;
2018-09-13 12:03:28 -04:00
}
public void loadNBTData(NBTTagCompound compound) {
HashMap<Integer,BankData> banks = new HashMap<Integer,BankData>();
NBTTagList list = compound.getTagList("BankData", 10);
if(list == null){
return;
}
for(int i = 0; i < list.tagCount(); i++)
{
NBTTagCompound nbttagcompound = list.getCompoundTagAt(i);
BankData data = new BankData();
data.readNBT(nbttagcompound);
banks.put(data.bankId, data);
}
this.banks = banks;
}
public void saveNBTData(NBTTagCompound playerData){
NBTTagList list = new NBTTagList();
for(BankData data : banks.values()){
NBTTagCompound nbttagcompound = new NBTTagCompound();
data.writeNBT(nbttagcompound);
list.appendTag(nbttagcompound);
}
playerData.setTag("BankData", list);
}
public BankData getBank(int bankId) {
return banks.get(bankId);
}
public BankData getBankOrDefault(int bankId) {
BankData data = banks.get(bankId);
if(data != null)
return data;
Bank bank = BankController.getInstance().getBank(bankId);
return banks.get(bank.id);
}
public boolean hasBank(int bank) {
return banks.containsKey(bank);
}
public void loadNew(int bank) {
BankData data = new BankData();
data.bankId = bank;
banks.put(bank, data);
}
}