[1.6.4] WorldSavedData

435
1
В общем есть у меня WorldSavedData, он грузится/создается для мира вот так:

Код:
    @ForgeSubscribe
    public void onWorldLoad(WorldEvent.Load event)
    {
        loadOrCreateData(event.world);
        data.getData().setInteger("blowOut", 100);
        data.markDirty();
    }
    
    public SSWWorldData data;
    
    public String getTagName() {
        return "sswWorld";
    }
    
    public final void loadOrCreateData(World world) {
        if (data == null) {
            data = (SSWWorldData) world.perWorldStorage.loadData(SSWWorldData.class, getTagName());

            if (data == null) 
            {
                data = new SSWWorldData(getTagName());
                world.perWorldStorage.setData(getTagName(), data);
            } 
            else 
            {
                NBTTagCompound compound = data.getData();
            }
        }
    }

И у меня есть тик хэндлер для мира. Теперь вопрос: как получить мой WorldSavedData с уникальным именем (sswWorld) в тик хэндлере?
[merge_posts_bbcode]Добавлено: 22.05.2015 08:52:47[/merge_posts_bbcode]

Ах вот сам WorldSavedData
Код:
public class SSWWorldData extends WorldSavedData
{
    private NBTTagCompound data = new NBTTagCompound();

    public SSWWorldData(String tagName) {
        super(tagName);
    }

    @Override
    public void readFromNBT(NBTTagCompound compound) {
        data = compound.getCompoundTag("sswWorld");
    }

    @Override
    public void writeToNBT(NBTTagCompound compound) {
        compound.setTag("sswWorld", data);
    }

    public NBTTagCompound getData() {
        return data;
    }
}
 
Значит проблему решил. Закрыто.
 
Dovakin написал(а):
Для подгрузки использовал
Код:
    public final void loadOrCreateData(World world) {
        if (data == null) {
            data = (SSWWorldData) world.perWorldStorage.loadData(SSWWorldData.class, getTagName());

            if (data == null) 
            {
                data = new SSWWorldData(getTagName());
                world.perWorldStorage.setData(getTagName(), data);
            } 
            else 
            {
                NBTTagCompound compound = data.getData();
            }
        }
    }
а потом дату юзал.
 
Назад
Сверху