Как поставить блок с NBT?

271
2
0
Как поставить блок с NBT? Например командный блок с уже написанной командой или сундук с предметами.
 
271
2
0
Можете подсказать? В каком классе генератор данжей с сундуками?
 
271
2
0
Мне нужен командный блок с уже написанной командой, а сундук я написал для примера.
 
271
2
0
Как поставить командный блок с уже написанной командой?
 
183
1
4
После установки блока тебе нужно получить TileEntityCommandBlock, из него получить CommandBlockLogic и у него вызвать func_145752_a(String), где в качестве аргумента указывается команда. Примерный код: 
Код:
//Допустим что у нас есть переменная world типа World.class, и она обозначает мир с твоим блоком
//Получаем TileEntityCommandBlock по координатам. x, y и z - координаты твоего блока
TileEntityCommandBlock commandBlockTile = (TileEntityCommandBlock)world.getTileEntity(x, y, z);
//Из полученного тайла получаем CommandBlockLogic
CommandBlockLogic commandBlockLogic = commandBlockTile.func_145993_a();
//Команда, которую мы хотим установить в командный блок
String command = "/do something";
//Записываем команду в CommandBlockLogic
commandBlockLogic.func_145752_a(command);
 
271
2
0
Спасибо!:D
 
135
0
RedEnergy написал(а):
Код:
//Допустим что у нас есть переменная world типа World.class, и она обозначает мир с твоим блоком
//Получаем TileEntityCommandBlock по координатам. x, y и z - координаты твоего блока
TileEntityCommandBlock commandBlockTile = (TileEntityCommandBlock)world.getTileEntity(x, y, z);
//Из полученного тайла получаем CommandBlockLogic
CommandBlockLogic commandBlockLogic = commandBlockTile.func_145993_a();
//Команда, которую мы хотим установить в командный блок
String command = "/do something";
//Записываем команду в CommandBlockLogic
commandBlockLogic.func_145752_a(command);
((TileEntityCommandBlock)world.getTileEntity(x,y,z)).func_145993_a().func_145752_a("/do something");
Без 3 лишних объектов.
 
183
1
4
Crowbar написал(а):
RedEnergy написал(а):
Код:
//Допустим что у нас есть переменная world типа World.class, и она обозначает мир с твоим блоком
//Получаем TileEntityCommandBlock по координатам. x, y и z - координаты твоего блока
TileEntityCommandBlock commandBlockTile = (TileEntityCommandBlock)world.getTileEntity(x, y, z);
//Из полученного тайла получаем CommandBlockLogic
CommandBlockLogic commandBlockLogic = commandBlockTile.func_145993_a();
//Команда, которую мы хотим установить в командный блок
String command = "/do something";
//Записываем команду в CommandBlockLogic
commandBlockLogic.func_145752_a(command);
((TileEntityCommandBlock)world.getTileEntity(x,y,z)).func_145993_a().func_145752_a("/do something");
Без 3 лишних объектов.
Целью было не только дать код под копи-паст, но так же объяснить что там вообще происходит. И оператор присваивания '=' еще не обозночает создания нового объекта.
 
135
0
Я знаю, но так как минимум короче. Я понимаю, что ты хотел объяснить, как оно работает.
 
271
2
0
А как выдать игроку этот к.б.
 
Сверху