Minecraft Mods erstellen [ModLoader]

03/07/2012 19:54 Silverpierre#76
Hey, ich habe ein Problem ... ich habe deine Videoguides befolgt, nur leidergibt er mir ein Error, ich weiß das die Textur nicht geht ... aber wie kann ich eine Textur machen...

Error LOg:



java.lang.RuntimeException: java.lang.Exception: Image not found: /block/UranOre.png
at net.minecraft.src.ModLoader.registerAllTextureOver rides(ModLoader.java:1449)
at net.minecraft.src.ModLoader.onTick(ModLoader.java: 1115)
at net.minecraft.src.EntityRendererProxy.updateCamera AndRender(EntityRendererProxy.java:21)
at net.minecraft.client.Minecraft.runGameLoop(Minecra ft.java:943)
at net.minecraft.client.Minecraft.run(Minecraft.java: 799)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.Exception: Image not found: /block/UranOre.png
at net.minecraft.src.ModLoader.loadImage(ModLoader.ja va:1035)
at net.minecraft.src.ModLoader.registerAllTextureOver rides(ModLoader.java:1441)
... 5 more
--- END ERROR REPORT e12dcc66 ----------


EDIT: Zusätzlich unterschtreicht er mir ein paar sachen als falsch, leider weiß ich nicht warum ...


public String getVersion() {
return "Uran mod 0.1 Alpha MC1.2.3";
}

public void load() {
}
public void GenerateSurface = ("World world, Random rand, int chunkX, int chunkZ");
{
for(int i = 0; i < 25; i++)
{
int randPosX = chunkX + rand.nextInt(16);
int randPosY = rand.nextInt(128);
int randPosZ = chunkZ + rand.nextInt(16);
(new WorldGenMinable(UranOre.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
}


Hoffe auf Antwort

Danke
03/07/2012 20:11 False#77
Quote:
Originally Posted by Silverpierre View Post
Hey, ich habe ein Problem ... ich habe deine Videoguides befolgt, nur leidergibt er mir ein Error, ich weiß das die Textur nicht geht ... aber wie kann ich eine Textur machen...

Hoffe auf Antwort

Danke
Quote:
Image not found: /block/UranOre.png
Fehler Logs angucken hilft meistens...
Wenn du es nicht verstehst, es heißt das die Datei (UranOre.png) nicht da ist.
Hau die Datei einfach in die Jar unter /block/ rein und dann sollte es gehen.
Das mit World Generation habe ich mir nicht genauer angeschaut.
03/07/2012 20:21 Silverpierre#78
Das die Textur fehlt weiß ich ja, nur woher bekommt man welche/ wie mache ich selber welche?


EDIT: Habe schon gegoogelt aber alle haben nur gezeigt, wie man die gesamte terrain.png bearbeitet.
03/08/2012 17:08 the_cake#79
Gantz einfach du öffnest Paint.net, Gimp Photoshop, Corel oder weis was ich, halt einfach ein bild Bearbeitungs Programm das transparentz unterstützt. NICHT PAINT. oder due gest auf diese seite wenn du keines zur hand hast.

[Only registered and activated users can see links. Click Here To Register...] Dan erstellst du ein Bild mit der auflösung 16x16 Pixel du bearbeitest es bis es passt und dan speicherst du es z.b mit dem namen UranOre.png ab.
03/10/2012 14:54 Scarpall#80
hab leider 1 Problem und 1 Frage...

Frage: Wie bekomme ich den gemachten Block in das Menü im Kreativ Modus?


Problem:
Mein Block wird nich in der Welt generiert...
Habe den Quelltext direkt 1 zu 1 übernommen von Seite 1 doch er wird einfach nicht generiert.
Habe dazu den Quelltext des Blocks und der Welt generierung 1 zu 1 übernommen und es geht leider nicht.
Mincecraft gibt aber auch keine Fehlermeldung oder so aus...
getestet hab ich es über die startclient.bat und direkt über eclipse.

Bitte helft mir

MfG Scarpall
03/11/2012 20:56 the_cake#81
Zur frage

Code:
Mein Block wird nich in der Welt generiert...
Code:
package net.minecraft.src;
import java.util.Random;

public class mod_generation extends mod_Name
{
	@Override
	public String getVersion() {
		return "1.2.3";
	}
			
	@Override
	public void load() {	
	}
	public void GenerateSurface(World world, Random rand, int chunkX, int chunkZ)
    {
        for(int i = 0; i < 25; i++)
        {
            int randPosX = chunkX + rand.nextInt(16);
            int randPosY = rand.nextInt(128);
            int randPosZ = chunkZ + rand.nextInt(16);
            (new WorldGenMinable(testblock.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
        }
}
}
Zur frage
Code:
Block in das Menü im Kreativ Modus
[Only registered and activated users can see links. Click Here To Register...]
03/12/2012 00:34 Scarpall#82
Ich habe wie schon gesagt den Quelltext von seite 1 bereits einfach nur mit copy & paster verwendet und es geht immer nocht nicht.

Aber was mir in Eclipse grade aufgefallen ist.
Ist das ich da diese Meldung bekomme:

Quote:
Placed stronghold in INVALID biome at (-41, 40)
03/12/2012 14:28 False#83
Quote:
Originally Posted by Scarpall View Post
Ich habe wie schon gesagt den Quelltext von seite 1 bereits einfach nur mit copy & paster verwendet und es geht immer nocht nicht.

Aber was mir in Eclipse grade aufgefallen ist.
Ist das ich da diese Meldung bekomme:
Die Meldung ist normal, dort steht nur wo das [Only registered and activated users can see links. Click Here To Register...] generiert wurde.
03/12/2012 14:49 Scarpall#84
Achso ...
hm naja das war as einzige was mir aufgefallen ist.
Ansonste wirklich 1 zu 1 genauso wie in der anleitung gemacht.
Auch die Dateinamen und Co.

könnt ihr vlt einfach nen fertigen mod mal hochladen das ich testen kann obs dann geht?

MfG Scarpall
03/12/2012 20:19 the_cake#85
Code:
	public void generateSurface(World world, Random rand, int chunkX, int chunkZ) {
		for(int i = 0; i < 255; i++) {
			int randPosX = chunkX + rand.nextInt(16);
			int randPosY = rand.nextInt(255);
			int randPosZ = chunkZ + rand.nextInt(16);
			(new WorldGenMinable(this.testblock.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
		}

	}
Der Code muss ihn die Hauptdatei leider geht es nicht mehr anderes eine eigene Datei dafür zu machen
03/12/2012 21:18 Scarpall#86
Hm scheint immer noch nicht zu gehen aber jetzt habe ich so eine art schatten block ...
Hier sieht man wie ich das meine [Only registered and activated users can see links. Click Here To Register...]
Hab vergessen nummern drauf zu schreiben aber die reihen folge ist halt von oben nach unten und von links nach rechts ^^

Geschaft hab ich das mit diesem code ... also es war nicht geplant ^^ wollte eigentlich zum testen nur einen blauen Block....

Code:
package net.minecraft.src;
import java.util.Random;


public class mod_Name extends BaseMod
{	
	
	
	public static final Block testblock;
	
	static {
		
	testblock = new Block(160, Material.rock).setHardness(1.2F).setBlockName("testblock");
	
	
	ModLoader.registerBlock(testblock);
	
	ModLoader.addName(testblock,"\u00a7c Test Ore");
	
	testblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png","/block/testblock.png");
	
	try
	{
		CreativeAPI.addBlock(testblock);
	} catch (NoClassDefFoundError e)
	{
		ModLoader.getLogger().fine((new StringBuilder("Creative API not found!")).toString());
	}
	
	}
	public void GenerateSurface(World world, Random rand, int chunkX, int chunkZ)
    {
        for(int i = 0; i < 25; i++)
        {
            int randPosX = chunkX + rand.nextInt(16);
            int randPosY = rand.nextInt(128);
            int randPosZ = chunkZ + rand.nextInt(16);
            (new WorldGenMinable(testblock.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
        }
    }
	
	
	
	public void load() {}
	
	
	public String getVersion() {
	return "1.2.3";}
}
03/12/2012 22:29 the_cake#87
Also so geht es zu 100%

Code:
package net.minecraft.src;
import java.util.Random;


public class mod_name extends BaseMod
{	

	public static final Block testblock;
	
	static {
		
	testblock = new Block(160, Material.rock).setHardness(1.2F).setBlockName("testblock");
	
	
	ModLoader.registerBlock(testblock);
	
	ModLoader.addName(testblock,"\u00a7c Test Ore");
	
	testblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png","/block/testblock.png");
	
	try
	{
		CreativeAPI.addBlock(testblock);
	} catch (NoClassDefFoundError e)
	{
		ModLoader.getLogger().fine((new StringBuilder("Creative API not found!")).toString());
	}
	
	}
	
	
	
	public void generateSurface(World world, Random rand, int chunkX, int chunkZ) {
		for(int i = 0; i < 255; i++) {
			int randPosX = chunkX + rand.nextInt(16);
			int randPosY = rand.nextInt(255);
			int randPosZ = chunkZ + rand.nextInt(16);
			(new WorldGenMinable(this.testblock.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
		}

	}
	
	
	
	public void load() {}
	
	
	public String getVersion() {
	return "1.2.3";}
}
Hab dir mal ein bild hochgeladen von meinen Test Block

[Only registered and activated users can see links. Click Here To Register...]

Ist zwar nicht der schönste Block :awesome::awesome::awesome: aber egal es geht hier mit deinen daten



Code:
package net.minecraft.src;
import java.util.Random;


public class mod_name extends BaseMod
{	

	public static final Block testblock;
	
	static {
		
	testblock = new Block(160, Material.rock).setHardness(1.2F).setBlockName("testblock");
	
	
	ModLoader.registerBlock(testblock);
	
	ModLoader.addName(testblock,"\u00a7c Test Ore");
	
	testblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png","/block/testblock.png");
	
	try
	{
		CreativeAPI.addBlock(testblock);
	} catch (NoClassDefFoundError e)
	{
		ModLoader.getLogger().fine((new StringBuilder("Creative API not found!")).toString());
	}
	
	}
	
	public void generateSurface(World world, Random rand, int chunkX, int chunkZ) {
		for(int i = 0; i < 25; i++) {
			int randPosX = chunkX + rand.nextInt(16);
			int randPosY = rand.nextInt(128);
			int randPosZ = chunkZ + rand.nextInt(16);
			(new WorldGenMinable(this.testblock.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
		}

	}
	
	
	
	public void load() {}
	
	
	public String getVersion() {
	return "1.2.3";}
}
Hier mal eine beschreibung was was ist

Code:
	public void generateSurface(World world, Random rand, int chunkX, int chunkZ) {
		for(int i = 0; i < Rate; i++) {
			int randPosX = chunkX + rand.nextInt(maximale Feld länge nach links/rechts);
			int randPosY = rand.nextInt(Höhe in der generiert wird(also pro schicht natürlich));
			int randPosZ = chunkZ + rand.nextInt(maximale Feld länge nach hinten);
			(new WorldGenMinable(this.testblock.blockID, Maximale Größe das felds also wieviele maximal um einen Block rum sind)).generate(world, rand, randPosX, randPosY, randPosZ);
		}

	}
03/12/2012 22:35 <Da.Styl3X.>#88
Bei 7 muss man ja die WorkSpace angeben aber in meinem Mod ordner ist nicht der Ordner eclipse.
03/12/2012 23:39 Scarpall#89
Hm ich werd einfach mal java runterschmeißen und neu drauf machen mal sehen ob das hilft.
ich meld mich dann nochmal

edit: habs neu installiert aber jetut meint minecraft wenn ichs starte:

Quote:
No JVM could be found on your system.
Please define EXE4J_JAVA_HOME
to point to an installed 32-bit JDK or JRE or download a JRE from [Only registered and activated users can see links. Click Here To Register...].
also muss ich noch ein 32 bit java auf meinem 64 bit system installieren ?!?
03/13/2012 16:11 the_cake#90
Quote:
Originally Posted by Scarpall View Post
Hm ich werd einfach mal java runterschmeißen und neu drauf machen mal sehen ob das hilft.
ich meld mich dann nochmal

edit: habs neu installiert aber jetut meint minecraft wenn ichs starte:



also muss ich noch ein 32 bit java auf meinem 64 bit system installieren ?!?
Ne nur die für 64 bit

Quote:
Originally Posted by <Da.Styl3X.> View Post
Bei 7 muss man ja die WorkSpace angeben aber in meinem Mod ordner ist nicht der Ordner eclipse.
Du must davor decompilen