- 8
- 0
Первый вариант: генерировать определённые предметы в уже находящихся пустых ванильных сундуках в мире. Определить подходящий сундук я смог с помощью события "DrawBlockHighlightEvent", а именно его координаты, но не привязанный к нему инвентарь. Я не нашёл способа изменять инвентарь ванильного сундука, который уже есть в мире.
Есть другой вариант, который так же мне подходит: при срабатывании события "DrawBlockHighlightEvent" (или любого другого подходящего события), получать координаты ванильного сундука и ставить на его место мой сундук, внешне ничем не отличающийся от ванильного. В своём сундуке я уже лучше понимаю, как сгенерировать предметы, но есть другая проблема: каким бы образом я не старался сломать ванильный сундук, он всё равно остаётся.
Я пробовал removeTileEntity, setBlockToAir, func_147480_a (destroyBlock), breakBlock. В итоге сундук либо полностью остаётся, либо от него остаётся "фантомный" блок. На место этого фантомного блока можно поставить блок с помощью worldIn.setblock, но по правому клику по этому блоку открывается сундук, а иногда вообще поставленный блок исчезает и снова появляется сундук. "Фантомный" блок у меня получилось убрать только в самой игре командой /setblock ~ ~ ~ minecraft:air
Так же был вариант, который я так и не смог опробовать: выполнить каким то образом команду "/setblock ~ ~ ~ minecraft:air" из кода, но так и не нашёл как это сделать.
Под "фантомным" блоком я имею ввиду невидимый блок, на место которого не получается поставить блок, сыпучие блоки сверху на нём стоят, при попытке пройти через этот блок, персонаж начинает дёргаться в направлении от и к блоку.
Есть событие "GuiOpenEvent", но у меня не получилось получить из него ничего нужного.
Заранее спасибо всем тем, кто попытается ответить на мой вопрос.
Есть другой вариант, который так же мне подходит: при срабатывании события "DrawBlockHighlightEvent" (или любого другого подходящего события), получать координаты ванильного сундука и ставить на его место мой сундук, внешне ничем не отличающийся от ванильного. В своём сундуке я уже лучше понимаю, как сгенерировать предметы, но есть другая проблема: каким бы образом я не старался сломать ванильный сундук, он всё равно остаётся.
Я пробовал removeTileEntity, setBlockToAir, func_147480_a (destroyBlock), breakBlock. В итоге сундук либо полностью остаётся, либо от него остаётся "фантомный" блок. На место этого фантомного блока можно поставить блок с помощью worldIn.setblock, но по правому клику по этому блоку открывается сундук, а иногда вообще поставленный блок исчезает и снова появляется сундук. "Фантомный" блок у меня получилось убрать только в самой игре командой /setblock ~ ~ ~ minecraft:air
Так же был вариант, который я так и не смог опробовать: выполнить каким то образом команду "/setblock ~ ~ ~ minecraft:air" из кода, но так и не нашёл как это сделать.
Под "фантомным" блоком я имею ввиду невидимый блок, на место которого не получается поставить блок, сыпучие блоки сверху на нём стоят, при попытке пройти через этот блок, персонаж начинает дёргаться в направлении от и к блоку.
Есть событие "GuiOpenEvent", но у меня не получилось получить из него ничего нужного.
Заранее спасибо всем тем, кто попытается ответить на мой вопрос.