Posted November 6, 20178 yr Hi. I have a custom inventory for a player and render players for it, ricently i noticed that I'm a retard and forgot to notify the other clients that the entity has some stuff in there side inv. Any good ways to do this? The inv is made via the Capability system and works pretty good, but I'm a confused on how to make the detection of a player nearby and not overwhelm them with update packets. Did not find any best practices to do so. Please advice :c
November 6, 20178 yr This piece of the official documentation, including the links, might help you: http://mcforge.readthedocs.io/en/latest/datastorage/capabilities/#synchronizing-data-with-clients Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
November 6, 20178 yr Author 30 minutes ago, larsgerrits said: This piece of the official documentation, including the links, might help you: http://mcforge.readthedocs.io/en/latest/datastorage/capabilities/#synchronizing-data-with-clients I'm actually good with it and already using it, with syncing and etc. My problem is more of, how to sync slots that i need to render more effectively. I can serialize just a portion of the capability and just send it to Client side ,and we have sendNear for the messages, but I'm thinking on how to do this more optimized. More of in global perspective if (entity is in sight){sync} but without raytracing - because of obvious reasons or constant range scanning on tick - also because of obvious reasons Edited November 6, 20178 yr by Hoijima
November 7, 20178 yr On the server side, you can get the WorldServer (cast to it if needed) from the player and get the EntityTracker (WorldServer#getEntityTracker) from it. The EntityTracker has a method to get a Set of all other players tracking an Entity (EntityTracker#getTrackingPlayers), which you can supply with your player. You can iterate over those and send a packet to each of them whenever the content of your inventory changes. Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
November 7, 20178 yr Author 19 hours ago, larsgerrits said: On the server side, you can get the WorldServer (cast to it if needed) from the player and get the EntityTracker (WorldServer#getEntityTracker) from it. The EntityTracker has a method to get a Set of all other players tracking an Entity (EntityTracker#getTrackingPlayers), which you can supply with your player. You can iterate over those and send a packet to each of them whenever the content of your inventory changes. That might be actually what I was looking for, thanks.
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.