Description
Explorer's Tools
Small tools and tweaks for explorers.
Minecraft 1.21.1 · NeoForge 21.1.248+ · no required dependencies (Ars Nouveau and JEI optional)
Every feature can be switched off on its own; see Configuration.
Items
| Item | ID | How to get it | What it does |
|---|---|---|---|
| Mossy Amethyst | explorerstools:mossy_amethyst |
Shapeless: moss carpet + amethyst shard (#c:gems/amethyst) |
Hold right click for 2 seconds to infuse 3 experience levels and turn it into a Surface Warper. Fails if you don't have the levels. |
| Surface Warper | explorerstools:surface_warper |
Infuse a Mossy Amethyst | Three uses (configurable via datapack). Underground in the Overworld, hold right click for 3 seconds to warp to the surface directly above. Releasing early or taking damage cancels. It only works where no daylight reaches, so it can't lift you onto floating islands or out of a cave mouth. If the column above you has no safe landing spot, nearby columns are tried. |
| Fortress Finder | explorerstools:fortress_finder |
Shaped: four nether bricks (#c:ingots/nether_brick) around a lava bucket |
In the Nether, with a compass in your off hand: attunes the compass, lodestone-style, to the nearest Nether fortress. |
| Nether Fortress Compass | (a named vanilla compass) | Made by the Fortress Finder | Keeps pointing at that fortress; its tooltip shows roughly how far away it is. |
| Portal Rod | explorerstools:portal_rod |
Shaped: gold nugget, crying obsidian, gold nugget on a diagonal | Right click a nether portal in the Nether to bind it, turning the rod into a Crying Portal Rod. |
| Crying Portal Rod | explorerstools:crying_portal_rod |
Binding a Portal Rod | Crouch + right click anywhere in the Nether to drop back into the bound portal. If the portal is gone, it turns back into a plain Portal Rod. Crafting it on its own unbinds it. |
| Wither Skull Fragment | explorerstools:wither_skull_fragment |
Wither skeletons killed by a player: 50% chance, more with Looting. Mob farms with no player get none. | Nine in a crafting grid make a wither skeleton skull. |
Features
- Compass attunement. The Fortress Finder is one datapack "attunement"; packs can add more finders that point a compass at any structure or structure tag (see Datapacks). Vanilla structures that another mod has switched off are skipped automatically (see Mod compatibility), so a finder never stalls the server searching for something that will never generate.
/afk. After a 3-second countdown you're parked: frozen in place and protected from all harm. Hunger, drowning, fire and mobs can't touch you, and you can't use items, break or place blocks, attack, drop items or open inventories. Chat still works. Other players see an[afk]tag. Run/afkagain to return. Operators (permission level 2) can toggle anyone instantly with/afk <player>. By default AFK players don't count toward sleeping through the night, and no mobs spawn naturally around them. Optionally, idle players go AFK automatically (off by default) and come back on any activity.- Wandering trader → villager. Offer a wandering trader an emerald block and it may settle down as a villager of the local biome's type (5% chance, 40% once it has refused you before). Every offer costs one block.
- Evoker glow. An evoker glows for 10 seconds whenever it summons vexes, so you can find the caster.
- Structure spell protection (needs Ars Nouveau). Break, Animate Block, Intangible, Pull and Explosion can't remove or move blocks inside protected structures (by default, ocean monuments and YUNG's desert temples). Only blocks inside the structure's actual pieces are guarded: blocks outside them are affected normally, even in the same cast. Pull still works on mobs, explosions still deal damage, and every other spell works everywhere.
- JEI pages (needs JEI) for what isn't a crafting recipe: Mossy Amethyst infusion, Portal Rod binding, and every compass attunement, including datapack ones.
Configuration
Explorer's Tools has two config files.
config/explorerstools-common.toml: feature switches
One enabled switch per feature, all true by default. Changes need a restart. A disabled feature's items stay registered (so worlds don't lose them) but leave the creative tab and JEI and do nothing; its recipes, drops and /afk command disappear. On a server, the server's switches win: clients receive them when they join.
| Section | Turns off |
|---|---|
[surfaceWarper] |
Surface Warper and Mossy Amethyst |
[compassAttunement] |
The Fortress Finder and every datapack attunement |
[portalRods] |
Portal Rod and Crying Portal Rod |
[witherSkullFragment] |
The fragment, its drop and the skull recipe |
[afk] |
The /afk command |
[traderConversion] |
Wandering trader to villager conversion |
[evokerGlow] |
Evoker glow |
[structureSpellProtection] |
Structure spell protection |
config/explorerstools-server.toml: tunables
A copy in a world's serverconfig/ folder overrides it for that world.
| Section | Key | Default | Meaning |
|---|---|---|---|
surfaceWarper |
landingRing |
2 (0–4) |
When the column overhead has no safe landing spot, also try columns up to this many blocks out. |
compassAttunement |
searchRadius |
100 (1–100) |
How far attunements search, in structure-placement grid cells (not blocks). 100 matches /locate. |
afk |
countdownTicks |
60 (0–600) |
Countdown before /afk takes effect. Damage, moving or attacking cancels it. |
afk |
autoAfkMinutes |
0.0 |
Put idle players AFK after this many minutes. 0 = off. |
afk |
suppressMobSpawning |
true |
No natural mob spawns around an AFK player (unless an active player is also nearby). |
afk |
excludeFromSleep |
true |
AFK players don't count toward the players needed to sleep. |
traderConversion |
traderSettleChance |
0.05 |
Chance a trader settles down when offered an emerald block. |
traderConversion |
traderRefusedBonus |
0.35 |
Added to the chance once the trader has refused an offer. |
evokerGlow |
evokerGlowTicks |
200 |
How long an evoker glows after summoning vexes. |
evokerGlow |
evokerGlowRadius |
15 |
When a vex has no owner, evokers within this many blocks glow. |
structureSpellProtection |
protectedEffects |
Break, Animate Block, Intangible, Pull, Explosion | Ars Nouveau glyph ids that can't touch blocks in protected structures. |
structureSpellProtection |
blockUnderMiningFatigue |
false |
Also stop those glyphs touching blocks anywhere while the caster has Mining Fatigue. |
Datapacks
Explorer's Tools reads five kinds of data. Replace mypack with your own namespace.
Compass attunements
Each finder is a JSON file at data/<namespace>/explorerstools/attunement/<name>.json. Using its item in the main hand, with a compass in the off hand, points one compass at the nearest matching structure in the current dimension. The bundled Fortress Finder is data/explorerstools/explorerstools/attunement/fortress_finder.json.
Example, data/mypack/explorerstools/attunement/bastion_finder.json:
{
"item": "minecraft:ender_eye",
"structures": ["minecraft:bastion_remnant"],
"target_name": "Bastion Remnants",
"name": "Bastion Compass",
"name_color": "#55FFFF",
"consume": false,
"dimensions": ["minecraft:the_nether"],
"description": {"text": "Use in the Nether with a compass in your off hand", "color": "gray"},
"found_message": {"text": "The compass turns toward a bastion", "color": "aqua"},
"not_found_message": "No bastion nearby"
}
| Field | Meaning |
|---|---|
item |
Required. The item that attunes (any item; its own right-click use is replaced). |
structures |
Required. A structure id, a #tag, or a list of either. |
name |
Required. The attuned compass's name: plain text or a text component (e.g. {"translate": "..."}). A compass that already has a name keeps it. |
target_name |
Optional: what JEI says it finds. Defaults to the structure names. |
name_color |
Optional: a colour name (gold) or #RRGGBB. |
consume |
Optional, default true: whether the item is used up. |
dimensions |
Optional: where it works. Empty or absent means anywhere. |
description |
Optional tooltip line for the item. |
found_message, not_found_message |
Optional action-bar texts. |
To remove the Fortress Finder's attunement, or change it, override that file in your own pack. Attunements load when the world loads, so a new or edited one needs a restart (not just /reload).
Surface Warper uses
How many warps a Surface Warper holds (its durability) is a NeoForge data map. The mod's built-in data sets it to 3 in data/explorerstools/data_maps/item/surface_warper_uses.json. To change it, put a file at that same path in your datapack. Keep the explorerstools namespace: a data map's files live under the data map's own namespace, not your pack's.
{
"values": {
"explorerstools:surface_warper": { "uses": 5 }
}
}
uses must be at least 1. The new value applies on /reload, including to warpers already in the world, and the server sends it to clients so their durability bars match. If you lower it, a warper that has already used up the new total breaks on its next use.
Tags
| Tag | Type | Default contents | Used by |
|---|---|---|---|
explorerstools:fortress_finder_targets |
Structure | minecraft:fortress, #betterfortresses:better_fortresses (if present) |
What the Fortress Finder points at |
explorerstools:spell_protected |
Structure | minecraft:monument, betteroceanmonuments:ocean_monument, betterdeserttemples:desert_temple (if present) |
Structures Ars spells can't damage |
explorerstools:unsafe_landing |
Block | Magma block, cactus, campfire, soul campfire | Blocks the Surface Warper won't land you on |
Example: protect woodland mansions from spells, in data/explorerstools/tags/worldgen/structure/spell_protected.json:
{
"values": [
"minecraft:mansion",
{"id": "#minecraft:village", "required": false}
]
}
Example: point the Fortress Finder at a modded fortress too, in data/explorerstools/tags/worldgen/structure/fortress_finder_targets.json:
{
"values": [
{"id": "mymod:blackstone_fortress", "required": false}
]
}
Example: never land on pointed dripstone or sweet berry bushes, in data/explorerstools/tags/block/unsafe_landing.json:
{
"values": ["minecraft:pointed_dripstone", "minecraft:sweet_berry_bush"]
}
Tags add to the defaults. Put "replace": true at the top to start from an empty list instead.
Recipes and the feature_enabled condition
Every bundled recipe is an ordinary JSON recipe that can be overridden at the same path (data/explorerstools/recipe/<name>.json): mossy_amethyst, fortress_finder, portal_rod, portal_rod_unbind and wither_skeleton_skull. Each carries the explorerstools:feature_enabled condition, which is also available to your own recipes and loot modifiers. Its feature is a section name from the common config (surfaceWarper, compassAttunement, portalRods, witherSkullFragment, afk, traderConversion, evokerGlow or structureSpellProtection).
Example: a cheaper Fortress Finder that goes away along with the feature, in data/explorerstools/recipe/fortress_finder.json:
{
"neoforge:conditions": [
{"type": "explorerstools:feature_enabled", "feature": "compassAttunement"}
],
"type": "minecraft:crafting_shapeless",
"category": "misc",
"ingredients": [
{"item": "minecraft:compass"},
{"tag": "c:ingots/nether_brick"}
],
"result": {"id": "explorerstools:fortress_finder", "count": 1}
}
Loot modifiers (explorerstools:add_item)
The Wither Skull Fragment drop is a NeoForge global loot modifier of type explorerstools:add_item, which adds count (default 1) of item to a loot roll when every condition passes. Override data/explorerstools/loot_modifiers/wither_skull_fragment.json to change the drop, or add your own; new modifiers must also be listed in data/neoforge/loot_modifiers/global_loot_modifiers.json.
Example: fragments from wither skeletons in Nether fortress chests too, in data/mypack/loot_modifiers/fortress_fragments.json:
{
"neoforge:conditions": [
{"type": "explorerstools:feature_enabled", "feature": "witherSkullFragment"}
],
"type": "explorerstools:add_item",
"conditions": [
{"condition": "neoforge:loot_table_id", "loot_table_id": "minecraft:chests/nether_bridge"},
{"condition": "minecraft:random_chance", "chance": 0.25}
],
"item": "explorerstools:wither_skull_fragment",
"count": 2
}
and in data/neoforge/loot_modifiers/global_loot_modifiers.json:
{
"replace": false,
"entries": ["mypack:fortress_fragments"]
}
Mod compatibility
Handled out of the box, with nothing to configure. None of these are required.
| Mod | What Explorer's Tools does |
|---|---|
| Ars Nouveau (5.13+) | Enables structure spell protection. |
| JEI | Adds pages for Mossy Amethyst infusion, Portal Rod binding and every compass attunement. Disabled features' items are hidden. |
| YUNG's Better Nether Fortresses | The Fortress Finder points at YUNG's fortresses. If vanilla fortresses are disabled (YUNG's default), attunements skip them. |
| YUNG's Better Ocean Monuments | YUNG's monuments are spell-protected. Vanilla monuments are skipped by attunements when disabled. |
| YUNG's Better Desert Temples | YUNG's desert temples are spell-protected. Vanilla desert pyramids are skipped by attunements when disabled. |
| YUNG's Better Jungle Temples | Vanilla jungle pyramids are skipped by attunements when disabled. |
| YUNG's Better Mineshafts | Vanilla mineshafts (both kinds) are skipped by attunements when disabled. |
| YUNG's Better Witch Huts | Vanilla swamp huts are skipped by attunements when disabled. |
| Integrated Dungeons and Structures (IDAS) | Vanilla desert pyramids are skipped by attunements when IDAS disables them. |
| Integrated Villages | Vanilla villages are skipped by attunements when Integrated Villages disables them (off by default in that mod). |
The "skipped when disabled" checks read each mod's own config, so they follow whatever that mod is set to. These mods replace a vanilla structure but leave its placement registered; without the check, a search for the vanilla structure would generate chunk after chunk looking for one that never appears.
License
GPL-3.0-only





