Posted July 31, 201312 yr Hey guys. It's me. Again! Last time I asked for help, I didn't get any help, so once again. I need to make a function that will check where the player is pointing at(south, Southeast, east and so on...) and to check which metadata of the block is placed. I can't explain so well with what do I need help. So here is the thing for one block: first and the second metadata of blocks are regular blocks. They have no special things. So the third metadata has an arrow texture on top of it pointing at north, the fourth should be pointing at Northwest and so on. I have made all these textures. So if the player places the block with the third metadata while his pointing at west, the metadata placed on the world will be fifth one or number 4. Can you help me guys, please! If you don't understand what I just have written then I'll explain it again.
August 1, 201312 yr I'm not really sure how you're doing this, but I tested out a command to return the f: value in the F3 menu (Tells if you're facing north/south/east/west) I haven't done much with blocks, so I'm not really sure if its possible to get the username or EntityPlayer of the person who placed it. //ICommandSender is used in commands... Which is what I tested this out on. //EntityPlayer.rotationYaw is what contains the direction EntityPlayer player = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(icommandsender.getCommandSenderName()); icommandsender.sendChatToPlayer(ChatMessageComponent.func_111066_d(String.valueOf(player.rotationYaw))); And that should send a message of a value between -359 and +359... in order to make sure you get the right value just do something like float yaw = player.rotationYaw; if(yaw < 0) yaw += 360; Anyways, the values would be 0 = South 90 = West 180 = North 270 = East And you should be able to figure out the half-directions from there.
August 1, 201312 yr Author yes, I am able to figure the half directions, but can you please paste an example code, beacuse I get stuck with some parts...
August 1, 201312 yr You can get the direction and save it into the metadata with this code : int metadata = par1World.getBlockMetadata(par2, par3, par4); int playerDirection = MathHelper.floor_double((double)((par5EntityLivingBase.rotationYaw * 4F) / 360F) + 0.5D) & 3; if(metadata == 0) { switch(playerDirection) { case 0: metadata += 2; break; //South Facing Block = meta 2 case 1: metadata += 3; break; //West Facing Block = meta 3 case 2: metadata += 0; break; //North Facing Block = meta 0 case 3: metadata += 1; break; //East Facing Block = meta 1 } } par1World.setBlockMetadataWithNotify(par2, par3, par4, metadata, 3); } Then you just have to
August 2, 201312 yr Ok.. you need to have patience. everyone doesn't know everything. But once in a while the perfect smarty pants comes along and makes your life much easier
August 2, 201312 yr Author I know that, I just asked that because I thought that he didn't write something at the end of his post. That's all. I have patience.
August 3, 201312 yr Author I tried, but it doesn't work. Mybe I should put it in another function's body?
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.