Пф *голубая луна* ну или залезу ОПЯТЬ в FTBMoney и переделаю его систему под БД. а там только ник и нужен.Ну ну, потом ахринеешь от визгов, что сервер/клиент(в случаи если в одиночке мод) лагает
Зачем городить костыли, когда можно взять готовый код? =\Мог бы сам написать мод
private UUID getUUIDFromNick(String nick){
AtomicReference<UUID> ret = new AtomicReference<>();
UsernameCache.getMap().forEach((uuid, nickuuid) ->{ //Да. впервые лямбду заюзал
if(nick.equals(nickuuid))
ret.set(uuid);
}
);
return ret.get();
}
private void crutch(String owner, String price, EntityPlayer player) {
try {
UUID uuid = getUUIDFromNick(owner);
if(uuid != null) {
File worldDirectory = DimensionManager.getWorld(0).getSaveHandler().getWorldDirectory();
File playeruuid = new File(worldDirectory.getAbsolutePath().trim() + File.separator + "playerdata" + File.separator + uuid + ".dat");
NBTTagCompound nbtfromplayer = NBTUtils.readNBT(playeruuid); //Подмечу, класс NBTUtils из FTBlib
if(debug)System.out.println(nbtfromplayer.toString());
NBTTagCompound nbtForgeData = nbtfromplayer.getCompoundTag("ForgeData");
if(debug)System.out.println(nbtForgeData.toString());
NBTTagCompound nbtPlayerPersisted = nbtForgeData.getCompoundTag("PlayerPersisted");
if(debug)System.out.println(nbtPlayerPersisted.toString());
long nbtftb_money = nbtPlayerPersisted.getLong("ftb_money");
System.out.println(nbtftb_money);
}
else{
player.sendMessage(new TextComponentTranslation("ex.buyitem.ownernotfound"));
}
}catch (Exception e){e.printStackTrace();}
}
Конкретно у него, он достает мани из нбт игрока и выводит в консольА применение какое?
пробовал напрямую в uuid писать - лямбда обязала через AR сделать.AtomicReference
в коде,который кинул тогда - да. дальше изменяю эту переменную и запаковываю обратно в игрока.выводит в консоль
согласись. код выглядит круче с лямбдой *голубая лунаа*(мун)(мун)пройдись по entrySet
мало того. осознанно,самописно и впервые.не к месту