I'm playing in 1.15.2, so I don't have basalt deltas etc. what do i need to edit or delete to get rid of these errors in my startup just to keep things clean/speed it up a bit?
>.... [01:45:43 ERROR]: Couldn't parse loot table structures_crabmaster:biomes/crimson_forest
com.google.gson.JsonSyntaxException: Unknown biome 'minecraft:crimson_forest'
at net.minecraft.server.v1_15_R1.CriterionConditionLocation.a(SourceFile:143) ~[patched_1.15.2.jar:git-Purpur-580]
at java.util.Optional.orElseThrow(Optional.java:290) ~[?:1.8.0_242]
at net.minecraft.server.v1_15_R1.CriterionConditionLocation.a(SourceFile:143) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.LootItemConditionLocationCheck$a.b(SourceFile:58) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.LootItemConditionLocationCheck$a.b(SourceFile:37) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.LootItemConditions$a.deserialize(SourceFile:85) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.LootItemConditions$a.deserialize(SourceFile:73) ~[patched_1.15.2.jar:git-Purpur-580]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[patched_1.15.2.jar:git-Purpur-580]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[patched_1.15.2.jar:git-Purpur-580]
at com.google.gson.Gson.fromJson(Gson.java:952) ~[patched_1.15.2.jar:git-Purpur-580]
at com.google.gson.Gson.fromJson(Gson.java:925) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.LootPredicateManager.a(SourceFile:48) ~[patched_1.15.2.jar:git-Purpur-580]
at java.util.HashMap.forEach(HashMap.java:1289) ~[?:1.8.0_242]
at net.minecraft.server.v1_15_R1.LootPredicateManager.a(SourceFile:46) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.LootPredicateManager.a(SourceFile:22) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.ResourceDataAbstract.a(SourceFile:13) ~[patched_1.15.2.jar:git-Purpur-580]
at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670) ~[?:1.8.0_242]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_242]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_242]
at net.minecraft.server.v1_15_R1.Reloadable.a(SourceFile:71) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1121) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1114) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:2017) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:583) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:400) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:335) ~[patched_1.15.2.jar:git-Purpur-580]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:912) ~[patched_1.15.2.jar:git-Purpur-580]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Ah, interesting, I suppose I hadn't considered servers would be pickier about that too.
You might be able to delete these files to fix it?
Crabtures Base v0_9/data/structures_crabmaster/predicates/biomes/crimson_forest.json
Crabtures Base v0_9/data/structures_crabmaster/predicates/biomes/basalt_deltas.json
Crabtures Base v0_9/data/structures_crabmaster/predicates/biomes/warped_forest.json
Crabtures Base v0_9/data/structures_crabmaster/predicates/biomes/soul_sand_valley.json
And if it complains about functions calling predicates that don't exist then you can modify:
Crabtures Base v0_9/data/structures_crabmaster/functions/pick_nether_cave.mcfunction
Deleting lines 22 to 25:
execute as @s at @s if predicate structures_crabmaster:biomes/soul_sand_valley run scoreboard players set Biome Biome5556 111
execute as @s at @s if predicate structures_crabmaster:biomes/crimson_forest run scoreboard players set Biome Biome5556 112
execute as @s at @s if predicate structures_crabmaster:biomes/warped_forest run scoreboard players set Biome Biome5556 113
execute as @s at @s if predicate structures_crabmaster:biomes/basalt_deltas run scoreboard players set Biome Biome5556 114
Hopefully that's all that is needed to fix it, I can't recall off the top of my head where else might call these biomes, this file basically converts the detected biome into a number value so this should hopefully be the only time my system needs the predicates.
Well I'm more than happy to keep being a Paper/Purpur tester of this datapack for you
Thanks for the fix, I'll try it out and see if it works right now - I couldn't seem to find the files it was refering to since the error only said biomes/soul_sand not predicates/biomes/soul_sand
Success. No longer throws those errors, Deleting the files was sufficient
Got super busy lately, so that has delayed the completion of the next version a bit, but I just want to make a quick post mentioning that the pack appears to no longer work in 1.16 until I find a workaround for an issue introduced in Snapshot 20w21a.
They changed the Dimension NBT tag from numerical to namespace ID, meaning I'll need to update the files that utilize that to detect which dimension to scan, which I could create a hotfix for really quick except I've been trying all kinds of different ways of doing it and can't for the life of me get it to work with entities other than the Player now...?
I'll keep posted on if I find what I'm meant to do to fix this, just figure I'd pop this here in my search for a solution.
Fixed the issue preventing structures from spawning in 1.16. Luckily the solution allows the pack to still work in both 1.15 and 1.16. Big thanks to those that helped figure out how to fix the problem.
In 1.16 they changed the Dimension NBT tag from numerical to namespace ID (Overworld changed from 0 to minecraft:overworld), but also at the same time they straight up removed the Dimension tag from entities from what I understand.
There were places in the pack where I basically used this format to check entity dimensions:
/execute as @e[nbt={Dimension:0}]
Which now the method for doing this would be:
/execute in minecraft:overworld as @e[distance=0..]
This problem has been fixed and the pack should be playable in 1.16 now. Hopefully in a few weeks there will be another update as I finish the
new structures for the module pack.
Ive run into the bug that stops spawning new structures after the initial generation, while exploring new chunks. I tried removing the data pack, relauching, and adding it back to no avail. Let know if there's any other information i can provide.
Did you update your world to a newer version of Minecraft such as 1.16 to 1.16.1? A lot of the small updates they've been having have been causing weird issues.
If not, I feel I may have seen this bug before but never enough to figure out what causes it/how to fix it. Possibly exiting the world and loading it again? Or maybe using "/kill @e[type=minecraft:area_effect_cloud]" to kill several entities the pack uses and force it to reset them?
Hi, love your structure pack it brings alot of life into a minecraft world and the buildings are balanced lootwise compared to similar structure addons, also they look great!
However i have run into an issue that prevents me from running it on my world. Loading into the nether in 1.15.2 (only version tested) will immediately drop /forge tps down to low numbers causing mobs to stop reacting properly, If I check the console logs they are being spammed with and i mean SPAMMED "Keeping entity minecraft:area_effect_cloud that already exists with UUID" to the point the console will stop responding. Removing the data pack immediately fixes the issue, I have tried to manually remove Nether structures however I don't believe its structure related as it will spam the console regardless of structures appearing or not.
Sorry for the wall of text! and thanks for your time if you read this!
Ah woops, I didn't see this comment. Doing some research on that bug comes up with some crazy results. Seems issues like that have been plaguing servers for a while whenever Minecraft has some kind of strange error with the UUID of an entity, maybe trying to load one it cannot reach perhaps? The only solutions I can see are to try to /kill the entity with that UUID, or in this case you can probably get away with doing "/kill minecraft:area_effect_cloud" to get rid of all of them. This may need to be done while the pack is loaded. Hopefully just killing the corrupted entity fixes the problem, otherwise I'm not entirely sure what I could do with my pack to fix such an infamously weird bug. I could maybe look into what lines would need to be changed for the pack to do nothing when the player is in the Nether so you could change those.
Also for everyone else checking back to this thread: I recently updated the pack again, hadn't really bumped the thread to mention it though.
Excellent! This is really cool. I've been trying to setup a quality-of-life datapack for my friends' realms server and one of the features I'm trying to add in some capacity is a spawning box for desert temples to spawn husks. Finding that desert temples are handled completely differently from structures datapacks mess with I had mostly given up hope but this might be a step in the right direction! Tell me, might it be possible to use this custom structure spawner to make structures with unique mob spawns? I know the bastion uses structure files and spawns piglins, so it should be possible in theory, but I've found little to no information on how to do that, you seem like you might know.
Hey Crab! I just spotted a crazy huge castle in a mountain and I am pretty certain it wasn't placed by my other modifications! did you sneak a new large dungeon/castle to the current version? I can't wait to check it out - Also - if it isn't coming from your datapack I'm really confused (It was a genuinely good looking castle in mountain biome, in a freshly generated world, I do use a few other plugins and datapacks for worldgen features but none of them add anything like that to my knowledge)
Heh, sorry for the extremely late reply but if it was a somewhat square fortress with red carpet and spiral staircases then that was likely the big new dungeon that I added with that recent version!
Also, side note for anyone that finds this thread and might have an answer for me, when I eventually update this pack it will likely work a lot differently, basically the same structures with a new system of spawning... should I make a new thread? This datapack was designed as a framework for structures to be generated into the game back in 1.14 and 1.15, but in recent 1.16 updates a lot of that framework isn't as needed from what I can tell? I'm just thinking the new version might be different enough to consider as its own new thing, considering I'll have to rewrite the entire first post otherwise.
just found this thread and was wondering if this is similar to the mod RUINS? i have been using it and making structures for it for a few years and it seems that AtomicStryker has kinda disappeared.
At a quick glance, it does seem like my datapack could be compared to RUINS. (Though being a datapack likely not with the efficiency or quality of life that a mod can have?)
From what I can tell features added in 1.16.3 that are being worked on and I assume finalized in 1.17 are hopefully going to make it a lot easier to add custom structures to the game (you can now customize biomes in datapacks), so hopefully we'll see in the next year or so if anyone makes any good tools for generating datapacks of your own structures.
Say I want for half of the time to have a result from biome\86_end_sky that would not place a structure but instead would clear the entity that marks where the structure would go, would this work?
execute if score Random RandomOne5556 matches 500...900 run function cm_module_megamix:structures/empty
I realize I -could- just reduce the frequency after a reload but here's my issue;
I've temporarily removed the end dungeons (because I felt they were too easy/too looty and at the time, I didn't want to fix that (Although I then later did really nerf the treasure in end towers... but that's not the point) I also turned off the Monolith (I plant to give it a facelift) so for End_Sky I am left with, Towers, End_crystal_patch, and Airships (I took the end city airship from another datapack, reduced its loot, and added it in so that it'll generate randomly in the skys in my end, not just at cities)
My problem is, since I've only got 3 structures that generate in end_sky now, and because I do not want a ton of airships (because that would make getting elytra's far too easy) I end up with a ton of End Towers (which is why I reduced their loot), I'm bascally wondering if I can use the above line as a "Don't do anything here and clear the entities that are functioning as markers" so that I can easily pop a structure back into that space later without having to worry about balancing the generation rates again
As always, I am a fan, and, I've actually started working on a Module of sorts I call Cyats Traps - Boobytrapped structures and such to add a little boom to worlds run by evil admins.
Ayo Crab,
I'm playing in 1.15.2, so I don't have basalt deltas etc. what do i need to edit or delete to get rid of these errors in my startup just to keep things clean/speed it up a bit?
Ah, interesting, I suppose I hadn't considered servers would be pickier about that too.
You might be able to delete these files to fix it?
And if it complains about functions calling predicates that don't exist then you can modify:
Deleting lines 22 to 25:
Hopefully that's all that is needed to fix it, I can't recall off the top of my head where else might call these biomes, this file basically converts the detected biome into a number value so this should hopefully be the only time my system needs the predicates.
Well I'm more than happy to keep being a Paper/Purpur tester of this datapack for you
Thanks for the fix, I'll try it out and see if it works right now - I couldn't seem to find the files it was refering to since the error only said biomes/soul_sand not predicates/biomes/soul_sand
Success. No longer throws those errors, Deleting the files was sufficient
Got super busy lately, so that has delayed the completion of the next version a bit, but I just want to make a quick post mentioning that the pack appears to no longer work in 1.16 until I find a workaround for an issue introduced in Snapshot 20w21a.
They changed the Dimension NBT tag from numerical to namespace ID, meaning I'll need to update the files that utilize that to detect which dimension to scan, which I could create a hotfix for really quick except I've been trying all kinds of different ways of doing it and can't for the life of me get it to work with entities other than the Player now...?
I'll keep posted on if I find what I'm meant to do to fix this, just figure I'd pop this here in my search for a solution.
Unfortunately a patch to get the pack working in 1.16 will need to wait until this issue is resolved:
https://bugs.mojang.com/browse/MC-190598
Edit: A workaround has been found.
Fixed the issue preventing structures from spawning in 1.16. Luckily the solution allows the pack to still work in both 1.15 and 1.16. Big thanks to those that helped figure out how to fix the problem.
In 1.16 they changed the Dimension NBT tag from numerical to namespace ID (Overworld changed from 0 to minecraft:overworld), but also at the same time they straight up removed the Dimension tag from entities from what I understand.
There were places in the pack where I basically used this format to check entity dimensions:
Which now the method for doing this would be:
This problem has been fixed and the pack should be playable in 1.16 now. Hopefully in a few weeks there will be another update as I finish the
new structures for the module pack.
Ive run into the bug that stops spawning new structures after the initial generation, while exploring new chunks. I tried removing the data pack, relauching, and adding it back to no avail. Let know if there's any other information i can provide.
Did you update your world to a newer version of Minecraft such as 1.16 to 1.16.1? A lot of the small updates they've been having have been causing weird issues.
If not, I feel I may have seen this bug before but never enough to figure out what causes it/how to fix it. Possibly exiting the world and loading it again? Or maybe using "/kill @e[type=minecraft:area_effect_cloud]" to kill several entities the pack uses and force it to reset them?
Sorry for the late reply.
Hi, love your structure pack it brings alot of life into a minecraft world and the buildings are balanced lootwise compared to similar structure addons, also they look great!
However i have run into an issue that prevents me from running it on my world. Loading into the nether in 1.15.2 (only version tested) will immediately drop /forge tps down to low numbers causing mobs to stop reacting properly, If I check the console logs they are being spammed with and i mean SPAMMED "Keeping entity minecraft:area_effect_cloud that already exists with UUID" to the point the console will stop responding. Removing the data pack immediately fixes the issue, I have tried to manually remove Nether structures however I don't believe its structure related as it will spam the console regardless of structures appearing or not.
Sorry for the wall of text! and thanks for your time if you read this!
Ah woops, I didn't see this comment. Doing some research on that bug comes up with some crazy results. Seems issues like that have been plaguing servers for a while whenever Minecraft has some kind of strange error with the UUID of an entity, maybe trying to load one it cannot reach perhaps? The only solutions I can see are to try to /kill the entity with that UUID, or in this case you can probably get away with doing "/kill minecraft:area_effect_cloud" to get rid of all of them. This may need to be done while the pack is loaded. Hopefully just killing the corrupted entity fixes the problem, otherwise I'm not entirely sure what I could do with my pack to fix such an infamously weird bug. I could maybe look into what lines would need to be changed for the pack to do nothing when the player is in the Nether so you could change those.
Also for everyone else checking back to this thread: I recently updated the pack again, hadn't really bumped the thread to mention it though.
I am using this for my survival server and I cannot exaggerate this enough, BEST DATAPACK EVER!!!
Excellent! This is really cool. I've been trying to setup a quality-of-life datapack for my friends' realms server and one of the features I'm trying to add in some capacity is a spawning box for desert temples to spawn husks. Finding that desert temples are handled completely differently from structures datapacks mess with I had mostly given up hope but this might be a step in the right direction! Tell me, might it be possible to use this custom structure spawner to make structures with unique mob spawns? I know the bastion uses structure files and spawns piglins, so it should be possible in theory, but I've found little to no information on how to do that, you seem like you might know.
Hey Crab! I just spotted a crazy huge castle in a mountain and I am pretty certain it wasn't placed by my other modifications! did you sneak a new large dungeon/castle to the current version? I can't wait to check it out - Also - if it isn't coming from your datapack I'm really confused (It was a genuinely good looking castle in mountain biome, in a freshly generated world, I do use a few other plugins and datapacks for worldgen features but none of them add anything like that to my knowledge)
Heh, sorry for the extremely late reply but if it was a somewhat square fortress with red carpet and spiral staircases then that was likely the big new dungeon that I added with that recent version!
Also, side note for anyone that finds this thread and might have an answer for me, when I eventually update this pack it will likely work a lot differently, basically the same structures with a new system of spawning... should I make a new thread? This datapack was designed as a framework for structures to be generated into the game back in 1.14 and 1.15, but in recent 1.16 updates a lot of that framework isn't as needed from what I can tell? I'm just thinking the new version might be different enough to consider as its own new thing, considering I'll have to rewrite the entire first post otherwise.
just found this thread and was wondering if this is similar to the mod RUINS? i have been using it and making structures for it for a few years and it seems that AtomicStryker has kinda disappeared.
At a quick glance, it does seem like my datapack could be compared to RUINS. (Though being a datapack likely not with the efficiency or quality of life that a mod can have?)
From what I can tell features added in 1.16.3 that are being worked on and I assume finalized in 1.17 are hopefully going to make it a lot easier to add custom structures to the game (you can now customize biomes in datapacks), so hopefully we'll see in the next year or so if anyone makes any good tools for generating datapacks of your own structures.
Hey there Crab,
Say I want for half of the time to have a result from biome\86_end_sky that would not place a structure but instead would clear the entity that marks where the structure would go, would this work?
I realize I -could- just reduce the frequency after a reload but here's my issue;
I've temporarily removed the end dungeons (because I felt they were too easy/too looty and at the time, I didn't want to fix that (Although I then later did really nerf the treasure in end towers... but that's not the point) I also turned off the Monolith (I plant to give it a facelift) so for End_Sky I am left with, Towers, End_crystal_patch, and Airships (I took the end city airship from another datapack, reduced its loot, and added it in so that it'll generate randomly in the skys in my end, not just at cities)
My problem is, since I've only got 3 structures that generate in end_sky now, and because I do not want a ton of airships (because that would make getting elytra's far too easy) I end up with a ton of End Towers (which is why I reduced their loot), I'm bascally wondering if I can use the above line as a "Don't do anything here and clear the entities that are functioning as markers" so that I can easily pop a structure back into that space later without having to worry about balancing the generation rates again
As always, I am a fan, and, I've actually started working on a Module of sorts I call Cyats Traps - Boobytrapped structures and such to add a little boom to worlds run by evil admins.