Перейти к содержанию

vx13

Пользователи
  • Публикаций

    80
  • Зарегистрирован

  • Посещение

  • Победитель дней

    9

vx13 стал победителем дня 21 августа 2018

vx13 имел наиболее популярный контент!

Репутация

222 Хороший

1 Подписчик

Информация

  • Пол
    Не определился

Посетители профиля

333 просмотра профиля
  1. Этот параметр нигде не используется. И, по-моему, никогда не использовался. Поиск по истории даёт только два коммита с maxClipboard. В коммите, в котором было введено ограничение на длину строки, использовалось значение 1024. А сейчас реализация вставки другая.
  2. vx13

    Дубокоп

    краш в строке на 1.7.10 471 if item[slot].name == tool.name and item[slot].damage < tool.damage then Видно часть ошибки: (field '?') getAllStacks и getAllStacks().getAll() по-разному работают на разных версиях MC На 1.7.10: индексация массива из getAllStacks().getAll() начинается с 0, а не с 1. getAllStacks().getAll()[slot] для пустого слота возвращает пустую таблицу, а не таблицу с «воздухом» getAllStacks()[slot] для пустого слота возвращает nil, а не таблицу с «воздухом»
  3. На данный момент, похоже, никак. Метод worldObject.getBlockId - возвращает числовой id блока. Метод debug.scanContent, добавленный в 1.7.3 scanContentsAt(x: number, y: number, z: number[, worldId: number]):boolean, string, table должен вернуть 3 параметром таблицу с описанием блока/сущности, но возвращает строку вида "net.minecraft.block.BlockStone@46a488c2" (вероятно, баг). https://ocdoc.cil.li/component:debug
  4. Проверял на этих версиях модов, всё работает. ME-сеть минимальная: appliedenergistics2-rv3-beta-6.jar OpenComputers-MC1.7.10-1.7.2.1239-universal.jar OpenModsLib-1.7.10-0.10.jar OpenPeripheral-1.7.10-AIO-8.jar Нет. Если дамаг не указан будет выдан любой предмет с таким id.
  5. Значит нет предмета с таким fingerprint. Вот это код выведет список предметов в сети (id и dmg) for _, item in ipairs(component.me_interface.getAvailableItems()) do print(item.fingerprint.id, item.fingerprint.dmg); end
  6. А component.me_interface.getItemDetail({id="minecraft:dirt"}).all() что возвращает?
  7. Предмета нет в хранилище.
  8. me_interface.exportItem({ id = "IC2:itemOreIridium" }) id = name из inventory_controller.getStackInSlot()
  9. itemFingeprint (первый параметр exoirtItem) - это таблица: {id ="<ид предмета>", dmg = <метадата или прочность>, nbt = "<хэш nbt>"} nbt и dmg опциональны.
  10. local sides = { north = 2, south = 3, west = 4, east = 5, } local testN = 22 -- центр, реальные координаты local startX, startZ = 0, 0 -- кол-во кругов local radius = 2 -- расстояние между "кругами" local distance = 1 -- направление взгляда на поле -- нумерация идёт слева направо и сверху вниз local orientation = sides.north local step = distance + 1 local offset = radius*step local size = offset*2+1 -- преобразование виртуальной системы координат в реальную -- Minecraft -- -- z -- (-) -- north -- x (-) west east (+) x -- south -- (+) -- z -- условная система координат -- -- -- (-x) -- (-z) ^ (+z) -- (+x) -- ^ направление взгляда на поле -- нумерация идёт слева направо и сверху вниз local toRealFn = { [sides.east] = function(virtX, virtZ) return startX - virtX, startZ + virtZ end, [sides.south] = function(virtX, virtZ) return startX - virtZ, startZ - virtX end, [sides.west] = function(virtX, virtZ) return startX + virtX, startZ - virtZ end, [sides.north] = function(virtX, virtZ) return startX + virtZ, startZ + virtX end, } local d = radius*2+1 local maxN = d^2 local function getCoord(n) local xx, zz = math.floor((n-1)/d)*step-offset, math.fmod(n-1, d)*step-offset return toRealFn[orientation](xx, zz) end local n = 0 for xx = -offset, offset, step do for zz = -offset, offset, step do n = n + 1 local x, z = toRealFn[orientation](xx, zz) print(n, x, z) end end print("["..testN.."]".."=", getCoord(testN)) Вот вывод: radius=2, distance=1 1 -4 -4 2 -2 -4 3 0 -4 4 2 -4 5 4 -4 6 -4 -2 7 -2 -2 8 0 -2 9 2 -2 10 4 -2 11 -4 0 12 -2 0 13 0 0 14 2 0 15 4 0 16 -4 2 17 -2 2 18 0 2 19 2 2 20 4 2 21 -4 4 22 -2 4 23 0 4 24 2 4 25 4 4 [22]= -2 4 radius=1, distance=1 1 -2 -2 2 0 -2 3 2 -2 4 -2 0 5 0 0 6 2 0 7 -2 2 8 0 2 9 2 2 [8]= 0 2 Если не нужна нумерация слева направо и сверху вниз по направлению взгляда, то можно упростить код преобразования координат, захардкодив конкретное направление. Код преобразования координат нужно потестирвать.
  11. vx13

    Рыбалка #1 Оптимизация постройки

    @eu_tomat, твои компактные схемы не работают на 1.12. А оригинальный вариант (не эконом, от @Asior) работает. Похоже, робот должен располагаться над нитью. Вот мой компактный вариант:
  12. vx13

    Обновление OpenComputers до версии 1.7.3

    Не вырубаются. Добавили только белый/чёрный списки измерений и возможность установки в микроконтроллер.
  13. Этот метод для блоков с инвентарями добавляет мод OpenPeripheral. Возвращает массив таблиц с информацией о предметах. Индекс - это номер слота. Получить инфо о предмете в слоте N: component.chestname.getAllStacks()[N].all()
  14. При игре на сервере названия всегда на английском. Так как программа выполняется на сервере, а локаль сервера дефолтная английская.
  15. Если запускашь на сервере, то нужно добавить робота и мод в приват. Для WG: rg addmember приват ник_владельца rg addmember приват -n [OpenComputers]
×
×
  • Создать...