Cyclops Core

Cyclops Core

93M Downloads

Be careful with needless sendUpdate calls in tiles

rubensworks opened this issue ยท 8 comments

commented

As mentioned in CyclopsMC/IntegratedDynamics#117, calling CyclopsTileEntity#sendUpdate will cause chunk updates.
Preferably, a simple markDirty must be used if the client does not require the new tile state immediately.

Mods to check:

  • Colossal Chests
  • EvilCraft
  • Integrated Dynamics
commented

IntegratedDynamics Energy tunnels seem to have this problem. An Energy Exporter was responsible for 10 updates per second.

IntegratedDynamics-1.10.2-0.6.9.jar
IntegratedTunnels-1.10.2-1.1.0

Upon closer inspection, it seems to be related to the capacitor that the Exporter is on being at full charge with constant power use.

commented

@codewarrior0 Any more details on this? What exporter aspect where you using? And with what kind of variable?

commented

This was the setup. Both the importer and exporter only have a "true" boolean in them.
For some reason this doesn't produce excessive chunk updates in SSP?
2017-03-16_14 34 32

commented

We're using your EnergySynergy so the power source was an IC2 Kinetic Generator. We also had a RefinedStorage Controller drawing constant power from the capacitor. I think the constant power draw was key because we actually had two of the above setups with different IC2 generators, and only the one with power draw was causing chunk updates.

commented

@codewarrior0 Do you have a specific reason to think why the exporter was causing the block updates. Because the energy battery in that setup could also be the cause of it, since that block will change blockstates at each 1/3 energy fill step.

commented

Yep. Used /csampler renderupdates show to get red highlights on the blocks causing updates. The block with the exporter was solid red, while the battery was only red periodically.

commented

@codewarrior0 Ok, thanks! I'll try to look into it soon.

commented

It looks like this issue was never added to my project board, so it got lost a bit...

Note to self: when working with GUIs, work as much as possible with detectAndSendChanges like with ID's mechanical machines.