Hmm, laut der ersten Seite müsste das einfügen in Minecraft völlig reichen. Das kann ich zwar nicht wirklich glauben, aber was weiß ich schon von Mods?
Ich würde sagen, schau dir das ganze nochmal an, nimm Minecraft unter die Lupe und du wirst schon einen Weg finden.
Wenn du das wirklich lernen willst, solltest du nicht nur mit Copy and Paste benutzen und auch nicht beim kleinsten Problem gleich um Hilfe schreiben. Zum Programmieren gehört auch viel Zeit in die Fehlersuche und die "Weiterbildung" zu investieren.
Oder du wartest bis the_cake hier vorbei schaut und die Lösung für dein Problem schreibt.
vllt sollte ich auch erwähnen dass ich schon über 2 std mit fehler & Lösungssuche beschäftigt gewesen bin und als ob ich so einer bin der sofort nach hilfe fragt wenn er nich weiterkommt.
Das behaupten wir von dir auch nicht (Obwohl wir das nach 5 Beiträgen nicht einschätzen können). Jedoch ist das Erstellen von Mods keine 3 Minuten Arbeit. Du befasst dich hier mit dem Spielinneren, und da solltest du dann schon etwas von der Materie verstehen. Wir möchten dir hier keinen Code zusammenschustern, den du dir aus einzelenen Legoteilen nachher zusammenbauen kannst - gehe auf die erste Seite, und lese dne Abschnitt "Welt Generation" ganz genau durch. Nicht nur den Code, alles andere auch. Dann findest du eine Lösung, glaub mir.
public void onBlockAdded(World par1World, int par2, int par3, int par4)
{
if (!par1World.isRemote)
{
if (this.powered && !par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
{
par1World.scheduleBlockUpdate(par2, par3, par4, this.blockID, 4);
}
else if (!this.powered && par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
{
par1World.setBlockWithNotify(par2, par3, par4, mod_ObsidianTools.LampeON.blockID);
}
}
}
public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)
{
if (!par1World.isRemote)
{
if (this.powered && !par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
{
par1World.scheduleBlockUpdate(par2, par3, par4, this.blockID, 4);
}
else if (!this.powered && par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
{
par1World.setBlockWithNotify(par2, par3, par4, mod_ObsidianTools.LampeON.blockID);
}
}
}
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
if (!par1World.isRemote && this.powered && !par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
{
par1World.setBlockWithNotify(par2, par3, par4, mod_ObsidianTools.LampeOFF.blockID);
}
}
}
Quote:
LampeON = (new BlockUVLampe(LampeONID, ModLoader.addOverride("/terrain.png", "/ObsidianTools/LampeON.png"), true).setHardness(0.4F).setBlockName("Lampe An").setStepSound(Block.soundGlassFootstep).setReq uiresSelfNotify().setLightValue(2.5F));
LampeOFF = (new BlockUVLampe(LampeOFFID, ModLoader.addOverride("/terrain.png", "/ObsidianTools/LampeOFF.png"), false).setHardness(0.4F).setBlockName("Lampe Aus").setStepSound(Block.soundGlassFootstep).setRe quiresSelfNotify());
So--- jetzt ist nur die frage... was mach ich jetzt damit wenn ich fertig bin???
Soweit ich weiß erstellt mcp beim recompilieren einen Ordner wo die neuen/modifizierten Klassen drin sind. Diese musst du dann nurnoch kopieren und dann z.B. in deine minecraft.jar einfügen.
Nach dem Minecraft Update am Mittwoch werde ich nochmal meinen Ganzen beitrag überarbeiten. Dann kommen wieder einige neue sachen hinzu. Auserdem wird es zwar immer noch möglich sein mit C&P seinen Mod zu schreiben allerdings werde ich noch näher drauf eingehen um fragen zu klären.
so jetzt ist da noch so ne sache... wie mache ich z.B. das ich einen Block im Creative inv habe oder craften kann? kriege es einfach nicht hin...
Quote:
Originally Posted by ComputerBaer
Soweit ich weiß erstellt mcp beim recompilieren einen Ordner wo die neuen/modifizierten Klassen drin sind. Diese musst du dann nurnoch kopieren und dann z.B. in deine minecraft.jar einfügen.
ich musste reobfusicaten und dann war se im reobf drine
Ich habe ein problem mit dem Welt Generation ich möchte gerene einen Block Biomen abhängig Generation lassen mein Code siht schon mal so aus
Code:
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
BiomeGenBase b = world.getBiomeGenForCoords(chunkX, chunkZ);
{
switch(world.provider.dimensionId){
case -1: generateNether(world, random,chunkX*16,chunkZ*16);
case 0 : generateSurface(world, random,chunkX*16,chunkZ*16);
} } }
private void generateSurface(World world, Random random, int BlockX, int BlockZ) {
{
for(int i =0; i<30;i++){
if (biomeName == "Plains" ){
int Xcoord = BlockX + random.nextInt(20);
int Zcoord = BlockZ + random.nextInt(20);
int Ycoord = random.nextInt(256);
(new WorldGenMinable(Erzblock.blockID, 20)).generate(world, random, Xcoord, Ycoord, Zcoord);
}}}}
Hallo wollte fragen ob du weist wie man mehrere Erze generieren lassen kann. Kann nur eins im Nether generieren lassen (Zeig dir mal mein Code)
package net.minecraft.src;
import java.util.Random;
public class mod_nether_1 extends BaseMod{
//Register
public static final Block coalore;
public static final Block ironore = new Block(221, 0, Material.rock).setBlockName("ironore").setHardness (5.0F).oreIron;
public static final Item cookedrottenflesh = new ItemFood(222, 4, false).setItemName("cookedrottenflesh");
public void generateNether(World world, Random random, int chunkX, int chunkZ){
for(int i = 0; i < 25; i++){
int rndPosX = chunkX + random.nextInt(20);
int rndPosY = random.nextInt(128);
int rndPosZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, rndPosX, rndPosY, rndPosZ);
}
}
}
Und wenn ich da unten mehrere public void generateNether/Surface mache kommt z.b der angegebene Block coalore nicht, sondern nur der ironore
Ich weiss nicht ob das jemand schon geschrieben hat, würde mich freuen wenn du mir helfen kannst
for(int i = 0; i < 25; i++){
int rndPosX = chunkX + random.nextInt(20);
int rndPosY = random.nextInt(128);
int rndPosZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, rndPosX, rndPosY, rndPosZ);
}
und so musst du dan weider machen
Code:
for(int i = 0; i < 25; i++){
int CodiX = chunkX + random.nextInt(20);
int CodiY = random.nextInt(128);
int CodiZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, CodiX,CodiZ, CodiZ);
}
also dein code mus dan so aussehen
Code:
public void load() {
public void generateNether(World world, Random random, int chunkX, int chunkZ){
for(int i = 0; i < 25; i++){
int rndPosX = chunkX + random.nextInt(20);
int rndPosY = random.nextInt(128);
int rndPosZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, rndPosX, rndPosY, rndPosZ);
}
for(int i = 0; i < 25; i++){
int CodiX = chunkX + random.nextInt(20);
int CodiY = random.nextInt(128);
int CodiZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, CodiX,CodiZ, CodiZ);
}}
du musst bei jeden weiteren Generirung musst du die 3 uint ändern nicht die gleichen nehem da sonst ein fehler oder der block wird noch mal generirt
for(int i = 0; i < 25; i++){
int rndPosX = chunkX + random.nextInt(20);
int rndPosY = random.nextInt(128);
int rndPosZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, rndPosX, rndPosY, rndPosZ);
}
und so musst du dan weider machen
Code:
for(int i = 0; i < 25; i++){
int CodiX = chunkX + random.nextInt(20);
int CodiY = random.nextInt(128);
int CodiZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, CodiX,CodiZ, CodiZ);
}
also dein code mus dan so aussehen
Code:
public void load() {
public void generateNether(World world, Random random, int chunkX, int chunkZ){
for(int i = 0; i < 25; i++){
int rndPosX = chunkX + random.nextInt(20);
int rndPosY = random.nextInt(128);
int rndPosZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, rndPosX, rndPosY, rndPosZ);
}
for(int i = 0; i < 25; i++){
int CodiX = chunkX + random.nextInt(20);
int CodiY = random.nextInt(128);
int CodiZ = chunkZ + random.nextInt(20);
(new WorldGenNether_1(ironore.blockID, 20)).generate(world, random, CodiX,CodiZ, CodiZ);
}}
du musst bei jeden weiteren Generirung musst du die 3 uint ändern nicht die gleichen nehem da sonst ein fehler oder der block wird noch mal generirt
Minecraft Mods selber erstellen 10/26/2011 - Minecraft - 6 Replies Vorab: Ich weiß folgende Frage wurde schon oft gestellt:
Wie mache ich eigene Mods? Hab keine Java Kentnisse.
Bei mir ist der Fall ähnlich ich habe im Internet gesucht und folgendes gefunden:
Minecraft Mod Maker - Minecraft Forum
Jedoch funktioniert der bei mir nicht :(
Meine Frage an euch gibt e einei alternative oder gibt es eine andere Möglichkeit? Es muss nichts großes sein. Ich möchte jedoch nur zb. einen
Block erstellen der kwinw besonderen Funktionen hat wie der Grassblock