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

  • Автор темы Автор темы Sirse
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Кстати,с опом карьер и прочие механизмы работают...
AutoMessage, WorldEdit, FLockClient, ModFix, HexRestrict, HawkEye, LokiBlocker, Vault, CPFix, Modifyworld, PermissionsEx, GriefPrevention, PtFix, Essentials, ChatManager, EssentialsProtect, EssentialsSpawn, EssentialsChat
Мб подскажите еще чего можно убрать🙂

PtFix теперь часть ModFix, он не нужен. Modifyworld можно заменить на EssentialsAntiBuild
Так же ChatManager не нужен из-за наличия EssentialsChat.
Вместо PEX можно было бы использовать GroupManager, но это уже на любителя.
Всё равно не выходит.
Порядок моих действий.
Версия 1.4.7 фордж
minecraftforge-src-1.4.7-6.6.2.534.zip
Распаковываю mcp726a кидаю и инсталю фордж
в содцы закидываю
https://github.com/MinecraftPortCentral/Bukkit/tree/mcpc-api-147
https://github.com/md-5/SpecialSource

и поверх
https://github.com/MinecraftPortCentral/MCPC-Plus/tree/MC147

затем закидываю код мода
и в либы ядро MCPC+
Где ошибка на гитхаабе гдето так и написано

Вы бы ошибку кинули.
 
PtFix теперь часть ModFix, он не нужен. Modifyworld можно заменить на EssentialsAntiBuild
Так же ChatManager не нужен из-за наличия EssentialsChat.
Вместо PEX можно было бы использовать GroupManager, но это уже на любителя.


Вы бы ошибку кинули.
Код:
  symbol:  method getBukkitEntity()
 
  location: variable var2 of type EntityPlayer
 
src\minecraft\thaumcraft\common\items\wands\ItemWandExcavation.java:174: error: cannot find symbol
 
            org.bukkit.block.Block block = var2.worldObj.getWorld().getBlockAt(var5.blockX, var5.blockY, var5.blockZ);
 
                                                        ^
 
  symbol:  method getWorld()
 
  location: variable worldObj of type World
 
src\minecraft\thaumcraft\common\items\wands\ItemWandExcavation.java:178: error: cannot find symbol
 
            var2.worldObj.getServer().getPluginManager().callEvent(event);
 
                        ^
 
  symbol:  method getServer()
 
  location: variable worldObj of type World
 
src\minecraft\thaumcraft\common\world\WorldGenGreatwoodTrees.java:503: warning: [deprecation] getDungeonLootTries() in DungeonHooks has been deprecated
 
                    for (var13 = 0; var13 < DungeonHooks.getDungeonLootTries(); ++var13)
 
                                                        ^
 
src\minecraft\thaumcraft\common\world\WorldGenGreatwoodTrees.java:505: warning: [deprecation] getRandomDungeonLoot(Random) in DungeonHooks has been deprecated
 
                        ItemStack var19 = DungeonHooks.getRandomDungeonLoot(var2);
 
                                                      ^

Я портировал пару модов на версию mcpc буккит 1.4.6, а с этим вообще никак.
Если подключить ядро как либ это вообще идиотизм, там файлы уже после reobfuscate. Оно их не воспринимает как нужные классы. Единственный выход собирать ядро с модом???

К стати как раз тема. Дюп в таумкрафте 3.0.3(1.4.7) с арканой воркбенчем.
Как работает:
Выкладываем схему рецепта, ложем палочку, результат не забираем. Разбиваем стол и из него выпадает и результат и все ресурсы которые должны были использоваться.

Лечение заменить класс в моде на приложений ниже.
http://109.86.155.68/Utils.zip
 
@XenonRaite, Сам же и ответил "единственный выход собирать ядро с модом??? "
 
Так теперь другой вопрос. В MCPC++ в классе World есть функция
public CraftWorld getWorld()
{
return this.world;
}
И конечно же через еклипс в mcp её невидно. После подключения апи тоже. При рекомпиляции конечно-же краш. Но ведь она там есть!
Само ядро компилится без проблем. =) Правда в начале куча гемороя но потом как по маслу.
Если сорц мода закинуть в сорци сервера, тоже невидит классы(в смысле видет и видет что ему чего-то не достаёт и притом во всех ентититайтлах...)

Подскажите что делать?
 
чтож я придмал как вырезать опыт через плагин, хоть это и стрёмный метод, думаю скоро сделю
 
Можешь поведать? 🙂
Мы будем отслеживать клик по окнам инвентаря, проверять количство слотов которое есть в инвентаре(тот ещё хрновый способ хотя можно и обойтись и без него, но тут ещё больше вылезти может),
и если вдруг сверху оказывается инвентарь с 5ю или 3мя слотами то отменять получнеие опыта (точнее мы будем возвращать старый уровень игрока и его опыт через 1 тик) если кликнут слот 3 для всх печек, или 4,5 для индукционной.
О какой наркоманский способ.
ещё б главное баги не повылезли с остальными вещами с 3мя и 5ю слотами, ну да пофиг.
Можно правда проверять открыта ли печка или нет (тоже гемор с открыл-закрыл, ибо просто так не узнаешь что открыто блин), и соответственно если был клик по финальному слоту то отменять опыт (тут уже проще узнать финальный слот)
Больше наркомании
 
zhencshiny_19677446_orig_.jpeg
 
По другому никак, я уже кучу страниц исписал в последовательности пакетов и действий для попытки зацепится за обнаружение получения опыта в печке.
И кстати кто-нибудь пошлите пулл-реквест в mcpc+ чтобы они добавили в кониг возможность отключать опыт с печек.
Хотя можно и проще - пока печки открыты - опыт не идёт, но тогда если кто покидает банок в игрока - они ничего не дадут, ну да чёрт с ним.
И кстати нужно будет зафиксить стол в таумкрафте (если кто сборку кинет)И обновите шапку наконец уже.
 
По другому никак, я уже кучу страниц исписал в последовательности пакетов и действий для попытки зацепится за обнаружение получения опыта в печке.
И кстати кто-нибудь пошлите пулл-реквест в mcpc+ чтобы они добавили в кониг возможность отключать опыт с печек.
Хотя можно и проще - пока печки открыты - опыт не идёт, но тогда если кто покидает банок в игрока - они ничего не дадут, ну да чёрт с ним.
И кстати нужно будет зафиксить стол в таумкрафте (если кто сборку кинет)И обновите шапку наконец уже.
грин верстак же пофиксили давно как.
 
И кстати кто-нибудь пошлите пулл-реквест в mcpc+ чтобы они добавили в кониг возможность отключать опыт с печек.

Попробую добавить в сырцы тогл для этого дела, если получится - сделаю пуллреквест.
 
К стати насчёт бага в BackPack. Я деокмпилил посмотрел-почитал. Вообщем можно переписать функцию public ItemStack slotClick(int par1, int par2, int par3, EntityPlayer par4EntityPlayer) в файле ContainerBackpack
там как раз описан случай бинда кнопок. Далее в если else if (par3 == 2 && par2 >= 0 && par2 < 9) нажаты клавиши 0-9. Суть бага, он сохраняет итемстак с инвентарём, затем заменяет его на выбранный нами итемстак, и после записывает сохранённую сумку в другой слот. И уже в несуществующем контейнере проводит удаленее выбраного нами итемстака. Мне было лень фиксить я просто убрал эту функцию для бекпаков, могу скинуть класс "фикса" ))))

ЗЫ "фикса" спец. в кавычках, потому как толком ничего не фиксит а просто далит функцию и изкореняет баг 0-9 при этом без нагрузок плагинов проверки.
ДАААА!!!! Чёрт подери у меня это вишло!!!
Удалось повесть первый ивент(что делаю впервые)
Ивент для таум крафта на ванд екскавейжен. Запрещающий покапать на чюжой теретории.
УХХХУУ
Кому надо файл прикрепил. Тоже самое еще зделаю для предметов на пвп.
 

Вложения

Вот фикс для бакпаков на 0-9
@XenonRaite, Твой фикс лажа не работает, посох как грифил так и грифит приват.
Скачал перепроверил, всё отлично работает. =)
Нубяра че еще сказать 😁.
 

Вложения

С бэкпаками уже всё пофиккшено, а с вандоами всё проще - ловим клик через протоколо либ, смотрим блок который кликнули, вызываем на том блоке эвент, если эфент отменили - отменяем пакет.
 
Не прокатит. Потому что он стреляет без выделения блока. Еслиб он не стрелял издалека MachineGuard бы и так остановил. Потому что грифит уже не игрок, а ентити посоха.
ТО есть ты не должен навести на какой-либо блок чтобы оно выстрелило?
То есть можно навести в воздух и оно пульнёт? а как тогда попасть?
 
Блииин какой еще ентити! Траектория высчитывается по вектору активации . Затем берёся блок который попадается в таргет. Затем срабатывает моя проверка, если игрок не является владельцем территории, то блок разбития блока.
Кстати я наверно не договорил. Но фикс работает с WG(для него и делался). И работает превосходно. Не работал бы не выкладывал. Кидать в мод на сервере, а не в клиенте.
Работает через worldObj.getServer().getPluginManager().callEvent(event);
Если MachineGuard гуляет лесом то это его вина...
С бэкпаками уже всё пофиккшено, а с вандоами всё проще - ловим клик через протоколо либ, смотрим блок который кликнули, вызываем на том блоке эвент, если эфент отменили - отменяем пакет.
Искал не нашел. Как на меня лучше будет пофиксить проблему на корню, чем добавлять новую нагрузку на сервер.
 
Блииин какой еще ентити! Траектория высчитывается по вектору активации . Затем берёся блок который попадается в таргет. Затем срабатывает моя проверка, если игрок не является владельцем территории, то блок разбития блока.
Кстати я наверно не договорил. Но фикс работает с WG(для него и делался). И работает превосходно. Не работал бы не выкладывал. Кидать в мод на сервере, а не в клиенте.
Работает через worldObj.getServer().getPluginManager().callEvent(event);
Если MachineGuard гуляет лесом то это его вина...

Вимдимо не тот блок таки в таргет попадает, и ты кстати уверен что проверяешь правильно что ивент отменён?
А для сумок есть ModFix, плохо исскал значит(а остальные баги с сумками значит не фиксил да?)
 
Вимдимо не тот блок таки в таргет попадает, и ты кстати уверен что проверяешь правильно что ивент отменён?
А для сумок есть ModFix, плохо исскал значит(а остальные баги с сумками значит не фиксил да?)
Да он как раз у меня стоит. Я думал он только для форестри сумок. Не знал что уже фиксит и бекпаки.



@alexandrage,насчёт вас...
качество отстой но думаю видно будет.
Говоря упорот, нуб. Может вы сами иногда ошибаетесь. Я думал этот форум так как и написано "Мы - администраторы серверов Minecraft" для администраторов. Но что-то после ваших ответов, даже не знаю для кого действительно этот форум.
"Предупреждаю всех, проверяйте фиксы прежде чем ставить на паблик сервер. ItemWandExcavation.class не работает."
Вы меня действительно приравниваете ко всем, спорить не буду. Я всегда прежде чем выложить 300 раз проверю. Если вы поступаете иначе пожалуйста.
 
Да он как раз у меня стоит. Я думал он только для форестри сумок. Не знал что уже фиксит и бекпаки.



@alexandrage,насчёт вас...
качество отстой но думаю видно будет.
Говоря упорот, нуб. Может вы сами иногда ошибаетесь. Я думал этот форум так как и написано "Мы - администраторы серверов Minecraft" для администраторов. Но что-то после ваших ответов, даже не знаю для кого действительно этот форум.
"Предупреждаю всех, проверяйте фиксы прежде чем ставить на паблик сервер. ItemWandExcavation.class не работает."
Вы меня действительно приравниваете ко всем, спорить не буду. Я всегда прежде чем выложить 300 раз проверю. Если вы поступаете иначе пожалуйста.
Главное айдишники суок где 1-9 не должен работать не забыть в конфиг вписать.
А насчёт вашего спора - пусть каждй выложит своё видео, а потом посмтрим, может у вас просто методы проверки разные
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх