Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

danx91

Rekomendowane odpowiedzi

Opublikowano

Witam, to jest mój pierwszy poradnik, więc zaczynam.

Radze umieć posługiwać się Eclipse, poniewarz nie wszystko będze tłumaczone.

Poradnik dotyczyć będzie robienia modów do minecrafta pod forge w wersji 1.6.4.

 

Co już jest:

  • Przygotowania
  • Pierwszy Blok
  • Item

 

 

 

Co zamierzam zrobić:

 

  • Jedzenie
  • Dodatkowe właściwości itemu
  • przetapianie
  • achievementy
  • Zakładka w oknie creative
  • Ruda i jej renderowanie się na świecie
  • Narzędzia
  • (może) GUI
  • Struktury
  • Eksportowanie moda

 

Dodatkowe Informacje:

 

 

Więcej o craftingu:

 

 

A więc, sama receptura składa się z trzech takich "   " bloków.

Q: Jak one działają ?

A: W prosty sposub:

np. "XXX" to oznacza że niewarzne jak w craftngu trzeba połorzyć poziomo jakieś dane itemy.

Q: A jak zrobić np. crafting taki jak skrzyni ?

A; dobra: "XXX", "X X", "XXX" i oto w taki sposub masz crafting skrzyni.

Q: Dobra, było jak zrobić poziomo, ale jak zrobić pionowo ?

A: w przeciwieństwie do tamtego trzeba będzie urzyć 3 bloków w taki sposób: "X", "X", "X" i oto masz.

Q: Ale jak zrobić aby trzeba było na środku ?

A: Trzeba wstawić spacje po i przed X czyli tak " X ". Spacja oznacza brak itemu.

Q: A le jak dokońca definiować jakie to itemy w takim craftingu idzie się pogubić: "ACG", "GEA", "XXZ" !

A: Spokojnie karzdy item się definiuje tak samo po ostatnim bloku: "XXZ", 'X', new ItemStack(Item/Block.<nazwa>);

Q: Już spoko to nie takie trudne, czyli kod morze wyglądać tak? 'X', new ItemStack(Item/Block.<nazwa>), 'X', new ItemStack(Item/Block.<nazwa>), 'X', new ItemStack(Item/Block.<nazwa>), 'X', new ItemStack(Item/Block.<nazwa>), 'X', new ItemStack(Item/Block.<nazwa>), 'X', new ItemStack(Item/Block.<nazwa>);

A: Owszem, a pozatym nie bój się eksperymentować z kodem jak coś to można go usunąć.

 

Myślę że to małe Q&A się przydało i znalazłeś w nim odpowiedzi ! Miłego modowania !

 

 

Dalej masz problem napisz: [email protected]

 

 

 

 

1. Przygotowania:

1.Mcp, Forge:

 

1. Pobierz Minecraft forge na wersje 1.6.4 src ze strony: files.minecraftforge.net

2. Wypakuj pliki i włącz plik Instal.bat

3. Poczekaj na pobranie się wszystkich Plików

 

 

2.Eclipse:

 

 

 

1.Pobierz: Elipse IDE for Java EE Developers ze strony: https://www.eclipse.org/downloads/

2. Uruchom Eclipse,  a następnie w okienku które się pojawi. Wybierz: Miejsce w którym wypakowałeś minecraft forge/mcp/eclipse.

 

 

3.Tworzenie podstawowych paczek i class:

 

1. W okienku po lewej stronie rozwin strzałką folderek Minecraft , a następnie src

2. klikając na dowolną paczke PPM, a następnie wybierz: new > package

3. Nadaj jej nazwe "NazwaModa"

4. Postępuj tak jak w punkcie 2 lecz nazwij ją teraz "NazwaModa.common", i jeszcze jedną o nazwie "NazwaModa.client"

5. (Od teraz przyjmijmy że NazwaModa to mod) W paczce mod.common stwórz klase klikając

PPM na paczke, a następnie: new > class. Nazywamy ją: "CommonProxy" i drugą: "(NazwaNaszejGłównejKlasy np.)Poradnik". Następną tworzymy w mod.client i nazywamy ją: "Client Proxy"

 

 

4.Piszemy podstawy:

 

1. W pliku klasie ClientProxy piszemy:

 

package mod.client;

import mod.common.CommonProxy;

public class ClientProxy extends CommonProxy{

    @Override
    public void registerRenderThings(){
        
        
        
    }
    
}

 

2. w klasie CommonProxy:

 

 

package mod.common;

public class CommonProxy {
    
public void registerRenderThings(){
    
    
    
}

}

 

3.W klasie Poradnik:

 

 

 

package mod.common;

@Mod(modid = "(nazwa moda)Poradnik", name = "(piszemy to co wcześniej)Poradnik", version = "1.0.0(wersia moda)")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class Poradnik {
    @SidedProxy(clientSide = "mod.client.ClientProxy", serverSide = "mod.common.CommonProxy")
    public static CommonProxy proxy;
    @Init
    public void load(FMLInitializationEvent event){
        proxy.registerRenderThings();
    }
}

//Oczywiście importujemy wszytko co trzeba

 

 

 

 

 

 

 

2. Pierwszy Blok:

 

 

 

1.Otwieramy klase Poradnik i piszemy: (przed ostatnią klamrą zamykającą !!)

 

 

 

public static Block(< importujemy) BlokZiemi

Następnie pod "proxy.registerRenderThings();" piszemy:

 

 

 

BlokZiemi = new BlokZiemi(<Tu ID przedmiotu>).setUnlocalizedName("BlokZiemi").setCreativeTab(CreativeTabs.tabBlocks).setHardness(2);

GameRegistry.registerBlock(BlokZiem,  "BlokZiemi");

LanguageRegistry.addName(BlokZiemi, "<nazwa widoczna w grze>")

GameRegistry.addRecipe(new ItemStack(this.BlokZiemi, <Ile dostajemy>), "XXX", "XXX", "XXX", 'X', new ItemStack(Block.dirt));

2. Blok jest prawie skończony teraz tylko tworzymy w paczce mod.common

 

 

 

 

Blok jest prawie skończony teraz tylko tworzymy w paczce mod.common tworzymy klase o nazwie BlokZiemi. Usuń z niej wszystko i zkopiuj to:

 

 

package mod.common;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;

public class BlokZiemi extends Block{
    
    public BlokZiemi(int i){
        
        super(i, Material.<tu materiał>(po kliknięcu ctrl + space wyskoczą ci wszystkie możliwe);
        
    }
    @Override
    public void registerIcons(IconRegister ir){
        
        this.blockIcon = ir.registerIcon("blokZiemi_icon");  <- Tu podajemy nazwe tekstury zrobionej w 16x16 pixeli, w rozszerzeniu .png. tą texture trzeba narazie umieścić w Miejscu mpc/jars/versions/1.6.4/1.6.4.jar/assets/minecraft/textures/blocks i tu umieszczasz texture
        
    }
    

}
 

 

 

To wszystko jeżeli postępowałeś zgodnie z poradnikiem, po kliknięciu na pasku u góry Run/run client powiniem się włączyć minecraft z napisem że są aktywne 4 mody.

 

 

3. Item:

 

 

Kod itemu nie różni się zbytnio od bloku, czyli poprostu wystarczy wprowadzić kilka zmian:

mod.common:

 

 

public static Item magicstick; <--- zmiana polega tylko na zastąpieniu Block na Item

 

Rejestracja do gry tez jest podobna:

magicstick = new magicstick(<Tu ID przedmiotu ! uwaga nie dawaj tego samego !>)

.setUnlocalizedName("magicstick").setCreativeTab(CreativeTabs.tabMaterials); <--- wystarczyło tylko usunąć .setHardness()

GameRegistry.registerItem(magicstick,  "magicstick"); <----  <Block na Item>

LanguageRegistry.addName(magicstick, "<nazwa widoczna w grze>")

GameRegistry.addRecipe(new ItemStack(this.magicstick, <Ile dostajemy>), " X ", " Y ", "B B", 'X', new ItemStack(Block.dirt), 'Y', new ItemStack(Item.brick), 'B', new ItemStack(this.BlokZiemi);

W klasie Poradnik już skończone teraz tworzymy klase magicstick.

 

 

magicstick.class:

 

 

package mod.common;

import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

public class magicstick extends Item{
    
    public magicsticki(int i){
        
        super( i );
        
    }
    @Override
    public void registerIcons(IconRegister ir){
        
        this.itemIcon = ir.registerIcon("magicstick_icon"); <-- teraz ikone wrzucamy do: mpc/jars/versions/1.6.4/1.6.4.jar/assets/minecraft/textures/items

 

 

Oto znów koniec poradnika, teraz możesz się cieszyć itemem. Zapraszam również do zakładki: Dodatkowe

 

 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...