Witam!
Ten Poradnik jest Aktualny tamte 3 Poradniki robiłem wczesniej i dzisiaj wklejałem i przez ten czas co wklejałem te poradniki robiłem ten Wielki Sensowny Poradnik miłego czytania piszałem go 2h
Chciałbym stworzyć tutorial całkowicie w języku polskim o tworzeniu modów pod Forge'a. Wiele osób nie wie, że pisanie modów do Minecraft'a może być bardzo proste chciałbym właśnie to wam pokazać
Postaram się napisać tutorial w kilku częściach. W każdej dodam coś nowego. Stworzymy w ten sposób jeden duży mod do Minecraft'a.
Jeśli wam się spodobało to jutro postaram się umieścić część 2, w której dodamy do gry 16 nowych rodzajów bloków, a dokładniej szesnaście nowych rodzajów kwiatów!
Potrzebne nam będzie:
- Forge -
http://files.minecraftforge.net/ (pobieramy plik src)
- Eclipse -
http://www.eclipse.org/downloads/
Modyfikacja powstaje na wersji: Minecraft 1.6.2 bo na 1.7.2 dopiero się uczę
Nie będę omawiał sposobu instalacji Forge'a ani obsługi Eclipse. Nie jest to zbyt skomplikowane. Dla "niewiedzących" na google są poradniki :crazy:
TUTORIAL cz.1 - Podstawowe pliki modyfikacji!.
1. Tworzymy plik główny modyfikacji.
W Eclipse klikamy po lewej stronie na "src" prawym przyciskiem myszki i wybieramy: "New --> Package".
Następnie podajemy nazwę naszej "paczki". W moim przypadku nazwę ją "modmkoespack" (nazwa musi być pisana małymi literami). Najczęściej wpisujemy tutaj nazwę naszego moda, czyli tak jak się będzie nazywał w przyszłości.
Następnie klikamy prawym przyciskiem myszy na naszą paczkę i wybieramy "New --> Class". W niej napiszemy podstawę naszego moda. Nasz plik Class nazywamy "ModMkoesPack" (nazwa dowolna, ja nazwałem ją tak samo jak mój Mod).
Otwarł nam się pusty dokument, więc przechodzimy do pisania
Na początku stworzymy podstawę naszego pliku.
Piszemy:
@Mod(modid = "modmkoespack", name = "ModMkoesPack", version = "1.2.0")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class ModMkoesPack
{
}
@Mod
- "modid" - jest to unikalny identyfikator naszego moda
- "name" - nazwa naszego moda
- "version" - wersja naszego moda
@NetworkMod
Podajemy tutaj po której stronie (Client albo Serwer, lub oba) nasz mod będzie wymagany. Najczęściej pozostawiamy jak powyżej napisałem.
Teraz w klasie głównej ModMkoesPack piszemy:
@Instance("ModMkoesPack")
public static ModMkoesPack instance;
@SidedProxy(clientSide="modmkoespack.ClientProxy", serverSide="modmkoespack.CommonProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
}
@EventHandler
public void Load(FMLInitializationEvent event)
{
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
Tutaj interesuje nas najbardziej kod: "@SidedProxy(clientSide="modmkoespack.ClientProxy", serverSide="modmkoespack.CommonProxy")". Musimy stworzyć dwie kolejne klasy. Są to pliki uruchamiane albo po stronie Klienta albo Serwera. Narazie nie będziemy na tym etapie programowania zajmować się tymi plikami, więc polecam ten kawałek kodu pozostawić bez zmian, a pliki do nich stworzyć już "na zapas".
Tworzymy więc kolejne dwie nowe klasy. Klikamy prawym przyciskiem myszy na paczkę "modmkoespack" i dajemy: "New --> Class". Pierwszy z plików nazywamy "ClientProxy", a drugi "CommonProxy".
Ich zawartość:
ClientProxy
package modmkoespack;
public class ClientProxy extends CommonProxy
{
@Override
public void registerRenderers()
{
}
}
CommonProxy
package modmkoespack;
public class CommonProxy
{
public void registerRenderers()
{
}
}
Stworzyliśmy podstawową część naszego moda!
W następniej części dodamy:
- Nową zakładkę do Trybu Creative
- 16 nowych rodzajów kwiatów
Cały kod głównego pliku modyfikacji wygląda więc tak:
ModMkoesPack
// ModMkoesPack - Polska modyfikacja do Minecraft'a by mkoes
package modmkoespack;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
@Mod(modid = "modmkoespack", name = "ModMkoesPack", version = "1.2.0")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class ModMkoesPack
{
@Instance("ModMkoesPack")
public static ModMkoesPack instance;
@SidedProxy(clientSide="modmkoespack.ClientProxy", serverSide="modmkoespack.CommonProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
}
@EventHandler
public void Load(FMLInitializationEvent event)
{
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
}
PS: Przepraszam za moje błędy w ortografi
Jeśli się uda jutro Cześć 2 Poradnika