Remove your end crystals before the server even knows you hit 'em!
- English 🇬🇧 🇺🇸
- Русский 🇷🇺
- 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, 1.21.8, 1.21.10, or 1.21.11)
- 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.
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, 1.21.8, 1.21.10, and 1.21.11.
Q: Which Minecraft versions were previously supported?
A: Previously supported Minecraft versions were
1.19.3 (Fabric/Quilt only),
1.21.2 (Fabric/Quilt only),
1.21.6/1.21.7, and
1.21.9.
NOTE: These versions are NOT supported and are included "as-is".
They are probably buggy, laggy, and don't have new features.
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 ./gradlew script with the ru.vidtu.hcscr.only system property
set to the desired <version>-<loader> combination, for example:
./gradlew -Dru.vidtu.hcscr.only=1.16.5-fabric build.
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 (even though I don't use AI except
for grammar checks) is easier than writing actual code.
Q: Do you use AI/LLM/Code Generation/Copilot/etc.?
A: Except for the aforementioned grammar checkers above, no. I use only
the laggiest IntelliJ IDEA inspections based on the buggiest algorithms.
Can't be sure for contributors, but most of the code is written
by the project author. Also, I don't care about AI personally.
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 (and also Fabric uses it internally to compare versions),
but it is used arbitrarily, that is: major version usually bumps after a huge
code refactoring or a major change, minor version usually bumps after a minor
code addition, patch version usually bumps after bug fixes/optimizations/ports
to newer versions. 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)
- Architectury Loom by Architectury. (and contributors; plus upstream Fabric Loom by FabricMC and contributors)
- Blossom by Kyori. (and contributors)
- Fabric Loader and Fabric API by FabricMC. (and contributors)
- NeoForge by NeoForged. (and contributors)
- Forge by Minecraft Forge. (and contributors)
- Mod Menu by TerraformersMC. (and contributors)
- Mixin by SpongePowered. (and contributors)
- Minecraft by Mojang.
To compile all versions of 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 25 and dump it into
PATHand/orJAVA_HOME. - Run
./gradlew assemblefrom the terminal/PowerShell. - Grab the JARs from the
./build/libs/folder.
To compile one specific Minecraft version of the mod from the source code:
- Have 4 GB of free RAM, 5 GB of free disk space, and an active internet connection.
- Install Java 25 and dump it into
PATHand/orJAVA_HOME. - Run
./gradlew -Dru.vidtu.hcscr.only=<version>-<loader> <version>-<loader>:assemblefrom the terminal/PowerShell. (for example:./gradlew -Dru.vidtu.hcscr.only=1.16.5-fabric 1.16.5-fabric:assemble) - Grab the JAR 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 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>2
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 ./reset3 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.

