flokol120 / Spigot-Item-Chest-Sorter

A Spigot/Paper minecraft plugin to sort your messy items into separate chests | 💯% written in Kotlin
GNU General Public License v3.0
5 stars 6 forks source link

Inconsistent item frame recognition when setting chests between nether and overworld #31

Closed Virologicbody closed 3 years ago

Virologicbody commented 3 years ago

The plugin randomly fails to recognize if there is an item frame on a receiver chest in the overworld when setting the sender chest in the nether. This seems to only be the case in some circumstances as sometimes it does work.

Sender chest in the nether 2021-08-14_22 17 41

Receiver chest in overworld 2021-08-15_12 45 31

Also tried after deleting all files from the plugin to generate fresh config etc.

Issue exists on both Paper 1.17.1 #186 & Spigot 1.17.1

flokol120 commented 3 years ago

@Virologicbody this could happen due to world loading issues. I will look into it, but cannot promise to fix it :(

Virologicbody commented 3 years ago

Thanks for even considering looking at this.

I used the same world on Spigot as I was using on Paper and the issue is the same so I can reproduce the issue but have no idea what causes it as I have tried everything I can think of. Tried adding chests with or without an item frame when I allocate them, changing the orientation of the chests and their locations, changing the sides the item frame is on, looking at the chests from a different side when allocating them, removing and or adding blocks below and or above them, adding the chests in areas that are and are not in a claimed area with GriefProtection but I cannot specifically reproduce the issue.

I removed GriefProtection but that made no difference.

I will try a fresh server with Spigot and only this plugin, but I believe doing this will introduce too much variability.

Virologicbody commented 3 years ago

I believe you may be correct about the world loading.

After testing I think I have found the cause... if you set a chest either in the overworld or nether and go back/forth between the dimensions within 10 seconds the chests work. If you remain in either dimension for more than 10 seconds the chests fail. I tested times from instantly going through the portal to waiting 10 seconds (the best I can counting in my head!) and the cut off point is 10 seconds.

https://youtu.be/C_0ydB7YKjw

EDIT: I know you said this is a Spigot plugin but according to Paper, chunks unload after 10 seconds from leaving a dimension. I would assume Spigot is the same - I did ask Spigot if this was the case but I didn't get a response.

flokol120 commented 3 years ago

@Virologicbody Thanks for the deep testing. In my test however I couldn't get the nether to unload using spigot :( Was you video captured on the paper or spigot server?

Virologicbody commented 3 years ago

That was recorded on Spigot 1.17.1

Virologicbody commented 3 years ago

After a few more hours of testing, I have news.

Firstly, I would like to appologize for maybe wasting your time with this issue. I can confirm that I got this plugin working across dimensions as intended on Spigot and Paper servers.

By default, this will not work (across dimension) on a Paper server unless the chunk unloading (when a player leaves a dimension) is disabled:

Paper_yml

Once the above setting is disabled the plugin works across dimensions on a Paper server as expected.

I can conclude that the world I am using on my survival server, the same world I have been testing with, is a bugged seed. I created a brand new world with the same seed and the plugin failed to work across dimensions but all other random worlds/seeds I tried (both on Spigot and Paper with the above setting disabled) worked.

Again, I appologize for this. This is a great plugin which I will continue to use.