Skip to content

Structures2

Derrick edited this page Aug 10, 2026 · 5 revisions

Structure files are the main files of the configuration. They contain the Structure Id, Spawner's information, and Pokemon information assigned to that Spawner. Loot tables are linked in this file by using the name of the json file in the "loot_table" folder.

Changes in the v2.0 structures are as follows:

  • blockEntityTypestoReplace is now blockTypesToReplace
  • uniqueReplacementBlocks is added and is optional
  • Changed "mob_spawner" to "spawner" since we look at block id now not block entity id.

Here is a example JSON file for a Structure with all fields:

Click To Expand:
{
  "structureId": "minecraft:fortress",
  "uniqueReplacementBlocks": {
    "minecraft:chest": "minecraft:skeleton"
  },
  "spawnerProperties": [
    {
      "blockTypesToReplace": ["minecraft:spawner"],
      "mobEntitiesInSpawnerToReplace": ["minecraft:blaze"],
      "ticksBetweenSpawnAttempts": 40,
      "spawnerCooldown": 36000,
      "playerDetectionRange": 14,
      "spawnRange": 4,
      "maximumNumberOfSimultaneousPokemon": 2,
      "maximumNumberOfSimultaneousPokemonAddedPerPlayer": 1,
      "totalNumberOfPokemonPerTrial": 4,
      "totalNumberOfPokemonPerTrialAddedPerPlayer": 1,
      "lootTables": ["cobblemontrialsedition:fortress"],
      "ominousLootTables": ["cobblemontrialsedition:ominous-fortress"],
      "ominousSpawnerAttacksEnabled": false,
      "doPokemonSpawnedGlow": true,
      "listOfPokemonToSpawn": [{
          "species": "charcadet",
          "weight": 80,
          "scaleModifier": 1,
          "isUncatchable": true,
          "mustBeDefeatedInBattle": true,
          "isAggressive": false,
          "isAlwaysAlpha": false,
          "aspects": "mini-boss",
          "spawnablePokemonStats": {
               "form": ["normal"],
               "level": 20,
               "gender": "male",
               "nature": "adamant",
               "defaultEVs": [0,0,0,10,0,20],
               "defaultIVs": [0,0,0,0,0,31],
               "ability": "flashfire",
               "moves": "flamecharge","lavaplume",
               "heldItem": "minecraft:blaze_powder"
               "dynaMaxLevel": 0,
               "teraType": "bug",
               "isShiny": false,
          }
        }],
      "listOfOminousPokemonToSpawn": [{
          "species": "armarouge",
          "weight": 80,
          "scaleModifier": 1,
          "isUncatchable": true,
          "mustBeDefeatedInBattle": true,
          "isAggressive": false,
          "isAlwaysAlpha": false,
          "aspects": "mini-boss",
          "spawnablePokemonStats": {
               "form": ["normal"],
               "level": 40,
               "gender": "male",
               "nature": "adamant",
               "defaultEVs": [0,0,0,10,0,20],
               "defaultIVs": [0,0,0,0,0,31],
               "ability": "flashfire",
               "moves": "armorcannon","lavaplume",
               "heldItem": "minecraft:blaze_rod"
               "dynaMaxLevel": 0,
               "teraType": "bug",
               "isShiny": false,
          }
        }]
    }
  ]
}

Here is the same example file with the minimum required fields:

Click to Expand:
  "structureId": "minecraft:fortress",
  "spawnerProperties": [
    {
      "blockTypesToReplace": ["minecraft:spawner"],
      "mobEntitiesInSpawnerToReplace": ["minecraft:blaze"],
      "lootTables": ["cobblemontrialsedition:fortress"],
      "ominousLootTables": ["cobblemontrialsedition:ominous-fortress"],
      "listOfPokemonToSpawn": [{
          "species": "charcadet"
        }],
      "listOfOminousPokemonToSpawn": [
        {
          "species": "armarouge"
        }]
    }
  ]
}

Here is a detailed breakdown of each field and what they do in the json file:


structureId - holderset(list or tags of ResourceLocations) - (Required)

  • The full id of the structure that the spawners will be replaced.
  • Examples: "minecraft:stronghold", ["nova_structures:trident_trial_monument", "minecraft:stronghold"]["#nova_structures:shrines"])

uniqueReplacementBlocks- _map of Resourcelocation, ResourceLocation- (Optional)

  • A Mappable list of Resourcelocations used to map any block to any type of entity to be replaced with a configuration.
  • Examples: "minecraft:sculk_shrieker": "minecraft:skeleton", "minecraft:gold_block": "minecraft:zombie") See Sculk_Patch json file for an example.

spawnerProperties - list of spawnerProperties - (Required)

  • An array of spawner properties. Each spawner property contains all of the information for a spawner replacement.

blockTypesToReplace - list of strings - (Required)

  • The ids of either the Mob Spawner or Trial Spawner that you want to replace with these settings in the structure, since it is an array you can list both.
  • Note: It cannot be any other id then the following:
  • minecraft:spawner
  • minecraft:trial_spawner

mobEntitiesInSpawnerToReplace - list of strings - (Required)

  • The ids of the mobs that exist in the spawner in the structure that you want to replace. This is a list, so if you want to replace multiple spawners that have different mobs in them with the same type of Cobblemon Trial Spawner, you can list them.
  • Example: if you want to replace a Mob Spawner that spawns blazes, you want to use the id of the blaze, "minecraft:blaze"
  • Note: If you are replacing Sculk Shriekers it needs to be the following:
  • minecraft:warden

ticksBetweenSpawnAttempts - int - (Optional) - Default: 40

  • The number of ticks the Cobblemon Trial Spawner will wait before attempting to spawn another pokemon.

spawnerCooldown - int - (Optional) - Default: 36000

  • The number of ticks the Cobblemon Trial Spawner waits after a trial is finished before being ready to spawn again.

playerDetectionRange - int - (Optional) - Default: 14

  • The number of blocks that the Cobblemon Trial Spawner will check for a player to activate and start spawning.

spawnRange - int - (Optional) - Default: 4

  • The number of blocks the Cobblemon Trial Spawner will check to spawn a Pokemon.

maximumNumberOfSimultaneousPokemon - int - (Optional) - Default: 2

  • The maximum number of pokemon the Cobblemon Trial Spawner will allow spawned at the same time.

maximumNumberOfSimultaneousPokemonAddedPerPlayer - int - (Optional) - Default: 1

  • The amount each additional player will add to the maximum limit the Cobblemon Trial Spawner will allow spawned at the same time.

totalNumberOfPokemonPerTrial - int - (Optional) - Default: 4

  • The total amount of Pokemon spawned by the Cobblemon Trial Spawner before the trial ends and loot is dispensed.

totalNumberOfPokemonPerTrialAddedPerPlayer - int - (Optional) - Default: 1

  • The amount each additional player will add to the total number of Pokemon the Cobblemon Trial Spawner will spawn per trial.

lootTables - list of lootTables - (Required)

  • The List of loot tables that the Cobblemon Trial Spawner will dispense from when a trial is completed.
  • Notes:
  • If replacing a Minecraft Trial Spawner, leaving this empty will have the Cobblemon Trial Spawner inherit the loot tables.
  • You can use any Loot Table, including Minecraft Loot Tables or other Modded Tables.
  • If you create your own Loot table in the "loot_table" folder, it will need the cobblemontrialsedition location. "cobblemontrialsedition:fortress"

ominousLootTables - list of lootTables - (Required)

  • The List of loot tables that the Cobblemon Trial Spawner will dispense when it is Ominous.
  • Notes:
  • If replacing a Minecraft Trial Spawner, leaving this empty will have the Cobblemon Trial Spawner inherit the loot tables.
  • You can use any Loot Table, including Minecraft Loot Tables or other Modded Tables.
  • If you create your own Loot table in the "loot_table" folder, it will need the cobblemontrialsedition location. "cobblemontrialsedition:fortress"

ominousSpawnerAttacksEnabled - boolean - (Optional) - Default: false

  • This will determine if the Spawner is Ominous, Splash potions will be ejected at players and pokemon during the duration of the trial.

doPokemonSpawnedGlow - boolean - (Optional) - Default: true

  • This determines if Spawned Pokemon from Cobblemon Trial Spawners are glowing.

listOfPokemonToSpawn - list of pokemonProperties - (Required)

  • This is a list of Pokemon that will be spawned by the Cobblemon Trial Spawner
  • Please see the Pokemon Page for a more detailed breakdown.

listOfOminousPokemonToSpawn - list of pokemonProperties - (Required)

  • This is a list of Pokemon that will be spawned by the Cobblemon Trial Spawner when it is Ominous.
  • Please see the Pokemon Page for a more detailed breakdown.

Clone this wiki locally