Remove your end crystals before the server even knows you hit 'em!
- Fabric Loader, Quilt Loader, Forge, or NeoForge
- Minecraft (1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, or 1.21.8)
- Fabric/Quilt only: Fabric API or QFAPI/QSL (Required)
- Fabric/Quilt only: Mod Menu (Optional)
Crystal PvP has become a pretty popular combat mode in Minecraft. Crystals themselves were never designed to be used in combat. Because of that, a client ping (latency) plays a significant role in a crystal PvP fight, affecting how fast you can spam. This mod helps to reduce (but does NOT fully remove) the ping factor from crystal PvP fights. This is commonly called a client-side crystal optimizer mod. It also removes the ping factor for PvP with anchors, though the ping doesn't play a big role in anchor fights, and it might even be beneficial to have high ping in these fights. This is not the only crystal optimizer mod available, but it's the most configurable out there.
Note: A server-side crystal optimizer plugin (not this one) is much more effective. Consider checking the
/fastcrystals
command or similar commands on your server. Ask the admins to install one if the command doesn't exist.
Q: I need help, have some questions, or have some other feedback.
A: You can join the Discord server.
Q: Where can I download this mod?
A: GitHub Releases.
You can also find unstable builds at GitHub Actions.
You'll need a GitHub account to download these.
Q: Which mod loaders are supported?
A: Fabric, Forge, and NeoForge are supported. Quilt should work too.
Q: Which Minecraft versions are supported?
A: Minecraft 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4,
1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, and 1.21.8.
Q: Do I need Fabric API or Quilt Standard Libraries?
A: Yes, you'll need Fabric API for Fabric and QFAPI/QSL for Quilt.
Obviously, you don't need them for Forge or NeoForge.
Q: Is this mod open source?
A: Yes. (Licensed
under Apache 2.0 License)
Q: Is this mod client-side or server-side?
A: This mod works on the client-side.
Q: Is this a hack?
A: It depends on your opinion on what's hack and what's not. This mod reduces the role that ping (latency) plays
in combat with crystals. Specifically, it does affect how fast the crystals are removed. Crystal placement is NOT
affected. It cannot be affected in a way that's considered legitimate.
Q: Is this designed to be a hack?
A: No.
Q: I want to block this mod as a server owner, can I do this?
A: A plugin channel called
hcscr:imhere
is registered by this mod. Beware: Other mods like this one don't offer a way to block them.
Consider investing your time/resources into an anti-cheat plugin, if you want to block all of them.
Q: I've found a bug.
A: Report it here. If you are not sure whether this is a bug or a
simple question, you can join the Discord.
Report security vulnerabilities here.
Q: Can I use this in my modpack?
A: Sure. Credit (e.g., a link to the mod's GitHub page) is appreciated but is not required.
Monetization and redistribution are allowed as per the
Apache 2.0 License.
Beware: This mod may be considered a hack by some people.
Q: Why is this mod not on the Modrinth or CurseForge?
A: Modrinth says it violates
their rules. CurseForge has a terrible API and I don't want to deal with it.
Q: Why does this mod exist, when there are server-side crystal optimizers?
A: Firstly, this mod was created in 2023 before the server-side crystal optimizers. Secondly, not every server
has a server-side crystal optimizer. Thirdly, I have updated it in 2025, because I needed to learn the
Stonecutter preprocessor. Now it's not hard to maintain, so why not.
Q: How fast is it?
A: It should be pretty fast. No precise numbers, it depends on the ping, server MSPT, etc.
This project is provided under the Apache 2.0 License. Check out NOTICE and LICENSE for more information.
To compile the mod from the source code:
- Have 8 GB of free RAM, 20 GB of free disk space, and an active internet connection.
- Install Java 21 and dump it into PATH and/or JAVA_HOME.
- Run
./gradlew assemble
from the terminal/PowerShell. - Grab all the JARs from the
./build/libs/
folder.
Run the ./launch <version>
1 (e.g. ./launch 1.16.5-fabric
) command to launch the game client. You can attach a
debugger to the process with the game launched. Hotswap is supported. "Enhanced" hotswap (class redefinition) and
hotswap agent will work if supported by your JVM.
Switch between the current target (by Stonecutter) versions by using ./switch <version>
2 command.
It is discouraged to modify code commented out by the preprocessor, switch to the version instead.
Reset to the default target before commiting changes via ./reset
3 command to avoid mess.
Running the client via generated tasks (e.g., for IntelliJ IDEA) usually doesn't work, because the Stonecutter Preprocessor requires setting the active project and also building via the chiseled build.
The development environment has stricter preconditions: Mixin checks, Netty detector, Java assertions, etc. Code with bugs might (and probably will) fail faster here than in a production environment.
The recommended IDE for development is IntelliJ IDEA (Community or Ultimate) with the Minecraft Development plugin. This is not a strict requirement, however. Any IDE/editor should work just fine.
HCsCR attempts to have reproducible builds (reproducible JAR archives) for its releases. Check out GitHub Releases for "Reproducible Build Hash" values. If it is present on any release, this release's binary JAR should be reproducible. Unfortunately, due to the nature of Java (Gradle) and Minecraft development, it is not always possible to have reproducible builds. Reproducible release JARs are compiled with: (use these commands to create a reproducible build)
./gradlew clean --no-daemon --no-build-cache --no-configuration-cache
./gradlew assemble --no-daemon --no-build-cache --no-configuration-cache
Currently, no dependency (integrity) validation is performed. This might change in a future version.