Jump to content

Recommended Posts

Posted

Hi. I'm interesting in how to hide an entity from players on the server side? It means, that every player clients cant receive any information about this entity. Ideas?

There is no spoon

Posted

Cancel the event that sends out the packets for that player

 

How glad I'd be if that was true...

There is no "event that sends out the packets". There isn't even event that gets called when packet is sent. Only thing that, you could say "is binding" events and packets is PlayerEvent.StartTracking. That one will not do since it only allows you to do additional stuff.

 

In past I alredy tackled this problem (making client not receive (ANY) info about given entity), but it is not really possible with standard modding.

When asked why there is no event that could help - simple answer would be: too many places that send entity packets to be altered with one or even few events.

 

"Advanced" modding solution is to replace all things that call packet-sending. Last time I checked: can be done with lots of ASM or mayyybe some instance-replacement (lookup where packets are sent).

 

Note: Vanilla, and because of that also Forge, is not designed to support such actions. E.g: Spigot/Bukkit plugins allowed that because those were servers written from scraps - with a lot more hooks and design decisions that would allow such action.

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

Posted

Cancel the event that sends out the packets for that player

 

How glad I'd be if that was true...

There is no "event that sends out the packets". There isn't even event that gets called when packet is sent. Only thing that, you could say "is binding" events and packets is PlayerEvent.StartTracking. That one will not do since it only allows you to do additional stuff.

 

In past I alredy tackled this problem (making client not receive (ANY) info about given entity), but it is not really possible with standard modding.

When asked why there is no event that could help - simple answer would be: too many places that send entity packets to be altered with one or even few events.

 

"Advanced" modding solution is to replace all things that call packet-sending. Last time I checked: can be done with lots of ASM or mayyybe some instance-replacement (lookup where packets are sent).

 

Note: Vanilla, and because of that also Forge, is not designed to support such actions. E.g: Spigot/Bukkit plugins allowed that because those were servers written from scraps - with a lot more hooks and design decisions that would allow such action.

 

Why wouldn't there be a event pushing function in the interface of packets? O.o It seems like a really huge oversight, since the server hasn't got any control over the packets whatsoever from that perspective... Every object does whatever it wants

I do pony stuff :3

Posted

Well, you can hook yourself into packet pipeline (idk proper naming). That way you can catch any kind of packet, including entity packets and then remove sending packets that contain entityID which client should never receive.

 

This is probably easiest way to do it, but it is literally fighting symptoms (not source). Not really huge overhead, but still not the best solution (which requires a lot more work and is simply not easy to apply to mc code).

 

How to do it... well - diesieben will probabyl ram into thread soon and if not - look at his post history (should find something about it).

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

Posted

Well, you can hook yourself into packet pipeline (idk proper naming). That way you can catch any kind of packet, including entity packets and then remove sending packets that contain entityID which client should never receive.

 

This is probably easiest way to do it, but it is literally fighting symptoms (not source). Not really huge overhead, but still not the best solution (which requires a lot more work and is simply not easy to apply to mc code).

 

How to do it... well - diesieben will probabyl ram into thread soon and if not - look at his post history (should find something about it).

 

I'd call modding in general fighting symptons, since the forge source is being unchanged most of the time :P

I do pony stuff :3

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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