Pixel Forum

Olá! Faça sua conta no Pixel Fórum.

Ao se cadastrar você terá acesso à escrever tópicos e fazer comentários, não deixe de se registrar. Obrigado!

Últimos assuntos

» Como Ganhar Efeitos Gratis sem Duckets
Ter Maio 21, 2013 9:38 am por Viniment

» Andar Sentado Bug Habbo
Dom Jan 27, 2013 1:38 pm por Viniment

» Kabum clicks - kabumclicks.com.br
Seg Jan 21, 2013 11:30 am por Viniment

» Neobux - Prova de Pagamento
Seg Jan 21, 2013 11:23 am por Viniment

» Neobux - neobux.com
Seg Jan 21, 2013 11:20 am por Viniment

» [SQL] PET COELHO [SWF]
Sex Abr 20, 2012 8:22 pm por :.Filipy.:

» [DOWNLOAD]Layout Manutenção com contador regressivo.[DOWNLOAD]
Sab Mar 03, 2012 2:39 pm por nedmaster

» Loja - Efeitos No Nick
Seg Fev 27, 2012 1:37 pm por Viniment

» Parceria [FD]
Seg Fev 27, 2012 1:34 pm por Viniment

» Phoenix Emu Cracked 3.7.1
Dom Fev 26, 2012 2:42 pm por Viniment

Parceiros

Sem Parceria no Momento

Os membros mais ativos do mês

Numero De Visitas

contador gratuito

    Criando um mod para Minecraft [Java]

    Compartilhe
    avatar
    Viniment
    Pixel Membro
    Pixel Membro

    Mensagens Mensagens : 132
    Pontos Pontos : 12149

    Criando um mod para Minecraft [Java]

    Mensagem por Viniment em Sab Dez 17, 2011 3:20 pm

    Criando um mod para Minecraft [Java]
    O meu computador está em inglês, ou seja, algumas coisas podem estar diferentes.

    O que você vai aprender hoje:

    >>> Configurar o MCP
    >>> Criar o seu primeiro bloco (SuperBlock)
    >>> Faze-lo compativel com o ModLoader


    Configurando o MCP
    Esta parte é só para windows, mas de qualquer jeito, o resto do tutorial é para qualquer sistema operacional.

    >> Clique em "Iniciar", Clique com o botão direito no "Meu Computador" e clique em "Propiedades". Clique em configurações avançadas.

    >> Clique em "Environmental variables" (Não sei traduzir isso)

    >> Tem uma variável "PATH" no topo? O valor dela é "C:\Program Files\Java\jdk1.6.0_24\bin"? Se SIM pode pular a parte do tutorial que tem as folhas.

    Se você ainda está lendo esta parte é porque a resposta das perguntas acima é NÃO.

    Baixe o JAVA JDK SE: Download (1/11/11) - Procure a Versão mais nova.

    Instale o arquivo baixado!

    Abra novamente o "Environmental variables", Clique em "novo" e digite "Path", o valor é "C:\Program Files\Java\jdk1.6.0_24\bin"

    Pronto você acabou de configurar o JDK :angel:

    Agora você ja tem o JDK, que é importante para qualquer programação em JAVA, mas ainda não tem o MCP, essa parte é rapida.

    Vá até este link:
    http://mcp.ocean-labs.de/index.php/MCP_Releases (Ingles)

    Quando você ja tiver o arquivo ZIP, extraia ele para uma pasta chamada MCP na Desktop. Dentro, devem haver varias pastas e arquivos .bat

    Você deve colocar os arquivos do minecraft dentro da pasta do MCP, para isso siga esses passos:

    >> Abra o "Meu Computador"

    >> Na barra de endereços digite "%appdata%"

    >> Abra ".minecraft"

    É importante que você tenha uma versão do minecraft sem mods, caso tenha, delete a pasta ".minecraft" e abra o Minecraft.exe.

    >> Copie a pasta "bin" e a pasta "resources" para dentro da pasta "jars" que está dendro da pasta "MCP" na sua Desktop

    >> Baixe um "Minecraft_server" também sem mods e cole na pasta "jar"

    >> Abra o "Decompile.bat" dentro da pasta "Jars"


    Se você fez tudo certo você não deve ter nenhum erro ao rodar o "Decompile.bat"

    Abra os bats nesta ordem:

    1. Decompile
    2. Recompile
    3. StartClient
    4. Reobfuscate

    Se na pasta reobf tiver algum arquivo é porque funcionou!

    Por ultimo, baixe este programa:
    http://www.baixaki.com.br/download/notepad-.htm


    Agora vamos para a programação:

    Crindo o seu primeiro bloco:

    Agora nós vamos criar o... Super Bloco!!! (SuperBlock)
    É basicamente, um bloco que brilha, é semi-transparente e tem uma propriedade estranha, ele te acelera a uma velocidade extrema!!!!

    Vamos fazer todas estas coisas:
    -Criar um bloco
    -Mudar suas propiedades
    -Alterar sua textura
    -Fazer um nome para ele dentro do jogo
    -Fazer uma receita

    Vamos começar com... fazer o bloco:

    >>> Abra seu editor de textos
    >>> Clique em "Abrir arquivo"
    >>> Vá até "MCP\src\minecraft\net\minecraft\src"
    >>> Abra "BlocDirt.java"


    Vamos dar uma olhada nos códigos:

    Código:
    package net.minecraft.src;  \\Apenas diz onde ele está

    public class BlockDirt extends Block  \\Aqui ele diz o que o programa faz
    {                                                 
                                                       
                                                     
        protected BlockDirt(int i, int j)    \\int i, é a id do item, e int j, é o lugar da textura
        {
            super(i, j, Material.ground);     
        }
    }


    Isto nem está tão ruim, poucas linhas. Você provavelmente não está intendendo nada, TUDO BEM!!! Eu vou explicar:

    Agora o que você tem que fazer é criar sua própria class

    Então no seu editor de texto clique em "Novo"

    E cole isto:

    Código:
    Código:

    package net.minecraft.src;
    // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
    // Jad home page: http://www.kpdus.com/jad.html
    // Decompiler options: packimports(3) braces deadcode


    public class BlockSuperBlock extends Block
    {

        protected BlockSuperBlock(int i, int j)
        {
            super(i, j, Material.ground);
        }
    }
    Eu só mudei onde tinha "Dirt" Para "SuperBlock"

    Salve como "BlockSuperBlock.java"

    Nem foi tão difícil

    Mas, e agora, como mudamos as propriedades?
    Abra o "Block.java" que esta na mesma pasta do "BlockDirt.java"

    Um pouco maior não? XD

    Vá abaixando até chegar em algo parecido com isso:
    Código:
    Código:

    public static final Block dirt;
    Cole logo abaixo isso:
    Código:
    Código:

    public static final Block SuperBlock;
    Isso só diz ao computador "Ei eu existo e estou aqui!!!!!"
    E você ainda não sabe como mudar as propriedades... * desça mais um pouco *, desça até achar algo semelhante a isso:

    Código:
    Código:

    dirt = (new BlockDirt(3, 2)).setHardness(0.5F).setStepSound(soundGravelFootstep).setBlockName("dirt");
    Bom, vamos adicionar nosso bloco ao final da lista:
    Código:
    Código:

    SuperBlock = (new BlockSuperBlock(131, 2)).setHardness(0.5F).setStepSound(soundGravelFootstep).setBlockName("dirt");
    Mas o que são esses dois números, (3, 2)?
    São duas variáveis
    3= O id do bloco, não podem existir dois blocos com o mesmo id
    2= A textura do bloco

    Se você abrir o "terrain.jpg" você vai ver:


    O primeiro quadrado da esquerda é o numero 0 o proximo é o 2 e assim vai...

    Você vai precisar editar esta imagem para fazer sua textura

    Não use a imagem acima, é velha e está desatualizada, usei apenas como exemplo

    Mas e agora, o que são todos aqueles ".setAlgumacoisa()"?
    Bom sinta-se livra para edita-los
    Depois de olhar o código das tochas achei um ".setLightValue()", adicione no seu código e coloque o valor como (1.0F), quanto maior, mais luz.
    O seu código deve se parecer com esse:
    Código:
    Código:

    SuperBlock = (new BlockSuperBlock(100, 39)).setHardness(1.5F).setLightValue(1.0F).setLightOpacity(3).setStepSound(soundGravelFootstep).setBlockName("SuperBlock");
    Mas, depois de analisar o código do gelo, vemos isto "slipperiness = 0.98F;" isto é o que importa, coloque para (5.0F) e você irá praticamente voar.

    Agora vamos testar... mas como vamos conseguir nosso novo bloco?

    Precisamos adicionar uma receita, abra o "craftingmanager.java"
    Procure algo semelhante a isto:
    Código:
    Código:

    addRecipe(new ItemStack(Item.paper, 3), new Object[] {
            "###", Character.valueOf('#'), Item.reed
    });
    E logo abaixo coloque isto:

    Código:
    Código:

    addRecipe(new ItemStack(Block.SuperBlock, 16), new Object[] {
            "x", Character.valueOf('x'), Block.dirt
    });
    A sua receita é, um bloco de terra em qualquer lugar da grid vai gerar 16 SuperBlocks

    Salve tudo

    Agora vamos testar:

    Abra o "reobfuscate.bat" na pasta MCP
    Abra o "startclient.bat"

    Mas o seu bloco ainda está sem nome! Que medo!

    Não tem problema, nós resolvemos!

    Abra: C:\Documents and Settings\Owner\Desktop\MCP\temp\minecraft\lang
    E edite: en_US.lang usando o notepad++

    Ache algo semelhante a isto:
    Código:
    Código:

    tile.dirt.name=Dirt
    tile.dirt.desc=
    E cole logo em baixo isto:

    Código:
    tile.dirt.name=SuperBlock
    tile.dirt.desc=
    Aqui está um exemplo do código funcional

    Fazendo ele compatível com ModLoader:

    O nosso bloco é incrivel... mas não é compativel com modloader, é pior que quando ele ainda estava sem nome!

    Bem, vamos começar.

    -Baixe o ModLoader - [V1.8.1/1.9p5] Risugami's Mods - Everything Updated. Prerelease included. - Minecraft Forum

    -Abra "MCP\jars\bin" e abra o "Minecraft.jar" com o winrar.

    -Cole os arquivos os modloader lá dentro

    -Isso é tudo que você tem que fazer

    Abra o "BlockSuperBlock"
    O código atual é este:
    Código:
    Código:

        package net.minecraft.src;
        // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
        // Jad home page: http://www.kpdus.com/jad.html
        // Decompiler options: packimports(3) braces deadcode


        public class BlockSuperBlock extends Block
        {

            protected BlockSuperBlock(int i, int j)
            {
                super(i, j, Material.ground);
                slipperiness = 0.1F;
            }
        }
    Nós vamos adicionar isso tudo aqui:

    Código:
    Código:

      package net.minecraft.src;

        public class mod_OurMods extends BaseMod  //Isto estende o BaseMod, parte do modloader
        {
          public static final Block SuperBlock; 
         
          static
          {
              SuperBlock = (new Block(100, ModLoader.addOverride("/terrain.png", "/yournewfolder/SuperBlock.png"), Material.rock)).setHardness(1.5F).setLightValue(1.0F).setStepSound(Block.soundGravelFootstep).setBlockName("SuperBlock");
          }                    //Estas são as propriedades, não parecem familiares?
         
          public mod_OurMods()
          {
              ModLoader.AddName(SuperBlock, "Super Block");  //Este é o nome dentro do jogo
             
              ModLoader.RegisterBlock(SuperBlock);  //Não pergunte, apenas faça
             
              ModLoader.AddRecipe(new ItemStack(SuperBlock, 1), new Object[] {
              "x", Character.valueOf('x'), Block.dirt
          });                                                            //A receita
          }
         
         
          public String Version()
          {
              return "1.5_01";
          }
        }
    Bem, está tudo resumido aqui então voc~e tera de tirar o que você colocou nos outros arquivos. Você terá que renomear o arquivo para "mod_SuperBlock.java"
    E... olhem para esse código:
    Código:
    Código:

    SuperBlock = (new BlockSuperBlock(100, ModLoader.addOverride("/terrain.png", "/pasta_com_o_nome_que_você_quiser/SuperBlock.png")
    Você não terá mais que editar o "terain.jpg", agora, dentro do minecraft.jar você terá que criar uma pasta com o nome que você quiser e colocar o arquivo da textura, ele deve ter 16x16 pixels e ser .PNG.

    Agora clique em "recompile.bat" e em "reobfuscate.bat" e depois em "startclient.bat"
    e teste seu mod.

    Para poder passar para galera, comprima os arquivos da pasta "reobf" e mande pra todo mundo.
    avatar
    Marcelo
    Pixel Membro
    Pixel Membro

    Mensagens Mensagens : 93
    Idade Idade : 19
    Pontos Pontos : 11044
    Localização Localização : casa

    Re: Criando um mod para Minecraft [Java]

    Mensagem por Marcelo em Sab Dez 17, 2011 4:35 pm

    VO ler um poco pra aprender mais sobre esse jogo ai Very Happy

    EDIT: Nem deu pra ler tudo outra hora acompanho mais ^^


    ______________________________________________________________________________________________________________________________________________________

    Sign by Danasoft - For Backgrounds and Layouts



      Data/hora atual: Ter Out 24, 2017 3:43 am