Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

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?

  • Author

then how do I make an instance of "world" so to say?

I'm not too good with the terminology.

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

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

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

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

  • Author

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

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

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

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.