ChiriVulpes / soulus

A Minecraft mod. You must sift through the ashes of the dead to restore life to the world.
https://soulus.info
Other
3 stars 3 forks source link

No Mob Spawning - Use Dim ID # instead of a name #5

Closed Dragnier closed 6 years ago

Dragnier commented 6 years ago

The following:

"no_mob_spawning": {
        "the_aether": {
            "*": {
                "*": {
                    "spawn_chance": 1.0
                }
            }
        },
        "*": {
            "*": {
                "*": {
                    "spawn_chance": 0.0
                },
                "minecraft:wither": {
                    "spawn_chance": 1.0
                }
            }
        },
        "the_end": {
            "*": {
                "*": {
                    "spawn_chance": 1.0
                }
            }
        }
    }

Works fine for the vanilla dimensions. However, the Aether doesn't detect even though I've tried "aether", "the_aether", "Aether", and it's dim ID # of "4". Nothing can spawn. You might need to consider having the dimension search by Dim ID # instead of names or whatever.

ChiriVulpes commented 6 years ago

The dimension ID of the Aether is AetherI I'll put a command that returns the dimension & biome ids on my todo

Dragnier commented 6 years ago

Just for informational purposes, all dimensions have a number id as well. Aether is 4. This works universally; especially when the dimension doesn't have an actual name such as happens in mods like Advanced Rocketry. Having your command return both the name and the ID# would be useful with other mods' configs.

ChiriVulpes commented 6 years ago

Do you know of a quick way to go to other planets in creative in Advanced Rocketry, so I can test?

Dragnier commented 6 years ago

There is a mod called QuickHomes that also gives a simple /tpd command which uses the dim ID#. I suggest using it near the equivalent of spawn in any dimension though as it occasionally says it can't find a safe place to teleport if you are too far from spawn.

You can figure out dim ID#'s by looking at the folders inside of a save once they've been generated, but I don't know if they show up before that.

ChiriVulpes commented 6 years ago

The dimension id of Advanced Rocketry is planet, it seems to generate random planets if I tpd through each dimension number. With that in mind, I would recommend using the biome for disabling/enabling mobs on different planets. image

Dragnier commented 6 years ago

The problem with that is when you want those mobs to spawn in a dimension but not in the overworld, but they both have the same biome; minecraft:extreme_hills for instance. If you could find a way to make dimension ID#'s work as well as the names that you already use, that would solve the problem because dimension ID#'s are required to be unique when the name is not.

ChiriVulpes commented 6 years ago

I don't see the problem?

"no_mob_spawning": {
  "*": {
    "minecraft:extreme_hills": {
      "*": {
        "spawn_chance": 0.0
      }
    }
  },
  "planet": {
    "minecraft:extreme_hills": {
      "*": {
        "spawn_chance": 1.0
      }
    }
  }
}

Am I missing something? The only thing you can't do is separate the planet dimensions, which because of the way that mod is written would require the ids, but I'm not really a fan of that because then you can't do config sharing without just "hoping" that the dimension ids happen to be the same numbers. That's why I suggested using the biomes for separating planet spawn configs. Like:

"no_mob_spawning": {
  "planet": {
    "minecraft:*": {
      "*": {
        "spawn_chance": 0.0
      }
    },
    "advancedrocketry:*": {
      "*": {
        "spawn_chance": 0.5
      }
    },
    "advancedrocketry:moon": {
      "*": {
        "spawn_chance": 1.0
      }
    }
  }
}