Jump to content

TrueEight

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by TrueEight

  1. Hello, I have got a custom Lilypad in my mod (Block and Item), they both work fine, but the texture only applies to the Item and not to the Block Lifebelt = new Lifebelt(800, "Lifebelt"); //Block GameRegistry.registerBlock(Lifebelt, "Lifebelt"); LanguageRegistry.addName(Lifebelt, "Lifebelt"); LifebeltItem = new ItemLifebelt(8020, "Lifebelt"); //Item GameRegistry.registerItem(LifebeltItem, "LifebeltItem"); LanguageRegistry.addName(LifebeltItem, "Lifebelt Item"); Block class: package mymod.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityBoat; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class Lifebelt extends Block { private String texturePath = "mymod:"; public Lifebelt(int par1, String textureName) { super(par1, Material.cloth); float f = 0.5F; float f1 = 0.015625F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f1, 0.5F + f); this.setUnlocalizedName(textureName); texturePath += textureName; //this.setTextureName(texturePath); } public void addCollisionBoxesToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) { if (par7Entity == null || !(par7Entity instanceof EntityBoat)) { super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity); } } /** * 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) { return AxisAlignedBB.getAABBPool().getAABB((double)par2 + this.minX, (double)par3 + this.minY, (double)par4 + this.minZ, (double)par2 + this.maxX, (double)par3 + this.maxY, (double)par4 + this.maxZ); } /** * Gets passed in the blockID of the block below and supposed to return true if its allowed to grow on the type of * blockID passed in. Args: blockID */ protected boolean canThisPlantGrowOnThisBlockID(int par1) { return par1 == Block.waterStill.blockID; } /** * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. */ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { return par3 >= 0 && par3 < 256 ? par1World.getBlockMaterial(par2, par3 - 1, par4) == Material.water && par1World.getBlockMetadata(par2, par3 - 1, par4) == 0 : false; } public void registerIcons(IconRegister iconRegister) { this.blockIcon = iconRegister.registerIcon(texturePath); } } Item class: package mymod.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import mymod.Main; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemColored; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumMovingObjectType; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class ItemLifebelt extends Item { private String texturePath = "mymod:"; public ItemLifebelt(int ItemID, String textureName) { super(ItemID); this.setUnlocalizedName(textureName); this.setCreativeTab(CreativeTabs.tabMaterials); texturePath += textureName; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon(texturePath); } public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); if (movingobjectposition == null) { return par1ItemStack; } else { if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE) { int i = movingobjectposition.blockX; int j = movingobjectposition.blockY; int k = movingobjectposition.blockZ; if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) { return par1ItemStack; } if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) { return par1ItemStack; } if (par2World.getBlockMaterial(i, j, k) == Material.water && par2World.getBlockMetadata(i, j, k) == 0 && par2World.isAirBlock(i, j + 1, k)) { par2World.setBlock(i, j + 1, k, Main.Lifebelt.blockID); if (!par3EntityPlayer.capabilities.isCreativeMode) { --par1ItemStack.stackSize; } } } return par1ItemStack; } } } Anyone as an idea of why this doesn't work? Also, the version is 1.6.4 and I can't chagne it
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.