freut mich das du sowas machst =)
Zeigt 2 sachen:
1. Das du nun was gelernt hast
2. Das mein Tut verständlich ist
Ich erstelle mal ein MCP Tutorial für RICHTIGE BLUTIGE Anfänger. Des soll nix gegen gerbons Tutorialsein, er eklärts perfekt ABER jetzt kommt das aber es gibt einige wie ich die von seinem Tutorial aus Minecraft.de nichts richtig lernen können. Deswegen habe ich überall gesucht und fand in ElitePVPersein Tutorial und auf einmal war das gerbons. Da erklärte es dort sehr ausführlich ich hoffe er wirds hier überarbeitet. Naja jetzt fangen wir mal an:
Index:
---MCP---
MCP? Was ist das und wie installiert man es richtig?
MCP - Spielen / Testen
MCP - Veröffentlichen
---Standadt Sachen---
Block erstellen
Crafting-Rezept erstellen
Ofen-Rezept erstellen
---ModLoader Sachen---
KOMMT NOCH!
MCP? Was ist das und wie installiert man es richtig?
MCP runterladen
1. MCP (Minecraft Coder Pack) ist gerade das einzigste Pack wo man Modden kann. (Bis natürlich die Minecraft API rauskommt)
Link: http://mcp.ocean-labs.de/index.php/MCP_Releases#MCP_3.x
Direkter Link: http://www.mediafire.com/?2gskj39vdafepri
Wie installiert man es?
Nach dem runterladen, entpackt ihr ihn. (Ich habe es auf C:. Rate es auch jedem, ist am praktischsten.)
Nun müsst ihr Java UND Java SDK runterladen, und zwar die neuste Version.
Jetzt müsst ihr den Path machen. Dafür geht ihr unter Win7 Start>Systemsteuerung>System und Sicherheit>System>Erweiterte System Einstellungen>danach drückt ihr das Button unter der 3. Einstellungen Button>Sucht unten Path>Doppeltklickt es>jetzt macht ihr am Ende Semikolon ";" und gibt bei das hier ein:
Win7 x64: C:\Program Files\Java\jdk1.6.0_25\bin;C:\Program Files\Java\jre6\bin\
Win7 x32: C:\Program Files\Java\jdk1.6.0_25\bin;C:\Program Files\Java\jre6\bin\
Es kann sein, dass Java sich wo andas Installiert hat. Das bedeutet, suchen. Aber das ist der Standartfall.
Jetzt geht ihr auf %appdata%\.minecraft und kopiert "bin" und "resources"-Odner.
Damit ihr Up to Date seit, müsst ihr auf updatemcp doppeltklicken.
WICHTIG: ES DÜRFEN KEINE MODS INSTALLIERT SEIN!!!!
Nachdem ihr es kopiert habt, geht ihr auf eiren MCP-Verzeichnis in Odner "jars" und fügt sie dort ein.
Jetzt öffnet ihr einmal "decompile" im Hauptverzeichnis. Wenn es fertig decomilt hat, öffnet ihr "recompile". Wenn es fertig ist, dann haben wir die Installation abgeschlossen!
UP
![]()
MCP - Spielen / Testen
So, ihr habt euren Mod geschrieben, aber ihr müßt es testen. Aber wie? Ganz einfach:
Im Hauptverzeichnis "recompile" ausführen und die Fehlern ausbessern, wenn welche vorhanden ist.
Wenn kein ERROR kommt, führt ihr "startclient" aus. Und schon Startet das Game!UP
Geschrieben von Neui!
MCP - Veröffentlichen
Ich weiß, dass es schon zu früh ist, aber ich erkläre es schon jetzt.
Also, mann öffnet die Datei "reobfuscate". Dann wird er neue Klassen finden. So wird es ungefär ablaufen:
Wie man im Code/Verlauf sehen kann, wird die Klassen im Odner/Unterverzeichnis "reobf/minecraft" abgelegt.Code:== MCP v3.1 == == Reobfuscating client == > Gathering md5 checksums > Compacting client bin directory > Reobfuscating client jar > Extracting modified classes > New class found : net/minecraft/src/BlockMinenkraft > New class found : net/minecraft/src/Beispiel > Outputted BlockMinenkraft to reobf/minecraft as BlockMinenkraft.class > Outputted Beispiel to reobf/minecraft as Beispiel.class == Reobfuscating server == !! Can not find server bins !!
Jetzt noch einpacken und verschiken!UP
Geschrieben von Neui!
Block erstellen
Jetzt erstellen wir unser 1. Block der (zurzeit) uns nichts bringt denn er ist einfach da
Also nachdem "recompilen" geht ihr jetzt auf euren MCP unter "src\Minecraft\net\minecraft\src".
Das sind jetzt viele .java-Dateien, aber gerade brauchen wir 1 bzw. 2 Dateien.
wir suchen Block.java und öffnen es (Ich rate euch nicht Editor sondern ein komplexeres wie Notepad++)
Jetzt scrollen wir bis wir folgendes sehen:Wenn wir es gefunden haben drücken wir nach der Semikolon auf Enter und schreiben folgendes:Code:public static final Block lockedChest;
Wir scrollen runter bis wir folgendes sehen:Code:public static final Block MinenKraft;
Jetzt machen wir wieder nach Semikolon Enter und schreiben das hier rein:Code:stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone");
Jetzt erkläre ich was das alles heißt:Code:Minenkraft = (new Block (100,1, [b]Material.rock[b])).setHardness(1.5F).setResistance(10F).setStepSound(soundwoodFootstep).setBlockName("minenkraft");
Minenkraft = Das ist der Name unseres Blockes
new Block = Greift auf die Datei Block.java zu.
100 = Das ist die ID von unserem Block (!ACHTUNG ES DARF NICHT HÖHER ALS 254 WERDEN!)
1 = Die Textur Nummer (wir kommen noch später darauf)
Material.rock = Steht für das Material
setHardness = Bestimmt die Stärke des Blockes (1,5F ist so stark wie ein Stein)
sbetResistance = Bestimmt die Resistenz gegen TNT und anderen Explosionen
setStepSound = Die bestimmt die Sounds für drüberlaufen.
setBlockName = Hier schreibt ihr den Block Namen ein. (ES MUSS KLEIN GESCHRIEBEN WERDEN!)
So ihr habt jetzt euren ersten Block
UP
![]()
Crafting-Rezept erstellen
Ja toll ihr habt ein Block aber wisst nicht wie man den Craftet. Sowas dummes aber auch.
UND JETZT kommt das Tut. für Crafting Rezept erstellen.
Ihr geht wieder auf src-Odner. (Siehe oben für Verzeichnis)
Jetzt sucht ihr CraftingManager.java wenn ihr gefunden habt öffnet es.
jetzt scrollt ihr bis ihr "addReecipe..." gefunden habt und macht Enter für eine neue Zeile und gebt das hier ein:
ERLÄUTERUNG:Code:addRecipe(new ItemStack(Block.MinenKraft, 3), new Object[] { "#", Character.valueOf('#'), Block.dirt });
addRecipe = Neues Rezept wird erstellt.
(new ItemStack = Erstellt, was für ein Item/Block rauskommt.
(Block.MinenKraft = Zeigt uns an, was raus kommen wird. Kann auch ein Item sein.
3 = Wie viel Stück da raus kommen soll/werden.
new Object[] { = Leitet das Rezept.
"#" ist das Crafting Teil.
Jetzt kommen wir zur etwas komplizierten Teil das mit Craften:
Wenn da jetzt "###" steht braucht es 3 Crafting Felder und wenn es "###","xxx","XXX" steht, heißt es ### sind die oberen 3 Felder, xxx die mittleren 3 Felder, XXX die unteren 3 Felder.
Character.valueOf('#'), Block.dirt = Was das Symbol zwischen " ' ' " für ein Item/Block ist.
UP
![]()
Ofen-Rezept machen
Was man braucht ist die Datei FurnaceRecipes.java.
Der Code, den wir bearbeiten müssen/brauchen ist folgender:
Nun machen wir unter dieses "addSmelting" eine neue Zeile. (Am besten 2, so dass man die übersicht nicht verliert!)Code:private FurnaceRecipes() { smeltingList = new HashMap(); addSmelting(Block.oreIron.blockID, new ItemStack(Item.ingotIron)); addSmelting(Block.oreGold.blockID, new ItemStack(Item.ingotGold)); addSmelting(Block.oreDiamond.blockID, new ItemStack(Item.diamond)); addSmelting(Block.sand.blockID, new ItemStack(Block.glass)); addSmelting(Item.porkRaw.shiftedIndex, new ItemStack(Item.porkCooked)); addSmelting(Item.fishRaw.shiftedIndex, new ItemStack(Item.fishCooked)); addSmelting(Block.cobblestone.blockID, new ItemStack(Block.stone)); addSmelting(Item.clay.shiftedIndex, new ItemStack(Item.brick)); addSmelting(Block.cactus.blockID, new ItemStack(Item.dyePowder, 1, 2)); addSmelting(Block.wood.blockID, new ItemStack(Item.coal, 1, 1)); }
Jetzt fügen wir folgender Code hinen:
Jetzt die Legende:Code:addSmelting([was gebraten], new ItemStack([was raus kommt]{, {anzahl}, {nummer}}]));
addSmelting = Fügt einen neuen Ofen-Rezept hinzu.
[was gebraten] = Da kommt das rein, wass "gebraten" werden soll. ACHTUNG: Es gibt eine Regel! Die lautet so:
Nach einem Item kommt ".shiftedIndex" und bei Block kommt ".blockID" rein! Beispiel:
Nun weiter mit der Legende:Code:Item.clay.shiftedIndex // Nach einem Item.[Igentwas] kommt immer ".shiftedIndex"! Block.cactus.blockID // Das gleiche für Block, blos mit anderer Code: ".blockID"!
new ItemStack = Neuer Item wird "erstellt"
[was raus kommt] = Da kommt das Item/Block rein, was raus kommen soll. Hier gilt dieses ".blockID" und ".shiftedIndex" NICHT!
{anzahl} = Wenn das Item Fertig gebraten ist, dann kommt {anzahl} raus.
{nummer} = Manchmal haben Items/Blocks merere "Items/Blocks". Dann kann dies mit dieser Wert bestimmt werden.
DIESES {} IST NUR FREIWILLIG!
Beispiel Rezept:
Dann sieht der Code so aus:Code:addSmelting(Block.Dirt.blockID, new ItemStack(Block.MinenKraft));
Code:private FurnaceRecipes() { smeltingList = new HashMap(); addSmelting(Block.oreIron.blockID, new ItemStack(Item.ingotIron)); addSmelting(Block.oreGold.blockID, new ItemStack(Item.ingotGold)); addSmelting(Block.oreDiamond.blockID, new ItemStack(Item.diamond)); addSmelting(Block.sand.blockID, new ItemStack(Block.glass)); addSmelting(Item.porkRaw.shiftedIndex, new ItemStack(Item.porkCooked)); addSmelting(Item.fishRaw.shiftedIndex, new ItemStack(Item.fishCooked)); addSmelting(Block.cobblestone.blockID, new ItemStack(Block.stone)); addSmelting(Item.clay.shiftedIndex, new ItemStack(Item.brick)); addSmelting(Block.cactus.blockID, new ItemStack(Item.dyePowder, 1, 2)); addSmelting(Block.wood.blockID, new ItemStack(Item.coal, 1, 1)); // Dies ist nur ein kommertar. Am besten schreibt man her was auf. Z.B.: // Mein Rezept: addSmelting(Block.Dirt.blockID, new ItemStack(Block.MinenKraft)); }UP
Geschrieben von Neui!
So wenn ihr nix geschnallt habt PN an mich oder hier rein schreiben.
Und vielen Dank an Neui, der mir jetzt hilft und der schreiber des Ofen-Rezeptes ist.
Für Fragen könnt ihr hier UND PN
mfg Gethero
Copyright by Gethero
Post / Interface wurde von Neui verbessert.
Geändert von gethero (29.05.2011 um 19:17 Uhr)
SimsVilla, Paxi, Yamazukii, Warhold, tilly freshko, mokkkki, Testergame, Xusiy, Greees, Schwarz110, niMOi3000, Slomal, HiaZza is [Godlike], Nameless2, Toast?, Bambusdragon mag diesen Beitrag
freut mich das du sowas machst =)
Zeigt 2 sachen:
1. Das du nun was gelernt hast
2. Das mein Tut verständlich ist
Do the complete list
jap habs gelerntund naja wenn dein Tutorial von hier genauso wäre wie bei EPVP wär es sau geil
![]()
habs grad rüber kopiert xD und werd alle tuts nun so machen
Do the complete list
freut mich![]()
PS: Jetzt wird paar sachen überarbeitet
Supiiiiiiiiiiiii!![]()
so versteht es auch wirklich jeder :>
BACKYARD-TERROR: Counter-Stike meets Minecraft | BYT@Facebook | BYT@Twitter [new!] | BYT@MineCraft.de | Dev-Blog | Official Page