From 6096cc95623999828613e3a18efa9d6a5cf2e5f5 Mon Sep 17 00:00:00 2001 From: hypercross Date: Mon, 1 Dec 2025 11:59:26 +0800 Subject: [PATCH] refactor: try to add adventure maps --- .../config/supplementaries-common.toml | 4 ++-- .../structure/adventure_map_destinations.json | 21 +++++++++++++++++++ kubejs/server_scripts/src/armor_recipes.js | 2 +- kubejs/server_scripts/src/custom_trades.js | 9 ++++---- 4 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 kubejs/data/supplementaries/tags/worldgen/structure/adventure_map_destinations.json diff --git a/configureddefaults/config/supplementaries-common.toml b/configureddefaults/config/supplementaries-common.toml index f4e1f39..1c9d40c 100644 --- a/configureddefaults/config/supplementaries-common.toml +++ b/configureddefaults/config/supplementaries-common.toml @@ -603,9 +603,9 @@ [tweaks.map_tweaks] #Cartographers will sell 'adventurer maps' that will lead to a random vanilla structure (choosen from a thought out preset list). #Best kept disabled if you are adding custom adventurer maps with datapack (check the wiki for more) - random_adventurer_maps = false + random_adventurer_maps = true #Select a random structure to look for instead of iterating through all of the ones in the tag returning the closest. Turning on will make ones that have diff structures (aka all different ruined portals) show up more. On could take much more time to compute - random_adventurer_maps_select_random_structure = false + random_adventurer_maps_select_random_structure = true #Enables beacons, lodestones, respawn anchors, beds, conduits, portals to be displayed on maps by clicking one of them with a map block_map_markers = true #Shows a death marker on your map when you die. Requires a recovery compass in player inventory or similar diff --git a/kubejs/data/supplementaries/tags/worldgen/structure/adventure_map_destinations.json b/kubejs/data/supplementaries/tags/worldgen/structure/adventure_map_destinations.json new file mode 100644 index 0000000..1b0c3d0 --- /dev/null +++ b/kubejs/data/supplementaries/tags/worldgen/structure/adventure_map_destinations.json @@ -0,0 +1,21 @@ +{ + "replace": false, + "values": [ + "#minecraft:village", + "#minecraft:shipwreck", + "#minecraft:mineshaft", + "#minecraft:ocean_ruin", + "#minecraft:ruined_portal", + "#minecraft:bastion_remnant", + "#minecraft:desert_pyramid", + "#minecraft:end_city", + "#minecraft:jungle_pyramid", + "#minecraft:igloo", + "#minecraft:pillager_outpost", + "#minecraft:swamp_hut", + + "#betterdungeons:better_dungeons", + "#bettermineshafts:better_mineshafts", + "#betteroceanmonuments:better_ocean_monuments" + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/src/armor_recipes.js b/kubejs/server_scripts/src/armor_recipes.js index f9aca10..9f564bc 100644 --- a/kubejs/server_scripts/src/armor_recipes.js +++ b/kubejs/server_scripts/src/armor_recipes.js @@ -33,7 +33,7 @@ make_mechanical(event, 'minecraft:diamond_boots', 'minecraft:diamond', [ 'A A', 'A A', - ]) + ]); }); function make_mechanical(event, thing, material, shape){ event.remove({output: thing}); diff --git a/kubejs/server_scripts/src/custom_trades.js b/kubejs/server_scripts/src/custom_trades.js index d5d7fbb..8ee5e8f 100644 --- a/kubejs/server_scripts/src/custom_trades.js +++ b/kubejs/server_scripts/src/custom_trades.js @@ -15,16 +15,18 @@ const deco_list = [ '32x minecraft:diorite', '32x minecraft:granite', '32x minecraft:andesite', - '32x minecraft:stone', - '32x minecraft:mossy_cobblestone', + '32x minecraft:calcite', '32x minecraft:tuff', + '32x minecraft:cobblestone', + '32x minecraft:stone', + '32x minecraft:cobbled_deepslate', + '32x minecraft:deepslate', '32x minecraft:dirt', '32x minecraft:gravel', '32x minecraft:sand', '32x minecraft:mud', '32x minecraft:mud_bricks', '32x minecraft:stone_bricks', - '32x minecraft:cobbled_deepslate', ]; // level 3 sells enchantment books for random gem @@ -182,7 +184,6 @@ const gems = [ MoreJSEvents.villagerTrades((event) => { event.removeVanillaTrades(); - event.removeModdedTrades(); const professions = VillagerUtils.getProfessions(); professions.forEach(prof => { const profName = prof.name();