1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Управление сервером Bukkit", создана пользователем Sirse, 5 фев 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Sirse

    Sirse Старожил Пользователь

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

    XenonRaite Активный участник Пользователь

    Баллы:
    68
    Код:
      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
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    @XenonRaite, Сам же и ответил "единственный выход собирать ядро с модом??? "
     
    zuma2 нравится это.
  4. XenonRaite

    XenonRaite Активный участник Пользователь

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

    Подскажите что делать?
     
  5. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    чтож я придмал как вырезать опыт через плагин, хоть это и стрёмный метод, думаю скоро сделю
     
  6. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Можешь поведать? :)
     
  7. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Мы будем отслеживать клик по окнам инвентаря, проверять количство слотов которое есть в инвентаре(тот ещё хрновый способ хотя можно и обойтись и без него, но тут ещё больше вылезти может),
    и если вдруг сверху оказывается инвентарь с 5ю или 3мя слотами то отменять получнеие опыта (точнее мы будем возвращать старый уровень игрока и его опыт через 1 тик) если кликнут слот 3 для всх печек, или 4,5 для индукционной.
    О какой наркоманский способ.
    ещё б главное баги не повылезли с остальными вещами с 3мя и 5ю слотами, ну да пофиг.
    Можно правда проверять открыта ли печка или нет (тоже гемор с открыл-закрыл, ибо просто так не узнаешь что открыто блин), и соответственно если был клик по финальному слоту то отменять опыт (тут уже проще узнать финальный слот)
    Больше наркомании
     
    Ernest и dimahru нравится это.
  8. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    [​IMG]
     
    Ernest, Shevchik и dimahru нравится это.
  9. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    По другому никак, я уже кучу страниц исписал в последовательности пакетов и действий для попытки зацепится за обнаружение получения опыта в печке.
    И кстати кто-нибудь пошлите пулл-реквест в mcpc+ чтобы они добавили в кониг возможность отключать опыт с печек.
    Хотя можно и проще - пока печки открыты - опыт не идёт, но тогда если кто покидает банок в игрока - они ничего не дадут, ну да чёрт с ним.
    И кстати нужно будет зафиксить стол в таумкрафте (если кто сборку кинет)И обновите шапку наконец уже.
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    грин верстак же пофиксили давно как.
     
  11. Автор темы
    Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Попробую добавить в сырцы тогл для этого дела, если получится - сделаю пуллреквест.
     
  12. XenonRaite

    XenonRaite Активный участник Пользователь

    Баллы:
    68
    К стати насчёт бага в 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 при этом без нагрузок плагинов проверки.
    ДАААА!!!! Чёрт подери у меня это вишло!!!
    Удалось повесть первый ивент(что делаю впервые)
    Ивент для таум крафта на ванд екскавейжен. Запрещающий покапать на чюжой теретории.
    УХХХУУ
    Кому надо файл прикрепил. Тоже самое еще зделаю для предметов на пвп.
     

    Вложения:

    Niptor94 нравится это.
  13. XenonRaite

    XenonRaite Активный участник Пользователь

    Баллы:
    68
    Вот фикс для бакпаков на 0-9
    Скачал перепроверил, всё отлично работает. =)
    Нубяра че еще сказать :D.
     

    Вложения:

  14. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    С бэкпаками уже всё пофиккшено, а с вандоами всё проще - ловим клик через протоколо либ, смотрим блок который кликнули, вызываем на том блоке эвент, если эфент отменили - отменяем пакет.
     
  15. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    ТО есть ты не должен навести на какой-либо блок чтобы оно выстрелило?
    То есть можно навести в воздух и оно пульнёт? а как тогда попасть?
     
  16. XenonRaite

    XenonRaite Активный участник Пользователь

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

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Вимдимо не тот блок таки в таргет попадает, и ты кстати уверен что проверяешь правильно что ивент отменён?
    А для сумок есть ModFix, плохо исскал значит(а остальные баги с сумками значит не фиксил да?)
     
  18. XenonRaite

    XenonRaite Активный участник Пользователь

    Баллы:
    68
    Да он как раз у меня стоит. Я думал он только для форестри сумок. Не знал что уже фиксит и бекпаки.



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

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Главное айдишники суок где 1-9 не должен работать не забыть в конфиг вписать.
    А насчёт вашего спора - пусть каждй выложит своё видео, а потом посмтрим, может у вас просто методы проверки разные
     
  20. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    @Shevchik, Яб выложил но я фрапс не ставил. Да и зачем мне врать? Что мне от этого? Пусть скинет свою сборку я протестирую.
     
Статус темы:
Закрыта.

Поделиться этой страницей