Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Enkey

Members
  • Joined

  • Last visited

Everything posted by Enkey

  1. No, I don't.
  2. Oh ... I thought I have to do it through Tile entity to store the block bounds for every block... Anyway thanks again!
  3. Thanks! I didn't realize that it is called before placement. But I changed it like so: package testmod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockDirWTileEntity extends BlockContainer { public BlockDirWTileEntity(int id) { super(id, Material.rock); } public boolean isOpaqueCube(){ return false; } public boolean renderAsNormalBlock(){ return false; } public TileEntity createNewTileEntity(World world) { return new TileEntityDirWTileEntity(); } public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack) { TileEntityDirWTileEntity TE = (TileEntityDirWTileEntity)par1World.getBlockTileEntity(par2, par3, par4); int metadata = TE.getBlockMetadata(); TE.setBoundsForBlock(metadata); } public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { int j1 = par9 & 3; byte b0 = 0; switch (par5) { case 0: case 1: b0 = 0; break; case 2: case 3: b0 = 8; break; case 4: case 5: b0 = 4; } return j1 | b0; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1) { this.blockIcon = par1.registerIcon(Main.modid + ":" + this.getUnlocalizedName().substring(5)); } } package testmod; import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; public class TileEntityDirWTileEntity extends TileEntity { public void setBoundsForBlock(int par1){ Block block = getBlockType(); switch (par1) { case 0: block.setBlockBounds(0.3125F,0.0F,0.3125F,0.5625F,1.0F,0.5625F); break; case 4: block.setBlockBounds(0.0F,0.3125F,0.3125F,1.0F,0.5625F,0.5625F); break; case 8: block.setBlockBounds(0.3125F,0.3125F,0.0F,0.5625F,0.5625F,1.0F); break; default: System.out.println("Bad metadata!"); } } } and when I place a block it change the block bounds for every block (DirWTileEntity). How can I prevent that?
  4. Oh that was generated by Eclipse, but I changed it to public and nothing changed. It's first time doing something with tile entity for me, so I have something wrong there probably.
  5. (English is not my native language, BTW) Hello, I am trying to learn modding so I am doing just a testing mod. I wanted to make a block which would rotate like wood log on placement, but it would change the bounding box of the block, too. So I am trying to do it by Tile Entity, but minecraft crashes at testmod.BlockDirWTileEntity.onBlockPlaced(BlockDirWTileEntity.java:30) Code: Class for the Block: package testmod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; public class BlockDirWTileEntity extends BlockContainer { protected BlockDirWTileEntity(int id) { super(id, Material.rock); } public TileEntity createNewTileEntity(World world) { return new TileEntityDirWTileEntity(); } public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { int j1 = par9 & 3; byte b0 = 0; TileEntityDirWTileEntity tileentity = (TileEntityDirWTileEntity)par1World.getBlockTileEntity(par2, par3, par4); tileentity.setBoundsForBlock(par5); //Here it crashes switch (par5) { case 0: case 1: b0 = 0; break; case 2: case 3: b0 = 8; break; case 4: case 5: b0 = 4; } return j1 | b0; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1) { this.blockIcon = par1.registerIcon(Main.modid + ":" + this.getUnlocalizedName().substring(5)); } } Class for the Tile Entity (here I just wanted to figure out what is what): package testmod; import net.minecraft.tileentity.TileEntity; public class TileEntityDirWTileEntity extends TileEntity { public void setBoundsForBlock(int par1){ switch (par1) { case 0: System.out.println("case 0"); break; case 1: System.out.println("case 1"); break; case 2: System.out.println("case 2"); break; case 3: System.out.println("case 3"); break; case 4: System.out.println("case 4"); break; case 5: System.out.println("case 5"); } } } So what am I missing? Thanks for your help!
  6. Oh... Everyone said it should be in src\minecraft\mods\... but its probably different for me because I have the workbench setted up like Pahimar. So thank you very much! It works now
  7. Hey guys, I am learning to mod so I am doing my first testing mod in 1.5 (already have made one testing mod in 1.4.7) and I have the same problem with the textures (error with missing texture) and I tried everything I found on the internet and it still does not work. So here is my code for my blocks and items: And I have the textures at: mcp\src\minecraft\mods\first\textures\blocks\ mcp\src\minecraft\mods\first\textures\items\ and I am sure that the names are correct. Please help, I am really stuck on that

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.