JLevi 41 Опубликовано: 23 августа, 2018 По моему роботы в OpenComputers теряют весь смысл без загрузчиков чанков. Но в самом моде они не подходят. Решил добавить свои. Простые загрузчики работают только в присутствии владельца, креативные не зависимо от владельца. Перед установкой необходимо активировать (щелкнуть правой кнопкой с загрузчиком в руке). Имя компонента "chunkloader" Методы: getOwner() setActive(boolean) isActive() При включении в конфиге registerCardChunkloader для крафта нужна будет использоваться специальная карта, которая может покупаться в магазине за UU. Зона охвата 3х3 чанка. Самому негде проверить работоспособность, думаю поможете. https://my-files.ru/acgt2w Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Гость Kartze Опубликовано: 23 августа, 2018 Но в самом моде они не подходят. ??? что в чанклодырях из ОС не так? они вполне нормально работали. к тому же их недавно проапгрейдили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
JLevi Автор темы 41 Опубликовано: 23 августа, 2018 Не знал про новые возможности, Надеюсь что Alex это учтет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vx13 2 271 Опубликовано: 23 августа, 2018 @@JLevi, владелец присваивается чанклоадырю при активации и записывается в nbt предмета? Такой ЧЛ должн работать и в микроконтроллерах и компьютерах. В моём варианте я получаю владельца через интерфейс Agent. А его реализуют только роботы и дроны; у мк нет владельца, а владельцем компьютера можно назначить любого игрока. Поэтому, если ЧЛ должны работать только при онлайне игрока, то работать они будут только в роботах и дронах. Кстати, в твоём варианте игрок, который постоянно зависает на сервере, может активировать ЧЛ-карты другим игрокам. Можно глянуть на сорцы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
JLevi Автор темы 41 Опубликовано: 23 августа, 2018 Игрок записывается в нбт. проверка идет по событиям playerLoggedIn и playerLoggedOut https://my-files.ru/8mzear Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vx13 2 271 Опубликовано: 23 августа, 2018 А ты на сервере тестировал? Учёл то, что спавн подгружен постоянно? Пробежался по коду, если правильно понял, вот что происходит при запуске сервера: сервер стартует загружаются миры при загрузке миров - загружаются тикеты загружаются тикеты - загружаются чанки с ЧЛ загружаются чанки с ЧЛ - вызывается метод onConnect в методе onConnect - ЧЛ добавляется в список и тикет освобождается тикет освобождается - чанки выгружаются чанки выгружаются - вызывается метод onDisconnect в методе onDisconnect - ЧЛ удаляется из списка Игрок заходит на сервер - а в списке нет его ЧЛ. Упс. Тоже будет если игрок вышел с сервера - ЧЛ удалится из списка и активировать его не получится. Я тоже думал поначалу, что достаточно подписаться на события входа/выхода игрока на сервер. При входе - грузим чанки; При выходе - выгружаем. Оказалось не всё так просто... В общем случае, нельзя освобождать тикет, если onDisconnect вызывается при выгрузке чанка. Его надо где-то сохранить для последующего восстановления. Так мы приходим к необходимости отслеживать событие ChunkUnload. Я в этом событии скидываю тикет обратно в restoredTickets и устанавливаю поле ticket в null, что предотвращает его освобождение. Прекрасно. Но что будет если в мире не осталось загруженных чанков? Он будет выгружен.Что будет, если мы попробуем форсировать чанк для тикета в выгруженном мире? Получим NullPointerException в ForgeChunkManager. Поэтому пришлость отслеживать событие WorldUnload. В этом событии я удаляю тикеты выгружаемого мира из restoredTickets. Буду рад если ошибаюсь, и твой код работает. И ещё. В методе updateLoadedChunk, ты сначала отменяешь форсирование всех 9 чанков тикета. А затем форсируешь чанки для новой позиции. Так как чанки выгружаются не мгновенно, то это будет работать. Но данный код будет вызываться при каждом перемещении робота, и с частотой tickFrequency для дрона. Лучше брать дельту. Как это сделано в OC. PS Мод не запускал. Попробую завтра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vx13 2 271 Опубликовано: 23 августа, 2018 Всё-таки попробовал запустить, на сервере:Скрин https://imgur.com/a/pIM6zwjЧанки не форсировались. Проверял через F6 (мод DimensionalAnchor) и команду /chunkloaders (не знаю кто ее добавляет, forge или ChickenChunks) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
JLevi Автор темы 41 Опубликовано: 25 августа, 2018 Доработал мод. Вроде работает. Для проверки сделал Test Block. Он просто пишет сообщения в лог, если чанк загружен. https://my-files.ru/hxg738 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vx13 2 271 Опубликовано: 25 августа, 2018 Не работает. Чанки не форисруются. Тикеты не запрашиваются. Установи моды Dimensional Anchor и ChickenChunks. Первый подсвечивает форсированные чанки. Второй добавляет команду /chunkloaders, которая открывает карту загруженных чанков. https://imgur.com/a/pWQ4cqi Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
JLevi Автор темы 41 Опубликовано: 3 сентября, 2018 vx13 спасибо за подсказки, особенно за ChickenChunks. Благо валяется ноутбук со сломанным монитором. Сделал из него сервер для проверки. Но времени не хватает катастрофически. Выкладываю для проверки https://my-files.ru/rt7wfc. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Гость Kartze Опубликовано: 3 сентября, 2018 @@JLevi, как ты вообще ссылки вставляешь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 3 сентября, 2018 @@JLevi, как ты вообще ссылки вставляешь? [...] Банально и невероятно очевидно же, что точка там случайно захватилась. Убери её просто. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
JLevi Автор темы 41 Опубликовано: 3 сентября, 2018 Kartze да, глупо получилось))) бывает https://my-files.ru/rt7wfc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах