mindshaft
a particular kind of minimap
mindshaft
what even is this thing
mindshaft is an accesssibility-focused minimap mod which transforms a quasi-density map from 3d minecraft space to 2d space. in abstract, it's similar to the kinds of imagery that doctors and dentists get from an x-ray, although the actual rules here are quite different.
with familiarity with the graphical 'encoding', mindshaft enables a user to perceive lit voids in otherwise solid terrain, and even which directions those voids go along the y axis.
what mindshaft is *NOT* is a general purpose minimap mod. there are no waypoints. there are no entity markers. there's no scrolling to look at distant terrain you've previously seen.
mindshaft gives you local navigational data, and does its best it can to not be 'cheaty' about it (but there are limits to that).
it has some known performance issues. this can be mitigated through the config file.
configuration
the config file is `config/mindshaft-client.toml`. this is a client-side only mod, so there is no server config.
if you're getting microstutters, you want to increase `map refresh delay` or decrease `segment processing rate`. i've been using 3 and 15 lately, while running around in liminal industries' version of the backrooms. great fun. very spook.
be advised this causes the minimap to update slower.
the minimap can be configured to be basically anywhere on the screen, albeit clunkily, and you can control the size of the full screen map to a degree.
if you want more zoom steps, you just need to adjust the `zoom level list`, but be advised it won't let you go past a radius of 7.
if you want to edit the config while the game is running, you'll need the configured mod by mrcrayfish (sadly only on curseforge, no modrinth listing that i can find), or any other mod that attempts to provide gui to standard forge configs.
i will probably update the default settings to match that next time i make a release, but i'm reluctant to do a release that only updates defaults.
you probably want to change the keybindings given that waila/jade/oneprobe/etc mods tend to try to grab numpad slots.
how even is this thing.
i'm told this is complicated to some folks, others seem to get it right away.
i like to think of it red-shift and blue-shift annotations on empty space as they 'move away' from the player on the y axis.
details on how it's meant to be understood
the core of mindshaft is marking the presence of lit empty spaces within a distance around the player, across a handful of y levels above and below.
solid blocks get green, and that green adds up over the course of scanning a column. this tells you where solid terrain is, and the lack of green (or practically speaking, darker green) tells you there's voids in the terrain.
but this is is only part of the story; we also want to know which way the tunnel is curving. so voids above the player get a slight blue tint based on how far it is from the player's level. and voids below the player get a slight red tint, also based on vertical distance.
practically, this means red splotches mean downward trending, blue splotches mean upward trending, and magenta means the voids go up AND down, such as a vertical shaft.
but there's still a wrinkle: i did not actually intend for this to be a cheat mod, so i attempted to provide a simple restriction: if a block is unlit, we pretend it's solid. so mindshaft won't tell you about unlit holes in the ground, or whether a tunnel intersects with where you are from above or below, until those spaces are lit.
what does this look like in practice? well, this is a view of the surface of the overworld:

this is what it looks like in the backrooms setting of liminal industries. (also demonstrated in the video up top)

why even is this thing
yeah it's really baffling
why it was made
there's a few different things minimap mods can typically be used for. charting out surface terrain, placing markers so you can find things later, spotting nearby creatures, and sometimes even trying to navigate caves.
mindshaft exists to do none of that, all except for the last one.
i have some very peculiar cognitive issues dealing with spatial reasoning. the simplest example of how bad it is, i once worked a job for a few years, which i frequently (at least a few times a month, sometimes a couple times in a week) would get lost on my way to work.
there were two turns between my driveway and the company parking lot. yes, it was that bad.
the problem there was that the two turns in question were in wooded areas, where i had no concrete landmarks. street grids? they *mostly* make some sense to me, so i can remember them, sometimes. which branch in a dense forest? nope. i'd need some sort of top-down realtime view that projected the path in 2d space with navigation markers to be able to navigate that reliably, and consumer gps wasn't a thing for another decade.
so that brings us back to mindshaft: i cannot tell where the hell i am in caves. most minimap mods that try to provide cave functionality do it by taking slices, and switching between them as you go up and down in y levels.
to me, flipping between y levels on a map is like teleporting to another dimension. i can't link the two spaces together because of the hard transition. fortunately, there was one minimap mod that did what i needed:
rei's minimap. why did it work for me? it created a false density map that would give hints as to the shape of things going both up and down from from where the player is positioned; changes as you went up and down stairs and slopes were gradual, and i could build some mental model of how things were connected. it helped a lot.
then the author fell off the internet, and nobody else stepped up to make a replacement.
well, as a person with an accessibility need, and some capacity to program, it fell to me to fix it myself for myself.
just in case you're curious: yes i hate java, it sucked, but i got what i needed.
support
further performance improvements will require me to set up instrumentation to measure exactly where the performance issue lays. i've been reluctant to go through those hoops since right now it does what i need (with the settings in the configuration spoiler block up a ways block).
if someone shows up who has the interest to help with this, i'd be happy to hear about it. not holding my breath for the junction between "actually wants to use this" and "can help diagnose it", though.
bug reports and feature requests go on github. please don't ask for waypoints, entity tracking, or other "normal" minimap features. if you're wondering what that still leaves open for feature requests, well so am i. be surprising and you might get it.
i care about bug reports on 1.18.2 and 1.20.1, and can potentially be convinced by someone intrepid enough to care about 1.12.2, but you'll need to get that (or 1.19.2) from github.
anything newer than 1.20.1 isn't going to matter to me for quite some time, given that i expect to have access to thaumcraft and tinkers' construct both on 1.20.1. it's been a long time since that has happened.
port requests will be ignored.
permissions
this is released under the MIT license, which is quite permissive. but still, for the circumstances that warrant it (and the vague possibility i somehow end up with more than a single digit of users):
put it in a modpack. any modpack. any platform. you don't even need to publicly credit me.
wanna do something i don't wanna do? fork it, with my blessing all three of legally, ethically, and morally. it'd be polite if you changed the name tho if you do anything nontrivial to it. maybe give it a colon and some clever thing after it.
* mindshaft: the motion picture * mindshaft: the tote bag * mindshaft: cheatery edition that just tells you where ores are
or whatever. i'm not your mom