Remove your end crystals before the server even knows you hit 'em!
- English
- Русский
- Fabric, Forge, NeoForge, or Quilt
- Minecraft (Supported versions)
- Fabric/Quilt only: Fabric API or QFAPI/QSL (Required)
- Fabric/Quilt only: Mod Menu (Optional)
Crystal PvP ("cpvp") has become a pretty popular combat mode in Minecraft. Crystals themselves were never designed to be used in combat. Because of this, 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 mod) 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.
| Support | Versions | Note |
|---|---|---|
| Beta 🆕 | 26.2 | Newly supported versions. May be unstable, but active feature development happens here, bugs are actively fixed. |
| Active ✅ | 26.1.2, 1.21.11, 1.21.1, 1.20.1 | Actively supported versions. Well tested, features are often backported and bugs are actively fixed. |
| Legacy ❓ | 1.21.10, 1.21.8, 1.21.5, 1.21.4, 1.21.3, 1.20.6, 1.20.4, 1.20.2, 1.19.4, 1.19.2, 1.18.2, 1.17.1, 1.16.5 | Versions supported on a best-effort basis. Features are backported sometimes. Bugs are fixed often. Critical bugs are actively fixed. |
| Ended ❌ | 1.21.9, 1.21.7, 1.21.6, 1.21.2, 1.21, 1.20.5, 1.20.3, 1.20, 1.19.3, 1.19.1 | No support. Outdated. Use at your own risk. |
Other versions were never supported.
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/were supported?
A: See the "Versions" section.
Q: Why support so many Minecraft versions?
A: Because I can.
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 client-side or server-side?
A: This mod works on the client side. There is no server-side version.
Q: Is this a hack?
A: It depends on your opinion on what's a 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'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 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 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.
Q: Is this mod open source?
A: Yes. (Licensed
under the Apache 2.0 License)
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. Older versions used a different
channel, but the namespace was always hcscr. BEWARE: Other mods similar to
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: How to compile for only one Minecraft version?
I can't stand waiting hours for the project to initialize.
A: Run the ./compileone <version>-<loader> script with a desired version,
for example: ./compileone 1.16.5-fabric. Note that due to the Stonecutter
requirements, the latest version may still be initialized because it is the
VCS Version
of HCsCR by design.
Q: Why so much yapping in this README?
A: I paid for the whole LLM, I'm going to use the whole LLM.
Because writing READMEs is easier than writing actual code.
Q: Do you use AI/LLM/Code Generation/Copilot/etc.?
A: Perhaps,
but with consequences.
Mostly, no, the code is 99.67% human-written, because AI is generating dumb
stuff, especially for Minecraft. If you (or some contributors) will use AI, and
it will magically® work™, good for you. I don't promote AI nor am I against it.
Q: Does HCsCR have a public API?
A: Nope. Except for the plugin channel mentioned above, there's no
public-facing API in this mod. All classes/packages are marked as
@ApiStatus.Internal
for that reason.
Q: Can I still link/compile against to the mod? What about
the SemVer versioning used by the mod?
A: You can, at your own risk. SemVer-compatible versioning is
used by HCsCR for ease of use, but it is used arbitrarily. This mod
does not declare a public API, therefore, breaking source/binary
changes may and will occur even between minor and patch versions.
This project is provided under the Apache 2.0 License. Check out NOTICE and LICENSE for more information.
This mod is developed primarily by VidTu, but it wouldn't be possible without:
- Contributors.
- Stonecutter by KikuGie. (and contributors)
- Blossom by Kyori. (and contributors)
- Fabric Loader, Fabric API, and Fabric Loom by FabricMC. (and contributors)
- NeoForge, NeoGradle, and ModDevGradle by NeoForged. (and contributors)
- Forge, ForgeGradle, and renamer by Minecraft Forge. (and contributors)
- Mod Menu by TerraformersMC. (and contributors)
- Mixin by SpongePowered. (and contributors)
- MixinExtras by LlamaLad7. (and contributors)
- Minecraft by Mojang.
- Various CLI tools (
cat, curl, grep, jq, mktemp, sed, sh, tr) used by the upload script.
Important
This is the slowest compilation method, not recommended for general usage, unless all artifacts for all supported versions (including "Legacy" ones) are required.
On slow devices (e.g., GitHub CI), it might take about 2 hours.
To compile all Beta, Active and Legacy supported versions of the mod from the source code:
- Have 8 GB of free RAM, 30 GB of free disk space, and an active internet connection.
- Install Java 25 (for Gradle; you'll also need 8, 16, 17, and 21 for the
compilation, download either of those, the others will be automatically
downloaded via Java toolchains) and dump it into
PATHand/orJAVA_HOME. - Run
./compileall --legacyfrom the terminal/PowerShell. - Grab the JARs from the
./build/libs/folder.
Note
This is the normal compilation method, used during normal development and testing. However, it will exclude the "Legacy" versions from compilation.
On slow devices (e.g., GitHub CI), it usually takes about 30 to 60 minutes.
To compile all Beta and Active supported versions of the mod from the source code:
- Have 6 GB of free RAM, 20 GB of free disk space, and an active internet connection.
- Install Java 25 (for Gradle; you'll also need 17 and 21 for the compilation,
download either of those, the others will be automatically downloaded
via Java toolchains) and dump it into
PATHand/orJAVA_HOME. - Run
./compileallfrom the terminal/PowerShell. - Grab the JARs from the
./build/libs/folder.
Tip
This is the fastest compilation method. It might be useful if you want to compile mod for just one Minecraft version for personal usage.
On slow devices (e.g., GitHub CI), it usually takes about 15 to 30 minutes.
To compile one specific Minecraft version of the mod from the source code:
- Have 4 GB of free RAM, 10 GB of free disk space, and an active internet connection.
- Install Java 25 (for Gradle; you may also need 8, 16, 17, or 21 for the
compilation, download either of those, the other will be automatically
downloaded via Java toolchains) and dump it into
PATHand/orJAVA_HOME. - Run
./compileone <version>-<loader>from the terminal/PowerShell. (for example:./compileone 1.16.5-fabric) - Grab the JAR from the
./build/libs/folder.
Run the ./launch <version> (e.g. ./launch 1.16.5-fabric) command to
launch the game client. You can attach a debugger to that process.
Hotswap is supported. "Enhanced" hotswap (class redefinition) and
hotswap agent will work if supported by your JVM.
Switch the current active Stonecutter version by using ./switch <version>
command. It is discouraged to modify code commented out by the preprocessor,
switch to the required version instead.
Reset to the VCS Stonecutter version before committing
changes via ./reset command to avoid a diff mess.
Running the client via generated tasks (e.g., for IntelliJ IDEA) may work, but you might need to make some adjustments. Launching the game directly (without Gradle) might also work, but it is also not supported.
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.

