Posted May 14, 20169 yr Whenever I use the following code... if(world.getBlockState(BlockPosition).getBlock() == Blocks.standing_sign || world.getBlockState(BlockPosition).getBlock() == Blocks.wall_sign){ } both "world"s produce an error of Cannot resolve symbol "world". What am I doing wrong?
May 14, 20169 yr Author then how do I make an instance of "world" so to say? I'm not too good with the terminology.
May 14, 20169 yr depende on where you need. you need it to get passed in the method where you want to use it. if you dont understand that learn java and come back
May 14, 20169 yr Author yes I understand that I need to do that. Do I need to create a new instance of World (with capital)? or does it need to be something else..
May 14, 20169 yr Author @SubscribeEvent public void onKeyInput(InputEvent.KeyInputEvent event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; if(ExampleMod.keyBindings.isPressed()) { System.out.println("Player's x is" + player.posX); System.out.println("Player's y is" + player.posY); System.out.println("Player's z is" + player.posZ); BlockPos BlockPosition = new BlockPos(player.posX, player.posY, player.posZ); if(world.getBlockState(BlockPosition).getBlock() == Blocks.standing_sign || world.getBlockState(BlockPosition).getBlock() == Blocks.wall_sign){ } } } I'm playing around, trying to read sign data, and right now I'm trying to detect if the sign is at the player's location (I can move it relative to the player). It's in a keyInputEvent (currently) because I have it detect on a keypress.
May 14, 20169 yr Author Here is my new code then for the KeyInputHandler public class KeyInputHandler { @SubscribeEvent public void onKeyInput(TickEvent.ClientTickEvent event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; if(ExampleMod.keyBindings.isPressed()) { BlockPos BlockPosition = new BlockPos(player.posX, player.posY, player.posZ); if(world.getBlockState(BlockPosition).getBlock() == Blocks.standing_sign || world.getBlockState(BlockPosition).getBlock() == Blocks.wall_sign){ } } } } 1) Why use ClientTickEvent? That seems to run more often.. (not just checking on keyinputs, but every tick.) 2) Would you do World world = Minecraft.getMinecraft().theWorld; ?
May 14, 20169 yr Author Okay, but I honestly don't have any clue how to check the event.phase (I'll research ) When I do do World world = Minecraft.getMinecraft().theWorld the .getMinecraft 's symbol isn't resolved....
May 14, 20169 yr Author public class KeyInputHandler { @SubscribeEvent public void onKeyInput(InputEvent.KeyInputEvent event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; World world = new Minecraft.getMinecraft().theWorld(); if(ExampleMod.keyBindings.isPressed()) { BlockPos BlockPosition = new BlockPos(player.posX, player.posY, player.posZ); if(world.getBlockState(BlockPosition).getBlock() == Blocks.standing_sign || world.getBlockState(BlockPosition).getBlock() == Blocks.wall_sign){ } } } } This is the code I have In it, the ".getMinecraft()" makes an error "cannot resolve symbol" I honestly don't know how to fix that. Do you?
May 14, 20169 yr Author Never mind. I'm really slow sometimes. Disregard that last post..... Heres the working code... public class KeyInputHandler { @SubscribeEvent public void onKeyInput(InputEvent.KeyInputEvent event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; World world = Minecraft.getMinecraft().theWorld; if(ExampleMod.keyBindings.isPressed()) { BlockPos BlockPosition = new BlockPos(player.posX, player.posY, player.posZ); if(world.getBlockState(BlockPosition).getBlock() == Blocks.standing_sign || world.getBlockState(BlockPosition).getBlock() == Blocks.wall_sign){ System.out.println("FOUDN SIGN YESSSSSSSSSSSSSSS"); } } } }
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.