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

Туториал Anti x-ray texture

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем qwertyYy2, 23 фев 2013.

  1. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Я не умею. :)
    А что, сложно скрипт исправить?
     
  2. Хостинг MineCraft
    <
  3. LaoTheLizard

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

    Баллы:
    103
    Skype:
    sgp_the_controller
    Сделал клиент с MD5. Когда закончил - как раз проснулся тот читер. Сейчас буду наблюдать, за сколько минут он справится с тем, что я для него клепал пять часов...
     
  4. SkyPrince

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

    Баллы:
    88
    Skype:
    skyprince-2014
    Имя в Minecraft:
    SkyPrince
    Ай да молодца автор! Возьми с полки пирожок! ;)
     
  5. Raptor2108

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

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    На версии 1.5.2 не коректно работают текстуры высокого разрешения после установки данной защиты, по моему там что то изменили в этом деле. Кто нибудь еще пробовал делать для 1.5.2 ?
     
  6. SVIDA

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

    Баллы:
    103
    Skype:
    rsvidenko
    Поддержку HD текстур добился путем установки Optifine? - из-за него корректно и не работает :(
     
  7. Raptor2108

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

    Баллы:
    173
    Skype:
    Raptor210818
    Имя в Minecraft:
    Raptor2108
    Всё прекрасно работает если не ставить защиту из данной темы.
     
  8. ujkbktj

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

    Баллы:
    123
    Отлчино ещё 1 совет на создание своего ланучера со своей системой скинов... и прочим своим...
     
  9. max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    Очень жду под 1.5.2 :)
     
  10. limon_4eg

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

    Баллы:
    103
    Skype:
    limon4egz
    Сделайте пожалуйста для 1.5.2
     
  11. Fourgotten

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

    Баллы:
    103
    Держите под 1.5.2
     

    Вложения:

    Vedroyder, AlexMerser2012, Coffee и 2 другим нравится это.
  12. max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    щас проверим :)
     
  13. agentik007

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

    Баллы:
    153
    Skype:
    vladislav567695
    Исходник можно?
     
  14. max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    УРА! все пашет и с Optifine и с HD текстурами! Спасибо большое!
     
    RVXman нравится это.
  15. limon_4eg

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

    Баллы:
    103
    Skype:
    limon4egz
    Спасибо!
     
  16. Fourgotten

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

    Баллы:
    103
    Да все так же, как и в 1.5.1 версии, ничего не поменялось.
     
    ВремяПриключений и limon_4eg нравится это.
  17. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    up, добавил 1.5.1, 1.5.2 в главной странице.
     
    limon_4eg нравится это.
  18. max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    народ, а когда ставишь текстуры и на них появляется радуга, это не из-за этого анти x-ray'я?
     
  19. alex55i

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

    Баллы:
    103
    Имя в Minecraft:
    alex55i
    Это фича[DOUBLEPOST=1370348496,1370341290][/DOUBLEPOST]Версия 1.5.2/1.5.1
    Радуга исправлена

    TexturePackCustom
    Код:
    package net.minecraft.src;
     
    import java.awt.image.BufferedImage;
    import java.awt.image.DataBufferByte;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Enumeration;
    import java.util.regex.Pattern;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipException;
    import java.util.zip.ZipFile;
     
    import javax.imageio.ImageIO;
     
    public class TexturePackCustom extends TexturePackImplementation
    {
        /** ZipFile object used to access the texture pack file's contents. */
        private ZipFile texturePackZipFile;
     
        public TexturePackCustom(String par1Str, File par2File, ITexturePack par3ITexturePack)
        {
            super(par1Str, par2File, par2File.getName(), par3ITexturePack);
        }
     
        /**
        * Delete the OpenGL texture id of the pack's thumbnail image, and close the zip file in case of TexturePackCustom.
        */
        public void deleteTexturePack(RenderEngine renderEngine)
        {
            super.deleteTexturePack(renderEngine);
     
            try
            {
                if (texturePackZipFile != null)
                {
                    texturePackZipFile.close();
                }
            }
            catch (IOException var3)
            {
            }
     
            texturePackZipFile = null;
        }
     
        protected InputStream func_98139_b(String name) throws IOException
        {
            openTexturePackFile();
            ZipEntry var2 = texturePackZipFile.getEntry(name.substring(1));
     
            if (var2 == null)
            {
                throw new FileNotFoundException(name);
            }
            else
            {
                return filterStream(name, texturePackZipFile.getInputStream(var2));
            }
        }
     
        public boolean func_98140_c(String par1Str)
        {
            try
            {
                openTexturePackFile();
                return texturePackZipFile.getEntry(par1Str.substring(1)) != null;
            }
            catch (Exception var3)
            {
                return false;
            }
        }
     
        /**
        * Open the texture pack's file and initialize texturePackZipFile
        */
        private void openTexturePackFile() throws IOException, ZipException
        {
            if (texturePackZipFile == null)
            {
                texturePackZipFile = new ZipFile(texturePackFile);
            }
        }
     
        public boolean isCompatible()
        {
            try
            {
                openTexturePackFile();
                Enumeration var1 = texturePackZipFile.entries();
     
                while (var1.hasMoreElements())
                {
                    ZipEntry var2 = (ZipEntry)var1.nextElement();
     
                    if (var2.getName().startsWith("textures/"))
                    {
                        return true;
                    }
                }
            }
            catch (Exception var3)
            {
            }
     
            boolean var4 = func_98140_c("terrain.png") || func_98140_c("gui/items.png");
            return !var4;
        }
     
        public static InputStream filterStream(String entryname, InputStream is) throws IOException
        {
            try
            {
                entryname = entryname.replace('\\', '/');
                if (!entryname.contains("textures/blocks/") || !entryname.endsWith(".png"))
                    return is;
     
                String texturename = entryname.substring(entryname.lastIndexOf('/') +1, entryname.lastIndexOf(".png"));
                for (String pattern : patterns)
                {
                    if (Pattern.compile("^" + pattern + "$").matcher(texturename).matches())
                        return is;
                }
     
                BufferedImage img = ImageIO.read(is);
     
                int w = img.getWidth();
                int h = img.getHeight();
                int[] r = img.getRGB(0, 0, w, h, null, 0, w);
                for (int i = 0; i < r.length; i++)
                    r[i] |= 0xff000000;
                img.setRGB(0, 0, w, h, r, 0, w);
     
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ImageIO.write(img, "png", baos);
                return new ByteArrayInputStream(baos.toByteArray());
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
            return null;
        }
     
        static final String[] patterns = new String[] { "activatorRail(_powered)?", "anvil_(top(_damaged_[1-2])?|base)", "bed_(feet|head)_(end|side|top)", "brewingStand", "cactus_(bottom|side|top)", "cake_(bottom|inner|side|top)", "carrots_[0-3]", "cauldron_(bottom|inner|side|top)", "cocoa_[0-7]", "deadbush", "destroy_[0-9]", "detectorRail", "door(Iron|Wood)_(lower|upper)", "fenceIron", "fern", "fire_[0-1]", "flower(Pot)?", "glass", "goldenRail(_powered)?", "grass_side_overlay", "hopper_top", "ice", "ladder", "lava(_flow)?", "leaves(_(jungle|spruce))?", "lever", "mobSpawner", "mushroom_(brown|red)", "netherStalk_[0-2]", "portal", "potatoes_[0-3]", "rail(_turn)?", "redstoneDust_(cross|line)(_overlay)?", "redtorch(_lit)?", "reeds", "rose", "sapling(_(birch|jungle|spruce))?", "stem_(bent|straight)", "tallgrass", "thinglass_top", "torch", "trapdoor", "tripWire(Source)?", "vine", "water(_flow)?", "waterlily", "web" };
    }
    TexturePackFolder
    Код:
    package net.minecraft.src;
     
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
     
    public class TexturePackFolder extends TexturePackImplementation
    {
        public TexturePackFolder(String par1, File par2, ITexturePack par3ITexturePack)
        {
            super(par1, par2, par2.getName(), par3ITexturePack);
        }
     
        protected InputStream func_98139_b(String name) throws IOException
        {
            File var2 = new File(texturePackFile, name.substring(1));
     
            if (!var2.exists())
            {
                throw new FileNotFoundException(name);
            }
            else
            {
                return TexturePackCustom.filterStream(name, new BufferedInputStream(new FileInputStream(var2)));
            }
        }
     
        public boolean func_98140_c(String par1Str)
        {
            File var2 = new File(texturePackFile, par1Str);
            return var2.exists() && var2.isFile();
        }
     
        public boolean isCompatible()
        {
            File var1 = new File(this.texturePackFile, "textures/");
            boolean var2 = var1.exists() && var1.isDirectory();
            boolean var3 = func_98140_c("terrain.png") || func_98140_c("gui/items.png");
            return var2 || !var3;
        }
    }
    @qwertyYy2, Делай так: http://paste.ofcode.org/6282ufuK5PWAqpAWu9Z7Lj (Очисти форматирование)
     

    Вложения:

  20. max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    @alex55i, как говорится "Сенкю вери мач" :)
     
    slavik123123123 нравится это.
  21. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    я давно забил на майнкрафт, качать все отдельно мне просто лень, извини не смогу, и исправленные тобою фичи буду добавлять на главную страницу.
     

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