Advanced-Rocketry / AdvancedRocketry

Space mod for minecraft
http://arwiki.dmodoomsirius.me/
MIT License
218 stars 274 forks source link

[1.16.5] All AR's worldgen stuff is put under the minecraft namespace instead of AR's modid #2165

Closed TelepathicGrunt closed 2 years ago

TelepathicGrunt commented 3 years ago

Hello, I am the developer of the mod called World Blender. My mod imports worldgen stuff from all other biomes to shove into my own dimension. However, a user found that blacklisting Advanced Rocketry's modid did not stop AR's stuff from being imported. I had my mod dump the registry for configuredfeatures, biomes, etc. And in there, I found entries like minecraft:crystal, minecraft:crystal_chasm, etc that are all from AR. This is a big problem as all of a mod's stuff should be under their own modid to make mod compat much easier and to prevent two mods from overriding each other if both accidentally do a minecraft:crystal configuredfeature instead of using their modid.

Here are all the problematic parts not using the modid for registering: https://github.com/Advanced-Rocketry/AdvancedRocketry/blob/c785de803cec773c9f81c55bc68dc642a6401a7d/src/main/java/zmaster587/advancedRocketry/api/AdvancedRocketryBiomes.java#L237

https://github.com/Advanced-Rocketry/AdvancedRocketry/blob/c785de803cec773c9f81c55bc68dc642a6401a7d/src/main/java/zmaster587/advancedRocketry/api/AdvancedRocketryBiomes.java#L132

https://github.com/Advanced-Rocketry/AdvancedRocketry/blob/c785de803cec773c9f81c55bc68dc642a6401a7d/src/main/java/zmaster587/advancedRocketry/api/AdvancedRocketryBiomes.java#L208

image

I hope this helps.

Diversion98 commented 3 years ago

I get every 5 minutes this error with a lag spike skipping arround 170 ticks everytime

If I delete the mod Advanced Rocketry, i don't get that error. I post it here because of the minecraft modid

[Server thread/ERROR] [net.minecraft.world.biome.BiomeGenerationSettings/]: Feature: Not a JSON object: "minecraft:ore_dilithium"; Not a JSON object: "minecraft:ore_aluminum"; Not a JSON object: "minecraft:ore_rutile"; Not a JSON object: "minecraft:ore_tin"; Not a JSON object: "minecraft:ore_copper"

uSkizzik commented 2 years ago

Shouldn't be hard to fix. Instead of passing the strings directly to Registry#register, they need to be turned into a ResourceLocation that takes the mod id and the string.

Edit: I'm here because a person in the Forge server had this exact same issue. Their server was crashing and their world even got corrupted. Here's their log if needed even tho I doubt it: https://paste.ee/p/FiNZQ

Edit 2: By "exact same issue" I meant exact same issue as Diversion98.