Фикс Баги серверов с модами (Vanilla,MCPC)

  • Автор темы Автор темы Sirse
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
YaLTeR, и мне тоже скинь, буду благодарен)
 
Добавил разные эвенты в 401-вый билд IC2 (который на 1.6.2), такие как:
- Взрывы. Каждый блок проверяется BlockBreakEvent'ом, если хотя бы один блок не проходит, никакие блоки не разрушаются. То же самое с этитями (EntityDamageByEntityEvent). ВСЕ взрывы ЛОГИРУЮТСЯ в консоль сервера (координаты взрыва, название мира, игрок, "чей" это был взрыв), причем если не прошла какая-то проверка на эвенты, выводится соответствующее сообщение (с координатами или типом энтити).
- Лазер. Добавлена проверка BlockBreakEvent'ом, ну а взрывы - см. пункт 1.
- Шахтер. Не копает приват и не опускает в него трубы. При попытке это сделать - взрывается (без дамага, выпадает как сам шахтер, так и то, что в нем лежало - просто надо было придумать какой-то способ его отключить).
- Динамит и липкий динамит. Взрываются только те блоки и энтити, которые прошли проверки соответствующими эвентами.
- Чтобы что-то взорвало блоки / энтити, надо, чтобы оно передало в класс взрыва ник игрока, который этот взрыв сделал. Такая штука добавлена в стандартные машины (включая те, что из модов и не особо перезаписывают стандартную функциональность), генератор материи (он отдельно), ядерный реактор, лазер, ИТНТ (чтобы ими можно было пользоваться).
- Компрессор с помпой. Тот же баг, что и в 364 билде (и т. д.) - при установке помпы рядом с компрессором игра слетает. Исправлено.

Как обычно, если кому-то надо - ко мне в скайп.
Сможешь сделать такой же, но для 1.4.7? Хороший сервер - это тот сервер, на котором запрещено только несколько блоков или предметов.
 
Имеется мод Грегтеч. Имеются разрушения блоков при неправильном вольтаже подключения механизмов. Как убрать разрушение блоков от взрыва техники?
1.5.2 версия майна.
 
Последнее редактирование:
Имеется мод Грегтеч. Имеются разрушения блоков при неправильном вольтаже подключения механизмов. Как убрать разрушение блоков от взрыва техники?
1.5.2 версия майна.
Подправить силу взрыва в классе:
gregtechmod\api\metatileentity\BaseMetaTileEntity.class
 
Нашёл баг, в моде ProjectRed-1.5.2-3.2.0.32 нельзя скрафтить Draw Plate (9282), всё делал как на скрине
Grid_%D0%96%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B9%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BD%D0%B5%D0%BB%D0%B8_%28RedPower2%29.png

Но в итоге
2013-10-20_19.36.26.png
 
Некоторые знают, что в Forestry есть такая штука, которая проверяет моды на клиенте и не дает майнкрафту запуститься, если какой-то мод не проходит проверку "на вшивость" (например, если вы меняли что-то в том же IC2). Для майнкрафта 1.5.2 эта проверка легко выпиливается в JBE, но при попытке сделать это в форестри для 1.6.2 я столкнулся с некоторыми проблемами. Поэтому я решил сделать универсальный выпиливатель, который достаточно положить в папку mods.

Проверил на Forestry 2.3.0.6, на майнкрафте 1.6.2 с измененным IC2. По идее должно работать на майнкрафте 1.6.х для любых Forestry, но пока времени проверять их не было.

Скачать можно тут, исходники (вместе с самой последней версией в любой момент времени) там.
Для тех, кто не умеет читать в танке, кладем в папку mods на клиенте. На сервере класть бесполезно, там все равно ничего не проверяется.
Только для майнкрафта 1.6.х.

То, что в меню модов Forge написано, что мод отключен (disabled), это нормально, так как он делает свое дело при запуске майнкрафта, а дальше отключается.
 
Также легко выпиливаеть и из 1.6.2 с помощью cjbe, не заню в чём проблема у тебя.
 
Нашёл баг, в моде ProjectRed-1.5.2-3.2.0.32 нельзя скрафтить Draw Plate (9282), всё делал как на скрине
Grid_%D0%96%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B9%D0%BA%D0%B0_%D0%BF%D0%B0%D0%BD%D0%B5%D0%BB%D0%B8_%28RedPower2%29.png

Но в итоге
2013-10-20_19.36.26.png

Там упорото реализована поддержка микроблоков в рецептах. Я изменил рецепт на следующий:
ПУСТО-ПУСТО-ПУСТО
Железный блок- Алмазный Блок - Железный блок
ПУСТО-ПУСТО-ПУСТО
Идея чья-то, не помню уже. Вот класс для фикса - https://dl.dropboxusercontent.com/u/92042582/Files/MineCraft/Client Fixes/Draw Plate Recipe Fix.zip
Работоспособность не проверял.
 
Как уменьшить радиус взрыва Mass Fabricator из мода industrial craft 2 ?
 
Там упорото реализована поддержка микроблоков в рецептах. Я изменил рецепт на следующий:
ПУСТО-ПУСТО-ПУСТО
Железный блок- Алмазный Блок - Железный блок
ПУСТО-ПУСТО-ПУСТО
Идея чья-то, не помню уже. Вот класс для фикса - https://dl.dropboxusercontent.com/u/92042582/Files/MineCraft/Client Fixes/Draw Plate Recipe Fix.zip
Работоспособность не проверял.
А на сервер пойдёт?
 
Также легко выпиливаеть и из 1.6.2 с помощью cjbe, не заню в чём проблема у тебя.
CJBE? Не знал о таком. Наверное, в этом и была проблема - я правил с помощью JBE. У меня в результате слетало с NoClassDefFoundError'ом.
 
CJBE? Не знал о таком. Наверное, в этом и была проблема - я правил с помощью JBE. У меня в результате слетало с NoClassDefFoundError'ом.
Это не имеет значения, ты просто не так правил. Нужно сохранить все вызовы виртуальных методов и количество строчек чтобы работало.
Это не так просто но я нашёл способ меняя всего две строчки сделать это.
Кстати раз уж есть время пойду 1.3.0.6 крякну,
 
Это не имеет значения, ты просто не так правил. Нужно сохранить все вызовы виртуальных методов и количество строчек чтобы работало.
Это не так просто но я нашёл способ меняя всего две строчки сделать это.
На 1.5.2 так же правил и все работало. Так добавлял эвенты в вайру из грависьюта, все тоже работало. Так что я все же виню jbe. 🙂
 
"Имеется мод Грегтеч. Имеются разрушения блоков при неправильном вольтаже подключения механизмов. Как убрать разрушение блоков от взрыва техники?
1.5.2 версия майна.
"

Проблема ещё не решена... можете подсказать ещё способы?...
 
Кстати раз уж есть время пойду 1.3.0.6 крякну.
А с моей штукой не потребуется даже ничего в ней заменять, когда новая выйдет. 😉
Как уменьшить радиус взрыва Mass Fabricator из мода industrial craft 2 ?
ic2\core\block\machine\tileentity\TileEntityMatter.class
Он там жестко прописан, быстрее всего при отсутствии под рукой специальных инструментов исправить с помощью JBE.
 
А с моей штукой не потребуется даже ничего в ней заменять, когда новая выйдет. 😉

ic2\core\block\machine\tileentity\TileEntityMatter.class
Он там жестко прописан, быстрее всего при отсутствии под рукой специальных инструментов исправить с помощью JBE.
Хм, кейсов проверки стало больше.
Кстати если форестри применит exit вместо halt, твоя проверка не поможет. Либо любой другой метод выключения.

Хотя мне нравится твой метод, он универсален.

Кстати чисто для справки, на сервере тоже проверяется валидность модов.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ