Fix this please. The block only display when I add into the block.java class file. but the texture appears to be Stone instead of my texture and no name is displayed. Please help. only happen on blocks. Am
I suppose to add something in other class??
Please help jbond98.
Fix this please. The block only display when I add into the block.java class file. but the texture appears to be Stone instead of my texture and no name is displayed. Please help. only happen on blocks. Am
I suppose to add something in other class??
Please help jbond98.
first thing you should do if you want help is to place your coding(in a spoiler) that will make it easier to help you.
first thing you should do if you want help is to place your coding(in a spoiler) that will make it easier to help you.
this is my base file.
package net.minecraft.src;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class MaydayBase extends BaseMod
{
public static final Block oreEG = new EnergyStoneOre(160, 160).setStepSound(Block.soundStoneFootstep).setBlockName("oreEnergyI").setHardness(4.5F).setResistance(5F).setLightValue(2F);
public void load()
{
oreEG.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/terrain/energyStone.png");
ModLoader.registerBlock(oreEG);
ModLoader.addName(oreEG, "Energy Stone Ore");
}
public String getVersion()
{
return "EnergyCraft Mod beta V1.0 Minecraft 1.3.2";
}
}
no error shown when ran
And thanks for replying so fast.
package net.minecraft.src;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class MaydayBase extends BaseMod
{
public static final Block oreEG = new EnergyStoneOre(160, 160).setStepSound(Block.soundStoneFootstep).setBlockName("oreEnergyI").setHardness(4.5F).setResistance(5F).setLightValue(2F);
public void load()
{
oreEG.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/terrain/energyStone.png");
ModLoader.registerBlock(oreEG);
ModLoader.addName(oreEG, "Energy Stone Ore");
}
public String getVersion()
{
return "EnergyCraft Mod beta V1.0 Minecraft 1.3.2";
}
}
no error shown when ran
And thanks for replying so fast.
I cant see a problem but i am not a very experienced modder... maybe you should check if the texture folder is in the correct place?
and no problem. i have been checking this thread regularly for some time now....
I put Resorces'bin and minecraftserver jar and Ran eclipce it had 5 errors.... 2 warnings..
I am guessing you said you put Resources Folder and Bin folder into the jars folder in mcp. then you ran the decompile before you opened eclipse? if so i dont know what happened
hellooooo i have two quick questions, okay when i type in the
public class mod_ObsidianCraft extends BaseMod the mod_obscraft is an error saying
The type mod_ObsidianCraft must implement the inherited abstract method BaseMod.getVersion()
as i am extremely new to modding and eclipse and such, i have no idea what this means, alsooo
i created a folder called items in mcp72\eclipse\client\bin which is where the farve4ever26 tutorial said to put it, but everytime i restart
eclipse it has automatically deleted that folder (which has my textures for my mod stuff)
any help on either of these problems is much appreciated
the line there Must be the same exact as the name of the file for example if the files name was mod_Falafel it would have to be mod_Falafel (it couldnt be Mod_Falafel or even mod_falafel). hope this helps
Okay I did that, and in eclipse I open the Client folder and there's the src folder but i can't open that folder and when I made a class file it put it in the default package, net.minecraft.src package isn't there at all.
Sorry for the double post but, still having this issue, anyone know whats wrong?
okay now i have a new issue, I made my mod, it gets to the mojang loading screen, the quicly goes blackscreen, no error or anything, here are my files:
mod_
package net.minecraft.src;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class mod_Blockscraft extends BaseMod
{
public static final Block oreFyrestone = new BlockFyrestoneOre(160, 0).setStepSound(Block.soundStoneFootstep).setBlockName("oreFyrestone").setHardness(4.5F).setResistance(5F).setLightValue(0.375F);
public static final Block fenceFyrestone = new BlockFyrestoneFence(161, 0).setStepSound(Block.soundStoneFootstep).setBlockName("fenceFyrestone").setHardness(4.5F).setResistance(5F).setLightValue(0.375F);
public static final Item scrapFyrestone = new Item(5000).setItemName("scrapFyrestone");
public static final Item ingotFyrestone = new Item(5001).setItemName("ingotFyrestone");
public static final Item nuggetFyrestone = new Item(5002).setItemName("nuggetFyrestone");
public void load()
{
oreFyrestone.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/OreFyrestone.png");
ModLoader.registerBlock(oreFyrestone);
ModLoader.addName(oreFyrestone, "Fyrestone Ore");
fenceFyrestone.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/FenceFyrestone.png");
ModLoader.registerBlock(fenceFyrestone);
ModLoader.addName(fenceFyrestone, "Fyrestone Fence");
scrapFyrestone.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/ScrapFyrestone.png");
ModLoader.addName(scrapFyrestone, "Fyrestone Scrap");
scrapFyrestone.setTabToDisplayOn(CreativeTabs.tabMaterials);
ingotFyrestone.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/IngotFyrestone.png");
ModLoader.addName(ingotFyrestone, "Fyrestone Ingot");
ingotFyrestone.setTabToDisplayOn(CreativeTabs.tabMaterials);
nuggetFyrestone.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/NuggetFyrestone.png");
ModLoader.addName(nuggetFyrestone, "Fyrestone Nugget");
nuggetFyrestone.setTabToDisplayOn(CreativeTabs.tabMaterials);
ModLoader.addSmelting(scrapFyrestone.shiftedIndex, new ItemStack(ingotFyrestone, 1), 1.0F);
ModLoader.addRecipe(new ItemStack(nuggetFyrestone, 6), new Object [] {"#", Character.valueOf('#'), mod_Blockscraft.ingotFyrestone});
ModLoader.addRecipe(new ItemStack(ingotFyrestone, 1), new Object [] {"###","###", Character.valueOf('#'), mod_Blockscraft.nuggetFyrestone});
ModLoader.addRecipe(new ItemStack(fenceFyrestone, 3), new Object [] {"###","###", Character.valueOf('#'), mod_Blockscraft.ingotFyrestone});
}
public String getVersion()
{
return "Blockscraft Mod V0.2 Minecraft 1.3.2";
}
}
BlockFyrestoneOre:
package net.minecraft.src;
import java.util.Random;
public class BlockFyrestoneOre extends Block
{
public BlockFyrestoneOre(int par1, int par2)
{
super(par1, par2, Material.rock);
this.setCreativeTab(CreativeTabs.tabBlock);
}
public int quantityDropped(int par1)
{
return (1);
}
public int idDropped(int par1, Random par2Random, int par3)
{
return mod_Blockscraft.scrapFyrestone.shiftedIndex;
}
public int quantityDropped(Random par1Random)
{
return this.blockID == mod_Blockscraft.oreFyrestone.blockID ? 1 + par1Random.nextInt(5) : 1;
}
}
BlockFyrestoneFence:
package net.minecraft.src;
public class BlockFyrestoneFence extends Block
{
public BlockFyrestoneFence(int par1, int par2)
{
super(par1, par2, Material.rock);
this.setCreativeTab(CreativeTabs.tabDeco);
}
public BlockFyrestoneFence(int par1, int par2, Material par3Material)
{
super(par1, par2, par3Material);
this.setCreativeTab(CreativeTabs.tabDeco);
}
/**
* Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
* cleared to be reused)
*/
public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
{
boolean var5 = this.canConnectFenceTo(par1World, par2, par3, par4 - 1);
boolean var6 = this.canConnectFenceTo(par1World, par2, par3, par4 + 1);
boolean var7 = this.canConnectFenceTo(par1World, par2 - 1, par3, par4);
boolean var8 = this.canConnectFenceTo(par1World, par2 + 1, par3, par4);
float var9 = 0.375F;
float var10 = 0.625F;
float var11 = 0.375F;
float var12 = 0.625F;
if (var5)
{
var11 = 0.0F;
}
if (var6)
{
var12 = 1.0F;
}
if (var7)
{
var9 = 0.0F;
}
if (var8)
{
var10 = 1.0F;
}
return AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)((float)par2 + var9), (double)par3, (double)((float)par4 + var11), (double)((float)par2 + var10), (double)((float)par3 + 1.5F), (double)((float)par4 + var12));
}
/**
* Updates the blocks bounds based on its current state. Args: world, x, y, z
*/
public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
{
boolean var5 = this.canConnectFenceTo(par1IBlockAccess, par2, par3, par4 - 1);
boolean var6 = this.canConnectFenceTo(par1IBlockAccess, par2, par3, par4 + 1);
boolean var7 = this.canConnectFenceTo(par1IBlockAccess, par2 - 1, par3, par4);
boolean var8 = this.canConnectFenceTo(par1IBlockAccess, par2 + 1, par3, par4);
float var9 = 0.375F;
float var10 = 0.625F;
float var11 = 0.375F;
float var12 = 0.625F;
if (var5)
{
var11 = 0.0F;
}
if (var6)
{
var12 = 1.0F;
}
if (var7)
{
var9 = 0.0F;
}
if (var8)
{
var10 = 1.0F;
}
this.setBlockBounds(var9, 0.0F, var11, var10, 1.0F, var12);
}
/**
* Is this block (a) opaque and (B) a full 1m cube? This determines whether or not to render the shared face of two
* adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
*/
public boolean isOpaqueCube()
{
return false;
}
/**
* If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
*/
public boolean renderAsNormalBlock()
{
return false;
}
public boolean getBlocksMovement(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
{
return false;
}
/**
* The type of render function that is called for this block
*/
public int getRenderType()
{
return 11;
}
/**
* Returns true if the specified block can be connected by a fence
*/
public boolean canConnectFenceTo(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
{
int var5 = par1IBlockAccess.getBlockId(par2, par3, par4);
if (var5 != this.blockID && var5 != Block.fenceGate.blockID)
{
Block var6 = Block.blocksList[var5];
return var6 != null && var6.blockMaterial.isOpaque() && var6.renderAsNormalBlock() ? var6.blockMaterial != Material.pumpkin : false;
}
else
{
return true;
}
}
public static boolean isIdAFence(int par0)
{
return par0 == Block.fence.blockID || par0 == Block.netherFence.blockID;
}
}
I cant see a problem but i am not a very experienced modder... maybe you should check if the texture folder is in the correct place?
and no problem. i have been checking this thread regularly for some time now....
Thanks for answering some questons for me! I've been swamped with work lately :/
I'm having the 'The system cannot find the path specified' error when running the decompile.bat, but I have no idea what's wrong, it seems to be the right path I've checked, but I still have no idea...
okay now i have a new issue, I made my mod, it gets to the mojang loading screen, the quicly goes blackscreen, no error or anything, here are my files:
mod_
package net.minecraft.src;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class mod_Blockscraft extends BaseMod
{
public static final Block oreFyrestone = new BlockFyrestoneOre(160, 0).setStepSound(Block.soundStoneFootstep).setBlockName("oreFyrestone").setHardness(4.5F).setResistance(5F).setLightValue(0.375F);
public static final Block fenceFyrestone = new BlockFyrestoneFence(161, 0).setStepSound(Block.soundStoneFootstep).setBlockName("fenceFyrestone").setHardness(4.5F).setResistance(5F).setLightValue(0.375F);
public static final Item scrapFyrestone = new Item(5000).setItemName("scrapFyrestone");
public static final Item ingotFyrestone = new Item(5001).setItemName("ingotFyrestone");
public static final Item nuggetFyrestone = new Item(5002).setItemName("nuggetFyrestone");
public void load()
{
oreFyrestone.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/OreFyrestone.png");
ModLoader.registerBlock(oreFyrestone);
ModLoader.addName(oreFyrestone, "Fyrestone Ore");
fenceFyrestone.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/FenceFyrestone.png");
ModLoader.registerBlock(fenceFyrestone);
ModLoader.addName(fenceFyrestone, "Fyrestone Fence");
scrapFyrestone.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/ScrapFyrestone.png");
ModLoader.addName(scrapFyrestone, "Fyrestone Scrap");
scrapFyrestone.setTabToDisplayOn(CreativeTabs.tabMaterials);
ingotFyrestone.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/IngotFyrestone.png");
ModLoader.addName(ingotFyrestone, "Fyrestone Ingot");
ingotFyrestone.setTabToDisplayOn(CreativeTabs.tabMaterials);
nuggetFyrestone.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/NuggetFyrestone.png");
ModLoader.addName(nuggetFyrestone, "Fyrestone Nugget");
nuggetFyrestone.setTabToDisplayOn(CreativeTabs.tabMaterials);
ModLoader.addSmelting(scrapFyrestone.shiftedIndex, new ItemStack(ingotFyrestone, 1), 1.0F);
ModLoader.addRecipe(new ItemStack(nuggetFyrestone, 6), new Object [] {"#", Character.valueOf('#'), mod_Blockscraft.ingotFyrestone});
ModLoader.addRecipe(new ItemStack(ingotFyrestone, 1), new Object [] {"###","###", Character.valueOf('#'), mod_Blockscraft.nuggetFyrestone});
ModLoader.addRecipe(new ItemStack(fenceFyrestone, 3), new Object [] {"###","###", Character.valueOf('#'), mod_Blockscraft.ingotFyrestone});
}
public String getVersion()
{
return "Blockscraft Mod V0.2 Minecraft 1.3.2";
}
}
BlockFyrestoneOre:
package net.minecraft.src;
import java.util.Random;
public class BlockFyrestoneOre extends Block
{
public BlockFyrestoneOre(int par1, int par2)
{
super(par1, par2, Material.rock);
this.setCreativeTab(CreativeTabs.tabBlock);
}
public int quantityDropped(int par1)
{
return (1);
}
public int idDropped(int par1, Random par2Random, int par3)
{
return mod_Blockscraft.scrapFyrestone.shiftedIndex;
}
public int quantityDropped(Random par1Random)
{
return this.blockID == mod_Blockscraft.oreFyrestone.blockID ? 1 + par1Random.nextInt(5) : 1;
}
}
BlockFyrestoneFence:
package net.minecraft.src;
public class BlockFyrestoneFence extends Block
{
public BlockFyrestoneFence(int par1, int par2)
{
super(par1, par2, Material.rock);
this.setCreativeTab(CreativeTabs.tabDeco);
}
public BlockFyrestoneFence(int par1, int par2, Material par3Material)
{
super(par1, par2, par3Material);
this.setCreativeTab(CreativeTabs.tabDeco);
}
/**
* Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
* cleared to be reused)
*/
public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
{
boolean var5 = this.canConnectFenceTo(par1World, par2, par3, par4 - 1);
boolean var6 = this.canConnectFenceTo(par1World, par2, par3, par4 + 1);
boolean var7 = this.canConnectFenceTo(par1World, par2 - 1, par3, par4);
boolean var8 = this.canConnectFenceTo(par1World, par2 + 1, par3, par4);
float var9 = 0.375F;
float var10 = 0.625F;
float var11 = 0.375F;
float var12 = 0.625F;
if (var5)
{
var11 = 0.0F;
}
if (var6)
{
var12 = 1.0F;
}
if (var7)
{
var9 = 0.0F;
}
if (var8)
{
var10 = 1.0F;
}
return AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)((float)par2 + var9), (double)par3, (double)((float)par4 + var11), (double)((float)par2 + var10), (double)((float)par3 + 1.5F), (double)((float)par4 + var12));
}
/**
* Updates the blocks bounds based on its current state. Args: world, x, y, z
*/
public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
{
boolean var5 = this.canConnectFenceTo(par1IBlockAccess, par2, par3, par4 - 1);
boolean var6 = this.canConnectFenceTo(par1IBlockAccess, par2, par3, par4 + 1);
boolean var7 = this.canConnectFenceTo(par1IBlockAccess, par2 - 1, par3, par4);
boolean var8 = this.canConnectFenceTo(par1IBlockAccess, par2 + 1, par3, par4);
float var9 = 0.375F;
float var10 = 0.625F;
float var11 = 0.375F;
float var12 = 0.625F;
if (var5)
{
var11 = 0.0F;
}
if (var6)
{
var12 = 1.0F;
}
if (var7)
{
var9 = 0.0F;
}
if (var8)
{
var10 = 1.0F;
}
this.setBlockBounds(var9, 0.0F, var11, var10, 1.0F, var12);
}
/**
* Is this block (a) opaque and (B) a full 1m cube? This determines whether or not to render the shared face of two
* adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
*/
public boolean isOpaqueCube()
{
return false;
}
/**
* If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
*/
public boolean renderAsNormalBlock()
{
return false;
}
public boolean getBlocksMovement(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
{
return false;
}
/**
* The type of render function that is called for this block
*/
public int getRenderType()
{
return 11;
}
/**
* Returns true if the specified block can be connected by a fence
*/
public boolean canConnectFenceTo(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
{
int var5 = par1IBlockAccess.getBlockId(par2, par3, par4);
if (var5 != this.blockID && var5 != Block.fenceGate.blockID)
{
Block var6 = Block.blocksList[var5];
return var6 != null && var6.blockMaterial.isOpaque() && var6.renderAsNormalBlock() ? var6.blockMaterial != Material.pumpkin : false;
}
else
{
return true;
}
}
public static boolean isIdAFence(int par0)
{
return par0 == Block.fence.blockID || par0 == Block.netherFence.blockID;
}
}
In the minecraft.jar that eclipse is running did you delete the meta inf?
I'm having the 'The system cannot find the path specified' error when running the decompile.bat, but I have no idea what's wrong, it seems to be the right path I've checked, but I still have no idea...
I suppose to add something in other class??
Please help jbond98.
first thing you should do if you want help is to place your coding(in a spoiler) that will make it easier to help you.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class MaydayBase extends BaseMod
{
public static final Block oreEG = new EnergyStoneOre(160, 160).setStepSound(Block.soundStoneFootstep).setBlockName("oreEnergyI").setHardness(4.5F).setResistance(5F).setLightValue(2F);
public void load()
{
oreEG.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/terrain/energyStone.png");
ModLoader.registerBlock(oreEG);
ModLoader.addName(oreEG, "Energy Stone Ore");
}
public String getVersion()
{
return "EnergyCraft Mod beta V1.0 Minecraft 1.3.2";
}
no error shown when ran
And thanks for replying so fast.
I cant see a problem but i am not a very experienced modder... maybe you should check if the texture folder is in the correct place?
and no problem. i have been checking this thread regularly for some time now....
I have learned (from experience) that optifine messes with a lot of the in-game textures so if you are using optifine and a mod they might conflict.
I am guessing you said you put Resources Folder and Bin folder into the jars folder in mcp. then you ran the decompile before you opened eclipse? if so i dont know what happened
the line there Must be the same exact as the name of the file for example if the files name was mod_Falafel it would have to be mod_Falafel (it couldnt be Mod_Falafel or even mod_falafel). hope this helps
I am the creater of the Soul Forest Mod
Youtube : https://www.youtube.com/user/JlineMore999
Twitter : https://twitter.com/Goscalyon
Twitch: https://www.twitch.tv/goscalyon
He doesn't know anything about MCForge so I doubt he can help you there :/ Just use the 4096 items fix
Sorry for the double post but, still having this issue, anyone know whats wrong?
I'd just put the minecraft.jar straight into the jars folder rather than putting the whole bin folder in there
mod_
Thanks for answering some questons for me! I've been swamped with work lately :/
Check out my Minecraft Modding Tutorials!
At least on FML anyway
In the minecraft.jar that eclipse is running did you delete the meta inf?
He said that he might. He;s considering adding several different tutrorials
no problem I feel that i should help anyway I can.
do you have the right type of java?
true that im following two other modding tutorials this is the only one updated to 1.3.2
Yeah, and I can't find anywhere one that teaches me how to make mobs for 1.3.2, once that the 1.2.5 tutorials are outdated.