Try using the recompile.bat in the mcp folder. It should create the start.class and other classes in the eclipse folder as well. If that doesn't work then download mcp again.
Well, I would... If only MCP would download again...
It keeps saying: No download? Click here
and it doesnt download :S
Hey TechGuy, i really want to make a mod but for make it i will have to now how to make music discs, can i send a PM for you to tell what my mod will do ?
HINT: soundtrack
Do you know what code I would have to add to make it so that the config file can edit the IDs of my items, because I don't think that it will do it by default, unless I am wrong.
Please help. I am trying to update my 1.1 mod to 1.2.3
ERROR:root:FATAL ERROR
Traceback (most recent call last):
File "runtime\recompile.py", line 26, in recompile
commands = Commands(conffile, verify=True)
File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py"
, line 180, in __init__
self.readconf()
File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py"
, line 418, in readconf
self.csvparams = os.path.normpath(config.get('CSV', 'Params'))
File "ConfigParser.pyc", line 610, in get
NoOptionError: No option 'params' in section: 'CSV'
Press any key to continue . . .
Hey TechGuy, i really want to make a mod but for make it i will have to now how to make music discs, can i send a PM for you to tell what my mod will do ?
HINT: soundtrack
I haven't made a record before. I can't really make a tutorial on something I haven't done.
Alright, so I re-downloaded mcp 60, and decompiled and it didnt make the files in eclipse/client/
When setting your eclipse workspace, just set it to the eclipse folder, no sub-folders or anything. Eclipse should then build and create all of those other files.
Do you know what code I would have to add to make it so that the config file can edit the IDs of my items, because I don't think that it will do it by default, unless I am wrong.
Follow this tutorial here. It is old but is how I learnt to do it and it should still work.
Please help. I am trying to update my 1.1 mod to 1.2.3
ERROR:root:FATAL ERROR
Traceback (most recent call last):
File "runtime\recompile.py", line 26, in recompile
commands = Commands(conffile, verify=True)
File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py"
, line 180, in __init__
self.readconf()
File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py"
, line 418, in readconf
self.csvparams = os.path.normpath(config.get('CSV', 'Params'))
File "ConfigParser.pyc", line 610, in get
NoOptionError: No option 'params' in section: 'CSV'
Press any key to continue . . .
“Computers are incredibly fast, accurate and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination."
Please help. I am trying to update my 1.1 mod to 1.2.3
ERROR:root:FATAL ERROR
Traceback (most recent call last):
File "runtime\recompile.py", line 26, in recompile
commands = Commands(conffile, verify=True)
File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py"
, line 180, in __init__
self.readconf()
File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py"
, line 418, in readconf
self.csvparams = os.path.normpath(config.get('CSV', 'Params'))
File "ConfigParser.pyc", line 610, in get
NoOptionError: No option 'params' in section: 'CSV'
Press any key to continue . . .
when i am trying the code :
.setPotionEffect(Potion.hunger.id, 30, 0, 0.8F) it does not work. It sais .setPotionEffect(int, int, int, int, float)
wwhats wrong?!
when i am trying the code :
.setPotionEffect(Potion.hunger.id, 30, 0, 0.8F) it does not work. It sais .setPotionEffect(int, int, int, int, float)
wwhats wrong?!
Make sure you are putting it before .setItemName
Rollback Post to RevisionRollBack
“Computers are incredibly fast, accurate and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination."
Can you add how to make new trees (like the shape and stuff) and biomes?
I might do trees.
Like I've told others, I'm not going to make a tutorial on biomes until I can figure out how to do it without editing a base class. Which probably isn't possible.
Rollback Post to RevisionRollBack
“Computers are incredibly fast, accurate and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination."
It worked, But why the **** ... I mean .. When I try to open with eclipse, it gives me errors, and when I try to open it with text edit, it gives me weird symbols|?
Nvm (:, I used the backup of the 1.1 one, and I opened it with text edit. Made new Classes, and pasted the code. I just got 2 errors, in one page.
BlockBFCrops: (BTW the errors are=
package net.minecraft.src;
import java.util.Random;
public class BlockBFCrop extends BlockFlower
{
protected BlockBFCrop(int i, int j)
{
super(i, j);
setTickOnLoad(true);
float f = 0.5F;
setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f);
}
protected boolean canThisPlantGrowOnThisBlockID(int i)
{
return i == Block.tilledField.blockID;
}
public void updateTick(World world, int i, int j, int k, Random random)
{
super.updateTick(world, i, j, k, random);
if(world.getBlockLightValue(i, j + 1, k) >= 9)
{
int l = world.getBlockMetadata(i, j, k);
if(l < 7)
{
float f = getGrowthRate(world, i, j, k);
if(random.nextInt((int)(25F / f) + 1) == 0)
{
l++;
world.setBlockMetadataWithNotify(i, j, k, l);
}
}
}
}
public void fertilize(World world, int i, int j, int k)
{
world.setBlockMetadataWithNotify(i, j, k, 7);
}
private float getGrowthRate(World world, int i, int j, int k)
{
float f = 1.0F;
int l = world.getBlockId(i, j, k - 1);
int i1 = world.getBlockId(i, j, k + 1);
int j1 = world.getBlockId(i - 1, j, k);
int k1 = world.getBlockId(i + 1, j, k);
int l1 = world.getBlockId(i - 1, j, k - 1);
int i2 = world.getBlockId(i + 1, j, k - 1);
int j2 = world.getBlockId(i + 1, j, k + 1);
int k2 = world.getBlockId(i - 1, j, k + 1);
boolean flag = j1 == blockID || k1 == blockID;
boolean flag1 = l == blockID || i1 == blockID;
boolean flag2 = l1 == blockID || i2 == blockID || j2 == blockID || k2 == blockID;
for(int l2 = i - 1; l2 <= i + 1; l2++)
{
for(int i3 = k - 1; i3 <= k + 1; i3++)
{
int j3 = world.getBlockId(l2, j - 1, i3);
float f1 = 0.0F;
if(j3 == Block.tilledField.blockID)
{
f1 = 1.0F;
if(world.getBlockMetadata(l2, j - 1, i3) > 0)
{
f1 = 3F;
}
}
if(l2 != i || i3 != k)
{
f1 /= 4F;
}
f += f1;
}
}
if(flag2 || flag && flag1)
{
f /= 2.0F;
}
return f;
}
// BIGGEST CHANGE IN THIS FILE. Making the textures increment up and determining the texture for each.
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(j == 0)
{
return blockIndexInTexture;
}
if(j == 1)
{
return mod_BTMCrops.newCrop1;
}
if(j == 2)
{
return mod_BTMCrops.newCrop1; // In order to not have to change a lot more code we can just make
} // the plant grow the same but make it "look" like it has fewer steps
if(j == 3) // Through 8 steps the sequence is 0, 1, 1, 2, 2, 3, 3, 4.
{
return mod_BTMCrops.newCrop2;
}
if(j == 4)
{
return mod_BTMCrops.newCrop2;
}
if(j == 5)
{
return mod_BTMCrops.newCrop3;
}
if(j == 6)
{
return mod_BTMCrops.newCrop3;
}
if(j == 7)
{
return mod_BTMCrops.newCrop4;
}
return -1;
}
public int getRenderType()
{
return 1; // This makes the textures look MUCH better than 6 which makes an ugly square like wheat.
}
public void dropBlockAsItemWithChance(World world, int i, int j, int k, int l, float f, int i1)
{
super.dropBlockAsItemWithChance(world, i, j, k, l, f, 0);
if(world.multiplayerWorld)
{
return;
}
int j1 = 3 + i1;
for(int k1 = 0; k1 < j1; k1++)
{
if(world.rand.nextInt(15) <= l)
{
float f1 = 0.7F;
float f2 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
float f3 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
float f4 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
EntityItem entityitem = new EntityItem(world, (float)i + f2, (float)j + f3, (float)k + f4, new ItemStack(mod_BTMCrops.newSeeds)); // BLAH BLAH BLAH Change this and seeds will drop before grown and when fully grown
entityitem.delayBeforeCanPickup = 10;
world.spawnEntityInWorld(entityitem);
}
}
}
public int idDropped(int i, Random random, int j)
{
if(i == 7)
{
return mod_Foods.Tomato.shiftedIndex;
} else
{
return -1;
}
}
public int quantityDropped(Random random)
{
return 5;
}
}
Please help addSpawn in mod_NPC gets a error and EntityNPC in the line:
public class EntityNPC extends EntityCreature
Someone help
These tutorials are for 1.2 only. Make sure you are using MCP 60 with a decompiled Minecraft 1.2.3 jar. Post your code as well if you still have troubles.
It worked, But why the **** ... I mean .. When I try to open with eclipse, it gives me errors, and when I try to open it with text edit, it gives me weird symbols|?
Nvm (:, I used the backup of the 1.1 one, and I opened it with text edit. Made new Classes, and pasted the code. I just got 2 errors, in one page.
BlockBFCrops: (BTW the errors are=
package net.minecraft.src;
import java.util.Random;
public class BlockBFCrop extends BlockFlower
{
protected BlockBFCrop(int i, int j)
{
super(i, j);
setTickOnLoad(true);
float f = 0.5F;
setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f);
}
protected boolean canThisPlantGrowOnThisBlockID(int i)
{
return i == Block.tilledField.blockID;
}
public void updateTick(World world, int i, int j, int k, Random random)
{
super.updateTick(world, i, j, k, random);
if(world.getBlockLightValue(i, j + 1, k) >= 9)
{
int l = world.getBlockMetadata(i, j, k);
if(l < 7)
{
float f = getGrowthRate(world, i, j, k);
if(random.nextInt((int)(25F / f) + 1) == 0)
{
l++;
world.setBlockMetadataWithNotify(i, j, k, l);
}
}
}
}
public void fertilize(World world, int i, int j, int k)
{
world.setBlockMetadataWithNotify(i, j, k, 7);
}
private float getGrowthRate(World world, int i, int j, int k)
{
float f = 1.0F;
int l = world.getBlockId(i, j, k - 1);
int i1 = world.getBlockId(i, j, k + 1);
int j1 = world.getBlockId(i - 1, j, k);
int k1 = world.getBlockId(i + 1, j, k);
int l1 = world.getBlockId(i - 1, j, k - 1);
int i2 = world.getBlockId(i + 1, j, k - 1);
int j2 = world.getBlockId(i + 1, j, k + 1);
int k2 = world.getBlockId(i - 1, j, k + 1);
boolean flag = j1 == blockID || k1 == blockID;
boolean flag1 = l == blockID || i1 == blockID;
boolean flag2 = l1 == blockID || i2 == blockID || j2 == blockID || k2 == blockID;
for(int l2 = i - 1; l2 <= i + 1; l2++)
{
for(int i3 = k - 1; i3 <= k + 1; i3++)
{
int j3 = world.getBlockId(l2, j - 1, i3);
float f1 = 0.0F;
if(j3 == Block.tilledField.blockID)
{
f1 = 1.0F;
if(world.getBlockMetadata(l2, j - 1, i3) > 0)
{
f1 = 3F;
}
}
if(l2 != i || i3 != k)
{
f1 /= 4F;
}
f += f1;
}
}
if(flag2 || flag && flag1)
{
f /= 2.0F;
}
return f;
}
// BIGGEST CHANGE IN THIS FILE. Making the textures increment up and determining the texture for each.
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(j == 0)
{
return blockIndexInTexture;
}
if(j == 1)
{
return mod_BTMCrops.newCrop1;
}
if(j == 2)
{
return mod_BTMCrops.newCrop1; // In order to not have to change a lot more code we can just make
} // the plant grow the same but make it "look" like it has fewer steps
if(j == 3) // Through 8 steps the sequence is 0, 1, 1, 2, 2, 3, 3, 4.
{
return mod_BTMCrops.newCrop2;
}
if(j == 4)
{
return mod_BTMCrops.newCrop2;
}
if(j == 5)
{
return mod_BTMCrops.newCrop3;
}
if(j == 6)
{
return mod_BTMCrops.newCrop3;
}
if(j == 7)
{
return mod_BTMCrops.newCrop4;
}
return -1;
}
public int getRenderType()
{
return 1; // This makes the textures look MUCH better than 6 which makes an ugly square like wheat.
}
public void dropBlockAsItemWithChance(World world, int i, int j, int k, int l, float f, int i1)
{
super.dropBlockAsItemWithChance(world, i, j, k, l, f, 0);
if(world.multiplayerWorld)
{
return;
}
int j1 = 3 + i1;
for(int k1 = 0; k1 < j1; k1++)
{
if(world.rand.nextInt(15) <= l)
{
float f1 = 0.7F;
float f2 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
float f3 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
float f4 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F;
EntityItem entityitem = new EntityItem(world, (float)i + f2, (float)j + f3, (float)k + f4, new ItemStack(mod_BTMCrops.newSeeds)); // BLAH BLAH BLAH Change this and seeds will drop before grown and when fully grown
entityitem.delayBeforeCanPickup = 10;
world.spawnEntityInWorld(entityitem);
}
}
}
public int idDropped(int i, Random random, int j)
{
if(i == 7)
{
return mod_Foods.Tomato.shiftedIndex;
} else
{
return -1;
}
}
public int quantityDropped(Random random)
{
return 5;
}
}
Thanks, please help!
setTickOnLoad(true);
has changed to
setTickRandomly(true);
and
world.multiplayerWorld
is now
world.isRemote
Quite a lot of method names changed in 1.2.
Rollback Post to RevisionRollBack
“Computers are incredibly fast, accurate and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination."
These tutorials are for 1.2 only. Make sure you are using MCP 60 with a decompiled Minecraft 1.2.3 jar. Post your code as well if you still have troubles.
Oh, and.. Can you show us how to make an item that spawns a mob?
But.. (Heres the catch), when you rite click with the item, It opens a GUI.
It could have, Spawn "Custom Monster" Spawn "Custom Monster"
Or "No thanks!"
But in order to spawn some thing, you need to have the XP for it. :D.
WHat do you think? Could you make it?
in this code, Block.fence.blockID makes you achieve the achievement if you get the Block.fence in the game.
Then, how does this code changes when I want to achieve an achievement by getting an item that I modded?
Well, I would... If only MCP would download again...
It keeps saying: No download? Click here
and it doesnt download :S
edit: nvm downloadin now
All I need is a quick explanation!
Perdon por el post, creo que no puedo borrarlo. Tenia un error tonto que ya lo resolvi.
HINT: soundtrack
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumERROR:root:FATAL ERROR Traceback (most recent call last): File "runtime\recompile.py", line 26, in recompile commands = Commands(conffile, verify=True) File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py" , line 180, in __init__ self.readconf() File "C:\Users\bobby\Desktop\Modding files\Mods\Cupcake's\runtime\commands.py" , line 418, in readconf self.csvparams = os.path.normpath(config.get('CSV', 'Params')) File "ConfigParser.pyc", line 610, in get NoOptionError: No option 'params' in section: 'CSV' Press any key to continue . . .public class EntityNPC extends EntityCreature
Someone help
I haven't made a record before. I can't really make a tutorial on something I haven't done.
When setting your eclipse workspace, just set it to the eclipse folder, no sub-folders or anything. Eclipse should then build and create all of those other files.
Follow this tutorial here. It is old but is how I learnt to do it and it should still work.
Is that the whole error?
together they are powerful beyond imagination."
You use mcp 60 for 1.2? Try to do updatemcp.bat
.setPotionEffect(Potion.hunger.id, 30, 0, 0.8F) it does not work. It sais .setPotionEffect(int, int, int, int, float)
wwhats wrong?!
Art by me: [email protected]
Make sure you are putting it before .setItemName
together they are powerful beyond imagination."
I might do trees.
Like I've told others, I'm not going to make a tutorial on biomes until I can figure out how to do it without editing a base class. Which probably isn't possible.
together they are powerful beyond imagination."
It worked, But why the **** ... I mean .. When I try to open with eclipse, it gives me errors, and when I try to open it with text edit, it gives me weird symbols|?Nvm (:, I used the backup of the 1.1 one, and I opened it with text edit. Made new Classes, and pasted the code. I just got 2 errors, in one page.
BlockBFCrops: (BTW the errors are= and =
super.dropBlockAsItemWithChance(world, i, j, k, l, f, 0); if(world.multiplayerWorld) { return; }The actual class file:
BlockBFCrops:
package net.minecraft.src; import java.util.Random; public class BlockBFCrop extends BlockFlower { protected BlockBFCrop(int i, int j) { super(i, j); setTickOnLoad(true); float f = 0.5F; setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); } protected boolean canThisPlantGrowOnThisBlockID(int i) { return i == Block.tilledField.blockID; } public void updateTick(World world, int i, int j, int k, Random random) { super.updateTick(world, i, j, k, random); if(world.getBlockLightValue(i, j + 1, k) >= 9) { int l = world.getBlockMetadata(i, j, k); if(l < 7) { float f = getGrowthRate(world, i, j, k); if(random.nextInt((int)(25F / f) + 1) == 0) { l++; world.setBlockMetadataWithNotify(i, j, k, l); } } } } public void fertilize(World world, int i, int j, int k) { world.setBlockMetadataWithNotify(i, j, k, 7); } private float getGrowthRate(World world, int i, int j, int k) { float f = 1.0F; int l = world.getBlockId(i, j, k - 1); int i1 = world.getBlockId(i, j, k + 1); int j1 = world.getBlockId(i - 1, j, k); int k1 = world.getBlockId(i + 1, j, k); int l1 = world.getBlockId(i - 1, j, k - 1); int i2 = world.getBlockId(i + 1, j, k - 1); int j2 = world.getBlockId(i + 1, j, k + 1); int k2 = world.getBlockId(i - 1, j, k + 1); boolean flag = j1 == blockID || k1 == blockID; boolean flag1 = l == blockID || i1 == blockID; boolean flag2 = l1 == blockID || i2 == blockID || j2 == blockID || k2 == blockID; for(int l2 = i - 1; l2 <= i + 1; l2++) { for(int i3 = k - 1; i3 <= k + 1; i3++) { int j3 = world.getBlockId(l2, j - 1, i3); float f1 = 0.0F; if(j3 == Block.tilledField.blockID) { f1 = 1.0F; if(world.getBlockMetadata(l2, j - 1, i3) > 0) { f1 = 3F; } } if(l2 != i || i3 != k) { f1 /= 4F; } f += f1; } } if(flag2 || flag && flag1) { f /= 2.0F; } return f; } // BIGGEST CHANGE IN THIS FILE. Making the textures increment up and determining the texture for each. public int getBlockTextureFromSideAndMetadata(int i, int j) { if(j == 0) { return blockIndexInTexture; } if(j == 1) { return mod_BTMCrops.newCrop1; } if(j == 2) { return mod_BTMCrops.newCrop1; // In order to not have to change a lot more code we can just make } // the plant grow the same but make it "look" like it has fewer steps if(j == 3) // Through 8 steps the sequence is 0, 1, 1, 2, 2, 3, 3, 4. { return mod_BTMCrops.newCrop2; } if(j == 4) { return mod_BTMCrops.newCrop2; } if(j == 5) { return mod_BTMCrops.newCrop3; } if(j == 6) { return mod_BTMCrops.newCrop3; } if(j == 7) { return mod_BTMCrops.newCrop4; } return -1; } public int getRenderType() { return 1; // This makes the textures look MUCH better than 6 which makes an ugly square like wheat. } public void dropBlockAsItemWithChance(World world, int i, int j, int k, int l, float f, int i1) { super.dropBlockAsItemWithChance(world, i, j, k, l, f, 0); if(world.multiplayerWorld) { return; } int j1 = 3 + i1; for(int k1 = 0; k1 < j1; k1++) { if(world.rand.nextInt(15) <= l) { float f1 = 0.7F; float f2 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F; float f3 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F; float f4 = world.rand.nextFloat() * f1 + (1.0F - f1) * 0.5F; EntityItem entityitem = new EntityItem(world, (float)i + f2, (float)j + f3, (float)k + f4, new ItemStack(mod_BTMCrops.newSeeds)); // BLAH BLAH BLAH Change this and seeds will drop before grown and when fully grown entityitem.delayBeforeCanPickup = 10; world.spawnEntityInWorld(entityitem); } } } public int idDropped(int i, Random random, int j) { if(i == 7) { return mod_Foods.Tomato.shiftedIndex; } else { return -1; } } public int quantityDropped(Random random) { return 5; } }Thanks, please help!
These tutorials are for 1.2 only. Make sure you are using MCP 60 with a decompiled Minecraft 1.2.3 jar. Post your code as well if you still have troubles.
has changed to
and
is now
Quite a lot of method names changed in 1.2.
together they are powerful beyond imagination."
Thank's alot !
BTW, I love your Undead+ Mod :D!
But.. (Heres the catch), when you rite click with the item, It opens a GUI.
It could have, Spawn "Custom Monster" Spawn "Custom Monster"
Or "No thanks!"
But in order to spawn some thing, you need to have the XP for it. :D.
WHat do you think? Could you make it?
public void takenFromCrafting(EntityPlayer entityplayer, ItemStack itemstack, IInventory iinventory) { if(itemstack.itemID == Block.fence.blockID) { entityplayer.addStat(Namehere, 1); } }in this code, Block.fence.blockID makes you achieve the achievement if you get the Block.fence in the game.
Then, how does this code changes when I want to achieve an achievement by getting an item that I modded?
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumThanks, I think that I got it to work.