Fast crystals
Let high ping players break and place end crystals as fast as low ping players, built into Saturn so the FasterCrystals plugin is not needed.
What it does
On a high ping connection, a crystal you place takes a round trip to show up on your screen, and a crystal you break stays on your screen until the server tells you it is gone. Until then your client sends the wrong packets, so crystal PvP feels slow.
With fast crystals on, Saturn works from what the player is doing instead of waiting for those packets:
- Breaking. When a player swings while looking at an end crystal, the server breaks it straight away, as if the attack packet had arrived.
- Placing. When a player right-clicks a crystal that broke in the last 2 seconds, holding an end crystal and looking at the obsidian or bedrock it was on, the server places a new crystal there.
This does the same job as the FasterCrystals plugin. If you use that plugin, remove it when you turn this on. You can also remove PacketEvents if nothing else needs it.
Turn it on
Fast crystals is a combat profile setting, attack.. It is off by default.
combat:
profiles:
modern-1-21:
attack:
fast-crystals: trueRun /serverconfig server to apply it. No restart is needed.
To turn it on in some worlds only, set it in the custom profile and give those worlds CUSTOM. The profile is picked by the player's world; the game-mode override does not apply to this setting. See Combat profiles.
combat:
default-profile: MODERN_1_21
per-world:
crystal-pvp: CUSTOM
profiles:
custom:
attack:
fast-crystals: trueWhen a swing does not break a crystal
A swing is ignored when:
- the player is in spectator mode
- the player has more Weakness than Strength can make up for
- the swing is from the off hand
- the swing came from dropping an item, placing a block or using an item
- the swing is followed by dropping an item from the inventory or a creative inventory action
- the crystal was placed in the same tick, so one click cannot break two crystals
- a block is between the player and the crystal
If the player is looking past the crystal at a block, the swing only counts when it starts breaking the block or is an attack. The swings of an ongoing block break do not pop crystals.
The crystal is broken with a normal player attack, so plugins see the usual damage event and can cancel it. Only crystals within the player's entity reach count.
How placing works
The new crystal is placed through the normal right-click on a block. Interact events, entity place events, spawn protection and protection plugins all apply, and one crystal is used from the stack unless the player is in creative mode.
It only places when the block the player is looking at, within block reach, is the one the broken crystal sat on, and the space above it is empty.
Differences from FasterCrystals
- There is no per-player toggle. It is on or off per combat profile.
- There are no PlaceholderAPI placeholders.