- 16
- 2
- 0
Всем привет!
Вопрос: как в зависимости от того куда смотрит мой блок, получить в том направлении инвентарь блока(если он есть),
чтобы в последующим взаимодействовать с ним?
Я смотрел код воронки, так и не понял как она получает инвентарь, у меня тот код находил только инвентарь моего же блока.
тот код:
Вопрос: как в зависимости от того куда смотрит мой блок, получить в том направлении инвентарь блока(если он есть),
чтобы в последующим взаимодействовать с ним?
Я смотрел код воронки, так и не понял как она получает инвентарь, у меня тот код находил только инвентарь моего же блока.
тот код:
Java:
@Nullable
private static Inventory getInventoryAt(World world, double x, double y, double z) {
List<Entity> list;
BlockEntity blockEntity;
Inventory inventory = null;
BlockPos blockPos = BlockPos.ofFloored(x, y, z);
BlockState blockState = world.getBlockState(blockPos);
Block block = blockState.getBlock();
if (block instanceof InventoryProvider) {
inventory = ((InventoryProvider)((Object)block)).getInventory(blockState, world, blockPos);
} else if (blockState.hasBlockEntity() && (blockEntity = world.getBlockEntity(blockPos)) instanceof Inventory && (inventory = (Inventory)((Object)blockEntity)) instanceof ChestBlockEntity && block instanceof ChestBlock) {
inventory = ChestBlock.getInventory((ChestBlock)block, blockState, world, blockPos, true);
}
if (inventory == null && !(list = world.getOtherEntities(null, new Box(x - 0.5, y - 0.5, z - 0.5, x + 0.5, y + 0.5, z + 0.5), EntityPredicates.VALID_INVENTORIES)).isEmpty()) {
inventory = (Inventory)((Object)list.get(world.random.nextInt(list.size())));
}
return inventory;
}