OpenBlocks

OpenBlocks

56M Downloads

Canvas Tile Entities

Sir-Will opened this issue ยท 8 comments

commented

hey,

would it be possible to change the Canvas to be no tile ent or at least to a not ticking tile ent?
If there are huge buildings out of canvas it causes performance issues.

commented

Sorry, but no:

  • MC 1.7 was no concept on non-ticking TileEntities
  • TE is needed for storing canvas data - it's way more bigger that 4 metadata bits

Please note, that even tough they are TEs, they are rendering only as block - so they should have smaller footprint then vanilla chests. So I'm not sure canvas block are your real problem.

commented

The amount is the issue. It causes lag spikes if a chunk get loaded or unloaded with many tile ents in it.
Well will keep them banned then. Had hoped there will be a way to allow them again.

commented

Oh well. Nothing I can do. But you might as well ban chests, carpenter blocks, anvils, warded blocks or anything other with TE.

commented

The issue is the pure amount. There is a difference between active and inactive tile ents. On every chunk load/unload the arralist containing the active/ticking ones gets called with adding or removing some. Now if the array list has +8k entries this takes quite some long (especially the removeAll which is being called). Due to the amount of canvas this is insane.
Carpenters, chest... those are all "inactive" tile ents, they don't tick and are therefor not within this array list. I'm sure @sfPlayer1 (fastcraft dev) can explain this in more detail.

commented

Hmm, looks like TileEntity.canUpdate already exists in 1.7.10. My bad. Well, at least there is something I can change.

commented

Ok, this commit should help.

commented

Great thanks. In which version will this be implemented?

commented

I will try to release 1.4.3 today.