|
|
Line 59: |
Line 59: |
| *"spawnPokeMarts": If disabled, [[Poké Marts]] will not spawn naturally. | | *"spawnPokeMarts": If disabled, [[Poké Marts]] will not spawn naturally. |
| ==External JSON files== | | ==External JSON files== |
− | Structures can be edited by enabling the "useExternalJSONFiles", which will create a folder at the path, "pixelmon/structures" (relative to the ''Minecraft'' game directory). | + | Structures can be edited by enabling the "useExternalJSONFiles", which will create a folder at the path, "pixelmon/structures" (relative to the ''Minecraft'' game directory). Details about the contents of this folder and editable aspects can be found [[External JSON files#Structures|here]]. |
− | ===structures.json===
| |
− | This JSON file contains spawning data for all Pixelmon structures. It is split into three different arrays:
| |
− | *"towns" contains structures that spawn in [[towns]].
| |
− | *"gyms" contains [[Gyms]].
| |
− | *"standalone" contains all other structures that are not Gyms and do not spawn in towns.
| |
− | Each array consists of structures of that array's type. The three different types of structures each have different fields that can be specified.
| |
− | ====towns====
| |
− | *"id": The ID of the structure when spawned via the /struc [[command]]
| |
− | *"filename": The block snapshot file that defines the structure's block data, relative to "pixelmon/structures/towns".
| |
− | *"weighting": Used to determine the relative rarity of spawning the structure
| |
− | *"depth": How far into the ground the structure will spawn at.
| |
− | *"maxnum": The maximum amount of structures of this type that can spawn in a town.
| |
− | *"npcs": Data about NPCs that spawn in the structure.
| |
− | **"type": The type of [[NPC]] to spawn.
| |
− | **"data": Additional arguments modifying the NPC, such as "Main" or "Secondary" for [[shopkeepers]].
| |
− | **"x": The x component of the coordinate where the NPC spawns, relative to the origin of the structure.
| |
− | **"y": The y component of the coordinate where the NPC spawns, relative to the origin of the structure.
| |
− | **"z": The z component of the coordinate where the NPC spawns, relative to the origin of the structure.
| |
− | The town [[Pokémon Center]] JSON data is shown below as an example.
| |
− | {
| |
− | "id": "towncenter1",
| |
− | "filename": "pokecenter1.snapshot",
| |
− | "weighting": 20,
| |
− | "depth": 2,
| |
− | "maxnum": 1,
| |
− | "npcs": [
| |
− | {
| |
− | "type": "NurseJoy",
| |
− | "x": 9,
| |
− | "y": 3,
| |
− | "z": 7
| |
− | }
| |
− | ]
| |
− | }
| |
− | ====gyms====
| |
− | *"id": The ID of the structure when spawned via the /struc [[command]]
| |
− | *"filename": The block snapshot file that defines the Gym's block data, relative to "pixelmon/structures/gyms".
| |
− | *"npcdata": The JSON file that defines the Gym's [[NPC]] spawning data, relative to "pixelmon/structures/gyms".
| |
− | *"depth": How far into the ground the Gym will spawn at.
| |
− | The [[Grass Gym]] JSON data is shown below as an example.
| |
− | {
| |
− | "id": "grassgym",
| |
− | "filename": "grassgym.snapshot",
| |
− | "npcdata": "grassgym.json",
| |
− | "depth": 8
| |
− | }
| |
− | ====standalone====
| |
− | *"id": The ID of the structure when spawned via the /struc [[command]]
| |
− | *"filename": The block snapshot file that defines the Gym's block data, relative to "pixelmon/structures/standalone".
| |
− | *"biomes": The names of [[biomes]] that the structure can spawn in.
| |
− | *"rarity": Used to determine the relative rarity of spawning the structure.
| |
− | *"depth": How far into the ground the Gym will spawn at.
| |
− | The [[frozen shrine]] JSON data is shown below as an example.
| |
− | {
| |
− | "id": "iceshrine",
| |
− | "filename": "shrine1.snapshot",
| |
− | "biomes": [ "Ice Plains Spikes", "Ice Plains", "Ice Mountains", "Cold Taiga M" ],
| |
− | "rarity": 20,
| |
− | "depth": 0
| |
− | }
| |
− | ===Block snapshots===
| |
− | Block snapshot (.snapshot files) are used to define the blocks that make up a structure. They can be created and modified using the /psnapshot [[command]].
| |
− | {{CommandSyntax}}
| |
− | */psnapshot load <file name>: Loads a set of blocks previously saved to a file by /snapshot save.
| |
− | */psnapshot set: Sets a corner of the area to save at the player's location. If there are already two corners set when this command is used, the corner that was set first will be overwritten by the new corner.
| |
− | */psnapshot save: Saves the blocks in the area defined by the two previously set corners. Two corners must already be set in order for this command to work. If a set of blocks was already previously saved, it will be overwritten by the newly saved set of blocks.
| |
− | **/psnapshot save <file name>: Saves the blocks in the area like in /snapshot save. Also saves the blocks to a file (with the given name) in a "snapshots" folder inside the ''Minecraft'' folder. This file can be read back into ''Minecraft'' with the "load" argument.
| |
− | */psnapshot place: Copies the previously saved blocks and places them where the player is located.
| |
− | */psnapshot convert <file name>: Converts a snapshot created in ''Minecraft'' 1.8.9 and below into a snapshot compatible with ''Minecraft'' 1.10.2. This creates a new snapshot file with "-converted" appended to the original file name.
| |
− | ===Gym NPC data===
| |
− | [[NPCs]] inside [[Gyms]] are defined in a JSON file separate from the structures.json file. This JSON file is split into two arrays: | |
− | *"npcs" for data about NPCs themselves.
| |
− | *"pokemon" for data about possible Pokémon that [[NPC Trainers]] within the Gym can use.
| |
− | ====npcs====
| |
− | *"name": The ID of the NPC. This leads to the corresponding file at "pixelmon/npcs/gyms", which defines most of the data about the NPC such as dialogue and skins.
| |
− | *"type": The type of [[NPC]] to spawn.
| |
− | *"rotation": The rotation (yaw) of the NPC relative to the Gym's rotation.
| |
− | *"x": The x component of the coordinate where the NPC spawns, relative to the origin of the Gym structure.
| |
− | *"y": The y component of the coordinate where the NPC spawns, relative to the origin of the Gym structure.
| |
− | *"z": The z component of the coordinate where the NPC spawns, relative to the origin of the Gym structure.
| |
− | An entry for one of the [[Grass Gym]]'s [[NPC Trainers]] is shown below.
| |
− | {
| |
− | "name": "grassgymbase",
| |
− | "type": "trainer",
| |
− | "tier": 3,
| |
− | "rotation": 90,
| |
− | "x": 13,
| |
− | "y": 3,
| |
− | "z": 25
| |
− | }
| |
− | ====pokemon====
| |
− | *"name": The Pokémon's species.
| |
− | *"minLevel": The minimum level that the [[NPC Trainer]] can be in order to potentially use this Pokémon.
| |
− | *"maxLevel": The maximum level that the [[NPC Trainer]] can be in order to potentially use this Pokémon.
| |
− | *"sets": Defines data about the Pokémon moves, [[Abilities]], [[held items]], [[Natures]], and [[EVs]]. It is possible to have multiple sets for a Pokémon.
| |
− | **"move<number>": A move that the Pokémon can have in a certain moveslot. It is possible to define multiple moves for a moveslot; one will be randomly chosen when the Pokémon is used. Omitting a moveslot causes the Pokémon to have no move in the omitted slot.
| |
− | **"helditem": Defines possible [[held items]] that the Pokémon can hold. Omitting this field causes the Pokémon to not hold an item.
| |
− | **"nature": Defines possible [[Natures]] that the Pokémon can have. Omitting this field causes the Pokémon to randomly have any of the 24 Natures.
| |
− | **"ev<stat>": Defines the number of [[EVs]] that the Pokémon will have for a certain stat.
| |
− | **"doubleOnly": If set to true, the Pokémon will only appear if the [[NPC Trainer]] conducts double battles.
| |
− | **"lead": If set to true, the [[NPC Trainer]] will attempt to send out this Pokémon first during battle.
| |
− | An entry for one of the Pokémon inside the [[Grass Gym]] is shown below.
| |
− | {
| |
− | "name": "Servine",
| |
− | "minLevel": 17,
| |
− | "maxLevel": 35,
| |
− | "sets": [
| |
− | {
| |
− | "move1": [ "Giga Drain" ],
| |
− | "move2": [ "Reflect" ],
| |
− | "move3": [ "Light Screen" ],
| |
− | "move4": [ "Glare", "Leech Seed", "Synthesis", "Toxic" ],
| |
− | "heldItem": [ "pixelmon:light_clay" ],
| |
− | "nature": [ "Bold" ],
| |
− | "evHP": 252,
| |
− | "evDef": 252,
| |
− | "evSpDef": 4
| |
− | },
| |
− | {
| |
− | "minLevel": 31, // Only use the set at higher levels.
| |
− | "move1": [ "Leaf Blade" ],
| |
− | "move2": [ "Coil", "Swords Dance" ],
| |
− | "move3": [ "Aqua Tail", "Iron Tail", "Return" ],
| |
− | "move4": [ "Aqua Tail", "Iron Tail", "Return" ],
| |
− | "ability": [ "Overgrow" ],
| |
− | "heldItem": [ "pixelmon:muscle_band", "pixelmon:miracle_seed" ],
| |
− | "nature": [ "Adamant", "Jolly" ],
| |
− | "evAtk": 252,
| |
− | "evSpDef": 4,
| |
− | "evSpeed": 252
| |
− | }
| |
− | ]
| |
− | }
| |