- Баллы
- 173
Ну и логично, что скажем у таблички нету InventoryHolder.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Любого блока, не только блока с инвентарём. Те же таблички например, или командные блоки.Ну все ванильные должны иметь InventoryHolder
Ну оно актуально для всех InventoryHolder, вторая ифка не в счет.https://github.com/kostaskougios/cloning/
Твой ответ корректен только для уникальных классов. molor же хочет одну реализацию для всего, что реализует BlockState. И хочет он это красиво, а не как обычно.
Любого блока, не только блока с инвентарём. Те же таблички например, или командные блоки.
Ну и логично, что скажем у таблички нету InventoryHolder.
Block block =e.getClickedBlock();
BlockState state = block.getState();
if(state instanceof InventoryHolder) {
InventoryHolder chest = (InventoryHolder)state;
ItemStack[] stacks = chest.getInventory().getContents().clone();
}
if(state instanceof Sign){
Sign signs = (Sign) state;
String[] lines = signs.getLines().clone();
}
if(state instanceof CommandBlock){
CommandBlock cb = (CommandBlock) state;
String com = cb.getCommand();
}
Сохраняется в параметр.Я не знаю как он там называется, но сигнатура та же, что у save (void с параметром NBTTagCompound).