Appearance
Configuration
Settings live in config/skippingstone-common.json5, created the first time the game starts. The file is written with comments for every setting. Changes apply the next time the game or server starts.
Servers
The server's file decides what a throw does. Each player's own file decides how their power meter looks, so keep the meter settings the same for everyone on a server.
Stone
stone.tiers is the list of stone qualities, worst first. Each has a name and a velocityMultiplier. The number of entries is the number of qualities. The default is:
json5
tiers: [
{ name: "chipped", velocityMultiplier: 0.7 },
{ name: "rough", velocityMultiplier: 0.9 },
{ name: "smooth", velocityMultiplier: 1.1 },
{ name: "perfect", velocityMultiplier: 1.35 },
]Names are shown through the translation key stone_tier.skippingstone.<name>, or as written if there is no translation. Textures follow the position in the list, so a fifth quality uses the first texture.
Pickup
| Key | What it does |
|---|---|
blockConversions | Which blocks give stones, and the block each turns into. Keys and values are block ids. |
defaultTierWeights | Quality odds, one weight per quality, used where no biome entry matches. |
biomeTierWeights | A list of { biomeTag, weights }. The first entry whose biome tag contains the block's biome is used. |
json5
biomeTierWeights: [
{ biomeTag: "minecraft:is_beach", weights: [30, 35, 25, 10] },
{ biomeTag: "minecraft:is_river", weights: [35, 35, 22, 8] },
{ biomeTag: "minecraft:is_ocean", weights: [40, 34, 20, 6] },
]Weights are relative. [30, 35, 25, 10] means a 10% chance of a Perfect stone.
Meter
| Key | Default | Range | What it does |
|---|---|---|---|
periodTicks | 50 | 4 – 1200 | Ticks for the indicator to sweep across the bar and back. |
greenWidthLowestTier | 0.3 | 0 – 1 | Green zone width for the lowest tier, as a fraction of the bar. Narrows linearly to greenWidthHighestTier. |
greenWidthHighestTier | 0.08 | 0 – 1 | Green zone width for the highest tier, as a fraction of the bar. |
yellowWidth | 0.15 | 0 – 0.5 | Width of each yellow zone (one on either side of green), as a fraction of the bar. Shrunk automatically if the bands would not fit. |
greenPowerFactor | 1 | 0 – 10 | Power factor for a release in the green zone. |
yellowPowerFactor | 0.55 | 0 – 10 | Power factor for a release in a yellow zone. |
releaseToleranceTicks | 4 | 0 – 100 | How far (in ticks) the client's reported charge time may differ from the server's before the server uses its own. |
Throw
These are the numbers in the formula.
| Key | Default | Range | What it does |
|---|---|---|---|
idealAngle | 10 | -90 – 90 | Release pitch with full angle efficiency. Minecraft pitch: negative looks up, positive looks down. Slightly downward keeps the throw flat; aiming up lobs the stone so it hits the water too steeply. |
angleTolerance | 25 | 0.1 – 180 | Degrees away from idealAngle at which angle efficiency reaches 0. |
baseDistance | 6 | 0 – 1000 | BASE_DISTANCE_CONSTANT: first skip distance, in blocks, for power 1, velocity multiplier 1 and a perfect angle. |
decayRate | 0.8 | 0.01 – 0.99 | Each skip travels this fraction of the previous one. |
minSkipThreshold | 0.5 | 0.001 – 1000 | Skips shorter than this many blocks are not counted and end the throw. |
Records
| Key | Default | Range | What it does |
|---|---|---|---|
scoreboardObjectives | true | Keep scoreboard objectives 'skippingstone.best_skips' and 'skippingstone.best_distance' (whole blocks) updated with every player's best. Show one with e.g. /scoreboard objectives setdisplay sidebar skippingstone.best_skips |
