CrucibleMC / Crucible

Crucible, a fork of Thermos, is a CraftBukkit and Forge server implementation for 1.7.10, providing the ability to load both Forge mods and Bukkit plugins alongside each other.
https://discord.gg/jWSTJ4d
GNU General Public License v3.0
184 stars 63 forks source link

Botania's Ring of Far Reach an similar stuff not working on Crucible servers #61

Closed Aizistral closed 3 years ago

Aizistral commented 3 years ago

This bug seems to have been caused specifically by Thermos back in the day, and does persist in Crucible. Basically, the premise is in Ring of Far Reach from Botania, which does increase player's reach for both block placement and block destruction: https://github.com/Vazkii/Botania/blob/1.7.10-final/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemReachRing.java

The issue is that on Thermos servers this ring doesn't work properly, as server doesn't agree on existence of any of the blocks put down using that extra bit of reach the ring gives, all the while destroying block with it works fine.

Therefore, everything that uses implementation similar to Botania's for increasing player's block reach doesn't work either, and I know no other way to achieve such thing on 1.7.10. Would be rather helpful to know at least what and where specifically in Thermos' code causes this, but I've no idea where to even start looking myself.

Aizistral commented 3 years ago

As far as I can see, the problem is somewhere over here: https://github.com/CrucibleMC/Crucible/blob/f045cf21908df56094aabd26d75f6e9211deb941/patches/net/minecraft/network/NetHandlerPlayServer.java.patch#L528-L531

With the code of Thermos' patch completely ignoring dynamic reach distance from ItemInWorldManager.

juanmuscaria commented 3 years ago

Can you see if it's fixed in the latest dev build?

Aizistral commented 3 years ago

Yes, it is! Just tested it out. Glad we finally have it resolved after all the years it's been stuck around in Thermos.