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

Скин FixSkins-1.7.10_src-Forge

Тема в разделе "Модификации клиента", создана пользователем alexandrage, 2 июл 2014.

Статус темы:
Закрыта.
  1. Servelad

    Servelad Активный участник

    Баллы:
    61
    А не пробегал-ли этот замечательный фикс, без форджа? Чтобы просто на ваниль можно было поставить. Хотя-бы соурсы?
     
  2. Хостинг MineCraft
    <
  3. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Это не фикс, а просто исходники от 1.7.2 с минимальными изменениями. Возьмите MCP для 1.7.2, получите исходники и перенесите их в MCP 1.7.10, исправьте ошибки. После этого у вас будет аналог под ванильный MC.
     
  4. pizzlywizzly

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

    Баллы:
    123
    Посоны, а есть ли фикс для голов игроков? Вообще не отображаются :(
     
  5. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Тут уже надо сервер ковырять, на клиенте недостаточно. Да и кому нужны эти головы на серверах с модами.
     
  6. pizzlywizzly

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

    Баллы:
    123
    Mne. :cool:
     
  7. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Запили мод на кастом головы да и все, не сложно же).
     
    Последнее редактирование: 14 дек 2014
  8. pizzlywizzly

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

    Баллы:
    123
    Может пояснишь, куда сервер обращается за скинами и прочим говном? Запилил 2 скрипта, один выдаёт ник и uuid по нику, другой выдаёт текстуры по uuid (http://l.squareland.ru/scripts/profile.php?user=desu и http://l.squareland.ru/scripts/profile.php?uuid=19869ce708d44c2a9ec04a241098d964), только не понимаю, что ещё надо править. Если рабочую систему напишу, вброшу в паблик.
     
  9. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Там все проще можно заткнуть, только нужно вырезать сигнатуру, ибо она нахрен ненужна.
    Но это все равно очень неудобно, потому я и отказался от этого извращения.
     
  10. pizzlywizzly

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

    Баллы:
    123
    Поясни хоть, как это работает. Хочу выкатить универсальную систему, чтобы не насиловать фиксами 1.8+ версии.
    Как я понял, он у profile-скрипта спрашивает адрес текстур по uuid. Это что касается клиента. А как сервер понимает, какой uuid присвоить голове, понятия не имею.
     
  11. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    А там пофиг какая сылка на скин в новой вирусной системе скинов.. Главное чтоб имя плаща не совпало с именем скина.
     
  12. pizzlywizzly

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

    Баллы:
    123
    Но как сервер определяет, какой uuid задать голове? Или это плагины сами пишут в nbt?
     
  13. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Даже не смотрел.
     
  14. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Почему сервер? Нужно просто в классе рендера голов сделать одну небольшую правку, и готово. Вот код:
    Код:
    package net.minecraft.client.renderer.tileentity;
    
    import net.minecraft.client.entity.AbstractClientPlayer;
    import net.minecraft.client.model.ModelSkeletonHead;
    import net.minecraft.entity.Entity;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.tileentity.TileEntitySkull;
    import net.minecraft.util.ResourceLocation;
    
    import org.lwjgl.opengl.GL11;
    import org.lwjgl.opengl.GL12;
    
    import com.mojang.authlib.GameProfile;
    
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @SideOnly(Side.CLIENT)
    public class TileEntitySkullRenderer extends TileEntitySpecialRenderer
    {
        private static final ResourceLocation field_147537_c = new ResourceLocation("textures/entity/skeleton/skeleton.png");
        private static final ResourceLocation field_147534_d = new ResourceLocation("textures/entity/skeleton/wither_skeleton.png");
        private static final ResourceLocation field_147535_e = new ResourceLocation("textures/entity/zombie/zombie.png");
        private static final ResourceLocation field_147532_f = new ResourceLocation("textures/entity/creeper/creeper.png");
        public static TileEntitySkullRenderer field_147536_b;
        private ModelSkeletonHead field_147533_g = new ModelSkeletonHead(0, 0, 64, 32);
        private ModelSkeletonHead field_147538_h = new ModelSkeletonHead(0, 0, 64, 64);
        private static final String __OBFID = "CL_00000971";
    
        public void renderTileEntityAt(TileEntitySkull p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, float p_147500_8_)
        {
            this.func_152674_a((float) p_147500_2_, (float) p_147500_4_, (float) p_147500_6_, p_147500_1_.getBlockMetadata() & 7, (float) (p_147500_1_.func_145906_b() * 360) / 16.0F, p_147500_1_.func_145904_a(), p_147500_1_.func_152108_a());
        }
    
        public void func_147497_a(TileEntityRendererDispatcher p_147497_1_)
        {
            super.func_147497_a(p_147497_1_);
            field_147536_b = this;
        }
    
        public void func_152674_a(float p_152674_1_, float p_152674_2_, float p_152674_3_, int p_152674_4_, float p_152674_5_, int p_152674_6_, GameProfile p_152674_7_)
        {
            ModelSkeletonHead modelskeletonhead = this.field_147533_g;
    
            switch (p_152674_6_)
            {
                case 0:
                default:
                    this.bindTexture(field_147537_c);
                    break;
                case 1:
                    this.bindTexture(field_147534_d);
                    break;
                case 2:
                    this.bindTexture(field_147535_e);
                    modelskeletonhead = this.field_147538_h;
                    break;
                case 3:
                    ResourceLocation resourcelocation = AbstractClientPlayer.locationStevePng;
    
                    if (p_152674_7_ != null && p_152674_7_.getName().length() > 0)
                    {
                        /*Minecraft minecraft = Minecraft.getMinecraft();
                        Map map = minecraft.func_152342_ad().func_152788_a(p_152674_7_);
    
                        if (map.containsKey(Type.SKIN))
                        {
                           resourcelocation = minecraft.func_152342_ad().func_152792_a((MinecraftProfileTexture)map.get(Type.SKIN), Type.SKIN);
                        }*/
    
                        String name = p_152674_7_.getName();
                        resourcelocation = AbstractClientPlayer.getLocationSkull(name);
                        AbstractClientPlayer.getDownloadImageSkin(resourcelocation, name);
                    }
    
                    this.bindTexture(resourcelocation);
                    break;
                case 4:
                    this.bindTexture(field_147532_f);
            }
    
            GL11.glPushMatrix();
            GL11.glDisable(GL11.GL_CULL_FACE);
    
            if (p_152674_4_ != 1)
            {
                switch (p_152674_4_)
                {
                    case 2:
                        GL11.glTranslatef(p_152674_1_ + 0.5F, p_152674_2_ + 0.25F, p_152674_3_ + 0.74F);
                        break;
                    case 3:
                        GL11.glTranslatef(p_152674_1_ + 0.5F, p_152674_2_ + 0.25F, p_152674_3_ + 0.26F);
                        p_152674_5_ = 180.0F;
                        break;
                    case 4:
                        GL11.glTranslatef(p_152674_1_ + 0.74F, p_152674_2_ + 0.25F, p_152674_3_ + 0.5F);
                        p_152674_5_ = 270.0F;
                        break;
                    case 5:
                    default:
                        GL11.glTranslatef(p_152674_1_ + 0.26F, p_152674_2_ + 0.25F, p_152674_3_ + 0.5F);
                        p_152674_5_ = 90.0F;
                }
            }
            else
            {
                GL11.glTranslatef(p_152674_1_ + 0.5F, p_152674_2_, p_152674_3_ + 0.5F);
            }
    
            float f4 = 0.0625F;
            GL11.glEnable(GL12.GL_RESCALE_NORMAL);
            GL11.glScalef(-1.0F, -1.0F, 1.0F);
            GL11.glEnable(GL11.GL_ALPHA_TEST);
            modelskeletonhead.render((Entity) null, 0.0F, 0.0F, 0.0F, p_152674_5_, 0.0F, f4);
            GL11.glPopMatrix();
        }
    
        public void renderTileEntityAt(TileEntity p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, float p_147500_8_)
        {
            this.renderTileEntityAt((TileEntitySkull) p_147500_1_, p_147500_2_, p_147500_4_, p_147500_6_, p_147500_8_);
        }
    }
     
  15. Defilak

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

    Баллы:
    78
    Имя в Minecraft:
    Defilak
    Раз файлы в первом посте все равно под форж, то для чего нужно усложнять себе жизнь и ковыряться с несовместимостями?
    В приложении сурсы мода который делает все тоже самое, но на Forge API.
     

    Вложения:

    • skins.zip
      Размер файла:
      3,8 КБ
      Просмотров:
      111
    Последнее редактирование: 16 дек 2014
  16. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Отлично! Жаль, лайк не поставить.
     
  17. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Никто и не усложнял :). Вообще писал для себя и просто поделился.
     
  18. strelok193

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

    Баллы:
    103
    Skype:
    strelok1933
    Имя в Minecraft:
    Hitman3oo
    Поподробней можно? Зачем декомпилить файлы через mcp 1.7.2, если alexandrage выложил и сорцы? Правильно ли я понимаю что эти сорцы можно смело ложить в mcp 1.7.10 и получить ванильку с фиксом без форджа?
    ========
    И, кстати, по самому форджу:
    alexandrage, что происходит с образцами под сашка? Не первый раз ставлю ваш лаунчер, но в этот раз даже образцы не запустились:
    Клиент Voxelaria1.7.10, взят без изменений с вашего облака
    Код:
    ANTICHEAT: Rechecking jars....
    [02:29:48] [Thread-11/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
    [02:29:48] [Thread-11/INFO]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
    [02:29:48] [Thread-11/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
    Exception in thread "Thread-11" cpw.mods.fml.relauncher.FMLSecurityManager$ExitTrappedException
        at cpw.mods.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:25)
        at java.lang.SecurityManager.checkExit(SecurityManager.java:761)
        at java.lang.Runtime.exit(Runtime.java:107)
        at java.lang.System.exit(System.java:962)
        at net.launcher.components.Game$4.run(Game.java:244)
        at java.lang.Thread.run(Thread.java:745)
    ANTICHEAT: Mod checking done
    
    да, я имею наглость писать проблемы лаунчера в теме по фиксу скинов. Прошу извинить, но до вас хрен достучишься.
     
    Последнее редактирование: 17 дек 2014
  19. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Все так же как и было ранее. Все работает, всеми проверен уже давно.
     
  20. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Если исходники от Forge, то для ванильного MC они не подойдут.
     
  21. Автор темы
    alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    +1 И смысла под ванилку писать нет, ванилки на безлаунчерах.
     
Статус темы:
Закрыта.

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