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

As soon as I figure out the problem I suggested in the other post, I will face another problem - how to make the player move?

 

I imagine there is a singleton object that represents player, which will allow me to interact with it. Am I right? How do I get my hands on the object?

 

Once I get my hands on the object, I also imagine there are methods to allow me to teleport player instantly to given coordinates. But that's not what I would like to do that. I would like the player to actually move to the position. For the start, let's consider only flat platform the player will be moving on. In the future, I suppose I will teach the bot that controls the player to overcome some obstacles.

 

 

Maybe I should have started with different question. Is it possible to write a bot that will "take over" control over player (the one from which perspective I am looking) and make him do something? If positive, how to do some basic stuff like moving the player?

 

Thanks in advance for any help provided.

  • Author

As soon as I figure out the problem I suggested in the other post, I will face another problem - how to make the player move?

 

I imagine there is a singleton object that represents player, which will allow me to interact with it. Am I right? How do I get my hands on the object?

 

Once I get my hands on the object, I also imagine there are methods to allow me to teleport player instantly to given coordinates. But that's not what I would like to do that. I would like the player to actually move to the position. For the start, let's consider only flat platform the player will be moving on. In the future, I suppose I will teach the bot that controls the player to overcome some obstacles.

 

 

Maybe I should have started with different question. Is it possible to write a bot that will "take over" control over player (the one from which perspective I am looking) and make him do something? If positive, how to do some basic stuff like moving the player?

 

Thanks in advance for any help provided.

The singleotn you are talking about is Minecraft#thePlayer.

 

Your player (you) is controlled by ClientPlayerController (not sure naming).

 

To understand how the process works you can lookup how Minecraft handles input movement keys and sends those moves to server va packets.

1.7.10 is no longer supported by forge, you are on your own.

The singleotn you are talking about is Minecraft#thePlayer.

 

Your player (you) is controlled by ClientPlayerController (not sure naming).

 

To understand how the process works you can lookup how Minecraft handles input movement keys and sends those moves to server va packets.

1.7.10 is no longer supported by forge, you are on your own.

  • Author

OrangeVillager91, Ernio:

Thank you, I appreciate your replies.

 

I already resolved problem I was referring to in the first post in this thread, and now I intend to do the same with the current one. I did a thorough google search for the topic of ClientPlayerController but no luck so far.

 

I studied a bit more the game mechanics (still lot to catch up though) and find out that there is always client/server relationship. But I also noticed that people talk A LOT about 'their GUI'. I understand meaning of the word, but I fail the grasp the concept in the context of it.

 

Let's assume I want my mod to take control over player and move him one block ahead, move not teleport. What is the approach? Is it something like this?

  • I tell the (local - I consider having the mod operational only for single player, for now) server I move my player block ahead (How will I do that? Where should I look for functions that can do that? More specifically please :-) )
  • I tell GUI that I moved the player? (if positive, how do I even access the GUI and tell it to do such a thing)

 

Or - there is no need to notify GUI about the change, minecraft will do that on its own?

 

One more thing that crossed my mind is that people talking about GUI are actually talking about their HUD part of the UI that player sees and update that GUI?

 

Thanks in advance for your further assistance.

  • Author

OrangeVillager91, Ernio:

Thank you, I appreciate your replies.

 

I already resolved problem I was referring to in the first post in this thread, and now I intend to do the same with the current one. I did a thorough google search for the topic of ClientPlayerController but no luck so far.

 

I studied a bit more the game mechanics (still lot to catch up though) and find out that there is always client/server relationship. But I also noticed that people talk A LOT about 'their GUI'. I understand meaning of the word, but I fail the grasp the concept in the context of it.

 

Let's assume I want my mod to take control over player and move him one block ahead, move not teleport. What is the approach? Is it something like this?

  • I tell the (local - I consider having the mod operational only for single player, for now) server I move my player block ahead (How will I do that? Where should I look for functions that can do that? More specifically please :-) )
  • I tell GUI that I moved the player? (if positive, how do I even access the GUI and tell it to do such a thing)

 

Or - there is no need to notify GUI about the change, minecraft will do that on its own?

 

One more thing that crossed my mind is that people talking about GUI are actually talking about their HUD part of the UI that player sees and update that GUI?

 

Thanks in advance for your further assistance.

1. GUI = Graphical user interface, in this case (MC) it rather means HUD. SO when talking about GUI we are (99% times) talk about what is rendered FLAT on TOP of screen.

 

2. "google search for the topic of ClientPlayerController but no luck so far" - I told you, name may be different. Regarding what is responsible for controlling players:

* PlayerControllerMP (actions)

* NetHandlerPlayClient (sending/receiving packets)

* MovementInput sub-class (values of client input actions, such as if you are moving forward)

* EntityPlayerSP (all packeting, e.g: look at : onUpdateWalkingPlayer()).

 

Some stuff: http://mcforge.readthedocs.org/en/latest/concepts/sides/

 

And finally - learn to use your IDE. As of 1.9+ MC source is so RIDICULOUSLY beutiful! Just sid and read, look for "move" and "input" keywords, callbacks, hierarchy. Everything is there under very nice names.

 

Aditional note; there is difference between moving player and making a path for him, for sevond one you need to lookup pathfinding algorithms - e.g Zombies. Note that pathes should not be further than 32, or it will start to get heavy on performance (for longer distance you can use multiple checkpoints).

1.7.10 is no longer supported by forge, you are on your own.

1. GUI = Graphical user interface, in this case (MC) it rather means HUD. SO when talking about GUI we are (99% times) talk about what is rendered FLAT on TOP of screen.

 

2. "google search for the topic of ClientPlayerController but no luck so far" - I told you, name may be different. Regarding what is responsible for controlling players:

* PlayerControllerMP (actions)

* NetHandlerPlayClient (sending/receiving packets)

* MovementInput sub-class (values of client input actions, such as if you are moving forward)

* EntityPlayerSP (all packeting, e.g: look at : onUpdateWalkingPlayer()).

 

Some stuff: http://mcforge.readthedocs.org/en/latest/concepts/sides/

 

And finally - learn to use your IDE. As of 1.9+ MC source is so RIDICULOUSLY beutiful! Just sid and read, look for "move" and "input" keywords, callbacks, hierarchy. Everything is there under very nice names.

 

Aditional note; there is difference between moving player and making a path for him, for sevond one you need to lookup pathfinding algorithms - e.g Zombies. Note that pathes should not be further than 32, or it will start to get heavy on performance (for longer distance you can use multiple checkpoints).

1.7.10 is no longer supported by forge, you are on your own.

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.