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

Туториал [FDW]. Убираем Копирайты Forge, Делаем кнопку на свой сайт! 1.7.2/1.7.10|+

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем skoniks, 16 июл 2014.

?

Ты печенька?

  1. Да я печенька...

    124 голосов
    40,8%
  2. Нет! Я хлебушек!

    82 голосов
    27,0%
  3. Идите вы! Я бублик!

    98 голосов
    32,2%
  1. Volt_:-()

    Volt_:-() Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    Volt
    Молодец :)
    Зачем теме надо было передвинуть надпись "MINECRAFT" если на фото его вообще нет? (Ты удалил?).
     
  2. Blooderino

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

    Баллы:
    66
    Volt_:-(), отрисовку лого менял. Я сделал так, чтобы логотип считывался с одной строки, т.к. так легче его редактировать. Поэтому с дефолтным были проблемы, т.к. он коряво отображался. Меня немного это выбесило и я удалил оригинал =)
    Кстати, можно сделать так, чтобы английские сплэши, поэма о конце игры грузились с английским языком, а русские - с русским языком?
     
  3. Автор темы
    skoniks

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

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    да, можно. Но придется пробивать условие при включении окна сплеша и смотреть какой язык. Потом в зависимости от языка подставлять файл со сплешем. Теперь реализуй)
     
  4. saharin94

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

    Баллы:
    173
    Русификатор от collapse смотри. Там это реализовано.
     
  5. Volt_:-()

    Volt_:-() Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    Volt
    Привет. Вы все наверное видели инвентарь выживания. Вот там есть модель игрока который следит за мышкой(смотри Рис.1).
    Так вот вопрос: как это реализовано? Или как это добавить в GuiMainMenu?
    для рубакит.png
     
  6. Blooderino

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

    Баллы:
    66
    Volt_:-(), ответ лежит в классе GuiInventory.java (пакет net.minecraft.client.gui.iventory).
    Советую глянуть подобный блок (взял с Forge 1.7.10) из этого класса:
    Код:
    public static void func_147046_a(int p_147046_0_, int p_147046_1_, int p_147046_2_, float p_147046_3_, float p_147046_4_, EntityLivingBase p_147046_5_)
      {
      GL11.glEnable(GL11.GL_COLOR_MATERIAL);
      GL11.glPushMatrix();
      GL11.glTranslatef((float)p_147046_0_, (float)p_147046_1_, 50.0F);
      GL11.glScalef((float)(-p_147046_2_), (float)p_147046_2_, (float)p_147046_2_);
      GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
      float f2 = p_147046_5_.renderYawOffset;
      float f3 = p_147046_5_.rotationYaw;
      float f4 = p_147046_5_.rotationPitch;
      float f5 = p_147046_5_.prevRotationYawHead;
      float f6 = p_147046_5_.rotationYawHead;
      GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
      RenderHelper.enableStandardItemLighting();
      GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
      GL11.glRotatef(-((float)Math.atan((double)(p_147046_4_ / 40.0F))) * 20.0F, 1.0F, 0.0F, 0.0F);
      p_147046_5_.renderYawOffset = (float)Math.atan((double)(p_147046_3_ / 40.0F)) * 20.0F;
      p_147046_5_.rotationYaw = (float)Math.atan((double)(p_147046_3_ / 40.0F)) * 40.0F;
      p_147046_5_.rotationPitch = -((float)Math.atan((double)(p_147046_4_ / 40.0F))) * 20.0F;
      p_147046_5_.rotationYawHead = p_147046_5_.rotationYaw;
      p_147046_5_.prevRotationYawHead = p_147046_5_.rotationYaw;
      GL11.glTranslatef(0.0F, p_147046_5_.yOffset, 0.0F);
      RenderManager.instance.playerViewY = 180.0F;
      RenderManager.instance.renderEntityWithPosYaw(p_147046_5_, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
      p_147046_5_.renderYawOffset = f2;
      p_147046_5_.rotationYaw = f3;
      p_147046_5_.rotationPitch = f4;
      p_147046_5_.prevRotationYawHead = f5;
      p_147046_5_.rotationYawHead = f6;
      GL11.glPopMatrix();
      RenderHelper.disableStandardItemLighting();
      GL11.glDisable(GL12.GL_RESCALE_NORMAL);
      OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
      GL11.glDisable(GL11.GL_TEXTURE_2D);
      OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
      }
    

    Пробывал делать смену сплэшей в зависимости от языка через такой кростыль:
    1.) Меняем следующий код в GuiMainMenu:
    Код:
    private static final ResourceLocation splashTexts = new ResourceLocation("texts/splashes.txt");
    На:
    Код:
    private static final ResourceLocation splashTexts = new ResourceLocation(I18n.format("text.splash"));
    2.) Сохраняем, бла-бла-бла, модифицируем клиент
    3.) Идем в en_US.lang, пишем:
    Код:
    text.spalsh=texts/splashes_en.txt
    4.) Идем в ru_RU.lang, пишем:
    Код:
    text.spalsh=texts/splashes_ru.txt
    5.) Создаем в <номер.версии>.jar/assets/minecraft/texts/ файл splashes_ru.txt и пишем в нем слово "Тест", а файл с оригинальными сплешами переименовываем в splashes_en.txt
    6.) Запускаем игру (на English (US) языке)
    7.) Меняем язык на русский
    8.) Игра вылетает, ссылаясь на плохие драйвера видеокарты (т.к. пользуюсь TLauncher'ом - вылетает, что драйвера на мою старушку ATI Radeon X1300 512 Мб старые и их надо обновить, хотя стоят последние, лол)
    9.) Заходим в игру - видим, русский язык включился и русские сплэши робят
    Но вы сами понимаете, переключать язык только через перезапуск игры - не оч...
    Не подскажите, как по-другому это можно реализовать?)
    Смотрел тему с руссификатором от collapse - не нашел ссылок на скачивание (возможно, я - слоупок).
    Странно... перезагрузил ПК - костыль стал работать как надо, лол)
    Ссылку в теме русификатора нашел.
     
  7. saharin94

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

    Баллы:
    173
    Картинка отвалилась, поэтому ссылку не видно. http://rubukkit.org/threads/43139/page-34#post-1169084
     
  8. Blooderino

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

    Баллы:
    66
    saharin94, да, я понял ужо)))
    Сделал мультиязычность сплешей, концовки и кредитсов - перестали работать цветовые коды § + <символ>. Как это исправить? Или можно какую-нибудь альтернативу использовать (юникод-коды, наподобие \u00A7a\ - не работают)?
    Все сделал (кодировку надо было поменять на UTF-8), лол)
     
    Последнее редактирование: 12 июл 2015
  9. dirt34

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    ребят подскажите пожалуйста.
    как убрать затемнение? (показано на картинке в спойлере)
    [​IMG]

    Заменил файл options_background.png на свой. Чисто белого цвета с таким же разрешением. Но как я выяснил майнкрафт делает затемнение. как его убрать?
    Подсказали что в файле Gui,java. Но где там именно я не понимаю. Тема в которой мне это подсказали.
    Код:
    package net.minecraft.client.gui;
    
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    import net.minecraft.client.renderer.OpenGlHelper;
    import net.minecraft.client.renderer.Tessellator;
    import net.minecraft.util.IIcon;
    import net.minecraft.util.ResourceLocation;
    import org.lwjgl.opengl.GL11;
    
    @SideOnly(Side.CLIENT)
    public class Gui
    {
        public static final ResourceLocation optionsBackground = new ResourceLocation("textures/gui/options_background.png");
        public static final ResourceLocation statIcons = new ResourceLocation("textures/gui/container/stats_icons.png");
        public static final ResourceLocation icons = new ResourceLocation("textures/gui/icons.png");
        protected float zLevel;
        private static final String __OBFID = "CL_00000662";
    
        protected void drawHorizontalLine(int p_73730_1_, int p_73730_2_, int p_73730_3_, int p_73730_4_)
        {
            if (p_73730_2_ < p_73730_1_)
            {
                int i1 = p_73730_1_;
                p_73730_1_ = p_73730_2_;
                p_73730_2_ = i1;
            }
    
            drawRect(p_73730_1_, p_73730_3_, p_73730_2_ + 1, p_73730_3_ + 1, p_73730_4_);
        }
    
        protected void drawVerticalLine(int p_73728_1_, int p_73728_2_, int p_73728_3_, int p_73728_4_)
        {
            if (p_73728_3_ < p_73728_2_)
            {
                int i1 = p_73728_2_;
                p_73728_2_ = p_73728_3_;
                p_73728_3_ = i1;
            }
    
            drawRect(p_73728_1_, p_73728_2_ + 1, p_73728_1_ + 1, p_73728_3_, p_73728_4_);
        }
    
        /**
         * Draws a solid color rectangle with the specified coordinates and color. Args: x1, y1, x2, y2, color
         */
        public static void drawRect(int p_73734_0_, int p_73734_1_, int p_73734_2_, int p_73734_3_, int p_73734_4_)
        {
            int j1;
    
            if (p_73734_0_ < p_73734_2_)
            {
                j1 = p_73734_0_;
                p_73734_0_ = p_73734_2_;
                p_73734_2_ = j1;
            }
    
            if (p_73734_1_ < p_73734_3_)
            {
                j1 = p_73734_1_;
                p_73734_1_ = p_73734_3_;
                p_73734_3_ = j1;
            }
    
            float f3 = (float)(p_73734_4_ >> 24 & 255) / 255.0F;
            float f = (float)(p_73734_4_ >> 16 & 255) / 255.0F;
            float f1 = (float)(p_73734_4_ >> 8 & 255) / 255.0F;
            float f2 = (float)(p_73734_4_ & 255) / 255.0F;
            Tessellator tessellator = Tessellator.instance;
            GL11.glEnable(GL11.GL_BLEND);
            GL11.glDisable(GL11.GL_TEXTURE_2D);
            OpenGlHelper.glBlendFunc(770, 771, 1, 0);
            GL11.glColor4f(f, f1, f2, f3);
            tessellator.startDrawingQuads();
            tessellator.addVertex((double)p_73734_0_, (double)p_73734_3_, 0.0D);
            tessellator.addVertex((double)p_73734_2_, (double)p_73734_3_, 0.0D);
            tessellator.addVertex((double)p_73734_2_, (double)p_73734_1_, 0.0D);
            tessellator.addVertex((double)p_73734_0_, (double)p_73734_1_, 0.0D);
            tessellator.draw();
            GL11.glEnable(GL11.GL_TEXTURE_2D);
            GL11.glDisable(GL11.GL_BLEND);
        }
    
        /**
         * Draws a rectangle with a vertical gradient between the specified colors.
         */
        protected void drawGradientRect(int p_73733_1_, int p_73733_2_, int p_73733_3_, int p_73733_4_, int p_73733_5_, int p_73733_6_)
        {
            float f = (float)(p_73733_5_ >> 24 & 255) / 255.0F;
            float f1 = (float)(p_73733_5_ >> 16 & 255) / 255.0F;
            float f2 = (float)(p_73733_5_ >> 8 & 255) / 255.0F;
            float f3 = (float)(p_73733_5_ & 255) / 255.0F;
            float f4 = (float)(p_73733_6_ >> 24 & 255) / 255.0F;
            float f5 = (float)(p_73733_6_ >> 16 & 255) / 255.0F;
            float f6 = (float)(p_73733_6_ >> 8 & 255) / 255.0F;
            float f7 = (float)(p_73733_6_ & 255) / 255.0F;
            GL11.glDisable(GL11.GL_TEXTURE_2D);
            GL11.glEnable(GL11.GL_BLEND);
            GL11.glDisable(GL11.GL_ALPHA_TEST);
            OpenGlHelper.glBlendFunc(770, 771, 1, 0);
            GL11.glShadeModel(GL11.GL_SMOOTH);
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.setColorRGBA_F(f1, f2, f3, f);
            tessellator.addVertex((double)p_73733_3_, (double)p_73733_2_, (double)this.zLevel);
            tessellator.addVertex((double)p_73733_1_, (double)p_73733_2_, (double)this.zLevel);
            tessellator.setColorRGBA_F(f5, f6, f7, f4);
            tessellator.addVertex((double)p_73733_1_, (double)p_73733_4_, (double)this.zLevel);
            tessellator.addVertex((double)p_73733_3_, (double)p_73733_4_, (double)this.zLevel);
            tessellator.draw();
            GL11.glShadeModel(GL11.GL_FLAT);
            GL11.glDisable(GL11.GL_BLEND);
            GL11.glEnable(GL11.GL_ALPHA_TEST);
            GL11.glEnable(GL11.GL_TEXTURE_2D);
        }
    
        /**
         * Renders the specified text to the screen, center-aligned.
         */
        public void drawCenteredString(FontRenderer p_73732_1_, String p_73732_2_, int p_73732_3_, int p_73732_4_, int p_73732_5_)
        {
            p_73732_1_.drawStringWithShadow(p_73732_2_, p_73732_3_ - p_73732_1_.getStringWidth(p_73732_2_) / 2, p_73732_4_, p_73732_5_);
        }
    
        /**
         * Renders the specified text to the screen.
         */
        public void drawString(FontRenderer p_73731_1_, String p_73731_2_, int p_73731_3_, int p_73731_4_, int p_73731_5_)
        {
            p_73731_1_.drawStringWithShadow(p_73731_2_, p_73731_3_, p_73731_4_, p_73731_5_);
        }
    
        /**
         * Draws a textured rectangle at the stored z-value. Args: x, y, u, v, width, height
         */
        public void drawTexturedModalRect(int p_73729_1_, int p_73729_2_, int p_73729_3_, int p_73729_4_, int p_73729_5_, int p_73729_6_)
        {
            float f = 0.00390625F;
            float f1 = 0.00390625F;
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1));
            tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1));
            tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + 0) * f1));
            tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + 0) * f1));
            tessellator.draw();
        }
    
        public void drawTexturedModelRectFromIcon(int p_94065_1_, int p_94065_2_, IIcon p_94065_3_, int p_94065_4_, int p_94065_5_)
        {
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV((double)(p_94065_1_ + 0), (double)(p_94065_2_ + p_94065_5_), (double)this.zLevel, (double)p_94065_3_.getMinU(), (double)p_94065_3_.getMaxV());
            tessellator.addVertexWithUV((double)(p_94065_1_ + p_94065_4_), (double)(p_94065_2_ + p_94065_5_), (double)this.zLevel, (double)p_94065_3_.getMaxU(), (double)p_94065_3_.getMaxV());
            tessellator.addVertexWithUV((double)(p_94065_1_ + p_94065_4_), (double)(p_94065_2_ + 0), (double)this.zLevel, (double)p_94065_3_.getMaxU(), (double)p_94065_3_.getMinV());
            tessellator.addVertexWithUV((double)(p_94065_1_ + 0), (double)(p_94065_2_ + 0), (double)this.zLevel, (double)p_94065_3_.getMinU(), (double)p_94065_3_.getMinV());
            tessellator.draw();
        }
    
        public static void func_146110_a(int p_146110_0_, int p_146110_1_, float p_146110_2_, float p_146110_3_, int p_146110_4_, int p_146110_5_, float p_146110_6_, float p_146110_7_)
        {
            float f4 = 1.0F / p_146110_6_;
            float f5 = 1.0F / p_146110_7_;
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV((double)p_146110_0_, (double)(p_146110_1_ + p_146110_5_), 0.0D, (double)(p_146110_2_ * f4), (double)((p_146110_3_ + (float)p_146110_5_) * f5));
            tessellator.addVertexWithUV((double)(p_146110_0_ + p_146110_4_), (double)(p_146110_1_ + p_146110_5_), 0.0D, (double)((p_146110_2_ + (float)p_146110_4_) * f4), (double)((p_146110_3_ + (float)p_146110_5_) * f5));
            tessellator.addVertexWithUV((double)(p_146110_0_ + p_146110_4_), (double)p_146110_1_, 0.0D, (double)((p_146110_2_ + (float)p_146110_4_) * f4), (double)(p_146110_3_ * f5));
            tessellator.addVertexWithUV((double)p_146110_0_, (double)p_146110_1_, 0.0D, (double)(p_146110_2_ * f4), (double)(p_146110_3_ * f5));
            tessellator.draw();
        }
    
        public static void func_152125_a(int p_152125_0_, int p_152125_1_, float p_152125_2_, float p_152125_3_, int p_152125_4_, int p_152125_5_, int p_152125_6_, int p_152125_7_, float p_152125_8_, float p_152125_9_)
        {
            float f4 = 1.0F / p_152125_8_;
            float f5 = 1.0F / p_152125_9_;
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV((double)p_152125_0_, (double)(p_152125_1_ + p_152125_7_), 0.0D, (double)(p_152125_2_ * f4), (double)((p_152125_3_ + (float)p_152125_5_) * f5));
            tessellator.addVertexWithUV((double)(p_152125_0_ + p_152125_6_), (double)(p_152125_1_ + p_152125_7_), 0.0D, (double)((p_152125_2_ + (float)p_152125_4_) * f4), (double)((p_152125_3_ + (float)p_152125_5_) * f5));
            tessellator.addVertexWithUV((double)(p_152125_0_ + p_152125_6_), (double)p_152125_1_, 0.0D, (double)((p_152125_2_ + (float)p_152125_4_) * f4), (double)(p_152125_3_ * f5));
            tessellator.addVertexWithUV((double)p_152125_0_, (double)p_152125_1_, 0.0D, (double)(p_152125_2_ * f4), (double)(p_152125_3_ * f5));
            tessellator.draw();
        }
    }
     
  10. Starr

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

    Баллы:
    98
    Перезалейте скрин, а то немного не понятно.
     
  11. dirt34

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    что именно не понятно?
    Ну вот.
    Безымянный.png
     
  12. M1n1F3

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

    Баллы:
    76
    Имя в Minecraft:
    M1n1F3
    У меня нету Referenced Libraries, что делать?
     
  13. Starr

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

    Баллы:
    98
    Скачать в другую папку и правильно указать рабочую папку для эклипса.
     
  14. M1n1F3

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

    Баллы:
    76
    Имя в Minecraft:
    M1n1F3
    Все сделал по видео!Ее нет!
     
  15. Starr

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

    Баллы:
    98
    Тогда не знаю.
     
  16. M1n1F3

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

    Баллы:
    76
    Имя в Minecraft:
    M1n1F3
    Можешь скинуть весь текст, который написан в GuiMainMenu
     
  17. Starr

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

    Баллы:
    98
    Если у тебя referenced libraries нет то ты просто не скомпилишь всё это чудо.
     
  18. M1n1F3

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

    Баллы:
    76
    Имя в Minecraft:
    M1n1F3
    блин, я хз че делать, версия 1.7.10, все сделал по инструкции, а этой папки нету, надеюсь @skoniks поможет
    Вылазеет ошибка при скачки чистого майнкрафта в консоли warning: [options] bootstrap class path not set in conjunction with -source 1.6.
     
  19. Автор темы
    skoniks

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

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    Есть 2 варианта происходящего:
    Или Forge перестали работать с сорцами 1.7.10.
    Или проблема в тебе.
    Нет ли в пути твоих папок русских символов, какая винда, какие джавы стоят, какое имя пользователя?
     
  20. Starr

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

    Баллы:
    98
    Не может быть, я недавно форж срц качал под 1.7.2 и последний 1.7.10, всё отлично пашет.
    У юзвера проблема.
     

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