@@ -1304,3 +1304,92 @@ dispatch minecraft:resource[pixelmon:npc_preset] to struct NPCPreset {
13041304 party: SelectorType<TeamSupplier>,
13051305 goals: SelectorType<Goals>,
13061306}
1307+
1308+ enum(string) PokedexRegistrationStatus {
1309+ UNKNOWN = "UNKNOWN",
1310+ SEEN = "SEEN",
1311+ CAUGHT = "CAUGHT",
1312+ }
1313+
1314+ enum(string) Gender {
1315+ MALE = "MALE",
1316+ FEMALE = "FEMALE",
1317+ NONE = "NONE",
1318+ }
1319+
1320+ dispatch minecraft:resource[pixelmon:pokedex_trigger] to struct PokedexTrigger {
1321+ events: [#[id(registry="pixelmon:")] string],
1322+ condition: InteractionCondition,
1323+ resulting_states: [PokedexRegistrationStatus],
1324+ player_context_key: string,
1325+ pokemon_context_key: string,
1326+ }
1327+
1328+ struct PokemonBase {
1329+ species: int,
1330+ form: string,
1331+ gender: Gender,
1332+ palette: string
1333+ }
1334+
1335+ dispatch minecraft:resource[pixelmon:pokedex_region] to struct Region {
1336+ generation_id: int,
1337+ name: Text,
1338+ starters: [PokemonBase],
1339+ pokemon: [int],
1340+ }
1341+
1342+ enum(string) PokemonProviderType {
1343+ ALL = "pixelmon:all",
1344+ ALL_WITH_PALETTE_TAG = "pixelmon:all_with_palette_tag",
1345+ DEX = "pixelmon:dex",
1346+ }
1347+
1348+ dispatch pixelmon:pokemon_provider_type[pixelmon:all] to struct {}
1349+
1350+ dispatch pixelmon:pokemon_provider_type[pixelmon:all_with_palette_tag] to struct {
1351+ tag: string
1352+ }
1353+
1354+ struct Dex {
1355+ dex: int,
1356+ form?: string,
1357+ palette?: string,
1358+ gender?: Gender,
1359+ }
1360+
1361+ dispatch pixelmon:pokemon_provider_type[pixelmon:dex] to struct {
1362+ dex_numbers: [Dex]
1363+ }
1364+
1365+ struct PokemonProvider {
1366+ type: #[id] PokemonProviderType,
1367+ ...pixelmon:pokemon_provider_type[[type]]
1368+ }
1369+
1370+ enum(string) PokemonPredicateType {
1371+ ANY = "pixelmon:any",
1372+ SPEC = "pixelmon:spec",
1373+ }
1374+
1375+ dispatch pixelmon:pokemon_predicate_type[pixelmon:any] to struct {}
1376+
1377+ dispatch pixelmon:pokemon_predicate_type[pixelmon:spec] to struct {
1378+ spec: string,
1379+ }
1380+
1381+ struct PokemonPredicate {
1382+ type: #[id] PokemonPredicateType,
1383+ ...pixelmon:pokemon_predicate_type[[type]]
1384+ }
1385+
1386+ dispatch minecraft:resource[pixelmon:pokedex] to struct Pokedex {
1387+ name: Text,
1388+ /// Used to determine which order the pokedexes appear in the survival tab
1389+ priority: int,
1390+ primary_color: Color,
1391+ secondary_color: Color,
1392+ text_color: Color,
1393+ pokemon: PokemonProvider,
1394+ accetpance_test: PokemonPredicate,
1395+ }
0 commit comments