Redstone Dynamometer
作者:rebot | 分类:模组
Minecraft 版本: 26.1 26.1.1 26.1.2
平台: fabric
标签: technology utility
Original concept by u/SuperMario69Kraft on Reddit (r/minecraftsuggestions) -
https://www.reddit.com/r/minecraftsuggestions/comments/1u0eybs/. Built by BeansNToast.
How hard did it hit? Vanilla redstone can tell you THAT something
happened. The Redstone Dynamometer tells you how hard.
Build damage-test dummies that score your traps. Explosion minigames that
know a charged creeper from a firecracker. An elytra landing pad that rates
your crash. A mob grinder that sorts drops by drop height. One block reads
all of it and answers in analog redstone.
Three senses, one gauge:
- Fall impact. Anything that lands on top gets read, players, mobs,
anvils, falling sand. Two blocks of fall per signal level, 30 blocks pegs
the needle at 15. And it reads RAW fall distance, so you can cover the
sensor with slime, hay or carpet and the measurement stays honest. It
even reads through one full cover block, so your pressure floor can look
like a normal floor. - Explosions. Any blast nearby registers its true power: creeper 6,
TNT 8, charged creeper 12, wither spawn 14. The block itself is
obsidian-grade and never breaks, park it next to the crater and read the
blast that made it. - Projectiles. Shoot any face and the impact speed becomes signal: full
bow shot 6, crossbow bolt 7, trident 8, snowball 3. The harder it flies,
the higher it reads.
Every reading is a clean pulse, weak power on all sides, strong power down
through the floor, and a comparator holds the measured value for the whole
pulse. Vanilla-friendly semantics: if you know pressure plates and target
blocks, you already know how to wire this.
The numbers above are the defaults. Pulse length, per-sense toggles and all
three curve factors live in one small config file.
Crafted the way the original suggestion drew it, right down to the author's
own revision: three obsidian over iron and redstone, slime cushions on the
corners, and an echo shard at the heart, because force sensing is cousin to
sculk tech.
Two downloads, one per version line: a 1.21.11 jar and a 26.1.x jar.
Fabric API required.
The numbers
Three senses
Each detection emits a redstone pulse (default 10 ticks). Output is
pressure-plate-shaped: weak power to all six neighbors, strong power into
the block below, and a comparator reads the measured value for the pulse
duration. Like the vanilla target block, a second hit during a pulse
updates the strength but does not extend the window.
Fall impact
Anything landing on top: players, mobs, armor stands, falling sand,
anvils. The sensor reads RAW fall distance, not fall damage, so damage
modifiers cannot skew it - and it reads through ONE cover block (carpet,
slab, or a full block) sitting on the sensor, exactly as the original
suggestion asks. Cover it in slime or hay: same reading.
signal = clamp(floor(fallDistance / 2), 1, 15)
| Fall distance | Signal |
|---|---|
| 0-3 blocks | 1 |
| 6 blocks | 3 |
| 10 blocks | 5 |
| 20 blocks | 10 |
| 30+ blocks | 15 |
Explosion
Any blast within power x 2 blocks of the sensor takes a reading. The
signal encodes the explosion's POWER, independent of distance:
signal = clamp(round(explosionPower x 2), 1, 15)
| Source | Power | Signal |
|---|---|---|
| Ghast fireball / wither skull | 1 | 2 |
| Creeper | 3 | 6 |
| TNT | 4 | 8 |
| Bed / respawn anchor (wrong dimension) | 5 | 10 |
| Charged creeper / end crystal | 6 | 12 |
| Wither spawn | 7 | 14 |
The dynamometer itself always survives the blast.
Projectile
A projectile striking any face produces a velocity-based force estimate:
- Arrows and bolts:
signal = clamp(ceil(impactSpeed x 2), 1, 15)- the
same speed-times-base-damage formula vanilla arrows use. Full-charge bow
is 6, crossbow bolt is 7. (Reads kinetic energy: Power enchantments do
not change the reading.) - Trident: flat 8, its vanilla impact damage.
- Everything else (snowballs, eggs, pearls, fireballs, wind charges):
clamp(ceil(impactSpeed x 2), 1, 15); a snowball reads about 3. A
fireball that explodes also produces a separate explosion reading.
Config
config/dynamometer.json (generated on first run):
| Key | Default | Meaning |
|---|---|---|
pulse_ticks |
10 | output pulse length in game ticks |
fall_enabled / explosion_enabled / projectile_enabled |
true | per-sense toggles |
fall_divisor |
2.0 | fall curve: floor(fallDistance / divisor) |
explosion_factor |
2.0 | explosion curve: round(power x factor) |
explosion_range_multiplier |
2.0 | reading range: power x multiplier blocks |
projectile_velocity_factor |
2.0 | projectile curve: ceil(speed x factor) |
log_detections |
false | INFO-log every reading (contraption debugging) |
请登录后举报
暂无评论,抢个沙发吧~