Minecraft Mods erstellen [ModLoader]

07/17/2012 20:27 the_cake#466
Quote:
Originally Posted by Mrlptoturial View Post
habe das importiert ...
aber der block wird nciht in tmi und im creative angezeigt
und bis jetz hab ich ihn auch nicht gefunden...
Mfg
Kann ich hellsehen Code Bitte.
07/18/2012 12:14 Mrlptoturial#467
Oke sorry ...
hier der das was ich bis jetz hab :
package net.minecraft.src;

import java.util.Random;

public class mod_mrlptoturial extends BaseMod{

public static final Block rubin_erz;

static{
//Block
rubin_erz = new Block(220, 0, Material.rock).setHardness(0.5F).setBlockName("rub in_erz");

//Register
ModLoader.registerBlock(rubin_erz);

//Name
ModLoader.addName(rubin_erz, "Rubin Erz");

//Textur
rubin_erz.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/rubin_erz.png");
}


public void generateSurface(World world, Random rand, int chunkX, int chunkZ)
{
for(int i = 0; i < (13); i++)
{
int randPosX = chunkX + rand.nextInt(16);
int randPosY = rand.nextInt(world.getHeight());
int randPosZ = chunkZ + rand.nextInt(16);
(new WorldGenMinable(rubin_erz.blockID, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
}
}

public String getVersion() {return "Minecraft Tutorial Mod";}
public void load() {}

}
sry das ich das nciht farbig hab oder so..bin neu hier und hab keine ahnung wie das geht...
07/18/2012 12:31 idattnertv#468
Quote:
Originally Posted by Mrlptoturial View Post
Oke sorry ...
hier der das was ich bis jetz hab :
package net.minecraft.src;

import java.util.Random;

public class mod_mrlptoturial extends BaseMod{

public static final Block rubin_erz;

static{
//Block
rubin_erz = new Block(220, 0, Material.rock).setHardness(0.5F).setBlockName("rub in_erz");

//Register
ModLoader.registerBlock(rubin_erz);

//Name
ModLoader.addName(rubin_erz, "Rubin Erz");

//Textur
rubin_erz.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/rubin_erz.png");
}


public void generateSurface(World world, Random rand, int chunkX, int chunkZ)
{
for(int i = 0; i < (13); i++)
{
int randPosX = chunkX + rand.nextInt(16);
int randPosY = rand.nextInt(world.getHeight());
int randPosZ = chunkZ + rand.nextInt(16);
(new WorldGenMinable(rubin_erz.blockID, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
}
}

public String getVersion() {return "Minecraft Tutorial Mod";}
public void load() {}

}
sry das ich das nciht farbig hab oder so..bin neu hier und hab keine ahnung wie das geht...
Hiermit modden:
[Only registered and activated users can see links. Click Here To Register...]

Dann einfach unten in die Datei:
PHP Code:
CreativeAPI.addBlock(rubin_erz); 
PS: Um den Code farbig zu machen muss davor: [*PHP*] und danach [*/PHP*] (Alles ohne die *!!)
07/18/2012 12:37 Mrlptoturial#469
Dankejj wo sollen die beiden Datein jetzt rein?
Den Code bei eclispe dan reintuen oder?

Oke dankej :)
07/18/2012 16:21 the_cake#470
Hab Leider Die Text grenze erreicht.

Eigene Flüssigkeit erstellen

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

Wir erstellen eine neue Flüssigkeit die man mit einem Eimer aufnehmen kann und auch wieder platzieren kann.


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

Wir bauen nun die RedstoneLampe nach



07/18/2012 19:17 Mrlptoturial#471
Quote:
Dankejj wo sollen die beiden Datein jetzt rein?
Den Code bei eclispe dan reintuen oder?

Oke dankej
Darauf hatt mir immernoch keiner von euch beiden geantwortet
07/18/2012 19:34 the_cake#472
Schritt 1: [Only registered and activated users can see links. Click Here To Register...] Herunter
Schritt 2: Öffne die .zip datei mit 7zip, winRAR etc
Schritt 3: Geh ihn deinen ModOrdner drück einmal auf cleanup davor solltest du allerdings noch deine Mod Daten kopieren ;)
Schritt 4: Geh ihn deinen ModOrdner/Jars/bin/minecraft.jar die öffnest du auch
Schritt 5: Zieh die Dateien aus dem Creative API Ordner ihn die Minecraft.jar
Schritt 6: Anschließend drückst du ihn deinem ModOrdner Decompile und schon kannst du deine Blöcke erstellen mit ModLoader und dan mit

Code:
CreativeAPI.addBlock(DeinBlock);
Einbinden das Würde Dan so ausschauen


Code:
package net.minecraft.src;

public class mod_name extends BaseMod{
	
	public static final Block TestErz;
	
	static{
		//Block
		TestErz = new Block(220, 0, Material.rock).setHardness(0.5F).setLightValue(0.5F).setBlockName("Block Tutorial");
		
		//Register
		ModLoader.registerBlock(TestErz);
		
		//Name
		ModLoader.addName(TestErz, "Rubin Erz");
		
		//Textur
		TestErz.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/tutorial/block/rubin_erz.png");
	}
	

	
	public String getVersion() {return "Minecraft Tutorial Mod";}
	public void load() {
        CreativeAPI.addBlock(TestErz);
        }

}
07/18/2012 20:18 Mrlptoturial#473
Dankej :)
07/18/2012 22:21 -i[Gyxx]*#474
Generation auf Biome beschränken:

Code:
package net.minecraft.src;

public class mod_name extends BaseMod{
	
	public static final Block TestErz;
	
	static{
		//Block
		TestErz = new Block(220, 0, Material.rock).setHardness(0.5F).setLightValue(0.5F).setBlockName("Block Tutorial");
		
		//Register
		ModLoader.registerBlock(TestErz);
		
		//Name
		ModLoader.addName(TestErz, "Rubin Erz");
		
		//Textur
		TestErz.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/block/rubin_erz.png");
	}
	
	public void generateSurface(World world, Random rand, int chunkX, int chunkZ){
	BiomeGenBase biomegenbase = world.getWorldChunkManager().getBiomeGenAt(chunkX, chunkZ);
	
  if(biomegenbase instanceof BiomeGen***)
  { 
  for(int i = 0; i < (13); i++)
     {
	int randPosX = chunkX + rand.nextInt(16);
	int randPosY = rand.nextInt(world.getHeight());
	int randPosZ = chunkZ + rand.nextInt(16);
	(new WorldGenMinable(TestErz.blockID, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
     }
  }
}
	
	
	public String getVersion() {return "Minecraft Tutorial Mod";}
	public void load() {}

}
Der Code sollte eig bekannt sein, bis auf
Code:
BiomeGenBase biomegenbase = world.getWorldChunkManager().getBiomeGenAt(chunkX, chunkZ);
	
  if(biomegenbase instanceof BiomeGen***)
  {
Das bedeutet das wenn es nicht im Biome *** ist wird es nicht Generiert
07/19/2012 11:22 Mrlptoturial#475
Jetz müsste man nur noch wissen wie man ein biom erstellt :D

Wie mache ich das mehere Blöcke in der selben welt generieren?
Also ich möchte so das mehere blöcke (zB. xyz, zyx, yzx) in der ganz Normalen Welt generieren
07/19/2012 15:51 -i[Gyxx]*#476
Biome erstellen und neue Monster spawnen lassen.

BiomeTutorial
Code:
package net.minecraft.src;

import java.util.List;
import java.util.Random;

public class BiomeGenTutorial extends BiomeGenBase
{
    public BiomeGenTutorial(int par1)
    {
        super(par1);
        spawnableCreatureList.add(new SpawnListEntry(net.minecraft.src.EntityBlaze.class, 5, 4, 4));
        biomeDecorator.treesPerChunk = 10;
        biomeDecorator.grassPerChunk = 5;
        biomeDecorator.deadBushPerChunk = 0;
        biomeDecorator.reedsPerChunk = 0;
        biomeDecorator.cactiPerChunk = 0;
    }

    /**
     * Gets a WorldGen appropriate for this biome.
     */
    public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
    {
        if (par1Random.nextInt(5) == 0)
        {
            return worldGenForest;
        }

        if (par1Random.nextInt(10) == 0)
        {
            return worldGenBigTree;
        }
        else
        {
            return worldGenTrees;
        }
    }
    
    public int func_48415_j()
        {
                double d = func_48411_i();
                double d1 = func_48414_h();
                return ((ColorizerGrass.getGrassColor(d, d1) & 0xC2C2C2) + 0xC2C2C2) / 2;
        }

        public int func_48412_k()
        {
                double d = func_48411_i();
                double d1 = func_48414_h();
                return ((ColorizerFoliage.getFoliageColor(d, d1) & 0xC2C2C2) + 0xC2C2C2) / 2;
        }
}
Durch getGrassColor wird die Farbe des Grases gesetzt, bei mir ist es der Hex wert 0xC2C2C2

mod Datei:

Code:
package net.minecraft.src;

public class mod_Tutorial extends BaseMod {
        
        public static final BiomeGenBase tutorial = (new BiomeGenTutorial(24)).setColor(0xf13a01).setBiomeName("Tutorial");
        
        public String getVersion()
        {
                return "";
        }
        
        public void load()
        {
                ModLoader.addBiome(tutorial);
        }
}
Durch setColor wird die Farbe des Biomes geändert.


Tutorial Wünsche gerne posten
07/19/2012 17:27 the_cake#477
Quote:
Originally Posted by Mrlptoturial View Post
Jetz müsste man nur noch wissen wie man ein biom erstellt :D

Wie mache ich das mehere Blöcke in der selben welt generieren?
Also ich möchte so das mehere blöcke (zB. xyz, zyx, yzx) in der ganz Normalen Welt generieren
Ich schaff es leider nicht heute ein tutorial zu schreiben dafür versuch ich morgen rauszubekommen wie man eigene bäume spawnen lassen kann.
07/19/2012 18:23 Mrlptoturial#478
Quote:
Tutorial Wünsche gerne posten
Oke dann fange ich gleich mal an ;)
Also ich wollte ein neues Monster erstellen ...also ein Geist der rumfliegt ..und schaden macht wenn er den Spieler sieht [wenn möglich sogar auch erschreckt]...
wollte dann so machen das die dann auch so eine eigene Geisterstadt haben :)
Quote:
Ich schaff es leider nicht heute ein tutorial zu schreiben dafür versuch ich morgen rauszubekommen wie man eigene bäume spawnen lassen kann.
das is auch gut :)
07/19/2012 19:57 -i[Gyxx]*#479
Modde die Funktion einfach einbisschen:
Code:
    protected Entity findPlayerToAttack()
    {
        float f = getBrightness(1.0F);

        if (f < 0.5F)
        {
            double d = 16D;
            return worldObj.getClosestVulnerablePlayerToEntity(this, d);
        }
        else
        {
            return null;
        }
    }
die 16 steht dabei für den Block Radius
07/19/2012 19:59 Mrlptoturial#480
Quote:
Modde die Funktion einfach einbisschen:
Code:
protected Entity findPlayerToAttack()
{
float f = getBrightness(1.0F);

if (f < 0.5F)
{
double d = 16D;
return worldObj.getClosestVulnerablePlayerToEntity(this, d);
}
else
{
return null;
}
}die 16 steht dabei für den Block Radius
__________________
Dankej erstmal aber wo soll das ganze rein und wie mache ich die Textur des Mobs?..Sry bin etwas neu in den gebiet ;)