Jump to content

Recommended Posts

Posted

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?

Posted

@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.

Posted

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; ?

Posted

Okay, but I honestly don't have any clue how to check the event.phase (I'll research :P)

 

When I do do World world = Minecraft.getMinecraft().theWorld the .getMinecraft 's symbol isn't resolved....

Posted

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?

Posted

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.