BuildCraft|Core

BuildCraft|Core

7M Downloads

Multiple selections in Zone Planner causes client crash

Greylocke opened this issue ยท 9 comments

commented

After doing multiple selections in the Zone Planner, the client will crash with the error: Internal Exception: java.lang.IllegalArgumentException: Payload may not be larger than 32k

To reproduce:
place a Zone Planner
open the zone planner GUI
zoom out to expose a large section of map
make multiple large selections across the map using click-drag to select
after making many selections (10+) the client will crash.
Tested both in single player and multiplayer. Only the client crashes.

Buildcraft 7.1.13, Forge 1558

commented

That sounds like we have an inefficient way of computing large areas of zone plan. Perhaps we should limit the sizes, or limit the complexity of a zoned area. (Limiting its complexity would also make it easier to render the area when holding a map location with walls).

commented

limiting the area could be an option, it also depends on what part exactly is crashing, is it just an overflow somewhere or an array that isn't ment to store more then 10 area's?

commented

"Payload may not be larger than 32k"

That means we are trying to make a packet that is too big :P

commented

how are we even reaching that? no expert but shouldn't we only 2 sets of coordinates per zone?

commented

Zone planners currently work with a bitset per chunk, which all have to be flipped to true when a large area is set. That's fine if its a small area but for larger areas it can go up in size forever... (or until it hits the packet size limit).

commented

yes but do we need to sync all that to the client?

commented

If we don't then we can change the whole system to be simpler.

commented

there is no need to change the entire system, just how they synced for rendering, the client doesn't need all those bitsets

commented

old issue and not realy a big problem, if you are selecting that many zones that are that large you are doing it wrong, whatever the system you are setting up, robots should not have that large of a working area. they are very suited for very long distance transport, setting up a pipeline for that would be beter, if it's for farming it should be broken up in smaller sections

can be closed