下面列出了怎么用net.minecraft.world.storage.IPlayerFileData的API类实例代码及写法,或者点击链接到github查看源代码。
private void loadResearch(EntityPlayer fakePlayer) {
boolean online = false;
for(String username : MinecraftServer.getServer().getAllUsernames()) {
if(username.equals(player)) {
online = true;
break;
}
}
if(online) {
this.research = ResearchManager.getResearchForPlayer(player);
} else {
if(research == null) {
Thaumcraft.proxy.getCompletedResearch().put(fakePlayer.getCommandSenderName(), new ArrayList<String>());
IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler();
SaveHandler sh = (SaveHandler)playerNBTManagerObj;
File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, "playersDirectory", "field_75771_c");
File file1 = new File(dir, player + ".thaum");
File file2 = new File(dir, player + ".thaumbak");
ResearchManager.loadPlayerData(fakePlayer, file1, file2, false);
this.research = ResearchManager.getResearchForPlayerSafe(fakePlayer.getCommandSenderName());
}
}
Thaumcraft.proxy.getCompletedResearch().put(fakePlayer.getCommandSenderName(), research == null ? new ArrayList<String>() : research);
}
@Override
public IPlayerFileData getPlayerNBTManager() {
return this;
}
@Override
public IPlayerFileData getSaveHandler() {
return null;
}
@Override
public IPlayerFileData getPlayerNBTManager() {
return null;
}
@Override
public IPlayerFileData getSaveHandler() {
return null;
}
public IPlayerFileData getPlayerNBTManager() { return null; }