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

Нубятник №5 - Вопросы по клиенту и серверу с модами.

Тема в разделе "Модификации клиента", создана пользователем Yuri1.6, 4 мар 2015.

  1. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4

    ВНИМАНИЕ! Все гайды делаются для 1.7.10 и выше версий MC. Ниже этих версий помощь не предоставляется и гайды не делаются!
    В данной теме Вы можете задать свой вопрос по той или иной проблеме, которая у Вас возникла.

    Прежде чем создавать тему с Вашей проблемой, просьба прочитать данную тему.
    Клиентская часть:
    В minercraft начиная с 1.7 версии начинается шифрование файлов картинок, музыки и даже если вы измените icon_32x32.png по пути "assets/virtual/legacy/icons/" то в 1.7 версиях и выше, у вас останется стандартный верстак.(Разрешение картинки должно быть 32x32)

    Чтобы сменить картинку или музыку в игре вам надо перейти по пути "assets/indexes/" и найти файл с нужной версией клиента, в моём случае это будет 1.7.10.json. Открываем его с помощью Notepad++.

    Допустим мне нужно сменить icon_32x32.png, ищем этот файл. Найдя его мы видим вот такой код:
    Код:
    "minecraft/icons/icon_32x32.png": { //Путь к файлу до 1.7 версии MC
          "hash": "92750c5f93c312ba9ab413d546f32190c56d6f1f", //Номер файла
          "size": 5362 //Размер файла в кб
    },
    
    Нам нужна вторая строка. Запоминаем первые две цифры/буквы, в данном случае 92.

    Теперь идём по пути "assets/objects/". Там мы можем увидеть кучу папок. Нам нужна папка под номером 92. Когда найдём её заходим в неё и ищем файл под названием 92750c5f93c312ba9ab413d546f32190c56d6f1f. Как только найдём переименовываем его и в конце дописываем .png(Должно получиться: 92750c5f93c312ba9ab413d546f32190c56d6f1f.png). Мы увидим картинку которая нам была нужна. Теперь берём свою картинку 32x32 и переименовываем её в 92750c5f93c312ba9ab413d546f32190c56d6f1f, но уже без расширения .png И закидываем свою картинку в папку 92.
    Делаем всё как в Гайд №1, но если нужно сменить музыку то нужно добавлять .ogg, если языковой файл то .lang в конце найденного файла.

    LiteLoader - это API использующиеся для создания модов, а так же загрузки их. Моды LiteLoader практически никогда не конфликтуют с Forge модами. Также он довольно прост в пользовании.

    Для установки мода перейдём на официальный сайт. Там нужно выбрать в зависимости от ОС файл установщик. Если у вас Windows то качаем первый файл, если у вас Linux то качаем второй файл.

    Открываем один из файлов. Далее мы видим окно установки. В окне выбираем, что мы хотим сделать(На скриншоте всё описано), а так же выбираем версию игры: 1.7.10 - только LiteLoader, 1.7.10-Forge - LiteLoader+Forge. Установка проходит на уже установленный клиент 1.7 и 1.7-Forge! После того как мы определились нажимаем "Ok". Далее нам нужно забрать наш клиент идём по пути "%appdata%/Roaming/.minecraft/versions/" там мы и заберём наш клиент с LiteLoader.

    Многим не нравится затемнение земли в менюшках. В этом гайде я расскажу как убрать затемнение.

    Убираем затемнение в настройках.
    В файле GuiScreen.java ищем вот эти строки:
    Код:
        public void func_146278_c(int p_146278_1_)
        {
            GL11.glDisable(GL11.GL_LIGHTING);
            GL11.glDisable(GL11.GL_FOG);
            Tessellator var2 = Tessellator.instance;
            this.mc.getTextureManager().bindTexture(optionsBackground);
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
            float var3 = 32.0F;
            var2.startDrawingQuads();
            var2.setColorOpaque_I(4210752);
            var2.addVertexWithUV(0.0D, (double)this.height, 0.0D, 0.0D, (double)((float)this.height / var3 + (float)p_146278_1_));
            var2.addVertexWithUV((double)this.width, (double)this.height, 0.0D, (double)((float)this.width / var3), (double)((float)this.height / var3 + (float)p_146278_1_));
            var2.addVertexWithUV((double)this.width, 0.0D, 0.0D, (double)((float)this.width / var3), (double)p_146278_1_);
            var2.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, (double)p_146278_1_);
            var2.draw();
        }
    Удаляем:
    Код:
    var2.setColorOpaque_I(4210752);
    Убираем затемнение в везде.
    :\

    Находим в файле GuiMainMenu.java данные строки:
    Код:
        /**
         * Rotate and blurs the skybox view in the main menu
         */
        private void rotateAndBlurSkybox(float p_73968_1_)
        {
            this.mc.getTextureManager().bindTexture(this.field_110351_G);
            GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
            GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
            GL11.glCopyTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, 0, 0, 256, 256);
            GL11.glEnable(GL11.GL_BLEND);
            OpenGlHelper.glBlendFunc(770, 771, 1, 0);
            GL11.glColorMask(true, true, true, false);
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            GL11.glDisable(GL11.GL_ALPHA_TEST);
            byte b0 = 3;
    
            for (int i = 0; i < b0; ++i)
            {
                tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F / (float)(i + 1));
                int j = this.width;
                int k = this.height;
                float f1 = (float)(i - b0 / 2) / 256.0F;
                tessellator.addVertexWithUV((double)j, (double)k, (double)this.zLevel, (double)(0.0F + f1), 1.0D);
                tessellator.addVertexWithUV((double)j, 0.0D, (double)this.zLevel, (double)(1.0F + f1), 1.0D);
                tessellator.addVertexWithUV(0.0D, 0.0D, (double)this.zLevel, (double)(1.0F + f1), 0.0D);
                tessellator.addVertexWithUV(0.0D, (double)k, (double)this.zLevel, (double)(0.0F + f1), 0.0D);
            }
    
            tessellator.draw();
            GL11.glEnable(GL11.GL_ALPHA_TEST);
            GL11.glColorMask(true, true, true, true);
        }
    
    И убираем вот эти:
    Код:
            for (int i = 0; i < b0; ++i)
            {
                tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F / (float)(i + 1));
                int j = this.width;
                int k = this.height;
                float f1 = (float)(i - b0 / 2) / 256.0F;
                tessellator.addVertexWithUV((double)j, (double)k, (double)this.zLevel, (double)(0.0F + f1), 1.0D);
                tessellator.addVertexWithUV((double)j, 0.0D, (double)this.zLevel, (double)(1.0F + f1), 1.0D);
                tessellator.addVertexWithUV(0.0D, 0.0D, (double)this.zLevel, (double)(1.0F + f1), 0.0D);
                tessellator.addVertexWithUV(0.0D, (double)k, (double)this.zLevel, (double)(0.0F + f1), 0.0D);
            }
    

    Многие из вас наверное хотели бы получать чистые координаты без лишнего мусора и дополнительных нулей. В данном гайде я покажу как сделать чистые координаты. Если хотите увидеть их на экране в игре(Не открывая debug меню) то пишите в комментарии.

    В файле GuiInGame(Если клиент с Forge то GuiInGameForge) ищем вот эти строки:
    Код:
    left.add(String.format("x: %.5f (%d) // c: %d (%d)", mc.thePlayer.posX, x, x >> 4, x & 15));
    left.add(String.format("y: %.3f (feet pos, %.3f eyes pos)", mc.thePlayer.boundingBox.minY, mc.thePlayer.posY));
    left.add(String.format("z: %.5f (%d) // c: %d (%d)", mc.thePlayer.posZ, z, z >> 4, z & 15));
    И заменяем их на вот эту:
    Код:
    left.add(String.format("X:%d Y:%d Z:%d", x, y, z));

    Начиная с версии 1.7 разработчики Forge перешли на Gradlew и многие стали "ныть", что непонятно, что да как и не удобно. P.s. В том числе был и я :D . В этом гайде я расскажу как всё же установить Forge Gradlew и начать работать с ним.

    Для начала скачаем Forge с офф сайта, если у вас 1.7 то выбираем src, а если 1.8 и выше то mdk, разницы нет.

    Теперь распакуем все файлы из архива в папку, у меня это будет Forge1.7.10.
    Внутри папки нажимаем на Shift+ПКМ и находим "Открыть окно команд". В консоли набираем команду:
    Код:
    gradlew setupDecompWorkspace
    Если хотим работать с Eclipse то:
    Код:
    gradlew setupDecompWorkspace eclipse
    После ввода данной команды у вас начнётся загрузка файлов(библиотеки, клиент, сервер и т.д.)
    По окончанию у вас будет сообщение:
    [​IMG]
    Теперь мы можем приступать к созданию модов или изменению клиента.
    Если Вы хотите изменить клиент, то заходим по пути "build/tmp/recompSrc/net" и в зависимости от того, что хотите изменить заходим в папку(minecraft либо minecraftforge), но файлы которые хотите изменить нужно будет перенести в папку "src/main/java"(Туда можно и файлы для мода закинуть, папка для ресурсов "src/main/resources"). Теперь если у Вас всё готово, вводим в консоль:
    Код:
    gradlew build
    По окончанию все файлы будут лежать по пути:
    "build/libs" - В виде jar файла.
    "build/classes" - В виде class файлов.
    Если же Вы модифицировали клиент Вам понадобится ещё одна программа BON, после скачивания нажимаем на скачанный файл два раза.
    В Input file выбираем файл(jar) который будем реобфусцировать
    В Operation выбираем Reobfuscate mod to Notch names
    Теперь переходим во вкладку "MCP". Там в зависимости от версии вашего Forge выбираем папку mcp(Тут все версии, весят не больше 70 мб!), у меня это mcp_1.7.10, и нажимаем "Go". Всё! Теперь наши файлы готовы к использованию в клиенте или сервере.

    СКОРО!

    СКОРО!

    СКОРО!

    СКОРО!

    Серверная часть:
    В этом гайде вы научитесь правильно подключать и настраивать Permissions Ex(Для тех у кого нет плагина: ТЫК). Так же будьте бдительны, данный плагин чувствителен к версиям MC, т.е. если у вас 1.7+ то нужно ставить 1.7, а если 1.8+, то 1.8+ и т.д. После того как вы поставили плагин на сервер вы можете выбрать как будете давать права пользователям. Через YAML или через MySQL. В первом случаем нам надо делать всё очень аккуратно, так как любой лишний отступ поломает нам pex(Сам плагин не будет работать). Чтобы проверить правильно ли вы всё сделали вам нужно перейти сюда(ТЫК), в первый квадрат вбивает то что у вас в pex и если во втором квадрате текст будет красный то у вас где то ошибка. Всегда стоит смотреть на "expected" так как именно он показывает точно расположение ошибки. Теперь же перейдём к настройке прав. Вот небольшая памятка которая поможет вам в выдачи прав пользователям.
    [​IMG]
    Теперь перейдём к MySQL базе с правами. Для начал в конфиге config.yml пропишем вот такой код:
    Код:
    permissions:
      backend: sql
      backends:
        sql:
          driver: mysql
          uri: mysql://localhost:3306/bdname
          user: dbuser
          password: pass
          type: sql
      allowOps: false
      basedir: plugins/PermissionsEx
    
    Вместо localhost пишем ip базы данных, вместо dbname пишем название базы данных(user123_db), dbuser меняем на пользователя бд(user123_user) и вместо pass пишем пароль от базы данных. Перезапускаем сервер. После того как сервер запустится плагин создаст нужные ему таблицы в базе данных. Теперь всё что мы написали нужно добавить в базу данных. На сервере пишем вот такую команду: pex dump sql permissions.sql , теперь заходим в папку PermissionsEX и видим там permissions.sql, далее импортируем нам sql файл в базу данных.

    -=|Пусто|=-

    Прочее:
    Скачать
    Автор: @gamerforEA
    Дополнил: @Yuri1.6
    Версия 1.6

    1.1 В данной теме действуют правила форума!
    1.2 Все просьбы, а именно "Дайте клиент", "Дайте сервер", "Найдите мод {название}" просьба задавать в разделе Помощь.
    1.3 Не флудите!
    1.4 Не спрашивайте про: когда будут новые гайды, когда автор соизволит сделать именно для {ник задававшего} то что он хочет(меню, убирание копирайтов и т.п.), а так как всё делается БЕСПЛАТНО то можно и подождать. Я тоже человек и так же как и вы работаю, и не могу всё своё свободное время тратить на помощь одному человеку в создании выше перечисленного.
    1.5 Старайтесь писать грамотно!

    Последние изменение ||22:33||19/12/2015||

    В:Не крафтяться инструменты в ic2 1.6.4, что делать?
    О:Качаем этот мод и закидываем его в папку mods в клиенте и на сервере. Так же для GT(GregTech).
     
    Последнее редактирование: 26 июн 2016
    RikkiLook нравится это.
  2. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    Не подскажите,какие моды убирают лаги с игры,кроме Optifine и FPSPlus?
     
  3. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Таких модов нету. Нужно устранять лаги самому. Т.е. берёте мод, допустим Props(Добавляет игрушки) если вы видите, что начинает подвисать, падать фпс то удаляйте его. Такие манипуляции делайте с каждым модом. Так же если у вас есть сервер то ограничивайте карту и выделяйте памяти на 6гб и более. Так же убирайте не нужные плагины. Если у вас Hi-Tech сервер то явно вам не нужны будут плагины на питомцев или на мини игры. Так же советую поставить дальность прорисовки до 4-6 в server.properties и желательно выделите в лаунчере для всех по 1гб минимум.
     
    Последнее редактирование: 19 мар 2015
  4. alexandrage

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

    Баллы:
    173
    Чтоб убавить лаги в клиенте лучше наоборот убавить дальность до 4-6. А размер карты никак невлияет на тпс, ибо карта не вся в память грузится, а только вокруг игроков.
     
  5. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Ой, ошибочка:)
    Хм, вообще если будет 100 человек играть и прогружать карту я не думаю, что будет очень хорошо...
     
  6. alexandrage

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

    Баллы:
    173
    Ну если дать им спидхак, то они у тебя завалят и 1к карту.
     
    Последнее редактирование: 19 мар 2015
  7. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    С сервером все хорошо.Он не лагает.Мне бы убрать лаги в клиенте.Минут 5 сижу в игре и как начнет зависать майнкрафт.Хотя модов не много стоит.Все советуют Optifine,но не могу его поставить,так как стоит руссифицированный forge от Colapse.Графику снижаю до минимума.В начале от 40 до 80 fps идёт,потом через какое-то время падает до 0.
     
  8. alexandrage

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

    Баллы:
    173
    Фордж никак не пересекается с оптифайном в плане русика.
     
  9. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    Нет,именно у меня возникает конфликт.Все работает,но вот шрифт становится разным.Английские буквы нормальные.а русские становятся мелкими и пиксельными. Фордж от Colapse именно из-за шрифта качал.
     
  10. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Сделай как у меня в туторе №3, тогда у тебя точно будет работать жирный шрифт.
     
  11. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    Возникла проблема вот с этим ("mcp9.08/src/minecraft/net/minecraft/client/resources/) Где это прописывать.Что в компьюторе,что в интернете ни чего не ищет.
     
  12. alexandrage

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

    Баллы:
    173
  13. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Это mcp, его ставишь и дальше по пути идёшь который я указал.(Для версии 1.7.10)
    Хм, надо будет готовые класс файлы скинуть:\
    Для 1.7.10 класс: https://yadi.sk/d/hmWTqBz5fQGLa (Просто закинуть в minecraft.jar)
    И вот тебе шрифты, их закинуть в minecraft.jar в папку assets/minecraft/textures/font
    Шрифты
     
  14. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    После проделанного действия Minecraft не запускается.Но что бы запускался нужно удалить папку META-INF.Но даже при таком действии изменяется только английский шрифт.Русский остается нетронутым.
     
    Последнее редактирование: 21 мар 2015
  15. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Шрифты которые я скинул ставили?
     
  16. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    Да.
     
  17. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Хм, возможно ещё нужно ставить ru_RU.lang, вот Тык
     
  18. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR
    Тоже самое.Но зато хоть исправился баг с размером интерфейса.
     

    Вложения:

  19. Автор темы
    Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Попробуйте убрать оптифайн. Если не поможет то скиньте свой клиент.
     
  20. SaNeR

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

    Баллы:
    66
    Имя в Minecraft:
    SaNeR

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