Supplementaries

Supplementaries

107M Downloads

[❓]: Custom adventurer map via Data Pack

kkempfer opened this issue · 7 comments

commented

Your Question

What am I doing wrong to setup custom adventurer maps via a data pack ?

Detail

I am making a modpack using the following configuration:

Minecraft 1.19.2
Loader: Fabric 0.15.11
Supplementaries: 2.4.21-fabric (latest)
MoonLight Lib: 2.3.6-fabric (latest)

I struggle to setup custom adventurer maps. I carefully read the wiki:

At this stage, I do not know if there is a bug or not, thus my question: What am I doing wrong ?

Mod configuration: If I turn off the first option following the tooltip recommendation when one wants to use custom adventurer maps, the cartographer does not sell any adventurer maps anymore. If I turn if on, the cartographer sells the default maps.
image

My datapack structure: I confirmed in-game that my datapack has been loaded.
image

Content of igloo.json:

{
    "structure": "minecraft:igloo",
    "villagerLevel": 2,
    "mapMarker": "supplementaries:igloo"
}

I confirm that the issue persists if I only use Supplementaries (+ dependencies: MoonLight Lib, Fabric API) and get rid of all the other mods in the modpack.

Can you help me out ?

Cheers

commented

once it rolls a map trade but the map points to a structure that it cant be found the trade ails and it has an empty trade instead. this happens in vanilla aswell

commented

no if it sells air that confirms the trade is working

commented

Yes, exactly, thanks for confirming. I just mentioned the "air" sell for reference. I am not concerned about this.

In my test case "2-added-datapack" where I added my datapack and turned off the "random_adventurer_maps" option to False in supplementaries-common.json, the cartographer does not sell any adventurer map at all (nor air), even though it should either sell me "village" or "igloo" adventurer maps (or air) given the content of the datapack (minimal setup for testing).

commented

From a glance that seems right. The mod should print something in console when it loads those. Does it do that?

commented

Thank you for your quick reply ! I believe it did. See details below.

I did a fresh install on a new instance to reproduce the issue on a minimal setup.

  • 1-fresh-install: I only added Supplementaries and its dependencies. I kept the Supplementaries configuration to its default values. I created a new world and summoned a few Lvl2 cartographer. As expected, they sell adventurer maps using your default structure maps.
  • 2-added-datapack: I added my datapack in my world datapacks directory and turned the "random_adventurer_maps" option to False in supplementaries-common.json. I summoned new cartographers. None of them sold adventurer maps. Extract from the log:
[09:46:52] [Render thread/INFO]: Found new data pack Supplementaries Generated Pack, loading it automatically
[09:46:52] [Render thread/INFO]: Found new data pack file/adventurer-maps, loading it automatically
[09:46:52] [Render thread/INFO]: Generated runtime SERVER_DATA for pack Supplementaries Generated Pack in: 70 ms
  • 3-added-datapack-random-maps-true: I turned the "random_adventurer_maps" option to True. The behaviour is now the same as for 1-fresh-install. The mod does not seem to use my datapack.

Attached all the relevant files: results.zip

NB: Sometimes, the cartographer sells air. I did not investigate much yet, as I believe this is another minor issue. Maybe, it didn't find any suitable structure around the player.

commented

Did you have a chance to look at the issue ? I feel it's a bug. Should we escalate this ticket as a bug ?
Cheers,

commented

Hi,
I've been doing some tests (1.20.1 on forge, but had similar issues also on 1.19.2 forge) and apparently the minecraft:igloo is either just a bad pick for an example or there are some issues in locating it by Supplementaries. If you try something like a mineshaft or ancient city cartographers will sell you several maps without any issues.
For the igloo, in the log the game will print lines like this when you summon a cartographer, but he will not offer the trade (not even air, testing setting the trades on level 1 villagers to avoid possible vanilla air trades):
[Server thread/INFO] [Supplementaries/]: Searching for structure ResourceKey[minecraft:worldgen/structure / minecraft:igloo] from pos BlockPos{x=-97, y=64, z=63}

@kkempfer's Village example probably does not work because villages are now marked as minecraft:village_biome

Modded structures appear to suffer the same issue of minecraft:igloo, as you can see in the following screenshot and latest.log (attaching also the debug).
Before starting to summon cartographers I located via command a "dungeons_plus:tower" nearby (just to show in the log that the ID is correct). In my json I put a custom trade for maps to the ancient city and the aforementioned structure. At line 159 the log says:
[13Oct2024 17:51:20.761] [Server thread/INFO] [Supplementaries/]: Searching for structure ResourceKey[minecraft:worldgen/structure / dungeons_plus:tower] from pos BlockPos{x=-374, y=62, z=-356}
But the cartographer's trades are the ones in the screenshot. A previous cartographer offered correctly a map to an ancient city.

latest.log
2024-10-13_17 52 00

debug.log