Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Плагин [FIX] ModFixNG [#67] - фикс разнообразных багов в модах. [1.6.4-1.8]

Discussion in 'Релизы плагинов' started by Shevchik, May 18, 2013.

  1. mr.max_maxim

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

    Trophy Points:
    66
    Имя в Minecraft:
    MAXIMDELAET
    Круто так держать.
     
  2. Хостинг MineCraft
    <
  3. fhntv24

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

    Trophy Points:
    88
    если бы зашли в код майна , увидели бы. Есть чек на однинаковые Item'ы , который игнорит NBT. Прям под ним - без игнора NBT. Ща запущу свой еклипс и скину ( методы - статические в ItemStack )

    edit:
    А от и он -
    Code:
        // Чек только нбт
        public static boolean areItemStackTagsEqual(ItemStack par0ItemStack, ItemStack par1ItemStack)
    
       // Чек нбт + айди / метта
        /**
         * compares ItemStack argument1 with ItemStack argument2; returns true if both ItemStacks are equal
         */
        public static boolean areItemStacksEqual(ItemStack par0ItemStack, ItemStack par1ItemStack)
    
        // ЧЕК ТОЛЬКО АЙДИ И МЕТТА ( например для крафта , и тд ). Проверяет одинаковый ли ITEM , а не ItemStack !!!
        /**
         * compares ItemStack argument to the instance ItemStack; returns true if the Items contained in both ItemStacks are
         * equal
         */
        public boolean isItemEqual(ItemStack par1ItemStack)
    
    Ванильный код делает то , что надо. Проверяет одинаковый ли Item , но не ItemStack. Для незнающих (на самом деле всё немного не так , но это чтобы обеснить думаю хватит) : Item - все ItemStack вместе взятые. Item не хранит каждый предмет , он только для "поведения предмета" ( что делать когда нажимаеш и т.д.)

    ItemStack - просто хранилище предмета , т.е. ID Metta размер стека , и NBT. В то время как Item хранит только ID , и иногда Metta ( смотря какой айтем ) , ItemStack хранит еще NBT + StackSize

    Нужно больше пруфов пишите мне в скайп , дам вам их.

    p.s. Интересно , как же я мог починить дюп , не зная причины?
     
    Last edited: Oct 11, 2014
  4. Sirse

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

    Trophy Points:
    173
    Имя в Minecraft:
    Sirse
    Достаточно было указать кривые методы, но да, это то, о чём я говорил
     
  5. Iggi

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

    Trophy Points:
    103
    Имя в Minecraft:
    iggi666
    Меняю фикс форестри на фикс IC2.
    Мне лень IC разбирать ради 1 обменника :C
     
    Last edited: Oct 12, 2014
  6. trancefer

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

    Trophy Points:
    123
  7. Iggi

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

    Trophy Points:
    103
    Имя в Minecraft:
    iggi666
    FUUUUUUUUUUU
    А я свой клепал :C Но зато у меня для 152 есть еще.
    А фикса для IC нету?[DOUBLEPOST=1413138568,1413131008][/DOUBLEPOST]Собсно выложил фикс 152 в тему, которую кидали выше, если кому-то нужно.
     
  8. fhntv24

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

    Trophy Points:
    88
    а вы мне не верели :C Я же добрый , и никому не вру.
     
  9. Iggi

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

    Trophy Points:
    103
    Имя в Minecraft:
    iggi666
    Чему не верили?
    Проблему написал еще @saharin94 в прошлом месяце)
    См. пост от 29 сентября в этой теме.
     
  10. MakarS

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

    Trophy Points:
    88
    Вот, делал впервые и наскоряк[1.6.4].
    @Iggi, можно же один класс декомпильнуть-поправить и всё.
    И это, чего сразу не поделится фиксом с общественностью(я о forestry)?
     

    Attached Files:

  11. Iggi

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

    Trophy Points:
    103
    Имя в Minecraft:
    iggi666
    У меня возникли некоторые проблемы с исправлением ошибок, при декомпиляции только 1 класса)
    Насчет фикса для форестри: http://www.rubukkit.org/threads/kak-pofiksit-djup-s-mikro-blokami.82057/ - тема в которой есть 2 фикса для версии 1.6.4 и мой для 1.5.2, я решил его выложить туда.

    Поставил твой фикс - чего-то он не фиксит) Мне вообще кажется, что проблема в одном из методов StackUtil, а не в TileEntityTradeOMat. У меня никак не получается реобфусцировать правильно IC - там ломаются какие-то зависимости с библиотекой emjl и при запуске происходит краш.
     
  12. MakarS

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

    Trophy Points:
    88
    Да, проблема в StackUtil.
    Но я сделал малость - я выдернул из StackUtil используемые функции(2) и закинул их в TileEntityTradeOMat исправив сравнение, затем сделал так, чтобы использовались именно они.
    Я не стал трогать функции прямо в StackUtil, т.к. знал что они используются ещё - и возможно там, где проверка ItemStack == ItemStack и не нужна...

    P.S. Фикс нужно ставить на серверную сторону(закидывать в \ic2\core\block\personal\).Можно правда и на клиент - нечего в одиночке дюпать :D
     
    Last edited: Oct 13, 2014
  13. Iggi

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

    Trophy Points:
    103
    Имя в Minecraft:
    iggi666
    Поставил фикс, все работает, огромное спасибо!)

    Ну вот) Теперь все известные дюпы закрыли, осталось поискать кто еще из разработчиков решил написать свои методы сравнения итемов)
     
  14. trancefer

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

    Trophy Points:
    123
    Спасибо большое!
     
  15. Автор темы
    Shevchik

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    Лойс за правильный подход к делу.
     
  16. fhntv24

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

    Trophy Points:
    88
    Вы вообще правы , проблема в StackUtil , и ... ну короче , скоро все сами узнаете
     
  17. Sirse

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

    Trophy Points:
    173
    Имя в Minecraft:
    Sirse
    Попробуйте реобфусцировать BONом, а не MCPшкой.
     
  18. Iggi

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

    Trophy Points:
    103
    Имя в Minecraft:
    iggi666
    Так я так и делаю, по вашему туториалу, кстати ;)
    Когда я просто деобфусцирую IC боном, а потом реобфусцирую, ничего не изменяя, при запуске происходит краш(
     
  19. fhntv24

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

    Trophy Points:
    88
    MCP вполне нормально обфусицировает , только не надо библы трогать. А еще , качайте уже деобфусицированый ик2 с ихнего сайта.
     
  20. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Trophy Points:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Нужно в архив класть классы-предки, чтобы обфуксатор понял, наследуют ли они ванильные классы.
     
  21. ArtBorax

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

    Trophy Points:
    88
    Юмористы блин
    event.getPlayer().sendMessage("Сасай-масай");
     

Share This Page