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.

Revolution

Members
  • Joined

  • Last visited

  1. I've been looking for setting up blocks with textures (tried a few "fixes" here and there but none of them worked so i just deleted them.) Anyway the texture I'm looking for only loads when I place the block. (Also note there's two types of the block. The item carbonTorch, and the block carbonTorch. The item is throwable, and if it hits a block spawns the block. That is the only way the block can be placed for now, until I add in the item right clicking too anyway). (Also yes some of my code may be inefficient i'll clean that up later I just want this texture to work ) Code below: Main Class: import java.util.Map; import com.rev.entity.CarbonTorchEntity; import com.rev.item.block.CarbonTubeBlockTorch; import com.rev.item.block.CarbonTubeItemTorch; import com.rev.items.tools.*; import com.rev.render.RenderBase; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraftforge.common.util.EnumHelper; @Mod(modid = "carbontubes", version = "1.0") public class CarbonTubes { @SidedProxy(clientSide = "com.rev.render.TorchClient", serverSide = "com.rev.render.RenderBase") public static RenderBase proxy; static ToolMaterial carbonPick = EnumHelper.addToolMaterial("CARBON", 69, 2000, 12F, 2000, 0); static ToolMaterial carbonShov = EnumHelper.addToolMaterial("CARBON", 69, 2000, 12F, 1500, 0); static ToolMaterial carbonA = EnumHelper.addToolMaterial("CARBON", 69, 2000, 12F, 3000, 0); static ToolMaterial carbonH = EnumHelper.addToolMaterial("CARBON", 69, 2000, 12F, 1000, 0); static ToolMaterial carbonSw = EnumHelper.addToolMaterial("CARBON", 69, 2000, 12F, 5000, 0); public static CreativeTabs carbonTools; public static final Item carbonShovel = (new CarbonTubeItemSpade(carbonShov)).setMaxStackSize(1).setUnlocalizedName("carbonSpade").setTextureName("carbontubes:carbonShovel"); public static final Item carbonPickaxe = (new CarbonTubeItemPick(carbonPick)).setMaxStackSize(1).setUnlocalizedName("carbonPick").setTextureName("carbontubes:carbonPick"); public static final Item carbonAxe = (new CarbonTubeItemAxe(carbonA)).setMaxStackSize(1).setUnlocalizedName("carbonAxe").setTextureName("carbontubes:carbonAxe"); public static final Item carbonHoe = (new CarbonTubeItemHoe(carbonH)).setMaxStackSize(1).setUnlocalizedName("carbonHoe").setTextureName("carbontubes:carbonHoe"); public static final Item carbonSword = (new CarbonTubeItemSword(carbonSw)).setMaxStackSize(1).setUnlocalizedName("carbonSword").setTextureName("carbontubes:carbonSword"); public static final Item carbonITorch = (new CarbonTubeItemTorch()).setMaxStackSize(16).setUnlocalizedName("carbonTorch").setTextureName("carbontubes:carbonTorch"); public static final Block carbonTorch = (new CarbonTubeBlockTorch(Material.redstoneLight)).setBlockName("CarbonTorch").setLightLevel(100.0F).setBlockTextureName("carbontubes:carbonTorch");; @EventHandler public void preInit(FMLPreInitializationEvent event) { } @EventHandler public void Init(FMLInitializationEvent event){ registerGame(); registerEntity(); carbonTools = new CreativeTabs("Carbon Tools") { public Item getTabIconItem() { return carbonShovel; } }; carbonShovel.setCreativeTab(carbonTools); carbonPickaxe.setCreativeTab(carbonTools); carbonAxe.setCreativeTab(carbonTools); carbonHoe.setCreativeTab(carbonTools); carbonSword.setCreativeTab(carbonTools); carbonITorch.setCreativeTab(carbonTools); registerLanguage(); proxy.registerRenderThings(); proxy.registerSounds(); } public void registerLanguage() { LanguageRegistry.addName(carbonShovel, "Carbon Shovel"); LanguageRegistry.addName(carbonPickaxe, "Carbon Pickaxe"); LanguageRegistry.addName(carbonAxe, "Carbon Axe"); LanguageRegistry.addName(carbonHoe, "Carbon Hoe"); LanguageRegistry.addName(carbonSword, "Carbon Sword"); LanguageRegistry.addName(carbonITorch, "Carbon Torch"); LanguageRegistry.addName(carbonTorch, "Carbon Torch"); LanguageRegistry.instance().addStringLocalization("itemGroup.Carbon Tools", "en_US", "Carbon Tools"); } public void registerGame() { GameRegistry.registerItem(carbonShovel, "Carbon Shovel"); GameRegistry.registerItem(carbonPickaxe, "Carbon Pickaxe"); GameRegistry.registerItem(carbonAxe, "Carbon Axe"); GameRegistry.registerItem(carbonHoe, "Carbon Hoe"); GameRegistry.registerItem(carbonSword, "Carbon Sword"); GameRegistry.registerItem(carbonITorch, "Carbon Torch"); GameRegistry.registerBlock(carbonTorch, "Carbon Torch"); } public void registerEntity() { EntityRegistry.registerModEntity(CarbonTorchEntity.class, "Carbon Torch", 4, this, 80, 3, true); } } Block Class: import net.minecraft.block.Block; import net.minecraft.block.BlockTorch; import java.util.Random; import javax.swing.Icon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; public class CarbonTubeBlockTorch extends Block { @SideOnly(Side.CLIENT) protected IIcon blockIcon; public CarbonTubeBlockTorch(Material p_i45394_1_) { super(p_i45394_1_); } public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) { return null; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } /** * The type of render function that is called for this block */ public int getRenderType() { return 1; } private boolean func_150107_m(World p_150107_1_, int p_150107_2_, int p_150107_3_, int p_150107_4_) { if (World.doesBlockHaveSolidTopSurface(p_150107_1_, p_150107_2_, p_150107_3_, p_150107_4_)) { return true; } else { Block var5 = p_150107_1_.getBlock(p_150107_2_, p_150107_3_, p_150107_4_); return var5 == Blocks.fence || var5 == Blocks.nether_brick_fence || var5 == Blocks.glass || var5 == Blocks.cobblestone_wall; } } public boolean canPlaceBlockAt(World p_149742_1_, int p_149742_2_, int p_149742_3_, int p_149742_4_) { return p_149742_1_.isBlockNormalCubeDefault(p_149742_2_ - 1, p_149742_3_, p_149742_4_, true) ? true : (p_149742_1_.isBlockNormalCubeDefault(p_149742_2_ + 1, p_149742_3_, p_149742_4_, true) ? true : (p_149742_1_.isBlockNormalCubeDefault(p_149742_2_, p_149742_3_, p_149742_4_ - 1, true) ? true : (p_149742_1_.isBlockNormalCubeDefault(p_149742_2_, p_149742_3_, p_149742_4_ + 1, true) ? true : this.func_150107_m(p_149742_1_, p_149742_2_, p_149742_3_ - 1, p_149742_4_)))); } public int onBlockPlaced(World p_149660_1_, int p_149660_2_, int p_149660_3_, int p_149660_4_, int p_149660_5_, float p_149660_6_, float p_149660_7_, float p_149660_8_, int p_149660_9_) { int var10 = p_149660_9_; if (p_149660_5_ == 1 && this.func_150107_m(p_149660_1_, p_149660_2_, p_149660_3_ - 1, p_149660_4_)) { var10 = 5; } if (p_149660_5_ == 2 && p_149660_1_.isBlockNormalCubeDefault(p_149660_2_, p_149660_3_, p_149660_4_ + 1, true)) { var10 = 4; } if (p_149660_5_ == 3 && p_149660_1_.isBlockNormalCubeDefault(p_149660_2_, p_149660_3_, p_149660_4_ - 1, true)) { var10 = 3; } if (p_149660_5_ == 4 && p_149660_1_.isBlockNormalCubeDefault(p_149660_2_ + 1, p_149660_3_, p_149660_4_, true)) { var10 = 2; } if (p_149660_5_ == 5 && p_149660_1_.isBlockNormalCubeDefault(p_149660_2_ - 1, p_149660_3_, p_149660_4_, true)) { var10 = 1; } return var10; } /** * Ticks the block if it's been scheduled */ public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) { super.updateTick(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_); if (p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_) == 0) { this.onBlockAdded(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_); } } public void onBlockAdded(World p_149726_1_, int p_149726_2_, int p_149726_3_, int p_149726_4_) { if (p_149726_1_.getBlockMetadata(p_149726_2_, p_149726_3_, p_149726_4_) == 0) { if (p_149726_1_.isBlockNormalCubeDefault(p_149726_2_ - 1, p_149726_3_, p_149726_4_, true)) { p_149726_1_.setBlockMetadataWithNotify(p_149726_2_, p_149726_3_, p_149726_4_, 1, 2); } else if (p_149726_1_.isBlockNormalCubeDefault(p_149726_2_ + 1, p_149726_3_, p_149726_4_, true)) { p_149726_1_.setBlockMetadataWithNotify(p_149726_2_, p_149726_3_, p_149726_4_, 2, 2); } else if (p_149726_1_.isBlockNormalCubeDefault(p_149726_2_, p_149726_3_, p_149726_4_ - 1, true)) { p_149726_1_.setBlockMetadataWithNotify(p_149726_2_, p_149726_3_, p_149726_4_, 3, 2); } else if (p_149726_1_.isBlockNormalCubeDefault(p_149726_2_, p_149726_3_, p_149726_4_ + 1, true)) { p_149726_1_.setBlockMetadataWithNotify(p_149726_2_, p_149726_3_, p_149726_4_, 4, 2); } else if (this.func_150107_m(p_149726_1_, p_149726_2_, p_149726_3_ - 1, p_149726_4_)) { p_149726_1_.setBlockMetadataWithNotify(p_149726_2_, p_149726_3_, p_149726_4_, 5, 2); } } this.func_150109_e(p_149726_1_, p_149726_2_, p_149726_3_, p_149726_4_); } public void onNeighborBlockChange(World p_149695_1_, int p_149695_2_, int p_149695_3_, int p_149695_4_, Block p_149695_5_) { this.func_150108_b(p_149695_1_, p_149695_2_, p_149695_3_, p_149695_4_, p_149695_5_); } protected boolean func_150108_b(World p_150108_1_, int p_150108_2_, int p_150108_3_, int p_150108_4_, Block p_150108_5_) { if (this.func_150109_e(p_150108_1_, p_150108_2_, p_150108_3_, p_150108_4_)) { int var6 = p_150108_1_.getBlockMetadata(p_150108_2_, p_150108_3_, p_150108_4_); boolean var7 = false; if (!p_150108_1_.isBlockNormalCubeDefault(p_150108_2_ - 1, p_150108_3_, p_150108_4_, true) && var6 == 1) { var7 = true; } if (!p_150108_1_.isBlockNormalCubeDefault(p_150108_2_ + 1, p_150108_3_, p_150108_4_, true) && var6 == 2) { var7 = true; } if (!p_150108_1_.isBlockNormalCubeDefault(p_150108_2_, p_150108_3_, p_150108_4_ - 1, true) && var6 == 3) { var7 = true; } if (!p_150108_1_.isBlockNormalCubeDefault(p_150108_2_, p_150108_3_, p_150108_4_ + 1, true) && var6 == 4) { var7 = true; } if (!this.func_150107_m(p_150108_1_, p_150108_2_, p_150108_3_ - 1, p_150108_4_) && var6 == 5) { var7 = true; } if (var7) { this.dropBlockAsItem(p_150108_1_, p_150108_2_, p_150108_3_, p_150108_4_, p_150108_1_.getBlockMetadata(p_150108_2_, p_150108_3_, p_150108_4_), 0); p_150108_1_.setBlockToAir(p_150108_2_, p_150108_3_, p_150108_4_); return true; } else { return false; } } else { return true; } } protected boolean func_150109_e(World p_150109_1_, int p_150109_2_, int p_150109_3_, int p_150109_4_) { if (!this.canPlaceBlockAt(p_150109_1_, p_150109_2_, p_150109_3_, p_150109_4_)) { if (p_150109_1_.getBlock(p_150109_2_, p_150109_3_, p_150109_4_) == this) { this.dropBlockAsItem(p_150109_1_, p_150109_2_, p_150109_3_, p_150109_4_, p_150109_1_.getBlockMetadata(p_150109_2_, p_150109_3_, p_150109_4_), 0); p_150109_1_.setBlockToAir(p_150109_2_, p_150109_3_, p_150109_4_); } return false; } else { return true; } } public MovingObjectPosition collisionRayTrace(World p_149731_1_, int p_149731_2_, int p_149731_3_, int p_149731_4_, Vec3 p_149731_5_, Vec3 p_149731_6_) { int var7 = p_149731_1_.getBlockMetadata(p_149731_2_, p_149731_3_, p_149731_4_) & 7; float var8 = 0.15F; if (var7 == 1) { this.setBlockBounds(0.0F, 0.2F, 0.5F - var8, var8 * 2.0F, 0.8F, 0.5F + var8); } else if (var7 == 2) { this.setBlockBounds(1.0F - var8 * 2.0F, 0.2F, 0.5F - var8, 1.0F, 0.8F, 0.5F + var8); } else if (var7 == 3) { this.setBlockBounds(0.5F - var8, 0.2F, 0.0F, 0.5F + var8, 0.8F, var8 * 2.0F); } else if (var7 == 4) { this.setBlockBounds(0.5F - var8, 0.2F, 1.0F - var8 * 2.0F, 0.5F + var8, 0.8F, 1.0F); } else { var8 = 0.1F; this.setBlockBounds(0.5F - var8, 0.0F, 0.5F - var8, 0.5F + var8, 0.6F, 0.5F + var8); } return super.collisionRayTrace(p_149731_1_, p_149731_2_, p_149731_3_, p_149731_4_, p_149731_5_, p_149731_6_); } /** * A randomly called display update to be able to add particles or other items for display */ public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) { int var6 = p_149734_1_.getBlockMetadata(p_149734_2_, p_149734_3_, p_149734_4_); double var7 = (double)((float)p_149734_2_ + 0.5F); double var9 = (double)((float)p_149734_3_ + 0.7F); double var11 = (double)((float)p_149734_4_ + 0.5F); double var13 = 0.2199999988079071D; double var15 = 0.27000001072883606D; if (var6 == 1) { p_149734_1_.spawnParticle("smoke", var7 - var15, var9 + var13, var11, 0.0D, 0.0D, 0.0D); p_149734_1_.spawnParticle("flame", var7 - var15, var9 + var13, var11, 0.0D, 0.0D, 0.0D); } else if (var6 == 2) { p_149734_1_.spawnParticle("smoke", var7 + var15, var9 + var13, var11, 0.0D, 0.0D, 0.0D); p_149734_1_.spawnParticle("flame", var7 + var15, var9 + var13, var11, 0.0D, 0.0D, 0.0D); } else if (var6 == 3) { p_149734_1_.spawnParticle("smoke", var7, var9 + var13, var11 - var15, 0.0D, 0.0D, 0.0D); p_149734_1_.spawnParticle("flame", var7, var9 + var13, var11 - var15, 0.0D, 0.0D, 0.0D); } else if (var6 == 4) { p_149734_1_.spawnParticle("smoke", var7, var9 + var13, var11 + var15, 0.0D, 0.0D, 0.0D); p_149734_1_.spawnParticle("flame", var7, var9 + var13, var11 + var15, 0.0D, 0.0D, 0.0D); } else { p_149734_1_.spawnParticle("smoke", var7, var9, var11, 0.0D, 0.0D, 0.0D); p_149734_1_.spawnParticle("flame", var7, var9, var11, 0.0D, 0.0D, 0.0D); } } } The texture is in my : carbontubes/textures/blocks/carbonTorch.png

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.