
Vemahk20
Members-
Posts
33 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
"Tucker did it"
Vemahk20's Achievements

Tree Puncher (2/8)
1
Reputation
-
[1.6.2]Changing a Specific Block's (x,y,z) Texture
Vemahk20 replied to Vemahk20's topic in Modder Support
I didn't forget it, i was just hoping that there would be a way around it without using a tile entity, which there appears not to... Thanks anyway -
Hi, I'm trying to create a camouflage block just for the sake of knowing how its done and I've gotten to the point where the block changes to match that of what's around it but when that block texture changes all of the blocks of that type change with it so I was wondering if there was a specific function that changed a block's texture at a x,y,z coordinates. Thanks!
-
Ok, so i have my container working mostly, only when a item/block is shift clicked out of the 6 slots of the repair station, that item is doubled and then put in my inv... Its probably just a stupid mistake but ive looked the program over a few times and i can't seem to find it. Any help would be nice, here's my container code package RS; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerRStation extends Container { protected TileEntityRStation tileEntity; public ContainerRStation (InventoryPlayer inventoryPlayer, TileEntityRStation te){ tileEntity = te; addSlotToContainer(new Slot(tileEntity, 0,25,34)); addSlotToContainer(new Slot(tileEntity, 1,43,34)); addSlotToContainer(new Slot(tileEntity, 2,61,34)); addSlotToContainer(new Slot(tileEntity, 3,79,34)); addSlotToContainer(new Slot(tileEntity, 4,117,34)); addSlotToContainer(new Slot(tileEntity, 5,135,34)); bindPlayerInventory(inventoryPlayer); } @Override public boolean canInteractWith(EntityPlayer player) { return tileEntity.isUseableByPlayer(player); } protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 9; j++) { addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } } for (int i = 0; i < 9; i++) { addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142)); } } @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot) { ItemStack stack = null; Slot slotObject = (Slot) inventorySlots.get(slot); if (slotObject != null && slotObject.getHasStack()) { ItemStack stackInSlot = slotObject.getStack(); stack = stackInSlot.copy(); if (slot < 6) { if (!this.mergeItemStack(stackInSlot, 0, 42, true)) { return null; } else if (!this.mergeItemStack(stackInSlot, 0, 6, false)) { return null; } if (stackInSlot.stackSize == 0) { slotObject.putStack(null); } else { slotObject.onSlotChanged(); } if (stackInSlot.stackSize == stack.stackSize) { return null; } slotObject.onPickupFromSlot(player, stackInSlot); } return stack; } }
-
Thanks
-
I should have been more clear, the IN GAME name's of all of my items show as item.<ITEM UNLOCALIZED NAME>.name... sorry if i wasnt clear...
-
All my names in my mod are like, item.axeLapis.name and after reading a few tutorials i find nothing wrong Main Mod File: package ExtraTools; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.common.Configuration; import net.minecraftforge.common.EnumHelper; import ExtraTools.Items.ETAxe; import ExtraTools.Items.ETHoe; import ExtraTools.Items.ETItem; import ExtraTools.Items.ETPick; import ExtraTools.Items.ETSpade; import ExtraTools.Items.ETSword; import ExtraTools.Reference.*; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PreInit; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid = Reference.MOD_ID, name=Reference.MOD_NAME, version=Reference.MOD_V) @NetworkMod(clientSideRequired=true) public class mod_ExtraTools { @Instance(Reference.MOD_ID) public static mod_ExtraTools instance; @EventHandler public void preInit(FMLPreInitializationEvent preevt) { preevt.getModMetadata().version = Reference.MOD_V; preevt.getModMetadata().name = Reference.MOD_NAME; preevt.getModMetadata().authorList.add("Vemahk20"); preevt.getModMetadata().modId = Reference.MOD_ID; Configuration config = new Configuration(preevt.getSuggestedConfigurationFile()); config.load(); for(int i=0; i<ItemIDs.ids.length-1; i++){ ItemIDs.ids[i] = config.getItem(ItemIDs.names[i], ItemIDs.Dids[i]).getInt(); } config.save(); } @EventHandler public void load(FMLInitializationEvent event) { craft(); smelt(); naming(); registering(); } public void craft(){ GameRegistry.addRecipe(new ItemStack(lapisBar, 2), new Object[] {"LLL", "LLL", Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4)}); GameRegistry.addRecipe(new ItemStack(redstoneBar), new Object[] {"RRR", "RRR", 'R', Item.redstone}); //Lapis Tools GameRegistry.addRecipe(new ItemStack(lapisPickaxe), new Object[] {"LLL", " S ", " S ", 'L', lapisBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(lapisAxe), new Object[] {" LL", " SL", " S ", 'L', lapisBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(lapisAxe), new Object[] {"LL ", "LS ", " S ", 'L', lapisBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(lapisSpade), new Object[] {" L ", " S ", " S ", 'L', lapisBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(lapisSword), new Object[] {" L ", " L ", " S ", 'L', lapisBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(lapisHoe), new Object[] {"LL ", " S ", " S ", 'L', lapisBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(lapisHoe), new Object[] {" LL", " S ", " S ", 'L', lapisBar, 'S', Item.stick}); //Redstone Tools GameRegistry.addRecipe(new ItemStack(redstonePickaxe), new Object[] {"RRR", " S ", " S ", 'R', redstoneBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(redstoneAxe), new Object[] {" RR", " SR", " S ", 'R', redstoneBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(redstoneAxe), new Object[] {"RR ", "RS ", " S ", 'R', redstoneBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(redstoneSpade), new Object[] {" R ", " S ", " S ", 'R', redstoneBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(redstoneSword), new Object[] {" R ", " R ", " S ", 'R', redstoneBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(redstoneHoe), new Object[] {"RR ", " S ", " S ", 'R', redstoneBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(redstoneHoe), new Object[] {" RR", " S ", " S ", 'R', redstoneBar, 'S', Item.stick}); //Emerald GameRegistry.addRecipe(new ItemStack(emeraldPickaxe), new Object[] {"EEE", " S ", " S ", 'E', emeraldBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(emeraldAxe), new Object[] {" EE", " SE", " S ", 'E', emeraldBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(emeraldAxe), new Object[] {"EE ", "ES ", " S ", 'E', emeraldBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(emeraldSpade), new Object[] {" E ", " S ", " S ", 'E', emeraldBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(emeraldSword), new Object[] {" E ", " E ", " S ", 'E', emeraldBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(emeraldHoe), new Object[] {"EE ", " S ", " S ", 'E', emeraldBar, 'S', Item.stick}); GameRegistry.addRecipe(new ItemStack(emeraldHoe), new Object[] {" EE", " S ", " S ", 'E', emeraldBar, 'S', Item.stick}); } public void smelt(){ GameRegistry.addSmelting(Item.emerald.itemID, new ItemStack(emeraldBar), 2.0F); } public void naming(){ //Lapis LanguageRegistry.addName(lapisBar, "Lapis Bar"); LanguageRegistry.addName(lapisPickaxe, "Lapis Pickaxe"); LanguageRegistry.addName(lapisAxe, "Lapis Axe"); LanguageRegistry.addName(lapisSpade, "Lapis Shovel"); LanguageRegistry.addName(lapisSword, "Lapis Sword"); LanguageRegistry.addName(lapisHoe, "Lapis Hoe"); //Redstone LanguageRegistry.addName(redstoneBar, "Redstone Bar"); LanguageRegistry.addName(redstonePickaxe, "Redstone Pickaxe"); LanguageRegistry.addName(redstoneAxe, "Redstone Axe"); LanguageRegistry.addName(redstoneSpade, "Redstone Shovel"); LanguageRegistry.addName(redstoneSword, "Redstone Sword"); LanguageRegistry.addName(redstoneHoe, "Redstone Hoe"); //Emerald LanguageRegistry.addName(emeraldBar, "Emerald Bar"); LanguageRegistry.addName(emeraldPickaxe, "Emerald Pickaxe"); LanguageRegistry.addName(emeraldAxe, "Emerald Axe"); LanguageRegistry.addName(emeraldSpade, "Emerald Shovel"); LanguageRegistry.addName(emeraldSword, "Emerald Sword"); LanguageRegistry.addName(emeraldHoe, "Emerald Hoe"); } public void registering(){ //Lapis GameRegistry.registerItem(lapisBar, "Lapis Bar"); GameRegistry.registerItem(lapisPickaxe, "Lapis Pickaxe"); GameRegistry.registerItem(lapisAxe, "Lapis Axe"); GameRegistry.registerItem(lapisSpade, "Lapis Shovel"); GameRegistry.registerItem(lapisSword, "Lapis Sword"); GameRegistry.registerItem(lapisHoe, "Lapis Hoe"); //Redstone GameRegistry.registerItem(redstoneBar, "Redstone Bar"); GameRegistry.registerItem(redstonePickaxe, "Redstone Pickaxe"); GameRegistry.registerItem(redstoneAxe, "Redstone Axe"); GameRegistry.registerItem(redstoneSpade, "Redstone Shovel"); GameRegistry.registerItem(redstoneSword, "Redstone Sword"); GameRegistry.registerItem(redstoneHoe, "Redstone Hoe"); //Emerald GameRegistry.registerItem(emeraldBar, "Emerald Bar"); GameRegistry.registerItem(emeraldPickaxe, "Emerald Pickaxe"); GameRegistry.registerItem(emeraldAxe, "Emerald Axe"); GameRegistry.registerItem(emeraldSpade, "Emerald Shovel"); GameRegistry.registerItem(emeraldSword, "Emerald Sword"); GameRegistry.registerItem(emeraldHoe, "Emerald Hoe"); } //Tool Materials public static final EnumToolMaterial lapis = EnumHelper.addToolMaterial("Lapis", 2, 150, 6.5F, 2, 12); public static final EnumToolMaterial redstone = EnumHelper.addToolMaterial("Redstone", 2, 125, 7.5F, 3, 15); public static final EnumToolMaterial emerald = EnumHelper.addToolMaterial("Emerald", 2, 1024, 8F, 5, 16); //Lapis public static final Item lapisBar = (new ETItem(ItemIDs.ids[0], 0)).setUnlocalizedName("barLapis"); public static final Item lapisPickaxe = (new ETPick(ItemIDs.ids[1], lapis, 1)).setUnlocalizedName("pickLapis"); public static final Item lapisAxe = (new ETAxe(ItemIDs.ids[2], lapis, 2)).setUnlocalizedName("axeLapis"); public static final Item lapisSpade = (new ETSpade(ItemIDs.ids[3], lapis, 3)).setUnlocalizedName("shovelLapis"); public static final Item lapisSword = (new ETSword(ItemIDs.ids[4], lapis, 4)).setUnlocalizedName("swordLapis"); public static final Item lapisHoe = (new ETHoe(ItemIDs.ids[5], lapis, 5)).setUnlocalizedName("tillerLapis"); //Redstone public static final Item redstoneBar = (new ETItem(ItemIDs.ids[6], 6)).setUnlocalizedName("barRedstone"); public static final Item redstonePickaxe = (new ETPick(ItemIDs.ids[7], redstone, 7)).setUnlocalizedName("pickaxeRedstone"); public static final Item redstoneAxe = (new ETAxe(ItemIDs.ids[8], redstone, ).setUnlocalizedName("axeRedstone"); public static final Item redstoneSpade = (new ETSpade(ItemIDs.ids[9], redstone, 9)).setUnlocalizedName("shovelRedstone"); public static final Item redstoneSword = (new ETSword(ItemIDs.ids[10], redstone, 10)).setUnlocalizedName("swordRedstone"); public static final Item redstoneHoe = (new ETHoe(ItemIDs.ids[11], redstone, 11)).setUnlocalizedName("tillerRedstone"); //Emerald public static final Item emeraldBar = (new ETItem(ItemIDs.ids[12], 12)).setUnlocalizedName("barEmerald"); public static final Item emeraldPickaxe = (new ETPick(ItemIDs.ids[13], emerald, 13)).setUnlocalizedName("pickaxeEmerald"); public static final Item emeraldAxe = (new ETAxe(ItemIDs.ids[14], emerald, 14)).setUnlocalizedName("axeEmerald"); public static final Item emeraldSpade = (new ETSpade(ItemIDs.ids[15], emerald, 15)).setUnlocalizedName("shovelEmerald"); public static final Item emeraldSword = (new ETSword(ItemIDs.ids[16], emerald, 16)).setUnlocalizedName("swordEmerald"); public static final Item emeraldHoe = (new ETHoe(ItemIDs.ids[17], emerald, 17)).setUnlocalizedName("tillerEmerald"); } Plz help me
-
It has nothing to do with your block class, you simple lack a line of code in your load() in the mail class. put this line of code in the load void MinecraftForge.setBlockHarvestLevel(OREBLOCK "TOOL", HARVESTLVL); ex: MinecraftForge.setBlockHarvestLevel(oreJuli, "pickaxe", 2);
-
I like the idea for that, and i actually planned on using that for one of my machines in the future but if there is a problem then i would like to know about it . But what i was planning on doing was in the smeltItem() void in the tile entity where it added one to the itemstack in slot 2, i was going to put a random int there and if(randint == soandso){smelt}. If that didnt or doesnt worked, then im stumped
-
I have no idea how this works in truth... i tried debuging with adding a switch that included the metavalue but it kept changing.. first it was 5, then 0, then 2... there are some times where programming makes me hate it -.-
-
I thought that the 2 variables on the genIcon() was the side number and the metadata value
-
What's funny is i just did that... after looking at what i said, but when i copied the script, it still didnt work... ive came to the conclusion that i really screwed something up when updating... package IndustrialBreakout.Machines; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import IndustrialBreakout.*; import IndustrialBreakout.TileEntity.*; public class BlockIBMachineRefiner extends BlockContainer { /** * Is the random generator used by refiner to drop the inventory contents in random directions. */ private Random refinerRand = new Random(); /** True if this is an active refiner, false if idle */ private final boolean isActive; /** * This flag is used to prevent the refiner inventory to be dropped upon block removal, is used internally when the * refiner block changes from idle to active and vice-versa. */ private static boolean keepRefinerInventory = false; public BlockIBMachineRefiner(int par1, boolean par2) { super(par1, Material.rock); this.isActive = par2; } /** * Returns the ID of the items to drop on destruction. */ public int idDropped(int par1, Random par2Random, int par3) { return mod_IndustrialBreakout.machineRefiner.blockID; } /** * Called whenever the block is added into the world. Args: world, x, y, z */ public void onBlockAdded(World par1World, int par2, int par3, int par4) { super.onBlockAdded(par1World, par2, par3, par4); this.setDefaultDirection(par1World, par2, par3, par4); } /** * set a blocks direction */ private void setDefaultDirection(World par1World, int par2, int par3, int par4) { if (!par1World.isRemote) { int var5 = par1World.getBlockId(par2, par3, par4 - 1); int var6 = par1World.getBlockId(par2, par3, par4 + 1); int var7 = par1World.getBlockId(par2 - 1, par3, par4); int var8 = par1World.getBlockId(par2 + 1, par3, par4); byte var9 = 3; if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) { var9 = 3; } if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) { var9 = 2; } if (Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) { var9 = 5; } if (Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) { var9 = 4; } par1World.setBlockMetadataWithNotify(par2, par3, par4, var9, 2); } } /** * Called upon block activation (right click on the block.) */ public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { if (world.isRemote) { return true; } else { player.openGui(mod_IndustrialBreakout.instance, 3, world, x, y, z); } return true; } /** * Returns a new instance of a block's tile entity class. Called on placing the block. */ public TileEntity createNewTileEntity(World par1World) { return new TileEntityRefiner(); } /** * Called when the block is placed in the world. */ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { int l = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if (l == 0) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); } if (l == 1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); } if (l == 2) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); } if (l == 3) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); } if (par6ItemStack.hasDisplayName()) { ((TileEntityFurnace)par1World.getBlockTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); } } /** * ejects contained items into the world, and notifies neighbours of an update, as appropriate */ public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { if (!keepRefinerInventory) { TileEntityRefiner tileentityrefiner = (TileEntityRefiner)par1World.getBlockTileEntity(par2, par3, par4); if (tileentityrefiner != null) { for (int j1 = 0; j1 < tileentityrefiner.getSizeInventory(); ++j1) { ItemStack itemstack = tileentityrefiner.getStackInSlot(j1); if (itemstack != null) { float f = this.refinerRand.nextFloat() * 0.8F + 0.1F; float f1 = this.refinerRand.nextFloat() * 0.8F + 0.1F; float f2 = this.refinerRand.nextFloat() * 0.8F + 0.1F; while (itemstack.stackSize > 0) { int k1 = this.refinerRand.nextInt(21) + 10; if (k1 > itemstack.stackSize) { k1 = itemstack.stackSize; } itemstack.stackSize -= k1; EntityItem entityitem = new EntityItem(par1World, (double)((float)par2 + f), (double)((float)par3 + f1), (double)((float)par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); if (itemstack.hasTagCompound()) { entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); } float f3 = 0.05F; entityitem.motionX = (double)((float)this.refinerRand.nextGaussian() * f3); entityitem.motionY = (double)((float)this.refinerRand.nextGaussian() * f3 + 0.2F); entityitem.motionZ = (double)((float)this.refinerRand.nextGaussian() * f3); par1World.spawnEntityInWorld(entityitem); } } } par1World.func_96440_m(par2, par3, par4, par5); } } super.breakBlock(par1World, par2, par3, par4, par5, par6); } @SideOnly(Side.CLIENT) private Icon[] icons; @SideOnly(Side.CLIENT) public void registerIcons(IconRegister ir){ icons = new Icon[3]; icons[0] = ir.registerIcon("IndustrialBreakout:9"); icons[1] = ir.registerIcon("IndustrialBreakout:10"); icons[2] = ir.registerIcon("IndustrialBreakout:18"); } @SideOnly(Side.CLIENT) public Icon getIcon(int side, int metadata){ switch(side) { case 0: return icons[1]; case 1: return icons[1]; case 3: return icons[2]; default: return icons[0]; } } } that's the code of one of my machines if you find something royally messed up with it plz point it out
-
Alright, so in updating my mod to 1.5.2, everything went fine and smooth until I played the game, and when i placed a machine that was supposed to face the player, there was a set direction to it... If there is anyone who can help me out with a piece of code then it would be appreciated
-
Ah... Well i am not going to screw with nether ores or end ores so i woudn't need those.. I am going to switch styles of that code to see if it helps, but i really dont see much of a difference so... Yeah...
-
Ah, you see, we kind of did ours similarly, i just didnt want to write out all those for loops. Also, i have a question. What is the point of calling the generateNether() and generateEnd() if there is nothing in them?
-
Lol, tutorials make no since to me, so i just pick up on certain things from browsing the forums and that is what i got . No help then?