Minecraft Mods erstellen [ModLoader]

03/28/2013 20:26 ComputerBaer#691
Ich glaube diese Diskussion hat nichts in einem Tutorial verloren, bzw. artet mittlerweile etwas sehr aus.

Wenn du Forge so toll findest dann mach eigene Tutorials, aber lass den Modloader in Ruhe. Er ist vielleicht nicht mehr der Neuste, aber er erfüllt seinen Zweck.

Quote:
Originally Posted by .Elektro. View Post
Naja dass man Mods nicht mehr updaten muss ist, wie ich finde, schon ein vorteil...
Sicher? Das ist bestimmt genau so viel "nicht mehr updaten" wie bei Bukkitplugins ...

Das geht vielleicht ein paar Versionen gut, aber dann gibts wieder eine Änderung, die ein Update unumgänglich macht.


Außerdem ... warum musste ich dann jetzt alle Mods updaten? Die alten Versionen funktionieren nicht mehr.
03/28/2013 22:56 .Elektro.#692
Mods die in der 1.5 erstellt wurden muss man halt noch das letzte mal updaten...
03/28/2013 23:25 ComputerBaer#693
Quote:
Originally Posted by .Elektro. View Post
Mods die in der 1.5 erstellt wurden muss man halt noch das letzte mal updaten...
Ich garantiere dir, dass es nicht das letzte Mal sein wird.
03/28/2013 23:33 Boy132#694
Um nochmal von der Forge-ModLoader Diskussion auf das eigentlich Thema (ModLoader Tutorials) zu kommen, hier mal eine Frage/ein Problem:

Wie macht man in der 1.5.1 das mit den Blöcken... bei mir will er die nicht ins Game tun: Die Konsole sagt irgentwas von Icons, die ich registieren soll.
Das sagt die Konsole:
Code:
java.lang.RuntimeException: Don't register null!
	at net.minecraft.src.TextureMap.registerIcon(TextureMap.java:195)
	at net.minecraft.src.Block.registerIcons(Block.java:1296)
	at net.minecraft.src.TextureMap.refreshTextures(TextureMap.java:56)
	at net.minecraft.src.RenderEngine.refreshTextureMaps(RenderEngine.java:489)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:438)
	at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
	at net.minecraft.client.Minecraft.run(Minecraft.java:726)
	at java.lang.Thread.run(Unknown Source)
java.lang.RuntimeException: Don't register null!
	at net.minecraft.src.TextureMap.registerIcon(TextureMap.java:195)
	at net.minecraft.src.Block.registerIcons(Block.java:1296)
	at net.minecraft.src.TextureMap.refreshTextures(TextureMap.java:56)
	at net.minecraft.src.RenderEngine.refreshTextureMaps(RenderEngine.java:489)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:438)
	at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
	at net.minecraft.client.Minecraft.run(Minecraft.java:726)
	at java.lang.Thread.run(Unknown Source)
java.lang.RuntimeException: Don't register null!
	at net.minecraft.src.TextureMap.registerIcon(TextureMap.java:195)
	at net.minecraft.src.Block.registerIcons(Block.java:1296)
	at net.minecraft.src.TextureMap.refreshTextures(TextureMap.java:56)
	at net.minecraft.src.RenderEngine.refreshTextureMaps(RenderEngine.java:489)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:438)
	at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
	at net.minecraft.client.Minecraft.run(Minecraft.java:726)
	at java.lang.Thread.run(Unknown Source)
java.lang.RuntimeException: Don't register null!
	at net.minecraft.src.TextureMap.registerIcon(TextureMap.java:195)
	at net.minecraft.src.Block.registerIcons(Block.java:1296)
	at net.minecraft.src.TextureMap.refreshTextures(TextureMap.java:56)
	at net.minecraft.src.RenderEngine.refreshTextureMaps(RenderEngine.java:489)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:438)
	at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
	at net.minecraft.client.Minecraft.run(Minecraft.java:726)
	at java.lang.Thread.run(Unknown Source)
java.lang.RuntimeException: Don't register null!
	at net.minecraft.src.TextureMap.registerIcon(TextureMap.java:195)
	at net.minecraft.src.Block.registerIcons(Block.java:1296)
	at net.minecraft.src.TextureMap.refreshTextures(TextureMap.java:56)
	at net.minecraft.src.RenderEngine.refreshTextureMaps(RenderEngine.java:489)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:438)
	at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
	at net.minecraft.client.Minecraft.run(Minecraft.java:726)
	at java.lang.Thread.run(Unknown Source)
(Die Fehlermeldung kommt 5 mal, weil ich 5 Blöcke hab ;))
Ich hab schon .registerIcon probiert; dann crashed Minecraft...


Gruß Boy132
03/29/2013 11:32 Beatizy#695
Boy: Hast du auch die Texturen für deine Blöcke bereits gemacht?
03/29/2013 12:00 .Elektro.#696
Quote:
Originally Posted by ComputerBaer View Post
Ich garantiere dir, dass es nicht das letzte Mal sein wird.
Tu das. Ich musste meinen Mod von der 1.5 auf die 1.5.1 nicht updaten.

Modloader macht die Mods halt kompakter aber man halt halt sehr sehr wenige möglichkeiten.
03/29/2013 15:51 ComputerBaer#697
Quote:
Originally Posted by .Elektro. View Post
Tu das. Ich musste meinen Mod von der 1.5 auf die 1.5.1 nicht updaten.

Modloader macht die Mods halt kompakter aber man halt halt sehr sehr wenige möglichkeiten.
Eigentlich wollte ich nichts mehr schreiben, damit der Thread wieder zum Thema zurück findet. Aber du scheinst nicht ganz verstanden zu haben, was ich meinte.

Erstmal hatte der Modloader mit der Aussage überhaupt nichts zutun. Es hat sich nur auf Forge bezogen. (und wenn du willst auch auf Bukkit usw.)

Forge ist sicherlich der mächtigere "Modloader" und wenn ich Mods machen würde, dann wohl auch mit Forge. Aber darum ging es eigentlich auch nicht.

Das du dir das Update von 1.5 auf 1.5.1 sparen konntest glaube ich dir auch. Es ist sicherlich auch möglich das du auch kein Update auf 1.6 brauchst, aber irgendwann ... vielleicht schon 1.6, vielleicht erst 1.14 oder auch erst 2.0 ... wirst du den Mod updaten müssen.

Ein paar Versionen, besonders bei den kleinen x.x.?, wird es gut funktionieren. Aber irgendein Minecraft- und ForgeUpdate wird dich dann zu einem Update zwingen.
03/29/2013 21:13 Boy132#698
Quote:
Originally Posted by Beatizy View Post
Boy: Hast du auch die Texturen für deine Blöcke bereits gemacht?
Jaja, hab ich... das Problem ist ja, das die Blöcke gar nicht im Spiel auftauchen.


Gruß Boy132


PS: Und Elektro... dann mach du deine Mods doch einfach mit Forge und lass uns mal in Ruhe!
03/29/2013 21:52 ComputerBaer#699
Ich habe keine Ahnung vom Modloader (oder Forge). Der Fehler sieht aber aus, als ob du versuchen würdest eine Textur zu Registrieren, die es garnicht gibt.

Vielleicht falschen Namen / Pfad angegeben? (Wie gesagt, ich kann nur raten)
03/29/2013 21:59 Boy132#700
Ich hab die Namen und Pfade schon überprüft... da stimmt alles.
Hab auch schon die Dateien teilweise neu geschrieben... geht immer noch nicht.


Gruß Boy132
04/11/2013 15:38 Boy132#701
Habe meinen Fehler gefunden: Es lag an den Texturen; diesbezüglich habe ich was rausgefunden:

- Das was ich oben erklärt habe mit den Texturen ist... naja falsch

- .setUnlocalizedName("TestItem") bestimmt auch nicht den Namen, das macht ModLoader.addName(BlockTest, "Test Block");

> .setUnlocalizedName("TestItem") legt den Namen der .png fest; also muss die Textur Datei für den TestBlock in MCP\bin\minecraft\textures\blocks erstellt werden und muss dann so heißen, wie man das bei .setUnlocalizedName("TestItem") bestimmt hat, also TestItem... dies gilt aber NUR für Item, bei Blöcken ist es genau das gleiche nur anstatt .setUnlocalizedName("TestItem") muss man .getIndirectPowerOutput("TestBlock") verwenden.

Gruß Boy132
04/11/2013 18:39 Endless.#702
Wenn du uns erklären könntest, wie man z.B eine Pflanze mit Wachstum erstellt.. wie z.B die Melone oder den Kürbis..oder auch einfach nen Weizen..

Ich hätte sowas vor.. ne Zwiebel und Tomaten bei mir reinzutun..
Texturen wären ja kein Thema.. aber wie man von ihnen z.B mehr erhält.. wenn se ausgewachsen ist, oder sowas
04/11/2013 18:57 ComputerBaer#703
Ich habe mich noch nie mit dem Erstellen von Mods beschäftigt, aber die Frage kann ich dir sogar so ungefähr beantworten.

Du bringst in der Pflanze einen Timer/Counter unter und nach einer bestimmten/zufälligen Zeit änderst du dann den Datenwert des Blocks, sodass du Wachstumststufe 2, 3, 4 ... erreichst. Für diese Datenwerte legst du dann eigen Texturen fest, damit der Spieler die Pflanze auch wachsen sieht.

Wenn die Pflanze voll ausgewachsen ist, behälst du den Timer/Counter bei, nur das die Pflanze dann eben nicht mehr wächst sondern nach Ablauf der Zeit einen Block auf ein freies Feld neben sich setzt.
04/11/2013 22:02 Endless.#704
Code:
== Errors found ==
Unrecoverable error during obfuscation, see log file for details
RetroGuard error: COM.rl.obf.classfile.ClassfileExeption: ClassNotFound zp
====================

Decompiled Failed
Hilfe.. weiss nicht weiter..
04/12/2013 14:06 Boy132#705
Also so auf den ersten Blick weiß ich nichts, aber was steht den in der log file?

Und das mit den Pflanzen ist etwas schwerer, guck am besten mal in eine Pflanzen class wie z.B. BlockCarrot oder BlockCactus

Gruß Boy132