Записать данные в блок

Версия Minecraft
1.7.10
236
4
22
Всем привет. Такой вопрос... Я гуглил по поводу того, как записать данные в блоки. Нагуглил, что нужно наличие TileEntity у блока. Вопрос такой: могу ли я как-то зарегистрировать tile для блоков из других модов при инициализации моего мода либо в процессе игры? Пробовал #block.createTileEntity(e.world, 1); - ничего не изменяется, ибо #block.hasTileEntity() возвращает false всё равно. Если же нельзя регистрировать тайлы на "чужие" блоки из модов - где посоветуете для них сохранить String переменную? И последний вопрос - как записать/прочитать NBTTagCompound в блоке? С ItemStack быстро разобрался, а с блоком не очень понятно. Если не лень вам - приведите примеры кода записи/чтения переменной в блоке и регистрацию тайла для блока без него. Ну или хотя бы дайте ссылочки на источники где можно разобраться как регать тайл на блоки из ванилы/других модов и записывать в них NBT. Заранее спасибо всем.
 
477
7
51
Боже на форуумее столько примеров по этому бреду + можно скачать почти любой мод где есть блоки(нормальные) и там будет тайтл
Что за херь? Данил ты вопрос прочитай в чем именно, а не нагнетай на человека.
Вопрос его -
могу ли я как-то зарегистрировать tile для блоков из других модов при инициализации моего мода
Ну давай тогда уж примеры этого раз много, либо отвечай сам.

могу ли я как-то зарегистрировать tile для блоков из других модов при инициализации моего мода либо в процессе игры
Ты хочешь блоку из не своего мода сделать тайл?
 
Последнее редактирование:
477
7
51
Если не лень вам - приведите примеры кода записи/чтения переменной в блоке и регистрацию тайла для блока без него
А вот тут, нужно желание погуглить, ведь и правда есть в интернете или же на форуме.

(1.12 - Tile Entity - MC Modding Учебник на будущие)

по факту регистрация в инит -
GameRegistry.registerTileEntity((Твой класс тайла)TileEntity.class, "как звать твой тайл?");

Код с просторов форума
(Возможно, что-то не так, но всё же поковыряй)
Java:
    @Override
    public void readFromNBT(NBTTagCompound nbtTagCompound){
        super.readFromNBT(nbtTagCompound);
       int info = nbtTagCompound.getInteger("info");
    }

    @Override
    public  void writeToNBT(NBTTagCompound nbtTagCompound){
        super.writeToNBT(nbtTagCompound);
        nbtTagCompound.setInteger("info", 100);
    }
 
7,099
324
1,510
236
4
22
Ты хочешь блоку из не своего мода сделать тайл?
Да, именно это, для того чтобы присвоить ему переменную.
Ну как сказать... Там к сожалению почти всё на 1.12.2 - не всегда с 1.7.10 катит. К тому же я новичок в Forge. Я на Spigot писал раньше.
Можно, чекай AstralSorcery
В чужом коде плохо шарю. Но походу прийдётся разбираться + гуглить xD
 
236
4
22
А можно ли записать не в блок, а например в YML данные? Примерно так:
Код:
'world:-156:14:-1114': Player151
'world:356:141:-5214': Player150
и есть ли более лучшие способы записать данные в виде Координаты:Ник? Если да - посоветуйте :)
 
7,099
324
1,510
Если нужно записывать в свой файл, то попробуй написать кастомную загрузку с нуля. Помогут события WorldEvent.Load/Save а также у DimensionalManager был метод, возвращающий путь до папки сохранения мира
 
Сверху