We went thru a bunch of effort for this fix, but its finally been patched.
In the meantime I ported jellysquid's latest changes to entity collisions which also work completely fine.
Thanks to Simon ( @smonnnn ) who is also going to be the co-author of this commit cuz he was the one to properly implement the problematic patch .
These changes should lower your mspt.
Fixes#165Fixes#178
Co-authored-by: Simon L <slooij1@gmail.com>
Dropped hopper optimizations patch by tr7zw. Sorry buddy, but the patch was making more
problems than it was solving. By no means this is an unneded patch, we will reimplement
it in the future the way it should've been implemented. Fixes#148
Reordered the patches pulled by sidestreams to their native order in the
sidestream's repo. This reduces the diff we need to maintain in the server
fixes patch.
Ported 2 more patches from purpur which I found to be useful.
EntityClassGroup now checks for the proper overriden methods in the entities.
We can always revert this commit if something doesn't work, but my testing shows that
it works properly. We still don't know how much of a benefit this would have, but we
hope that it would lower the mspt.
This is now for sure going to fix hoppers entirely, except speeds which we should see in other patch.
Apparently caching the inventory doesn't work for composters as they're constantly updating their block state.
The code now makes it so that we only cache if the block is NOT a composter.
This is also fixing a bug with offline mode servers and proxies for vanilla commands. Read the new patch's patch notes to see what I'm talking about.
For some reason it was checking if the inventory is NOT an IWorldInventory, but IWorldInventory is implemented by furnaces, shulkers and
brewing stands. This commit is fixing that which will also get ported in 1.16.1
Also added Pathfinder timings in order to see if we need to improve pathfinding.