оффлайн EntityPlayer

Версия Minecraft
1.12.2

will0376

Токсичная личность
2,072
55
584
Ну ну, потом ахринеешь от визгов, что сервер/клиент(в случаи если в одиночке мод) лагает
Пф *голубая луна* ну или залезу ОПЯТЬ в FTBMoney и переделаю его систему под БД. а там только ник и нужен.
 
7,099
324
1,510
Сбрасывать часть работы на бд - разве это плохой подход?
 

will0376

Токсичная личность
2,072
55
584
Вдруг кому мой говнокод понадобится:
Код:
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();
    }

Java:
    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();}
    }
 
Последнее редактирование:
3,005
192
592
Сверху