Posted November 20, 201212 yr i want to know how how to change the orientation of my meta data blocks by on where i stand when placing them does anyone know how to do it here is my block file package TheCivilizationMod; import java.util.List; import net.minecraft.src.Block; import net.minecraft.src.CreativeTabs; import net.minecraft.src.EntityLiving; import net.minecraft.src.ItemStack; import net.minecraft.src.Material; import net.minecraft.src.MathHelper; import net.minecraft.src.World; import net.minecraftforge.common.ForgeDirection; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; public class glass extends Block{ public glass(int id, int texture){ super(id, texture, Material.rock); this.setCreativeTab(CreativeTabs.tabBlock); this.setRequiresSelfNotify(); } public String getTextureFile(){ return "/Mod/MultiBlocks.png"; } public int getBlockTextureFromSideAndMetadata(int side, int meta) { switch(meta) { case 0: switch(side) { case 0: return 22; case 1: return 22; case 2: return 22; case 3: return 0; default: return 22; } case 1: switch(side) { case 0: return 23; case 1: return 23; case 2: return 23; case 3: return 0; default: return 23; } return side; } @Override public int damageDropped(int meta){ return meta; } @SideOnly(Side.CLIENT) public void getSubBlocks(int par1, CreativeTabs tab, List list){ for(int NumOfMets=0; NumOfMets<2; NumOfMets++){ list.add(new ItemStack(par1, 1, NumOfMets)); } } } My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
November 21, 201212 yr You need a TileEntity to do that. Basically you have to make a simple variable like "orientation" where to store the orientation. After that you should use a ISimpleBlockRender too to change the actual block orientation depending on TileEntity data. I don't know if you can find any readytouse code, you may want to check out UE wich is public in github.
November 21, 201212 yr Author You need a TileEntity to do that. Basically you have to make a simple variable like "orientation" where to store the orientation. After that you should use a ISimpleBlockRender too to change the actual block orientation depending on TileEntity data. I don't know if you can find any readytouse code, you may want to check out UE wich is public in github. no sorry cant find anything that works in there My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
November 21, 201212 yr if your not using all your meta data you could use on block placed by, get the players angle, and then set the meta += the angle. Though that only work if you use 4 meta data per block for normal rotation, 6 if doing up and down. http://i577.photobucket.com/albums/ss215/bobstrong/ModBannerMed.png[/img]
November 22, 201212 yr You don't need a TileEntity. In fact, that's more downsides than anything else... Like DarkGuardsman said, you get the players rotation. But that's a float, and you can't use that on MetaData. I have a block that can have horizontal rotation, which depends pretty much on the player's Yaw angle. So I have this function on my Helper class: public static int yaw2dir(float yaw){ int dir = (MathHelper.floor_double((double)(yaw * 4.0F / 360.0F) + 0.5D) & 3)+3; if(dir > 4) dir -= 4; switch(dir){ case 1: return dirZPos; case 2: return dirXNeg; case 3: return dirZNeg; case 4: return dirXPos; default: return 0; } } When the block is placed, I call that function with player.rotationYaw, and it returns the block's orientation (facing the player). I then proceed to set that value as the block's Metadata. It is later used by my block's renderer to decide what texture to use on each face. Did I help? Hitting 'Thank You' would be appreciated. Soon, the lost city will rise from the bottom of the ocean, and spread it's technology across Minecraft.
November 22, 201212 yr Author what are the EQUAL to: dirZPos; dirXPos; dirZNeg; dirXNeg; My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
November 25, 201212 yr I'm not sure... that why I have them on constants instead of directly using the value They should be pretty easy to figure out though, at least they were to me... Did I help? Hitting 'Thank You' would be appreciated. Soon, the lost city will rise from the bottom of the ocean, and spread it's technology across Minecraft.
November 28, 201212 yr Author its not for me im new to ava/modding My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
November 28, 201212 yr If you're still having problems with this, perhaps try looking at the vanilla log block code, from what I can tell, you're trying to do exactly the same thing as the vanilla log does
November 28, 201212 yr I'm trying to figure out how to do this also. Why isn't it in the tutorials? I made the night vision mining hats mod. http://www.minecraftforum.net/topic/1830713-152forge-night-vision-mining-hats/
November 29, 201212 yr Author If you're still having problems with this, perhaps try looking at the vanilla log block code, from what I can tell, you're trying to do exactly the same thing as the vanilla log does no the way that does it is by a single textured block with multiple side (only 1 texture) i have multiple blocks with the metadata each with a different texture. My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
December 2, 201212 yr Author bump My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
December 8, 201212 yr Author bump My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
December 8, 201212 yr look at the vanilla furnace code, that changes the meta data of the block dependent on where the player is facing(which i think is what you are trying to achieve ) http://www.mcportcentral.co.za/add_images/mcportcentral-banner.jpg[/img]
December 9, 201212 yr Author look at the vanilla furnace code, that changes the meta data of the block dependent on where the player is facing(which i think is what you are trying to achieve ) i have but that does it through textures but i have to do mine without having to chage the texture because its a meta data block that changes oreintation each block has a different texture My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
December 9, 201212 yr ah, i see what you mean. I tried to do that my self, but i found it is far easier to use several meta-data blocks as the orientation. However, i tried creating a tile entity and using nbt tagging to save the texture for each block. I never got it to work, but im quite new to modding so you may have a better chance http://www.mcportcentral.co.za/add_images/mcportcentral-banner.jpg[/img]
December 11, 201212 yr Author same im going to need a different method im also new to modding My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
December 12, 201212 yr Author bump My youtube channel for forge tutorials: http://www.youtube.com/user/TheGrovesyProject101?feature=mhee if i helped please press thank you
December 14, 201212 yr i don't think it is as complex as it seems, so i wrote out a little example below. This probably wont work straight off, but it may give you something to start on . try declaring an int for the orientation, then 6 arrays, one for each block side. int orientation; int side1[]; int side2[]; // etc. then write out the arrays so that array[orientation] = the texture icon you want. int side1[] = {1,1,1,0}; int side2[] = {1,1,0,1}; //etc. then use getBlockTextureFromSide public int getBlockTextureFromSide(int side){ switch(side){ case 1: return side1[orientation]; break; case 2: return side2[orientation]; break; //etc. } } then use this tutorial to help you save the variable orientation so that it is not reset when the client is closed. http://www.minecraftforge.net/wiki/How_to_use_NBT_Tag_Compound http://www.mcportcentral.co.za/add_images/mcportcentral-banner.jpg[/img]
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.