
Fruitsalid
Members-
Posts
99 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
I am new!
Fruitsalid's Achievements

Stone Miner (3/8)
1
Reputation
-
That's a good point I didn't even think about. You'd probably be better off making a new class just like MineMaarten said.
-
[1.6.2] [Unsolved] Custom Boat Entity don't load the texture
Fruitsalid replied to SackCastellon's topic in Modder Support
I don't think you need entity/in resource location of your render class. so it should just be "betterwood:SpruceBoat.png". Just a guess. -
You can make it be new BlockGlass instead of new Block.
-
Well I'm still confused on how to solve the double slab problem if anyone could help me out a bit more.
-
Okay well this solved half of the problem but now I can't plant them on my custom dirt.
-
Well I've figured out that I must use this method but I'm not sure how to make it so only saplings are allowed to be planted. public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { }
-
I made my own grass and dirt for a custom biome and was playing around to see if they function normally. But I noticed I couldn't plant any type of sapling on either my grass or dirt. So I went looking to see which method allowed this to happen, but I could not find anything in the BlockGrass or BlockDirt classes. Does anyone know the solution to this. Here is all the code pertaining to the two. public static Block customgrass; public static Block customdirt; customgrass= new BlockCustomGrass(237).setHardness(0.6F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("customgrass"); LanguageRegistry.addName(customgrass, "Magic Grass"); GameRegistry.registerBlock(customgrass, "customgrass"); MinecraftForge.setBlockHarvestLevel(customgrass, "shovel", 1); customdirt= new BlockCustomDirt(238, Material.ground).setHardness(0.5F).setResistance(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("customdirt"); LanguageRegistry.addName(customdirt, "Magic Dirt"); GameRegistry.registerBlock(customdirt, "customdirt"); MinecraftForge.setBlockHarvestLevel(customdirt, "shovel", 1); public class BlockCustomGrass extends Block { @SideOnly(Side.CLIENT) private Icon iconGrassTop; @SideOnly(Side.CLIENT) private Icon iconGrassSide; private Icon iconSnowSide; public BlockCustomGrass(int par1) { super(par1, Material.grass); this.setTickRandomly(true); this.setCreativeTab(MagicElementsMod.Misc); } @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { return par1 == 1 ? this.iconGrassTop : (par1 == 0 ? MagicElementsMod.customgrass.getBlockTextureFromSide(par1) : this.blockIcon); } public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { if (!par1World.isRemote) { if (par1World.getBlockLightValue(par2, par3 + 1, par4) < 4 && par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2) { par1World.setBlock(par2, par3, par4, MagicElementsMod.customdirt.blockID); } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { for (int l = 0; l < 4; ++l) { int i1 = par2 + par5Random.nextInt(3) - 1; int j1 = par3 + par5Random.nextInt(5) - 3; int k1 = par4 + par5Random.nextInt(3) - 1; int l1 = par1World.getBlockId(i1, j1 + 1, k1); if (par1World.getBlockId(i1, j1, k1) == MagicElementsMod.customdirt.blockID && par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4 && par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2) { par1World.setBlock(i1, j1, k1, MagicElementsMod.customgrass.blockID); } } } } } public int idDropped(int par1, Random par2Random, int par3) { return MagicElementsMod.customdirt.idDropped(0, par2Random, par3); } @Override @SideOnly(Side.CLIENT) public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { if (par5 == 1) { return this.iconGrassTop; } else if (par5 == 0) { return MagicElementsMod.customdirt.getBlockTextureFromSide(par5); } else { Material material = par1IBlockAccess.getBlockMaterial(par2, par3 + 1, par4); return material != Material.snow && material != Material.craftedSnow ? this.blockIcon : this.iconSnowSide; } } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("magicelements:customgrass_side"); this.iconGrassTop = par1IconRegister.registerIcon("magicelements:customgrass_top"); this.iconGrassSide = par1IconRegister.registerIcon("magicelements:customgrass_side"); } } public class BlockCustomDirt extends Block { public BlockCustomDirt(int par1, Material par2Material) { super(par1, par2Material); this.setCreativeTab(MagicElementsMod.Misc); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister ir) { this.blockIcon = ir.registerIcon("magicelements" + ":" + getUnlocalizedName().substring(5)); } }
-
Burst fire gun / creating delay between shots
Fruitsalid replied to DerpenWolf's topic in Modder Support
Try @Override public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { } -
DerpenWolf's way does work but only for one effect (From my own experience). If you want the food to give you more than one you'd have to have the onFoodEaten method and add your effects there.
-
Do you want to give the item a potion effect or do you want to give yourself a potion effect when you eat it?
-
Well it's the itemID & itemDamage.
-
It shouldn't mess up the texture. I do it for my armor and it turns out fine. Are you sure you're making it exactly double the size? I think you might be making the entire image 2x the size but leaving the colored area the same size. Just a guess.
-
didn't fix it sooo. I made that class according to the blockstep class which says exactly protected ItemStack createStackedBlock(int par1) { return new ItemStack(Block.stoneSingleSlab.blockID, 2, par1 & 7); }
-
Anyone know how to fix this?
-
[1.6.2] Having issues to get custom textures loades on new blocks
Fruitsalid replied to alpharo's topic in Modder Support
I looked in your mod and you didn't capitalize the T in tutorial for all the block textures.