whiskas
-
Публикации
392 -
Зарегистрирован
-
Посещение
-
Победитель дней
17
Сообщения, опубликованные пользователем whiskas
-
-
В МЕ есть АПИ методы для того что б вернуть определенные предметы. Если юзать эти АПИ методы тогда проблем з ОЗУ не должно быть. Назву метода не помню но думаю можешь проверить все методы.
Я когдато делал похожую програму. Можеш глянуть методы которые я юзал https://github.com/salimAbdulIt/opencraftnet/blob/1.7.10/balancer/balanceService.lualocal itemFromMe = component.me_interface.getItemDetail({ id = item.name, dmg = item.dmg }).basic()
-
Когдато делал прожку которая автомутирует пчелок. Вот парочку моментов:
1) Нельзя автоматизировать пчелиный улей. (Можна только пасеку или биг улей)
2) Нельзя ставить/убирать рамки из пасек.
3) Метаданные о пчелах (все их особенности) можна получить из пчелы. Но перед этим нужно ее проанализировать. Автоматичиски это можна сделать только через анализаторы которые блочные.
4) В пасеки есть АПИ для получения всех возможных рецептов пчелок (мутаций).
PS: Рамки в пасеку нельзя запхать никак. Только руками. Ни воронка ни ОС ни любой другой мод не видит слоты рамок.-
1
-
-
а я и не знал что мы уже переквалифицировались в решение задач из информатики. Попроси chat GPT. Думаю поможет
вот ответ от него
def get_divisors_sum(n): divisors_sum = 0 for i in range(1, int(n**0.5) + 1): if n % i == 0: divisors_sum += i if n // i != i: divisors_sum += n // i return divisors_sum max_divisors_sum = 0 number_with_max_divisors = None for num in range(268220, 270336): divisors_count = 0 for i in range(1, int(num**0.5) + 1): if num % i == 0: divisors_count += 1 if divisors_count > 4: break if divisors_count <= 4: divisors_sum = get_divisors_sum(num) if divisors_sum > max_divisors_sum: max_divisors_sum = divisors_sum number_with_max_divisors = num print("Число с максимальной суммой делителей, имеющее не более четырех делителей:") print("Число:", number_with_max_divisors) print("Сумма делителей:", max_divisors_sum) print("Количество делителей:", divisors_count)-
1
-
-
OC тяжелее юзать иза ограничений в памяти и ограничений в действиях. Но это позволяет делать ефективные решения. Помню когда я свою БД писал на ОС. Мне пришлось создавать индексы как в реальной БД что б все ускорить.
Помимо этого в ОС более функционален. Возьмем как пример робота из ОС - он может делать почти все что игрок и потому много кул програм было написанно: выведенние растений ИК с топ геном, пчеловод (выводит нужные мутации в форестри), шахтер с лазером из ИК, всякие шахтеры з норм инструментами (даж чареными) а не киркой что не ломается.В ОС даж есть специальный тип роботов (дрон). Он не считается блоком - он ентитя. Потому он позволяет тоже делать много интересных програм. И мне очень нравится что в ОС все идет на енергии а не как в СС (черепашки на угле. Притом тратят уголь ток что б двигатся. Остальные дейсвия бесплатные)
Помимо этого в ОС даже есть интеграция с многими плагинами/модами. Например роботы не могут ломать чужые приваты (могут ломать ток приваты того кто его поставил).Потому я топлю за ОС. Правда очень большой минус это то что его забросили. Последняя версия для майна 1.12.2. Хотя там люди работают над портированием его на новые версии - даже ПР уже сделан. Но я б не ожидал что ктото его закончит
-
4
-
-
Когда то была идея сделать нормальные коллекции для OC. К примеру как в джаве. Всякие ArrayList, LinkedList, HashMap, TreeSet, ... .
Потом я подумал о том что б сделать эти коллекции с записям данных на диск. Но сами понимаете записывая в 1 файл быстро упрёмся в лимит по ОЗУ. Да и парсить большой файл ради 1 элемента глупо. И тут я нашел интересную штуку под названием unmanaged drive
Сначала я ставился скептически к нему. Думал все равно будет долго и тд. Но позже решил провести тестирование перфоменса
Я решил сначала попробовать записывать в сектора. И увидеть сколько операций можно сделать в 1 секунду.
И результаты меня приятно удивили. Я смог записать в 1280 секторов (1 сектор = 512 bytes) за чуть больше 1 секунды.
\
Но позже мое тестирование немного огорчило меня. Но все равно этот диск даже с этой проблемной очень быстрый.
Я провел тот же эксперимент, но уже записывал в сектора не по порядку. В предыдущем тесте я записывал в первый сектор потом во второй и тд.
В этом тесте я записываю в 1 потом в 32 потом 64 и потом когда дойду до 1024 возвращаюсь к 2 и тд ...
В этом случае запись в файл заняло 4 секунды против 1.33. Получается диск, работает приблизительно, как и реальный диск. Где двигать каретку это дорогостоящая операция.
Но даже в таком случае перфоманс меня устраивает.
В следующем тесте показывается что чтение быстрее чем запись в 2 раза.
Позже я реализовал какую не какую TreeMap. Очень сырую, но сделал для тестирования перфоменса в реальных условиях.
Мапка была сырая с багами и тд. Также и либка что позволяет работать с unmanaged disk тож баганутая и сырая. Но я смог увидеть реальные результаты.
Я записывал в пустую мапку 1000 элементов поочереди. То есть не какой-то putAll механизм. А простой put вызвал 1000 раз.
На запись этих 1000 элементов ушло 43 секунд. Что очень даже неплохо. ~23 элементов в секунду. Притом что это можно ускорить раз в 100 реализовав putAll метод. Далее я попытался прочить 1000 элементов по ключах. И на это ушло 17 секунд.
Также и при тестирование так как код сырой делалось много лишних движений. Без каких думаю все б работало быстрее. И также небыло механизма балансировки дерева что может сильно повлиять на результат
Притом прошу заметить что это TreeMap а не HashMap. HashMap был бы в раз 10 точно быстрее.
Выходит что при помощи unmanaged drive мы можем легко обойти 1 тик штрафа при открытии файла. И записывать и читать данные намного быстрее.
Также мы можем хранить данные в них, а не в ОЗУ используя коллекции. Экономя очень много памяти.
-
2
-
1
-
-
-
3 часа назад, Taoshi сказал:А разве по умолчанию не выбираются лучшая видеокарта и лучший экран? Или вас интересует 'лучший экран' по размерам в игре?
Правда. Никогда еще не делал компютер первого или второго лв для программ. Только ради дюпа делал их ибо их быстрее скрафтить). Сейчас делаю ток серверные компы.
-
1 час назад, prop сказал:Создается мир с фиксированными версиями IC2 и OC, строиться модель, проводятся замеры.
Здесь скорее все теоретики. Врятли даже майн еще играют. Лень будет комуто такое строить. Так что можеш сам это замутить и нам написать.
Хотя могу ошибатся и ктото всетаки захочет сделать такое.
-
16 часов назад, eu_tomat сказал:Для ненагруженного сервера такое увеличение нагрузки не критично, но там и защита от лагов не требуется. Редкие микролаги не сильно мешают. Зато на перегруженном сервере каждая дополнительная операция в серии увеличивает шанс не закончить её в отведённое время.
А при чем тут перегруженость сервера? Если ТПС сервера 10 тогда и реактор работает в 2 раза медленее и комп также.
Если считать по тикам ибо реактор дает в любом случае енергию каждый тик. А нагревается он в свой реакторный тик.
Хай будет N количество стержней.
Выходит если заменять с отключением тогда ты теряеш енергию с всего реактора (R) на протяжение 4 тиков = 4R
А если менять с освобождением 1 клетки от стержня получается 5 тиков (забрать, поставить новый теплово, поменять местами, забрать поломаный, поставить назад стержень). И мы теряем на протяжение замены всего 1/N * 5R. Что в много раз меньше чем предедущий вариант.
А если менять с освобожением от всех стержней задействуваных тогда +- (точно считать не хочу) (буду считать что нужно 3 стержня убрать. 8 тиков.
И мы теряем 3/N * 5R (даж немного меньше ибо на 1 тике ток 1 стрежня нету, на втором ток 2х, на третем всех 3х)
-
3 часа назад, eu_tomat сказал:Можешь объяснить в каких случаях такой способ замены предпочтительнее полного останова реактора?
Чесно говоря я не хочу сейчас считать сколько оно выиграет. Но уверен что намного быстрее будет работать ибо конденсаторы и так нужно менять в различное время (они ломаются все поразному). И проблема полной остановки в том что ты офаеш фул реактор что б заменить 1 тепловод. Количество инцедентов этот способ не увеличит (или увеличит не на много). Но 1 инцедент вместо 4х операций будет делать около 6-8
-
И в конце замены можеш стержень назад возвращать)
-
3 минуты назад, Teen_Romance сказал:два стержня убрать
Одного хватит в любой схеме. Пофиг что он используется на 1/1000 за ту секунду что будет около 1 стержня
-
1
-
-
Впринципе можна менять конденсаторы через метод из openPeripheral.swapStacks. Просто нужно будет иметь в реакторе 1 пустую клетку. Всегда туда ложить целый конденсатор и потом менять его с поломаным. В этом случае реактор никогда не останется без конденсатора и можна будет заменять их не офая реактор.
Второй способ вынимать стержни урана (моха) которые охлаждает данный конденсатор. В этом случае отключение реактора будет точечное и не сильно будет влиять на общую прыбыль.
-
1
-
1
-
-
Писать код мне лень уже. Потому оставлю только инфу. В мире минекруфта очень мало казиков было сделано. Самое лучшее это мое с кровьякой
1). Казино (мое с кровякой).
Сылка - https://github.com/salimAbdulIt/OpenComputers-Casino
Поставить изично. Работать будет. Из сложностей это запустить игру на вещи.
Скрин не последней версии потому количество игр и меню может отличатся
Скрин:
2. Казино из серверов MCskill. Создатель SkyDrive_
сылка - https://pastebin.com/Zmyfjetp.
Поставить сложностей нету. Только проблема в том что казино админское. Потому нужно будет переписать немного кода.
Скринов нету.
-
1
-
1
-
-
1 час назад, kifrid сказал:Где можно сборку чекнуть?
Скачать )
-
1
-
-
9 минут назад, kifrid сказал:А что там по версиям?
Последняя. 1.7.5. Майнкрафт 1.7.10
-
1
-
1
-
-
14 минуты назад, kifrid сказал:На каком сервере кристаликса поиграть с OC можно?
Я думаю что на всех техничиских серверах. Но точно ОС есть на ТМ и НеоТех
-
1
-
1
-
-
Dreamfinity? --- хз
cristalix? --- время от времени чанки вайпаются сами по себе. Иногда приходиш а МЕ сети уже нету
. Но такто раздрешено почти все. Чанклодеры имбоавтофермы. И намного больше модов чем на других проектах
mcskill? --- у админов этого сервера фетиш на то что б небыло автоферм. Потому там нужно жить в шахте. Да и они жёсткие противники чанклодеров. Только на грег теч они осталсь. Но с плюсов ОС даж есть на магике и питается он маной. P.S. на 1.7.10 серверах ОС версии 1.7.2
-
1
-
-
Ехх. А это была моя первая прога которую я написал с 0. Та первая версия что я выложил. Код ппц какой гавнокод. Но идея топ проверять что игрок на сервере добавлением его в комп. Кто знал что майнкрафт сделает из меня программиста.
-
2
-
1
-
-
3 часа назад, Sasiso4kaS сказал:но работать будет очень нестабильно
Можна просто при заменне офать реактор. И тогда все работать будет
-
А есть ли ограничение на размер 1 файла?
-
1
-
-
Использовать вещи не поназначению -_-. Я так когдато пытался подключить 2 компа к 1 монитору и общатся через него). Ибо у сетевой карты задержка 1 тик а вдруг монитор смог бы быстрее. Я уже не помню получилось или нет. Ну подключить точно получилось. Компы общались. Но быстрее чем 1 тик не помню
-
1
-
-
13 часа назад, Asior сказал:Анализ слотов с конденсаторами будет нереально долгий, увы но на старой версии нельзя за 1 тик получить данные со всего инвентаря.
Openperipheral в помощ. Он и на старой версии имеет метод getAllStacks. Я думаю он там есть. Просто автор не указал. Ибо сервер из старой ОС и малым ТПС это только мцскил.
+ внесу свою лепту в обсуждение. 2 компа могут почти одновременно забирать и возвращать целый конценсатор в реактор. Сложность только их вместе заставить работать
-
1
-
-
да дерево это понятно что круто. Но я думаю легче будет сделать хеш таблицу
-
1
-

Прекрафт OC+AE2
в Инфраструктура
Опубликовано:
Я думаю он имел в виду что разобрался з фильтрами для метода. В твоем примере ты тянеш все рецепты из МЕ что может призвести к нехватке ОЗУ.