Skip to content

Compatibility and API

MKI edited this page Oct 21, 2026 · 7 revisions

Compatibility and API

Required

Mod Loader Why
GeckoLib (for your Minecraft version) all Models and animations of the custom Monsters
Fabric API Fabric only Events, networking, HUD

Both are needed on the client and the server.

Optional integrations

All integrations switch on automatically when the other mod is installed – nothing to configure. Without them, Solo Mining runs normally. They only work where the other mod exists for your Minecraft version and loader.

Mod What changes
PartyLink A party counts as one group for natural gates (one gate per party instead of one per player), parties share access to their gate (portalAccessMode).
Loyal Companions Companions fight along in gates, but deal at most 3 damage per hit to gate monsters (companionMaxDamagePerHit), and monsters get slightly stronger. Companions are never removed from the gate world.
World Bosses Its bosses can appear as gate bosses at the highest ranks (with reduced strength). Its Worldbreaker gear counts as the highest gear tier and allows S+ gates.
Wild Creatures Example entries in solomining_custom_mobs.json add its bears and panthers to gates.
Any mob mod Add its monsters with solomining_custom_mobs.json – see Configuration.
Any item mod Sell its items in the shop with solomining_shop.json – see Configuration. Gear from other mods is rated for the gate rank if its ID follows the vanilla naming (…_diamond_chestplate, …_iron_sword).

Warning

Client mods that remove the Warden darkness (for example "Remove Warden Darkness") also remove the darkness of the boss entrance. Set bossIntroEffect to "blindness" if you use one.

API

Other mods can open gates through a small Java API in the package com.mki.solomining.api. Everything runs on the server thread. Treat Solo Mining as an optional dependency (compileOnly) and check that it is loaded before calling it.

Opening a gate

Optional<UUID> gate = SoloMiningApi.spawnGate(GateRequest.at(level, pos)
        .rank("S+")              // E D C B A S S+ S*   (default: E)
        .type("boss")            // normal treasure elite boss red s_star_special
        .landscape("canyon")     // decides the area, monsters and rulers
        .ruler(2)                // which of the area's two rulers: 1 or 2
        .expiresInMinutes(0));   // 0 = never expires, never breaks open
Option Default Meaning
rank(String) E Gate rank.
rankFixed(boolean) true false = recalculate the rank from the players' gear when the run starts, like a natural gate.
type(String) normal Gate type.
landscape(String) random Landscape inside the gate.
ruler(int) random Ruler 1 or 2 of the area.
allowPlayer(UUID) – Allow a player in. Naming players makes the gate theirs.
openToEveryone(boolean) true if no player is named Anyone may enter, regardless of portalAccessMode.
expiresInMinutes(int) portalExpireMinutes When an unused gate expires. 0 = never.
searchRadius(int) 8 How far from pos a free spot may be searched (0–32). The spot needs solid, dry ground and room for the frame.
announce(boolean) true Tell players about the gate (chat line and marker).

spawnGate returns the gate's id, or an empty Optional if there was no free spot. Unknown names throw an IllegalArgumentException.

Other methods

Method What it does
SoloMiningApi.closeGate(server, id) Remove a gate nobody is inside. Returns false while a run is in progress.
SoloMiningApi.gates() All gates currently standing: id, dimension, position, rank, type, entered, running.
SoloMiningApi.isGateMonster(entity) Is this one of the monsters or rulers of a gate run?
SoloMiningApi.isInGate(player) Is the player in the gate world (waiting room or valley)?
SoloMiningApi.ranks() / gateTypes() / landscapes() The accepted names.
SoloMiningApi.API_VERSION Raised whenever methods are added.

Without code, the same is available to command blocks and data packs as /solomining spawnat (see Commands).

Data-driven extension points

What Where Notes
Extra gate monsters and bosses config/solomining_custom_mobs.json Per area type, rank range and weight; entries for missing mods are skipped.
Shop offers and prices config/solomining_shop.json Any item ID, per tab, with Hunter Rank locks.
Extra chest loot config/solomining_loot.json Any item, enchantments, potions; per chest, rank, area and gate type.
Gate gear repair item Item tag solomining:gate_gear_repair Add items with a data pack.
Dig site loot Loot table solomining:archaeology/gate_dig Override it with a data pack.
Landscape biomes solomining:gate/<landscape> Sky, fog, colours, particles and music of each landscape; override with a data pack.
Gate world Dimension solomining:dungeon A void dimension; everything in it is placed by the mod.
Advancements solomining:<name> Use them as parents or triggers in your own data packs.

IDs

Items: solomining:gate_catalyst, gate_tracker, dungeon_exit_crystal, hunter_coin, essence_stone, mana_crystal, gate_fragment, gate_key_fragment, frost_shard, abyss_fang, ancient_relic, dungeon_core, boss_core

Gate gear: solomining:<set>_helmet, <set>_chestplate, <set>_leggings, <set>_boots, <set>_blade for the sets brood, colossus, pharaoh, tyrant, treant, void. Armor layers are equipment assets solomining:<set>; repair items come from the item tag solomining:gate_gear_repair (Boss Core by default).

Blocks: solomining:mining_portal, exit_portal, ready_pedestal, hunter_shop, gate_frame, gate_frame_lamp

Entities: solomining:cave_crawler, frost_ripper, dune_scorpion, ember_salamander, thorn_brute, void_stalker, crystal_golem, frost_yeti, tomb_mummy, cinder_imp, spore_shambler, sculk_hound, shadow_knight, riftling, bog_toad, magma_crab, tunnel_miner, burrow_worm, frost_wraith, glacier_beetle, jackal_guard, desert_cobra, lava_hound, ash_elemental, vine_lasher, moss_stag, void_mantis, void_leech, treasure_goblin, hunter_trader

Bosses: solomining:brood_queen, frost_colossus, sand_pharaoh, magma_tyrant, elder_treant, void_lord, deep_wyrm, frost_queen, sand_sphinx, lava_giant, thorn_witch, abyss_eye

Projectile: solomining:gate_shard (thrown by ranged creatures and bosses)

Sounds: solomining:entity.<creature>.ambient, .hurt, .death for every creature and boss – replace them with a resource pack.

Biomes: solomining:gate/taiga, autumn, frost_forest, ice_spikes, dunes, canyon, basalt_fields, ember_grove, jungle, blossom, pale_woods, sculk_depths

Advancements: solomining:root, first_gate, first_clear, elite_slayer, rank_a, rank_s, shopper, gate_collapsed, hunter_rank_s, plus five hidden ones.

Recognising Solo Mining things from your mod

  • Is this entity in a gate? Its level is the dimension solomining:dungeon.
  • Is this a gate monster? Use SoloMiningApi.isGateMonster(entity). Gate monsters are persistent and are removed by the mod when the run ends.
  • Spawning in the gate world: Solo Mining removes every mob in solomining:dungeon that it did not spawn itself, except named, leashed, ridden or owned animals and Loyal Companions. If your mod spawns things there, they will be removed (see removeNaturalDungeonMonsters / removeNaturalDungeonCreatures).

Clone this wiki locally