-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix flood lights te issues #6
Conversation
- This can happen probably because the new TE will not be created fast enough after we set the block (or whatever). - This fix finally works on our production server. - It also fixes a `ConcurentModificationException` by using a copy of the actual `sources` list while it can be updated at `updateAllSources`
Do you know what causes the CME? What are the different threads accessing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this going to work between server and client? As far as I understand using world.setTileEntity needs to have something special to go along with it when updating the tile entity in the description packet (because I can't remember if the descriptionPacket will create the tileEntity if it doesn't exist on the client side). I need to look into this more later when I get home. Also, I'm not sure if this code runs on server and client.
@wlhlm There are two possible sources. One is the due Both are called after I clone the list. I just want to iterate a local copy of the state of before.
@Cardinalstars It works between server and client, yes. Tested this mainly on server my private prod and also on a backup server. The main reason why I made it like it is is just that after |
Closing this as the main issue seems to still be present. God I hate that ... The main issue seems to be that Ender IO lights and Flood Lights are incompatible with each other. Means, if you place a EIO light in the near of a Flood light, you will get a server crash at some point. Both want to spread out their light TEs and both overwrite each other on loading the chunk. Also, in combination with a light on the edge of a chunk, it crashes too. I'm going to make a bug report as soon as I got a fully reproduceable example. Someone else need to get into this, this is absolutely out of my scope due missing time. |
After a long time of mysterious errors we were finally able to reproduce the issues and finally fix them. Not sure if the code here is best-practice, so feel free to correct me.
From the commit message:
ConcurentModificationException
by using a copy of the actualsources
list while it can be updated atupdateAllSources