Skip to content

For pack makers

Three ways to change the machines

All three make the same changes to the same machine tables, and all three reload with /reload.

Way Editions
Datapacks: data/<namespace>/mariculture/tweaks/*.json all three
KubeJS server scripts: Mariculture.add(...) all three
CraftTweaker: mods.mariculture.* 1.20.1 and 1.21.1 (CraftTweaker has no 26.1 release)

Where two of them add the same thing, CraftTweaker wins over KubeJS and KubeJS wins over datapacks. Additions win over Mariculture's own recipes; removals hide them. Changes apply on the server, so JEI on a client joined to a remote server shows the built-in tables.

The change format

A file, or a Mariculture.add call, holds one change, or {"changes": [...]} with several. Ids are registry ids, fluids are full fluid ids and amounts are in mB.

type Fields
vat_add fluid1 {fluid, amount}; optional fluid2, item + count, output_fluid, output_item {item, count}; time (in vat steps of 30 ticks); id
vat_remove output_item and/or output_fluid
melting_add input, temperature, fluid, amount; optional bonus + bonus_chance (1 in n)
melting_remove input
fuel_add one of item, tag, fluid; max_temperature, temperature_per_tick, ticks_per_step
fuel_remove one of item, tag, fluid
anvil_add input, output, count (default 1), hits
anvil_remove input
casting_add caster (ingot, nugget or block), fluid, result, amount (the caster's default)
casting_remove caster, result
loot_add item, chance (percent), rarity (junk, good, rare), dimension (any, overworld_like, nether, end), rod (dire, a rod tier, or any), exact (only that rod)
loot_remove item (from every rarity and dimension)
{"changes": [
  {"type": "vat_add", "fluid1": {"fluid": "minecraft:water", "amount": 500}, "fluid2": {"fluid": "minecraft:lava", "amount": 500},
   "output_item": {"item": "minecraft:stone", "count": 2}, "time": 3},
  {"type": "loot_add", "item": "minecraft:diamond", "chance": 5, "rarity": "rare", "dimension": "end", "rod": "super"},
  {"type": "loot_remove", "item": "minecraft:nether_star"}
]}

A broken file is skipped, with a log line naming the file and the field.

KubeJS

In kubejs/server_scripts/*.js, pass a change as an object, as {changes: [...]}, or as a JSON string:

Mariculture.add({type: 'anvil_add', input: 'minecraft:cobblestone', output: 'minecraft:gravel', hits: 2})
Mariculture.add({changes: [{type: 'melting_remove', input: 'minecraft:iron_ingot'}]})
Mariculture.add('{"type": "fuel_add", "tag": "c:rods/blaze", "max_temperature": 2000, "temperature_per_tick": 200, "ticks_per_step": 4}')

The changes are cleared before every server script load. KubeJS also loads kubejs/data/ as a datapack, so the JSON files above work there too.

CraftTweaker

mods.mariculture.Vat.addRecipe(<fluid:minecraft:water> * 500, <fluid:minecraft:lava> * 500, <item:minecraft:stone>, 2);
mods.mariculture.Crucible.addRecipe(900, <item:minecraft:diamond>, <fluid:mariculture:molten_iron> * 144);
mods.mariculture.Crucible.addFuel(<item:minecraft:blaze_rod>, 2000, 200, 2400);
mods.mariculture.Casting.addIngotRecipe(<fluid:minecraft:lava> * 250, <item:minecraft:magma_block>);
mods.mariculture.Anvil.addRecipe(<item:minecraft:cobblestone>, <item:minecraft:gravel>, 10);

Each has a matching removeRecipe (or removeFuel). Vat times are in vat steps of 30 ticks.

Fishing speed

fishing_speed_multiplier in the config (default 50) is how many ticks a Mariculture hook takes off its wait for a bite every tick, in water and in Nether lava. A datapack can override it and speed up single rods:

// data/<namespace>/mariculture/fishing_speed/<name>.json
{"speed_multiplier": 20, "rods": {"mariculture:titanium_fishing_rod": 10}}

Files are read in id order: the last speed_multiplier wins, rod bonuses add up, and the result never goes below 0.

Other mods

Each of these can be turned off under plugins in the config.

Mod What Mariculture does with it
Aquaculture 2 its worms are bait; Mariculture fish and salt make its fillets; its fish melt into fish oil
Biomes O' Plenty salinity and temperature for its biomes; its flowers crush into dye on the anvil
Railcraft Reborn its steel tools and armour melt in the crucible
Thermal Series redstone and glowstone melt into Thermal's fluids in the crucible
Tinkers' Construct (1.20.1) natural gas fuels the smeltery; titanium, rutile and magnesium melt, cast and alloy in it; every smeltery melting and casting also works in Mariculture's crucible and casters
Hephaestus (26.1.2) titanium, rutile and magnesium melt, cast and alloy in its smeltery; titanium makes tool parts; its meltings and castings work in Mariculture's machines
Forestry (1.20.1, 1.21.1) its bioethanol works as Mariculture's; fish squeeze into fish oil; its bees craft into bee bait
Complicated Bees its drones, princesses and queens craft into bee bait
Botania the living rod, petal bait, the Manafish, Botania loot on the living rod, and mana pearls from oysters
Blood Magic (1.20.1) / Neo Vitae (1.21.1, 26.1.2) the bound fishing rod, its bait and loot, and blood-shard mass fishing
Redstone Arsenal its flux-infused fishing rod catches Mariculture fish and loot; flux dust is bait
Thaumaturge (26.1.2) aspects on Mariculture's items

Which mod versions each edition supports is on Versions.