Sets the display test to IGNORE_ALL_VERSION since this is a client-only mod and shouldn't give any version errors if it's not on the server.
Registers a key binding into the controls page so it can be remapped.
Registers the /ghost command so that it can be autocompleted. This also removes the requirement to check all chat messages.
Separates the mod lifecycle events, forge events, and block refresh code into their own classes.
Adds a 10-second cooldown to the block refresh to limit packet rate. There is a new localization string with a message to inform the user. This is hard coded instead of configurable so that users cannot lower it.
It may be worthwhile in the future to add the ability for a server to optionally configure this cooldown or disable the mod. I think this could be done without forcing servers to install the mod by falling back to the 10 seconds if the mod is not present/configured on the server side.
Replaces the nested for loops with BlockPos.betweenClosed when getting the blocks to refresh.
This PR refactors a lot of the forge version of the mod. The summary is:
1.2.0.0
since there are breaking changes to the API.MAJORMOD.MAJORAPI.MINOR.PATCH
based on this suggestion from forge: https://docs.minecraftforge.net/en/stable/gettingstarted/versioning/#versioning1.19.2
and forge43.2.0
.IGNORE_ALL_VERSION
since this is a client-only mod and shouldn't give any version errors if it's not on the server./ghost
command so that it can be autocompleted. This also removes the requirement to check all chat messages.BlockPos.betweenClosed
when getting the blocks to refresh.Fixes #35