diff --git a/404.html b/404.html index f6fb5de1..e9668c3f 100644 --- a/404.html +++ b/404.html @@ -1,12 +1,31 @@ -Data Pack Generators Minecraft 1.15, 1.16, 1.17
\ No newline at end of file + + + + + + + 404 + + + + + + + +
+ + + diff --git a/advancement/index.html b/advancement/index.html index da53d39f..3d045592 100644 --- a/advancement/index.html +++ b/advancement/index.html @@ -1,12 +1,31 @@ -Advancement Generator Minecraft 1.15, 1.16, 1.17
\ No newline at end of file + + + + + + + Advancement Generator Minecraft 1.15, 1.16, 1.17 + + + + + + + +
+ + + diff --git a/assets/de.ba8c635a.js b/assets/de.ba8c635a.js new file mode 100644 index 00000000..945060b8 --- /dev/null +++ b/assets/de.ba8c635a.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"Kriterium","advancement.display":"Darstellung","advancement.display.announce_to_chat":"Im Chat bekanntgeben","advancement.display.background":"Hintergrund","advancement.display.description":"Beschreibung","advancement.display.frame":"Rahmen","advancement.display.frame.challenge":"Herausforderung","advancement.display.frame.goal":"Ziel","advancement.display.frame.task":"Aufgabe","advancement.display.help":"Wenn vorhanden, wird der Fortschritt in einem Fortschrittstab angezeigt.","advancement.display.hidden":"Versteckt","advancement.display.icon":"Icon","advancement.display.icon.item":"Icon-Gegenstands-ID","advancement.display.icon.nbt":"Icon-Gegenstandsdaten","advancement.display.show_toast":"Toast anzeigen","advancement.display.title":"Titel","advancement.parent":"Vorheriger Fortschritt","advancement.rewards":"Belohnungen","advancement.rewards.experience":"Erfahrungspunkte","advancement.rewards.function":"Funktion","advancement.rewards.loot":"Beutetabellen","advancement.rewards.recipes":"Rezepte","advancement_trigger.bee_nest_destroyed":"Bienennest zerstört","advancement_trigger.bred_animals":"Tiere gepaart","advancement_trigger.brewed_potion":"Tränke gebraut","advancement_trigger.changed_dimension":"Dimension gewechselt","advancement_trigger.channeled_lightning":"Blitze Entladen","advancement_trigger.construct_beacon":"Leuchtfeuer gebaut","advancement_trigger.consume_item":"Gegenstand konsumiert","advancement_trigger.cured_zombie_villager":"Dorfbewohnerzombie geheilt","advancement_trigger.effects_changed":"Statuseffekte verändert","advancement_trigger.enchanted_item":"Gegenstand verzaubert","advancement_trigger.enter_block":"Block betreten","advancement_trigger.entity_hurt_player":"Spieler verletzt","advancement_trigger.entity_killed_player":"Spieler getötet","advancement_trigger.filled_bucket":"Eimer gefüllt","advancement_trigger.fishing_rod_hooked":"Etwas geangelt","advancement_trigger.hero_of_the_village":"Held des Dorfes","advancement_trigger.impossible":"Unmöglich","advancement_trigger.inventory_changed":"Inventar verändert","advancement_trigger.item_durability_changed":"Gegenstandshaltbarkeit verändert","advancement_trigger.item_used_on_block":"Gegenstand auf Block angewendet","advancement_trigger.killed_by_crossbow":"Durch Armbrust getötet","advancement_trigger.levitation":"Schwebekraft","advancement_trigger.location":"Ort betreten","advancement_trigger.nether_travel":"Nether-Reise","advancement_trigger.placed_block":"Block platziert","advancement_trigger.player_generates_container_loot":"Spieler generiert Beute für Behälter","advancement_trigger.player_hurt_entity":"Spieler verletzt Objekt","advancement_trigger.player_killed_entity":"Spieler tötet Objekt","advancement_trigger.recipe_unlocked":"Rezept freigeschaltet","advancement_trigger.safely_harvest_honey":"Sichere Honiggewinnung","advancement_trigger.shot_crossbow":"Armbrust abgefeuert","advancement_trigger.slept_in_bed":"In Bett geschlafen","advancement_trigger.slide_down_block":"Block herunterrutschen","advancement_trigger.summoned_entity":"Objekt beschworen","advancement_trigger.tame_animal":"Tier gezähmt","advancement_trigger.target_hit":"Ziel getroffen","advancement_trigger.thrown_item_picked_up_by_entity":"Objekt hebt fallengelassensen Gegenstand auf","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Enderauge verwendet","advancement_trigger.used_totem":"Totem verwendet","advancement_trigger.villager_trade":"Mit Dorfbewohner gehandelt","advancement_trigger.voluntary_exile":"Freiwilliges Exil","attribute.generic_armor":"Rüstung","attribute.generic_armor_toughness":"Rüstungshärte","attribute.generic_attack_damage":"Angriffsschaden","attribute.generic_attack_knockback":"Angriffsrückstoß","attribute.generic_attack_speed":"Angriffsgeschwindigkeit","attribute.generic_flying_speed":"Fluggeschwindigkeit","attribute.generic_follow_range":"Verfolgungsreichweite","attribute.generic_knockback_resistance":"Rückstoßwiderstand","attribute.generic_luck":"Glück","attribute.generic_max_health":"Maximale Gesundheit","attribute.generic_movement_speed":"Laufgeschwindigkeit","attribute.horse.jump_strength":"Sprungkraft","attribute.zombie.spawn_reinforcements":"Unterstützung rufen","attribute_modifier.amount":"Menge","attribute_modifier.attribute":"Attribut","attribute_modifier.name":"Name","attribute_modifier.operation":"Operation","attribute_modifier.operation.addition":"Addition","attribute_modifier.operation.multiply_base":"Basiswert multiplizieren","attribute_modifier.operation.multiply_total":"Gesamtwert multiplizieren","attribute_modifier.slot":"Slots","badge.experimental":"Experimentell","badge.unstable":"Unsicher","biome.carvers":"Borer","biome.carvers.air":"Luft","biome.carvers.liquid":"Flüssigkeit","biome.category":"Kategorie","biome.creature_spawn_probability":"Spawnwahrscheinlichkeit des Wesens","biome.depth":"Tiefe","biome.downfall":"Niederschlag","biome.effects":"Effekte","biome.effects.additions_sound":"Zusätzliches Geräusch","biome.effects.additions_sound.sound":"Geräusch","biome.effects.additions_sound.tick_chance":"Wahrscheinlichkeit per Tick","biome.effects.ambient_sound":"Ungebungsgeräusch","biome.effects.fog_color":"Nebelfarbe","biome.effects.foliage_color":"Blattfarbe","biome.effects.grass_color":"Grasfarbe","biome.effects.grass_color_modifier":"Grasfabmodifikator","biome.effects.grass_color_modifier.dark_forest":"Dichter Wald","biome.effects.grass_color_modifier.none":"Keiner","biome.effects.grass_color_modifier.swamp":"Sumpf","biome.effects.mood_sound":"Stimmungsgeräusch","biome.effects.mood_sound.block_search_extent":"Blocksuchentfernung","biome.effects.mood_sound.offset":"Verschiebung","biome.effects.mood_sound.sound":"Geräusch","biome.effects.mood_sound.tick_delay":"Verzögerung in Ticks","biome.effects.music":"Musik","biome.effects.music.max_delay":"Maximale Verzögerung","biome.effects.music.min_delay":"Minimale Verzögerung","biome.effects.music.replace_current_music":"Aktuelle Musik ersetzen","biome.effects.music.sound":"Geräusch","biome.effects.particle":"Partikel","biome.effects.particle.options":"Optionen","biome.effects.particle.options.type":"Partikelart","biome.effects.particle.probability":"Wahrscheinlichkeit","biome.effects.sky_color":"Himmelsfarbe","biome.effects.water_color":"Wasserfarbe","biome.effects.water_fog_color":"Wassernebelfarbe","biome.features":"Merkmale","biome.features.entry":"Schritt %0%","biome.features.entry.entry":"Merkmal","biome.player_spawn_friendly":"Weltspawn möglich","biome.player_spawn_friendly.help":"Wenn „true“, wird der Weltspawn in diesem Biom bevorzugt.","biome.precipitation":"Witterung","biome.precipitation.none":"Keine","biome.precipitation.rain":"Regen","biome.precipitation.snow":"Schnee","biome.scale":"Skalierung","biome.spawn_costs":"Spawnkosten","biome.spawn_costs.charge":"Ladung","biome.spawn_costs.energy_budget":"Energiebudget","biome.spawners":"Spawner","biome.spawners.ambient":"Atmosphäre","biome.spawners.creature":"Kreatur","biome.spawners.entry":"Spawn","biome.spawners.entry.maxCount":"Maximale Anzahl","biome.spawners.entry.minCount":"Minimale Anzahl","biome.spawners.entry.type":"Typ","biome.spawners.entry.weight":"Gewichtung","biome.spawners.misc":"Verschiedene","biome.spawners.monster":"Monster","biome.spawners.water_ambient":"Wasseratmosphäre","biome.spawners.water_creature":"Wasserkreatur","biome.starts":"Strukturanfänge","biome.starts.entry":"Struktur","biome.starts.help":"Liste konfigurierter Strukturmerkmale","biome.surface_builder":"Oberflächengestalter","biome.temperature":"Temperatur","biome.temperature_modifier":"Temperaturmodifikator","biome.temperature_modifier.frozen":"Gefroren","biome.temperature_modifier.none":"Keiner","block.block":"Block-ID","block.nbt":"Blockdaten","block.state":"Blockzustand","block.tag":"Block-Aliasdaten","block_placer.column_placer.extra_size":"Extra Größe","block_placer.column_placer.min_size":"Minimale Größe","block_placer.type":"Typ","block_state.Name":"Name","block_state.Properties":"Eigenschaften","block_state_provider.rotated_block_provider.state":"Zustand","block_state_provider.simple_state_provider.state":"Zustand","block_state_provider.type":"Typ","block_state_provider.weighted_state_provider.entries":"Einträge","block_state_provider.weighted_state_provider.entries.entry.data":"Zustand","block_state_provider.weighted_state_provider.entries.entry.weight":"Gewichtung","carver.config":"Konfiguration","carver.config.probability":"Wahrscheinlichkeit","carver.type":"Typ","children":"Kinder","children.entry":"Eintrag","condition.alternative.terms":"Bedingungen","condition.block_state_property.block":"Block","condition.block_state_property.properties":"Blockzustand","condition.condition":"Bedingung","condition.damage_source":"Schadensquelle","condition.entity_properties.entity":"Objekt","condition.entity_scores.entity":"Objekt","condition.entity_scores.scores":"Punktestände","condition.entry":"Prädikat","condition.inverted.term":"Bedingung","condition.item":"Gegenstand","condition.killed_by_player.inverse":"Invertiert","condition.list":"Mehrere","condition.location":"Ort","condition.location_check.offsetX":"X-Verschiebung","condition.location_check.offsetY":"Y-Verschiebung","condition.location_check.offsetZ":"Z-Verschiebung","condition.object":"Einfach","condition.random_chance.chance":"Wahrscheinlichkeit","condition.random_chance_with_looting.chance":"Wahrscheinlichkeit","condition.random_chance_with_looting.looting_multiplier":"Plüderungsmultiplikator","condition.reference.name":"Prädikatname","condition.table_bonus.chances":"Wahrscheinlichkeiten","condition.table_bonus.chances.entry":"Wahrscheinlichkeit","condition.table_bonus.enchantment":"Verzauberung","condition.time_check.period":"Zeitraum","condition.time_check.period.help":"Wenn vorhanden, wird der Restwert von der Zeit geteilt durch diesen Wert gebildet. Wenn beispielsweise dieser Wert auf 24000 gesetzt wird, wird der Zeitwert auf Tagen operieren.","condition.time_check.value":"Wert","condition.weather_check.raining":"Regen","condition.weather_check.thundering":"Gewitter","conditions":"Bedingungen","conditions.entry":"Bedingung","conditions.list":"Bedingungen","conditions.object":"Veraltet","copy_source.block_entity":"Blockobjekt","copy_source.killer":"Mörder","copy_source.killer_player":"Mörderspieler","copy_source.this":"Selbst","criterion.bee_nest_destroyed.block":"Block","criterion.bee_nest_destroyed.num_bees_inside":"Anzahl Bienen","criterion.bred_animals.child":"Kind","criterion.bred_animals.parent":"Mutter","criterion.bred_animals.partner":"Vater","criterion.brewed_potion.potion":"Trank","criterion.changed_dimension.from":"Von","criterion.changed_dimension.to":"Nach","criterion.channeled_lightning.victims":"Getroffene","criterion.channeled_lightning.victims.entry":"Objekt","criterion.conditions":"Bedingungen","criterion.construct_beacon.beacon_level":"Pyramidenhöhe","criterion.consume_item.item":"Gegenstand","criterion.cured_zombie_villager.villager":"Dorfbewohner","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Statuseffekte","criterion.enchanted_item.item":"Gegenstand","criterion.enchanted_item.levels":"Erfahrungslevel","criterion.enter_block.block":"Block","criterion.enter_block.state":"Zustände","criterion.entity_hurt_player.damage":"Schaden","criterion.entity_killed_player.entity":"Quellobjekt","criterion.entity_killed_player.killing_blow":"Todesschlag","criterion.filled_bucket.item":"Gegenstand","criterion.fishing_rod_hooked.entity":"Gezogenes Objekt","criterion.fishing_rod_hooked.item":"Gegenstand","criterion.hero_of_the_village.location":"Ort","criterion.inventory_changed.items":"Gegenstände","criterion.inventory_changed.items.entry":"Gegenstand","criterion.inventory_changed.slots":"Slots","criterion.inventory_changed.slots.empty":"Leere Slots","criterion.inventory_changed.slots.full":"Volle Slots","criterion.inventory_changed.slots.occupied":"Belegte Slots","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Haltbarkeit","criterion.item_durability_changed.item":"Gegenstand","criterion.item_used_on_block.item":"Gegenstand","criterion.item_used_on_block.location":"Ort","criterion.killed_by_crossbow.unique_entity_types":"Anzahl einzigartiger Objekttypen","criterion.killed_by_crossbow.victims":"Getroffene","criterion.killed_by_crossbow.victims.entry":"Objekt","criterion.levitation.distance":"Distanz","criterion.levitation.duration":"Dauer","criterion.location.location":"Ort","criterion.nether_travel.distance":"Distanz","criterion.nether_travel.entered":"Startort","criterion.nether_travel.exited":"Zielort","criterion.placed_block.block":"Block","criterion.placed_block.item":"Gegenstand","criterion.placed_block.location":"Ort","criterion.placed_block.state":"Zustände","criterion.player":"Spieler","criterion.player_generates_container_loot.loot_table":"Beutetabelle","criterion.player_hurt_entity.damage":"Schaden","criterion.player_hurt_entity.entity":"Opferobjekt","criterion.player_killed_entity.entity":"Opferobjekt","criterion.player_killed_entity.killing_blow":"Todesschlag","criterion.recipe_unlocked.recipe":"Rezept","criterion.rod":"Angel","criterion.shot_crossbow.item":"Gegenstand","criterion.slept_in_bed.location":"Ort","criterion.slide_down_block.block":"Block","criterion.summoned_entity.entity":"Objekt","criterion.tame_animal.entity":"Tier","criterion.target_hit.projectile":"Geschoss","criterion.target_hit.shooter":"Schütze","criterion.target_hit.signal_strength":"Signalstärke","criterion.thrown_item_picked_up_by_entity.entity":"Objekt","criterion.thrown_item_picked_up_by_entity.item":"Gegenstand","criterion.trigger":"Auslöser","criterion.used_ender_eye.distance":"Distanz","criterion.used_totem.item":"Totem-Gegenstand","criterion.villager_trade.item":"Gekaufter Gegenstand","criterion.villager_trade.villager":"Dorfbewohner","criterion.voluntary_exile.location":"Ort","damage.blocked":"Geblocked","damage.dealt":"Schaden zugefügt","damage.source_entity":"Schadensverursacherobjekt","damage.taken":"Schaden genommen","damage.type":"Schadensart","damage_source.bypasses_armor":"Rüstung umgehen","damage_source.bypasses_invulnerability":"Leere","damage_source.bypasses_magic":"Hunger","damage_source.direct_entity":"Direktes Schadensquellobjekt","damage_source.is_explosion":"Explosion","damage_source.is_fire":"Feuer","damage_source.is_lightning":"Blitzschlag","damage_source.is_magic":"Magie","damage_source.is_projectile":"Geschoss","damage_source.source_entity":"Schadensverurscherobjekt","decorator.carving_mask.step":"Generierungsschritt","decorator.config":"Konfiguration","decorator.count.count":"Anzahl","decorator.count_extra.count":"Anzahl","decorator.count_extra.extra_chance":"Zusätzliche Wahrscheinlichkeit","decorator.count_extra.extra_count":"Zusätzliche Anzahl","decorator.count_multilayer.count":"Anzahl","decorator.count_noise.above_noise":"Oberhalb des Rauschens","decorator.count_noise.below_noise":"Unterhalb des Rauschens","decorator.count_noise.noise_level":"Rauschlevel","decorator.count_noise_biased.noise_factor":"Rauschfaktor","decorator.count_noise_biased.noise_offset":"Rauschverschiebung","decorator.count_noise_biased.noise_to_count_ratio":"Verhältnis von Rauschen zu Anzahl","decorator.decorated.inner":"Innerer","decorator.decorated.outer":"Äußérer","decorator.depth_average.baseline":"Grundlinie","decorator.depth_average.spread":"Ausbreitung","decorator.glowstone.count":"Anzahl","decorator.type":"Typ","dimension":"Dimension","dimension.generator":"Generator","dimension.generator.biome_source":"Biomquelle","dimension.overworld":"Oberwelt","dimension.the_end":"Das Ende","dimension.the_nether":"Der Nether","dimension.type":"Dimensionstyp","dimension.type.object":"Benutzerdefiniert","dimension.type.string":"Vorlage","dimension_type.ambient_light":"Umgebungslicht","dimension_type.ambient_light.help":"Wert zwischen 0 und 1.","dimension_type.bed_works":"Bett funktioniert","dimension_type.coordinate_scale":"Koordinatenskalierung","dimension_type.effects":"Effekte","dimension_type.effects.overworld":"Oberwelt","dimension_type.effects.the_end":"Das Ende","dimension_type.effects.the_nether":"Der Nether","dimension_type.fixed_time":"Feste Zeit","dimension_type.fixed_time.help":"Wenn dieser Wert gesetzt ist, ist die Zeit an diesem Wert für diese Dimension angehalten und die Sonne bzw. der Mond bleiben an derselben Stelle.","dimension_type.has_ceiling":"Hat Decke","dimension_type.has_raids":"Hat Überfälle","dimension_type.has_skylight":"Hat Tageslicht","dimension_type.infiniburn":"Dauerbrenner","dimension_type.logical_height":"Logische Höhe","dimension_type.name":"Name","dimension_type.natural":"Natürlich","dimension_type.natural.help":"Wenn „true“, erzeugen Nether-Portale zombifizierte Piglins. Wenn „false“, rotieren Kompasse und Uhren zufällig.","dimension_type.piglin_safe":"Piglinsicher","dimension_type.respawn_anchor_works":"Seelenanker funktioniert","dimension_type.ultrawarm":"Superwarm","dimension_type.ultrawarm.help":"Wenn „true“, verdampft Wasser und Schwämme trocknen.","distance.absolute":"Absolut","distance.horizontal":"Horizontal","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Wasseraffinität","enchantment.bane_of_arthropods":"Nemesis der Gliederfüßer","enchantment.binding_curse":"Fluch der Bindung","enchantment.blast_protection":"Explosionsschutz","enchantment.channeling":"Entladung","enchantment.depth_strider":"Wasserläufer","enchantment.efficiency":"Effizienz","enchantment.enchantment":"Verzauberung","enchantment.feather_falling":"Federfall","enchantment.fire_aspect":"Verbrennung","enchantment.fire_protection":"Feuerschutz","enchantment.flame":"Flamme","enchantment.fortune":"Glück","enchantment.frost_walker":"Eisläufer","enchantment.impaling":"Harpune","enchantment.infinity":"Unendlichkeit","enchantment.knockback":"Rückstoß","enchantment.levels":"Level","enchantment.looting":"Plünderung","enchantment.loyalty":"Treue","enchantment.luck_of_the_sea":"Glück des Meeres","enchantment.lure":"Köder","enchantment.mending":"Reparatur","enchantment.multishot":"Mehrfachschuss","enchantment.piercing":"Durchschuss","enchantment.power":"Stärke","enchantment.projectile_protection":"Schusssicher","enchantment.protection":"Schutz","enchantment.punch":"Schlag","enchantment.quick_charge":"Schnellladen","enchantment.respiration":"Atmung","enchantment.riptide":"Sog","enchantment.sharpness":"Schärfe","enchantment.silk_touch":"Behutsamkeit","enchantment.smite":"Bann","enchantment.sweeping":"Schwungkraft","enchantment.thorns":"Dornen","enchantment.unbreaking":"Haltbarkeit","enchantment.vanishing_curse":"Fluch des Verschwindens","entity.distance":"Distanz","entity.effects":"Statuseffekte","entity.equipment":"Ausrüstung","entity.fishing_hook":"Angelhaken","entity.fishing_hook.in_open_water":"In offenem Gewässer","entity.flags":"Markierungen","entity.isBaby":"Baby","entity.isOnFire":"Brennt","entity.isSneaking":"Schleicht","entity.isSprinting":"Rennt","entity.isSwimming":"Schwimmt","entity.location":"Ort","entity.nbt":"NBT-Daten","entity.player":"Spieler","entity.targeted_entity":"Ausgewältes Objekt","entity.team":"Team","entity.type":"Objekt","entity.vehicle":"Gefährt","entity_source.killer":"Mörder","entity_source.killer_player":"Mörderspieler","entity_source.this":"Selbst","entry":"Eintrag","error":"Fehler","error.expected_boolean":"Wahrheitswer erwartet","error.expected_integer":"Ganzzahl erwartet","error.expected_json":"JSON erwartet","error.expected_list":"Array erwartet","error.expected_number":"Zahl erwartet","error.expected_object":"Objekt erwartet","error.expected_range":"Wertebereich erwartet","error.expected_string":"Zeichenkette erwartet","error.expected_uniform_int":"Gleichmäßige Verteilung erwartet","error.invalid_binomial":"Binomialverteilung wird in diesem Wertebereich nicht unterstützt","error.invalid_empty_list":"Array darf nicht leer sein","error.invalid_empty_string":"Zeichenkette darf nicht leer sein","error.invalid_enum_option":"Ungültige Option „%0%“","error.invalid_exact":"Dieser Wertebereich unterstützt keine Konstante","error.invalid_number_range.between":"Zahl zwischen %0% und %1% erwartet","error.invalid_pattern":"Zeichenkette ist ungültig: %0%","error.recipe.invalid_key":"Schlüssel darf nur ein einzelnes Zeichen sein","error.separation_smaller_spacing":"Aufteilung muss kleiner als Abstand sein","false":"Falsch","feature.bamboo.probability":"Wahrscheinlichkeit","feature.basalt_columns.height":"Höhe","feature.basalt_columns.reach":"Reichweite","feature.block_pile.state_provider":"Zustanderzeuger","feature.config":"Konfiguration","feature.decorated.decorator":"Dekorator","feature.decorated.feature":"Merkmal","feature.delta_feature.contents":"Inhalte","feature.delta_feature.rim":"Rand","feature.delta_feature.rim_size":"Randgröße","feature.delta_feature.size":"Größe","feature.disk.half_height":"Halbe Höhe","feature.disk.radius":"Radius","feature.disk.state":"Zustand","feature.disk.targets":"Ziele","feature.disk.targets.entry":"Zustand","feature.emerald_ore.state":"Zustand","feature.emerald_ore.target":"Ziel","feature.end_gateway.exact":"Exakt","feature.end_gateway.exit":"Ausgang","feature.end_spike.crystal_beam_target":"Kristallstrahlziel","feature.end_spike.crystal_invulnerable":"Endkristall Unzerstörbar","feature.end_spike.spikes":"Zacken","feature.end_spike.spikes.entry":"Zacken","feature.end_spike.spikes.entry.centerX":"X Mitte","feature.end_spike.spikes.entry.centerZ":"Z Mitte","feature.end_spike.spikes.entry.guarded":"Eisengitterkäfig","feature.end_spike.spikes.entry.height":"Höhe","feature.end_spike.spikes.entry.radius":"Radius","feature.fill_layer.height":"Höhe","feature.fill_layer.state":"Zustand","feature.flower.blacklist":"Blacklist","feature.flower.block_placer":"Blackplatzierer","feature.flower.can_replace":"Kann Ersetzen","feature.flower.need_water":"Benötigt Wasser","feature.flower.project":"Projizieren","feature.flower.state_provider":"Zustandserzeuger","feature.flower.tries":"Versuche","feature.flower.whitelist":"Whitelist","feature.flower.xspread":"X Ausbreitung","feature.flower.yspread":"Y Ausbreitung","feature.flower.zspread":"Z Ausbreitung","feature.forest_rock.state":"Zustand","feature.huge_brown_mushroom.cap_provider":"Schirmerzeuger","feature.huge_brown_mushroom.foliage_radius":"Schirmradius","feature.huge_brown_mushroom.stem_provider":"Stielerzeuger","feature.huge_fungus.decor_state":"Dekoration","feature.huge_fungus.hat_state":"Schirm","feature.huge_fungus.planted":"Gepflanzt","feature.huge_fungus.stem_state":"Stiel","feature.huge_fungus.valid_base_block":"Erlaubter Untergrund","feature.huge_red_mushroom.cap_provider":"Schirmerzeuger","feature.huge_red_mushroom.foliage_radius":"Schirmradius","feature.huge_red_mushroom.stem_provider":"Stielerzeuger","feature.ice_patch.half_height":"Halbe Höhe","feature.ice_patch.radius":"Radius","feature.ice_patch.state":"Zustand","feature.ice_patch.targets":"Ziele","feature.ice_patch.targets.entry":"Zustand","feature.iceberg.state":"Zustand","feature.lake.state":"Zustand","feature.nether_forest_vegetation.state_provider":"Zustanderzeuger","feature.netherrack_replace_blobs.radius":"Radius","feature.netherrack_replace_blobs.state":"Zustand","feature.netherrack_replace_blobs.target":"Ziel","feature.no_surface_ore.size":"Größe","feature.no_surface_ore.state":"Zustand","feature.no_surface_ore.target":"Ziel","feature.object":"Benutzerdefiniert","feature.ore.size":"Größe","feature.random_boolean_selector.feature_false":"Merkmal 1","feature.random_boolean_selector.feature_true":"Merkmal 2","feature.random_patch.blacklist":"Blacklist","feature.random_patch.block_placer":"Blockplatzierer","feature.random_patch.can_replace":"Kann Ersetzen","feature.random_patch.need_water":"Benötigt Wasser","feature.random_patch.project":"Projizieren","feature.random_patch.state_provider":"Zustanderzeuger","feature.random_patch.tries":"Versuche","feature.random_patch.whitelist":"Whitelist","feature.random_patch.xspread":"X Ausbreitung","feature.random_patch.yspread":"Y Ausbreitung","feature.random_patch.zspread":"Z Ausbreitung","feature.random_selector.default":"Standard","feature.random_selector.features":"Merkmale","feature.random_selector.features.entry":"Merkmal","feature.random_selector.features.entry.chance":"Wahrscheinlichkeit","feature.random_selector.features.entry.feature":"Merkmal","feature.sea_pickle.count":"Anzahl","feature.seegrass.probability":"Wahrscheinlichkeit","feature.simple_block.place_in":"Innerhalb platzieren","feature.simple_block.place_in.entry":"Zustand","feature.simple_block.place_on":"Platzieren auf","feature.simple_block.place_on.entry":"Zustand","feature.simple_block.place_under":"Unterhalb platzieren","feature.simple_block.place_under.entry":"Zustand","feature.simple_block.to_place":"Zu platzieren","feature.simple_random_selector.features":"Merkmale","feature.simple_random_selector.features.entry":"Merkmal","feature.spring_feature.hole_count":"Menge Löcher","feature.spring_feature.required_block_below":"Benötigt block unterhalb","feature.spring_feature.rock_count":"Menge Fels","feature.spring_feature.state":"Zustand","feature.spring_feature.valid_blocks":"Erlaubte Blöcke","feature.string":"Referenz","feature.tree.decorators":"Dekoratoren","feature.tree.decorators.entry":"Baumdekorator","feature.tree.foliage_placer":"Blattplatzierer","feature.tree.heightmap":"Höhenfeld","feature.tree.ignore_vines":"Ranken ignorieren","feature.tree.leaves_provider":"Blattblockerzeuger","feature.tree.max_water_depth":"Maximale Wassertiefe","feature.tree.minimum_size":"Minimale Größe","feature.tree.minimum_size.limit":"Limit","feature.tree.minimum_size.lower_size":"Untere Größe","feature.tree.minimum_size.middle_size":"Mittlere Größe","feature.tree.minimum_size.min_clipped_height":"Minimale Größe","feature.tree.minimum_size.type":"Minimale Größe","feature.tree.minimum_size.upper_limit":"Obere Grenze","feature.tree.minimum_size.upper_size":"Obere Größe","feature.tree.trunk_placer":"Stammplatzierer","feature.tree.trunk_provider":"Stammblockerzeuger","feature.type":"Typ","fluid.fluid":"Flüssigkeits-ID","fluid.state":"Flüssigkeitszustand","fluid.tag":"Flüssigkeitsaliasdaten","fluid_state.Name":"Name","fluid_state.Properties":"Eigenschaften","foliage_placer.crown_height":"Kronenhöhe","foliage_placer.height":"Höhe","foliage_placer.offset":"Verschiebung","foliage_placer.radius":"Radius","foliage_placer.trunk_height":"Stammhöhe","foliage_placer.type":"Typ","function.apply_bonus.enchantment":"Verzauberung","function.apply_bonus.formula":"Formel","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial mit Bonusmenge","function.apply_bonus.formula.ore_drops":"Erzdrops","function.apply_bonus.formula.uniform_bonus_count":"Gleichmäßige Verteilung mit Bonusmenge","function.apply_bonus.parameters":"Parameter","function.apply_bonus.parameters.bonusMultiplier":"Muliplikator","function.apply_bonus.parameters.extra":"Bonusmenge","function.apply_bonus.parameters.probability":"Wahrscheinlichkeit","function.copy_name.source":"Quelle","function.copy_nbt.ops":"NBT-Operationen","function.copy_nbt.ops.entry":"Operation","function.copy_nbt.source":"Quelle","function.copy_state.block":"Block","function.copy_state.properties":"Eigenschaften","function.copy_state.properties.entry":"Eigenschaft","function.enchant_randomly.enchantments":"Optionale Verzauberungen","function.enchant_randomly.enchantments.entry":"Verzauberung","function.enchant_with_levels.levels":"Level","function.enchant_with_levels.treasure":"Schatz","function.exploration_map.decoration":"Dekoration","function.exploration_map.destination":"Ziel","function.exploration_map.search_radius":"Suchradius (Chunks)","function.exploration_map.skip_existing_chunks":"Bereits generierte Chunks ignorieren","function.exploration_map.zoom":"Zoom","function.fill_player_head.entity":"Objekt","function.function":"Funktion","function.limit_count.limit":"Grenze","function.looting_enchant.count":"Anzahl","function.looting_enchant.limit":"Grenze","function.set_attributes.modifiers":"Modifikatoren","function.set_attributes.modifiers.entry":"Modifikator","function.set_contents.entries":"Inhalte","function.set_contents.entries.entry":"Eintrag","function.set_count.count":"Anzahl","function.set_damage.damage":"Schaden","function.set_data.data":"Daten","function.set_loot_table.name":"Beutetabellenname","function.set_loot_table.seed":"Seed","function.set_lore.entity":"Objekt","function.set_lore.lore":"Beschreibung","function.set_lore.lore.entry":"Zeile","function.set_lore.replace":"Ersetzen","function.set_name.entity":"Objekt","function.set_name.name":"Name","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Statuseffekte","function.set_stew_effect.effects.entry":"Statuseffekt","function.set_stew_effect.effects.entry.duration":"Wirkungsdauer","function.set_stew_effect.effects.entry.type":"Effekt","functions":"Funktionen","functions.entry":"Funktion","gamemode.adventure":"Abenteuer","gamemode.creative":"Kreativ","gamemode.spectator":"Zuschauer","gamemode.survival":"Überleben","generation_step.air":"Luft","generation_step.liquid":"Flüssigkeit","generator.biome_source.altitude_noise":"Höhenrauschen","generator.biome_source.biome":"Biom","generator.biome_source.biomes":"Biome","generator.biome_source.humidity_noise":"Feuchtigkeitsrauschen","generator.biome_source.large_biomes":"Große Biome","generator.biome_source.legacy_biome_init_layer":"Veraltete Biominitierungsschicht","generator.biome_source.preset":"Biomvorlage","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Skalierung","generator.biome_source.seed":"Biom-Seed","generator.biome_source.temperature_noise":"Temperaturrauschen","generator.biome_source.type":"Biomquelle","generator.biome_source.weirdness_noise":"Merkwürdigkeitsrauschen","generator.seed":"Dimensions-Seed","generator.settings":"Generatoreneinstellungen","generator.settings.biome":"Biom","generator.settings.lakes":"Seen","generator.settings.layers":"Schichten","generator.settings.layers.entry":"Schicht","generator.settings.layers.entry.block":"Block-ID","generator.settings.layers.entry.height":"Höhe","generator.settings.object":"Benutzerdefiniert","generator.settings.presets.amplified":"Zerküftet","generator.settings.presets.caves":"Höhlen","generator.settings.presets.end":"Ende","generator.settings.presets.floating_islands":"Schwebende Inseln","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Oberwelt","generator.settings.string":"Vorlage","generator.settings.structures":"Strukturen","generator.settings.structures.stronghold":"Festung","generator.settings.structures.stronghold.count":"Menge","generator.settings.structures.stronghold.distance":"Distanz","generator.settings.structures.stronghold.spread":"Ausbreitung","generator.settings.structures.structures":"Strukturen","generator.type":"Generatortyp","generator_biome.biome":"Biom","generator_biome.parameters":"Parameter","generator_biome.parameters.altitude":"Höhenlage","generator_biome.parameters.help":"Diese Parameter entscheiden die Platzierung des Bioms. Jedes Biom braucht eine einzigartige Kombination. Biome mit ähnlichen Werten generieren näher beieinander.","generator_biome.parameters.humidity":"Feuchtigkeit","generator_biome.parameters.offset":"Versatz","generator_biome.parameters.temperature":"Temperatur","generator_biome.parameters.weirdness":"Merkwürdigkeit","generator_biome_noise.amplitudes":"Amplituden","generator_biome_noise.amplitudes.entry":"Oktave %0%","generator_biome_noise.firstOctave":"Erste Oktave","generator_structure.salt":"Salt","generator_structure.separation":"Aufteilung","generator_structure.separation.help":"Die minimale Distanz in Chunks zwischen zwei Strukturen. Muss kleiner als Abstand sein.","generator_structure.spacing":"Abstand","generator_structure.spacing.help":"Die durchschnittliche Distanz swischen zwei Strukturen dieses Typs.","heightmap_type.MOTION_BLOCKING":"Bewegungsblokierend","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"Bewegungsblockierend (Keine Blätter)","heightmap_type.OCEAN_FLOOR":"Ozeangrund","heightmap_type.OCEAN_FLOOR_WG":"Ozeangrund (Weltgenerierung)","heightmap_type.WORLD_SURFACE":"Weltoberfläsche","heightmap_type.WORLD_SURFACE_WG":"Weltoberfläsche (Weltgenerierung)","hide_source":"Quelltext verstecken","item.count":"Menge","item.durability":"Haltbarkeit","item.enchantments":"Verzauberungen","item.enchantments.entry":"Verzauberung","item.item":"Gegenstands-ID","item.nbt":"Gegenstandsdaten","item.potion":"Trank","item.tag":"Gegenstandsaliasdaten","key.advancements":"Fortschritte","key.attack":"Angreifen/Abbauen","key.back":"Rückwärts","key.chat":"Chat","key.command":"Befehlszeile öffnen","key.drop":"Gegenstand fallen lassen","key.forward":"Vorwärts","key.fullscreen":"Vollbild wechseln","key.hotbar.1":"Schnellzugriff 1","key.hotbar.2":"Schnellzugriff 2","key.hotbar.3":"Schnellzugriff 3","key.hotbar.4":"Schnellzugriff 4","key.hotbar.5":"Schnellzugriff 5","key.hotbar.6":"Schnellzugriff 6","key.hotbar.7":"Schnellzugriff 7","key.hotbar.8":"Schnellzugriff 8","key.hotbar.9":"Schnellzugriff 9","key.inventory":"Inventar öffnen/schließen","key.jump":"Springen","key.left":"Links","key.loadToolbarActivator":"Schnellzugriffsleiste laden","key.pickItem":"Block auswählen","key.playerlist":"Spieler auflisten","key.right":"Rechts","key.saveToolbarActivator":"Schnellzugriffsleiste speichern","key.screenshot":"Screenshot","key.smoothCamera":"Kameraverhalten wechseln","key.sneak":"Schleichen","key.spectatorOutlines":"Spieler hervorheben (Zuschauer)","key.sprint":"Sprinten","key.swapOffhand":"Gegenstand mit Zweithand tauschen","key.togglePerspective":"Perspektive wechseln","key.use":"Benutzen/Platzieren","location.biome":"Biom","location.block":"Block","location.dimension":"Dimension","location.feature":"Merkmal","location.fluid":"Flüssigkeit","location.light":"Licht","location.light.light":"Sichtbares Lichtlevel","location.position":"Position","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Verraucht","loot_condition_type.alternative":"Alternative","loot_condition_type.block_state_property":"Blockeigenschaften","loot_condition_type.damage_source_properties":"Schadensquelle","loot_condition_type.entity_properties":"Objekteigenschaften","loot_condition_type.entity_scores":"Objektpunktestände","loot_condition_type.inverted":"Invertiert","loot_condition_type.killed_by_player":"Getötet","loot_condition_type.location_check":"Ort","loot_condition_type.match_tool":"Werkzeugeigenschaften","loot_condition_type.random_chance":"Zufällig","loot_condition_type.random_chance_with_looting":"Zufällig mit Plünderung","loot_condition_type.reference":"Referenz","loot_condition_type.survives_explosion":"Überlebt Explosion","loot_condition_type.table_bonus":"Tabellenbonus","loot_condition_type.time_check":"Zeit","loot_condition_type.weather_check":"Wetter","loot_entry.dynamic.name":"Name","loot_entry.item.name":"Name","loot_entry.loot_table.name":"Beutetabellenname","loot_entry.quality":"Qualität","loot_entry.tag.expand":"Erweitern","loot_entry.tag.expand.help":"Wenn „false“ werden alle Gegenstände aus den Aliasdaten verwendet. Wenn „false“ wird ein Gegenstand aus den Aliasdaten zufällig ausgewählt.","loot_entry.tag.name":"Name des Gegenstandsaliases","loot_entry.type":"Typ","loot_entry.weight":"Gewichtung","loot_function_type.apply_bonus":"Bonus anwenden","loot_function_type.copy_name":"Namen kopieren","loot_function_type.copy_nbt":"NBT-Daten kopieren","loot_function_type.copy_state":"Blockzustände kopieren","loot_function_type.enchant_randomly":"Zufällig verzaubern","loot_function_type.enchant_with_levels":"Mit Leveln verzaubern","loot_function_type.exploration_map":"Entdeckerkarteneigenschaften","loot_function_type.explosion_decay":"Explosionsverfall","loot_function_type.fill_player_head":"Spielerkopf erzeugen","loot_function_type.furnace_smelt":"Ofen schmelzen","loot_function_type.limit_count":"Stapelgröße limitieren","loot_function_type.looting_enchant":"Plünderungsverzauberung","loot_function_type.set_attributes":"Attribute setzen","loot_function_type.set_contents":"Inhalte setzen","loot_function_type.set_count":"Anzahl setzen","loot_function_type.set_damage":"Schaden setzen","loot_function_type.set_data":"Daten setzen","loot_function_type.set_loot_table":"Beutetabelle setzen","loot_function_type.set_lore":"Gegenstandsbeschreibung setzen","loot_function_type.set_name":"Name setzen","loot_function_type.set_nbt":"NBT setzen","loot_function_type.set_stew_effect":"Suppeneffekt setzen","loot_pool.bonus_rolls":"Bonusausschüttungen","loot_pool.entries":"Einträge","loot_pool.entries.entry":"Eintrag","loot_pool.rolls":"Ausschüttungen","loot_pool.rolls.help":"Wie oft ein Eintrag aus diesem Beutetopf ausgewält wird.","loot_pool_entry_type.alternatives":"Alternativen","loot_pool_entry_type.alternatives.help":"Wält den ersten Eintrag aus der Liste aus, dessen Bedingung erfüllt ist.","loot_pool_entry_type.dynamic":"Dynamisch","loot_pool_entry_type.dynamic.help":"Erzeugt blockspezifischen Loot.","loot_pool_entry_type.empty":"Leer","loot_pool_entry_type.empty.help":"Ein leerer Eintrag. Kann verwendet werden, um einen Beutetopf zu einer gewissen Wahrscheinlichkeit nichts ausschütten zu lassen.","loot_pool_entry_type.group":"Gruppe","loot_pool_entry_type.group.help":"Grupiert mehrere Einträge und führt alle Einträge aus, wenn die eigene Bedingung erfüllt ist.","loot_pool_entry_type.item":"Gegenstand","loot_pool_entry_type.item.help":"Ein Eintrag mit einem einzelnen Gegenstand.","loot_pool_entry_type.loot_table":"Beutetabelle","loot_pool_entry_type.loot_table.help":"Ein Eintrag, der eine andere Beutetabelle ausschüttet.","loot_pool_entry_type.sequence":"Sequenz","loot_pool_entry_type.sequence.help":"Schüttet alle Kindeinträge aus, bis die Bedingung eines Eintrages fehlschlägt.","loot_pool_entry_type.tag":"Gegenstandsaliasdaten","loot_pool_entry_type.tag.help":"Ein Eintrag, der aus einem Gegenstandsaliasdatum Gegenstände ausschüttet.","loot_table.pools":"Beutetöpfe","loot_table.pools.entry":"Beutetopf","luck_based":"Glücksbasiert","nbt_operation.op":"Operation","nbt_operation.op.append":"Anhängen","nbt_operation.op.merge":"Zusammenfügen","nbt_operation.op.replace":"Ersetzen","nbt_operation.source":"Quelle","nbt_operation.target":"Ziel","noise_settings.bedrock_floor_position":"Grundgestein-Bodenpositionierung","noise_settings.bedrock_floor_position.help":"Position des Grundgesteinbodens. Höhere Zahlen versetzen ihn nach oben.","noise_settings.bedrock_roof_position":"Grundgestein-Deckenpositionierung","noise_settings.bedrock_roof_position.help":"Positionierung der Grundgesteindecke relativ zur Höhe der Dimension. Höhere Zahlen versetzen die Decke nach unten.","noise_settings.biome":"Biom","noise_settings.default_block":"Standardblock","noise_settings.default_fluid":"Standardflüssigkeit","noise_settings.disable_mob_generation":"Mobgenerieung deaktivieren","noise_settings.disable_mob_generation.help":"Wenn „true“, werden keine Kreaturen während der Weltgenerierung erzeugt.","noise_settings.name":"Name","noise_settings.noise":"Rauscheinstellungen","noise_settings.noise.amplified":"Zerklüftet","noise_settings.noise.bottom_slide":"Untere Schicht","noise_settings.noise.bottom_slide.offset":"Verschiebung der unteren Schicht","noise_settings.noise.bottom_slide.size":"Größe der unteren Schicht","noise_settings.noise.bottom_slide.target":"Ziel der unteren Schicht","noise_settings.noise.density_factor":"Dichtigkeitsfaktor","noise_settings.noise.density_offset":"Dichtigkeitsverschiebung","noise_settings.noise.height":"Höhe","noise_settings.noise.island_noise_override":"Insel-Rauschüberschreibung","noise_settings.noise.island_noise_override.help":"Wenn „true“, wird das Terrain wie im Ende mit einer größeren Insel in der Mitte und mehr Inseln weiter weg generiert.","noise_settings.noise.random_density_offset":"Zufällige Dichtigkeitsverschiebung","noise_settings.noise.sampling":"Abtastung","noise_settings.noise.sampling.xz_factor":"XZ-Faktor","noise_settings.noise.sampling.xz_scale":"XZ-Skalierung","noise_settings.noise.sampling.y_factor":"Y-Faktor","noise_settings.noise.sampling.y_scale":"Y-Skalierung","noise_settings.noise.simplex_surface_noise":"Simplex-Oberflächenrauschen","noise_settings.noise.size_horizontal":"Horizontale Größe","noise_settings.noise.size_vertical":"Vertikale Größe","noise_settings.noise.top_slide":"Obere Schicht","noise_settings.noise.top_slide.offset":"Verschiebung der oberen Schicht","noise_settings.noise.top_slide.size":"Größe der oberen Schicht","noise_settings.noise.top_slide.target":"Ziel der oberen Schicht","noise_settings.sea_level":"Meeresspiegel","noise_settings.structures":"Strukturen","noise_settings.structures.stronghold":"Festung","noise_settings.structures.stronghold.count":"Anzahl","noise_settings.structures.stronghold.distance":"Distanz","noise_settings.structures.stronghold.spread":"Ausbreitung","noise_settings.structures.structures":"Strukturen","player.advancements":"Fortschritte","player.advancements.entry":"Fortschritt","player.gamemode":"Spielmodus","player.level":"Erfahrungslevel","player.recipes":"Rezepte","player.stats":"Statistiken","player.stats.entry":"Statistik","pos_rule_test.always_true":"Immer „true“","pos_rule_test.axis":"Achse","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.axis.z":"Z","pos_rule_test.axis_aligned_linear_pos":"Achsenangepasste lineare Position","pos_rule_test.linear_pos":"Lineare Position","pos_rule_test.max_chance":"Maximale Wahrscheinlichkeit","pos_rule_test.max_dist":"Maximale Distanz","pos_rule_test.min_chance":"Minimale Wahrscheinlichkeit","pos_rule_test.min_dist":"Minimale Distanz","pos_rule_test.predicate_type":"Typ","processor.block_age.mossiness":"Moosigkeit","processor.block_ignore.blocks":"Blöcke","processor.block_ignore.blocks.entry":"Zustand","processor.block_rot.integrity":"Integrität","processor.gravity.heightmap":"Höhenfeld","processor.gravity.offset":"Verschiebung","processor.processor_type":"Typ","processor.rule.rules":"Regeln","processor.rule.rules.entry":"Regel","processor_list.processors":"Prozessoren","processor_list.processors.entry":"Prozessor","processor_rule.input_predicate":"Eingabenprädikat","processor_rule.location_predicate":"Ortsprädikat","processor_rule.output_nbt":"Ausgabe-NBT","processor_rule.output_state":"Ausgabeprädikat","processor_rule.position_predicate":"Positionsprädikat","processors.object":"Benutzerdefiniert","processors.string":"Referenz","range.binomial":"Binomialverteilung","range.max":"Maximum","range.min":"Minimum","range.n":"n","range.number":"Exakte Zahl","range.object":"Wertebereich","range.p":"p","range.uniform":"Gleichmäßige Verteilung","requirements":"Vorraussetzungen","rule_test.always_true":"Immer  „true“","rule_test.block":"Block","rule_test.block_match":"Blockvergleich","rule_test.block_state":"Zustand","rule_test.blockstate_match":"Blockzustandsvergleich","rule_test.predicate_type":"Typ","rule_test.probability":"Wahrscheinlichkeit","rule_test.random_block_match":"Zufälliger Blockvergleich","rule_test.random_blockstate_match":"Zufälliger Blockzustandsvergleich","rule_test.tag":"Aliasdaten","rule_test.tag_match":"Aliasdatenvergleich","slot.chest":"Truhe","slot.feet":"Schuhe","slot.head":"Kopfbedeckung","slot.legs":"Hose","slot.mainhand":"Haupthand","slot.offhand":"Nebenhand","statistic.stat":"Statistik","statistic.type":"Typ","statistic.type.broken":"Zerstört","statistic.type.crafted":"Hergestellt","statistic.type.custom":"Sonstige","statistic.type.dropped":"Fallen gelassen","statistic.type.killed":"Getötet","statistic.type.killedByTeam":"Von Team getötet","statistic.type.killed_by":"Getötet von","statistic.type.mined":"Abgebaut","statistic.type.picked_up":"Aufgehoben","statistic.type.teamkill":"Team getötet","statistic.type.used":"Verwendet","statistic.value":"Wert","status_effect.ambient":"Pastellfarben","status_effect.amplifier":"Stärke","status_effect.duration":"Wirkungsdauer","status_effect.visible":"Sichtbar","structure_feature.biome_temp":"Biomtemperatur","structure_feature.biome_temp.cold":"Kalt","structure_feature.biome_temp.warm":"Warm","structure_feature.cluster_probability":"Anhäufungswahrscheinlichkeit","structure_feature.config":"Konfiguration","structure_feature.is_beached":"Gestranded","structure_feature.large_probability":"Große Wahrscheinlichkeit","structure_feature.portal_type":"Portalart","structure_feature.portal_type.desert":"Wüste","structure_feature.portal_type.jungle":"Dschungel","structure_feature.portal_type.mountain":"Berg","structure_feature.portal_type.nether":"Nether","structure_feature.portal_type.ocean":"Ozean","structure_feature.portal_type.standard":"Standard","structure_feature.portal_type.swamp":"Sumpf","structure_feature.probability":"Wahrscheinlichkeit","structure_feature.size":"Größe","structure_feature.start_pool":"Anfangstopf","structure_feature.type":"Typ","structure_feature.type.mesa":"Tafelberge","structure_feature.type.normal":"Normal","surface_builder.config":"Konfiguration","surface_builder.top_material":"Oberes Material","surface_builder.type":"Typ","surface_builder.under_material":"Unteres Material","surface_builder.underwater_material":"Unterwassermaterial","table.type":"Typ","table.type.block":"Block","table.type.chest":"Truhe","table.type.empty":"Leer","table.type.entity":"Objekt","table.type.fishing":"Angeln","table.type.generic":"Sonstiges","tag.replace":"Ersetzen","tag.values":"Werte","template_element.element_type":"Typ","template_element.elements":"Elemente","template_element.feature":"Merkmal","template_element.location":"Ort","template_element.processors":"Prozessoren","template_element.projection":"Projektion","template_element.projection.rigid":"Reichhaltig","template_element.projection.terrain_matching":"Terrainanpassung","template_pool.elements":"Elemente","template_pool.elements.entry":"Element","template_pool.elements.entry.element":"Element","template_pool.elements.entry.weight":"Gewichtung","template_pool.fallback":"Rückfall","template_pool.name":"Name","text_component":"JSON-Text","text_component.boolean":"Wahrheitswert","text_component.list":"Array","text_component.number":"Zahl","text_component.object":"Objekt","text_component.string":"Zeichenkette","text_component_object.block":"Block","text_component_object.bold":"Fett","text_component_object.clickEvent":"Klickevent","text_component_object.clickEvent.action":"Aktion","text_component_object.clickEvent.action.change_page":"Seite wechseln","text_component_object.clickEvent.action.copy_to_clipboard":"In die Zwichenablage kopieren","text_component_object.clickEvent.action.open_file":"Datei öffnen","text_component_object.clickEvent.action.open_url":"Link folgen","text_component_object.clickEvent.action.run_command":"Befehl ausführen","text_component_object.clickEvent.action.suggest_command":"Befehl vorschlagen","text_component_object.clickEvent.value":"Wert","text_component_object.color":"Farbe","text_component_object.entity":"Objekt","text_component_object.extra":"Zusatz","text_component_object.font":"Schriftart","text_component_object.hoverEvent":"Tooltip","text_component_object.hoverEvent.action":"Aktion","text_component_object.hoverEvent.action.show_entity":"Objekt-Tooltip","text_component_object.hoverEvent.action.show_item":"Gegenstandstooltip","text_component_object.hoverEvent.action.show_text":"JSON-Text-Tooltip","text_component_object.hoverEvent.contents":"Inhalte","text_component_object.hoverEvent.value":"Wert","text_component_object.insertion":"Einfügung","text_component_object.interpret":"Interpretieren","text_component_object.italic":"Kursiv","text_component_object.keybind":"Tastenkombination","text_component_object.nbt":"NBT","text_component_object.obfuscated":"Verschleiert","text_component_object.score":"Punktestand","text_component_object.score.name":"Name","text_component_object.score.objective":"Ziel","text_component_object.score.value":"Wert","text_component_object.selector":"Zielauswahl","text_component_object.storage":"NBT-Speicher","text_component_object.strikethrough":"Durchgestrichen","text_component_object.text":"Normaler Text","text_component_object.translate":"Übersetzbarer Text","text_component_object.underlined":"Unterstrichen","text_component_object.with":"Ersetzuingstexte für Übersetzung","tree_decorator.alter_ground.provider":"Zustandserzeuger","tree_decorator.beehive.probability":"Wahrscheinlichkeit","tree_decorator.cocoa.probability":"Wahrscheinlichkeit","tree_decorator.type":"Typ","true":"Wahr","trunk_placer.base_height":"Basishöhe","trunk_placer.height_rand_a":"Zufallshöhe A","trunk_placer.height_rand_b":"Zufallshöhe B","trunk_placer.type":"Typ","uniform_int.base":"Basis","uniform_int.number":"Exakte Zahl","uniform_int.object":"Zahl aus gleichmäßiger Verteilung","uniform_int.spread":"Ausbreitung","unset":"Zurücksetzen","world.bonus_chest":"Bonustruhe generieren","world.generate_features":"Merkmale generieren","world.seed":"Seed","world_settings.bonus_chest":"Bonustruhe erzeugen","world_settings.dimensions":"Dimensionen","world_settings.generate_features":"Merkmale generieren","world_settings.seed":"Weltseed","worldgen.warning":"Dieses Feature ist extrem experimentell. Es kann sich jederzeit in zukünftigen Versionen ändern. Spielabstürze beim Erstellen von Welten sind nicht ausgeschlossen.","worldgen/biome_source.checkerboard":"Schachbrettmuster","worldgen/biome_source.checkerboard.help":"Biome generieren in einem Schachbrettmuster.","worldgen/biome_source.fixed":"Festgesetzt","worldgen/biome_source.fixed.help":"Ein Biom für die ganze Welt.","worldgen/biome_source.multi_noise":"Mehrfachrauschen","worldgen/biome_source.multi_noise.help":"Rauschbasierte Chunkgenerierung mit konfigurierbaren Parametern.","worldgen/biome_source.the_end":"Das Ende","worldgen/biome_source.the_end.help":"Biomverteilung für das Ende.","worldgen/biome_source.vanilla_layered":"Vanilla Geschichtet","worldgen/biome_source.vanilla_layered.help":"Schichtenmodellbasierte Biomgenerierung für die Oberwelt.","worldgen/block_placer_type.column_placer":"Säule","worldgen/block_placer_type.double_plant_placer":"2-Block-Pflanze","worldgen/block_placer_type.simple_block_placer":"Einfach","worldgen/block_state_provider_type.forest_flower_provider":"Blumenwald","worldgen/block_state_provider_type.plain_flower_provider":"Ebenenblumen","worldgen/block_state_provider_type.rotated_block_provider":"Rotierter Block","worldgen/block_state_provider_type.simple_state_provider":"Einfacher Zustand","worldgen/block_state_provider_type.weighted_state_provider":"Gewichteter Zustand","worldgen/carver.canyon":"Schlucht","worldgen/carver.cave":"Höhle","worldgen/carver.nether_cave":"Netherhöhle","worldgen/carver.underwater_canyon":"Unterwasserschlucht","worldgen/carver.underwater_cave":"Unterwasser Höhle","worldgen/chunk_generator.debug":"Debug-Welt","worldgen/chunk_generator.flat":"Superflach","worldgen/chunk_generator.noise":"Standard","worldgen/feature_size_type.three_layers_feature_size":"Drei Schichten","worldgen/feature_size_type.two_layers_feature_size":"Zwei Schichten","worldgen/foliage_placer_type.acacia_foliage_placer":"Akazie","worldgen/foliage_placer_type.blob_foliage_placer":"Kugel","worldgen/foliage_placer_type.bush_foliage_placer":"Busch","worldgen/foliage_placer_type.dark_oak_foliage_placer":"Schwarzeiche","worldgen/foliage_placer_type.fancy_foliage_placer":"Verzweigt","worldgen/foliage_placer_type.jungle_foliage_placer":"Dschungel","worldgen/foliage_placer_type.mega_pine_foliage_placer":"Riesenkiefer","worldgen/foliage_placer_type.pine_foliage_placer":"Kiefer","worldgen/foliage_placer_type.spruce_foliage_placer":"Fichte","worldgen/structure_pool_element.empty_pool_element":"Leer","worldgen/structure_pool_element.feature_pool_element":"Merkmal","worldgen/structure_pool_element.legacy_single_pool_element":"Veraltetes „Einfach“","worldgen/structure_pool_element.list_pool_element":"Liste","worldgen/structure_pool_element.single_pool_element":"Einfach","worldgen/structure_processor.blackstone_replace":"Schwarzsteinersetzung","worldgen/structure_processor.block_age":"Blockalter","worldgen/structure_processor.block_ignore":"Blöcke ignorieren","worldgen/structure_processor.block_rot":"Blockverfall","worldgen/structure_processor.gravity":"Schwerkraft","worldgen/structure_processor.jigsaw_replacement":"Verbundblock Ersetzung","worldgen/structure_processor.lava_submerged_block":"Unter Lava liegender Block","worldgen/structure_processor.nop":"Nichts","worldgen/structure_processor.rule":"Regel","worldgen/tree_decorator_type.alter_ground":"Bodenveränderung","worldgen/tree_decorator_type.beehive":"Bienennest","worldgen/tree_decorator_type.cocoa":"Kakao","worldgen/tree_decorator_type.leave_vine":"Blattranken","worldgen/tree_decorator_type.trunk_vine":"Stammranken","worldgen/trunk_placer_type.dark_oak_trunk_placer":"Schwarzeiche","worldgen/trunk_placer_type.fancy_trunk_placer":"Verzweigt","worldgen/trunk_placer_type.forking_trunk_placer":"Akazie","worldgen/trunk_placer_type.giant_trunk_placer":"Riesig","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"Riesendschungel","worldgen/trunk_placer_type.straight_trunk_placer":"Gerade"}');export default e; +//# sourceMappingURL=de.ba8c635a.js.map diff --git a/assets/de.ba8c635a.js.map b/assets/de.ba8c635a.js.map new file mode 100644 index 00000000..8485510c --- /dev/null +++ b/assets/de.ba8c635a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"de.ba8c635a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/de.fc9f3a4e.js b/assets/de.fc9f3a4e.js new file mode 100644 index 00000000..eb74ba85 --- /dev/null +++ b/assets/de.fc9f3a4e.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"worldgen/template-pool":"Vorlagenauswahl","worldgen/surface-builder":"Oberflächengestalter","worldgen/structure-feature":"Strukturmekrmal","worldgen/processor-list":"Prozessorliste","worldgen/noise-settings":"Rauscheinstellungen","worldgen/feature":"Merkmal","worldgen/carver":"Borer","worldgen/biome":"Biom","preview":"Visualisieren","title.home":"Datenpaketgeneratoren","title.generator":"%0%-Generator","share":"Teilen","reset":"Zurücksetzen","predicate":"Prädikat","loot-table":"Beutetabelle","language":"Sprache","download":"Herunterladen","dimension":"Dimension","dimension-type":"Dimensionstyp","copy":"Kopieren","advancement":"Fortschritt"}');export default e; +//# sourceMappingURL=de.fc9f3a4e.js.map diff --git a/assets/de.fc9f3a4e.js.map b/assets/de.fc9f3a4e.js.map new file mode 100644 index 00000000..13814b94 --- /dev/null +++ b/assets/de.fc9f3a4e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"de.fc9f3a4e.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/en.6ae73cdb.js b/assets/en.6ae73cdb.js new file mode 100644 index 00000000..88c8bd30 --- /dev/null +++ b/assets/en.6ae73cdb.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"Criteria","advancement.display":"Display","advancement.display.announce_to_chat":"Announce To Chat","advancement.display.background":"Background","advancement.display.description":"Description","advancement.display.frame":"Frame","advancement.display.frame.challenge":"Challenge","advancement.display.frame.goal":"Goal","advancement.display.frame.task":"Task","advancement.display.help":"If present, advancement will be visible in the advancement tabs.","advancement.display.hidden":"Hidden","advancement.display.icon":"Icon","advancement.display.icon.item":"Icon Item","advancement.display.icon.nbt":"Icon NBT","advancement.display.show_toast":"Show Toast","advancement.display.title":"Title","advancement.parent":"Parent Advancement","advancement.rewards":"Rewards","advancement.rewards.experience":"Experience","advancement.rewards.function":"Function","advancement.rewards.loot":"Loot Tables","advancement.rewards.recipes":"Recipes","advancement_trigger.bee_nest_destroyed":"Bee Nest Destroyed","advancement_trigger.bred_animals":"Bred Animals","advancement_trigger.brewed_potion":"Brewed Potion","advancement_trigger.changed_dimension":"Changed Dimension","advancement_trigger.channeled_lightning":"Channeled Lightning","advancement_trigger.construct_beacon":"Construct Beacon","advancement_trigger.consume_item":"Consume Item","advancement_trigger.cured_zombie_villager":"Cured Zombie Villager","advancement_trigger.effects_changed":"Effects Changed","advancement_trigger.enchanted_item":"Enchanted Item","advancement_trigger.enter_block":"Enter Block","advancement_trigger.entity_hurt_player":"Entity Hurt Player","advancement_trigger.entity_killed_player":"Entity Killed Player","advancement_trigger.filled_bucket":"Filled Bucket","advancement_trigger.fishing_rod_hooked":"Fishing Rod Hooked","advancement_trigger.hero_of_the_village":"Hero Of The Village","advancement_trigger.impossible":"Impossible","advancement_trigger.inventory_changed":"Inventory Changed","advancement_trigger.item_durability_changed":"Item Durability Changed","advancement_trigger.item_used_on_block":"Item Used On Block","advancement_trigger.killed_by_crossbow":"Killed By Crossbow","advancement_trigger.levitation":"Levitation","advancement_trigger.location":"Location","advancement_trigger.nether_travel":"Nether Travel","advancement_trigger.placed_block":"Placed Block","advancement_trigger.player_generates_container_loot":"Player Generates Container Loot","advancement_trigger.player_hurt_entity":"Player Hurt Entity","advancement_trigger.player_killed_entity":"Player Killed Entity","advancement_trigger.recipe_unlocked":"Recipe Unlocked","advancement_trigger.safely_harvest_honey":"Safely Harvest Honey","advancement_trigger.shot_crossbow":"Shot Crossbow","advancement_trigger.slept_in_bed":"Slept In Bed","advancement_trigger.slide_down_block":"Slide Down Block","advancement_trigger.summoned_entity":"Summoned Entity","advancement_trigger.tame_animal":"Tame Animal","advancement_trigger.target_hit":"Target Hit","advancement_trigger.thrown_item_picked_up_by_entity":"Thrown Item Picked Up By Entity","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Used Ender Eye","advancement_trigger.used_totem":"Used Totem","advancement_trigger.villager_trade":"Villager Trade","advancement_trigger.voluntary_exile":"Voluntary Exile","attribute.generic_armor":"Armor","attribute.generic_armor_toughness":"Armor Toughness","attribute.generic_attack_damage":"Attack Damage","attribute.generic_attack_knockback":"Attack Knockback","attribute.generic_attack_speed":"Attack Speed","attribute.generic_flying_speed":"Flying Speed","attribute.generic_follow_range":"Follow Range","attribute.generic_knockback_resistance":"Knockback Resistance","attribute.generic_luck":"Luck","attribute.generic_max_health":"Max Health","attribute.generic_movement_speed":"Movement Speed","attribute.horse.jump_strength":"Jump Strength","attribute.zombie.spawn_reinforcements":"Spawn Reinforcements","attribute_modifier.amount":"Amount","attribute_modifier.attribute":"Attribute","attribute_modifier.name":"Name","attribute_modifier.operation":"Operation","attribute_modifier.operation.addition":"Addition","attribute_modifier.operation.multiply_base":"Multiply Base","attribute_modifier.operation.multiply_total":"Multiply Total","attribute_modifier.slot":"Slots","attribute_modifier.slot.list":"Multiple","attribute_modifier.slot.string":"Single","badge.experimental":"Experimental","badge.unstable":"Unstable","biome.carvers":"Carvers","biome.carvers.air":"Air","biome.carvers.liquid":"Liquid","biome.category":"Category","biome.creature_spawn_probability":"Creature Spawn Probability","biome.depth":"Depth","biome.depth.help":"Raises or lowers the terrain. Positive values are considered land and negative are oceans.","biome.downfall":"Downfall","biome.effects":"Effects","biome.effects.additions_sound":"Additions Sound","biome.effects.additions_sound.sound":"Sound","biome.effects.additions_sound.tick_chance":"Tick Chance","biome.effects.ambient_sound":"Ambient Sound","biome.effects.fog_color":"Fog Color","biome.effects.foliage_color":"Foliage Color","biome.effects.grass_color":"Grass Color","biome.effects.grass_color_modifier":"Grass Color Modifier","biome.effects.grass_color_modifier.dark_forest":"Dark Forest","biome.effects.grass_color_modifier.none":"None","biome.effects.grass_color_modifier.swamp":"Swamp","biome.effects.mood_sound":"Mood Sound","biome.effects.mood_sound.block_search_extent":"Block Search Extent","biome.effects.mood_sound.offset":"Offset","biome.effects.mood_sound.sound":"Sound","biome.effects.mood_sound.tick_delay":"Tick Delay","biome.effects.music":"Music","biome.effects.music.max_delay":"Max Delay","biome.effects.music.min_delay":"Min Delay","biome.effects.music.replace_current_music":"Replace Current Music","biome.effects.music.sound":"Sound","biome.effects.particle":"Particle","biome.effects.particle.options":"Options","biome.effects.particle.options.type":"Particle Type","biome.effects.particle.probability":"Probability","biome.effects.sky_color":"Sky Color","biome.effects.water_color":"Water Color","biome.effects.water_fog_color":"Water Fog Color","biome.features":"Features","biome.features.entry":"Step %0%","biome.features.entry.entry":"Feature","biome.player_spawn_friendly":"Player Spawn Friendly","biome.player_spawn_friendly.help":"If true, the world spawn will be preferred in this biome.","biome.precipitation":"Precipitation","biome.precipitation.none":"None","biome.precipitation.rain":"Rain","biome.precipitation.snow":"Snow","biome.scale":"Scale","biome.scale.help":"Vertically stretches the terrain. Lower values produce flatter terrain.","biome.spawn_costs":"Spawn Costs","biome.spawn_costs.charge":"Charge","biome.spawn_costs.energy_budget":"Energy Budget","biome.spawners":"Spawners","biome.spawners.ambient":"Ambient","biome.spawners.creature":"Creature","biome.spawners.entry":"Spawn","biome.spawners.entry.maxCount":"Max Count","biome.spawners.entry.minCount":"Min Count","biome.spawners.entry.type":"Type","biome.spawners.entry.weight":"Weight","biome.spawners.misc":"Miscellaneous","biome.spawners.monster":"Monster","biome.spawners.water_ambient":"Water Ambient","biome.spawners.water_creature":"Water Creature","biome.starts":"Structure Starts","biome.starts.entry":"Structure","biome.starts.help":"List of configured structure features.","biome.surface_builder":"Surface Builder","biome.temperature":"Temperature","biome.temperature_modifier":"Temperature Modifier","biome.temperature_modifier.frozen":"Frozen","biome.temperature_modifier.none":"None","block.block":"Block ID","block.nbt":"NBT","block.state":"Block State","block.tag":"Block Tag","block_placer.column_placer.extra_size":"Extra Size","block_placer.column_placer.min_size":"Min Size","block_placer.type":"Type","block_state.Name":"Name","block_state.Properties":"Properties","block_state_provider.rotated_block_provider.state":"State","block_state_provider.simple_state_provider.state":"State","block_state_provider.type":"Type","block_state_provider.weighted_state_provider.entries":"Entries","block_state_provider.weighted_state_provider.entries.entry.data":"State","block_state_provider.weighted_state_provider.entries.entry.weight":"Weight","carver.config":"Config","carver.config.canyon.bottom_inclusive":"Bottom Inclusive","carver.config.canyon.top_inclusive":"Top Inclusive","carver.config.canyon.y_scale":"Y Scale","carver.config.canyon.distanceFactor":"Distance Factor","carver.config.canyon.vertical_rotation":"Vertical Rotation","carver.config.canyon.thickness":"Thickness","carver.config.canyon.width_smoothness":"Width Smoothness","carver.config.canyon.horizontal_radius_factor":"Horizontal Radius Factor","carver.config.canyon.vertical_radius_default_factor":"Vertical Radius Default Factor","carver.config.canyon.vertical_radius_center_factor":"Vertical Radius Center Factor","carver.config.debug_settings":"Debug Settings","carver.config.debug_settings.debug_mode":"Debug Mode","carver.config.debug_settings.air_state":"Air State","carver.config.probability":"Probability","carver.type":"Type","children":"Children","children.entry":"Entry","condition.alternative.terms":"Terms","condition.block_state_property.block":"Block","condition.block_state_property.properties":"Block State","condition.condition":"Condition","condition.damage_source":"Damage Source","condition.entity_properties.entity":"Entity","condition.entity_scores.entity":"Entity","condition.entity_scores.scores":"Scores","condition.entry":"Predicate","condition.inverted.term":"Term","condition.item":"Item","condition.killed_by_player.inverse":"Inverted","condition.list":"Multiple","condition.location":"Location","condition.location_check.offsetX":"X Offset","condition.location_check.offsetY":"Y Offset","condition.location_check.offsetZ":"Z Offset","condition.object":"Single","condition.random_chance.chance":"Chance","condition.random_chance_with_looting.chance":"Chance","condition.random_chance_with_looting.looting_multiplier":"Looting Multiplier","condition.reference.name":"Predicate Name","condition.table_bonus.chances":"Chances","condition.table_bonus.chances.entry":"Chance","condition.table_bonus.enchantment":"Enchantment","condition.time_check.period":"Period","condition.time_check.period.help":"If present, time will be modulo-divided by this value. For example, if set to 24000, value will operate on a time period of days.","condition.time_check.value":"Value","condition.value_check.range":"Range","condition.value_check.value":"Value","condition.weather_check.raining":"Raining","condition.weather_check.thundering":"Thundering","conditions":"Conditions","conditions.entry":"Condition","conditions.list":"Conditions","conditions.object":"Legacy","copy_source.block_entity":"Block Entity","copy_source.direct_killer":"Direct Killer","copy_source.killer":"Killer","copy_source.killer_player":"Killer Player","copy_source.this":"This","criterion.bee_nest_destroyed.block":"Block","criterion.bee_nest_destroyed.num_bees_inside":"Number of Bees Inside","criterion.bred_animals.child":"Child","criterion.bred_animals.parent":"Parent","criterion.bred_animals.partner":"Partner","criterion.brewed_potion.potion":"Potion","criterion.changed_dimension.from":"From","criterion.changed_dimension.to":"To","criterion.channeled_lightning.victims":"Victims","criterion.channeled_lightning.victims.entry":"Entity","criterion.conditions":"Conditions","criterion.construct_beacon.beacon_level":"Pyramid Level","criterion.consume_item.item":"Item","criterion.cured_zombie_villager.villager":"Villager","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Effects","criterion.enchanted_item.item":"Item","criterion.enchanted_item.levels":"XP Level","criterion.enter_block.block":"Block","criterion.enter_block.state":"States","criterion.entity_hurt_player.damage":"Damage","criterion.entity_killed_player.entity":"Source Entity","criterion.entity_killed_player.killing_blow":"Killing Blow","criterion.filled_bucket.item":"Item","criterion.fishing_rod_hooked.entity":"Pulled Entity","criterion.fishing_rod_hooked.item":"Item","criterion.hero_of_the_village.location":"Location","criterion.inventory_changed.items":"Items","criterion.inventory_changed.items.entry":"Item","criterion.inventory_changed.slots":"Slots","criterion.inventory_changed.slots.empty":"Slots Empty","criterion.inventory_changed.slots.full":"Slots Full","criterion.inventory_changed.slots.occupied":"Slots Occupied","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Durability","criterion.item_durability_changed.item":"Item","criterion.item_used_on_block.item":"Item","criterion.item_used_on_block.location":"Location","criterion.killed_by_crossbow.unique_entity_types":"Amount of Unique Entity Types","criterion.killed_by_crossbow.victims":"Victims","criterion.killed_by_crossbow.victims.entry":"Entity","criterion.levitation.distance":"Distance","criterion.levitation.duration":"Duration","criterion.location.location":"Location","criterion.nether_travel.distance":"Distance","criterion.nether_travel.entered":"Entered Location","criterion.nether_travel.exited":"Exited Location","criterion.placed_block.block":"Block","criterion.placed_block.item":"Item","criterion.placed_block.location":"Location","criterion.placed_block.state":"States","criterion.player":"Player","criterion.player_generates_container_loot.loot_table":"Loot Table","criterion.player_hurt_entity.damage":"Damage","criterion.player_hurt_entity.entity":"Victim Entity","criterion.player_killed_entity.entity":"Victim Entity","criterion.player_killed_entity.killing_blow":"Killing Blow","criterion.recipe_unlocked.recipe":"Recipe","criterion.rod":"Rod","criterion.safely_harvest_honey.block":"Block","criterion.safely_harvest_honey.item":"Item","criterion.shot_crossbow.item":"Item","criterion.slept_in_bed.location":"Location","criterion.slide_down_block.block":"Block","criterion.summoned_entity.entity":"Entity","criterion.tame_animal.entity":"Animal","criterion.target_hit.projectile":"Projectile","criterion.target_hit.shooter":"Shooter","criterion.target_hit.signal_strength":"Signal Strength","criterion.thrown_item_picked_up_by_entity.entity":"Entity","criterion.thrown_item_picked_up_by_entity.item":"Item","criterion.trigger":"Trigger","criterion.used_ender_eye.distance":"Distance","criterion.used_totem.item":"Totem Item","criterion.villager_trade.item":"Purchased Item","criterion.villager_trade.villager":"Villager","criterion.voluntary_exile.location":"Location","damage.blocked":"Blocked","damage.dealt":"Damage Dealt","damage.source_entity":"Source Entity","damage.taken":"Damage Taken","damage.type":"Damage Type","damage_source.bypasses_armor":"Bypass Armor","damage_source.bypasses_invulnerability":"Void","damage_source.bypasses_magic":"Starvation","damage_source.direct_entity":"Direct Entity","damage_source.is_explosion":"Explosion","damage_source.is_fire":"Fire","damage_source.is_lightning":"Lightning","damage_source.is_magic":"Magic","damage_source.is_projectile":"Projectile","damage_source.source_entity":"Source Entity","decorator.carving_mask.step":"Generation Step","decorator.config":"Config","decorator.count.count":"Count","decorator.count_extra.count":"Count","decorator.count_extra.extra_chance":"Extra Chance","decorator.count_extra.extra_count":"Extra Count","decorator.count_multilayer.count":"Count","decorator.count_noise.above_noise":"Above Noise","decorator.count_noise.below_noise":"Below Noise","decorator.count_noise.noise_level":"Noise Level","decorator.count_noise_biased.noise_factor":"Noise Factor","decorator.count_noise_biased.noise_offset":"Noise Offset","decorator.count_noise_biased.noise_to_count_ratio":"Noise To Count Ratio","decorator.decorated.inner":"Inner","decorator.decorated.outer":"Outer","decorator.depth_average.baseline":"Baseline","decorator.depth_average.spread":"Spread","decorator.glowstone.count":"Count","decorator.range.bottom_inclusive":"Bottom Inclusive","decorator.range.top_inclusive":"Top Inclusive","decorator.range_biased_to_bottom.bottom_inclusive":"Bottom Inclusive","decorator.range_biased_to_bottom.top_inclusive":"Top Inclusive","decorator.range_biased_to_bottom.cutoff":"Cutoff","decorator.range_very_biased_to_bottom.bottom_inclusive":"Bottom Inclusive","decorator.range_very_biased_to_bottom.top_inclusive":"Top Inclusive","decorator.range_very_biased_to_bottom.cutoff":"Cutoff","decorator.type":"Type","dimension":"Dimension","dimension.generator":"Generator","dimension.generator.biome_source":"Biome Source","dimension.overworld":"Overworld","dimension.the_end":"The End","dimension.the_nether":"The Nether","dimension.type":"Dimension Type","dimension.type.object":"Custom","dimension.type.string":"Preset","dimension_type.ambient_light":"Ambient Light","dimension_type.ambient_light.help":"How much ambient light there is. Should be a value between 0.0 and 1.0.","dimension_type.bed_works":"Bed Works","dimension_type.bed_works.help":"If true, players can use beds to set their spawn and advance time. If false, beds will blow up when used.","dimension_type.coordinate_scale":"Coordinate Scale","dimension_type.coordinate_scale.help":"Multiplier applied to coordinates when traveling between dimensions using a nether portal or /execute in.","dimension_type.effects":"Effects","dimension_type.effects.help":"Sky effects","dimension_type.effects.overworld":"Overworld","dimension_type.effects.the_end":"The End","dimension_type.effects.the_nether":"The Nether","dimension_type.fixed_time":"Fixed Time","dimension_type.fixed_time.help":"Setting this value will keep the sun in a fixed position.","dimension_type.has_ceiling":"Has Ceiling","dimension_type.has_ceiling.help":"Affects the weather, map items and respawning rules.","dimension_type.has_raids":"Has Raids","dimension_type.has_raids.help":"If true, players with the Bad Omen effect can cause a raid.","dimension_type.has_skylight":"Has Skylight","dimension_type.has_skylight.help":"Affects the weather, lighting engine and respawning rules.","dimension_type.height":"Height","dimension_type.height.help":"The total height in which blocks can exist. Max Y = Min Y + Height.","dimension_type.infiniburn":"Infiniburn","dimension_type.infiniburn.help":"Block tag defining what blocks keep fire infinitely burning.","dimension_type.logical_height":"Logical Height","dimension_type.logical_height.help":"Portals can\'t spawn and chorus fruit can\'t teleport players above this height.","dimension_type.min_y":"Min Y","dimension_type.min_y.help":"The minimum height in which blocks can exist.","dimension_type.name":"Name","dimension_type.natural":"Natural","dimension_type.natural.help":"If true, portals will spawn zombified piglins. If false, compasses and clocks spin randomly.","dimension_type.piglin_safe":"Piglin Safe","dimension_type.piglin_safe.help":"If false, piglins will shake and convert to zombified piglins.","dimension_type.respawn_anchor_works":"Respawn Anchor Works","dimension_type.respawn_anchor_works.help":"If true, players can charge and use respawn anchors to set their spawn. If false, respawn anchors will blow up when used.","dimension_type.ultrawarm":"Ultrawarm","dimension_type.ultrawarm.help":"If true, water will evaporate and sponges will dry.","distance.absolute":"Absolute","distance.horizontal":"Horizontal","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Aqua Affinity","enchantment.bane_of_arthropods":"Bane of Arthropods","enchantment.binding_curse":"Curse of Binding","enchantment.blast_protection":"Blast Protection","enchantment.channeling":"Channeling","enchantment.depth_strider":"Depth Strider","enchantment.efficiency":"Efficiency","enchantment.enchantment":"Enchantment","enchantment.feather_falling":"Feather Falling","enchantment.fire_aspect":"Fire Aspect","enchantment.fire_protection":"Fire Protection","enchantment.flame":"Flame","enchantment.fortune":"Fortune","enchantment.frost_walker":"Frost Walker","enchantment.impaling":"Impaling","enchantment.infinity":"Infinity","enchantment.knockback":"Knockback","enchantment.levels":"Levels","enchantment.looting":"Looting","enchantment.loyalty":"Loyalty","enchantment.luck_of_the_sea":"Luck of the Sea","enchantment.lure":"Lure","enchantment.mending":"Mending","enchantment.multishot":"Multishot","enchantment.piercing":"Piercing","enchantment.power":"Power","enchantment.projectile_protection":"Projectile Protection","enchantment.protection":"Protection","enchantment.punch":"Punch","enchantment.quick_charge":"Quick Charge","enchantment.respiration":"Respiration","enchantment.riptide":"Riptide","enchantment.sharpness":"Sharpness","enchantment.silk_touch":"Silk Touch","enchantment.smite":"Smite","enchantment.sweeping":"Sweeping Edge","enchantment.thorns":"Thorns","enchantment.unbreaking":"Unbreaking","enchantment.vanishing_curse":"Curse of Vanishing","entity.distance":"Distance","entity.effects":"Effects","entity.equipment":"Equipment","entity.fishing_hook":"Fishing Hook","entity.fishing_hook.in_open_water":"In Open Water","entity.flags":"Flags","entity.isBaby":"Baby","entity.isOnFire":"On Fire","entity.isSneaking":"Sneaking","entity.isSprinting":"Sprinting","entity.isSwimming":"Swimming","entity.location":"Location","entity.nbt":"NBT","entity.player":"Player","entity.targeted_entity":"Targeted Entity","entity.team":"Team","entity.type":"Entity","entity.vehicle":"Vehicle","entity_source.direct_killer":"Direct Killer","entity_source.killer":"Killer","entity_source.killer_player":"Killer Player","entity_source.this":"This","entry":"Entry","error":"Error","error.expected_boolean":"Expected a boolean","error.expected_integer":"Expected an integer","error.expected_json":"Expected JSON","error.expected_list":"Expected an array","error.expected_number":"Expected a number","error.expected_object":"Expected an object","error.expected_range":"Expected a range","error.expected_string":"Expected a string","error.expected_uniform_int":"Expected a uniform int","error.height_multiple":"Height has to be multiple of %0%","error.invalid_binomial":"Range cannot use the binomial type","error.invalid_empty_list":"Array cannot be empty","error.invalid_empty_string":"String cannot be empty","error.invalid_enum_option":"Invalid option \\"%0%\\"","error.invalid_exact":"Range cannot use the constant type","error.invalid_pattern":"String is not valid: %0%","error.invalid_list_range.exact":"Expected a list with length %1%","error.invalid_list_range.larger":"List length %0% is larger than maximum %1%","error.invalid_list_range.smaller":"List length %0% is smaller than minimum %1%","error.invalid_number_range.between":"Expected a number between %1% and %2%","error.invalid_number_range.larger":"Value %0% is larger than maximum %1%","error.invalid_number_range.smaller":"Value %0% is smaller than minimum %1%","error.logical_height":"Logical height cannot be higher than height","error.min_y_multiple":"Min Y has to be a multiple of %0%","error.min_y_plus_height":"Min Y + height cannot be higher than %0%","error.recipe.invalid_key":"only single character is allowed as a key","error.separation_smaller_spacing":"Separation has to be smaller than spacing","false":"False","feature.bamboo.probability":"Probability","feature.basalt_columns.height":"Height","feature.basalt_columns.reach":"Reach","feature.block_pile.state_provider":"State Provider","feature.config":"Config","feature.decorated.decorator":"Decorator","feature.decorated.feature":"Feature","feature.delta_feature.contents":"Contents","feature.delta_feature.rim":"Rim","feature.delta_feature.rim_size":"Rim Size","feature.delta_feature.size":"Size","feature.disk.half_height":"Half Height","feature.disk.radius":"Radius","feature.disk.state":"State","feature.disk.targets":"Targets","feature.disk.targets.entry":"State","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center":"Far Dripstone Chance","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center.help":"Chance of a dripstone column at the max distance from the center.","feature.dripstone_cluster.density":"Density","feature.dripstone_cluster.dripstone_block_layer_thickness":"Block Layer Thickness","feature.dripstone_cluster.floor_to_ceiling_search_range":"Search Range","feature.dripstone_cluster.floor_to_ceiling_search_range.help":"Floor to ceiling search range.","feature.dripstone_cluster.height":"Height","feature.dripstone_cluster.height_deviation":"Height Deviation","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column":"Column Chance Distance","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column.help":"Max distance from the center affecting the chance of dripstone columns.","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias":"Height Bias Distance","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias.help":"Max distance from the center affecting the height bias.","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff":"Max Height Difference","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff.help":"Max height difference between the stalagmite and stalactite.","feature.dripstone_cluster.radius":"Radius","feature.dripstone_cluster.wetness":"Wetness","feature.dripstone_cluster.wetness_deviation":"Wetness Deviation","feature.dripstone_cluster.wetness_mean":"Wetness Mean","feature.emerald_ore.state":"State","feature.emerald_ore.target":"Target","feature.end_gateway.exact":"Exact","feature.end_gateway.exit":"Exit","feature.end_spike.crystal_beam_target":"Crystal Beam Target","feature.end_spike.crystal_invulnerable":"Crystal Invulnerable","feature.end_spike.spikes":"Spikes","feature.end_spike.spikes.entry":"Spike","feature.end_spike.spikes.entry.centerX":"Center X","feature.end_spike.spikes.entry.centerZ":"Center Z","feature.end_spike.spikes.entry.guarded":"Guarded","feature.end_spike.spikes.entry.height":"Height","feature.end_spike.spikes.entry.radius":"Radius","feature.fill_layer.height":"Height","feature.fill_layer.state":"State","feature.flower.blacklist":"Blacklist","feature.flower.block_placer":"Block Placer","feature.flower.can_replace":"Can Replace","feature.flower.need_water":"Need Water","feature.flower.project":"Project","feature.flower.state_provider":"State Provider","feature.flower.tries":"Tries","feature.flower.whitelist":"Whitelist","feature.flower.xspread":"X Spread","feature.flower.yspread":"Y Spread","feature.flower.zspread":"Z Spread","feature.forest_rock.state":"State","feature.glow_lichen.can_be_placed_on":"Can Be Placed On","feature.glow_lichen.can_be_placed_on.entry":"Block State","feature.glow_lichen.can_place_on_ceiling":"Can Place On Ceiling","feature.glow_lichen.can_place_on_floor":"Can Place On Floor","feature.glow_lichen.can_place_on_wall":"Can Place On Wall","feature.glow_lichen.chance_of_spreading":"Chance Of Spreading","feature.glow_lichen.search_range":"Search Range","feature.huge_brown_mushroom.cap_provider":"Cap Provider","feature.huge_brown_mushroom.foliage_radius":"Foliage Radius","feature.huge_brown_mushroom.stem_provider":"Stem Provider","feature.huge_fungus.decor_state":"Decoration","feature.huge_fungus.hat_state":"Hat","feature.huge_fungus.planted":"Planted","feature.huge_fungus.stem_state":"Stem","feature.huge_fungus.valid_base_block":"Valid Base","feature.huge_red_mushroom.cap_provider":"Cap Provider","feature.huge_red_mushroom.foliage_radius":"Foliage Radius","feature.huge_red_mushroom.stem_provider":"Stem Provider","feature.ice_patch.half_height":"Half Height","feature.ice_patch.radius":"Radius","feature.ice_patch.state":"State","feature.ice_patch.targets":"Targets","feature.ice_patch.targets.entry":"State","feature.iceberg.state":"State","feature.lake.state":"State","feature.large_dripstone.column_radius":"Column Radius","feature.large_dripstone.floor_to_ceiling_search_range":"Search Range","feature.large_dripstone.floor_to_ceiling_search_range.help":"Floor to ceiling search range.","feature.large_dripstone.height_scale":"Height Scale","feature.large_dripstone.max_column_radius_to_cave_height_ratio":"Radius to Cave Height Ratio","feature.large_dripstone.min_bluntness_for_wind":"Min Bluntness for Wind","feature.large_dripstone.min_radius_for_wind":"Min Radius for Wind","feature.large_dripstone.stalactite_bluntness":"Stalactite Bluntness","feature.large_dripstone.stalagmite_bluntness":"Stalagmite Bluntness","feature.large_dripstone.wind_speed":"Wind Speed","feature.nether_forest_vegetation.state_provider":"State Provider","feature.netherrack_replace_blobs.radius":"Radius","feature.netherrack_replace_blobs.state":"State","feature.netherrack_replace_blobs.target":"Target","feature.no_surface_ore.size":"Size","feature.no_surface_ore.state":"State","feature.no_surface_ore.target":"Target","feature.object":"Custom","feature.ore.discard_chance_on_air_exposure":"Discard Chance On Air Exposure","feature.ore.size":"Size","feature.ore.targets":"Targets","feature.ore.targets.entry.target":"Target","feature.ore.targets.entry.state":"State","feature.scattered_ore.discard_chance_on_air_exposure":"Discard Chance On Air Exposure","feature.scattered_ore.size":"Size","feature.scattered_ore.targets":"Targets","feature.scattered_ore.targets.entry.target":"Target","feature.scattered_ore.targets.entry.state":"State","feature.random_boolean_selector.feature_false":"Feature 1","feature.random_boolean_selector.feature_true":"Feature 2","feature.random_patch.blacklist":"Blacklist","feature.random_patch.block_placer":"Block Placer","feature.random_patch.can_replace":"Can Replace","feature.random_patch.need_water":"Need Water","feature.random_patch.project":"Project","feature.random_patch.state_provider":"State Provider","feature.random_patch.tries":"Tries","feature.random_patch.whitelist":"Whitelist","feature.random_patch.xspread":"X Spread","feature.random_patch.yspread":"Y Spread","feature.random_patch.zspread":"Z Spread","feature.random_selector.default":"Default","feature.random_selector.features":"Features","feature.random_selector.features.entry":"Feature","feature.random_selector.features.entry.chance":"Chance","feature.random_selector.features.entry.feature":"Feature","feature.sea_pickle.count":"Count","feature.seegrass.probability":"Probability","feature.simple_block.place_in":"Place In","feature.simple_block.place_in.entry":"State","feature.simple_block.place_on":"Place On","feature.simple_block.place_on.entry":"State","feature.simple_block.place_under":"Place Under","feature.simple_block.place_under.entry":"State","feature.simple_block.to_place":"To Place","feature.simple_random_selector.features":"Features","feature.simple_random_selector.features.entry":"Feature","feature.small_dripstone.chance_of_taller_dripstone":"Chance of Taller Dripstone","feature.small_dripstone.empty_space_search_radius":"Empty Space Search Radius","feature.small_dripstone.max_offset_from_origin":"Max Offset from Origin","feature.small_dripstone.max_placements":"Max Placements","feature.spring_feature.hole_count":"Hole Count","feature.spring_feature.required_block_below":"Required Block Below","feature.spring_feature.rock_count":"Rock Count","feature.spring_feature.state":"State","feature.spring_feature.valid_blocks":"Valid Blocks","feature.string":"Reference","feature.tree.decorators":"Decorators","feature.tree.decorators.entry":"Tree Decorator","feature.tree.foliage_placer":"Foliage Placer","feature.tree.heightmap":"Heightmap","feature.tree.ignore_vines":"Ignore Vines","feature.tree.leaves_provider":"Leaves Provider","feature.tree.max_water_depth":"Max Water Depth","feature.tree.minimum_size":"Minimum Size","feature.tree.minimum_size.limit":"Limit","feature.tree.minimum_size.lower_size":"Lower Size","feature.tree.minimum_size.middle_size":"Middle Size","feature.tree.minimum_size.min_clipped_height":"Min Clipped Height","feature.tree.minimum_size.type":"Minimum Size","feature.tree.minimum_size.upper_limit":"Upper Limit","feature.tree.minimum_size.upper_size":"Upper Size","feature.tree.trunk_placer":"Trunk Placer","feature.tree.trunk_provider":"Trunk Provider","feature.type":"Type","float_provider.base":"Base","float_provider.deviation":"Deviation","float_provider.mean":"Mean","float_provider.min":"Min","float_provider.max":"Max","float_provider.plateau":"Plateau","float_provider.spread":"Spread","float_provider.type.number":"Constant","float_provider.type.constant":"Constant+","float_provider.type.uniform":"Uniform","float_provider.type.clamped_normal":"Clamped Normal","float_provider.type.trapezoid":"Trapezoid","float_provider.value":"Value","fluid.fluid":"Fluid ID","fluid.state":"Fluid State","fluid.tag":"Fluid Tag","fluid_state.Name":"Name","fluid_state.Properties":"Properties","foliage_placer.crown_height":"Crown Height","foliage_placer.height":"Height","foliage_placer.offset":"Offset","foliage_placer.radius":"Radius","foliage_placer.trunk_height":"Trunk Height","foliage_placer.type":"Type","function.apply_bonus.enchantment":"Enchantment","function.apply_bonus.formula":"Formula","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial with Bonus Count","function.apply_bonus.formula.ore_drops":"Ore Drops","function.apply_bonus.formula.uniform_bonus_count":"Uniform Bonus Count","function.apply_bonus.parameters":"Parameters","function.apply_bonus.parameters.bonusMultiplier":"Multiplier","function.apply_bonus.parameters.extra":"Extra","function.apply_bonus.parameters.probability":"Probability","function.copy_name.source":"Source","function.copy_nbt.ops":"NBT Operations","function.copy_nbt.ops.entry":"Operation","function.copy_nbt.source":"Source","function.copy_state.block":"Block","function.copy_state.properties":"Properties","function.copy_state.properties.entry":"Property","function.enchant_randomly.enchantments":"Optional Enchantments","function.enchant_randomly.enchantments.entry":"Enchantment","function.enchant_with_levels.levels":"Levels","function.enchant_with_levels.treasure":"Treasure","function.exploration_map.decoration":"Decoration","function.exploration_map.destination":"Destination","function.exploration_map.search_radius":"Search Radius (Chunks)","function.exploration_map.skip_existing_chunks":"Skip Existing Chunks","function.exploration_map.zoom":"Zoom","function.fill_player_head.entity":"Entity","function.function":"Function","function.limit_count.limit":"Limit","function.list":"Multiple","function.looting_enchant.count":"Count","function.looting_enchant.limit":"Limit","function.object":"Single","function.set_attributes.modifiers":"Modifiers","function.set_attributes.modifiers.entry":"Modifier","function.set_banner_pattern.append":"Append","function.set_banner_pattern.patterns":"Patterns","function.set_contents.entries":"Contents","function.set_contents.entries.entry":"Entry","function.set_count.add":"Add","function.set_count.add.help":"If true, change will be relative to current item count","function.set_count.count":"Count","function.set_damage.add":"Add","function.set_damage.add.help":"If true, change will be relative to current damage","function.set_damage.damage":"Damage","function.set_data.data":"Data","function.set_enchantments.add":"Add","function.set_enchantments.add.help":"If true, change will be relative to current level","function.set_enchantments.enchantments":"Enchantments","function.set_loot_table.name":"Loot Table Name","function.set_loot_table.seed":"Seed","function.set_lore.entity":"Entity","function.set_lore.lore":"Lore","function.set_lore.lore.entry":"Line","function.set_lore.replace":"Replace","function.set_name.entity":"Entity","function.set_name.name":"Name","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Effects","function.set_stew_effect.effects.entry":"Effect","function.set_stew_effect.effects.entry.duration":"Duration","function.set_stew_effect.effects.entry.type":"Type","functions":"Functions","functions.entry":"Function","gamemode.adventure":"Adventure","gamemode.creative":"Creative","gamemode.spectator":"Spectator","gamemode.survival":"Survival","generation_step.air":"Air","generation_step.liquid":"Liquid","generator.biome_source.altitude_noise":"Altitude Noise","generator.biome_source.biome":"Biome","generator.biome_source.biomes":"Biomes","generator.biome_source.humidity_noise":"Humidity Noise","generator.biome_source.large_biomes":"Large Biomes","generator.biome_source.legacy_biome_init_layer":"Legacy Biome Init Layer","generator.biome_source.preset":"Biomes Preset","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Scale","generator.biome_source.seed":"Biomes Seed","generator.biome_source.temperature_noise":"Temperature Noise","generator.biome_source.type":"Biome Source","generator.biome_source.weirdness_noise":"Weirdness Noise","generator.seed":"Dimension Seed","generator.settings":"Generator Settings","generator.settings.biome":"Biome","generator.settings.lakes":"Lakes","generator.settings.layers":"Layers","generator.settings.layers.entry":"Layer","generator.settings.layers.entry.block":"Block ID","generator.settings.layers.entry.height":"Height","generator.settings.object":"Custom","generator.settings.presets.amplified":"Amplified","generator.settings.presets.caves":"Caves","generator.settings.presets.end":"End","generator.settings.presets.floating_islands":"Floating Islands","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Overworld","generator.settings.string":"Preset","generator.settings.structures":"Structures","generator.settings.structures.stronghold":"Stronghold","generator.settings.structures.stronghold.count":"Count","generator.settings.structures.stronghold.distance":"Distance","generator.settings.structures.stronghold.spread":"Spread","generator.settings.structures.structures":"Structures","generator.type":"Generator Type","generator_biome.biome":"Biome","generator_biome.parameters":"Parameters","generator_biome.parameters.altitude":"Altitude","generator_biome.parameters.help":"These parameters determine the placement of the biome. Every biome must have a unique combination of them. Biomes with similar values will generate next to each other.","generator_biome.parameters.humidity":"Humidity","generator_biome.parameters.offset":"Offset","generator_biome.parameters.temperature":"Temperature","generator_biome.parameters.weirdness":"Weirdness","generator_biome_noise.amplitudes":"Amplitudes","generator_biome_noise.amplitudes.entry":"Octave %0%","generator_biome_noise.firstOctave":"First Octave","generator_structure.salt":"Salt","generator_structure.separation":"Separation","generator_structure.separation.help":"The minumum distance in chunks between two structures of this type.","generator_structure.spacing":"Spacing","generator_structure.spacing.help":"The average distance in chunks between two structures of this type.","heightmap_type.MOTION_BLOCKING":"Motion Blocking","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"Motion Blocking (No Leaves)","heightmap_type.OCEAN_FLOOR":"Ocean Floor","heightmap_type.OCEAN_FLOOR_WG":"Ocean Floor (World Gen)","heightmap_type.WORLD_SURFACE":"World Surface","heightmap_type.WORLD_SURFACE_WG":"World Surface (World Gen)","hide_source":"Hide Source","item.count":"Count","item.durability":"Durability","item.enchantments":"Enchantments","item.enchantments.entry":"Enchantment","item.item":"Item ID","item.nbt":"NBT","item.potion":"Potion","item.tag":"Item Tag","key.advancements":"Advancements","key.attack":"Attack/Destroy","key.back":"Walk Backwards","key.chat":"Open Chat","key.command":"Open Command","key.drop":"Drop Selected Item","key.forward":"Walk Forwards","key.fullscreen":"Toggle Fullscreen","key.hotbar.1":"Hotbar Slot 1","key.hotbar.2":"Hotbar Slot 2","key.hotbar.3":"Hotbar Slot 3","key.hotbar.4":"Hotbar Slot 4","key.hotbar.5":"Hotbar Slot 5","key.hotbar.6":"Hotbar Slot 6","key.hotbar.7":"Hotbar Slot 7","key.hotbar.8":"Hotbar Slot 8","key.hotbar.9":"Hotbar Slot 9","key.inventory":"Open/Close Inventory","key.jump":"Jump","key.left":"Strafe Left","key.loadToolbarActivator":"Load Toolbar Activator","key.pickItem":"Pick Block","key.playerlist":"List Players","key.right":"Strafe Right","key.saveToolbarActivator":"Save Toolbar Activator","key.screenshot":"Take Screenshot","key.smoothCamera":"Toggle Cinematic Camera","key.sneak":"Sneak","key.spectatorOutlines":"Highlight Players (Spectators)","key.sprint":"Sprint","key.swapOffhand":"Swap Item With Offhand","key.togglePerspective":"Toggle Perspective","key.use":"Use Item/Place Block","location.biome":"Biome","location.block":"Block","location.dimension":"Dimension","location.feature":"Feature","location.fluid":"Fluid","location.light":"Light","location.light.light":"Visible Light Level","location.position":"Position","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Smokey","loot_condition_type.alternative":"Alternative","loot_condition_type.block_state_property":"Block State Properties","loot_condition_type.damage_source_properties":"Damage Source Properties","loot_condition_type.entity_properties":"Entity Properties","loot_condition_type.entity_scores":"Entity Scores","loot_condition_type.inverted":"Inverted","loot_condition_type.killed_by_player":"Killed by Player","loot_condition_type.location_check":"Location Check","loot_condition_type.match_tool":"Match Tool","loot_condition_type.random_chance":"Random Chance","loot_condition_type.random_chance_with_looting":"Random Chance with Looting","loot_condition_type.reference":"Reference","loot_condition_type.survives_explosion":"Survives Explosion","loot_condition_type.table_bonus":"Table Bonus","loot_condition_type.time_check":"Time Check","loot_condition_type.value_check":"Value Check","loot_condition_type.weather_check":"Weather Check","loot_entry.dynamic.name":"Name","loot_entry.item.name":"Name","loot_entry.loot_table.name":"Loot Table Name","loot_entry.quality":"Quality","loot_entry.tag.expand":"Expand","loot_entry.tag.expand.help":"If false, entry will return all contents of tag, otherwise entry will behave as multiple item entries.","loot_entry.tag.name":"Item Tag Name","loot_entry.type":"Type","loot_entry.weight":"Weight","loot_function_type.apply_bonus":"Apply Bonus","loot_function_type.copy_name":"Copy Name","loot_function_type.copy_nbt":"Copy NBT","loot_function_type.copy_state":"Copy Block States","loot_function_type.enchant_randomly":"Enchant Randomly","loot_function_type.enchant_with_levels":"Enchant With Levels","loot_function_type.exploration_map":"Exploration Map Properties","loot_function_type.explosion_decay":"Explosion Decay","loot_function_type.fill_player_head":"Fill Player Head","loot_function_type.furnace_smelt":"Furnace Smelt","loot_function_type.limit_count":"Limit Count","loot_function_type.looting_enchant":"Looting Enchant","loot_function_type.set_attributes":"Set Attributes","loot_function_type.set_banner_pattern":"Set Banner Pattern","loot_function_type.set_contents":"Set Contents","loot_function_type.set_count":"Set Count","loot_function_type.set_damage":"Set Damage","loot_function_type.set_data":"Set Data","loot_function_type.set_enchantments":"Set Enchantments","loot_function_type.set_loot_table":"Set Loot Table","loot_function_type.set_lore":"Set Lore","loot_function_type.set_name":"Set Name","loot_function_type.set_nbt":"Set NBT","loot_function_type.set_stew_effect":"Set Stew Effect","loot_pool.bonus_rolls":"Bonus Rolls","loot_pool.entries":"Entries","loot_pool.entries.entry":"Entry","loot_pool.rolls":"Rolls","loot_pool.rolls.help":"The amount of entries that are randomly chosen.","loot_pool_entry_type.alternatives":"Alternatives","loot_pool_entry_type.alternatives.help":"Tests conditions of the child entries and executes the first that can run.","loot_pool_entry_type.dynamic":"Dynamic","loot_pool_entry_type.dynamic.help":"Gets block specific drops.","loot_pool_entry_type.empty":"Empty","loot_pool_entry_type.empty.help":"Adds nothing to the pool.","loot_pool_entry_type.group":"Group","loot_pool_entry_type.group.help":"Executes all child entries when own conditions pass.","loot_pool_entry_type.item":"Item","loot_pool_entry_type.item.help":"Adds a single item.","loot_pool_entry_type.loot_table":"Loot Table","loot_pool_entry_type.loot_table.help":"Adds the contents of another loot table.","loot_pool_entry_type.sequence":"Sequence","loot_pool_entry_type.sequence.help":"Executes child entries until the first one that can\'t run due to conditions.","loot_pool_entry_type.tag":"Item Tag","loot_pool_entry_type.tag.help":"Adds the contents of an item tag.","loot_table.pools":"Pools","loot_table.pools.entry":"Pool","loot_table.type":"Type","luck_based":"Luck-based","nbt_operation.op":"Operation","nbt_operation.op.append":"Append","nbt_operation.op.merge":"Merge","nbt_operation.op.replace":"Replace","nbt_operation.source":"Source","nbt_operation.target":"Target","nbt_provider.source":"Source","nbt_provider.target":"Target","nbt_provider.type":"Type","nbt_provider.type.context":"Context+","nbt_provider.type.storage":"Storage","nbt_provider.type.string":"Context","noise_settings.aquifers_enabled":"Aquifers Enabled","noise_settings.bedrock_floor_position":"Bedrock Floor Position","noise_settings.bedrock_floor_position.help":"Position of the bedrock floor. Higher numbers move the floor up.","noise_settings.bedrock_roof_position":"Bedrock Roof Position","noise_settings.bedrock_roof_position.help":"Relative position of the bedrock roof starting at the world height. Higher numbers move the roof down.","noise_settings.biome":"Biome","noise_settings.deepslate_enabled":"Deepslate Enabled","noise_settings.default_block":"Default Block","noise_settings.default_fluid":"Default Fluid","noise_settings.disable_mob_generation":"Disable Mob Generation","noise_settings.disable_mob_generation.help":"If true, mobs will not spawn during generation.","noise_settings.name":"Name","noise_settings.noise":"Noise Options","noise_settings.noise_caves_enabled":"Noise Caves Enabled","noise_settings.noise.amplified":"Amplified","noise_settings.noise.bottom_slide":"Bottom Slide","noise_settings.noise.bottom_slide.help":"Adds or removes terrain at the bottom of the world. Does nothing when size is 0.","noise_settings.noise.bottom_slide.offset":"Offset","noise_settings.noise.bottom_slide.offset.help":"Defines an range of \'Offset * Size Vertical * 4\' blocks at the bottom of the world where the density is set to the target.","noise_settings.noise.bottom_slide.size":"Size","noise_settings.noise.bottom_slide.size.help":"Defines a range of \'Size * Size Vertical * 4\' blocks where the existing density and target are interpolated.","noise_settings.noise.bottom_slide.target":"Target","noise_settings.noise.bottom_slide.target.help":"The target density. Positive values add terrain and negative values remove terrain.","noise_settings.noise.density_factor":"Density Factor","noise_settings.noise.density_factor.help":"Determines how much the height influences the terrain. Positive values produce land at the bottom. Values close to 0 produce uniform cave-like terrain.","noise_settings.noise.density_offset":"Density Offset","noise_settings.noise.density_offset.help":"Affects the average terrain height. A value of 0 produces terrain land height at half the height. Positive values raise the height.","noise_settings.noise.height":"Height","noise_settings.noise.height.help":"The total height where blocks can generate. Max Y = Min Y + Height.","noise_settings.noise.island_noise_override":"Island Noise Override","noise_settings.noise.island_noise_override.help":"If true, terrain will be shaped like islands similar to the end.","noise_settings.noise.min_y":"Min Y","noise_settings.noise.min_y.help":"The minimum height where blocks start generating.","noise_settings.noise.random_density_offset":"Random Density Offset","noise_settings.noise.sampling":"Sampling","noise_settings.noise.sampling.xz_factor":"XZ Factor","noise_settings.noise.sampling.xz_scale":"XZ Scale","noise_settings.noise.sampling.y_factor":"Y Factor","noise_settings.noise.sampling.y_scale":"Y Scale","noise_settings.noise.simplex_surface_noise":"Simplex Surface Noise","noise_settings.noise.size_horizontal":"Size Horizontal","noise_settings.noise.size_vertical":"Size Vertical","noise_settings.noise.top_slide":"Top Slide","noise_settings.noise.top_slide.help":"Adds or removes terrain at the top of the world. Does nothing when size is 0.","noise_settings.noise.top_slide.offset":"Offset","noise_settings.noise.top_slide.offset.help":"Defines an range of \'Offset * Size Vertical * 4\' blocks at the top of the world where the density is set to the target.","noise_settings.noise.top_slide.size":"Size","noise_settings.noise.top_slide.size.help":"Defines a range of \'Size * Size Vertical * 4\' blocks where the existing density and target are interpolated.","noise_settings.noise.top_slide.target":"Target","noise_settings.noise.top_slide.target.help":"The target density. Positive values add terrain and negative values remove terrain.","noise_settings.sea_level":"Sea Level","noise_settings.structures":"Structures","noise_settings.structures.stronghold":"Stronghold","noise_settings.structures.stronghold.count":"Count","noise_settings.structures.stronghold.distance":"Distance","noise_settings.structures.stronghold.spread":"Spread","noise_settings.structures.structures":"Structures","number_provider.max":"Max","number_provider.min":"Min","number_provider.n":"N","number_provider.p":"P","number_provider.scale":"Scale","number_provider.score":"Objective","number_provider.target":"Target","number_provider.type":"Type","number_provider.type.binomial":"Binomial","number_provider.type.constant":"Constant+","number_provider.type.number":"Constant","number_provider.type.object":"Uniform","number_provider.type.score":"Score","number_provider.type.uniform":"Uniform+","number_provider.value":"Number","player.advancements":"Advancements","player.advancements.entry":"Advancement","player.gamemode":"Game Mode","player.level":"XP Level","player.recipes":"Recipes","player.stats":"Statistics","player.stats.entry":"Statistic","pos_rule_test.always_true":"Always True","pos_rule_test.axis":"Axis","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.axis.z":"Z","pos_rule_test.axis_aligned_linear_pos":"Axis Aligned Linear Pos","pos_rule_test.linear_pos":"Linear Pos","pos_rule_test.max_chance":"Max Chance","pos_rule_test.max_dist":"Max Dist","pos_rule_test.min_chance":"Min Chance","pos_rule_test.min_dist":"Min Dist","pos_rule_test.predicate_type":"Type","processor.block_age.mossiness":"Mossiness","processor.block_ignore.blocks":"Blocks","processor.block_ignore.blocks.entry":"State","processor.block_rot.integrity":"Integrity","processor.gravity.heightmap":"Heightmap","processor.gravity.offset":"Offset","processor.processor_type":"Type","processor.rule.rules":"Rules","processor.rule.rules.entry":"Rule","processor_list.processors":"Processors","processor_list.processors.entry":"Processor","processor_rule.input_predicate":"Input Predicate","processor_rule.location_predicate":"Location Predicate","processor_rule.output_nbt":"Output NBT","processor_rule.output_state":"Output State","processor_rule.position_predicate":"Position Predicate","processors.object":"Custom","processors.string":"Reference","range.binomial":"Binomial","range.max":"Max","range.min":"Min","range.n":"N","range.number":"Exact","range.object":"Range","range.p":"P","range.type":"Type","range.uniform":"Uniform","requirements":"Requirements","rule_test.always_true":"Always True","rule_test.block":"Block","rule_test.block_match":"Block Match","rule_test.block_state":"State","rule_test.blockstate_match":"Block State Match","rule_test.predicate_type":"Type","rule_test.probability":"Probability","rule_test.random_block_match":"Random Block Match","rule_test.random_blockstate_match":"Random Block State Match","rule_test.tag":"Tag","rule_test.tag_match":"Tag Match","score_provider.name":"Name","score_provider.target":"Target","score_provider.type":"Type","score_provider.type.context":"Context+","score_provider.type.fixed":"Fixed","score_provider.type.string":"Context","slot.chest":"Chest","slot.feet":"Feet","slot.head":"Head","slot.legs":"Legs","slot.mainhand":"Mainhand","slot.offhand":"Offhand","statistic.stat":"Statistic","statistic.type":"Type","statistic.type.broken":"Broken","statistic.type.crafted":"Crafted","statistic.type.custom":"Custom","statistic.type.dropped":"Dropped","statistic.type.killed":"Killed","statistic.type.killedByTeam":"Killed By Team","statistic.type.killed_by":"Killed By","statistic.type.mined":"Mined","statistic.type.picked_up":"Picked Up","statistic.type.teamkill":"Killed Team","statistic.type.used":"Used","statistic.value":"Value","status_effect.ambient":"Ambient","status_effect.amplifier":"Amplifier","status_effect.duration":"Duration","status_effect.visible":"Visible","structure_feature.biome_temp":"Biome Temperature","structure_feature.biome_temp.cold":"Cold","structure_feature.biome_temp.warm":"Warm","structure_feature.cluster_probability":"Cluster Probability","structure_feature.config":"Config","structure_feature.is_beached":"Is Beached","structure_feature.large_probability":"Large Probability","structure_feature.portal_type":"Portal Type","structure_feature.portal_type.desert":"Desert","structure_feature.portal_type.jungle":"Jungle","structure_feature.portal_type.mountain":"Mountain","structure_feature.portal_type.nether":"Nether","structure_feature.portal_type.ocean":"Ocean","structure_feature.portal_type.standard":"Standard","structure_feature.portal_type.swamp":"Swamp","structure_feature.probability":"Probability","structure_feature.size":"Size","structure_feature.start_pool":"Start Pool","structure_feature.type":"Type","structure_feature.type.mesa":"Mesa","structure_feature.type.normal":"Normal","surface_builder.config":"Config","surface_builder.top_material":"Top Material","surface_builder.type":"Type","surface_builder.under_material":"Under Material","surface_builder.underwater_material":"Underwater Material","table.type":"Type","table.type.block":"Block","table.type.chest":"Chest","table.type.empty":"Empty","table.type.entity":"Entity","table.type.fishing":"Fishing","table.type.generic":"Generic","tag.replace":"Replace","tag.values":"Values","template_element.element_type":"Type","template_element.elements":"Elements","template_element.feature":"Feature","template_element.location":"Location","template_element.processors":"Processors","template_element.projection":"Projection","template_element.projection.rigid":"Rigid","template_element.projection.terrain_matching":"Terrain Matching","template_pool.elements":"Elements","template_pool.elements.entry":"Element","template_pool.elements.entry.element":"Element","template_pool.elements.entry.weight":"Weight","template_pool.fallback":"Fallback","template_pool.name":"Name","text_component":"Text Component","text_component.boolean":"Boolean","text_component.list":"Array","text_component.number":"Number","text_component.object":"Object","text_component.object.text":"Plain Text","text_component.object.translation":"Translated Text","text_component.object.score":"Score Value","text_component.object.selector":"Entity Name","text_component.object.keybind":"Keybind","text_component.object.nbt":"NBT Value","text_component.string":"String","text_component_object.block":"Block","text_component_object.bold":"Bold","text_component_object.clickEvent":"Click Event","text_component_object.clickEvent.action":"Action","text_component_object.clickEvent.action.change_page":"Change Page","text_component_object.clickEvent.action.copy_to_clipboard":"Copy To Clipboard","text_component_object.clickEvent.action.open_file":"Open File","text_component_object.clickEvent.action.open_url":"Open Url","text_component_object.clickEvent.action.run_command":"Run Command","text_component_object.clickEvent.action.suggest_command":"Suggest Command","text_component_object.clickEvent.value":"Value","text_component_object.color":"Color","text_component_object.entity":"Entity","text_component_object.extra":"Extra","text_component_object.font":"Font","text_component_object.hoverEvent":"Hover Event","text_component_object.hoverEvent.action":"Action","text_component_object.hoverEvent.action.show_entity":"Show Entity","text_component_object.hoverEvent.action.show_item":"Show Item","text_component_object.hoverEvent.action.show_text":"Show Text","text_component_object.hoverEvent.contents":"Contents","text_component_object.hoverEvent.value":"Value","text_component_object.insertion":"Insertion","text_component_object.interpret":"Interpret","text_component_object.italic":"Italic","text_component_object.keybind":"Keybind","text_component_object.nbt":"NBT","text_component_object.obfuscated":"Obfuscated","text_component_object.score":"Score","text_component_object.score.name":"Name","text_component_object.score.objective":"Objective","text_component_object.score.value":"Value","text_component_object.selector":"Selector","text_component_object.storage":"Storage","text_component_object.strikethrough":"Strikethrough","text_component_object.text":"Text","text_component_object.translate":"Translate","text_component_object.underlined":"Underlined","text_component_object.with":"With","tree_decorator.alter_ground.provider":"State Provider","tree_decorator.beehive.probability":"Probability","tree_decorator.cocoa.probability":"Probability","tree_decorator.type":"Type","true":"True","trunk_placer.base_height":"Base Height","trunk_placer.height_rand_a":"Height Random A","trunk_placer.height_rand_b":"Height Random B","trunk_placer.type":"Type","uniform_int.base":"Base","uniform_int.number":"Constant","uniform_int.object":"Uniform","uniform_int.spread":"Spread","unset":"Unset","update.pack_format":"Update the pack_format to %0%","vertical_anchor.absolute":"Absolute","vertical_anchor.above_bottom":"Above Bottom","vertical_anchor.below_top":"Below Top","world.bonus_chest":"Spawn Bonus Chest","world.generate_features":"Generate Features","world.seed":"Seed","world_settings.bonus_chest":"Spawn Bonus Chest","world_settings.dimensions":"Dimensions","world_settings.generate_features":"Generate Features","world_settings.seed":"World Seed","worldgen.warning":"This feature is highly experimental and unstable. It can change in future versions. Expect the game to crash when creating worlds.","worldgen/biome_source.checkerboard":"Checkerboard","worldgen/biome_source.checkerboard.help":"Biomes generate in a checkerboard chunk pattern.","worldgen/biome_source.fixed":"Fixed","worldgen/biome_source.fixed.help":"One biome for the whole world.","worldgen/biome_source.multi_noise":"Multi Noise","worldgen/biome_source.multi_noise.help":"Custom biome distribution with configurable parameters.","worldgen/biome_source.the_end":"The End","worldgen/biome_source.the_end.help":"Biome distribution for the End.","worldgen/biome_source.vanilla_layered":"Vanilla Layered","worldgen/biome_source.vanilla_layered.help":"Biome distribution for the Overworld.","worldgen/block_placer_type.column_placer":"Column","worldgen/block_placer_type.double_plant_placer":"Double Plant","worldgen/block_placer_type.simple_block_placer":"Simple","worldgen/block_state_provider_type.forest_flower_provider":"Flower Forest","worldgen/block_state_provider_type.plain_flower_provider":"Plain Flower","worldgen/block_state_provider_type.rotated_block_provider":"Rotated Block","worldgen/block_state_provider_type.simple_state_provider":"Simple State","worldgen/block_state_provider_type.weighted_state_provider":"Weighted State","worldgen/carver.canyon":"Canyon","worldgen/carver.cave":"Cave","worldgen/carver.nether_cave":"Nether Cave","worldgen/carver.underwater_canyon":"Underwater Canyon","worldgen/carver.underwater_cave":"Underwater Cave","worldgen/chunk_generator.debug":"Debug World","worldgen/chunk_generator.flat":"Superflat","worldgen/chunk_generator.noise":"Default","worldgen/feature_size_type.three_layers_feature_size":"Three Layers","worldgen/feature_size_type.two_layers_feature_size":"Two Layers","worldgen/foliage_placer_type.acacia_foliage_placer":"Acacia","worldgen/foliage_placer_type.blob_foliage_placer":"Blob","worldgen/foliage_placer_type.bush_foliage_placer":"Bush","worldgen/foliage_placer_type.dark_oak_foliage_placer":"Dark Oak","worldgen/foliage_placer_type.fancy_foliage_placer":"Fancy","worldgen/foliage_placer_type.jungle_foliage_placer":"Jungle","worldgen/foliage_placer_type.mega_pine_foliage_placer":"Mega Pine","worldgen/foliage_placer_type.pine_foliage_placer":"Pine","worldgen/foliage_placer_type.spruce_foliage_placer":"Spruce","worldgen/structure_pool_element.empty_pool_element":"Empty","worldgen/structure_pool_element.feature_pool_element":"Feature","worldgen/structure_pool_element.legacy_single_pool_element":"Legacy Single","worldgen/structure_pool_element.list_pool_element":"List","worldgen/structure_pool_element.single_pool_element":"Single","worldgen/structure_processor.blackstone_replace":"Blackstone Replace","worldgen/structure_processor.block_age":"Block Age","worldgen/structure_processor.block_ignore":"Block Ignore","worldgen/structure_processor.block_rot":"Block Rot","worldgen/structure_processor.gravity":"Gravity","worldgen/structure_processor.jigsaw_replacement":"Jigsaw Replacement","worldgen/structure_processor.lava_submerged_block":"Lava Submerged Block","worldgen/structure_processor.nop":"Nothing","worldgen/structure_processor.rule":"Rule","worldgen/tree_decorator_type.alter_ground":"Alter Ground","worldgen/tree_decorator_type.beehive":"Beehive","worldgen/tree_decorator_type.cocoa":"Cocoa","worldgen/tree_decorator_type.leave_vine":"Leave Vine","worldgen/tree_decorator_type.trunk_vine":"Trunk Vine","worldgen/trunk_placer_type.dark_oak_trunk_placer":"Dark Oak","worldgen/trunk_placer_type.fancy_trunk_placer":"Fancy","worldgen/trunk_placer_type.forking_trunk_placer":"Forking","worldgen/trunk_placer_type.giant_trunk_placer":"Giant","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"Mega Jungle","worldgen/trunk_placer_type.straight_trunk_placer":"Straight"}');export default e; +//# sourceMappingURL=en.6ae73cdb.js.map diff --git a/assets/en.6ae73cdb.js.map b/assets/en.6ae73cdb.js.map new file mode 100644 index 00000000..011e9db1 --- /dev/null +++ b/assets/en.6ae73cdb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"en.6ae73cdb.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/fr.8d8b0c24.js b/assets/fr.8d8b0c24.js new file mode 100644 index 00000000..7dc9bada --- /dev/null +++ b/assets/fr.8d8b0c24.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"Progrès","copy":"Copie","dimension":"Dimension","dimension-type":"Type de dimension","download":"Télécharger","language":"Langage","loot-table":"Table de butin","predicate":"Prédicat","reset":"Réinitialiser","share":"Partager","title.generator":"Générateur de %0%","title.home":"Générateur de data-pack","preview":"Visualiser","world":"Paramètres du monde","worldgen/biome":"Biome","worldgen/carver":"Sculpteur","worldgen/feature":"Caractéristiques","worldgen/noise-settings":"Paramètres de forme du terrain","worldgen/processor-list":"Liste de processeurs","worldgen/structure-feature":"Fonctionnalités de structures","worldgen/surface-builder":"Générateur de la surface","worldgen/template-pool":"Pool modèle"}');export default e; +//# sourceMappingURL=fr.8d8b0c24.js.map diff --git a/assets/fr.8d8b0c24.js.map b/assets/fr.8d8b0c24.js.map new file mode 100644 index 00000000..6b66c528 --- /dev/null +++ b/assets/fr.8d8b0c24.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fr.8d8b0c24.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/fr.c1ebc76d.js b/assets/fr.c1ebc76d.js new file mode 100644 index 00000000..98c5bff8 --- /dev/null +++ b/assets/fr.c1ebc76d.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"Critères","advancement.display":"Affichage","advancement.display.announce_to_chat":"Annoncer dans le chat","advancement.display.background":"Fond","advancement.display.description":"Description","advancement.display.frame":"Cadre","advancement.display.frame.challenge":"Défi","advancement.display.frame.goal":"But","advancement.display.frame.task":"Tâche","advancement.display.help":"Si présent, le progrès sera visible dans le menu des progrès","advancement.display.hidden":"Caché","advancement.display.icon":"Icône","advancement.display.icon.item":"Objet de l\'icône","advancement.display.icon.nbt":"Données NBT de l\'icône","advancement.display.show_toast":"Afficher un toast","advancement.display.title":"Titre","advancement.parent":"Progrès parent","advancement.rewards":"Récompenses","advancement.rewards.experience":"Expérience","advancement.rewards.function":"Fonction","advancement.rewards.loot":"Tables de butin","advancement.rewards.recipes":"Recettes","advancement_trigger.bee_nest_destroyed":"Détruire une ruche","advancement_trigger.bred_animals":"Faire se reproduire des animaux","advancement_trigger.brewed_potion":"Préparer une potion","advancement_trigger.changed_dimension":"Changer de dimension","advancement_trigger.channeled_lightning":"Canaliser la foudre","advancement_trigger.construct_beacon":"Construire une balise","advancement_trigger.consume_item":"Consommer un objet","advancement_trigger.cured_zombie_villager":"Soigner un villageois zombie","advancement_trigger.effects_changed":"Effets changés","advancement_trigger.enchanted_item":"Enchanter un objet","advancement_trigger.enter_block":"Entrer dans un bloc","advancement_trigger.entity_hurt_player":"Prendre des dégâts","advancement_trigger.entity_killed_player":"Se faire tuer par une entité","advancement_trigger.filled_bucket":"Remplire un seau","advancement_trigger.fishing_rod_hooked":"Tirer une canne à pêche","advancement_trigger.hero_of_the_village":"Héros du village","advancement_trigger.impossible":"Impossible","advancement_trigger.inventory_changed":"Inventaire changé","advancement_trigger.item_durability_changed":"Durabilité d\'un objet changée","advancement_trigger.item_used_on_block":"Interagir avec un bloc","advancement_trigger.killed_by_crossbow":"Etre tué par arbalète","advancement_trigger.levitation":"Lévitation","advancement_trigger.location":"Position","advancement_trigger.nether_travel":"Transport par le Nether","advancement_trigger.placed_block":"Placer un bloc","advancement_trigger.player_generates_container_loot":"Générer le butin d\'un récipient","advancement_trigger.player_hurt_entity":"Endommager une entité","advancement_trigger.player_killed_entity":"Tuer une entité","advancement_trigger.recipe_unlocked":"Débloquer une recette","advancement_trigger.safely_harvest_honey":"Récolter du miel en sécurité","advancement_trigger.shot_crossbow":"Tirer avec une arbalète","advancement_trigger.slept_in_bed":"Dormir dans un lit","advancement_trigger.slide_down_block":"Glisser le long d\'un bloc","advancement_trigger.summoned_entity":"Faire apparaître une entité","advancement_trigger.tame_animal":"Dompter une entité","advancement_trigger.target_hit":"Cible touchée","advancement_trigger.thrown_item_picked_up_by_entity":"Objet jeté puis ramassé par une entité","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Utiliser un oeil du néant","advancement_trigger.used_totem":"Utiliser un totem","advancement_trigger.villager_trade":"Commercer avec un villageois","advancement_trigger.voluntary_exile":"Exil volontaire","attribute.generic_armor":"Armure","attribute.generic_armor_toughness":"Robustesse de l\'armure","attribute.generic_attack_damage":"Dégâts","attribute.generic_attack_knockback":"Recul","attribute.generic_attack_speed":"Vitesse d\'attaque","attribute.generic_flying_speed":"Vitesse de vol","attribute.generic_follow_range":"Rayon de suivi","attribute.generic_knockback_resistance":"Résistance au recul","attribute.generic_luck":"Chance","attribute.generic_max_health":"Vie maximale","attribute.generic_movement_speed":"Vitesse de déplacement","attribute.horse.jump_strength":"Puissance de saut","attribute.zombie.spawn_reinforcements":"Probabilité d\'apparition de renforcements","attribute_modifier.amount":"Quantité","attribute_modifier.attribute":"Attribut","attribute_modifier.name":"Nom","attribute_modifier.operation":"Opération","attribute_modifier.operation.addition":"Addition","attribute_modifier.operation.multiply_base":"Multiplier la base","attribute_modifier.operation.multiply_total":"Multiplier le total","attribute_modifier.slot":"Case","attribute_modifier.slot.list":"Plusieurs","attribute_modifier.slot.string":"Un seul","badge.experimental":"Expérimental","badge.unstable":"Instable","biome.carvers":"Grottes","biome.carvers.air":"Air","biome.carvers.liquid":"Liquide","biome.category":"Catégorie","biome.creature_spawn_probability":"Probabilité d\'apparition de créatures","biome.depth":"Profondeur","biome.depth.help":"Élever ou abaisser le terrain. Les valeurs positives sont considérées comme le sol et négatives comme les océans.","biome.downfall":"Chute","biome.effects":"Effets","biome.effects.additions_sound":"Sons supplémentaires","biome.effects.additions_sound.sound":"Son","biome.effects.ambient_sound":"Son ambient","biome.effects.fog_color":"Couleur du brouillard","biome.effects.foliage_color":"Couleur du feuillage","biome.effects.grass_color":"Couleur de l\'herbe","biome.effects.grass_color_modifier.dark_forest":"Forêt Noire","biome.effects.grass_color_modifier.none":"Aucun","biome.effects.grass_color_modifier.swamp":"Marais","biome.effects.mood_sound":"Son d\'ambiance","biome.effects.mood_sound.offset":"Décalage","biome.effects.mood_sound.sound":"Son","biome.effects.mood_sound.tick_delay":"Retard de tick","biome.effects.music":"Musique","biome.effects.music.max_delay":"Délai maximal","biome.effects.music.min_delay":"Délai minimal","biome.effects.music.replace_current_music":"Remplacer la musique courante","biome.effects.music.sound":"Son","biome.effects.particle":"Particule","biome.effects.particle.options":"Options","biome.effects.particle.options.type":"Type de particule","biome.effects.particle.probability":"Probabilité","biome.effects.sky_color":"Couleur du ciel","biome.effects.water_color":"Couleur de l\'eau","biome.effects.water_fog_color":"Couleur du brouillard de l\'eau","biome.features":"Caractéristiques","biome.features.entry":"Etape %0%","biome.features.entry.entry":"Fonctionnalité","biome.player_spawn_friendly":"Apparition du joueur possible","biome.player_spawn_friendly.help":"Si vrai, le point d\'apparition du monde sera de préférence dans ce biome.","biome.precipitation":"Précipitation","biome.precipitation.none":"Aucun","biome.precipitation.rain":"Pluie","biome.precipitation.snow":"Neige","biome.scale":"Échelle","biome.scale.help":"Étend verticalement le terrain. De petites valeurs produisent un terrain plat.","biome.spawn_costs":"Coûts d\'apparition","biome.spawn_costs.charge":"Charge","biome.spawn_costs.energy_budget":"Budget énergétique","biome.spawners":"Générateurs","biome.spawners.ambient":"Ambiant","biome.spawners.creature":"Créature","biome.spawners.entry":"Apparition","biome.spawners.entry.maxCount":"Nombre maximal","biome.spawners.entry.minCount":"Nombre minimal","biome.spawners.entry.type":"Type","biome.spawners.entry.weight":"Poids","biome.spawners.misc":"Divers","biome.spawners.monster":"Monstre","biome.spawners.water_ambient":"Eau ambiante","biome.spawners.water_creature":"Créatures aquatiques","biome.starts":"Début de la structure","biome.starts.entry":"Structure","biome.starts.help":"Liste des caractéristiques des structures configurées.","biome.surface_builder":"Générateur de la surface","biome.temperature":"Température","biome.temperature_modifier":"Modificateur de la température","biome.temperature_modifier.frozen":"Congelé","biome.temperature_modifier.none":"Aucun","block.block":"ID du bloc","block.nbt":"Données NBT","block.state":"Etat du bloc","block.tag":"Tag de blocs","block_placer.column_placer.extra_size":"Taille supplémentaire","block_placer.column_placer.min_size":"Taille minimale","block_placer.type":"Type","block_state.Name":"Nom","block_state.Properties":"Propriétés","block_state_provider.rotated_block_provider.state":"État","block_state_provider.simple_state_provider.state":"État","block_state_provider.type":"Type","block_state_provider.weighted_state_provider.entries":"Entrées","block_state_provider.weighted_state_provider.entries.entry.data":"État","block_state_provider.weighted_state_provider.entries.entry.weight":"Poids","carver.config":"Configuration","carver.config.probability":"Probabilité","carver.type":"Type","children":"Enfants","children.entry":"Entrée","condition.alternative.terms":"Termes","condition.block_state_property.block":"Bloc","condition.block_state_property.properties":"Etat de bloc","condition.condition":"Condition","condition.damage_source":"Source de dégâts","condition.entity_properties.entity":"Entité","condition.entity_scores.entity":"Entité","condition.entity_scores.scores":"Scores","condition.entry":"Prédicat","condition.inverted.term":"Terme","condition.item":"Objet","condition.killed_by_player.inverse":"Inversé","condition.list":"Multiples","condition.location":"Position","condition.location_check.offsetX":"Décalage sur l\'axe X","condition.location_check.offsetY":"Décalage sur l\'axe Y","condition.location_check.offsetZ":"Décalage sur l\'axe Z","condition.object":"Simple","condition.random_chance.chance":"Chance","condition.random_chance_with_looting.chance":"Chance","condition.random_chance_with_looting.looting_multiplier":"Multiplicateur butin","condition.reference.name":"Nom du prédicat","condition.table_bonus.chances":"Chances","condition.table_bonus.chances.entry":"Chance","condition.table_bonus.enchantment":"Enchantement","condition.time_check.period":"Période","condition.time_check.period.help":"Si présent, le temps sera le reste de la division entière du vrai temps par cette value (modulo). Par exemple, si spécifié à 24000, la valeur sera opérée sur une période de la journée.","condition.time_check.value":"Valeur","condition.weather_check.raining":"Pluie","condition.weather_check.thundering":"Foudre","conditions":"Conditions","conditions.entry":"Condition","conditions.list":"Conditions","conditions.object":"Legacy","copy_source.block_entity":"Entité de bloc","copy_source.direct_killer":"Tueur direct","copy_source.killer":"Tueur","copy_source.killer_player":"Joueur tueur","copy_source.this":"Cette entité","criterion.bee_nest_destroyed.block":"Bloc","criterion.bee_nest_destroyed.num_bees_inside":"Nombre d\'abeilles à l\'intérieur","criterion.bred_animals.child":"Enfant","criterion.bred_animals.parent":"Parent","criterion.bred_animals.partner":"Partenaire","criterion.brewed_potion.potion":"Potion","criterion.changed_dimension.from":"Source","criterion.changed_dimension.to":"Destination","criterion.channeled_lightning.victims":"Victimes","criterion.channeled_lightning.victims.entry":"Entité","criterion.conditions":"Conditions","criterion.construct_beacon.beacon_level":"Niveau de la pyramide","criterion.consume_item.item":"Objet","criterion.cured_zombie_villager.villager":"Villageois","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Effets","criterion.enchanted_item.item":"Objet","criterion.enchanted_item.levels":"Niveau d\'expérience","criterion.enter_block.block":"Bloc","criterion.enter_block.state":"Etats","criterion.entity_hurt_player.damage":"Dégâts","criterion.entity_killed_player.entity":"Entité source","criterion.entity_killed_player.killing_blow":"Coup de grâce","criterion.filled_bucket.item":"Objet","criterion.fishing_rod_hooked.entity":"Entité tirée","criterion.fishing_rod_hooked.item":"Objet","criterion.hero_of_the_village.location":"Position","criterion.inventory_changed.items":"Objets","criterion.inventory_changed.items.entry":"Objet","criterion.inventory_changed.slots":"Cases","criterion.inventory_changed.slots.empty":"Cases vides","criterion.inventory_changed.slots.full":"Cases pleines","criterion.inventory_changed.slots.occupied":"Cases occupées","criterion.item_durability_changed.delta":"Différence","criterion.item_durability_changed.durability":"Durabilité","criterion.item_durability_changed.item":"Objet","criterion.item_used_on_block.item":"Objet","criterion.item_used_on_block.location":"Position","criterion.killed_by_crossbow.unique_entity_types":"Nombre de types d\'entité d\'uniques","criterion.killed_by_crossbow.victims":"Victimes","criterion.killed_by_crossbow.victims.entry":"Entité","criterion.levitation.distance":"Distance","criterion.levitation.duration":"Durée","criterion.location.location":"Position","criterion.nether_travel.distance":"Distance","criterion.nether_travel.entered":"Position entrée","criterion.nether_travel.exited":"Position quittée","criterion.placed_block.block":"Bloc","criterion.placed_block.item":"Objet","criterion.placed_block.location":"Position","criterion.placed_block.state":"Etats","criterion.player":"Joueur","criterion.player_generates_container_loot.loot_table":"Table de butins","criterion.player_hurt_entity.damage":"Dégâts","criterion.player_hurt_entity.entity":"Entité victime","criterion.player_killed_entity.entity":"Entité victime","criterion.player_killed_entity.killing_blow":"Coup de grâce","criterion.recipe_unlocked.recipe":"Recette","criterion.rod":"Canne à pêche","criterion.shot_crossbow.item":"Objet","criterion.slept_in_bed.location":"Position","criterion.slide_down_block.block":"Bloc","criterion.summoned_entity.entity":"Entité","criterion.tame_animal.entity":"Animal","criterion.target_hit.projectile":"Projectile","criterion.target_hit.shooter":"Tireur","criterion.target_hit.signal_strength":"Force du signal","criterion.thrown_item_picked_up_by_entity.entity":"Entité","criterion.thrown_item_picked_up_by_entity.item":"Objet","criterion.trigger":"Déclencheur","criterion.used_ender_eye.distance":"Distance","criterion.used_totem.item":"Totem","criterion.villager_trade.item":"Objet acheté","criterion.villager_trade.villager":"Villageois","criterion.voluntary_exile.location":"Position","damage.blocked":"Bloqué","damage.dealt":"Dégâts infligés","damage.source_entity":"Entité source","damage.taken":"Dégâts reçus","damage.type":"Type de dégâts","damage_source.bypasses_armor":"Traverse l\'armure","damage_source.bypasses_invulnerability":"Vide","damage_source.bypasses_magic":"Famine","damage_source.direct_entity":"Entité directe","damage_source.is_explosion":"Explosion","damage_source.is_fire":"Feu","damage_source.is_lightning":"Foudre","damage_source.is_magic":"Magie","damage_source.is_projectile":"Projectile","damage_source.source_entity":"Entité source","decorator.carving_mask.step":"Étape de génération","decorator.config":"Configuration","decorator.count.count":"Taille de la pile","decorator.count_extra.count":"Taille de la pile","decorator.count_extra.extra_chance":"Chance supplémentaire","decorator.count_extra.extra_count":"Taille de la pile supplémentaire","decorator.count_multilayer.count":"Taille de la pile","dimension":"Dimension","dimension.generator":"Générateur","dimension.generator.biome_source":"Source de biomes","dimension.overworld":"Surface","dimension.the_end":"End","dimension.the_nether":"Nether","dimension.type":"Type de dimension","dimension.type.object":"Custom","dimension.type.string":"Préréglage","dimension_type.ambient_light":"Lumière ambiante","dimension_type.ambient_light.help":"Valeur entre 0 et 1","dimension_type.bed_works":"Lit fonctionnel","dimension_type.fixed_time":"Temps constant","dimension_type.fixed_time.help":"Définir cette valeur va fixer le soleil à une position constante","dimension_type.has_ceiling":"Plafond","dimension_type.has_raids":"A des raids","dimension_type.has_skylight":"Lumière du jour","dimension_type.infiniburn":"Infinibrûle","dimension_type.logical_height":"Hauteur logique","dimension_type.name":"Nom","dimension_type.natural":"Naturel","dimension_type.natural.help":"Si vrai, les portails font apparaître des piglins zombifiés. Si faux, les boussoles tournent sans cible.","dimension_type.piglin_safe":"Sûr pour les piglins","dimension_type.respawn_anchor_works":"Ancre de réapparition fonctionnelle","dimension_type.ultrawarm":"Ultra-chaud","dimension_type.ultrawarm.help":"Si vrai, l\'eau s\'évapore et les éponges se sèchent","distance.absolute":"Absolue","distance.horizontal":"Horizontale","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Affinité aquatique","enchantment.bane_of_arthropods":"Fléau des arthropodes","enchantment.binding_curse":"Malédiction du lien éternel","enchantment.blast_protection":"Protection contre les explosions","enchantment.channeling":"Canalisation","enchantment.depth_strider":"Agilité aquatique","enchantment.efficiency":"Efficacité","enchantment.enchantment":"Enchantement","enchantment.feather_falling":"Chute amortie","enchantment.fire_aspect":"Aura de feu","enchantment.fire_protection":"Protection contre le feu","enchantment.flame":"Flamme","enchantment.fortune":"Fortune","enchantment.frost_walker":"Semelles givrantes","enchantment.impaling":"Empalement","enchantment.infinity":"Infinité","enchantment.knockback":"Recul","enchantment.levels":"Niveaux","enchantment.looting":"Butin","enchantment.loyalty":"Loyauté","enchantment.luck_of_the_sea":"Chance de la mer","enchantment.lure":"Appât","enchantment.mending":"Raccommodage","enchantment.multishot":"Tir multiple","enchantment.piercing":"Perforation","enchantment.power":"Puissance","enchantment.projectile_protection":"Protection contre les projectiles","enchantment.protection":"Protection","enchantment.punch":"Frappe","enchantment.quick_charge":"Charge rapide","enchantment.respiration":"Apnée","enchantment.riptide":"Impulsion","enchantment.sharpness":"Tranchant","enchantment.silk_touch":"Toucher de soie","enchantment.smite":"Châtiment","enchantment.sweeping":"Affilage","enchantment.thorns":"Epines","enchantment.unbreaking":"Solidité","enchantment.vanishing_curse":"Malédiction de la disparition","entity.distance":"Distance","entity.effects":"Effets","entity.equipment":"Equipement","entity.fishing_hook":"Hameçon","entity.fishing_hook.in_open_water":"En eau libre","entity.flags":"Options","entity.isBaby":"Bébé","entity.isOnFire":"En feu","entity.isSneaking":"Accroupi","entity.isSprinting":"En course","entity.isSwimming":"En nage","entity.location":"Position","entity.nbt":"Données NBT","entity.player":"Joueur","entity.targeted_entity":"Entité ciblée","entity.team":"Equipe","entity.type":"Entité","entity.vehicle":"Véhicule","entity_source.killer":"Tueur","entity_source.killer_player":"Joueur tueur","entity_source.this":"Cette entité","entry":"Entrée","error":"Erreur","error.expected_boolean":"Booléen attendu","error.expected_integer":"Nombre entier attendu","error.expected_json":"JSON attendu","error.expected_list":"Tableau attendu","error.expected_number":"Nombre attendu","error.expected_object":"Objet attendu","error.expected_range":"Intervalle attendu","error.expected_string":"Chaîne de caractères attendue","error.expected_uniform_int":"Entier uniforme attendu","error.invalid_binomial":"L\'intervalle ne peut pas utiliser le type binomial","error.invalid_empty_list":"Le tableau ne peut pas être vide","error.invalid_empty_string":"La chaîne de caractères ne peut pas être vide","error.invalid_enum_option":"Option \\"%0%\\" invalide","error.invalid_exact":"L\'intervalle ne peut pas utiliser le type constante","error.invalid_number_range.between":"Nombre entre %0% et %1% attendu","error.invalid_pattern":"La chaîne de caractères n\'est pas valide : %0%","error.recipe.invalid_key":"Un seul caractère est autorisé comme clé","false":"Faux","feature.object":"Custom","feature.simple_random_selector.features.entry":"Fonctionnalité","feature.string":"Référence","fluid.fluid":"ID du fluide","fluid.state":"Etat du fluide","fluid.tag":"Tag de fluides","function.apply_bonus.enchantment":"Enchantement","function.apply_bonus.formula":"Formule","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial avec taille de pile bonus","function.apply_bonus.formula.ore_drops":"Récompenses de minerais","function.apply_bonus.formula.uniform_bonus_count":"Compte bonus uniforme","function.apply_bonus.parameters":"Paramètres","function.apply_bonus.parameters.bonusMultiplier":"Multiplicateur","function.apply_bonus.parameters.extra":"Extra","function.apply_bonus.parameters.probability":"Probabilité","function.copy_name.source":"Source","function.copy_nbt.ops":"Opérations NBT","function.copy_nbt.ops.entry":"Opération","function.copy_nbt.source":"Source","function.copy_state.block":"Bloc","function.copy_state.properties":"Propriétés","function.copy_state.properties.entry":"Propriété","function.enchant_randomly.enchantments":"Enchantements facultatifs","function.enchant_randomly.enchantments.entry":"Enchantement","function.enchant_with_levels.levels":"Niveaux","function.enchant_with_levels.treasure":"Trésor","function.exploration_map.decoration":"Décoration","function.exploration_map.destination":"Destination","function.exploration_map.search_radius":"Rayon de recherche (tronçons)","function.exploration_map.skip_existing_chunks":"Omettre les tronçons existants","function.exploration_map.zoom":"Zoomer","function.fill_player_head.entity":"Entité","function.function":"Fonction","function.limit_count.limit":"Limite","function.looting_enchant.count":"Taille de la pile","function.looting_enchant.limit":"Limite","function.set_attributes.modifiers":"Modificateurs","function.set_attributes.modifiers.entry":"Modificateur","function.set_contents.entries":"Contenus","function.set_contents.entries.entry":"Entrée","function.set_count.count":"Compte","function.set_damage.damage":"Dégâts","function.set_data.data":"Données","function.set_loot_table.name":"Nom de la table de butin","function.set_loot_table.seed":"Graine","function.set_lore.entity":"Entité","function.set_lore.lore":"Description","function.set_lore.lore.entry":"Ligne","function.set_lore.replace":"Remplacer","function.set_name.entity":"Entité","function.set_name.name":"Nom","function.set_nbt.tag":"Données NBT","function.set_stew_effect.effects":"Effets","function.set_stew_effect.effects.entry":"Effet","function.set_stew_effect.effects.entry.duration":"Durée","function.set_stew_effect.effects.entry.type":"Effet","functions":"Fonctions","functions.entry":"Fonction","gamemode.adventure":"Aventure","gamemode.creative":"Créatif","gamemode.spectator":"Spectateur","gamemode.survival":"Survie","generator.biome_source.biome":"Biome","generator.biome_source.biomes":"Biomes","generator.biome_source.large_biomes":"Biomes larges","generator.biome_source.legacy_biome_init_layer":"Couche d\'initialisation des biomes (legacy)","generator.biome_source.preset":"Préréglage des biomes","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Echelle","generator.biome_source.seed":"Graine des biomes","generator.biome_source.type":"Source de biomes","generator.seed":"Graine de la dimension","generator.settings":"Paramètres du générateur","generator.settings.biome":"Biome","generator.settings.lakes":"Lacs","generator.settings.layers":"Couches","generator.settings.layers.entry":"Couche","generator.settings.layers.entry.block":"ID du bloc","generator.settings.layers.entry.height":"Hauteur","generator.settings.object":"Custom","generator.settings.presets.amplified":"Amplifié","generator.settings.presets.caves":"Grottes","generator.settings.presets.end":"End","generator.settings.presets.floating_islands":"Iles volantes","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Surface","generator.settings.string":"Préréglage","generator.settings.structures":"Structures","generator.settings.structures.stronghold":"Forteresse","generator.settings.structures.stronghold.count":"Compte","generator.settings.structures.stronghold.distance":"Distance","generator.settings.structures.stronghold.spread":"Envergure","generator.settings.structures.structures":"Structures","generator.type":"Type de générateur","generator_biome.biome":"Biome","generator_biome.parameters":"Paramètres","generator_biome.parameters.altitude":"Altitude","generator_biome.parameters.help":"Ces paramètres déterminent le placement du biome. Chaque biome doit avoir une combinaison unique. Des biomes avec des valeurs presque similaires vont se générer côte à côte.","generator_biome.parameters.humidity":"Humidité","generator_biome.parameters.offset":"Décalage","generator_biome.parameters.temperature":"Température","generator_biome.parameters.weirdness":"Etrangeté","generator_structure.salt":"Sel","generator_structure.separation":"Séparation","generator_structure.spacing":"Espacement","hide_source":"Cacher la source","item.count":"Taille de la pile","item.durability":"Durabilité","item.enchantments":"Enchantements","item.enchantments.entry":"Enchantement","item.item":"ID de l\'objet","item.nbt":"Données NBT","item.potion":"Potion","item.tag":"Tag d\'objets","key.advancements":"Progrès","key.attack":"Attaquer/Détruire","key.back":"Reculer","key.chat":"Ouvrir le tchat","key.command":"Entrer une commande","key.drop":"Jeter l\'objet sélectionné","key.forward":"Avancer","key.fullscreen":"Basculer en mode plein écran","key.hotbar.1":"1ère case de la barre d\'action","key.hotbar.2":"2ème case de la barre d\'action","key.hotbar.3":"3ème case de la barre d\'action","key.hotbar.4":"4ème case de la barre d\'action","key.hotbar.5":"5ème case de la barre d\'action","key.hotbar.6":"6ème case de la barre d\'action","key.hotbar.7":"7ème case de la barre d\'action","key.hotbar.8":"8ème case de la barre d\'action","key.hotbar.9":"9ème case de la barre d\'action","key.inventory":"Ouvrir/fermer l\'inventaire","key.jump":"Sauter","key.left":"Aller à gauche","key.loadToolbarActivator":"Charger une barre d\'action","key.pickItem":"Choisir le bloc","key.playerlist":"Afficher la liste des joueurs","key.right":"Aller à droite","key.saveToolbarActivator":"Sauvegarder la barre d\'action","key.screenshot":"Prendre une capture d\'écran","key.smoothCamera":"Basculer en mode cinématique","key.sneak":"S\'accroupir","key.spectatorOutlines":"Mettre en évidence les joueurs","key.sprint":"Courir","key.swapOffhand":"Échanger l\'item avec la main secondaire","key.togglePerspective":"Changer de point de vue","key.use":"Utiliser un objet/Placer un bloc","location.biome":"Biome","location.block":"Bloc","location.dimension":"Dimension","location.feature":"Fonctionnalité","location.fluid":"Fluide","location.light":"Lumière","location.light.light":"Niveau de lumière visible","location.position":"Position","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Fumant","loot_condition_type.alternative":"Alternatif (OU)","loot_condition_type.block_state_property":"Propriétés du bloc","loot_condition_type.damage_source_properties":"Source de dégâts","loot_condition_type.entity_properties":"Propriétés de l\'entité","loot_condition_type.entity_scores":"Scores de l\'entité","loot_condition_type.inverted":"Inversé (NON)","loot_condition_type.killed_by_player":"Tué par un joueur","loot_condition_type.location_check":"Position","loot_condition_type.match_tool":"Propriétés de l\'outil","loot_condition_type.random_chance":"Probabilité aléatoire","loot_condition_type.random_chance_with_looting":"Probabilité aléatoire avec butin","loot_condition_type.reference":"Référence","loot_condition_type.survives_explosion":"Survit l\'explosion","loot_condition_type.table_bonus":"Bonus d\'enchantement","loot_condition_type.time_check":"Temps","loot_condition_type.weather_check":"Météo","loot_entry.dynamic.name":"Nom","loot_entry.item.name":"Nom","loot_entry.loot_table.name":"Nom de la table de butin","loot_entry.quality":"Qualité","loot_entry.tag.expand":"Etendre","loot_entry.tag.expand.help":"Si faux, l\'entrée retournera tous les contenus du tag, sinon l\'entrée se comportera comme plusieurs entrées objet","loot_entry.tag.name":"Nom du tag d\'objets","loot_entry.type":"Type","loot_entry.weight":"Poids","loot_function_type.apply_bonus":"Appliquer un bonus","loot_function_type.copy_name":"Copier le nom","loot_function_type.copy_nbt":"Copier les données NBT","loot_function_type.copy_state":"Copier les états du bloc","loot_function_type.enchant_randomly":"Enchanter aléatoirement","loot_function_type.enchant_with_levels":"Enchanter avec des niveaux","loot_function_type.exploration_map":"Propriétés de la carte d\'exploration","loot_function_type.explosion_decay":"Destruction par explosion","loot_function_type.fill_player_head":"Compléter la tête du joueur","loot_function_type.furnace_smelt":"Fondre dans un four","loot_function_type.limit_count":"Limiter la taille de la pile","loot_function_type.looting_enchant":"Appliquer l\'enchantement butin","loot_function_type.set_attributes":"Définir les attributs","loot_function_type.set_contents":"Définir les contenus","loot_function_type.set_count":"Définir la taille de la pile","loot_function_type.set_damage":"Définir les dégâts","loot_function_type.set_data":"Set Data","loot_function_type.set_loot_table":"Définir la table de butin","loot_function_type.set_lore":"Définir la description","loot_function_type.set_name":"Définir nom","loot_function_type.set_nbt":"Définir les données NBT","loot_function_type.set_stew_effect":"Définir l\'effet du ragoût","loot_pool.bonus_rolls":"Tirages bonus","loot_pool.entries":"Entrées","loot_pool.entries.entry":"Entrée","loot_pool.rolls":"Tirages","loot_pool.rolls.help":"Le nombre d\'entrées tirées au sort","loot_pool_entry_type.alternatives":"Alternatives","loot_pool_entry_type.alternatives.help":"Teste des conditions des entrées enfant et exécute la première qui peut être exécutée","loot_pool_entry_type.dynamic":"Dynamique","loot_pool_entry_type.dynamic.help":"Retourne des récompenses spécifiques au bloc","loot_pool_entry_type.empty":"Vide","loot_pool_entry_type.empty.help":"Ne rajoute rien à la poule","loot_pool_entry_type.group":"Groupe","loot_pool_entry_type.group.help":"Exécute toutes les entrées enfant quand les conditions de cette entrée sont vérifiées","loot_pool_entry_type.item":"Objet","loot_pool_entry_type.item.help":"Ajoute un objet","loot_pool_entry_type.loot_table":"Table de butin","loot_pool_entry_type.loot_table.help":"Ajoute les contenus d\'une autre table de butin","loot_pool_entry_type.sequence":"Suite","loot_pool_entry_type.sequence.help":"Exécute les entrées enfant jursqu\'à la première dont les conditions ne sont pas vérifiées","loot_pool_entry_type.tag":"Tag d\'objets","loot_table.pools":"Poules","loot_table.pools.entry":"Poule","luck_based":"Basé sur la chance","nbt_operation.op":"Opération","nbt_operation.op.append":"Rajouter","nbt_operation.op.merge":"Fusionner","nbt_operation.op.replace":"Remplacer","nbt_operation.source":"Source","nbt_operation.target":"Cible","noise_settings.bedrock_floor_position":"Hauteur du plancher en bedrock","noise_settings.bedrock_floor_position.help":"Position du plancher de bedrock. Des valeurs plus élevées déplacent le plafond vers le haut.","noise_settings.bedrock_roof_position":"Hauteur du plafond en bedrock","noise_settings.bedrock_roof_position.help":"Position du plafond de bedrock par rapport à la hauteur du monde. Des valeurs plus élevées déplacent le plafond vers le bas.","noise_settings.default_block":"Bloc par défaut","noise_settings.default_fluid":"Fluide par défaut","noise_settings.disable_mob_generation":"Désactiver la génération des créatures","noise_settings.disable_mob_generation.help":"Si vrai, les créatures n\'apparaîtront pas pendant la génération","noise_settings.noise":"Paramètres du bruit","noise_settings.noise.amplified":"Amplifié","noise_settings.noise.bottom_slide":"Glissement en bas","noise_settings.noise.bottom_slide.offset":"Décalage","noise_settings.noise.bottom_slide.size":"Taille","noise_settings.noise.bottom_slide.target":"Cible","noise_settings.noise.density_factor":"Facteur de densité","noise_settings.noise.density_offset":"Décalage de densité","noise_settings.noise.height":"Hauteur","noise_settings.noise.island_noise_override":"Génération d\'une île centrale","noise_settings.noise.island_noise_override.help":"Si vrai, le terrain se génère comme dans l\'End avec une île plus large au centre et plus d\'îles plus loin","noise_settings.noise.random_density_offset":"Décalage aléatoire de densité","noise_settings.noise.sampling":"Echantillonage","noise_settings.noise.sampling.xz_factor":"Facteur horizontal","noise_settings.noise.sampling.xz_scale":"Echelle horizontale","noise_settings.noise.sampling.y_factor":"Facteur vertical","noise_settings.noise.sampling.y_scale":"Echelle verticale","noise_settings.noise.simplex_surface_noise":"Bruit simplex à la surface","noise_settings.noise.size_horizontal":"Taille horizontale","noise_settings.noise.size_vertical":"Taille verticale","noise_settings.noise.top_slide":"Glissement en haut","noise_settings.noise.top_slide.offset":"Décalage","noise_settings.noise.top_slide.size":"Taille","noise_settings.noise.top_slide.target":"Cible","noise_settings.sea_level":"Niveau de la mer","player.advancements":"Progrès","player.advancements.entry":"Progrès","player.gamemode":"Mode de jeu","player.level":"Niveau d\'expérience","player.recipes":"Recettes","player.stats":"Statistiques","player.stats.entry":"Statistique","processors.object":"Custom","processors.string":"Référence","range.binomial":"Binomial","range.max":"Max","range.min":"Min","range.n":"n","range.number":"Exact","range.object":"Intervalle","range.p":"p","range.uniform":"Uniforme","requirements":"Conditions requises","slot.chest":"Torse","slot.feet":"Pieds","slot.head":"Tête","slot.legs":"Jambes","slot.mainhand":"Main principale","slot.offhand":"Seconde main","statistic.stat":"Statistique","statistic.type":"Type","statistic.type.broken":"Cassé","statistic.type.crafted":"Crafté","statistic.type.custom":"Custom","statistic.type.dropped":"Jeté","statistic.type.killed":"Tué","statistic.type.killedByTeam":"Tué par l\'équipe","statistic.type.killed_by":"Tué par","statistic.type.mined":"Miné","statistic.type.picked_up":"Ramassé","statistic.type.teamkill":"Tué dans l\'équipe","statistic.type.used":"Utilisé","statistic.value":"Valeur","status_effect.ambient":"Ambiant","status_effect.amplifier":"Amplificateur","status_effect.duration":"Durée","status_effect.visible":"Visible","table.type":"Type","table.type.block":"Bloc","table.type.chest":"Coffre","table.type.empty":"Vide","table.type.entity":"Entité","table.type.fishing":"Pêche","table.type.generic":"Générique","tag.replace":"Remplacer","tag.values":"Valeurs","text_component":"Composant de texte","text_component.boolean":"Booléen","text_component.list":"Tableau","text_component.number":"Nombre","text_component.object":"Objet","text_component.string":"Chaîne de caractères","text_component_object.block":"Bloc","text_component_object.bold":"Gras","text_component_object.clickEvent":"Événement de clic","text_component_object.clickEvent.action":"Action","text_component_object.clickEvent.action.change_page":"Changer de page","text_component_object.clickEvent.action.copy_to_clipboard":"Copier dans le presse-papiers","text_component_object.clickEvent.action.open_file":"Ouvrir un fichier","text_component_object.clickEvent.action.open_url":"Ouvrir une URL","text_component_object.clickEvent.action.run_command":"Exécuter une commande","text_component_object.clickEvent.action.suggest_command":"Suggérer une commande","text_component_object.clickEvent.value":"Valeur","text_component_object.color":"Couleur","text_component_object.entity":"Entité","text_component_object.extra":"Extra","text_component_object.font":"Police","text_component_object.hoverEvent":"Événement de survol","text_component_object.hoverEvent.action":"Action","text_component_object.hoverEvent.action.show_entity":"Afficher une entité","text_component_object.hoverEvent.action.show_item":"Afficher un objet","text_component_object.hoverEvent.action.show_text":"Afficher du texte","text_component_object.hoverEvent.contents":"Contenus","text_component_object.hoverEvent.value":"Valeur","text_component_object.insertion":"Insertion","text_component_object.interpret":"Interpréter","text_component_object.italic":"Italique","text_component_object.keybind":"Combinaison de touche","text_component_object.nbt":"Données NBT","text_component_object.obfuscated":"Obfusqué","text_component_object.score":"Score","text_component_object.score.name":"Nom","text_component_object.score.objective":"Objectif","text_component_object.score.value":"Valeur","text_component_object.selector":"Sélecteur","text_component_object.storage":"Stockage","text_component_object.strikethrough":"Barré","text_component_object.text":"Texte brut","text_component_object.translate":"Texte traduisible","text_component_object.underlined":"Sous-titré","text_component_object.with":"Traduire avec","true":"Vrai","uniform_int.base":"Base","uniform_int.number":"Exact","uniform_int.object":"Uniforme","uniform_int.spread":"Envergure","unset":"Indéfini","world.bonus_chest":"Générer un coffre bonus","world.generate_features":"Générer des fonctionnalités","world.seed":"Graine","world_settings.dimensions":"Dimensions","worldgen.warning":"Cette fonctionnalité est hautement expérimentale et instable. Elle peut changer dans des versions futures. Attends-toi à des crash quand tu crées des mondes.","worldgen/biome_source.checkerboard":"Échiquier","worldgen/biome_source.fixed":"Fixe","worldgen/biome_source.multi_noise":"Multi bruit","worldgen/biome_source.the_end":"End","worldgen/biome_source.vanilla_layered":"Vanilla par couches","worldgen/chunk_generator.debug":"Monde de débogage","worldgen/chunk_generator.flat":"Monde plat","worldgen/chunk_generator.noise":"Par défaut"}');export default e; +//# sourceMappingURL=fr.c1ebc76d.js.map diff --git a/assets/fr.c1ebc76d.js.map b/assets/fr.c1ebc76d.js.map new file mode 100644 index 00000000..a32da947 --- /dev/null +++ b/assets/fr.c1ebc76d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fr.c1ebc76d.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/index.9fea707c.js b/assets/index.9fea707c.js new file mode 100644 index 00000000..3f4b877b --- /dev/null +++ b/assets/index.9fea707c.js @@ -0,0 +1,2 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,i=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,s=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&i(e,n,t[n]);if(o)for(var n of o(t))a.call(t,n)&&i(e,n,t[n]);return e},l=(e,o)=>t(e,n(o));import{y as c,a as d,s as u,l as h,L as m,g,b as p,c as f,d as v,j as _,e as w,f as y,q as b,N as $,R as k}from"./vendor.5f8b9a3f.js";var x;function z({type:e,id:t}){return c((()=>{var e;null==(e=document.getElementById("ad-placeholder"))||e.remove(),"ethicalads"in window&ðicalads.load()}),[]),d("div",{"data-ea-publisher":"misode-github-io","data-ea-type":e,class:"ad dark flat",id:t})}function E({icon:e,label:t,active:n,class:o,onClick:r}){return d("div",{class:`btn${n?" active":""}${o?` ${o}`:""}`,onClick:r},e&&H[e],t&&d("span",null,t))}function M({icon:e,label:t,large:n,type:o,doSelect:r,value:a,onChange:i}){const s=void 0===i?()=>{}:e=>{const t=e.target.value;"number"===o&&(t.endsWith(".")||isNaN(Number(t)))||null==i||i(t)},l=u(null);return c((()=>{r&&l.current&&l.current.select()}),[r]),d("div",{class:"btn btn-input "+(n?"large-input":""),onClick:e=>e.stopPropagation()},e&&H[e],t&&d("span",null,t),d("input",{ref:l,type:"text",value:a,onKeyUp:s}))}function A({icon:e,label:t,relative:n,children:o}){const[r,a]=h(!1),i=()=>{a(!1)};return c((()=>(r&&document.body.addEventListener("click",i),()=>{document.body.removeEventListener("click",i)})),[r]),d("div",{class:"btn-menu"+(!1===n?" no-relative":"")},d(E,{icon:e,label:t,onClick:()=>a(!0)}),r&&d("div",{class:"btn-group"},o))}function C({error:e}){return d("div",{class:"error"},d("h3",null,e),d("p",null,"You can report this as a bug ",d("a",{href:"https://github.com/misode/misode.github.io/issues/new",target:"_blank"},"on GitHub")))}!function(e){const t="Site",n="Generator";function o(e,t,n){ga("send","event",e,t,n)}function r(e,t){ga("set",`dimension${e}`,t)}e.pageview=function(e){ga("set","page",e),ga("send","pageview")},e.setLanguage=function(e){r(4,e),o(t,"set-language",e)},e.setTheme=function(e){r(1,e),o(t,"set-theme",e)},e.setVersion=function(e){r(3,e),o(n,"set-version",e)},e.setPreview=function(e){r(5,e),o(n,"set-preview",e)},e.generatorEvent=function(e,t){o(n,e,t)}}(x||(x={}));var j=JSON.parse('{"languages":[{"code":"de","name":"Deutsch"},{"code":"en","name":"English"},{"code":"fr","name":"Français"},{"code":"it","name":"Italiano"},{"code":"ja","name":"日本語"},{"code":"pl","name":"Polski"},{"code":"pt","name":"Português"},{"code":"ru","name":"Русский"},{"code":"sk","name":"Slovenčina","schemas":false},{"code":"zh-cn","name":"简体中文"},{"code":"zh-tw","name":"正體中文"}],"versions":[{"id":"1.15","refs":{"mcdata_master":"13355f7"}},{"id":"1.16","refs":{"mcdata_master":"1.16.4","vanilla_datapack_data":"1.16.4-data","vanilla_datapack_summary":"1.16.4-summary"}},{"id":"1.17","refs":{"mcdata_master":"master","vanilla_datapack_data":"data","vanilla_datapack_summary":"summary"},"dynamic":true}],"models":[{"id":"loot-table","name":"Loot Table","path":"loot_tables","schema":"loot_table"},{"id":"predicate","name":"Predicate","path":"predicates","schema":"predicate"},{"id":"item-modifier","name":"Item Modifier","path":"item_modifiers","schema":"item_modifier","minVersion":"1.17"},{"id":"advancement","name":"Advancement","path":"advancements","schema":"advancement"},{"id":"dimension","name":"Dimension","path":"dimension","schema":"dimension","minVersion":"1.16"},{"id":"dimension-type","name":"Dimension Type","path":"dimension_type","schema":"dimension_type","minVersion":"1.16"},{"id":"world","name":"World Settings","schema":"world_settings","minVersion":"1.16"},{"id":"worldgen","name":"Worldgen","category":true,"minVersion":"1.16"},{"id":"worldgen/biome","name":"Biome","path":"worldgen/biome","category":"worldgen","schema":"biome","minVersion":"1.16"},{"id":"worldgen/carver","name":"Carver","path":"worldgen/configured_carver","category":"worldgen","schema":"configured_carver","minVersion":"1.16"},{"id":"worldgen/feature","name":"Feature","path":"worldgen/configured_feature","category":"worldgen","schema":"configured_feature","minVersion":"1.16"},{"id":"worldgen/noise-settings","name":"Noise Settings","path":"worldgen/noise_settings","category":"worldgen","schema":"noise_settings","minVersion":"1.16"},{"id":"worldgen/structure-feature","name":"Structure Feature","path":"worldgen/configured_structure_feature","category":"worldgen","schema":"configured_structure_feature","minVersion":"1.16"},{"id":"worldgen/surface-builder","name":"Surface Builder","path":"worldgen/configured_surface_builder","category":"worldgen","schema":"configured_surface_builder","minVersion":"1.16"},{"id":"worldgen/processor-list","name":"Processor List","path":"worldgen/processor_list","category":"worldgen","schema":"processor_list","minVersion":"1.16"},{"id":"worldgen/template-pool","name":"Template Pool","path":"worldgen/template_pool","category":"worldgen","schema":"template_pool","minVersion":"1.16"}],"registries":[{"id":"advancement","dynamic":true},{"id":"attribute","minVersion":"1.16"},{"id":"block"},{"id":"dimension","dynamic":true},{"id":"dimension_type","dynamic":true},{"id":"enchantment"},{"id":"entity_type"},{"id":"fluid"},{"id":"function","dynamic":true},{"id":"float_provider_type","minVersion":"1.17"},{"id":"item"},{"id":"int_provider_type","minVersion":"1.17"},{"id":"height_provider_type","minVersion":"1.17"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_function_type","minVersion":"1.16"},{"id":"loot_nbt_provider_type","minVersion":"1.17"},{"id":"loot_number_provider_type","minVersion":"1.17"},{"id":"loot_pool_entry_type","minVersion":"1.16"},{"id":"loot_score_provider_type","minVersion":"1.17"},{"id":"loot_table","dynamic":true},{"id":"mob_effect"},{"id":"pos_rule_test","minVersion":"1.16"},{"id":"potion","minVersion":"1.15"},{"id":"predicate","dynamic":true},{"id":"recipe","dynamic":true},{"id":"rule_test","minVersion":"1.16"},{"id":"sound_event"},{"id":"stat_type"},{"id":"structure","dynamic":true},{"id":"tag/block","dynamic":true},{"id":"tag/entity_type","dynamic":true},{"id":"tag/fluid","dynamic":true},{"id":"tag/function","dynamic":true},{"id":"tag/item","dynamic":true},{"id":"worldgen/biome","dynamic":true},{"id":"worldgen/block_state_provider_type","minVersion":"1.16"},{"id":"worldgen/block_placer_type","minVersion":"1.16"},{"id":"worldgen/biome_source","minVersion":"1.16"},{"id":"worldgen/carver","minVersion":"1.16"},{"id":"worldgen/chunk_generator","minVersion":"1.16"},{"id":"worldgen/configured_carver","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_decorator","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_structure_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_surface_builder","minVersion":"1.16","dynamic":true},{"id":"worldgen/decorator","minVersion":"1.16"},{"id":"worldgen/feature","minVersion":"1.16"},{"id":"worldgen/feature_size_type","minVersion":"1.16"},{"id":"worldgen/foliage_placer_type","minVersion":"1.16"},{"id":"worldgen/noise_settings","minVersion":"1.16","dynamic":true},{"id":"worldgen/processor_list","minVersion":"1.16","dynamic":true},{"id":"worldgen/structure_feature","minVersion":"1.16"},{"id":"worldgen/structure_pool_element","minVersion":"1.16"},{"id":"worldgen/structure_processor","minVersion":"1.16"},{"id":"worldgen/surface_builder","minVersion":"1.16"},{"id":"worldgen/template_pool","minVersion":"1.16","dynamic":true},{"id":"worldgen/tree_decorator_type","minVersion":"1.16"},{"id":"worldgen/trunk_placer_type","minVersion":"1.16"},{"id":"biome","maxVersion":"1.15"},{"id":"worldgen/biome","minVersion":"1.16","path":"processed/reports/biomes"}]}');let V;const L={},P=function(e,t){if(!t)return e();if(void 0===V){const e=document.createElement("link").relList;V=e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(t.map((e=>{if(e in L)return;L[e]=!0;const t=e.endsWith(".css"),n=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${n}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":V,t||(o.as="script",o.crossOrigin=""),o.href=e,document.head.appendChild(o),t?new Promise(((e,t)=>{o.addEventListener("load",e),o.addEventListener("error",t)})):void 0}))).then((()=>e()))};var S=JSON.parse('{"advancement":"Advancement","button.add":"Add","button.collapse":"Collapse","button.expand":"Expand","button.remove":"Remove","copy":"Copy","dimension-type":"Dimension Type","dimension":"Dimension","download":"Download","error.block_state.missing_property":"Missing block property \\"%0%\\"","fields":"Fields","github":"GitHub","home":"Home","import":"Import","item-modifier":"Item Modifier","language":"Language","loot-table":"Loot Table","maximize":"Maximize","minimize":"Minimize","not_found.description":"The page you were looking for does not exist.","no_presets":"No presets","predicate":"Predicate","redo":"Redo","reset":"Reset","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","theme.dark":"Dark","theme.light":"Light","theme.system":"System","title.generator":"%0% Generator","title.generator_category":"%0% Generators","title.home":"Data Pack Generators","presets":"Presets","preview":"Visualize","preview.show_density":"Show Density","preview.scale":"Scale","preview.depth":"Depth","preview.width":"Width","source_placeholder":"Paste JSON content here","undo":"Undo","world":"World Settings","worldgen":"Worldgen","worldgen/biome":"Biome","worldgen/carver":"Carver","worldgen/feature":"Feature","worldgen/noise-settings":"Noise Settings","worldgen/processor-list":"Processor List","worldgen/structure-feature":"Structure Feature","worldgen/surface-builder":"Surface Builder","worldgen/template-pool":"Template Pool"}'),O=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:S});const D={fallback:S};function I(e,t,...n){var o,r,a,i,s;return function(e,t){return e.replace(/%\d+%/g,(e=>{const n=parseInt(e.slice(1,-1));return void 0!==(null==t?void 0:t[n])?t[n]:e}))}(null!=(s=null!=(i=null!=(a=null==(o=D[e])?void 0:o[t])?a:null==(r=D.en)?void 0:r[t])?i:D.fallback[t])?s:t,n)}async function N(e){const t=j.languages.find((t=>t.code===e));if(!t)return;const n=await function(e){switch(e){case"../locales/de.json":return P((()=>import("./de.fc9f3a4e.js")),void 0);case"../locales/en.json":return P((()=>Promise.resolve().then((function(){return O}))),void 0);case"../locales/fr.json":return P((()=>import("./fr.8d8b0c24.js")),void 0);case"../locales/it.json":return P((()=>import("./it.772fd5c1.js")),void 0);case"../locales/ja.json":return P((()=>import("./ja.ed039f93.js")),void 0);case"../locales/pl.json":return P((()=>import("./pl.ea3084e3.js")),void 0);case"../locales/pt.json":return P((()=>import("./pt.c9ac192e.js")),void 0);case"../locales/ru.json":return P((()=>import("./ru.9c62fabf.js")),void 0);case"../locales/sk.json":return P((()=>import("./sk.fd7a01f7.js")),void 0);case"../locales/zh-cn.json":return P((()=>import("./zh-cn.24d69588.js")),void 0);case"../locales/zh-tw.json":return P((()=>import("./zh-tw.2f743133.js")),void 0);default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`../locales/${e}.json`),o=!1!==t.schemas&&await function(e){switch(e){case"../../node_modules/@mcschema/locales/src/de.json":return P((()=>import("./de.ba8c635a.js")),void 0);case"../../node_modules/@mcschema/locales/src/en.json":return P((()=>import("./en.6ae73cdb.js")),void 0);case"../../node_modules/@mcschema/locales/src/fr.json":return P((()=>import("./fr.c1ebc76d.js")),void 0);case"../../node_modules/@mcschema/locales/src/it.json":return P((()=>import("./it.288ea523.js")),void 0);case"../../node_modules/@mcschema/locales/src/ja.json":return P((()=>import("./ja.d68f1cee.js")),void 0);case"../../node_modules/@mcschema/locales/src/pl.json":return P((()=>import("./pl.2f8b352f.js")),void 0);case"../../node_modules/@mcschema/locales/src/pt.json":return P((()=>import("./pt.98ad9b62.js")),void 0);case"../../node_modules/@mcschema/locales/src/ru.json":return P((()=>import("./ru.61de7e2f.js")),void 0);case"../../node_modules/@mcschema/locales/src/zh-cn.json":return P((()=>import("./zh-cn.655950f4.js")),void 0);case"../../node_modules/@mcschema/locales/src/zh-tw.json":return P((()=>import("./zh-tw.a8f28612.js")),void 0);default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`../../node_modules/@mcschema/locales/src/${e}.json`);D[e]=s(s({},n.default),o.default)}const T={system:"device_desktop",dark:"moon",light:"sun"};function R({lang:e,title:t,theme:n,changeTheme:o,language:r,changeLanguage:a}){const i=I.bind(null,e);return d("header",null,d("div",{class:"header-title"},d(m,{class:"home-link",href:g().match(/^\/worldgen\/.+/)?"/worldgen/":"/"},H.three_bars),d("h2",null,t)),d("nav",null,d("ul",null,d("li",null,d(A,{icon:"globe"},j.languages.map((({code:e,name:t})=>d(E,{label:t,active:e===r,onClick:()=>a(e)}))))),d("li",null,d(A,{icon:T[n]},Object.entries(T).map((([e,t])=>d(E,{icon:t,label:i(`theme.${e}`),active:e===n,onClick:()=>o(e)}))))),d("li",{class:"dimmed"},d("a",{href:"https://github.com/misode/misode.github.io",target:"_blank",rel:"noreferrer",title:i("github")},H.mark_github)))))}const H={archive:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z"})),arrow_left:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"})),arrow_right:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"})),chevron_right:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"})),clippy:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"})),code:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"})),dash:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M2 8a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8z"})),device_desktop:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"})),download:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),eye:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"})),eye_closed:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z"})),gear:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"})),globe:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"})),history:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"})),kebab_horizontal:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{d:"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"})),link:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"})),mark_github:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})),moon:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"})),play:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"})),plus:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z"})),search:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"})),sun:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"})),sync:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"})),tag:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"})),three_bars:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"})),unfold:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{d:"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z"})),upload:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),x_circle:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"}))};function B(e,t){const n={invalidated(){e&&t(e)}};c((()=>(null==e||e.addListener(n),n.invalidated(),()=>{null==e||e.removeListener(n)})),[e])}function F(e,t){if(!e)return;const n=u(),o=u(),r=u([0,0]);c((()=>{const a=e=>{o.current=[e.offsetX,e.offsetY]},i=e=>{if(void 0===o.current)return;const a=e.offsetX-o.current[0],i=e.offsetY-o.current[1];0===a&&0===i||(cancelAnimationFrame(n.current),r.current=[r.current[0]+a,r.current[1]+i],n.current=requestAnimationFrame((()=>{t(...r.current),r.current=[0,0]}))),o.current=[e.offsetX,e.offsetY]},s=e=>{o.current=void 0};return e.addEventListener("mousedown",a),e.addEventListener("mousemove",i),document.body.addEventListener("mouseup",s),()=>{e.removeEventListener("mousedown",a),e.removeEventListener("mousemove",i),document.body.removeEventListener("mouseup",s)}}),[e])}const W=e=>("0"+e.toString(16)).substr(-2);function G(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,W).join("")}function q(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function J(e){return`/${e}/`.replaceAll("//","/")}function Y(e){const t=Math.abs(function(e){let t=0;for(let n=0;n>8)%256,(t>>16)%256]}function U(e,t,n){return Math.max(e,Math.min(t,n))}function X(e,t,n){return n<0?e:n>1?t:K(n,e,t)}function K(e,t,n){return t+e*(n-t)}function Q(e,t,n,o,r,a){return K(t,K(e,n,o),K(e,r,a))}function Z(e){return e*e*e*(e*(6*e-15)+10)}const ee=class{constructor(e){this.xo=256*e(),this.yo=256*e(),this.zo=256*e(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let t=0;t<256;t+=1){const n=e.int32()%(256-t),o=this.p[t];this.p[t]=this.p[t+n],this.p[t+n]=o}}noise(e,t,n,o,r){const a=e+this.xo,i=t+this.yo,s=n+this.zo,l=Math.floor(a),c=Math.floor(i),d=Math.floor(s),u=a-l,h=i-c,m=s-d,g=Z(u),p=Z(h),f=Z(m);let v=0;return 0!==o&&(v=Math.floor(Math.min(r,h)/o)*o),this.sampleAndLerp(l,c,d,u,h-v,m,g,p,f)}gradDot(e,t,n,o){const r=ee.GRADIENT[15&e];return r[0]*t+r[1]*n+r[2]*o}P(e){return 255&this.p[255&e]}sampleAndLerp(e,t,n,o,r,a,i,s,l){const c=this.P(e)+t,d=this.P(c)+n,u=this.P(c+1)+n,h=this.P(e+1)+t,m=this.P(h)+n,g=this.P(h+1)+n;return function(e,t,n,o,r,a,i,s,l,c,d){return K(n,Q(e,t,o,r,a,i),Q(e,t,s,l,c,d))}(i,s,l,this.gradDot(this.P(d),o,r,a),this.gradDot(this.P(m),o-1,r,a),this.gradDot(this.P(u),o,r-1,a),this.gradDot(this.P(g),o-1,r-1,a),this.gradDot(this.P(d+1),o,r,a-1),this.gradDot(this.P(m+1),o-1,r,a-1),this.gradDot(this.P(u+1),o,r-1,a-1),this.gradDot(this.P(g+1),o-1,r-1,a-1))}};let te=ee;te.GRADIENT=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1],[1,1,0],[0,-1,1],[-1,1,0],[0,-1,-1]];class ne{constructor(e,t,n){this.amplitudes=n,this.noiseLevels=Array(this.amplitudes.length);for(let o=0;o{const r=e[`${t}_noise`];return new oe(n.seed+o,r.firstOctave,r.amplitudes)})),a={};e.biomes.forEach((e=>{a[e.biome]=ie(e.biome,n.biomeColors)}));const i=t.data,s=-n.offset[0]-100+n.res/2,l=-n.offset[1]-100+n.res/2,c=4*t.width/n.res,d=4/n.res;for(let u=0;u<200;u+=n.res)for(let t=0;t<200;t+=n.res){const h=t*c+u*d,m=(u+s)*n.scale,g=(t+l)*n.scale,p=se(r,e.biomes,m,g),f=null!=(o=a[p])?o:[128,128,128];i[h]=f[0],i[h+1]=f[1],i[h+2]=f[2],i[h+3]=255}}(e,t,n);case"fixed":return function(e,t,n){const o=t.data,r=ie(e.biome,n.biomeColors),a=4*t.width/n.res,i=4/n.res;for(let s=0;s<200;s+=n.res)for(let e=0;e<200;e+=n.res){const t=e*a+s*i;o[t]=r[0],o[t+1]=r[1],o[t+2]=r[2],o[t+3]=255}}(e,t,n);case"checkerboard":return function(e,t,n){var o,r,a,i,s,l;const c={};null==(o=e.biomes)||o.forEach((e=>{c[e]=ie(e,n.biomeColors)}));const d=t.data,u=-n.offset[0]-100+n.res/2,h=-n.offset[1]-100+n.res/2,m=4*t.width/n.res,g=4/n.res,p=(null!=(r=e.scale)?r:2)+2,f=null!=(i=null==(a=e.biomes)?void 0:a.length)?i:0;for(let v=0;v<200;v+=n.res)for(let t=0;t<200;t+=n.res){const o=t*m+v*g,r=((((v+u)*n.scale>>p)+((t+h)*n.scale>>p))%f+f)%f,a=null==(s=e.biomes)?void 0:s[r],i=null!=(l=c[a])?l:[128,128,128];d[o]=i[0],d[o+1]=i[1],d[o+2]=i[2],d[o+3]=255}}(e,t,n)}}function ie(e,t){var n;if(!e)return[128,128,128];const o=null!=(n=t[e])?n:ce[e];return void 0===o?Y(e):o}function se(e,t,n,o){if(!Array.isArray(t)||0===t.length)return"";const r=e.map((e=>e.getValue(n,o,0)));let a=1/0,i="";for(const s of t){const e=le(s.parameters,{altitude:r[0],temperature:r[1],humidity:r[2],weirdness:r[3],offset:0});e{_e(t,null==e?void 0:e.decorator,n).forEach((t=>ve(t,null==e?void 0:e.feature,n)))},random_boolean_selector:(e,t,n)=>{ve(t,n.random()<.5?null==e?void 0:e.feature_true:null==e?void 0:e.feature_false,n)},random_selector:(e,t,n)=>{var o,r;for(const a of null!=(o=null==e?void 0:e.features)?o:[])if(n.random()<(null!=(r=null==a?void 0:a.chance)?r:0))return void ve(t,a.feature,n);ve(t,null==e?void 0:e.default,n)},simple_random_selector:(e,t,n)=>{var o,r,a;ve(t,null==(a=null==e?void 0:e.features)?void 0:a[ge(null!=(r=null==(o=null==e?void 0:e.features)?void 0:o.length)?r:0,n)],n)}},ye={chance:(e,t,n)=>{var o;return n.random()<1/(null!=(o=null==e?void 0:e.chance)?o:1)?[t]:[]},count:(e,t,n)=>{var o;return new Array(pe(null!=(o=null==e?void 0:e.count)?o:1,n)).fill(t)},count_extra:(e,t,n)=>{var o,r;let a=null!=(o=null==e?void 0:e.count)?o:1;return n.random(){var o;return new Array(pe(null!=(o=null==e?void 0:e.count)?o:1,n)).fill(t).map((e=>[e[0]+ge(16,n),e[1],e[2]+ge(16,n)]))},count_noise:(e,t,n)=>{const o=n.biomeInfoNoise.getValue(t[0]/200,0,t[2]/200){var o;const r=Math.max(1,e.noise_factor),a=n.biomeInfoNoise.getValue(t[0]/r,0,t[2]/r),i=Math.max(0,Math.ceil((a+(null!=(o=e.noise_offset)?o:0))*e.noise_to_count_ratio));return new Array(i).fill(t)},dark_oak_tree:(e,t,n)=>[...new Array(16)].map(((e,o)=>{const r=4*Math.floor(o/4)+1+ge(3,n)+t[0];return[r,Math.max(n.seaLevel,de[U(0,63,r)]),4*Math.floor(o%4)+1+ge(3,n)+t[2]]})),decorated:(e,t,n)=>_e(t,null==e?void 0:e.outer,n).flatMap((t=>_e(t,null==e?void 0:e.inner,n))),depth_average:(e,t,n)=>{var o,r,a,i;return me(t,ge(null!=(o=null==e?void 0:e.spread)?o:0,n)+ge(null!=(r=null==e?void 0:e.spread)?r:0,n)-(null!=(a=e.spread)?a:0)+(null!=(i=null==e?void 0:e.baseline)?i:0))},emerald_ore:(e,t,n)=>{const o=3+ge(6,n);return[...new Array(o)].map((()=>[t[0]+ge(16,n),4+ge(28,n),t[2]+ge(16,n)]))},fire:(e,t,n)=>{const o=1+ge(ge(pe(null==e?void 0:e.count,n),n),n);return[...new Array(o)].map((()=>[t[0]+ge(16,n),ge(128,n),t[2]+ge(16,n)]))},glowstone:(e,t,n)=>{const o=ge(1+ge(pe(null==e?void 0:e.count,n),n),n);return[...new Array(o)].map((()=>[t[0]+ge(16,n),ge(128,n),t[2]+ge(16,n)]))},heightmap:(e,t,n)=>me(t,Math.max(n.seaLevel,de[U(0,63,t[0])])),heightmap_spread_double:(e,t,n)=>me(t,ge(2*Math.max(n.seaLevel,de[U(0,63,t[0])]),n)),heightmap_world_surface:(e,t,n)=>me(t,Math.max(n.seaLevel,de[U(0,63,t[0])])),iceberg:(e,t,n)=>[[t[0]+4+ge(8,n),t[1],t[2]+4+ge(8,n)]],lava_lake:(e,t,n)=>{var o,r;if(0===ge((null!=(o=e.chance)?o:1)/10,n)){const o=ge(ge(248,n)+8,n);if(o[t],range:(e,t,n)=>{var o,r,a;return me(t,ge((null!=(o=null==e?void 0:e.maximum)?o:1)-(null!=(r=null==e?void 0:e.top_offset)?r:0),n)+(null!=(a=null==e?void 0:e.bottom_offset)?a:0))},range_biased:(e,t,n)=>{var o,r,a;return me(t,ge(ge((null!=(o=null==e?void 0:e.maximum)?o:1)-(null!=(r=null==e?void 0:e.top_offset)?r:0),n)+(null!=(a=null==e?void 0:e.bottom_offset)?a:0),n))},range_very_biased:(e,t,n)=>{var o,r,a,i;return me(t,ge(ge(ge((null!=(o=null==e?void 0:e.maximum)?o:1)-(null!=(r=null==e?void 0:e.top_offset)?r:0),n)+(null!=(a=null==e?void 0:e.bottom_offset)?a:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0),n))},spread_32_above:(e,t,n)=>me(t,ge(t[1]+32,n)),top_solid_heightmap:(e,t)=>me(t,de[U(0,63,t[0])]),magma:(e,t,n)=>me(t,ge(t[1]+32,n)),square:(e,t,n)=>[[t[0]+ge(16,n),t[1],t[2]+ge(16,n)]],water_lake:(e,t,n)=>{var o;return 0===ge(null!=(o=e.chance)?o:1,n)?[[t[0]+ge(16,n),ge(256,n),t[2]+ge(16,n)]]:[]}};class be{constructor(e){this.settings={},this.chunkWidth=4,this.chunkHeight=4,this.chunkCountY=32,this.biomeDepth=.1,this.biomeScale=.2,this.noiseColumnCache=[],this.xOffset=0,this.minLimitPerlinNoise=ne.fromRange(e+"djfqnqd",-15,0),this.maxLimitPerlinNoise=ne.fromRange(e+"gowdnqs",-15,0),this.mainPerlinNoise=ne.fromRange(e+"afiwmco",-7,0),this.depthNoise=ne.fromRange(e+"qphnmeo",-15,0)}reset(e,t,n,o,r){this.settings=e,this.chunkWidth=4*e.size_horizontal,this.chunkHeight=4*e.size_vertical,this.chunkCountY=Math.floor(e.height/this.chunkHeight),e.amplified&&t>0&&(t=1+2*t,n=1+4*n),this.biomeDepth=.265625*(.5*t-.125),this.biomeScale=96/(.9*n+.1),this.noiseColumnCache=Array(r).fill(null),this.xOffset=o}iterateNoiseColumn(e){const t=Array(this.chunkCountY*this.chunkHeight),n=Math.floor(e/this.chunkWidth),o=Math.floor(e%this.chunkWidth)/this.chunkWidth,r=this.fillNoiseColumn(n),a=this.fillNoiseColumn(n+1);for(let i=this.chunkCountY-1;i>=0;i-=1)for(let e=this.chunkHeight;e>=0;e-=1){const n=e/this.chunkHeight;t[i*this.chunkHeight+e]=Q(n,o,r[i],r[i+1],a[i],a[i+1])}return t}fillNoiseColumn(e){const t=this.noiseColumnCache[e-this.xOffset];if(t)return t;const n=Array(this.chunkCountY+1),o=684.412*this.settings.sampling.xz_scale,r=684.412*this.settings.sampling.y_scale,a=o/this.settings.sampling.xz_factor,i=r/this.settings.sampling.y_factor,s=this.settings.random_density_offset?this.getRandomDensity(e):0;for(let l=0;l<=this.chunkCountY;l+=1){let t=this.sampleAndClampNoise(e,l,this.mainPerlinNoise.getOctaveNoise(0).zo,o,r,a,i);const c=((1-2*l/this.chunkCountY+s)*this.settings.density_factor+this.settings.density_offset+this.biomeDepth)*this.biomeScale;t+=c*(c>0?4:1),this.settings.top_slide.size>0&&(t=X(this.settings.top_slide.target,t,(this.chunkCountY-l-this.settings.top_slide.offset)/this.settings.top_slide.size)),this.settings.bottom_slide.size>0&&(t=X(this.settings.bottom_slide.target,t,(l-this.settings.bottom_slide.offset)/this.settings.bottom_slide.size)),n[l]=t}return this.noiseColumnCache[e-this.xOffset]=n,n}getRandomDensity(e){const t=this.depthNoise.getValue(200*e,10,this.depthNoise.getOctaveNoise(0).zo,1,0,!0),n=24.575625*(t<0?.3*-t:t)-2;return n<0?.009486607142857142*n:.006640625*Math.min(n,1)}sampleAndClampNoise(e,t,n,o,r,a,i){let s=0,l=0,c=0,d=1;for(let u=0;u<16;u+=1){const h=ne.wrap(e*o*d),m=ne.wrap(t*r*d),g=ne.wrap(n*o*d),p=r*d,f=this.minLimitPerlinNoise.getOctaveNoise(u);f&&(s+=f.noise(h,m,g,p,t*p)/d);const v=this.maxLimitPerlinNoise.getOctaveNoise(u);if(v&&(l+=v.noise(h,m,g,p,t*p)/d),u<8){const o=this.mainPerlinNoise.getOctaveNoise(u);o&&(c+=o.noise(ne.wrap(e*a*d),ne.wrap(t*i*d),ne.wrap(n*a*d),i*d,t*i*d)/d)}d/=2}return X(s/512,l/512,(c/10+1)/2)}}function $e(e,t){return e[t]>0?0:e[t+1]>0?150:255}const ke=["dimension","worldgen/noise-settings","worldgen/feature"],xe=[{id:"biome-noise",generator:"dimension",path:new v.Path(["generator","biome_source"]),predicate:e=>e.get(new v.Path(["generator","type"])).endsWith("noise"),preview:({data:e,shown:t})=>{var n;const[o,r]=h(2),[a,i]=h(G()),[s,l]=h(void 0),m=null==(n=e.type)?void 0:n.replace(/^minecraft:/,""),g=u(null),p=u([0,0]),v=u(void 0),_=u(),w=u();c((()=>{_.current=(t=4)=>{"multi_noise"!==m&&(t=1);const n=g.current.getContext("2d");g.current.width=200/t,g.current.height=200/t;const r=n.createImageData(g.current.width,g.current.height);ae(e,r,{biomeColors:{},offset:p.current,scale:o,seed:a,res:t}),n.putImageData(r,0,0),1!==t&&(clearTimeout(v.current),v.current=setTimeout((()=>_.current(1)),150))},w.current=(t,n)=>{const r=200*t/g.current.clientWidth,i=200*n/g.current.clientHeight,s=function(e,t,n,o){var r,a,i,s,l;const[c,d]=function([e,t],n){return[(e-n.offset[0]-100+n.res/2)*n.scale,(t-n.offset[1]-100+n.res/2)*n.scale]}([t,n],o);switch(null==(r=null==e?void 0:e.type)?void 0:r.replace(/^minecraft:/,"")){case"multi_noise":return se(re.map(((t,n)=>{const r=e[`${t}_noise`];return new oe(o.seed+n,r.firstOctave,r.amplitudes)})),e.biomes,c,d);case"fixed":return e.biome;case"checkerboard":const t=(null!=(a=e.scale)?a:2)+2,n=null!=(s=null==(i=e.biomes)?void 0:i.length)?s:0,r=(((c>>t)+(d>>t))%n+n)%n;return null==(l=e.biomes)?void 0:l[r]}}(e,r,i,{biomeColors:{},offset:p.current,scale:o,seed:a,res:1});l(s)}})),F(g.current,((e,t)=>{const n=200*e/g.current.clientWidth,o=200*t/g.current.clientHeight;p.current=[p.current[0]+n,p.current[1]+o],_.current()})),function(e,t){if(!e)return;const n=e=>{t(e.offsetX,e.offsetY)},o=()=>{t(void 0,void 0)};c((()=>(e.addEventListener("mousemove",n),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("mousemove",n),e.removeEventListener("mouseleave",o)})),[e])}(g.current,((e,t)=>{void 0===e||void 0===t?l(void 0):w.current(e,t)}));const y=JSON.stringify(e);c((()=>{t&&_.current()}),[y,o,a,t]);const b=e=>{p.current[0]*=o/e,p.current[1]*=o/e,r(e)};return d(f,null,d("div",{class:"controls"},s&&d(E,{label:s,class:"no-pointer"}),("multi_noise"===m||"checkerboard"===m)&&d(f,null,d(E,{icon:"dash",onClick:()=>b(1.5*o)}),d(E,{icon:"plus",onClick:()=>b(o/1.5)})),"multi_noise"===m&&d(E,{icon:"sync",onClick:()=>i(G())})),d("canvas",{ref:g,width:"200",height:"200"}))}},{id:"noise-settings",generator:"worldgen/noise-settings",path:new v.Path(["noise"]),predicate:()=>!0,preview:({lang:e,data:t,shown:n})=>{const o=I.bind(null,e),[r,a]=h(G()),[i,s]=h(.1),[l,m]=h(.2),g=u(null),p=u(0),v=u();c((()=>{v.current=()=>{const e=g.current.getContext("2d"),n=t.height;g.current.width=n,g.current.height=n;const o=e.createImageData(g.current.width,g.current.height);!function(e,t,n){const o=new be(n.seed);o.reset(e,n.biomeDepth,n.biomeScale,n.offset,200);const r=t.data,a=4*t.width;for(let i=0;i{const t=e*g.current.width/g.current.clientWidth;p.current=p.current+t,v.current()}));const _=JSON.stringify(t);return c((()=>{n&&v.current()}),[_,i,l,r,n]),d(f,null,d("div",{class:"controls"},d(A,{icon:"gear"},d(M,{type:"number",label:o("preview.depth"),value:`${i}`,onChange:e=>s(Number(e))}),d(M,{type:"number",label:o("preview.scale"),value:`${l}`,onChange:e=>m(Number(e))})),d(E,{icon:"sync",onClick:()=>a(G())})),d("canvas",{ref:g,width:"200",height:t.height}))}},{id:"decorator",generator:"worldgen/feature",path:new v.Path([]),predicate:()=>!0,preview:({data:e,version:t,shown:n})=>{const[o,r]=h(4),[a,i]=h(G()),s=u(null),l=u();c((()=>{l.current=()=>{const n=s.current.getContext("2d");s.current.width=16*o,s.current.height=16*o;const r=n.createImageData(s.current.width,s.current.height);!function(e,t,n){const o={placements:[],features:[],random:p(n.seed),biomeInfoNoise:new ne(n.seed+"frwynup",0,[1]),seaLevel:63,version:n.version};for(let a=0;a=n.size[0]||a[1]>=n.size[1]||a[2]>=n.size[2])continue;const e=a[2]*(4*t.width)+4*a[0],s=i{n&&setTimeout((()=>l.current()))}),[m,o,a,n]),d(f,null,d("div",{class:"controls"},d(E,{icon:"dash",onClick:()=>r(Math.min(16,o+1))}),d(E,{icon:"plus",onClick:()=>r(Math.max(1,o-1))}),d(E,{icon:"sync",onClick:()=>i(G())})),d("canvas",{ref:s,width:"64",height:"64"}))}}];function ze({lang:e,model:t,version:n,id:o,shown:r}){const[,a]=h(0);return B(t,(()=>{a((e=>e+1))})),d(f,null,xe.filter((e=>e.generator===o)).map((o=>{const a=null==t?void 0:t.get(o.path);return t&&void 0!==a&&o.predicate(t)?o.preview({lang:e,model:t,data:a,version:n,shown:r}):d(f,null)})))}const Ee={base:({},e,t)=>t,choice({switchNode:e},t,n,o){return e.hook(this,t,n,o)},list({children:e},t,n,o){return Array.isArray(n)?n.map(((n,r)=>e.hook(this,t.push(r),n,o))):n},map({children:e,config:t},n,o,r){var a,i;if(void 0===o)return;const s="block_state_map"===(null==(a=t.validation)?void 0:a.validator)?null==(i=r.blockStates)?void 0:i[v.relativePath(n,t.validation.params.id).get()]:null,l={};return Object.keys(o).forEach((t=>{s&&!Object.keys(s.properties).includes(t)||(l[t]=e.hook(this,n.push(t),o[t],r))})),l},object({getActiveFields:e},t,n,o){if(null==n||"object"!=typeof n)return n;const r={},a=e(t);return Object.keys(a).filter((e=>a[e].enabled(t))).forEach((e=>{r[e]=a[e].hook(this,t.push(e),n[e],o)})),r}};function Me({lang:e,name:t,model:n,blockStates:o,doCopy:r,doDownload:a,doImport:i,onError:s}){const l=I.bind(null,e),h=u(null),m=u(null);B(n,(e=>{try{const t={blockStates:null!=o?o:{}},n=e.schema.hook(Ee,new v.ModelPath(e),e.data,t);h.current.value=JSON.stringify(n,null,2)+"\n"}catch(t){s(`Error getting JSON output: ${t.message}`),console.error(t),h.current.value=""}}));return c((()=>{r&&h.current&&(h.current.select(),document.execCommand("copy"))}),[r]),c((()=>{if(a&&h.current&&m.current){const e=encodeURIComponent(h.current.value);m.current.setAttribute("href",`data:text/json;charset=utf-8,${e}`),m.current.setAttribute("download",`${t}.json`),m.current.click()}}),[a]),c((()=>{i&&h.current&&(h.current.value="",h.current.select())}),[i]),d(f,null,d("textarea",{ref:h,class:"source",onChange:()=>{try{const e=JSON.parse(h.current.value);null==n||n.reset(e,!1)}catch(e){}},spellcheck:!1,autocorrect:"off",placeholder:l("source_placeholder")}),d("a",{ref:m,style:"display: none;"}))}class Ae{constructor(){this.registry={}}register(e){const t=G();return this.registry[t]=e,t}on(e,t){return this.register((n=>{n.addEventListener(e,(e=>{t(n),e.stopPropagation()}))}))}onChange(e){return this.on("change",e)}onClick(e){return this.on("click",e)}mounted(e){e.querySelectorAll("[data-id]").forEach((e=>{var t,n;const o=e.getAttribute("data-id");null==(n=(t=this.registry)[o])||n.call(t,e)})),this.registry={}}}const Ce={clippy:'',info:'',issue_opened:'',plus_circle:'',trashcan:''},je=["loot_table.type","loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","carver.type","feature.type","decorator.type","feature.tree.minimum_size.type","block_state_provider.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","int_provider.type","float_provider.type","height_provider.type","structure_feature.type","surface_builder.type","processor.processor_type","rule_test.predicate_type","pos_rule_test.predicate_type","template_element.element_type","block_placer.type"],Ve=["number_provider.type","score_provider.type","nbt_provider.type","int_provider.type","float_provider.type","height_provider.type"],Le=["feature.config","decorator.config","int_provider.value","float_provider.value","block_state_provider.simple_state_provider.state","block_state_provider.rotated_block_provider.state","block_state_provider.weighted_state_provider.entries.entry.data","rule_test.block_state","structure_feature.config","surface_builder.config","template_pool.elements.entry.element"],Pe=["loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","feature.type","decorator.type","block_state_provider.type","feature.tree.minimum_size.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","block_placer.type","rule_test.predicate_type","processor.processor_type","template_element.element_type"],Se=new v.DataModel(v.MapNode(v.StringNode(),v.StringNode()),{historyMax:0}),Oe={base:()=>["","",""],boolean({node:e},t,n,o){const r=o.mounter.onClick((()=>{t.model.set(t,!(!e.optional()||!1!==n)&&void 0)})),a=o.mounter.onClick((()=>{t.model.set(t,!e.optional()||!0!==n||void 0)}));return["",`${q(o.loc("false"))}\n\t\t\t${q(o.loc("true"))}`,""]},choice({choices:e,config:t,switchNode:n},o,r,a){const i=n.activeCase(o,!0),s=(null==t?void 0:t.context)?new v.ModelPath(o.getModel(),new v.Path(o.getArray(),[t.context])):o,l=(null==t?void 0:t.choiceContext)?new v.Path([],[t.choiceContext]):(null==t?void 0:t.context)?new v.Path([],[t.context]):o,[c,d,u]=i.node.hook(this,s,r,a);if(1===e.length)return[c,d,u];return[c,``+d,u]},list({children:e},t,n,o){const r=o.mounter.onClick((()=>{Array.isArray(n)||(n=[]),t.model.set(t,[e.default(),...n])})),a=o.mounter.onClick((()=>{Array.isArray(n)||(n=[]),t.model.set(t,[...n,e.default()])})),i=``;let s="";return Array.isArray(n)&&(s=n.map(((n,r)=>{const a=o.mounter.onClick((()=>t.model.set(t.push(r),void 0))),i=t.push(r).contextPush("entry"),s=e.category(i),[l,c,d]=e.hook(this,i,n,o);return`
\n\t\t\t\t\t
\n\t\t\t\t\t\t${Te(o.loc,i,o.mounter)}\n\t\t\t\t\t\t${Re(o.loc,i,o.mounter)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${l}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${c}\n\t\t\t\t\t
\n\t\t\t\t\t${d?`
${d}
`:""}\n\t\t\t\t\t
\n\t\t\t\t
`})).join(""),n.length>2&&(s+=`
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
`)),["",i,s]},map({children:e,keys:t,config:n},o,r,a){var i,s,l,c;const d=new v.ModelPath(Se,new v.Path([Ie(o.toString())])),u=a.mounter.onClick((()=>{const t=d.get();o.model.set(o.push(t),e.default())})),h="block_state_map"===(null==(i=n.validation)?void 0:i.validator)?null==(s=a.blockStates)?void 0:s[v.relativePath(o,n.validation.params.id).get()]:null,m=((null==h?void 0:h.properties)?v.StringNode(null,{enum:Object.keys(null!=(l=h.properties)?l:{})}):t).hook(this,d,null!=(c=d.get())?c:"",a)[1]+``;if(h&&"Properties"===o.last()){"object"!=typeof r&&(r={});const e=Object.entries(h.properties).map((([e,t])=>[e,v.StringNode(null,{enum:t})]));return Object.entries(h.properties).forEach((([e,t])=>{"string"!=typeof r[e]?o.model.errors.add(o.push(e),"error.expected_string"):t.includes(r[e])||o.model.errors.add(o.push(e),"error.invalid_enum_option",r[e])})),v.ObjectNode(Object.fromEntries(e)).hook(this,o,r,a)}let g="";return"object"==typeof r&&void 0!==r&&(g=Object.keys(r).map((t=>{var n;const i=a.mounter.onClick((()=>o.model.set(o.push(t),void 0))),s=o.modelPush(t),l=e.category(s),c=h?v.StringNode(null,{enum:null!=(n=h.properties[t])?n:[]}):e;(null==h?void 0:h.properties[t])&&!h.properties[t].includes(r[t])&&o.model.errors.add(s,"error.invalid_enum_option",r[t]);const[d,u,m]=c.hook(this,s,r[t],a);return`
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t${Te(a.loc,s,a.mounter)}\n\t\t\t\t\t\t\t${Re(a.loc,s,a.mounter)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${d}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${u}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t${m?`
${m}
`:""}\n\t\t\t\t\t\t
\n\t\t\t\t\t
`})).join("")),["",m,g]},number({integer:e,config:t},n,o,{mounter:r}){var a;const i=r.onChange((o=>{const r=o.value,a=(null==t?void 0:t.color)?parseInt(r.slice(1),16):e?parseInt(r):parseFloat(r);n.model.set(n,a)}));if(null==t?void 0:t.color){return["",``,""]}return["",``,""]},object({node:e,getActiveFields:t,getChildModelPath:n},o,r,a){let i="",s="";e.optional()&&(s=void 0===r?``:``);let l="";if("object"==typeof r&&void 0!==r&&(!e.optional()||void 0!==r)){const e=t(o);l=Object.keys(e).filter((t=>e[t].enabled(o))).map((t=>{const l=e[t],c=n(o,t),d=c.getContext().join(".");if(Ve.includes(d))return"";const u=l.category(c),[h,m,g]=l.hook(this,c,r[t],a);if(0===h.length&&0===m.length&&0===g.length)return"";const p="object"===l.type(c)&&Le.includes(d),f=Pe.includes(d);return p||f?(i+=`${Te(a.loc,c,a.mounter)}${Re(a.loc,c,a.mounter)}${h}`,s+=m,p?g:""):`
\n\t\t\t\t\t
\n\t\t\t\t\t\t${Te(a.loc,c,a.mounter)}\n\t\t\t\t\t\t${Re(a.loc,c,a.mounter)}\n\t\t\t\t\t\t${h}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${m}\n\t\t\t\t\t
\n\t\t\t\t\t${g?`
${g}
`:""}\n\t\t\t\t
`})).join("")}return[i,s,l]},string({node:e,getValues:t,config:n},o,r,a){var i,s;const l=a.mounter.register((e=>{e.value=null!=r?r:"",e.addEventListener("change",(t=>{const n=e.value;o.model.set(o,0===n.length?void 0:n),t.stopPropagation()}))}));let c;const d=t();if(De(n)&&!n.additional||je.includes(o.getContext().join("."))){let t=new v.Path([]);De(n)&&"string"==typeof n.enum?t=t.contextPush(n.enum):De(n)||"resource"!==(null==n?void 0:n.validator)||"string"!=typeof n.params.pool||(t=t.contextPush(n.params.pool)),c=``}else if(De(n)||"block_state_key"!==(null==n?void 0:n.validator)){const e=G();c=`\n\t\t\t\t${0===d.length?"":`\n\t\t\t\t\t\t\t\t${d.map((e=>``}`}else{const e=null==(i=a.blockStates)?void 0:i[v.relativePath(o,n.params.id).get()];c=``}return["",c,""]}};function De(e){return!!(null==e?void 0:e.enum)}function Ie(e){var t,n=0;for(t=0;t`
{e.getElementsByTagName("span")[0].classList.remove("show")}),{capture:!0,once:!0})}))}">\n\t\t${Ce[t]}\n\t\t${n}\n\t
`,Be=(e,t,n)=>`data-id="${n.register((n=>{const o=()=>{var o;const r=document.createElement("div");r.classList.add("node-menu");const a=e(t.contextPush("help").getContext().join("."));a.endsWith(".help")||r.insertAdjacentHTML("beforeend",`${a}`);const i=t.getContext().join(".");r.insertAdjacentHTML("beforeend",`\n\t\t\t\t`),null==(o=r.querySelector(".menu-item .btn"))||o.addEventListener("click",(()=>{const e=document.createElement("input");e.value=i,n.appendChild(e),e.select(),document.execCommand("copy"),n.removeChild(e)})),n.appendChild(r),document.body.addEventListener("click",(()=>{try{n.removeChild(r)}catch(e){}}),{capture:!0,once:!0}),document.body.addEventListener("contextmenu",(()=>{try{n.removeChild(r)}catch(e){}}),{capture:!0,once:!0})};n.addEventListener("contextmenu",(e=>{o(),e.preventDefault()}));let r=null;n.addEventListener("touchstart",(()=>{r=setTimeout((()=>{o(),r=null}),800)})),n.addEventListener("touchend",(()=>{r&&(clearTimeout(r),r=null)}))}))}"`;function Fe({lang:e,model:t,version:n,blockStates:o,onError:r}){const a=u(null),i=u();return c((()=>{i.current=()=>{if(t&&o)try{const r=new Ae,i={loc:I.bind(null,e),version:n,mounter:r,blockStates:o},s=new v.ModelPath(t),l=t.schema.hook(Oe,s,t.data,i),c=t.schema.category(s),d=t.schema.type(s);let u=l[2];l[1]&&(u=`
\n\t\t\t\t\t\t
${l[0]}${l[1]}
\n\t\t\t\t\t\t
${l[2]}
\n\t\t\t\t\t
`),a.current.innerHTML=u,r.mounted(a.current)}catch(i){r(`Error rendering the tree: ${i.message}`),console.error(i),a.current.innerHTML=""}}})),B(t,(()=>{i.current()})),c((()=>{i.current()}),[e,t,o]),d("div",{ref:a,class:"tree"})}function We({lang:e}){const t=I.bind(null,e);return d("main",null,d("div",{class:"settings"},d("p",null,t("settings.fields.description")),d("ul",{class:"field-list"})))}const Ge=["1.15","1.16","1.17"],qe={},Je={},Ye={1.15:_,1.16:w,1.17:y};async function Ue(e){return qe[e]||(qe[e]=(async()=>{try{const t=Ye[e].getCollections(),n={};await async function(e,t,n){const o=j.versions.find((t=>t.id===e));if(!o)return void console.error(`[fetchData] Unknown version ${o} in ${JSON.stringify(j.versions)}`);console.debug(`[fetchData] ${JSON.stringify(o)}`),o.dynamic&&await Promise.all(Ze.filter((e=>localStorage.getItem(`cached_${e.id}`)!==e.hash)).map((async e=>{console.debug(`[deleteMatching] ${e.id} '${localStorage.getItem(`cached_${e.id}`)}' < '${e.hash}' ${e.url}/${o.refs[e.id]}`),await async function(e){try{const t=await caches.open("misode-v1");console.debug("[deleteMatching] Opened cache misode-v1");const n=[];for(const o of await t.keys())e(o.url)&&n.push(t.delete(o));console.debug(`[deleteMatching] Removing ${n.length} cache objects...`),await Promise.all(n)}catch(t){console.warn(`[deleteMatching] Failed to open cache misode-v1: ${t.message}`)}}((t=>t.startsWith(`${e.url}/${o.refs[e.id]}`))),console.debug(`[deleteMatching] Done! ${e.id} ${e.hash} '${localStorage.getItem(`cached_${e.id}`)}'`),localStorage.setItem(`cached_${e.id}`,e.hash),console.debug(`[deleteMatching] Set! ${e.id} ${e.hash} '${localStorage.getItem(`cached_${e.id}`)}'`)})));await Promise.all([et(o,t),tt(o,n),nt(o,t)])}(e,t,n);const o=Ye[e].getSchemas(t);return qe[e]={collections:t,schemas:o,blockStates:n},qe[e]}catch(t){throw new Error(`Cannot get version "${e}": ${t.message}`)}})()),qe[e]}function Xe(e,t,n){const o=j.versions.findIndex((t=>t.id===e)),r=t?j.versions.findIndex((e=>e.id===t)):0,a=n?j.versions.findIndex((e=>e.id===n)):j.versions.length-1;return r<=o&&o<=a}["1.15","1.16","1.17"].forEach((e=>localStorage.removeItem(`cache_${e}`)));const Ke="https://raw.githubusercontent.com/Arcensoth/mcdata",Qe="https://raw.githubusercontent.com/SPGoding/vanilla-datapack",Ze=[{id:"mcdata_master",hash:"836e6c1a1c85b56940f8a238906420486d810d45",url:Ke},{id:"vanilla_datapack_summary",hash:"8a2f8022eb88840e6871ff6a72f63d6e64afc323",url:Qe}];async function et(e,t){console.debug(`[fetchRegistries] ${e.id}`);const n=j.registries.filter((e=>!e.dynamic)).filter((t=>Xe(e.id,t.minVersion,t.maxVersion)));if(Xe(e.id,void 0,"1.15")){const r=`${Ke}/${e.refs.mcdata_master}/generated/reports/registries.json`;try{const e=await ot(r,(e=>{const t={};return Object.keys(e).forEach((n=>{t[n.slice(10)]=Object.keys(e[n].entries)})),t}));n.forEach((n=>{var o;t.register(n.id,null!=(o=e[n.id])?o:[])}))}catch(o){console.warn("Error occurred while fetching registries:",o)}}else await Promise.all(n.map((async n=>{try{const o=n.path?`${Ke}/${e.refs.mcdata_master}/${n.path}/data.min.json`:`${Ke}/${e.refs.mcdata_master}/processed/reports/registries/${n.id}/data.min.json`;t.register(n.id,await ot(o,(e=>e.values)))}catch(o){console.warn(`Error occurred while fetching registry ${n.id}:`,o)}})))}async function tt(e,t){if(console.debug(`[fetchBlockStateMap] ${e.id}`),Xe(e.id,void 0,"1.16")){const o=Xe(e.id,void 0,"1.15")?`${Ke}/${e.refs.mcdata_master}/generated/reports/blocks.json`:`${Ke}/${e.refs.mcdata_master}/processed/reports/blocks/data.min.json`;try{const e=await ot(o,(e=>{const t={};return Object.keys(e).forEach((n=>{t[n]={properties:e[n].properties,default:e[n].states.find((e=>e.default)).properties}})),t}));Object.assign(t,e)}catch(n){console.warn("Error occurred while fetching block state map:",n)}}else{const o=`${Ke}/${e.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`;try{const e=await ot(o);Object.assign(t,e)}catch(n){console.warn("Error occurred while fetching block state map:",n)}}}async function nt(e,t){console.debug(`[fetchDynamicRegistries] ${e.id}`);const n=j.registries.filter((e=>e.dynamic)).filter((t=>Xe(e.id,t.minVersion,t.maxVersion)));if(Xe(e.id,"1.16")){const r=`${Qe}/${e.refs.vanilla_datapack_summary}/summary/flattened.min.json`;try{const e=await ot(r);n.forEach((n=>{t.register(n.id,e[n.id])}))}catch(o){console.warn("Error occurred while fetching dynamic registries:",o)}}}async function ot(e,t=(e=>e)){try{const n=await caches.open("misode-v1");console.debug(`[getData] Opened cache misode-v1 ${e}`);const o=await n.match(e);if(o&&o.ok)return console.debug(`[getData] Retrieving cached data ${e}`),await o.json();console.debug(`[getData] fetching data ${e}`);const r=await fetch(e),a=t(await r.json());return await n.put(e,new Response(JSON.stringify(a))),a}catch(n){console.warn(`[getData] Failed to open cache misode-v1: ${n.message}`),console.debug(`[getData] fetching data ${e}`);const o=await fetch(e);return t(await o.json())}}function rt({lang:e,changeTitle:t,version:n,onChangeVersion:o,category:r,generator:a}){var i,u,m;const g=I.bind(null,e),[p,_]=h(""),[w]=b();if(w)return d("main",null,d(C,{error:`Something went wrong rendering the generator: ${w.message}`}));const y=r?`${r}/${a}`:null!=a?a:"",$=j.models.find((e=>e.id===y));if(!$)return d("main",null,d(C,{error:`Cannot find generator "${y}"`}));const k=null!=(u=null==(i=j.models.find((e=>e.id===y)))?void 0:i.minVersion)?u:"1.15",V=j.versions.filter((e=>Xe(e.id,k))).map((e=>e.id));t(g("title.generator",g(y)),V);const[L,P]=h(null),[S,O]=h(null);c((()=>{P(null),async function(e){return(await Ue(e)).blockStates}(n).then((e=>O(e))),async function(e,t){var n;if(!Je[t]||Je[t].version!==e){const r=await Ue(e),a=null==(n=j.models.find((e=>e.id===t)))?void 0:n.schema;if(!a)throw new Error(`Cannot find model ${t}`);try{const n=r.schemas.get(a),o=new v.DataModel(n);Je[t]?o.reset(Je[t].model.data,!1):(o.validate(!0),o.history=[JSON.stringify(o.data)]),Je[t]={model:o,version:e}}catch(o){throw new Error(`Cannot get generator "${t}" for version "${e}": ${o.message}`)}}return Je[t].model}(n,y).then((e=>P(e))).catch((e=>_(e.message)))}),[n,r,a]);const D=e=>{e.ctrlKey&&"z"===e.key?(x.generatorEvent("undo","Hotkey"),null==L||L.undo()):e.ctrlKey&&"y"===e.key&&(x.generatorEvent("redo","Hotkey"),null==L||L.redo())};c((()=>(document.addEventListener("keyup",D),()=>{document.removeEventListener("keyup",D)})),[L]);const[N,T]=h(""),[R,B]=h([]),F=($.category?$.category+"/":"")+$.schema;c((()=>{$.path&&async function(e){return(await Ue(e)).collections}(n).then((e=>{const t=(null!=N?N:"").trim().split(" "),n=e.get(F).map((e=>e.slice(10))).filter((e=>t.every((t=>e.includes(t)))));n&&B(n)})).catch((e=>_(e.message)))}),[n,r,a,N]);const W=e=>{x.generatorEvent("load-preset",e),async function(e,t,n){console.debug(`[fetchPreset] ${n} ${t} ${n}`);const o=j.versions.find((t=>t.id===e));try{const e=await fetch(`${Qe}/${o.refs.vanilla_datapack_data}/data/minecraft/${t}/${n}.json`);return await e.json()}catch(r){console.warn(`Error occurred while fetching ${t} preset ${n}:`,r)}}(n,$.path,e).then((e=>{null==L||L.reset(e,!1)}))},[G,q]=h(window.innerWidth>820),[J,Y]=h(0),[U,X]=h(0),[K,Q]=h(0),[Z,ee]=h(!1),te=ke.includes(y);let ne=1;te&&(ne+=1),G&&(ne+=2);return d(f,null,d("main",{class:Z?"has-preview":""},d(z,{id:"data-pack-generator",type:"text"}),d("div",{class:"controls"},d(E,{icon:"upload",label:g("import"),onClick:()=>{x.generatorEvent("import"),q(!0),Q(K+1)}}),$.path&&d(A,{icon:"archive",label:g("presets"),relative:!1},d(M,{icon:"search",large:!0,value:N,onChange:T,doSelect:1}),d("div",{class:"result-list"},R.map((e=>d(E,{label:e,onClick:()=>W(e)})))),0===R.length&&d(E,{label:g("no_presets")})),d(A,{icon:"tag",label:n},V.reverse().map((e=>d(E,{label:e,active:e===n,onClick:()=>o(e)})))),d(A,{icon:"kebab_horizontal"},d(E,{icon:"history",label:g("reset"),onClick:()=>{x.generatorEvent("reset"),null==L||L.reset(L.schema.default(),!0)}}),d(E,{icon:"arrow_left",label:g("undo"),onClick:e=>{e.stopPropagation(),x.generatorEvent("undo","Menu"),null==L||L.undo()}}),d(E,{icon:"arrow_right",label:g("redo"),onClick:e=>{e.stopPropagation(),x.generatorEvent("redo","Menu"),null==L||L.redo()}}))),p&&d(C,{error:p}),d(Fe,l(s({},{lang:e,model:L,version:n,blockStates:S}),{onError:_}))),d("div",{class:"popup-actions",style:`--offset: -${10+50*ne}px;`},d("div",{class:"popup-action action-preview"+(te?" shown":""),onClick:()=>{x.generatorEvent("toggle-preview",Z?"hidden":"visible"),ee(!Z)}},Z?H.x_circle:H.play),d("div",{class:"popup-action action-download"+(G?" shown":""),onClick:()=>{x.generatorEvent("download"),X(U+1)}},H.download),d("div",{class:"popup-action action-copy"+(G?" shown":""),onClick:()=>{x.generatorEvent("copy"),Y(J+1)}},H.clippy),d("div",{class:"popup-action action-code shown",onClick:()=>{x.generatorEvent("toggle-output",G?"hidden":"visible"),q(!G),Y(0),X(0),Q(0)}},G?H.chevron_right:H.code)),d("div",{class:"popup-preview"+(Z?" shown":"")},d(ze,l(s({},{lang:e,model:L,version:n,id:y}),{shown:Z,onError:_}))),d("div",{class:"popup-source"+(G?" shown":"")},d(Me,l(s({},{lang:e,model:L,blockStates:S,doCopy:J,doDownload:U,doImport:K}),{name:null!=(m=$.schema)?m:"data",onError:_}))))}function at({lang:e,changeTitle:t,category:n}){const o=I.bind(null,e);return t(n?o("title.generator_category",o(n)):o("title.home")),d("main",null,d("div",{class:"home"},d("div",{class:"generator-picker"},d("ul",{class:"generators-list"},j.models.filter((e=>"string"!=typeof e.category)).map((e=>d("li",null,d(m,{class:"generators-card"+(!0===e.category&&e.id===n?" selected":""),href:J(e.id)},o(e.id),e.category&&H.chevron_right))))),n&&j.models.some((e=>e.category===n))&&d("ul",{class:"generators-list"},j.models.filter((e=>e.category===n)).map((e=>d("li",null,d(m,{class:"generators-card",href:J(e.id)},o(e.id)))))))))}var it,st;function lt(){const[e,t]=h("en");c((()=>{(async()=>{const e=it.getLanguage();await Promise.all([N("en"),..."en"!==e?[N(e)]:[]]),t(e)})()}),[]);const[n,o]=h(it.getTheme());c((()=>{document.documentElement.setAttribute("data-theme",n)}),[n]);const[r,a]=h(it.getVersion()),i=e=>{x.setVersion(e),it.setVersion(e),a(e)},[u,m]=h(I(e,"title.home")),g=(e,t=["1.15","1.16","1.17"])=>{document.title=`${e} Minecraft ${t.join(", ")}`,m(e)};return d(f,null,d(R,s({},{lang:e,title:u,theme:n,language:e,changeLanguage:async e=>{D[e]||await N(e),x.setLanguage(e),it.setLanguage(e),t(e)},changeTheme:e=>{x.setTheme(e),it.setTheme(e),o(e)}})),d(k,{onChange:e=>{setTimeout((()=>x.pageview(J(e.url))))}},d(at,s({path:"/"},{lang:e,changeTitle:g})),d(We,s({path:"/settings/fields"},{lang:e,changeTitle:g})),d(at,s({path:"/worldgen",category:"worldgen"},{lang:e,changeTitle:g})),d(rt,l(s({path:"/:generator"},{lang:e,version:r,changeTitle:g}),{onChangeVersion:i})),d(rt,l(s({path:"/worldgen/:generator",category:"worldgen"},{lang:e,version:r,changeTitle:g}),{onChangeVersion:i}))))}(st=it||(it={})).ID_LANGUAGE="language",st.ID_THEME="theme",st.ID_VERSION="schema_version",st.getLanguage=function(){var e;return null!=(e=localStorage.getItem(st.ID_LANGUAGE))?e:"en"},st.getTheme=function(){var e;return null!=(e=localStorage.getItem(st.ID_THEME))?e:"dark"},st.getVersion=function(){const e=localStorage.getItem(st.ID_VERSION);return e&&Ge.includes(e)?e:"1.17"},st.setLanguage=function(e){e&&localStorage.setItem(st.ID_LANGUAGE,e)},st.setTheme=function(e){e&&localStorage.setItem(st.ID_THEME,e)},st.setVersion=function(e){e&&localStorage.setItem(st.ID_VERSION,e)},$(d(lt,null),document.body); +//# sourceMappingURL=index.9fea707c.js.map diff --git a/assets/index.9fea707c.js.map b/assets/index.9fea707c.js.map new file mode 100644 index 00000000..01d91185 --- /dev/null +++ b/assets/index.9fea707c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.9fea707c.js","sources":["../../src/app/Analytics.ts","../../src/app/components/Ad.tsx","../../src/app/components/Btn.tsx","../../src/app/components/BtnInput.tsx","../../src/app/components/BtnMenu.tsx","../../src/app/components/ErrorPanel.tsx","../../vite/preload-helper","../../src/app/Locales.ts","../../src/app/components/Header.tsx","../../src/app/components/Octicon.tsx","../../src/app/hooks/useModel.ts","../../src/app/hooks/useOnDrag.ts","../../src/app/Utils.ts","../../src/app/previews/noise/ImprovedNoise.ts","../../src/app/previews/noise/PerlinNoise.ts","../../src/app/previews/noise/NormalNoise.ts","../../src/app/previews/BiomeSource.ts","../../src/app/previews/Decorator.ts","../../src/app/previews/noise/NoiseChunkGenerator.ts","../../src/app/previews/NoiseSettings.ts","../../src/app/components/PreviewPanel.tsx","../../src/app/components/previews/BiomeSourcePreview.tsx","../../src/app/hooks/useOnHover.ts","../../src/app/components/previews/NoiseSettingsPreview.tsx","../../src/app/components/previews/DecoratorPreview.tsx","../../src/app/schema/transformOutput.ts","../../src/app/components/SourcePanel.tsx","../../src/app/schema/Mounter.ts","../../src/app/schema/Octicon.ts","../../src/app/schema/renderHtml.ts","../../src/app/components/Tree.tsx","../../src/app/pages/FieldSettings.tsx","../../src/app/Schemas.ts","../../src/app/DataFetcher.ts","../../src/app/pages/Generator.tsx","../../src/app/pages/Home.tsx","../../src/app/Store.ts","../../src/app/Main.tsx"],"sourcesContent":["export namespace Analytics {\n\tconst ID_SITE = 'Site'\n\tconst ID_GENERATOR = 'Generator'\n\n\tconst DIM_THEME = 1\n\tconst DIM_VERSION = 3\n\tconst DIM_LANGUAGE = 4\n\tconst DIM_PREVIEW = 5\n\n\tfunction event(category: string, action: string, label?: string) {\n\t\tga('send', 'event', category, action, label)\n\t}\n\n\tfunction dimension(index: number, value: string) {\n\t\tga('set', `dimension${index}`, value)\n\t}\n\n\texport function pageview(page: string) {\n\t\tga('set', 'page', page)\n\t\tga('send', 'pageview')\n\t}\n\n\texport function setLanguage(language: string) {\n\t\tdimension(DIM_LANGUAGE, language)\n\t\tevent(ID_SITE, 'set-language', language)\n\t}\n\n\texport function setTheme(theme: string) {\n\t\tdimension(DIM_THEME, theme)\n\t\tevent(ID_SITE, 'set-theme', theme)\n\t}\n\n\texport function setVersion(version: string) {\n\t\tdimension(DIM_VERSION, version)\n\t\tevent(ID_GENERATOR, 'set-version', version)\n\t}\n\n\texport function setPreview(preview: string) {\n\t\tdimension(DIM_PREVIEW, preview)\n\t\tevent(ID_GENERATOR, 'set-preview', preview)\n\t}\n\n\texport function generatorEvent(action: string, label?: string) {\n\t\tevent(ID_GENERATOR, action, label)\n\t}\n}\n","import { useEffect } from 'preact/hooks'\n\ndeclare const ethicalads: any\n\ntype AdProps = {\n\ttype: 'text' | 'image',\n\tid: string,\n}\nexport function Ad({ type, id }: AdProps) {\n\tuseEffect(() => {\n\t\tdocument.getElementById('ad-placeholder')?.remove()\n\t\tif ('ethicalads' in window) {\n\t\t\tethicalads.load()\n\t\t}\n\t}, [])\n\n\treturn
\n}\n","import { Octicon } from '.'\n\ntype BtnProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tactive?: boolean,\n\tclass?: string,\n\tonClick?: (event: MouseEvent) => unknown,\n}\nexport function Btn({ icon, label, active, class: class_, onClick }: BtnProps) {\n\treturn
\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t
\n}\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Octicon } from '.'\n\ntype BtnInputProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tlarge?: boolean,\n\ttype?: 'number' | 'text',\n\tdoSelect?: number,\n\tvalue?: string,\n\tonChange?: (value: string) => unknown,\n}\nexport function BtnInput({ icon, label, large, type, doSelect, value, onChange }: BtnInputProps) {\n\tconst onKeyUp = onChange === undefined ? () => {} : (e: any) => {\n\t\tconst value = (e.target as HTMLInputElement).value\n\t\tif (type !== 'number' || (!value.endsWith('.') && !isNaN(Number(value)))) {\n\t\t\tonChange?.(value)\n\t\t}\n\t}\n\n\tconst ref = useRef(null)\n\tuseEffect(() => {\n\t\tif (doSelect && ref.current) {\n\t\t\tref.current.select()\n\t\t}\n\t}, [doSelect])\n\n\treturn
e.stopPropagation()}>\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t\t\n\t
\n}\n","import type { ComponentChildren } from 'preact'\nimport { useEffect, useState } from 'preact/hooks'\nimport type { Octicon } from '.'\nimport { Btn } from '.'\n\ntype BtnMenuProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\trelative?: boolean,\n\tchildren: ComponentChildren,\n}\nexport function BtnMenu({ icon, label, relative, children }: BtnMenuProps) {\n\tconst [active, setActive] = useState(false)\n\n\tconst hider = () => {\n\t\tsetActive(false)\n\t}\n\n\tuseEffect(() => {\n\t\tif (active) {\n\t\t\tdocument.body.addEventListener('click', hider)\n\t\t}\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener('click', hider)\n\t\t}\n\t}, [active])\n\n\treturn
\n\t\t setActive(true)} />\n\t\t{active &&
\n\t\t\t{children}\n\t\t
}\n\t
\n}\n","export function ErrorPanel({ error }: { error: string }) {\n\treturn
\n\t\t

{error}

\n\t\t

You can report this as a bug on GitHub

\n\t
\n}\n","let scriptRel;const seen = {};export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps) {\n return baseModule();\n }\n // @ts-ignore\n if (scriptRel === undefined) {\n // @ts-ignore\n const relList = document.createElement('link').relList;\n // @ts-ignore\n scriptRel =\n relList && relList.supports && relList.supports('modulepreload')\n ? 'modulepreload'\n : 'preload';\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', rej);\n });\n }\n })).then(() => baseModule());\n}","import config from '../config.json'\nimport English from '../locales/en.json'\n\nexport type Localize = (key: string, ...params: string[]) => string\n\ninterface Locale {\n\t[key: string]: string\n}\n\nexport const Locales: {\n\t[key: string]: Locale,\n} = {\n\tfallback: English,\n}\n\nfunction resolveLocaleParams(value: string, params?: string[]): string {\n\treturn value.replace(/%\\d+%/g, match => {\n\t\tconst index = parseInt(match.slice(1, -1))\n\t\treturn params?.[index] !== undefined ? params[index] : match\n\t})\n}\n\nexport function locale(language: string, key: string, ...params: string[]): string {\n\tconst value: string | undefined = Locales[language]?.[key]\n\t\t?? Locales.en?.[key] ?? Locales.fallback[key] ?? key\n\treturn resolveLocaleParams(value, params)\n}\n\nexport async function loadLocale(language: string) {\n\tconst langConfig = config.languages.find(lang => lang.code === language)\n\tif (!langConfig) return\n\tconst data = await import(`../locales/${language}.json`)\n\tconst schema = langConfig.schemas !== false\n\t\t&& await import(`../../node_modules/@mcschema/locales/src/${language}.json`)\n\tLocales[language] = { ...data.default, ...schema.default }\n}\n","import { getCurrentUrl, Link } from 'preact-router'\nimport { Btn, BtnMenu, Octicon } from '.'\nimport config from '../../config.json'\nimport { locale } from '../Locales'\n\nconst Themes: Record = {\n\tsystem: 'device_desktop',\n\tdark: 'moon',\n\tlight: 'sun',\n}\n\ntype HeaderProps = {\n\tlang: string,\n\ttitle: string,\n\ttheme: string,\n\tchangeTheme: (theme: string) => unknown,\n\tlanguage: string,\n\tchangeLanguage: (language: string) => unknown,\n}\nexport function Header({ lang, title, theme, changeTheme, language, changeLanguage }: HeaderProps) {\n\tconst loc = locale.bind(null, lang)\n\treturn
\n\t\t
\n\t\t\t\n\t\t\t\t{Octicon.three_bars}\n\t\t\t\n\t\t\t

{title}

\n\t\t
\n\t\t\n\t
\n}\n","export const Octicon = {\n\tarchive: ,\n\tarrow_left: ,\n\tarrow_right: ,\n\tchevron_right: ,\n\tclippy: ,\n\tcode: ,\n\tdash: ,\n\tdevice_desktop: ,\n\tdownload: ,\n\teye: ,\n\teye_closed: ,\n\tgear: ,\n\tglobe: ,\n\thistory: ,\n\tkebab_horizontal: ,\n\tlink: ,\n\tmark_github: ,\n\tmoon: ,\n\tplay: ,\n\tplus: ,\n\tsearch: ,\n\tsun: ,\n\tsync: ,\n\ttag: ,\n\tthree_bars: ,\n\tunfold: ,\n\tupload: ,\n\tx_circle: ,\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect } from 'preact/hooks'\n\nexport function useModel(model: DataModel | undefined | null, invalidated: (model: DataModel) => unknown) {\n\tconst listener = {\n\t\tinvalidated() {\n\t\t\tif (model) {\n\t\t\t\tinvalidated(model)\n\t\t\t}\n\t\t},\n\t}\n\n\tuseEffect(() => {\n\t\tmodel?.addListener(listener)\n\t\tlistener.invalidated()\n\t\treturn () => {\n\t\t\tmodel?.removeListener(listener)\n\t\t}\n\t}, [model])\n}\n","import { useEffect, useRef } from 'preact/hooks'\n\nexport function useOnDrag(element: HTMLElement, drag: (dx: number, dy: number) => unknown) {\n\tif (!element) return\n\n\tconst request = useRef()\n\tconst dragStart = useRef<[number, number] | undefined>()\n\tconst pending = useRef<[number, number]>([0, 0])\n\n\tuseEffect(() => {\n\t\tconst onMouseDown = (e: MouseEvent) => {\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseMove = (e: MouseEvent) => {\n\t\t\tif (dragStart.current === undefined) return\n\t\t\tconst dx = e.offsetX - dragStart.current[0]\n\t\t\tconst dy = e.offsetY - dragStart.current[1]\n\t\t\tif (!(dx === 0 && dy === 0)) {\n\t\t\t\tcancelAnimationFrame(request.current)\n\t\t\t\tpending.current = [pending.current[0] + dx, pending.current[1] + dy]\n\t\t\t\trequest.current = requestAnimationFrame(() => {\n\t\t\t\t\tdrag(...pending.current)\n\t\t\t\t\tpending.current = [0, 0]\n\t\t\t\t})\n\t\t\t}\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseUp = (_e: MouseEvent) => {\n\t\t\tdragStart.current = undefined\n\t\t}\n\n\t\telement.addEventListener('mousedown', onMouseDown)\n\t\telement.addEventListener('mousemove', onMouseMove)\n\t\tdocument.body.addEventListener('mouseup', onMouseUp)\n\t\treturn () => {\n\t\t\telement.removeEventListener('mousedown', onMouseDown)\n\t\t\telement.removeEventListener('mousemove', onMouseMove)\n\t\t\tdocument.body.removeEventListener('mouseup', onMouseUp)\n\t\t}\n\t}, [element])\n}\n","export function isPromise(obj: any): obj is Promise {\n\treturn typeof (obj as any)?.then === 'function' \n}\n\nconst dec2hex = (dec: number) => ('0' + dec.toString(16)).substr(-2)\n\nexport function hexId(length = 12) {\n\tvar arr = new Uint8Array(length / 2)\n\twindow.crypto.getRandomValues(arr)\n\treturn Array.from(arr, dec2hex).join('')\n}\n\nexport function htmlEncode(str: string) {\n\treturn str.replace(/&/g, '&').replace(//g, '>')\n\t\t.replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/')\n}\n\nexport function hashString(s: string) {\n\tlet h = 0\n\tfor(let i = 0; i < s.length; i++)\n\t\th = Math.imul(31, h) + s.charCodeAt(i) | 0\n\treturn h\n}\n\nexport function cleanUrl(url: string) {\n\treturn `/${url}/`.replaceAll('//', '/')\n}\n\nexport function stringToColor(str: string): [number, number, number] {\n\tconst h = Math.abs(hashString(str))\n\treturn [h % 256, (h >> 8) % 256, (h >> 16) % 256]\n}\n\nexport function clamp(a: number, b: number, c: number) {\n\treturn Math.max(a, Math.min(b, c))\n}\n\nexport function clampedLerp(a: number, b: number, c: number): number {\n\tif (c < 0) {\n\t\treturn a\n\t} else if (c > 1) {\n\t\treturn b\n\t} else {\n\t\treturn lerp(c, a, b)\n\t}\n}\n\nexport function lerp(a: number, b: number, c: number): number {\n\treturn b + a * (c - b)\n}\n\nexport function lerp2(a: number, b: number, c: number, d: number, e: number, f: number): number {\n\treturn lerp(b, lerp(a, c, d), lerp(a, e, f))\n}\n\nexport function lerp3(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) {\n\treturn lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k))\n}\n\nexport function smoothstep(x: number): number {\n\treturn x * x * x * (x * (x * 6 - 15) + 10)\n}\n","import type seedrandom from 'seedrandom'\nimport { lerp3, smoothstep } from '../../Utils'\n\nexport class ImprovedNoise {\n\tprivate static readonly GRADIENT = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]]\n\tprivate readonly p: number[]\n\tpublic readonly xo: number\n\tpublic readonly yo: number\n\tpublic readonly zo: number\n\n\tconstructor(random: seedrandom.prng) {\n\t\tthis.xo = random() * 256\n\t\tthis.yo = random() * 256\n\t\tthis.zo = random() * 256\n\t\tthis.p = Array(256)\n\n\t\tfor (let i = 0; i < 256; i += 1) {\n\t\t\tthis.p[i] = i\n\t\t}\n\t\tfor (let i = 0; i < 256; i += 1) {\n\t\t\tconst n = random.int32() % (256 - i)\n\t\t\tconst b = this.p[i]\n\t\t\tthis.p[i] = this.p[i + n]\n\t\t\tthis.p[i + n] = b\n\t\t}\n\t}\n\n\tpublic noise(x: number, y: number, z: number, a: number, b: number) {\n\t\tconst x2 = x + this.xo\n\t\tconst y2 = y + this.yo\n\t\tconst z2 = z + this.zo\n\t\tconst x3 = Math.floor(x2)\n\t\tconst y3 = Math.floor(y2)\n\t\tconst z3 = Math.floor(z2)\n\t\tconst x4 = x2 - x3\n\t\tconst y4 = y2 - y3\n\t\tconst z4 = z2 - z3\n\t\tconst x5 = smoothstep(x4)\n\t\tconst y5 = smoothstep(y4)\n\t\tconst z5 = smoothstep(z4)\n\n\t\tlet y6 = 0\n\t\tif (a !== 0) {\n\t\t\ty6 = Math.floor(Math.min(b, y4) / a) * a\n\t\t}\n\n\t\treturn this.sampleAndLerp(x3, y3, z3, x4, y4 - y6, z4, x5, y5, z5)\n\t}\n\n\tprivate gradDot(a: number, b: number, c: number, d: number) {\n\t\tconst grad = ImprovedNoise.GRADIENT[a & 15]\n\t\treturn grad[0] * b + grad[1] * c + grad[2] * d\n\t}\n\n\tprivate P(i: number) {\n\t\treturn this.p[i & 255] & 255\n\t}\n\n\tpublic sampleAndLerp(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) {\n\t\tconst j = this.P(a) + b\n\t\tconst k = this.P(j) + c\n\t\tconst l = this.P(j + 1) + c\n\t\tconst m = this.P(a + 1) + b\n\t\tconst n = this.P(m) + c\n\t\tconst o = this.P(m + 1) + c\n\n\t\tconst p = this.gradDot(this.P(k), d, e, f)\n\t\tconst q = this.gradDot(this.P(n), d - 1, e, f)\n\t\tconst r = this.gradDot(this.P(l), d, e - 1, f)\n\t\tconst s = this.gradDot(this.P(o), d - 1, e - 1, f)\n \n\t\tconst t = this.gradDot(this.P(k + 1), d, e, f - 1)\n\t\tconst u = this.gradDot(this.P(n + 1), d - 1, e, f - 1)\n\t\tconst v = this.gradDot(this.P(l + 1), d, e - 1, f - 1)\n\t\tconst w = this.gradDot(this.P(o + 1), d - 1, e - 1, f - 1)\n\n\t\treturn lerp3(g, h, i, p, q, r, s, t, u, v, w)\n\t}\n}\n","import seedrandom from 'seedrandom'\nimport { ImprovedNoise } from './ImprovedNoise'\n\nexport class PerlinNoise {\n\tprivate readonly noiseLevels: ImprovedNoise[]\n\tprivate readonly amplitudes: number[]\n\tprivate readonly lowestFreqValueFactor: number\n\tprivate readonly lowestFreqInputFactor: number\n\n\tconstructor(seed: string, firstOctave: number, amplitudes: number[]) {\n\t\tthis.amplitudes = amplitudes\n\n\t\tthis.noiseLevels = Array(this.amplitudes.length)\n\t\tfor (let i = 0; i < this.amplitudes.length; i += 1) {\n\t\t\tthis.noiseLevels[i] = new ImprovedNoise(seedrandom(seed))\n\t\t}\n \n\t\tthis.lowestFreqInputFactor = Math.pow(2, firstOctave)\n\t\tthis.lowestFreqValueFactor = Math.pow(2, (amplitudes.length - 1)) / (Math.pow(2, amplitudes.length) - 1)\n\t}\n\n\tpublic static fromRange(seed: string, min: number, max: number) {\n\t\treturn new PerlinNoise(seed, min, Array(max - min + 1).fill(1))\n\t}\n\n\tpublic getValue(x: number, y: number, z: number, a = 0, b = 0, fixY = false) {\n\t\tlet value = 0\n\t\tlet inputF = this.lowestFreqInputFactor\n\t\tlet valueF = this.lowestFreqValueFactor\n\t\tfor (let i = 0; i < this.noiseLevels.length; i += 1) {\n\t\t\tconst noise = this.noiseLevels[i]\n\t\t\tif (noise) {\n\t\t\t\tvalue += this.amplitudes[i] * noise.noise(\n\t\t\t\t\tPerlinNoise.wrap(x * inputF),\n\t\t\t\t\tfixY ? -noise.yo : PerlinNoise.wrap(y * inputF),\n\t\t\t\t\tPerlinNoise.wrap(z * inputF),\n\t\t\t\t\ta * inputF,\n\t\t\t\t\tb * inputF\n\t\t\t\t) * valueF\n\t\t\t}\n\t\t\tinputF *= 2\n\t\t\tvalueF /= 2\n\t\t}\n\t\treturn value\n\t}\n\n\tpublic getOctaveNoise(i: number) {\n\t\treturn this.noiseLevels[this.noiseLevels.length - 1 - i]\n\t}\n\n\tpublic static wrap(value: number) {\n\t\treturn value - Math.floor(value / 3.3554432E7 + 0.5) * 3.3554432E7\n\t}\n}\n","import { PerlinNoise } from './PerlinNoise'\n\nexport class NormalNoise {\n\tprivate readonly valueFactor: number\n\tprivate readonly first: PerlinNoise\n\tprivate readonly second: PerlinNoise\n\n\tconstructor(seed: string, firstOctave: number, amplitudes: number[]) {\n\t\tthis.first = new PerlinNoise(seed, firstOctave, amplitudes)\n\t\tthis.second = new PerlinNoise(seed + 'a', firstOctave, amplitudes)\n\n\t\tlet min = +Infinity\n\t\tlet max = -Infinity\n\t\tfor (let i = 0; i < amplitudes.length; i += 1) {\n\t\t\tif (amplitudes[i] !== 0) {\n\t\t\t\tmin = Math.min(min, i)\n\t\t\t\tmax = Math.max(max, i)\n\t\t\t}\n\t\t}\n\n\t\tconst expectedDeviation = 0.1 * (1 + 1 / (max - min + 1))\n\t\tthis.valueFactor = (1/6) / expectedDeviation\n\t}\n\n\tgetValue(x: number, y: number, z: number) {\n\t\tconst x2 = x * 1.0181268882175227\n\t\tconst y2 = y * 1.0181268882175227\n\t\tconst z2 = z * 1.0181268882175227\n\t\treturn (this.first.getValue(x, y, z) + this.second.getValue(x2, y2, z2)) * this.valueFactor\n\t}\n}\n","import { stringToColor } from '../Utils'\nimport { NormalNoise } from './noise/NormalNoise'\n\nexport type BiomeColors =Record\nexport type BiomeSourceOptions = {\n\tbiomeColors: BiomeColors,\n\toffset: [number, number],\n\tscale: number,\n\tres: number,\n\tseed: string,\n}\n\nexport const NoiseMaps = ['altitude', 'temperature', 'humidity', 'weirdness']\n\nexport function biomeSource(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'multi_noise': return multiNoise(state, img, options)\n\t\tcase 'fixed': return fixed(state, img, options)\n\t\tcase 'checkerboard': return checkerboard(state, img, options)\n\t}\n}\n\nfunction fixed(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst data = img.data\n\tconst color = getBiomeColor(state.biome, options.biomeColors)\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction checkerboard(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst biomeColorCache: BiomeColors = {}\n\tstate.biomes?.forEach((b: string) => {\n\t\tbiomeColorCache[b] = getBiomeColor(b, options.biomeColors)\n\t})\n\n\tconst data = img.data\n\tconst ox = -options.offset[0] - 100 + options.res / 2\n\tconst oy = -options.offset[1] - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tconst shift = (state.scale ?? 2) + 2\n\tconst numBiomes = state.biomes?.length ?? 0\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oy) * options.scale\n\t\t\tconst j = (((xx >> shift) + (yy >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\tconst b = state.biomes?.[j]\n\t\t\tconst color = biomeColorCache[b] ?? [128, 128, 128]\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction multiNoise(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst noise = NoiseMaps.map((id, i) => {\n\t\tconst config = state[`${id}_noise`]\n\t\treturn new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes)\n\t})\n\n\tconst biomeColorCache: BiomeColors = {}\n\tstate.biomes.forEach((b: any) => {\n\t\tbiomeColorCache[b.biome] = getBiomeColor(b.biome, options.biomeColors)\n\t})\n\n\tconst data = img.data\n\tconst ox = -options.offset[0] - 100 + options.res / 2\n\tconst oy = -options.offset[1] - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oy) * options.scale\n\t\t\tconst b = closestBiome(noise, state.biomes, xx, yy)\n\t\t\tconst color = biomeColorCache[b] ?? [128, 128, 128]\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport function getBiome(state: any, x: number, y: number, options: BiomeSourceOptions): string | undefined {\n\tconst [xx, yy] = toWorld([x, y], options)\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'multi_noise':\n\t\t\tconst noise = NoiseMaps.map((id, i) => {\n\t\t\t\tconst config = state[`${id}_noise`]\n\t\t\t\treturn new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes)\n\t\t\t})\n\t\t\treturn closestBiome(noise, state.biomes, xx, yy)\n\t\tcase 'fixed': return state.biome\n\t\tcase 'checkerboard':\n\t\t\tconst shift = (state.scale ?? 2) + 2\n\t\t\tconst numBiomes = state.biomes?.length ?? 0\n\t\t\tconst j = (((xx >> shift) + (yy >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\treturn state.biomes?.[j]\n\t}\n\treturn undefined\n}\n\nexport function getBiomeColor(biome: string, biomeColors: BiomeColors) {\n\tif (!biome) {\n\t\treturn [128, 128, 128]\n\t}\n\tconst color = biomeColors[biome] ?? VanillaColors[biome]\n\tif (color === undefined) {\n\t\treturn stringToColor(biome)\n\t}\n\treturn color\n}\n\nfunction toWorld([x, y]: [number, number], options: BiomeSourceOptions) {\n\tconst xx = (x - options.offset[0] - 100 + options.res / 2) * options.scale\n\tconst yy = (y - options.offset[1] - 100 + options.res / 2) * options.scale\n\treturn [xx, yy]\n}\n\nfunction closestBiome(noise: NormalNoise[], biomes: any[], x: number, y: number): string {\n\tif (!Array.isArray(biomes) || biomes.length === 0) return ''\n\tconst n = noise.map(n => n.getValue(x, y, 0))\n\tlet minDist = Infinity\n\tlet minBiome = ''\n\tfor (const b of biomes) {\n\t\tconst dist = fitness(b.parameters, {altitude: n[0], temperature: n[1], humidity: n[2], weirdness: n[3], offset: 0})\n\t\tif (dist < minDist) {\n\t\t\tminDist = dist\n\t\t\tminBiome = b.biome\n\t\t}\n\t}\n\treturn minBiome\n}\n\nfunction fitness(a: any, b: any) {\n\treturn (a.altitude - b.altitude) * (a.altitude - b.altitude) + (a.temperature - b.temperature) * (a.temperature - b.temperature) + (a.humidity - b.humidity) * (a.humidity - b.humidity) + (a.weirdness - b.weirdness) * (a.weirdness - b.weirdness) + (a.offset - b.offset) * (a.offset - b.offset)\n}\n\nconst VanillaColors: Record = {\n\t'minecraft:badlands': [217,69,21],\n\t'minecraft:badlands_plateau': [202,140,101],\n\t'minecraft:bamboo_jungle': [118,142,20],\n\t'minecraft:bamboo_jungle_hills': [59,71,10],\n\t'minecraft:basalt_deltas': [64,54,54],\n\t'minecraft:beach': [250,222,85],\n\t'minecraft:birch_forest': [48,116,68],\n\t'minecraft:birch_forest_hills': [31,95,50],\n\t'minecraft:cold_ocean': [32,32,112],\n\t'minecraft:crimson_forest': [221,8,8],\n\t'minecraft:dark_forest': [64,81,26],\n\t'minecraft:dark_forest_hills': [104,121,66],\n\t'minecraft:deep_cold_ocean': [32,32,56],\n\t'minecraft:deep_frozen_ocean': [64,64,144],\n\t'minecraft:deep_lukewarm_ocean': [0,0,64],\n\t'minecraft:deep_ocean': [0,0,48],\n\t'minecraft:deep_warm_ocean': [0,0,80],\n\t'minecraft:desert': [250,148,24],\n\t'minecraft:desert_hills': [210,95,18],\n\t'minecraft:desert_lakes': [255,188,64],\n\t'minecraft:end_barrens': [128,128,255],\n\t'minecraft:end_highlands': [128,128,255],\n\t'minecraft:end_midlands': [128,128,255],\n\t'minecraft:eroded_badlands': [255,109,61],\n\t'minecraft:flower_forest': [45,142,73],\n\t'minecraft:forest': [5,102,33],\n\t'minecraft:frozen_ocean': [112,112,214],\n\t'minecraft:frozen_river': [160,160,255],\n\t'minecraft:giant_spruce_taiga': [129,142,121],\n\t'minecraft:giant_spruce_taiga_hills': [109,119,102],\n\t'minecraft:giant_tree_taiga': [89,102,81],\n\t'minecraft:giant_tree_taiga_hills': [69,79,62],\n\t'minecraft:gravelly_mountains': [136,136,136],\n\t'minecraft:ice_spikes': [180,220,220],\n\t'minecraft:jungle': [83,123,9],\n\t'minecraft:jungle_edge': [98,139,23],\n\t'minecraft:jungle_hills': [44,66,5],\n\t'minecraft:lukewarm_ocean': [0,0,144],\n\t'minecraft:modified_badlands_plateau': [242,180,141],\n\t'minecraft:modified_gravelly_mountains': [120,152,120],\n\t'minecraft:modified_jungle': [123,163,49],\n\t'minecraft:modified_jungle_edge': [138,179,63],\n\t'minecraft:modified_wooded_badlands_plateau': [216,191,141],\n\t'minecraft:mountain_edge': [114,120,154],\n\t'minecraft:mountains': [96,96,96],\n\t'minecraft:mushroom_field_shore': [160,0,255],\n\t'minecraft:mushroom_fields': [255,0,255],\n\t'minecraft:nether_wastes': [191,59,59],\n\t'minecraft:ocean': [0,0,112],\n\t'minecraft:plains': [141,179,96],\n\t'minecraft:river': [0,0,255],\n\t'minecraft:savanna': [189,178,95],\n\t'minecraft:savanna_plateau': [167,157,100],\n\t'minecraft:shattered_savanna': [229,218,135],\n\t'minecraft:shattered_savanna_plateau': [207,197,140],\n\t'minecraft:small_end_islands': [128,128,255],\n\t'minecraft:snowy_beach': [250,240,192],\n\t'minecraft:snowy_mountains': [160,160,160],\n\t'minecraft:snowy_taiga': [49,85,74],\n\t'minecraft:snowy_taiga_hills': [36,63,54],\n\t'minecraft:snowy_taiga_mountains': [89,125,114],\n\t'minecraft:snowy_tundra': [255,255,255],\n\t'minecraft:soul_sand_valley': [94,56,48],\n\t'minecraft:stone_shore': [162,162,132],\n\t'minecraft:sunflower_plains': [181,219,136],\n\t'minecraft:swamp': [7,249,178],\n\t'minecraft:swamp_hills': [47,255,218],\n\t'minecraft:taiga': [11,102,89],\n\t'minecraft:taiga_hills': [22,57,51],\n\t'minecraft:taiga_mountains': [51,142,129],\n\t'minecraft:tall_birch_forest': [88,156,108],\n\t'minecraft:tall_birch_hills': [71,135,90],\n\t'minecraft:the_end': [128,128,255],\n\t'minecraft:the_void': [0,0,0],\n\t'minecraft:warm_ocean': [0,0,172],\n\t'minecraft:warped_forest': [73,144,123],\n\t'minecraft:wooded_badlands_plateau': [176,151,101],\n\t'minecraft:wooded_hills': [34,85,28],\n\t'minecraft:wooded_mountains': [80,112,80],\n}\n","import seedrandom from 'seedrandom'\nimport type { VersionId } from '../Schemas'\nimport { clamp, stringToColor } from '../Utils'\nimport { PerlinNoise } from './noise/PerlinNoise'\n\ntype BlockPos = [number, number, number]\ntype Placement = [BlockPos, number]\n\ntype PlacementContext = {\n\tplacements: Placement[],\n\tfeatures: string[],\n\trandom: seedrandom.prng,\n\tbiomeInfoNoise: PerlinNoise,\n\tseaLevel: number,\n\tversion: VersionId,\n}\n\nconst terrain = [50, 50, 51, 51, 52, 52, 53, 54, 56, 57, 57, 58, 58, 59, 60, 60, 60, 59, 59, 59, 60, 61, 61, 62, 63, 63, 64, 64, 64, 65, 65, 66, 66, 65, 65, 66, 66, 67, 67, 67, 68, 69, 71, 73, 74, 76, 79, 80, 81, 81, 82, 83, 83, 82, 82, 81, 81, 80, 80, 80, 81, 81, 82, 82] \n\nconst featureColors = [\n\t[255, 77, 54], // red\n\t[59, 118, 255], // blue\n\t[91, 207, 25], // green\n\t[217, 32, 245], // magenta\n\t[255, 209, 41], // yellow\n\t[52, 204, 209], // cyan\n]\n\nexport type DecoratorOptions = {\n\tsize: [number, number, number],\n\tseed: string,\n\tversion: VersionId,\n}\nexport function decorator(state: any, img: ImageData, options: DecoratorOptions) {\n\tconst random = seedrandom(options.seed)\n\tconst ctx: PlacementContext = {\n\t\tplacements: [],\n\t\tfeatures: [],\n\t\trandom,\n\t\tbiomeInfoNoise: new PerlinNoise(options.seed + 'frwynup', 0, [1]),\n\t\tseaLevel: 63,\n\t\tversion: options.version,\n\t}\n\n\tfor (let x = 0; x < options.size[0] / 16; x += 1) {\n\t\tfor (let z = 0; z < options.size[2] / 16; z += 1) {\n\t\t\tgetPlacements([x * 16, 0, z * 16], state, ctx)\n\t\t}\n\t}\n\n\tconst data = img.data\n\timg.data.fill(255)\n\n\tfor (const [pos, feature] of ctx.placements) {\n\t\tif (pos[0] < 0 || pos[1] < 0 || pos[2] < 0 || pos[0] >= options.size[0] || pos[1] >= options.size[1] || pos[2] >= options.size[2]) continue\n\t\tconst i = (pos[2] * (img.width * 4)) + (pos[0] * 4)\n\t\tconst color = feature < featureColors.length ? featureColors[feature] : stringToColor(ctx.features[feature])\n\t\tdata[i] = clamp(50, 205, color[0])\n\t\tdata[i + 1] = clamp(50, 205, color[1])\n\t\tdata[i + 2] = clamp(50, 205, color[2])\n\t\tdata[i + 3] = 255\n\t}\n\n\tfor (let x = 0; x < options.size[0]; x += 1) {\n\t\tfor (let y = 0; y < options.size[2]; y += 1) {\n\t\t\tif ((Math.floor(x / 16) + Math.floor(y / 16)) % 2 === 0) continue\n\t\t\tconst i = (y * (img.width * 4)) + (x * 4)\n\t\t\tfor (let j = 0; j < 3; j += 1) {\n\t\t\t\tdata[i + j] = 0.85 * data[i + j] \n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction normalize(id: string) {\n\treturn id.startsWith('minecraft:') ? id.slice(10) : id\n}\n\nfunction decorateY(pos: BlockPos, y: number): BlockPos[] {\n\treturn [[ pos[0], y, pos[2] ]]\n}\n\nfunction nextInt(max: number, ctx: PlacementContext): number {\n\treturn Math.floor(ctx.random() * max)\n}\n\nfunction sampleInt(value: any, ctx: PlacementContext): number {\n\tif (typeof value === 'number') {\n\t\treturn value\n\t} else if (value.base) {\n\t\treturn value.base ?? 1 + nextInt(1 + (value.spread ?? 0), ctx)\n\t} else {\n\t\tswitch (normalize(value.type)) {\n\t\t\tcase 'constant': return value.value\n\t\t\tcase 'uniform': return value.value.min_inclusive + nextInt(value.value.max_inclusive - value.value.min_inclusive + 1, ctx)\n\t\t\tcase 'biased_to_bottom': return value.value.min_inclusive + nextInt(nextInt(value.value.max_inclusive - value.value.min_inclusive + 1, ctx) + 1, ctx)\n\t\t\tcase 'clamped': return Math.max(value.value.min_inclusive, Math.min(value.value.max_inclusive, sampleInt(value.value.source, ctx)))\n\t\t}\n\t\treturn 1\n\t}\n}\n\nfunction useFeature(s: string, ctx: PlacementContext) {\n\tconst i = ctx.features.indexOf(s)\n\tif (i != -1) return i\n\tctx.features.push(s)\n\treturn ctx.features.length - 1\n}\n\nfunction getPlacements(pos: BlockPos, feature: any, ctx: PlacementContext): void {\n\tif (typeof feature === 'string') {\n\t\tctx.placements.push([pos, useFeature(feature, ctx)])\n\t\treturn\n\t}\n\tconst type = normalize(feature?.type ?? 'no_op')\n\tconst featureFn = Features[type]\n\tif (featureFn) {\n\t\tfeatureFn(feature.config, pos, ctx)\n\t} else {\n\t\tctx.placements.push([pos, useFeature(JSON.stringify(feature), ctx)])\n\t}\n}\n\nfunction getPositions(pos: BlockPos, decorator: any, ctx: PlacementContext): BlockPos[] {\n\tconst type = normalize(decorator?.type ?? 'nope')\n\tconst decoratorFn = Decorators[type]\n\tif (!decoratorFn) {\n\t\treturn [pos]\n\t}\n\treturn decoratorFn(decorator?.config, pos, ctx)\n}\n\nconst Features: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => void,\n} = {\n\tdecorated: (config, pos, ctx) => {\n\t\tconst positions = getPositions(pos, config?.decorator, ctx)\n\t\tpositions.forEach(p => getPlacements(p, config?.feature, ctx))\n\t},\n\trandom_boolean_selector: (config, pos, ctx) => {\n\t\tconst feature = ctx.random() < 0.5 ? config?.feature_true : config?.feature_false\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n\trandom_selector: (config, pos, ctx) => {\n\t\tfor (const f of config?.features ?? []) {\n\t\t\tif (ctx.random() < (f?.chance ?? 0)) {\n\t\t\t\tgetPlacements(pos, f.feature, ctx)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tgetPlacements(pos, config?.default, ctx)\n\t},\n\tsimple_random_selector: (config, pos, ctx) => {\n\t\tconst feature = config?.features?.[nextInt(config?.features?.length ?? 0, ctx)]\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n}\n\nconst Decorators: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tchance: (config, pos, ctx) => {\n\t\treturn ctx.random() < 1 / (config?.chance ?? 1) ? [pos] : []\n\t},\n\tcount: (config, pos, ctx) => {\n\t\treturn new Array(sampleInt(config?.count ?? 1, ctx)).fill(pos)\n\t},\n\tcount_extra: (config, pos, ctx) => {\n\t\tlet count = config?.count ?? 1\n\t\tif (ctx.random() < config.extra_chance ?? 0){\n\t\t\tcount += config.extra_count ?? 0\n\t\t}\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_multilayer: (config, pos, ctx) => {\n\t\treturn new Array(sampleInt(config?.count ?? 1, ctx)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + nextInt(16, ctx),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + nextInt(16, ctx),\n\t\t\t])\n\t},\n\tcount_noise: (config, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.getValue(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < config.noise_level ? config.below_noise : config.above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_noise_biased: (config, pos, ctx) => {\n\t\tconst factor = Math.max(1, config.noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.getValue(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (config.noise_offset ?? 0)) * config.noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tdark_oak_tree: (_config, pos, ctx) => {\n\t\treturn [...new Array(16)].map((_, i) => {\n\t\t\tconst x = Math.floor(i / 4) * 4 + 1 + nextInt(3, ctx) + pos[0]\n\t\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, x)])\n\t\t\tconst z = Math.floor(i % 4) * 4 + 1 + nextInt(3, ctx) + pos[2]\n\t\t\treturn [x, y, z]\n\t\t})\n\t},\n\tdecorated: (config, pos, ctx) => {\n\t\treturn getPositions(pos, config?.outer, ctx).flatMap(p => {\n\t\t\treturn getPositions(p, config?.inner, ctx)\n\t\t})\n\t},\n\tdepth_average: (config, pos, ctx) => {\n\t\tconst y = nextInt(config?.spread ?? 0, ctx) + nextInt(config?.spread ?? 0, ctx) - (config.spread ?? 0) + (config?.baseline ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\temerald_ore: (_config, pos, ctx) => {\n\t\tconst count = 3 + nextInt(6, ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\t4 + nextInt(28, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\tfire: (config, pos, ctx) => {\n\t\tconst count = 1 + nextInt(nextInt(sampleInt(config?.count, ctx), ctx), ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tnextInt(128, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\tglowstone: (config, pos, ctx) => {\n\t\tconst count = nextInt(1 + nextInt(sampleInt(config?.count, ctx), ctx), ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tnextInt(128, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\theightmap: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\theightmap_spread_double: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, nextInt(y * 2, ctx))\n\t},\n\theightmap_world_surface: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\ticeberg: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + 4 + nextInt(8, ctx),\n\t\t\tpos[1],\n\t\t\tpos[2] + 4 + nextInt(8, ctx),\n\t\t]]\n\t},\n\tlava_lake: (config, pos, ctx) => {\n\t\tif (nextInt((config.chance ?? 1) / 10, ctx) === 0) {\n\t\t\tconst y = nextInt(nextInt(256 - 8, ctx) + 8, ctx)\n\t\t\tif (y < ctx.seaLevel || nextInt((config?.chance ?? 1) / 8, ctx) == 0) {\n\t\t\t\tconst x = nextInt(16, ctx) + pos[0]\n\t\t\t\tconst z = nextInt(16, ctx) + pos[2]\n\t\t\t\treturn [[x, y, z]]\n\t\t\t}\n\t\t}\n\t\treturn []\n\t},\n\tnope: (_config, pos) => {\n\t\treturn [pos]\n\t},\n\trange: (config, pos, ctx) => {\n\t\tconst y = nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_biased: (config, pos, ctx) => {\n\t\tconst y = nextInt(nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_very_biased: (config, pos, ctx) => {\n\t\tconst y = nextInt(nextInt(nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\tspread_32_above: (_config, pos, ctx) => {\n\t\tconst y = nextInt(pos[1] + 32, ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\ttop_solid_heightmap: (_config, pos) => {\n\t\tconst y = terrain[clamp(0, 63, pos[0])]\n\t\treturn decorateY(pos, y)\n\t},\n\tmagma: (_config, pos, ctx) => {\n\t\tconst y = nextInt(pos[1] + 32, ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\tsquare: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tpos[1],\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t]]\n\t},\n\twater_lake: (config, pos, ctx) => {\n\t\tif (nextInt(config.chance ?? 1, ctx) === 0) {\n\t\t\treturn [[\n\t\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\t\tnextInt(256, ctx),\n\t\t\t\tpos[2] + nextInt(16, ctx),\n\t\t\t]]\n\t\t}\n\t\treturn []\n\t},\n}\n","import { clampedLerp, lerp2 } from '../../Utils'\nimport { PerlinNoise } from './PerlinNoise'\n\nexport class NoiseChunkGenerator {\n\tprivate readonly minLimitPerlinNoise: PerlinNoise\n\tprivate readonly maxLimitPerlinNoise: PerlinNoise\n\tprivate readonly mainPerlinNoise: PerlinNoise\n\tprivate readonly depthNoise: PerlinNoise\n\n\tprivate settings: any = {}\n\tprivate chunkWidth: number = 4\n\tprivate chunkHeight: number = 4\n\tprivate chunkCountY: number = 32\n\tprivate biomeDepth: number = 0.1\n\tprivate biomeScale: number = 0.2\n\n\tprivate noiseColumnCache: (number[] | null)[] = []\n\tprivate xOffset: number = 0\n\n\tconstructor(seed: string) {\n\t\tthis.minLimitPerlinNoise = PerlinNoise.fromRange(seed + 'djfqnqd', -15, 0)\n\t\tthis.maxLimitPerlinNoise = PerlinNoise.fromRange(seed + 'gowdnqs', -15, 0)\n\t\tthis.mainPerlinNoise = PerlinNoise.fromRange(seed + 'afiwmco', -7, 0)\n\t\tthis.depthNoise = PerlinNoise.fromRange(seed + 'qphnmeo', -15, 0)\n\t}\n\n\tpublic reset(settings: any, depth: number, scale: number, xOffset: number, width: number) {\n\t\tthis.settings = settings\n\t\tthis.chunkWidth = settings.size_horizontal * 4\n\t\tthis.chunkHeight = settings.size_vertical * 4\n\t\tthis.chunkCountY = Math.floor(settings.height / this.chunkHeight)\n\n\t\tif (settings.amplified && depth > 0) {\n\t\t\tdepth = 1 + depth * 2\n\t\t\tscale = 1 + scale * 4\n\t\t}\n\t\tthis.biomeDepth = 0.265625 * (depth * 0.5 - 0.125)\n\t\tthis.biomeScale = 96.0 / (scale * 0.9 + 0.1)\n\n\t\tthis.noiseColumnCache = Array(width).fill(null)\n\t\tthis.xOffset = xOffset\n\t}\n \n\tpublic iterateNoiseColumn(x: number): number[] {\n\t\tconst data = Array(this.chunkCountY * this.chunkHeight)\n\t\tconst cx = Math.floor(x / this.chunkWidth)\n\t\tconst ox = Math.floor(x % this.chunkWidth) / this.chunkWidth\n\t\tconst noise1 = this.fillNoiseColumn(cx)\n\t\tconst noise2 = this.fillNoiseColumn(cx + 1)\n\n\t\tfor (let y = this.chunkCountY - 1; y >= 0; y -= 1) {\n\t\t\tfor (let yy = this.chunkHeight; yy >= 0; yy -= 1) {\n\t\t\t\tconst oy = yy / this.chunkHeight\n\t\t\t\tconst i = y * this.chunkHeight + yy\n\t\t\t\tdata[i] = lerp2(oy, ox, noise1[y], noise1[y+1], noise2[y], noise2[y+1])\n\t\t\t}\n\t\t}\n\t\treturn data\n\t}\n\n\tprivate fillNoiseColumn(x: number): number[] {\n\t\tconst cachedColumn = this.noiseColumnCache[x - this.xOffset]\n\t\tif (cachedColumn) return cachedColumn\n\n\t\tconst data = Array(this.chunkCountY + 1)\n\n\t\tconst xzScale = 684.412 * this.settings.sampling.xz_scale\n\t\tconst yScale = 684.412 * this.settings.sampling.y_scale\n\t\tconst xzFactor = xzScale / this.settings.sampling.xz_factor\n\t\tconst yFactor = yScale / this.settings.sampling.y_factor\n\t\tconst randomDensity = this.settings.random_density_offset ? this.getRandomDensity(x) : 0\n\n\t\tfor (let y = 0; y <= this.chunkCountY; y += 1) {\n\t\t\tlet noise = this.sampleAndClampNoise(x, y, this.mainPerlinNoise.getOctaveNoise(0).zo, xzScale, yScale, xzFactor, yFactor)\n\t\t\tconst yOffset = 1 - y * 2 / this.chunkCountY + randomDensity\n\t\t\tconst density = yOffset * this.settings.density_factor + this.settings.density_offset\n\t\t\tconst falloff = (density + this.biomeDepth) * this.biomeScale\n\t\t\tnoise += falloff * (falloff > 0 ? 4 : 1)\n\n\t\t\tif (this.settings.top_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.top_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(this.chunkCountY - y - (this.settings.top_slide.offset)) / (this.settings.top_slide.size)\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (this.settings.bottom_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.bottom_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(y - (this.settings.bottom_slide.offset)) / (this.settings.bottom_slide.size)\n\t\t\t\t)\n\t\t\t}\n\t\t\tdata[y] = noise\n\t\t}\n\n\t\tthis.noiseColumnCache[x - this.xOffset] = data\n\t\treturn data\n\t}\n\n\tprivate getRandomDensity(x: number): number {\n\t\tconst noise = this.depthNoise.getValue(x * 200, 10, this.depthNoise.getOctaveNoise(0).zo, 1, 0, true)\n\t\tconst a = (noise < 0) ? -noise * 0.3 : noise\n\t\tconst b = a * 24.575625 - 2\n\t\treturn (b < 0) ? b * 0.009486607142857142 : Math.min(b, 1) * 0.006640625\n\t}\n\n\tprivate sampleAndClampNoise(x: number, y: number, z: number, xzScale: number, yScale: number, xzFactor: number, yFactor: number): number {\n\t\tlet a = 0\n\t\tlet b = 0\n\t\tlet c = 0\n\t\tlet d = 1\n\n\t\tfor (let i = 0; i < 16; i += 1) {\n\t\t\tconst x2 = PerlinNoise.wrap(x * xzScale * d)\n\t\t\tconst y2 = PerlinNoise.wrap(y * yScale * d)\n\t\t\tconst z2 = PerlinNoise.wrap(z * xzScale * d)\n\t\t\tconst e = yScale * d\n\n\t\t\tconst minLimitNoise = this.minLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (minLimitNoise) {\n\t\t\t\ta += minLimitNoise.noise(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tconst maxLimitNoise = this.maxLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (maxLimitNoise) {\n\t\t\t\tb += maxLimitNoise.noise(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tif (i < 8) {\n\t\t\t\tconst mainNoise = this.mainPerlinNoise.getOctaveNoise(i)\n\t\t\t\tif (mainNoise) {\n\t\t\t\t\tc += mainNoise.noise(\n\t\t\t\t\t\tPerlinNoise.wrap(x * xzFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(y * yFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(z * xzFactor * d),\n\t\t\t\t\t\tyFactor * d,\n\t\t\t\t\t\ty * yFactor * d \n\t\t\t\t\t) / d\n\t\t\t\t}\n\t\t\t}\n\n\t\t\td /= 2\n\t\t}\n\n\t\treturn clampedLerp(a / 512, b / 512, (c / 10 + 1) / 2)\n\t}\n}\n","import { NoiseChunkGenerator } from './noise/NoiseChunkGenerator'\n\nexport type NoiseSettingsOptions = {\n\tbiomeScale: number,\n\tbiomeDepth: number,\n\toffset: number,\n\twidth: number,\n\tseed: string,\n}\n\nexport function noiseSettings(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tconst generator = new NoiseChunkGenerator(options.seed)\n\tgenerator.reset(state, options.biomeDepth, options.biomeScale, options.offset, 200)\n\tconst data = img.data\n\tconst row = img.width * 4\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tconst noise = generator.iterateNoiseColumn(x - options.offset).reverse()\n\t\tfor (let y = 0; y < state.height; y += 1) {\n\t\t\tconst i = y * row + x * 4\n\t\t\tconst color = getColor(noise, y)\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction getColor(noise: number[], y: number): number {\n\tif (noise[y] > 0) {\n\t\treturn 0\n\t}\n\tif (noise[y+1] > 0) {\n\t\treturn 150\n\t}\n\treturn 255\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport type { FunctionalComponent } from 'preact'\nimport { useState } from 'preact/hooks'\nimport { useModel } from '../hooks'\nimport type { VersionId } from '../Schemas'\nimport { BiomeSourcePreview, DecoratorPreview, NoiseSettingsPreview } from './previews'\n\nexport const HasPreview = ['dimension', 'worldgen/noise-settings', 'worldgen/feature']\n\nexport const Previews: {\n\tid: string,\n\tgenerator: string,\n\tpath: Path,\n\tpredicate: (model: DataModel) => boolean,\n\tpreview: FunctionalComponent<{\n\t\tlang: string,\n\t\tmodel: DataModel,\n\t\tdata: any,\n\t\tversion: VersionId,\n\t\tshown: boolean,\n\t}>,\n}[] = [\n\t{\n\t\tid: 'biome-noise',\n\t\tgenerator: 'dimension',\n\t\tpath: new Path(['generator', 'biome_source']),\n\t\tpredicate: model => model.get(new Path(['generator', 'type'])).endsWith('noise'),\n\t\tpreview: BiomeSourcePreview,\n\t},\n\t{\n\t\tid: 'noise-settings',\n\t\tgenerator: 'worldgen/noise-settings',\n\t\tpath: new Path(['noise']),\n\t\tpredicate: () => true,\n\t\tpreview: NoiseSettingsPreview,\n\t},\n\t{\n\t\tid: 'decorator',\n\t\tgenerator: 'worldgen/feature',\n\t\tpath: new Path([]),\n\t\tpredicate: () => true,\n\t\tpreview: DecoratorPreview,\n\t},\n]\n\ntype PreviewProps = {\n\tlang: string,\n\tmodel: DataModel | null,\n\tversion: VersionId,\n\tid: string,\n\tshown: boolean,\n\tonError: (message: string) => unknown,\n}\nexport function PreviewPanel({ lang, model, version, id, shown }: PreviewProps) {\n\tconst [, setCount] = useState(0)\n\n\tuseModel(model, () => {\n\t\tsetCount(count => count + 1)\n\t})\n\n\treturn <>\n\t\t{Previews.filter(p => p.generator === id).map(p => {\n\t\t\tconst data = model?.get(p.path)\n\t\t\tif (!model || data === undefined || !p.predicate(model)) {\n\t\t\t\treturn <>\n\t\t\t}\n\t\t\treturn p.preview({ lang, model: model!, data, version, shown })\n\t\t})}\n\t\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn } from '..'\nimport { useOnDrag, useOnHover } from '../../hooks'\nimport { biomeSource, getBiome } from '../../previews'\nimport { hexId } from '../../Utils'\n\ntype BiomeSourceProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tshown: boolean,\n}\nexport const BiomeSourcePreview = ({ data, shown }: BiomeSourceProps) => {\n\tconst [scale, setScale] = useState(2)\n\tconst [seed, setSeed] = useState(hexId())\n\tconst [focused, setFocused] = useState(undefined)\n\tconst type: string = data.type?.replace(/^minecraft:/, '')\n\n\tconst canvas = useRef(null)\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst redrawTimeout = useRef(undefined)\n\tconst redraw = useRef()\n\tconst refocus = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = (res = 4) => {\n\t\t\tif (type !== 'multi_noise') res = 1\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tcanvas.current.width = 200 / res\n\t\t\tcanvas.current.height = 200 / res\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tbiomeSource(data, img, { biomeColors: {}, offset: offset.current, scale, seed, res })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t\tif (res !== 1) {\n\t\t\t\tclearTimeout(redrawTimeout.current)\n\t\t\t\tredrawTimeout.current = setTimeout(() => redraw.current(1), 150) as any\n\t\t\t}\n\t\t}\n\t\trefocus.current = (x: number, y: number) => {\n\t\t\tconst x2 = x * 200 / canvas.current.clientWidth\n\t\t\tconst y2 = y * 200 / canvas.current.clientHeight\n\t\t\tconst biome = getBiome(data, x2, y2, { biomeColors: {}, offset: offset.current, scale, seed, res: 1 })\n\t\t\tsetFocused(biome)\n\t\t}\n\t})\n\n\tuseOnDrag(canvas.current, (dx, dy) => {\n\t\tconst x = dx * 200 / canvas.current.clientWidth\n\t\tconst y = dy * 200 / canvas.current.clientHeight\n\t\toffset.current = [offset.current[0] + x, offset.current[1] + y]\n\t\tredraw.current()\n\t})\n\n\tuseOnHover(canvas.current, (x, y) => {\n\t\tif (x === undefined || y === undefined) {\n\t\t\tsetFocused(undefined)\n\t\t} else {\n\t\t\trefocus.current(x, y)\n\t\t}\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw.current()\n\t\t}\n\t}, [state, scale, seed, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] *= scale / newScale\n\t\toffset.current[1] *= scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t{focused && }\n\t\t\t{(type === 'multi_noise' || type === 'checkerboard') && <>\n\t\t\t\t changeScale(scale * 1.5)} />\n\t\t\t\t changeScale(scale / 1.5)} />\n\t\t\t}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t setSeed(hexId())} />}\n\t\t
\n\t\t\n\t\n}\n","import { useEffect } from 'preact/hooks'\n\nexport function useOnHover(element: HTMLElement, hover: (x: number | undefined, y: number | undefined) => unknown) {\n\tif (!element) return\n\n\tconst onMouseMove = (e: MouseEvent) => {\n\t\thover(e.offsetX, e.offsetY)\n\t}\n\tconst onMouseLeave = () => {\n\t\thover(undefined, undefined)\n\t}\n\n\tuseEffect(() => {\n\t\telement.addEventListener('mousemove', onMouseMove)\n\t\telement.addEventListener('mouseleave', onMouseLeave)\n\t\treturn () => {\n\t\t\telement.removeEventListener('mousemove', onMouseMove)\n\t\t\telement.removeEventListener('mouseleave', onMouseLeave)\n\t\t}\n\t}, [element])\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnInput, BtnMenu } from '..'\nimport { useOnDrag } from '../../hooks'\nimport { locale } from '../../Locales'\nimport { noiseSettings } from '../../previews'\nimport { hexId } from '../../Utils'\n\ntype NoiseSettingsProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tshown: boolean,\n}\nexport const NoiseSettingsPreview = ({ lang, data, shown }: NoiseSettingsProps) => {\n\tconst loc = locale.bind(null, lang)\n\tconst [seed, setSeed] = useState(hexId())\n\tconst [biomeDepth, setBiomeDepth] = useState(0.1)\n\tconst [biomeScale, setBiomeScale] = useState(0.2)\n\n\tconst canvas = useRef(null)\n\tconst offset = useRef(0)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tconst size = data.height\n\t\t\tcanvas.current.width = size\n\t\t\tcanvas.current.height = size\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tnoiseSettings(data, img, { biomeDepth, biomeScale, offset: offset.current, width: size, seed })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t})\n\n\tuseOnDrag(canvas.current, (dx) => {\n\t\tconst x = dx * canvas.current.width / canvas.current.clientWidth\n\t\toffset.current = offset.current + x\n\t\tredraw.current()\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw.current()\n\t\t}\n\t}, [state, biomeDepth, biomeScale, seed, shown])\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t\t\t setBiomeDepth(Number(v))} />\n\t\t\t\t setBiomeScale(Number(v))} />\n\t\t\t\n\t\t\t setSeed(hexId())} />\n\t\t
\n\t\t\n\t\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn } from '..'\nimport { decorator } from '../../previews'\nimport type { VersionId } from '../../Schemas'\nimport { hexId } from '../../Utils'\n\ntype DecoratorProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tversion: VersionId,\n\tshown: boolean,\n}\nexport const DecoratorPreview = ({ data, version, shown }: DecoratorProps) => {\n\tconst [scale, setScale] = useState(4)\n\tconst [seed, setSeed] = useState(hexId())\n\n\tconst canvas = useRef(null)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tcanvas.current.width = scale * 16\n\t\t\tcanvas.current.height = scale * 16\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tdecorator(data, img, { seed, version, size: [scale * 16, 128, scale * 16] })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tsetTimeout(() => redraw.current())\n\t\t}\n\t}, [state, scale, seed, shown])\n\n\treturn <>\n\t\t
\n\t\t\t setScale(Math.min(16, scale + 1))} />\n\t\t\t setScale(Math.max(1, scale - 1))} />\n\t\t\t setSeed(hexId())} />\n\t\t
\n\t\t\n\t\n}\n","import type { Hook } from '@mcschema/core'\nimport { relativePath } from '@mcschema/core'\nimport type { BlockStateRegistry } from '../Schemas'\n\nexport type OutputProps = {\n\tblockStates: BlockStateRegistry,\n}\nexport const transformOutput: Hook<[any, OutputProps], any> = {\n\tbase({}, _, value) {\n\t\treturn value\n\t},\n\n\tchoice({ switchNode }, path, value, props) {\n\t\treturn switchNode.hook(this, path, value, props)\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tif (!Array.isArray(value)) return value\n\t\treturn value.map((obj, index) =>\n\t\t\tchildren.hook(this, path.push(index), obj, props)\n\t\t)\n\t},\n\n\tmap({ children, config }, path, value, props) {\n\t\tif (value === undefined) return undefined\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst res: any = {}\n\t\tObject.keys(value).forEach(f => {\n\t\t\tif (blockState) {\n\t\t\t\tif (!Object.keys(blockState.properties).includes(f)) return\n\t\t\t}\n\t\t\tres[f] = children.hook(this, path.push(f), value[f], props)\n\t\t})\n\t\treturn res\n\t},\n\n\tobject({ getActiveFields }, path, value, props) {\n\t\tif (value === undefined || value === null || typeof value !== 'object') {\n\t\t\treturn value\n\t\t}\n\t\tconst res: any = {}\n\t\tconst activeFields = getActiveFields(path)\n\t\tObject.keys(activeFields)\n\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\t.forEach(f => {\n\t\t\t\tres[f] = activeFields[f].hook(this, path.push(f), value[f], props)\n\t\t\t})\n\t\treturn res\n\t},\n}\n","import type { DataModel } from '@mcschema/core'\nimport { ModelPath } from '@mcschema/core'\nimport { useEffect, useRef } from 'preact/hooks'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport { transformOutput } from '../schema/transformOutput'\nimport type { BlockStateRegistry } from '../Schemas'\n\ntype SourcePanelProps = {\n\tlang: string,\n\tname: string,\n\tmodel: DataModel | null,\n\tblockStates: BlockStateRegistry | null,\n\tdoCopy?: number,\n\tdoDownload?: number,\n\tdoImport?: number,\n\tonError: (message: string) => unknown,\n}\nexport function SourcePanel({ lang, name, model, blockStates, doCopy, doDownload, doImport, onError }: SourcePanelProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst source = useRef(null)\n\tconst download = useRef(null)\n\n\tuseModel(model, model => {\n\t\ttry {\n\t\t\tconst props = { blockStates: blockStates ?? {} }\n\t\t\tconst data = model.schema.hook(transformOutput, new ModelPath(model), model.data, props)\n\t\t\tsource.current.value = JSON.stringify(data, null, 2) + '\\n'\n\t\t} catch (e) {\n\t\t\tonError(`Error getting JSON output: ${e.message}`)\n\t\t\tconsole.error(e)\n\t\t\tsource.current.value = ''\n\t\t}\n\t})\n\n\tconst onImport = () => {\n\t\ttry {\n\t\t\tconst data = JSON.parse(source.current.value)\n\t\t\tmodel?.reset(data, false)\n\t\t} catch (e) {\n\t\t\t// TODO\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (doCopy && source.current) {\n\t\t\tsource.current.select()\n\t\t\tdocument.execCommand('copy')\n\t\t}\n\t}, [doCopy])\n\n\tuseEffect(() => {\n\t\tif (doDownload && source.current && download.current) {\n\t\t\tconst content = encodeURIComponent(source.current.value)\n\t\t\tdownload.current.setAttribute('href', `data:text/json;charset=utf-8,${content}`)\n\t\t\tdownload.current.setAttribute('download', `${name}.json`)\n\t\t\tdownload.current.click()\n\t\t}\n\t}, [doDownload])\n\n\tuseEffect(() => {\n\t\tif (doImport && source.current) {\n\t\t\tsource.current.value = ''\n\t\t\tsource.current.select()\n\t\t}\n\t}, [doImport])\n\n\treturn <> \n\t\t\n\t\t\n\t\n}\n","import { hexId } from '../Utils'\n\nexport class Mounter {\n\tprivate registry: { [id: string]: (el: Element) => void } = {}\n\n\tregister(callback: (el: Element) => void): string {\n\t\tconst id = hexId()\n\t\tthis.registry[id] = callback\n\t\treturn id\n\t}\n\n\ton(type: string, callback: (el: Element) => void): string {\n\t\treturn this.register(el => {\n\t\t\tel.addEventListener(type, evt => {\n\t\t\t\tcallback(el)\n\t\t\t\tevt.stopPropagation()\n\t\t\t})\n\t\t})\n\t}\n\n\tonChange(callback: (el: Element) => void): string {\n\t\treturn this.on('change', callback)\n\t}\n\n\tonClick(callback: (el: Element) => void): string {\n\t\treturn this.on('click', callback)\n\t}\n\n\tmounted(el: Element): void {\n\t\tel.querySelectorAll('[data-id]').forEach(el => {\n\t\t\tconst id = el.getAttribute('data-id')!\n\t\t\tthis.registry[id]?.(el)\n\t\t})\n\t\tthis.registry = {}\n\t}\n}\n","export const Octicon = {\n\tclippy: '',\n\tinfo: '',\n\tissue_opened: '',\n\tplus_circle: '',\n\ttrashcan: '',\n}\n","import type { EnumOption, Hook, ValidationOption } from '@mcschema/core'\nimport { DataModel, MapNode, ModelPath, ObjectNode, Path, relativePath, StringNode } from '@mcschema/core'\nimport type { Localize } from '../Locales'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\nimport { hexId, htmlEncode } from '../Utils'\nimport type { Mounter } from './Mounter'\nimport { Octicon } from './Octicon'\n\nexport type TreeProps = {\n\tloc: Localize,\n\tmounter: Mounter,\n\tversion: VersionId,\n\tblockStates: BlockStateRegistry,\n}\n\nconst selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type']\nconst hiddenFields = ['number_provider.type', 'score_provider.type', 'nbt_provider.type', 'int_provider.type', 'float_provider.type', 'height_provider.type']\nconst flattenedFields = ['feature.config', 'decorator.config', 'int_provider.value', 'float_provider.value', 'block_state_provider.simple_state_provider.state', 'block_state_provider.rotated_block_provider.state', 'block_state_provider.weighted_state_provider.entries.entry.data', 'rule_test.block_state', 'structure_feature.config', 'surface_builder.config', 'template_pool.elements.entry.element']\nconst inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type']\n\n/**\n * Secondary model used to remember the keys of a map\n */\nconst keysModel = new DataModel(MapNode(\n\tStringNode(),\n\tStringNode()\n), { historyMax: 0 })\n\n/**\n * Renders the node and handles events to update the model\n * @returns string HTML representation of this node using the given data\n */\nexport const renderHtml: Hook<[any, TreeProps], [string, string, string]> = {\n\tbase() {\n\t\treturn ['', '', '']\n\t},\n\n\tboolean({ node }, path, value, props) {\n\t\tconst onFalse = props.mounter.onClick(() => {\n\t\t\tpath.model.set(path, node.optional() && value === false ? undefined : false)\n\t\t})\n\t\tconst onTrue = props.mounter.onClick(() => {\n\t\t\tpath.model.set(path, node.optional() && value === true ? undefined : true)\n\t\t})\n\t\treturn ['', `${htmlEncode(props.loc('false'))}\n\t\t\t${htmlEncode(props.loc('true'))}`, '']\n\t},\n\n\tchoice({ choices, config, switchNode }, path, value, props) {\n\t\tconst choice = switchNode.activeCase(path, true)\n\t\tconst pathWithContext = (config?.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path\n\t\tconst pathWithChoiceContext = config?.choiceContext ? new Path([], [config.choiceContext]) : config?.context ? new Path([], [config.context]) : path\n\n\t\tconst [prefix, suffix, body] = choice.node.hook(this, pathWithContext, value, props)\n\t\tif (choices.length === 1) {\n\t\t\treturn [prefix, suffix, body]\n\t\t}\n\n\t\tconst inputId = props.mounter.register(el => {\n\t\t\t(el as HTMLSelectElement).value = choice.type\n\t\t\tel.addEventListener('change', () => {\n\t\t\t\tconst c = choices.find(c => c.type === (el as HTMLSelectElement).value) ?? choice\n\t\t\t\tpath.model.set(path, c.change ? c.change(value) : c.node.default())\n\t\t\t})\n\t\t})\n\t\tconst inject = ``\n\n\t\treturn [prefix, inject + suffix, body]\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tconst onAdd = props.mounter.onClick(() => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tpath.model.set(path, [children.default(), ...value])\n\t\t})\n\t\tconst onAddBottom = props.mounter.onClick(() => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tpath.model.set(path, [...value, children.default()])\n\t\t})\n\t\tconst suffix = ``\n\n\t\tlet body = ''\n\t\tif (Array.isArray(value)) {\n\t\t\tbody = value.map((childValue, index) => {\n\t\t\t\tconst removeId = props.mounter.onClick(() => path.model.set(path.push(index), undefined))\n\t\t\t\tconst childPath = path.push(index).contextPush('entry')\n\t\t\t\tconst category = children.category(childPath)\n\t\t\t\tconst [cPrefix, cSuffix, cBody] = children.hook(this, childPath, childValue, props)\n\t\t\t\treturn `
\n\t\t\t\t\t
\n\t\t\t\t\t\t${error(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t${help(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${cPrefix}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${cSuffix}\n\t\t\t\t\t
\n\t\t\t\t\t${cBody ? `
${cBody}
` : ''}\n\t\t\t\t\t
\n\t\t\t\t
`\n\t\t\t}).join('')\n\t\t\tif (value.length > 2) {\n\t\t\t\tbody += `
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
`\n\t\t\t}\n\t\t}\n\t\treturn ['', suffix, body]\n\t},\n\n\tmap({ children, keys, config }, path, value, props) {\n\t\tconst keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]))\n\t\tconst onAdd = props.mounter.onClick(() => {\n\t\t\tconst key = keyPath.get()\n\t\t\tpath.model.set(path.push(key), children.default())\n\t\t})\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst keysSchema = blockState?.properties\n\t\t\t? StringNode(null!, { enum: Object.keys(blockState.properties ?? {}) })\n\t\t\t: keys\n\t\tconst keyRendered = keysSchema.hook(this, keyPath, keyPath.get() ?? '', props)\n\t\tconst suffix = keyRendered[1] + ``\n\t\tif (blockState && path.last() === 'Properties') {\n\t\t\tif (typeof value !== 'object') value = {}\n\t\t\tconst properties = Object.entries(blockState.properties)\n\t\t\t\t.map(([key, values]) => [key, StringNode(null!, { enum: values })])\n\t\t\tObject.entries(blockState.properties).forEach(([key, values]) => {\n\t\t\t\tif (typeof value[key] !== 'string') {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.expected_string')\n\t\t\t\t} else if (!values.includes(value[key])) {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.invalid_enum_option', value[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn ObjectNode(Object.fromEntries(properties)).hook(this, path, value, props)\n\t\t}\n\t\tlet body = ''\n\t\tif (typeof value === 'object' && value !== undefined) {\n\t\t\tbody = Object.keys(value)\n\t\t\t\t.map(key => {\n\t\t\t\t\tconst onRemove = props.mounter.onClick(() => path.model.set(path.push(key), undefined))\n\t\t\t\t\tconst childPath = path.modelPush(key)\n\t\t\t\t\tconst category = children.category(childPath)\n\t\t\t\t\tconst childrenSchema = blockState\n\t\t\t\t\t\t? StringNode(null!, { enum: blockState.properties[key] ?? [] })\n\t\t\t\t\t\t: children\n\t\t\t\t\tif (blockState?.properties[key] && !blockState.properties[key].includes(value[key])) {\n\t\t\t\t\t\tpath.model.errors.add(childPath, 'error.invalid_enum_option', value[key])\n\t\t\t\t\t}\n\t\t\t\t\tconst [cPrefix, cSuffix, cBody] = childrenSchema.hook(this, childPath, value[key], props)\n\t\t\t\t\treturn `
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t${error(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t\t${help(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${cPrefix}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${cSuffix}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t${cBody ? `
${cBody}
` : ''}\n\t\t\t\t\t\t
\n\t\t\t\t\t
`\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t}\n\t\treturn ['', suffix, body]\n\t},\n\n\tnumber({ integer, config }, path, value, { mounter }) {\n\t\tconst onChange = mounter.onChange(el => {\n\t\t\tconst value = (el as HTMLInputElement).value\n\t\t\tconst parsed = config?.color\n\t\t\t\t? parseInt(value.slice(1), 16)\n\t\t\t\t: integer ? parseInt(value) : parseFloat(value)\n\t\t\tpath.model.set(path, parsed)\n\t\t})\n\t\tif (config?.color) {\n\t\t\tconst hex = (value?.toString(16).padStart(6, '0') ?? '000000')\n\t\t\treturn ['', ``, '']\n\t\t}\n\t\treturn ['', ``, '']\n\t},\n\n\tobject({ node, getActiveFields, getChildModelPath }, path, value, props) {\n\t\tlet prefix = ''\n\t\tlet suffix = ''\n\t\tif (node.optional()) {\n\t\t\tif (value === undefined) {\n\t\t\t\tsuffix = ``\n\t\t\t} else {\n\t\t\t\tsuffix = ``\n\t\t\t}\n\t\t}\n\t\tlet body = ''\n\t\tif (typeof value === 'object' && value !== undefined && (!(node.optional() && value === undefined))) {\n\t\t\tconst activeFields = getActiveFields(path)\n\t\t\tconst activeKeys = Object.keys(activeFields)\n\t\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\tbody = activeKeys.map(k => {\n\t\t\t\tconst field = activeFields[k]\n\t\t\t\tconst childPath = getChildModelPath(path, k)\n\t\t\t\tconst context = childPath.getContext().join('.')\n\t\t\t\tif (hiddenFields.includes(context)) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst category = field.category(childPath)\n\t\t\t\tconst [cPrefix, cSuffix, cBody] = field.hook(this, childPath, value[k], props)\n\t\t\t\tif (cPrefix.length === 0 && cSuffix.length === 0 && cBody.length === 0) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst isFlattened = field.type(childPath) === 'object' && flattenedFields.includes(context)\n\t\t\t\tconst isInlined = inlineFields.includes(context)\n\t\t\t\tif (isFlattened || isInlined) {\n\t\t\t\t\tprefix += `${error(props.loc, childPath, props.mounter)}${help(props.loc, childPath, props.mounter)}${cPrefix}`\n\t\t\t\t\tsuffix += cSuffix\n\t\t\t\t\treturn isFlattened ? cBody : ''\n\t\t\t\t}\n\n\t\t\t\treturn `
\n\t\t\t\t\t
\n\t\t\t\t\t\t${error(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t${help(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t${cPrefix}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${cSuffix}\n\t\t\t\t\t
\n\t\t\t\t\t${cBody ? `
${cBody}
` : ''}\n\t\t\t\t
`\n\t\t\t})\n\t\t\t\t.join('')\n\t\t}\n\t\treturn [prefix, suffix, body]\n\t},\n\n\tstring({ node, getValues, config }, path, value, props) {\n\t\tconst inputId = props.mounter.register(el => {\n\t\t\t(el as HTMLSelectElement).value = value ?? ''\n\t\t\tel.addEventListener('change', evt => {\n\t\t\t\tconst newValue = (el as HTMLSelectElement).value\n\t\t\t\tpath.model.set(path, newValue.length === 0 ? undefined : newValue)\n\t\t\t\tevt.stopPropagation()\n\t\t\t})\n\t\t})\n\t\tlet suffix\n\t\tconst values = getValues()\n\t\tif ((isEnum(config) && !config.additional)\n\t\t\t|| selectRegistries.includes(path.getContext().join('.'))\t) {\n\t\t\tlet context = new Path([])\n\t\t\tif (isEnum(config) && typeof config.enum === 'string') {\n\t\t\t\tcontext = context.contextPush(config.enum)\n\t\t\t} else if (!isEnum(config) && config?.validator === 'resource' && typeof config.params.pool === 'string') {\n\t\t\t\tcontext = context.contextPush(config.params.pool)\n\t\t\t}\n\t\t\tsuffix = ``\n\t\t} else if (!isEnum(config) && config?.validator === 'block_state_key') {\n\t\t\tconst blockState = props.blockStates?.[relativePath(path, config.params.id).get()]\n\t\t\tconst values = Object.keys(blockState?.properties ?? {})\n\t\t\tsuffix = ``\n\t\t} else {\n\t\t\tconst datalistId = hexId()\n\t\t\tsuffix = `\n\t\t\t\t${values.length === 0 ? '' :\n\t\t`\n\t\t\t\t\t\t\t\t${values.map(v =>\n\t\t``}`\n\t\t}\n\t\treturn ['', suffix, '']\n\t},\n}\n\nfunction isEnum(value?: ValidationOption | EnumOption): value is EnumOption {\n\treturn !!(value as any)?.enum\n}\n\nfunction hashString(str: string) {\n\tvar hash = 0, i, chr\n\tfor (i = 0; i < str.length; i++) {\n\t\tchr = str.charCodeAt(i)\n\t\thash = ((hash << 5) - hash) + chr\n\t\thash |= 0\n\t}\n\treturn hash\n}\n\nfunction pathLocale(loc: Localize, path: Path, ...params: string[]) {\n\tconst ctx = path.getContext()\n\tfor (let i = 0; i < ctx.length; i += 1) {\n\t\tconst key = ctx.slice(i).join('.')\n\t\tconst result = loc(key, ...params)\n\t\tif (key !== result) {\n\t\t\treturn result\n\t\t}\n\t}\n\treturn htmlEncode(ctx[ctx.length - 1])\n}\n\nfunction error(loc: Localize, path: ModelPath, mounter: Mounter) {\n\tconst e = path.model.errors.get(path, true)\n\tif (e.length === 0) return ''\n\tconst message = e[0].params ? loc(e[0].error, ...e[0].params) : loc(e[0].error)\n\treturn popupIcon('node-error', 'issue_opened', htmlEncode(message), mounter)\n}\n\nfunction help(loc: Localize, path: Path, mounter: Mounter) {\n\tconst key = path.contextPush('help').getContext().join('.')\n\tconst message = loc(key)\n\tif (message === key) return ''\n\treturn popupIcon('node-help', 'info', htmlEncode(message), mounter)\n}\n\nconst popupIcon = (type: string, icon: keyof typeof Octicon, popup: string, mounter: Mounter) => {\n\tconst onClick = mounter.onClick(el => {\n\t\tel.getElementsByTagName('span')[0].classList.add('show')\n\t\tdocument.body.addEventListener('click', () => {\n\t\t\tel.getElementsByTagName('span')[0].classList.remove('show')\n\t\t}, { capture: true, once: true })\n\t})\n\treturn `
\n\t\t${Octicon[icon]}\n\t\t${popup}\n\t
`\n}\n\nconst contextMenu = (loc: Localize, path: ModelPath, mounter: Mounter) => {\n\tconst id = mounter.register(el => {\n\t\tconst openMenu = () => {\n\t\t\tconst popup = document.createElement('div')\n\t\t\tpopup.classList.add('node-menu')\n\n\t\t\tconst message = loc(path.contextPush('help').getContext().join('.'))\n\t\t\tif (!message.endsWith('.help')) {\n\t\t\t\tpopup.insertAdjacentHTML('beforeend', `${message}`)\n\t\t\t}\n\n\t\t\tconst context = path.getContext().join('.')\n\t\t\tpopup.insertAdjacentHTML('beforeend', `\n\t\t\t\t
\n\t\t\t\t\t${Octicon.clippy}\n\t\t\t\t\tContext: \n\t\t\t\t\t${context}\n\t\t\t\t
`)\n\t\t\tpopup.querySelector('.menu-item .btn')?.addEventListener('click', () => {\n\t\t\t\tconst inputEl = document.createElement('input')\n\t\t\t\tinputEl.value = context\n\t\t\t\tel.appendChild(inputEl) \n\t\t\t\tinputEl.select()\n\t\t\t\tdocument.execCommand('copy')\n\t\t\t\tel.removeChild(inputEl)\n\t\t\t})\n\n\t\t\tel.appendChild(popup)\n\t\t\tdocument.body.addEventListener('click', () => {\n\t\t\t\ttry {el.removeChild(popup)} catch (e) {}\n\t\t\t}, { capture: true, once: true })\n\t\t\tdocument.body.addEventListener('contextmenu', () => {\n\t\t\t\ttry {el.removeChild(popup)} catch (e) {}\n\t\t\t}, { capture: true, once: true })\n\t\t}\n\t\tel.addEventListener('contextmenu', evt => {\n\t\t\topenMenu()\n\t\t\tevt.preventDefault()\n\t\t})\n\t\tlet timer: any = null\n\t\tel.addEventListener('touchstart', () => {\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\topenMenu()\n\t\t\t\ttimer = null\n\t\t\t}, 800)\n\t\t})\n\t\tel.addEventListener('touchend', () => {\n\t\t\tif (timer) {\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = null\n\t\t\t}\n\t\t})\n\t})\n\treturn `data-id=\"${id}\"`\n}\n","import type { DataModel } from '@mcschema/core'\nimport { ModelPath } from '@mcschema/core'\nimport { useEffect, useRef } from 'preact/hooks'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport { Mounter } from '../schema/Mounter'\nimport { renderHtml } from '../schema/renderHtml'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\n\ntype TreePanelProps = {\n\tlang: string,\n\tversion: VersionId,\n\tmodel: DataModel | null,\n\tblockStates: BlockStateRegistry | null,\n\tonError: (message: string) => unknown,\n}\nexport function Tree({ lang, model, version, blockStates, onError }: TreePanelProps) {\n\tconst tree = useRef(null)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tif (!model || !blockStates) return\n\t\t\ttry {\n\t\t\t\tconst mounter = new Mounter()\n\t\t\t\tconst props = { loc: locale.bind(null, lang), version, mounter, blockStates }\n\t\t\t\tconst path = new ModelPath(model)\n\t\t\t\tconst rendered = model.schema.hook(renderHtml, path, model.data, props)\n\t\t\t\tconst category = model.schema.category(path)\n\t\t\t\tconst type = model.schema.type(path)\n\t\t\t\tlet html = rendered[2]\n\t\t\t\tif (rendered[1]) {\n\t\t\t\t\thtml = `
\n\t\t\t\t\t\t
${rendered[0]}${rendered[1]}
\n\t\t\t\t\t\t
${rendered[2]}
\n\t\t\t\t\t
`\n\t\t\t\t}\n\t\t\t\ttree.current.innerHTML = html\n\t\t\t\tmounter.mounted(tree.current)\n\t\t\t} catch (e) {\n\t\t\t\tonError(`Error rendering the tree: ${e.message}`)\n\t\t\t\tconsole.error(e)\n\t\t\t\ttree.current.innerHTML = ''\n\t\t\t}\n\t\t}\n\t})\n\n\tuseModel(model, () => {\n\t\tredraw.current()\n\t})\n\n\tuseEffect(() => {\n\t\tredraw.current()\n\t}, [lang, model, blockStates])\n\n\treturn
\n}\n","import { locale } from '../Locales'\n\ntype FieldSettingsProps = {\n\tlang: string,\n\tpath?: string,\n}\nexport function FieldSettings({ lang }: FieldSettingsProps) {\n\tconst loc = locale.bind(null, lang)\n\treturn
\n\t\t
\n\t\t\t

{loc('settings.fields.description')}

\n\t\t\t
    \n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n}\n","import type { CollectionRegistry, SchemaRegistry } from '@mcschema/core'\nimport { DataModel } from '@mcschema/core'\nimport * as java15 from '@mcschema/java-1.15'\nimport * as java16 from '@mcschema/java-1.16'\nimport * as java17 from '@mcschema/java-1.17'\nimport config from '../config.json'\nimport { fetchData } from './DataFetcher'\n\nexport const VersionIds = ['1.15', '1.16', '1.17'] as const\nexport type VersionId = typeof VersionIds[number]\n\nexport type BlockStateRegistry = {\n\t[block: string]: {\n\t\tproperties: {\n\t\t\t[key: string]: string[],\n\t\t},\n\t\tdefault: {\n\t\t\t[key: string]: string,\n\t\t},\n\t},\n}\n\ntype VersionData = {\n\tcollections: CollectionRegistry,\n\tschemas: SchemaRegistry,\n\tblockStates: BlockStateRegistry,\n}\nconst Versions: Record> = {}\n\ntype ModelData = {\n\tmodel: DataModel,\n\tversion: VersionId,\n}\nconst Models: Record = {}\n\nconst versionGetter: {\n\t[versionId in VersionId]: {\n\t\tgetCollections: () => CollectionRegistry,\n\t\tgetSchemas: (collections: CollectionRegistry) => SchemaRegistry,\n\t}\n} = {\n\t1.15: java15,\n\t1.16: java16,\n\t1.17: java17,\n}\n\nasync function getVersion(id: VersionId): Promise {\n\tif (!Versions[id]) {\n\t\tVersions[id] = (async () => {\n\t\t\ttry {\n\t\t\t\tconst collections = versionGetter[id].getCollections()\n\t\t\t\tconst blockStates: BlockStateRegistry = {}\n\t\t\t\tawait fetchData(id, collections, blockStates)\n\t\t\t\tconst schemas = versionGetter[id].getSchemas(collections)\n\t\t\t\tVersions[id] = { collections, schemas, blockStates }\n\t\t\t\treturn Versions[id]\n\t\t\t} catch (e) {\n\t\t\t\tthrow new Error(`Cannot get version \"${id}\": ${e.message}`)\n\t\t\t}\n\t\t})()\n\t\treturn Versions[id]\n\t}\n\treturn Versions[id]\n}\n\nexport async function getModel(version: VersionId, id: string): Promise {\n\tif (!Models[id] || Models[id].version !== version) {\n\t\tconst versionData = await getVersion(version)\n\t\tconst schemaName = config.models.find(m => m.id === id)?.schema\n\t\tif (!schemaName) {\n\t\t\tthrow new Error(`Cannot find model ${id}`)\n\t\t}\n\t\ttry {\n\t\t\tconst schema = versionData.schemas.get(schemaName)\n\t\t\tconst model = new DataModel(schema)\n\t\t\tif (Models[id]) {\n\t\t\t\tmodel.reset(Models[id].model.data, false)\n\t\t\t} else {\n\t\t\t\tmodel.validate(true)\n\t\t\t\tmodel.history = [JSON.stringify(model.data)]\n\t\t\t}\n\t\t\tModels[id] = { model, version }\n\t\t} catch (e) {\n\t\t\tthrow new Error(`Cannot get generator \"${id}\" for version \"${version}\": ${e.message}`)\n\t\t}\n\t}\n\treturn Models[id].model\n}\n\nexport async function getCollections(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.collections\n}\n\nexport async function getBlockStates(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.blockStates\n}\n\nexport function checkVersion(versionId: string, minVersionId: string | undefined, maxVersionId?: string) {\n\tconst version = config.versions.findIndex(v => v.id === versionId)\n\tconst minVersion = minVersionId ? config.versions.findIndex(v => v.id === minVersionId) : 0\n\tconst maxVersion = maxVersionId ? config.versions.findIndex(v => v.id === maxVersionId) : config.versions.length - 1\n\treturn minVersion <= version && version <= maxVersion\n}\n","import type { CollectionRegistry } from '@mcschema/core'\nimport config from '../config.json'\nimport type { BlockStateRegistry, VersionId } from './Schemas'\nimport { checkVersion } from './Schemas'\n\n['1.15', '1.16', '1.17'].forEach(v => localStorage.removeItem(`cache_${v}`))\n\nconst CACHE_NAME = 'misode-v1'\n\ntype VersionRef = 'mcdata_master' | 'vanilla_datapack_summary' | 'vanilla_datapack_data'\n\ntype Version = {\n\tid: string,\n\trefs: Partial<{ [key in VersionRef]: string }>,\n\tdynamic?: boolean,\n}\n\ndeclare var __MCDATA_MASTER_HASH__: string\ndeclare var __VANILLA_DATAPACK_SUMMARY_HASH__: string\n\nconst mcdataUrl = 'https://raw.githubusercontent.com/Arcensoth/mcdata'\nconst vanillaDatapackUrl = 'https://raw.githubusercontent.com/SPGoding/vanilla-datapack'\n\nconst refs: {\n\tid: VersionRef,\n\thash: string,\n\turl: string,\n}[] = [\n\t{\n\t\tid: 'mcdata_master',\n\t\thash: __MCDATA_MASTER_HASH__,\n\t\turl: mcdataUrl,\n\t},\n\t{\n\t\tid: 'vanilla_datapack_summary',\n\t\thash: __VANILLA_DATAPACK_SUMMARY_HASH__,\n\t\turl: vanillaDatapackUrl,\n\t},\n]\n\nexport async function fetchData(versionId: string, collectionTarget: CollectionRegistry, blockStateTarget: BlockStateRegistry) {\n\tconst version = config.versions.find(v => v.id === versionId) as Version | undefined\n\tif (!version) {\n\t\tconsole.error(`[fetchData] Unknown version ${version} in ${JSON.stringify(config.versions)}`)\n\t\treturn\n\t}\n\tconsole.debug(`[fetchData] ${JSON.stringify(version)}`)\n\n\tif (version.dynamic) {\n\t\tawait Promise.all(refs\n\t\t\t.filter(r => localStorage.getItem(`cached_${r.id}`) !== r.hash)\n\t\t\t.map(async r => {\n\t\t\t\tconsole.debug(`[deleteMatching] ${r.id} '${localStorage.getItem(`cached_${r.id}`)}' < '${r.hash}' ${r.url}/${version.refs[r.id]}`)\n\t\t\t\tawait deleteMatching(url => url.startsWith(`${r.url}/${version.refs[r.id]}`))\n\t\t\t\tconsole.debug(`[deleteMatching] Done! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`)\n\t\t\t\tlocalStorage.setItem(`cached_${r.id}`, r.hash)\n\t\t\t\tconsole.debug(`[deleteMatching] Set! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`)\n\t\t\t}))\n\t}\n\n\tawait Promise.all([\n\t\tfetchRegistries(version, collectionTarget),\n\t\tfetchBlockStateMap(version, blockStateTarget),\n\t\tfetchDynamicRegistries(version, collectionTarget),\n\t])\n}\n\nasync function fetchRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchRegistries] ${version.id}`)\n\tconst registries = config.registries\n\t\t.filter(r => !r.dynamic)\n\t\t.filter(r => checkVersion(version.id, r.minVersion, r.maxVersion))\n\n\tif (checkVersion(version.id, undefined, '1.15')) {\n\t\tconst url = `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/registries.json`\n\t\ttry {\n\t\t\tconst data = await getData(url, (data) => {\n\t\t\t\tconst res: {[id: string]: string[]} = {}\n\t\t\t\tObject.keys(data).forEach(k => {\n\t\t\t\t\tres[k.slice(10)] = Object.keys(data[k].entries)\n\t\t\t\t})\n\t\t\t\treturn res\n\t\t\t})\n\t\t\tregistries.forEach(r => {\n\t\t\t\ttarget.register(r.id, data[r.id] ?? [])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching registries:', e)\n\t\t}\n\t} else {\n\t\tawait Promise.all(registries.map(async r => {\n\t\t\ttry {\n\t\t\t\tconst url = r.path\n\t\t\t\t\t? `${mcdataUrl}/${version.refs.mcdata_master}/${r.path}/data.min.json`\n\t\t\t\t\t: `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/registries/${r.id}/data.min.json`\n\t\t\t\ttarget.register(r.id, await getData(url, v => v.values))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(`Error occurred while fetching registry ${r.id}:`, e)\n\t\t\t}\n\t\t}))\n\t}\n}\n\nasync function fetchBlockStateMap(version: Version, target: BlockStateRegistry) {\n\tconsole.debug(`[fetchBlockStateMap] ${version.id}`)\n\tif (checkVersion(version.id, undefined, '1.16')) {\n\t\tconst url = (checkVersion(version.id, undefined, '1.15'))\n\t\t\t? `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/blocks.json`\n\t\t\t: `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/data.min.json`\n\n\t\ttry {\n\t\t\tconst data = await getData(url, (data) => {\n\t\t\t\tconst res: BlockStateRegistry = {}\n\t\t\t\tObject.keys(data).forEach(b => {\n\t\t\t\t\tres[b] = {\n\t\t\t\t\t\tproperties: data[b].properties,\n\t\t\t\t\t\tdefault: data[b].states.find((s: any) => s.default).properties,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn res\n\t\t\t})\n\t\t\tObject.assign(target, data)\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching block state map:', e)\n\t\t}\n\t} else {\n\t\tconst url = `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`\n\t\ttry {\n\t\t\tconst data = await getData(url)\n\t\t\tObject.assign(target, data)\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching block state map:', e)\n\t\t}\n\t}\n}\n\nasync function fetchDynamicRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchDynamicRegistries] ${version.id}`)\n\tconst registries = config.registries\n\t\t.filter(r => r.dynamic)\n\t\t.filter(r => checkVersion(version.id, r.minVersion, r.maxVersion))\n\n\tif (checkVersion(version.id, '1.16')) {\n\t\tconst url = `${vanillaDatapackUrl}/${version.refs.vanilla_datapack_summary}/summary/flattened.min.json`\n\t\ttry {\n\t\t\tconst data = await getData(url)\n\t\t\tregistries.forEach(r => {\n\t\t\t\ttarget.register(r.id, data[r.id])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching dynamic registries:', e)\n\t\t}\n\t}\n}\n\nexport async function fetchPreset(version: VersionId, registry: string, id: string) {\n\tconsole.debug(`[fetchPreset] ${id} ${registry} ${id}`)\n\tconst versionData = config.versions.find(v => v.id === version)!\n\ttry {\n\t\tconst res = await fetch(`${vanillaDatapackUrl}/${versionData.refs.vanilla_datapack_data}/data/minecraft/${registry}/${id}.json`)\n\t\treturn await res.json()\n\t} catch (e) {\n\t\tconsole.warn(`Error occurred while fetching ${registry} preset ${id}:`, e)\n\t}\n}\n\nasync function getData(url: string, fn: (v: any) => T = (v: any) => v): Promise {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[getData] Opened cache ${CACHE_NAME} ${url}`)\n\t\tconst cacheResponse = await cache.match(url)\n \n\t\tif (cacheResponse && cacheResponse.ok) {\n\t\t\tconsole.debug(`[getData] Retrieving cached data ${url}`)\n\t\t\treturn await cacheResponse.json()\n\t\t}\n \n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\tawait cache.put(url, new Response(JSON.stringify(responseData)))\n\t\treturn responseData\n\t} catch (e) {\n\t\tconsole.warn(`[getData] Failed to open cache ${CACHE_NAME}: ${e.message}`)\n\n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\treturn responseData\n\t}\n}\n\nasync function deleteMatching(matches: (url: string) => boolean) {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[deleteMatching] Opened cache ${CACHE_NAME}`)\n\t\tconst promises: Promise[] = []\n \n\t\tfor (const request of await cache.keys()) {\n\t\t\tif (matches(request.url)) {\n\t\t\t\tpromises.push(cache.delete(request))\n\t\t\t}\n\t\t}\n\t\tconsole.debug(`[deleteMatching] Removing ${promises.length} cache objects...`)\n\t\tawait Promise.all(promises)\n\t} catch (e) {\n\t\tconsole.warn(`[deleteMatching] Failed to open cache ${CACHE_NAME}: ${e.message}`)\n\t}\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useErrorBoundary, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Analytics } from '../Analytics'\nimport { Ad, Btn, BtnInput, BtnMenu, ErrorPanel, HasPreview, Octicon, PreviewPanel, SourcePanel, Tree } from '../components'\nimport { fetchPreset } from '../DataFetcher'\nimport { locale } from '../Locales'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\nimport { checkVersion, getBlockStates, getCollections, getModel } from '../Schemas'\n\ntype GeneratorProps = {\n\tlang: string,\n\tchangeTitle: (title: string, versions?: string[]) => unknown,\n\tversion: VersionId,\n\tonChangeVersion: (version: VersionId) => unknown,\n\tgenerator?: string,\n\tpath?: string,\n\tcategory?: string,\n}\nexport function Generator({ lang, changeTitle, version, onChangeVersion, category, generator }: GeneratorProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst [error, setError] = useState('')\n\tconst [errorBoundary] = useErrorBoundary()\n\tif (errorBoundary) {\n\t\treturn
\n\t}\n\n\tconst id = category ? `${category}/${generator}` : generator ?? ''\n\tconst modelConfig = config.models.find(m => m.id === id)\n\n\tif (!modelConfig) {\n\t\treturn
\n\t}\n\n\tconst minVersion = config.models.find(m => m.id === id)?.minVersion ?? '1.15'\n\tconst allowedVersions = config.versions\n\t\t.filter(v => checkVersion(v.id, minVersion))\n\t\t.map(v => v.id as VersionId)\n\n\tchangeTitle(loc('title.generator', loc(id)), allowedVersions)\n\n\tconst [model, setModel] = useState(null)\n\tconst [blockStates, setBlockStates] = useState(null)\n\tuseEffect(() => {\n\t\tsetModel(null)\n\t\tgetBlockStates(version)\n\t\t\t.then(b => setBlockStates(b))\n\t\tgetModel(version, id)\n\t\t\t.then(m => setModel(m))\n\t\t\t.catch(e => setError(e.message))\n\t}, [version, category, generator])\n\n\tconst reset = () => {\n\t\tAnalytics.generatorEvent('reset')\n\t\tmodel?.reset(model.schema.default(), true)\n\t}\n\tconst undo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.generatorEvent('undo', 'Menu')\n\t\tmodel?.undo()\n\t}\n\tconst redo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.generatorEvent('redo', 'Menu')\n\t\tmodel?.redo()\n\t}\n\n\tconst onKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 'z') {\n\t\t\tAnalytics.generatorEvent('undo', 'Hotkey')\n\t\t\tmodel?.undo()\n\t\t} else if (e.ctrlKey && e.key === 'y') {\n\t\t\tAnalytics.generatorEvent('redo', 'Hotkey')\n\t\t\tmodel?.redo()\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tdocument.addEventListener('keyup', onKeyUp)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keyup', onKeyUp)\n\t\t}\n\t}, [model])\n\n\tconst [presetFilter, setPresetFilter] = useState('')\n\tconst [presetResults, setPresetResults] = useState([])\n\tconst registry = (modelConfig.category ? modelConfig.category + '/' : '') + modelConfig.schema\n\tuseEffect(() => {\n\t\tif (!modelConfig.path) return\n\t\tgetCollections(version)\n\t\t\t.then(collections => {\n\t\t\t\tconst terms = (presetFilter ?? '').trim().split(' ')\n\t\t\t\tconst presets = collections.get(registry)\n\t\t\t\t\t.map(p => p.slice(10))\n\t\t\t\t\t.filter(p => terms.every(t => p.includes(t)))\n\t\t\t\tif (presets) {\n\t\t\t\t\tsetPresetResults(presets)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(e => setError(e.message))\n\t}, [version, category, generator, presetFilter])\n\n\tconst loadPreset = (id: string) => {\n\t\tAnalytics.generatorEvent('load-preset', id)\n\t\tfetchPreset(version, modelConfig.path!, id).then(preset => {\n\t\t\tmodel?.reset(preset, false)\n\t\t})\n\t}\n\n\tconst [sourceShown, setSourceShown] = useState(window.innerWidth > 820)\n\tconst [doCopy, setCopy] = useState(0)\n\tconst [doDownload, setDownload] = useState(0)\n\tconst [doImport, setImport] = useState(0)\n\n\tconst copySource = () => {\n\t\tAnalytics.generatorEvent('copy')\n\t\tsetCopy(doCopy + 1)\n\t}\n\tconst downloadSource = () => {\n\t\tAnalytics.generatorEvent('download')\n\t\tsetDownload(doDownload + 1)\n\t}\n\tconst importSource = () => {\n\t\tAnalytics.generatorEvent('import')\n\t\tsetSourceShown(true)\n\t\tsetImport(doImport + 1)\n\t}\n\tconst toggleSource = () => {\n\t\tAnalytics.generatorEvent('toggle-output', !sourceShown ? 'visible' : 'hidden')\n\t\tsetSourceShown(!sourceShown)\n\t\tsetCopy(0)\n\t\tsetDownload(0)\n\t\tsetImport(0)\n\t}\n\n\tconst [previewShown, setPreviewShown] = useState(false)\n\n\tconst hasPreview = HasPreview.includes(id)\n\tlet actionsShown = 1\n\tif (hasPreview) actionsShown += 1\n\tif (sourceShown) actionsShown += 2\n\n\tconst togglePreview = () => {\n\t\tAnalytics.generatorEvent('toggle-preview', !previewShown ? 'visible' : 'hidden')\n\t\tsetPreviewShown(!previewShown)\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{modelConfig.path && \n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{presetResults.map(preset => loadPreset(preset)} />)}\n\t\t\t\t\t
\n\t\t\t\t\t{presetResults.length === 0 && }\n\t\t\t\t
}\n\t\t\t\t\n\t\t\t\t\t{allowedVersions.reverse().map(v =>\n\t\t\t\t\t\t onChangeVersion(v)} />\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{error && }\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{previewShown ? Octicon.x_circle : Octicon.play}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{Octicon.download}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{Octicon.clippy}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{sourceShown ? Octicon.chevron_right : Octicon.code}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\n}\n","import { Link } from 'preact-router'\nimport config from '../../config.json'\nimport { Octicon } from '../components/Octicon'\nimport { locale } from '../Locales'\nimport { cleanUrl } from '../Utils'\n\ntype HomeProps = {\n\tlang: string,\n\tchangeTitle: (title: string) => unknown,\n\tpath?: string,\n\tcategory?: string,\n}\nexport function Home({ lang, changeTitle, category }: HomeProps) {\n\tconst loc = locale.bind(null, lang)\n\tchangeTitle(category ? loc('title.generator_category', loc(category)) : loc('title.home'))\n\treturn
\n\t\t
\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t{config.models.filter(m => typeof m.category !== 'string').map(m =>
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{loc(m.id)}\n\t\t\t\t\t\t\t{m.category && Octicon.chevron_right}\n\t\t\t\t\t\t\n\t\t\t\t\t
  • )}\n\t\t\t\t
\n\t\t\t\t{(category && config.models.some(m => m.category === category)) &&\n\t\t\t\t
    \n\t\t\t\t\t{config.models.filter(m => m.category === category).map(m =>
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{loc(m.id)}\n\t\t\t\t\t\t\n\t\t\t\t\t
  • )}\n\t\t\t\t
}\n\t\t\t
\n\t\t
\n\t
\n}\n","import type { VersionId } from './Schemas'\nimport { VersionIds } from './Schemas'\n\nexport namespace Store {\n\texport const ID_LANGUAGE = 'language'\n\texport const ID_THEME = 'theme'\n\texport const ID_VERSION = 'schema_version'\n\n\texport function getLanguage() {\n\t\treturn localStorage.getItem(ID_LANGUAGE) ?? 'en'\n\t}\n\n\texport function getTheme() {\n\t\treturn localStorage.getItem(ID_THEME) ?? 'dark'\n\t}\n\n\texport function getVersion(): VersionId {\n\t\tconst version = localStorage.getItem(ID_VERSION)\n\t\tif (version && VersionIds.includes(version as VersionId)) {\n\t\t\treturn version as VersionId\n\t\t}\n\t\treturn '1.17'\n\t}\n\n\texport function setLanguage(language: string | undefined) {\n\t\tif (language) localStorage.setItem(ID_LANGUAGE, language)\n\t}\n\n\texport function setTheme(theme: string | undefined) {\n\t\tif (theme) localStorage.setItem(ID_THEME, theme)\n\t}\n\n\texport function setVersion(version: VersionId | undefined) {\n\t\tif (version) localStorage.setItem(ID_VERSION, version)\n\t}\n}\n","import { render } from 'preact'\nimport type { RouterOnChangeArgs } from 'preact-router'\nimport { Router } from 'preact-router'\nimport { useEffect, useState } from 'preact/hooks'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { Analytics } from './Analytics'\nimport { Header } from './components'\nimport { loadLocale, locale, Locales } from './Locales'\nimport { FieldSettings } from './pages/FieldSettings'\nimport { Generator } from './pages/Generator'\nimport { Home } from './pages/Home'\nimport type { VersionId } from './Schemas'\nimport { Store } from './Store'\nimport { cleanUrl } from './Utils'\n\nfunction Main() {\n\tconst [lang, setLanguage] = useState('en')\n\tconst changeLanguage = async (language: string) => {\n\t\tif (!Locales[language]) {\n\t\t\tawait loadLocale(language)\n\t\t}\n\t\tAnalytics.setLanguage(language)\n\t\tStore.setLanguage(language)\n\t\tsetLanguage(language)\n\t}\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst target = Store.getLanguage()\n\t\t\tawait Promise.all([\n\t\t\t\tloadLocale('en'),\n\t\t\t\t...(target !== 'en' ? [loadLocale(target)] : []),\n\t\t\t])\n\t\t\tsetLanguage(target)\n\t\t})()\n\t}, [])\n\n\tconst [theme, setTheme] = useState(Store.getTheme())\n\tconst changeTheme = (theme: string) => {\n\t\tAnalytics.setTheme(theme)\n\t\tStore.setTheme(theme)\n\t\tsetTheme(theme)\n\t}\n\tuseEffect(() => {\n\t\tdocument.documentElement.setAttribute('data-theme', theme)\n\t}, [theme])\n\n\tconst [version, setVersion] = useState(Store.getVersion())\n\tconst changeVersion = (version: VersionId) => {\n\t\tAnalytics.setVersion(version)\n\t\tStore.setVersion(version)\n\t\tsetVersion(version)\n\t}\n\n\tconst [title, setTitle] = useState(locale(lang, 'title.home'))\n\tconst changeTitle = (title: string, versions = ['1.15', '1.16', '1.17']) => {\n\t\tdocument.title = `${title} Minecraft ${versions.join(', ')}`\n\t\tsetTitle(title)\n\t}\n\n\tconst changeRoute = (e: RouterOnChangeArgs) => {\n\t\t// Needs a timeout to ensure the title is set correctly\n\t\tsetTimeout(() => Analytics.pageview(cleanUrl(e.url)))\n\t}\n\n\treturn <>\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n}\n\nrender(
, document.body)\n"],"names":["Analytics","type","id","getElementById","remove","window","load","data-ea-publisher","data-ea-type","class","icon","label","active","class_","onClick","Octicon","large","doSelect","value","onChange","onKeyUp","e","value2","target","endsWith","isNaN","Number","ref","useRef","current","select","stopPropagation","relative","children","setActive","useState","hider","body","addEventListener","removeEventListener","Btn","error2","href","Analytics2","ID_SITE","ID_GENERATOR","category","action","index","pageview","page","setLanguage","language","setTheme","theme","setVersion","version","setPreview","preview","generatorEvent","scriptRel","seen","__vitePreload","baseModule","deps","relList","document","createElement","supports","Promise","all","map","dep","isCss","cssSelector","querySelector","link","rel","as","crossOrigin","head","appendChild","res","rej","then","Locales","fallback","English","key","params","replace","parseInt","match","slice","resolveLocaleParams","en","langConfig","config","languages","find","lang","code","data","__variableDynamicImportRuntime0__","schema","schemas","__variableDynamicImportRuntime1__","__spreadValues","default","Themes","system","dark","light","title","changeTheme","changeLanguage","loc","locale","bind","Link","getCurrentUrl","three_bars","BtnMenu","name","Object","entries","th","mark_github","archive","xmlns","viewBox","width","height","fill-rule","d","arrow_left","arrow_right","chevron_right","clippy","dash","device_desktop","download","eye","eye_closed","gear","globe","history","kebab_horizontal","moon","play","plus","search","sun","sync","tag","unfold","upload","x_circle","model","invalidated","listener","[object Object]","addListener","removeListener","element","drag","request","dragStart","pending","onMouseDown","offsetX","offsetY","onMouseMove","dx","dy","requestAnimationFrame","onMouseUp","_e","dec2hex","dec","toString","substr","length","arr","Uint8Array","crypto","getRandomValues","Array","from","join","str","url","replaceAll","h","Math","abs","s2","i","imul","charCodeAt","hashString","a2","b","c","max","min","lerp","f","x","random","xo","yo","zo","p","n","int32","this","y2","z","x2","y22","z2","x3","floor","y3","z3","x4","y4","z4","x5","smoothstep","y5","z5","y6","sampleAndLerp","grad","_ImprovedNoise","GRADIENT","g","j","P","k","l2","m","o","lerp2","lerp3","gradDot","ImprovedNoise","seed","firstOctave","amplitudes","noiseLevels","seedrandom","lowestFreqInputFactor","pow","lowestFreqValueFactor","PerlinNoise","fill","fixY","inputF","valueF","noise","wrap","first","second","Infinity","expectedDeviation","valueFactor","getValue","NoiseMaps","state","img","options","config2","NormalNoise","biomeColorCache","biomes","forEach","biome","getBiomeColor","biomeColors","ox","offset","oy","row","col","xx","scale","yy","closestBiome","color","multiNoise","fixed","shift","numBiomes","checkerboard","VanillaColors","stringToColor","isArray","n2","minDist","minBiome","dist","fitness","parameters","altitude","temperature","humidity","weirdness","minecraft:badlands","minecraft:badlands_plateau","minecraft:bamboo_jungle","minecraft:bamboo_jungle_hills","minecraft:basalt_deltas","minecraft:beach","minecraft:birch_forest","minecraft:birch_forest_hills","minecraft:cold_ocean","minecraft:crimson_forest","minecraft:dark_forest","minecraft:dark_forest_hills","minecraft:deep_cold_ocean","minecraft:deep_frozen_ocean","minecraft:deep_lukewarm_ocean","minecraft:deep_ocean","minecraft:deep_warm_ocean","minecraft:desert","minecraft:desert_hills","minecraft:desert_lakes","minecraft:end_barrens","minecraft:end_highlands","minecraft:end_midlands","minecraft:eroded_badlands","minecraft:flower_forest","minecraft:forest","minecraft:frozen_ocean","minecraft:frozen_river","minecraft:giant_spruce_taiga","minecraft:giant_spruce_taiga_hills","minecraft:giant_tree_taiga","minecraft:giant_tree_taiga_hills","minecraft:gravelly_mountains","minecraft:ice_spikes","minecraft:jungle","minecraft:jungle_edge","minecraft:jungle_hills","minecraft:lukewarm_ocean","minecraft:modified_badlands_plateau","minecraft:modified_gravelly_mountains","minecraft:modified_jungle","minecraft:modified_jungle_edge","minecraft:modified_wooded_badlands_plateau","minecraft:mountain_edge","minecraft:mountains","minecraft:mushroom_field_shore","minecraft:mushroom_fields","minecraft:nether_wastes","minecraft:ocean","minecraft:plains","minecraft:river","minecraft:savanna","minecraft:savanna_plateau","minecraft:shattered_savanna","minecraft:shattered_savanna_plateau","minecraft:small_end_islands","minecraft:snowy_beach","minecraft:snowy_mountains","minecraft:snowy_taiga","minecraft:snowy_taiga_hills","minecraft:snowy_taiga_mountains","minecraft:snowy_tundra","minecraft:soul_sand_valley","minecraft:stone_shore","minecraft:sunflower_plains","minecraft:swamp","minecraft:swamp_hills","minecraft:taiga","minecraft:taiga_hills","minecraft:taiga_mountains","minecraft:tall_birch_forest","minecraft:tall_birch_hills","minecraft:the_end","minecraft:the_void","minecraft:warm_ocean","minecraft:warped_forest","minecraft:wooded_badlands_plateau","minecraft:wooded_hills","minecraft:wooded_mountains","terrain","featureColors","startsWith","pos","ctx","base","nextInt","spread","normalize","min_inclusive","max_inclusive","sampleInt","source","features","indexOf","push","feature","placements","useFeature","featureFn","Features","JSON","stringify","decorator2","decoratorFn","Decorators","decorated","getPositions","decorator","getPlacements","random_boolean_selector","feature_true","feature_false","random_selector","chance","simple_random_selector","count","count_extra","extra_chance","extra_count","count_multilayer","count_noise","biomeInfoNoise","noise_level","below_noise","above_noise","count_noise_biased","factor","noise_factor","ceil","noise_offset","noise_to_count_ratio","dark_oak_tree","_config","_","seaLevel","clamp","outer","flatMap","inner","depth_average","decorateY","baseline","emerald_ore","fire","glowstone","heightmap","heightmap_spread_double","heightmap_world_surface","iceberg","lava_lake","nope","range","maximum","top_offset","bottom_offset","range_biased","range_very_biased","spread_32_above","top_solid_heightmap","magma","square","water_lake","minLimitPerlinNoise","fromRange","maxLimitPerlinNoise","mainPerlinNoise","depthNoise","settings","depth","xOffset","chunkWidth","size_horizontal","chunkHeight","size_vertical","chunkCountY","amplified","biomeDepth","biomeScale","noiseColumnCache","cx","noise1","fillNoiseColumn","noise2","cachedColumn","xzScale","sampling","xz_scale","yScale","y_scale","xzFactor","xz_factor","yFactor","y_factor","randomDensity","random_density_offset","getRandomDensity","sampleAndClampNoise","getOctaveNoise","falloff","density_factor","density_offset","top_slide","size","clampedLerp","bottom_slide","minLimitNoise","maxLimitNoise","mainNoise","HasPreview","Previews","generator","path","Path","predicate","get","shown","setScale","setSeed","hexId","focused","setFocused","canvas","redrawTimeout","redraw","refocus","getContext","createImageData","putImageData","setTimeout","clientWidth","clientHeight","toWorld","getBiome","hover","onMouseLeave","changeScale","newScale","setBiomeDepth","setBiomeScale","NoiseChunkGenerator","reset","iterateNoiseColumn","reverse","getColor","BtnInput","v","setCount","filter","transformOutput","switchNode","props","hook","obj","blockState","validation","validator","blockStates","relativePath","keys","properties","includes","getActiveFields","activeFields","enabled","doCopy","doDownload","doImport","onError","model2","ModelPath","message","error","execCommand","content","encodeURIComponent","setAttribute","click","parse","spellcheck","autocorrect","placeholder","style","callback","registry","register","el","on","querySelectorAll","el2","getAttribute","info","issue_opened","plus_circle","trashcan","selectRegistries","hiddenFields","flattenedFields","inlineFields","keysModel","DataModel","MapNode","StringNode","historyMax","renderHtml","node","onFalse","mounter","set","optional","onTrue","htmlEncode","choices","choice","activeCase","pathWithContext","context","getModel","getArray","pathWithChoiceContext","choiceContext","prefix","suffix","c2","change","pathLocale","contextPush","onAdd","onAddBottom","childValue","removeId","childPath","cPrefix","cSuffix","cBody","help","contextMenu","keyPath","enum","last","values","errors","add","ObjectNode","fromEntries","onRemove","modelPush","childrenSchema","integer","parsed","parseFloat","padStart","getChildModelPath","field","isFlattened","isInlined","getValues","inputId","newValue","isEnum","additional","pool","datalistId","hash","result","popupIcon","popup","getElementsByTagName","classList","capture","once","openMenu","insertAdjacentHTML","inputEl","removeChild","preventDefault","timer","tree","Mounter","rendered","html","innerHTML","mounted","VersionIds","Versions","Models","versionGetter","1.15","java15","1.16","java16","1.17","java17","async","collections","getCollections","versionId","collectionTarget","blockStateTarget","versions","debug","dynamic","refs","localStorage","getItem","r","matches","cache","caches","open","promises","delete","warn","deleteMatching","setItem","fetchRegistries","fetchBlockStateMap","fetchDynamicRegistries","fetchData","getSchemas","Error","minVersionId","maxVersionId","findIndex","minVersion","maxVersion","removeItem","mcdataUrl","vanillaDatapackUrl","registries","checkVersion","mcdata_master","getData","data2","states","assign","vanilla_datapack_summary","fn","cacheResponse","ok","json","fetchResponse","fetch","responseData","put","Response","changeTitle","onChangeVersion","setError","errorBoundary","useErrorBoundary","ErrorPanel","modelConfig","models","allowedVersions","setModel","setBlockStates","getVersion","versionData","schemaName","validate","catch","ctrlKey","undo","redo","presetFilter","setPresetFilter","presetResults","setPresetResults","terms","trim","split","presets","every","t","loadPreset","id2","vanilla_datapack_data","preset","sourceShown","setSourceShown","innerWidth","setCopy","setDownload","setImport","previewShown","setPreviewShown","hasPreview","actionsShown","Ad","Tree","__spreadProps","PreviewPanel","SourcePanel","cleanUrl","some","Store","Store2","getLanguage","loadLocale","getTheme","documentElement","changeVersion","version2","setTitle","title2","Header","theme2","Router","Home","FieldSettings","Generator","render","Main"],"mappings":"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"} \ No newline at end of file diff --git a/assets/index.aad4924e.css b/assets/index.aad4924e.css new file mode 100644 index 00000000..265142d4 --- /dev/null +++ b/assets/index.aad4924e.css @@ -0,0 +1 @@ +:root{--background-1:#1b1b1b;--background-2:#252525;--background-3:#3d3d3d;--background-4:#464646;--text-1:#ffffff;--text-2:#dcdcdc;--text-3:#c3c3c3;--accent-blue:#50baf9;--accent-red:#f1453f;--nav:#91908f;--nav-hover:#b4b3b0;--nav-faded:#4d4c4c;--nav-faded-hover:#6e6e6e;--selection:#6786dd99;--errors-background:#62190f;--errors-text:#ffffffcc}:root[data-theme=light]{--background-1:#fafafa;--background-2:#e2e2e2;--background-3:#cccccc;--background-4:#d6d6d6;--text-1:#000000;--text-2:#505050;--text-3:#6a6a6a;--accent-blue:#088cdb;--accent-red:#cc312c;--nav:#343a40;--nav-hover:#565d64;--nav-faded:#9fa2a7;--nav-faded-hover:#bcbfc3;--selection:#6786dd99;--errors-background:#f66653;--errors-text:#000000cc}@media (prefers-color-scheme:light){:root[data-theme=system]{--background-1:#fafafa;--background-2:#e2e2e2;--background-3:#cccccc;--background-4:#d6d6d6;--text-1:#000000;--text-2:#505050;--text-3:#6a6a6a;--accent-blue:#088cdb;--accent-red:#cc312c;--nav:#343a40;--nav-hover:#565d64;--nav-faded:#9fa2a7;--nav-faded-hover:#bcbfc3;--selection:#6786dd99;--errors-background:#f66653;--errors-text:#000000cc}}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:var(--selection)}a svg{pointer-events:none}body{font-size:18px;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;background-color:var(--background-1)}header{display:flex;justify-content:space-between;align-items:center;padding:10px;width:100%;height:56px;z-index:5;position:fixed;box-shadow:0 0 9px -3px #000;background-color:var(--background-2)}body[data-panel=home] header,body[data-panel=settings] header{position:fixed}.header-title{display:flex;align-items:center}.header-title h2{color:var(--nav)}.home-link{margin:0 8px 0 0;height:32px;fill:var(--nav)}.home-link svg{width:32px;height:32px;padding:2px}nav ul{display:flex;align-items:center}nav li{display:flex;align-items:center;cursor:pointer;margin:0 16px;fill:var(--nav);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.home-link:hover svg{fill:var(--nav-hover)}nav li.dimmed svg{fill:var(--nav-faded)}nav li.dimmed:hover svg{fill:var(--nav-faded-hover)}nav li svg,nav li>*{width:24px;height:24px}nav li .btn-menu>.btn{background:0 0!important;padding:0;box-shadow:none;fill:var(--nav)}nav li .btn-menu>.btn:hover{fill:var(--nav-hover)}main{padding-top:68px;color:var(--text-1);fill:var(--text-1);transition:padding .3s}.controls{display:flex;justify-content:flex-end;position:fixed;top:12px;right:16px;z-index:1;pointer-events:none}main>.controls{position:sticky;margin-right:16px;right:16px;top:68px}.controls>*{pointer-events:all}.controls>:not(:last-child){margin-right:8px}.tree{margin-top:-36px;overflow-x:auto;padding:4px 16px 50vh}.popup-source{position:fixed;display:flex;flex-direction:column;width:40vw;left:100%;bottom:0;z-index:1;transition:transform .3s;border-radius:6px 0 0 0}.popup-source.shown{transform:translateX(-100%)}.source{width:100%;height:40vh;max-height:50vh;padding:12px;border:none;font-family:Consolas,monospace;font-size:14px;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:4;-moz-tab-size:4;-o-tab-size:4;-webkit-tab-size:4;outline:0;resize:none;position:static;background-color:var(--background-2);border-top-left-radius:6px;color:var(--text-1);box-shadow:0 0 7px -3px #000}.popup-preview{position:fixed;display:flex;flex-direction:column;height:calc(100% - 56px);width:40vw;left:100%;bottom:0;z-index:1;background-color:var(--background-2);box-shadow:0 0 7px -3px #000;transition:transform .3s}main.has-preview{padding-right:40vw}.popup-preview.shown{transform:translateX(-100%)}.popup-preview canvas{width:100%;background-color:var(--nav-faded);display:block;cursor:crosshair;image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn{display:flex;align-items:center;border:none;height:32px;border-radius:6px;padding:7px 11px;cursor:pointer;outline:0;font-size:1rem;white-space:nowrap;background-color:var(--background-3);box-shadow:0 1px 7px -2px #000;color:var(--text-2);fill:var(--text-2);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn.active{color:var(--accent-blue);fill:var(--accent-blue)}.btn:not(.btn-input):hover{background-color:var(--background-4)}.btn.no-pointer{pointer-events:none}.btn svg:not(:last-child){margin-right:5px}.btn-menu:not(.no-relative){position:relative}.btn-menu>.btn{height:100%}.btn-menu .btn-group{display:flex;flex-direction:column;position:absolute;right:0;top:100%;margin-top:8px}.btn-group{border-radius:6px;box-shadow:0 0 7px -2px #000}.btn-group .btn{box-shadow:none}.btn-group .btn:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:first-child),.btn-menu .result-list .btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-input{cursor:initial;padding-right:7px}.btn-input input{background:var(--background-1);color:var(--text-1);font-size:17px;border:none;padding:0 3px;margin-left:5px;width:100px}.btn-input.large-input{padding:5px;padding-left:11px}.btn-input.large-input input{width:100%;height:100%}.btn-menu .result-list{display:block;width:380px;height:unset;overflow-y:auto;overflow-x:hidden;max-height:240px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.popup-actions{display:flex;position:fixed;bottom:8px;left:100%;z-index:5;padding:0 8px;border-top-left-radius:24px;border-bottom-left-radius:24px;background-color:var(--background-3);box-shadow:0 0 7px -3px #000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transform:translateX(var(--offset));transition:padding .1s,transform .3s}.popup-actions:hover{background-color:var(--background-4)}.popup-action{padding:12px;fill:var(--text-2);cursor:pointer}.popup-action:not(.shown){pointer-events:none;order:1;visibility:hidden}.popup-action>svg{display:block;width:24px;height:24px}.popup-action.action-preview{fill:var(--accent-blue)}.error{padding:5px 14px;margin:12px 16px;color:var(--text-1);background-color:var(--errors-background);border-radius:3px}.error>*{margin:10px 0}.error a{color:var(--text-1)}.home{padding:16px}.generator-picker{display:flex}.home.center{flex-direction:column;align-items:center;color:var(--nav)}.home.center p{padding-bottom:20px;text-align:center;font-size:20px}.generators-list{display:flex;flex-direction:column;list-style-type:none}.generators-list:not(:last-child){margin-right:20px}.generators-card{margin-bottom:10px;padding:8px 15px;cursor:pointer;text-decoration:none;text-transform:capitalize;border-radius:3px;background-color:var(--nav-faded);color:var(--text-1);fill:var(--text-1);display:flex;align-items:center;justify-content:space-between;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transition:margin .2s}.generators-card *{pointer-events:none}.generators-card.selected,.generators-card:hover{background-color:var(--nav-faded-hover);margin-left:8px;margin-right:-8px}.generators-card svg{margin-left:10px}.settings{padding:20px}.settings p{color:var(--nav);padding:8px;border-bottom:2px solid var(--background-3)}.field-list{width:100%;border-collapse:collapse;list-style-type:none}.field-list li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--background-3)}.field-prop{display:inline-flex;align-items:center;max-width:100%;margin:4px}.field-prop>input,.field-prop>label{height:34px;color:var(--text-1);margin-right:-1px;border:1px solid;border-color:var(--nav-faded-hover)}.field-prop label{padding:0 9px;line-height:1.94rem;background-color:var(--node-background-label);white-space:nowrap;border-top-left-radius:3px;border-bottom-left-radius:3px}.field-prop input{width:100%;line-height:1.6rem;background-color:var(--node-background-input);color:var(--text-1);padding-left:9px;font-size:18px;border-top-right-radius:3px;border-bottom-right-radius:3px}.field-prop svg{padding:4px;margin:0 4px;height:28px;width:28px;fill:var(--nav);cursor:pointer}.field-prop .hidden svg{fill:#be4b2e}.field-prop .dimmed svg{fill:var(--nav-faded)}.very-large{font-size:80px;font-weight:100}[data-ea-publisher]{margin:0 16px 8px}.ea-content{margin:0!important;background:var(--background-2)!important}.ea-content span{color:var(--text-2)!important}.ea-content strong{color:var(--accent-blue)!important}.ea-callout{margin:.25rem 0!important;padding:0!important}.ea-callout a{color:var(--text-3)!important}@keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fadein{from{opacity:0}to{opacity:1}}@media screen and (max-width:1300px){main.has-preview .tree{margin-top:8px}}@media screen and (max-width:800px){main .tree{margin-top:4px!important}}@media screen and (max-width:580px){.header-title h2{font-size:22px}body nav li{margin:0 8px}main.has-preview{padding-right:0}main .controls{top:64px}.tree{padding-left:8px;padding-right:8px}.popup-source{width:100vw}.source{border-radius:0}.popup-preview{width:100vw;height:unset;bottom:0;background-color:transparent;box-shadow:none}.popup-preview canvas{margin-top:8px}.btn-menu .result-list,.btn.btn.large-input{width:calc(100vw - 10px)}.generator-picker{justify-content:center}.field-list li{flex-direction:column}.field-prop{width:100%}.field-prop input{width:100%}}:root{--node-border:#4e4e4e;--node-background-label:#1b1b1b;--node-background-input:#272727;--node-text:#dadada;--node-selected:#ad9715;--node-selected-border:#8d7a0d;--node-add:#487c13;--node-add-border:#3b6e0c;--node-remove:#9b341b;--node-remove-border:#7e1d05;--node-indent-border:#454749;--node-popup-background:#0a0a0ae6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#306163;--category-predicate-border:#224849;--category-predicate-background:#1d3333;--category-function:#838383;--category-function-border:#6b6b6b;--category-function-background:#414141;--category-pool:#386330;--category-pool-border:#2e4922;--category-pool-background:#21331d}:root[data-theme=light]{--node-border:#bcbfc3;--node-background-label:#e4e4e4;--node-background-input:#ffffff;--node-text:#000000;--node-selected:#f0e65e;--node-selected-border:#b9a327;--node-add:#9bd464;--node-add-border:#498d09;--node-remove:#e76f51;--node-remove-border:#be4b2e;--node-indent-border:#b9b9b9;--node-popup-background:#1f2020e6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#65b5b8;--category-predicate-border:#187e81;--category-predicate-background:#95c5c7;--category-function:#979fa7;--category-function-border:#788086;--category-function-background:#dce0e4;--category-pool:#76b865;--category-pool-border:#398118;--category-pool-background:#b1d6a6}@media (prefers-color-scheme:light){:root[data-theme=system]{--node-border:#bcbfc3;--node-background-label:#e4e4e4;--node-background-input:#ffffff;--node-text:#000000;--node-selected:#f0e65e;--node-selected-border:#b9a327;--node-add:#9bd464;--node-add-border:#498d09;--node-remove:#e76f51;--node-remove-border:#be4b2e;--node-indent-border:#b9b9b9;--node-popup-background:#1f2020e6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#65b5b8;--category-predicate-border:#187e81;--category-predicate-background:#95c5c7;--category-function:#979fa7;--category-function-border:#788086;--category-function-background:#dce0e4;--category-pool:#76b865;--category-pool-border:#398118;--category-pool-background:#b1d6a6}}.node-header{display:inline-flex;position:relative;align-items:center;width:100%}.node-header>*{height:34px;border:1px solid;color:var(--node-text);border-color:var(--node-border)}.node-header>label{padding:0 9px;line-height:1.94rem;white-space:nowrap;user-select:none;background-color:var(--node-background-label)}.node-header>input{font-size:18px;padding-left:9px;background-color:var(--node-background-input)}.node-header>input[type=color]{padding:0 2px}.node-header>datalist,.node-header>select{font-size:18px;padding-left:6px;background-color:var(--node-background-input)}.node-header>button{font-size:18px;padding:0 9px;line-height:1.94rem;white-space:nowrap;user-select:none;cursor:pointer;background-color:var(--node-background-input)}.object-node>.node-header>.collapse{cursor:pointer}.node-error~input:last-child,.node-error~input[list]:nth-last-child(2),.node-error~select:last-child{border-color:var(--node-remove)!important}.node-header>.node-icon{order:1}.node-header>.node-icon+*,.node-header>:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.node-header>:last-child,.node-header>input[list]:nth-last-child(2){border-top-right-radius:3px;border-bottom-right-radius:3px}.node-header>*{margin-right:-1px}.list-node>.node-header>:first-child,.map-node>.node-header>:first-child,.object-node:not(.no-body)>.node-header>:first-child{border-top-left-radius:8px;border-bottom-left-radius:0}button.selected{background-color:var(--node-selected);border-color:var(--node-selected-border)}.collapse svg{fill:var(--node-text)}.collapse.closed,button.add{background-color:var(--node-add);border-color:var(--node-add-border)}.collapse.open,button.remove{background-color:var(--node-remove);border-color:var(--node-remove-border)}.node-header>button svg{display:inline-block;position:relative;top:2px;fill:var(--node-text)}.node-header>button.add:last-child,.node-header>button.collapse:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.node-icon{border:none;position:relative;display:inline-block}.node-icon .icon-popup{visibility:hidden;width:240px;background-color:var(--node-popup-background);color:var(--node-popup-text);text-align:center;border-radius:6px;padding:8px 4px;position:absolute;z-index:2;top:125%;left:50%;margin-left:-120px}.node-icon .icon-popup::after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-3px;border-width:5px;border-style:solid;border-color:transparent transparent var(--node-popup-background) transparent}.node-icon .icon-popup.show,.node-icon svg:hover+.icon-popup{visibility:visible}.node-icon svg{height:34px;width:34px;min-width:34px;margin-left:6px;cursor:pointer}.node-icon.node-help svg{fill:var(--node-border)}.node-icon.node-error svg{fill:var(--node-remove)}.node-menu{position:absolute;left:0;top:100%;width:min-content;margin-top:4px;margin-left:4px;z-index:1;color:var(--node-popup-text);font-size:16px;border-radius:3px;background-color:var(--node-popup-background)}.node-menu::after{content:"";position:absolute;bottom:100%;left:0;margin-left:6px;border-width:5px;border-style:solid;border-color:transparent transparent var(--node-popup-background) transparent}.menu-item{padding:4px;display:flex;align-items:center;white-space:normal}.menu-item>*{margin-right:4px}.menu-item .btn{padding:8px}span.menu-item{padding:4px 8px}.menu-item-context{color:var(--node-popup-text-dimmed)}.node{margin-bottom:4px}.node-body>.node:first-child{margin-top:4px}.node:last-child{margin-bottom:0}.node-body{border-left:3px solid var(--node-indent-border)}.node-body{display:flex;flex-direction:column;padding-left:18px}.node-entry>.object-node>.node-body{padding-left:0}.node-entry>.object-node>.node-body>.node>.node-body{border-left:none}.node-entry>.object-node>.node-body>.node>.node-header>.node-icon+*,.node-entry>.object-node>.node-body>.node>.node-header>:first-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.node-entry{display:flex;flex-direction:column;margin-top:4px}.node-entry>.list-node[data-category],.node-entry>.map-node[data-category],.node-entry>.object-node[data-category]{width:100%;min-width:max-content;padding:5px;padding-left:0;margin-top:8px;border:2px solid var(--node-border);border-radius:3px}.node-entry:first-child>.list-node[data-category],.node-entry:first-child>.map-node[data-category],.node-entry:first-child>.object-node[data-category]{margin-top:4px}.node-entry>.object-node[data-category]>.node-header>.node-icon+*,.node-entry>.object-node[data-category]>.node-header>:first-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.node-entry>.list-node[data-category]>.node-body,.node-entry>.map-node[data-category]>.node-body,.node-entry>.object-node[data-category]>.node-body{border:none}.range-node select{width:25px}.number-node input,.range-node input{width:100px}[data-category=predicate]>.node-body>.node>.node-header>label,[data-category=predicate]>.node-header>label{background-color:var(--category-predicate)}[data-category=predicate]>.node-body,[data-category=predicate]>.node-body>.node>.node-header>:not(.selected),[data-category=predicate]>.node-header>:not(.selected),[data-category=predicate]>.node-header>label{border-color:var(--category-predicate-border)}.node-entry>.node.list-node[data-category=predicate],.node-entry>.node.map-node[data-category=predicate],.node-entry>.node.object-node[data-category=predicate]{background-color:var(--category-predicate-background);border-color:var(--category-predicate-border)}[data-category=function]>.node-body>.node>.node-header>label,[data-category=function]>.node-header>label{background-color:var(--category-function)}[data-category=function]>.node-body,[data-category=function]>.node-body>.node>.node-header>:not(.selected),[data-category=function]>.node-header>:not(.selected),[data-category=function]>.node-header>label{border-color:var(--category-function-border)}.node-entry>.node.list-node[data-category=function],.node-entry>.node.map-node[data-category=function],.node-entry>.node.object-node[data-category=function]{background-color:var(--category-function-background);border-color:var(--category-function-border)}[data-category=pool]>.node-body>.node>.node-header>label,[data-category=pool]>.node-header>label{background-color:var(--category-pool)}[data-category=pool]>.node-body,[data-category=pool]>.node-body>.node>.node-header>:not(.selected),[data-category=pool]>.node-header>:not(.selected),[data-category=pool]>.node-header>label{border-color:var(--category-pool-border)}.node-entry>.node.list-node[data-category=pool],.node-entry>.node.map-node[data-category=pool],.node-entry>.node.object-node[data-category=pool]{background-color:var(--category-pool-background);border-color:var(--category-pool-border)} \ No newline at end of file diff --git a/assets/it.288ea523.js b/assets/it.288ea523.js new file mode 100644 index 00000000..46d83402 --- /dev/null +++ b/assets/it.288ea523.js @@ -0,0 +1,2 @@ +var a=JSON.parse("{}");export default a; +//# sourceMappingURL=it.288ea523.js.map diff --git a/assets/it.288ea523.js.map b/assets/it.288ea523.js.map new file mode 100644 index 00000000..469503ed --- /dev/null +++ b/assets/it.288ea523.js.map @@ -0,0 +1 @@ +{"version":3,"file":"it.288ea523.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/it.772fd5c1.js b/assets/it.772fd5c1.js new file mode 100644 index 00000000..067a42a4 --- /dev/null +++ b/assets/it.772fd5c1.js @@ -0,0 +1,2 @@ +var i=JSON.parse('{"advancement":"Avanzamento","copy":"Copia","dimension":"Dimensione","dimension-type":"Tipo di Dimensione","download":"Scarica","fields":"Campi","item-modifier":"Modificatore d\'Oggetti","language":"Lingua","loot-table":"Tavola del Bottino","predicate":"Predica","redo":"Rifai"}');export default i; +//# sourceMappingURL=it.772fd5c1.js.map diff --git a/assets/it.772fd5c1.js.map b/assets/it.772fd5c1.js.map new file mode 100644 index 00000000..38d57133 --- /dev/null +++ b/assets/it.772fd5c1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"it.772fd5c1.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/ja.d68f1cee.js b/assets/ja.d68f1cee.js new file mode 100644 index 00000000..f0894990 --- /dev/null +++ b/assets/ja.d68f1cee.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"条件","advancement.display":"表示","advancement.display.announce_to_chat":"達成した際チャットに表示する","advancement.display.background":"背景","advancement.display.description":"説明","advancement.display.frame":"枠","advancement.display.frame.challenge":"挑戦","advancement.display.frame.goal":"目標","advancement.display.frame.task":"進捗","advancement.display.help":"Displayオブジェクトが存在する場合、この進捗が進捗タブに表示されます。","advancement.display.hidden":"達成するまで非表示にする","advancement.display.icon":"アイコン","advancement.display.icon.item":"アイコンのアイテム","advancement.display.icon.nbt":"アイコンのNBT","advancement.display.show_toast":"達成した際トーストを表示する","advancement.display.title":"タイトル","advancement.parent":"親となる進捗","advancement.rewards":"報酬","advancement.rewards.experience":"経験値","advancement.rewards.function":"関数","advancement.rewards.loot":"ルートテーブル","advancement.rewards.recipes":"レシピ","advancement_trigger.bee_nest_destroyed":"ミツバチの巣を破壊したとき","advancement_trigger.bred_animals":"動物を繁殖させたとき","advancement_trigger.brewed_potion":"醸造台からポーションを取り出したとき","advancement_trigger.changed_dimension":"ディメンションを移動したとき","advancement_trigger.channeled_lightning":"エンティティに召雷を当てた時","advancement_trigger.construct_beacon":"ビーコンの構築をしたとき","advancement_trigger.consume_item":"アイテムを消費したとき","advancement_trigger.cured_zombie_villager":"村人ゾンビを治療したとき","advancement_trigger.effects_changed":"効果を付与もしくは除去されたとき","advancement_trigger.enchanted_item":"アイテムをエンチャントしたとき","advancement_trigger.enter_block":"ブロックに立ったとき","advancement_trigger.entity_hurt_player":"エンティティからダメージを受けたとき","advancement_trigger.entity_killed_player":"エンティティに倒されたとき","advancement_trigger.filled_bucket":"バケツを満たしたとき","advancement_trigger.fishing_rod_hooked":"釣り竿でアイテムを取る/エンティティを引っ張ったとき","advancement_trigger.hero_of_the_village":"襲撃から村を守ったとき","advancement_trigger.impossible":"不可能","advancement_trigger.inventory_changed":"インベントリを変更したとき","advancement_trigger.item_durability_changed":"アイテムの耐久値が更新されたとき","advancement_trigger.item_used_on_block":"ブロックに対してアイテムを使用したとき","advancement_trigger.killed_by_crossbow":"クロスボウで倒したとき","advancement_trigger.levitation":"浮遊したとき","advancement_trigger.location":"位置","advancement_trigger.nether_travel":"ネザーに行って帰ってきたとき","advancement_trigger.placed_block":"ブロックを設置したとき","advancement_trigger.player_generates_container_loot":"ルートテーブルが設定されたコンテナの中身を生成したとき","advancement_trigger.player_hurt_entity":"エンティティにダメージを与えたとき","advancement_trigger.player_killed_entity":"エンティティを倒したとき","advancement_trigger.recipe_unlocked":"レシピを解禁したとき","advancement_trigger.safely_harvest_honey":"蜂蜜を安全に収穫したとき","advancement_trigger.shot_crossbow":"クロスボウを撃ったとき","advancement_trigger.slept_in_bed":"ベッドで寝たとき","advancement_trigger.slide_down_block":"ブロックを滑り落ちたとき","advancement_trigger.summoned_entity":"エンティティを召喚したとき","advancement_trigger.tame_animal":"動物を飼いならしたとき","advancement_trigger.target_hit":"的に当てたとき","advancement_trigger.thrown_item_picked_up_by_entity":"投げたアイテムをエンティティが拾ったとき","advancement_trigger.tick":"ティック","advancement_trigger.used_ender_eye":"エンダーアイを使用したとき","advancement_trigger.used_totem":"トーテムを使用したとき","advancement_trigger.villager_trade":"村人と取引したとき","advancement_trigger.voluntary_exile":"襲撃が始まったとき","attribute.generic_armor":"防具","attribute.generic_armor_toughness":"防具強度","attribute.generic_attack_damage":"攻撃力","attribute.generic_attack_knockback":"ノックバック","attribute.generic_attack_speed":"攻撃速度","attribute.generic_flying_speed":"飛行速度","attribute.generic_follow_range":"Mob の追跡範囲","attribute.generic_knockback_resistance":"ノックバック耐性","attribute.generic_luck":"幸運","attribute.generic_max_health":"最大体力","attribute.generic_movement_speed":"移動速度","attribute.horse.jump_strength":"ウマの跳躍力","attribute.zombie.spawn_reinforcements":"ゾンビの増援","attribute_modifier.amount":"補正値","attribute_modifier.attribute":"属性","attribute_modifier.name":"名前","attribute_modifier.operation":"計算方式","attribute_modifier.operation.addition":"加算","attribute_modifier.operation.multiply_base":"基礎乗算","attribute_modifier.operation.multiply_total":"乗算","attribute_modifier.slot":"スロット","attribute_modifier.slot.list":"複数","attribute_modifier.slot.string":"単体","badge.experimental":"実験段階","badge.unstable":"不安定","biome.carvers":"地形彫刻","biome.carvers.air":"空気","biome.carvers.liquid":"液体","biome.category":"カテゴリ","biome.creature_spawn_probability":"Mobの出現確率","biome.depth":"深度","biome.depth.help":"地形の高さを調整します。正の値は陸地とみなされ、負の値は海とみなされます。","biome.downfall":"Downfall (草/葉の色,火の延焼の速度等に影響を与えます)","biome.effects":"環境効果","biome.effects.additions_sound":"追加の音","biome.effects.additions_sound.sound":"音","biome.effects.ambient_sound":"環境音","biome.effects.fog_color":"霧の色","biome.effects.foliage_color":"葉の色","biome.effects.grass_color":"草の色","biome.effects.grass_color_modifier":"草の色の補正","biome.effects.grass_color_modifier.dark_forest":"暗い森","biome.effects.grass_color_modifier.none":"無し","biome.effects.grass_color_modifier.swamp":"湿地帯","biome.effects.mood_sound":"雰囲気の音","biome.effects.mood_sound.offset":"オフセット","biome.effects.mood_sound.sound":"音","biome.effects.mood_sound.tick_delay":"ティック遅延","biome.effects.music":"音楽","biome.effects.music.max_delay":"最大遅延","biome.effects.music.min_delay":"最小遅延","biome.effects.music.replace_current_music":"現在の音楽を上書きする","biome.effects.music.sound":"音","biome.effects.particle":"パーティクル","biome.effects.particle.options":"オプション","biome.effects.particle.options.type":"パーティクルのタイプ","biome.effects.particle.probability":"確率","biome.effects.sky_color":"空の色","biome.effects.water_color":"水の色","biome.effects.water_fog_color":"水中の霧の色","biome.features":"生成物","biome.features.entry":"ステップ","biome.features.entry.entry":"特徴","biome.player_spawn_friendly":"バイオームにスポーン出来るか否か","biome.player_spawn_friendly.help":"trueの場合、このバイオームではワールドスポーンが優先されます","biome.precipitation":"雨の種類","biome.precipitation.none":"無し","biome.precipitation.rain":"雨","biome.precipitation.snow":"雪","biome.scale":"スケール","biome.scale.help":"垂直方向に地形を伸ばします。値が低いほど平坦な地形になります。","biome.spawners":"スポナー","biome.spawners.entry":"スポーン","biome.spawners.entry.maxCount":"最大数","biome.spawners.entry.minCount":"最小数","biome.spawners.entry.type":"種類","biome.spawners.entry.weight":"抽選確率","biome.starts":"ストラクチャー","biome.starts.entry":"ストラクチャー","biome.starts.help":"構成された生成物のストラクチャーのリスト","biome.surface_builder":"地表生成","biome.temperature":"気温","biome.temperature_modifier":"気温補正","biome.temperature_modifier.frozen":"凍結","biome.temperature_modifier.none":"無し","block.block":"ブロックID","block.nbt":"NBT","block.state":"Block State","block.tag":"ブロックタグ","block_placer.column_placer.extra_size":"エクストラサイズ","block_placer.column_placer.min_size":"最小サイズ","block_placer.type":"種類","block_state.Name":"名前","block_state.Properties":"プロパティ","block_state_provider.rotated_block_provider.state":"状態","block_state_provider.simple_state_provider.state":"状態","block_state_provider.type":"種類","block_state_provider.weighted_state_provider.entries":"項目","block_state_provider.weighted_state_provider.entries.entry.data":"状態","block_state_provider.weighted_state_provider.entries.entry.weight":"抽選確率","carver.config":"設定","carver.config.probability":"確率","carver.type":"種類","children":"子","children.entry":"項目","condition.alternative.terms":"条件","condition.block_state_property.block":"ブロック","condition.block_state_property.properties":"Block State","condition.condition":"条件","condition.damage_source":"ダメージの要因","condition.entity_properties.entity":"エンティティ","condition.entity_scores.entity":"エンティティ","condition.entity_scores.scores":"スコア","condition.entry":"条件","condition.inverted.term":"条件","condition.item":"アイテム","condition.killed_by_player.inverse":"反転","condition.list":"複数","condition.location":"位置","condition.location_check.offsetX":"X 補正","condition.location_check.offsetY":"Y 補正","condition.location_check.offsetZ":"Z 補正","condition.object":"単一","condition.random_chance.chance":"確率","condition.random_chance_with_looting.chance":"確率","condition.random_chance_with_looting.looting_multiplier":"ドロップ増加倍率","condition.reference.name":"条件名","condition.table_bonus.chances":"確率","condition.table_bonus.chances.entry":"確率","condition.table_bonus.enchantment":"エンチャント","condition.time_check.period":"期間","condition.time_check.period.help":"存在する場合、時間はこの値で剰余算されます。 たとえば、24000に設定されている場合、値は日数の期間で変化します。","condition.time_check.value":"値","condition.weather_check.raining":"降雨","condition.weather_check.thundering":"雷雨","conditions":"条件","conditions.entry":"条件","conditions.list":"条件","conditions.object":"旧版","copy_source.block_entity":"ブロックエンティティ","copy_source.direct_killer":"直接的な要因のエンティティ","copy_source.killer":"殺したエンティティ","copy_source.killer_player":"殺したプレイヤー","copy_source.this":"自身","criterion.bee_nest_destroyed.block":"ブロック","criterion.bee_nest_destroyed.num_bees_inside":"ミツバチの巣に居たミツバチの数","criterion.bred_animals.child":"子","criterion.bred_animals.parent":"親","criterion.bred_animals.partner":"パートナー","criterion.brewed_potion.potion":"ポーション","criterion.changed_dimension.from":"移動元","criterion.changed_dimension.to":"移動先","criterion.channeled_lightning.victims":"犠牲者","criterion.channeled_lightning.victims.entry":"エンティティ","criterion.conditions":"条件","criterion.construct_beacon.beacon_level":"ビーコンのレベル","criterion.consume_item.item":"アイテム","criterion.cured_zombie_villager.villager":"村人","criterion.cured_zombie_villager.zombie":"ゾンビ","criterion.effects_changed.effects":"効果","criterion.enchanted_item.item":"アイテム","criterion.enchanted_item.levels":"経験値レベル","criterion.enter_block.block":"ブロック","criterion.enter_block.state":"ブロックの状態","criterion.entity_hurt_player.damage":"ダメージ","criterion.entity_killed_player.entity":"死亡する要因となったエンティティ","criterion.entity_killed_player.killing_blow":"最後の一撃","criterion.filled_bucket.item":"アイテム","criterion.fishing_rod_hooked.entity":"引っ張られたエンティティ","criterion.fishing_rod_hooked.item":"アイテム","criterion.hero_of_the_village.location":"位置","criterion.inventory_changed.items":"アイテム","criterion.inventory_changed.items.entry":"アイテム","criterion.inventory_changed.slots":"スロット","criterion.inventory_changed.slots.empty":"空のスロットの数","criterion.inventory_changed.slots.full":"完全にスタックされたスロットの数","criterion.inventory_changed.slots.occupied":"占有されているスロットの数","criterion.item_durability_changed.delta":"差","criterion.item_durability_changed.durability":"耐久値","criterion.item_durability_changed.item":"アイテム","criterion.item_used_on_block.item":"アイテム","criterion.item_used_on_block.location":"位置","criterion.killed_by_crossbow.unique_entity_types":"エンティティ種の数","criterion.killed_by_crossbow.victims":"犠牲者","criterion.killed_by_crossbow.victims.entry":"エンティティ","criterion.levitation.distance":"距離","criterion.levitation.duration":"持続時間","criterion.location.location":"位置","criterion.nether_travel.distance":"距離","criterion.nether_travel.entered":"入った位置","criterion.nether_travel.exited":"出た位置","criterion.placed_block.block":"ブロック","criterion.placed_block.item":"アイテム","criterion.placed_block.location":"位置","criterion.placed_block.state":"ブロックの状態","criterion.player":"プレイヤー","criterion.player_generates_container_loot.loot_table":"ルートテーブル","criterion.player_hurt_entity.damage":"ダメージ","criterion.player_hurt_entity.entity":"ダメージを受けたエンティティ","criterion.player_killed_entity.entity":"ダメージを受けたエンティティ","criterion.player_killed_entity.killing_blow":"最後の一撃","criterion.recipe_unlocked.recipe":"レシピ","criterion.rod":"釣り竿","criterion.shot_crossbow.item":"アイテム","criterion.slept_in_bed.location":"位置","criterion.slide_down_block.block":"ブロック","criterion.summoned_entity.entity":"エンティティ","criterion.tame_animal.entity":"動物","criterion.target_hit.projectile":"飛び道具","criterion.target_hit.shooter":"射手","criterion.target_hit.signal_strength":"信号の強度","criterion.thrown_item_picked_up_by_entity.entity":"エンティティ","criterion.thrown_item_picked_up_by_entity.item":"アイテム","criterion.trigger":"トリガー","criterion.used_ender_eye.distance":"距離","criterion.used_totem.item":"トーテムアイテム","criterion.villager_trade.item":"購入したアイテム","criterion.villager_trade.villager":"村人","criterion.voluntary_exile.location":"位置","damage.blocked":"防御","damage.dealt":"与ダメージ","damage.source_entity":"要因のエンティティ","damage.taken":"非ダメージ","damage.type":"ダメージの種類","damage_source.bypasses_armor":"防御貫通","damage_source.bypasses_invulnerability":"奈落","damage_source.bypasses_magic":"空腹","damage_source.direct_entity":"直接的な要因のエンティティ","damage_source.is_explosion":"爆発","damage_source.is_fire":"炎上","damage_source.is_lightning":"雷","damage_source.is_magic":"魔法","damage_source.is_projectile":"飛び道具","damage_source.source_entity":"要因のエンティティ","decorator.carving_mask.step":"生成ステップ","decorator.config":"設定","decorator.count.count":"数量","decorator.count_extra.count":"数量","decorator.count_extra.extra_chance":"数量が追加される確率","decorator.count_extra.extra_count":"追加数量","decorator.count_multilayer.count":"数量","decorator.count_noise.above_noise":"閾値以上のノイズ","decorator.count_noise.below_noise":"閾値未満のノイズ","decorator.count_noise.noise_level":"ノイズレベル","decorator.count_noise_biased.noise_factor":"ノイズ係数","decorator.count_noise_biased.noise_offset":"ノイズオフセット","decorator.count_noise_biased.noise_to_count_ratio":"ノイズ対数量比","decorator.decorated.inner":"内側","decorator.decorated.outer":"外側","decorator.depth_average.baseline":"基準線","decorator.depth_average.spread":"拡散","decorator.glowstone.count":"個数","decorator.type":"種類","dimension":"ディメンション","dimension.generator":"ジェネレーター","dimension.generator.biome_source":"バイオームの生成法則","dimension.overworld":"オーバーワールド","dimension.the_end":"ジ・エンド","dimension.the_nether":"ネザー","dimension.type":"ディメンションタイプ","dimension.type.object":"カスタム","dimension.type.string":"プリセット","dimension_type.ambient_light":"環境光レベル","dimension_type.ambient_light.help":"0 ~ 1の範囲の値","dimension_type.bed_works":"ベッドが使用機能か否か","dimension_type.coordinate_scale":"座標のスケール","dimension_type.effects":"環境効果","dimension_type.effects.overworld":"オーバーワールド","dimension_type.effects.the_end":"ジ・エンド","dimension_type.effects.the_nether":"ネザー","dimension_type.fixed_time":"時間の固定","dimension_type.fixed_time.help":"この値を設定すると、太陽の位置が固定されます。","dimension_type.has_ceiling":"天井","dimension_type.has_raids":"襲撃","dimension_type.has_skylight":"天井光","dimension_type.infiniburn":"無限に燃焼するブロック","dimension_type.logical_height":"Logical Height","dimension_type.name":"名前","dimension_type.natural":"自然","dimension_type.natural.help":"trueの場合、ポータルはゾンビピグリンを生成します。 falseの場合、コンパスと時計がランダムに回転します。","dimension_type.piglin_safe":"ピグリンがゾンビ化するか否か","dimension_type.respawn_anchor_works":"リスポーンアンカーが使用可能か否か","dimension_type.ultrawarm":"灼熱","dimension_type.ultrawarm.help":"trueの場合、水が蒸発しスポンジが乾燥します。","distance.absolute":"絶対距離","distance.horizontal":"水平距離","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"水中採掘","enchantment.bane_of_arthropods":"虫特効","enchantment.binding_curse":"束縛の呪い","enchantment.blast_protection":"爆発耐性","enchantment.channeling":"召雷","enchantment.depth_strider":"水中歩行","enchantment.efficiency":"効率強化","enchantment.enchantment":"エンチャント","enchantment.feather_falling":"落下耐性","enchantment.fire_aspect":"火属性","enchantment.fire_protection":"火炎耐性","enchantment.flame":"フレイム","enchantment.fortune":"幸運","enchantment.frost_walker":"氷渡り","enchantment.impaling":"水生特効","enchantment.infinity":"無限","enchantment.knockback":"ノックバック","enchantment.levels":"レベル","enchantment.looting":"ドロップ増加","enchantment.loyalty":"忠誠","enchantment.luck_of_the_sea":"宝釣り","enchantment.lure":"入れ食い","enchantment.mending":"修繕","enchantment.multishot":"拡散","enchantment.piercing":"貫通","enchantment.power":"射撃ダメージ増加","enchantment.projectile_protection":"飛び道具耐性","enchantment.protection":"ダメージ軽減","enchantment.punch":"パンチ","enchantment.quick_charge":"高速装填","enchantment.respiration":"水中呼吸","enchantment.riptide":"激流","enchantment.sharpness":"ダメージ増加","enchantment.silk_touch":"シルクタッチ","enchantment.smite":"アンデッド特効","enchantment.sweeping":"範囲ダメージ増加","enchantment.thorns":"棘の鎧","enchantment.unbreaking":"耐久力","enchantment.vanishing_curse":"消滅の呪い","entity.distance":"距離","entity.effects":"効果","entity.equipment":"装備","entity.fishing_hook":"浮き","entity.fishing_hook.in_open_water":"開けた水か否か","entity.flags":"フラグ","entity.isBaby":"子供","entity.isOnFire":"炎上","entity.isSneaking":"スニーク","entity.isSprinting":"ダッシュ","entity.isSwimming":"水泳","entity.location":"位置","entity.nbt":"NBT","entity.player":"プレイヤー","entity.targeted_entity":"狙われているエンティティ","entity.team":"チーム","entity.type":"エンティティ","entity.vehicle":"乗り物","entity_source.direct_killer":"直接的な要因のエンティティ","entity_source.killer":"殺したエンティティ","entity_source.killer_player":"殺したプレイヤー","entity_source.this":"自身","entry":"項目","error":"エラー","error.expected_boolean":"boolean型が必要です","error.expected_integer":"int型が必要です","error.expected_json":"JSONが必要です","error.expected_list":"配列が必要です","error.expected_number":"数値が必要です","error.expected_object":"オブジェクトが必要です","error.expected_range":"範囲が必要です","error.expected_string":"文字列が必要です","error.expected_uniform_int":"均一な整数が必要です","error.invalid_binomial":"範囲は二項分布型を使用できません","error.invalid_empty_list":"配列は空にできません","error.invalid_empty_string":"文字列を空には出来ません","error.invalid_enum_option":"\\"%0%\\"は無効なオプションです","error.invalid_exact":"範囲は定数型を使用できません","error.invalid_number_range.between":"%0% ~ %1%の範囲の数値が必要です","error.invalid_pattern":"%0%は有効な文字列ではありません","error.recipe.invalid_key":"キーとして使用できるのは1文字のみです","false":"False","feature.bamboo.probability":"確率","feature.basalt_columns.height":"高度","feature.basalt_columns.reach":"リーチ","feature.block_pile.state_provider":"状態の提供元","feature.config":"設定","feature.decorated.decorator":"装飾処理","feature.decorated.feature":"生成物","feature.delta_feature.contents":"内容","feature.delta_feature.rim":"周縁","feature.delta_feature.rim_size":"周縁のサイズ","feature.delta_feature.size":"サイズ","feature.disk.half_height":"半分の高さ","feature.disk.radius":"半径","feature.disk.state":"状態","feature.disk.targets":"目標","feature.disk.targets.entry":"状態","feature.emerald_ore.state":"状態","feature.emerald_ore.target":"目標","feature.end_gateway.exact":"正確に移動するか否か","feature.end_gateway.exit":"移動先の座標","feature.end_spike.crystal_beam_target":"ビームの目標座標","feature.end_spike.crystal_invulnerable":"クリスタルが無敵か否か","feature.end_spike.spikes":"黒曜石の柱","feature.end_spike.spikes.entry":"黒曜石の柱","feature.end_spike.spikes.entry.centerX":"中心のX座標","feature.end_spike.spikes.entry.centerZ":"中心のZ座標","feature.end_spike.spikes.entry.guarded":"鉄格子で囲われているか否か","feature.end_spike.spikes.entry.height":"高度","feature.end_spike.spikes.entry.radius":"半径","feature.fill_layer.height":"高度","feature.fill_layer.state":"状態","feature.flower.blacklist":"ブラックリスト","feature.flower.block_placer":"ブロック設置処理","feature.flower.can_replace":"上書き可能か否か","feature.flower.need_water":"水が必要か否か","feature.flower.project":"投影されるか否か","feature.flower.state_provider":"状態の提供元","feature.flower.tries":"試行回数","feature.flower.whitelist":"ホワイトリスト","feature.flower.xspread":"X軸の拡散量","feature.flower.yspread":"Y軸の拡散量","feature.flower.zspread":"Z軸の拡散量","feature.forest_rock.state":"状態","feature.huge_brown_mushroom.cap_provider":"笠の提供元","feature.huge_brown_mushroom.foliage_radius":"笠の大きさ","feature.huge_brown_mushroom.stem_provider":"柄の提供元","feature.huge_fungus.decor_state":"装飾","feature.huge_fungus.hat_state":"笠","feature.huge_fungus.planted":"植えられたか否か","feature.huge_fungus.stem_state":"柄","feature.huge_fungus.valid_base_block":"有効な地面のブロック","feature.huge_red_mushroom.cap_provider":"笠の提供元","feature.huge_red_mushroom.foliage_radius":"笠の大きさ","feature.huge_red_mushroom.stem_provider":"柄の提供元","feature.ice_patch.half_height":"半分の高さ","feature.ice_patch.radius":"半径","feature.ice_patch.state":"状態","feature.ice_patch.targets":"目標","feature.ice_patch.targets.entry":"状態","feature.iceberg.state":"状態","feature.lake.state":"状態","feature.nether_forest_vegetation.state_provider":"状態の提供元","feature.netherrack_replace_blobs.radius":"半径","feature.netherrack_replace_blobs.state":"状態","feature.netherrack_replace_blobs.target":"目標","feature.no_surface_ore.size":"サイズ","feature.no_surface_ore.state":"状態","feature.no_surface_ore.target":"目標","feature.object":"カスタム","feature.ore.size":"サイズ","feature.random_boolean_selector.feature_false":"生成物1","feature.random_boolean_selector.feature_true":"生成物2","feature.random_patch.blacklist":"ブラックリスト","feature.random_patch.block_placer":"ブロック設置処理","feature.random_patch.can_replace":"上書き可能か否か","feature.random_patch.need_water":"水が必要か否か","feature.random_patch.project":"投影されるか否か","feature.random_patch.state_provider":"状態の提供元","feature.random_patch.tries":"試行回数","feature.random_patch.whitelist":"ホワイトリスト","feature.random_patch.xspread":"X軸の拡散量","feature.random_patch.yspread":"Y軸の拡散量","feature.random_patch.zspread":"Z軸の拡散量","feature.random_selector.default":"デフォルト","feature.random_selector.features":"生成物","feature.random_selector.features.entry":"生成物","feature.random_selector.features.entry.chance":"確率","feature.random_selector.features.entry.feature":"生成物","feature.sea_pickle.count":"数量","feature.seegrass.probability":"確率","feature.simple_block.place_in":"上書きされるブロック","feature.simple_block.place_in.entry":"状態","feature.simple_block.place_on":"下のブロック","feature.simple_block.place_on.entry":"状態","feature.simple_block.place_under":"上のブロック","feature.simple_block.place_under.entry":"状態","feature.simple_block.to_place":"設置するブロック","feature.simple_random_selector.features":"生成物","feature.simple_random_selector.features.entry":"生成物","feature.spring_feature.hole_count":"くぼみの数","feature.spring_feature.required_block_below":"下に必要なブロック","feature.spring_feature.rock_count":"岩の数","feature.spring_feature.state":"状態","feature.spring_feature.valid_blocks":"有効なブロック","feature.string":"生成物の参照","feature.tree.decorators":"デコレータ","feature.tree.decorators.entry":"ツリーデコレータ","feature.tree.foliage_placer":"葉の配置","feature.tree.heightmap":"高度マップ","feature.tree.ignore_vines":"ツタを無視するか否か","feature.tree.leaves_provider":"葉の提供元","feature.tree.max_water_depth":"樹が生成される最大水深","feature.tree.minimum_size":"最小サイズ","feature.tree.minimum_size.limit":"制限","feature.tree.minimum_size.lower_size":"下限サイズ","feature.tree.minimum_size.middle_size":"中部のサイズ","feature.tree.minimum_size.type":"最小サイズ","feature.tree.minimum_size.upper_limit":"上限","feature.tree.minimum_size.upper_size":"上限サイズ","feature.tree.trunk_placer":"木の幹の設置処理","feature.tree.trunk_provider":"木の幹の提供元","feature.type":"種類","fluid.fluid":"液体ID","fluid.state":"液体の状態","fluid.tag":"液体タグ","fluid_state.Name":"名前","fluid_state.Properties":"プロパティ","foliage_placer.crown_height":"樹木の天蓋の高さ","foliage_placer.height":"高度","foliage_placer.offset":"オフセット","foliage_placer.radius":"半径","foliage_placer.trunk_height":"木の幹の高さ","foliage_placer.type":"種類","function.apply_bonus.enchantment":"エンチャント","function.apply_bonus.formula":"計算式","function.apply_bonus.formula.binomial_with_bonus_count":"二項分布","function.apply_bonus.formula.ore_drops":"鉱石ドロップ","function.apply_bonus.formula.uniform_bonus_count":"均一分布","function.apply_bonus.parameters":"パラメーター","function.apply_bonus.parameters.bonusMultiplier":"倍率","function.apply_bonus.parameters.extra":"追加の値","function.apply_bonus.parameters.probability":"確率","function.copy_name.source":"ソース","function.copy_nbt.ops":"NBT操作","function.copy_nbt.ops.entry":"操作","function.copy_nbt.source":"ソース","function.copy_state.block":"ブロック","function.copy_state.properties":"プロパティ","function.copy_state.properties.entry":"プロパティ","function.enchant_randomly.enchantments":"任意のエンチャント","function.enchant_randomly.enchantments.entry":"エンチャント","function.enchant_with_levels.levels":"レベル","function.enchant_with_levels.treasure":"トレジャーエンチャント","function.exploration_map.decoration":"目的地のアイコン","function.exploration_map.destination":"目的地","function.exploration_map.search_radius":"目的地を検索する半径 (チャンク)","function.exploration_map.skip_existing_chunks":"生成済みチャンクを検索しない","function.exploration_map.zoom":"ズーム","function.fill_player_head.entity":"エンティティ","function.function":"関数","function.limit_count.limit":"制限","function.looting_enchant.count":"個数","function.looting_enchant.limit":"上限","function.set_attributes.modifiers":"補正","function.set_attributes.modifiers.entry":"補正","function.set_contents.entries":"内容","function.set_contents.entries.entry":"項目","function.set_count.count":"個数","function.set_damage.damage":"耐久","function.set_data.data":"データ","function.set_loot_table.name":"ルートテーブル名","function.set_loot_table.seed":"シード値","function.set_lore.entity":"エンティティ","function.set_lore.lore":"説明文","function.set_lore.lore.entry":"行","function.set_lore.replace":"上書き","function.set_name.entity":"エンティティ","function.set_name.name":"名前","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"効果","function.set_stew_effect.effects.entry":"効果","function.set_stew_effect.effects.entry.duration":"持続時間","function.set_stew_effect.effects.entry.type":"効果","functions":"関数","functions.entry":"関数","gamemode.adventure":"アドベンチャー","gamemode.creative":"クリエイティブ","gamemode.spectator":"スペクテイター","gamemode.survival":"サバイバル","generation_step.air":"空気","generation_step.liquid":"液体","generator.biome_source.altitude_noise":"高度のノイズ","generator.biome_source.biome":"バイオーム","generator.biome_source.biomes":"バイオーム","generator.biome_source.humidity_noise":"湿度のノイズ","generator.biome_source.large_biomes":"大きなバイオーム","generator.biome_source.legacy_biome_init_layer":"旧バイオーム初期化レイヤー","generator.biome_source.preset":"バイオームプリセット","generator.biome_source.preset.nether":"ネザー","generator.biome_source.scale":"スケール","generator.biome_source.seed":"バイオームのシード値","generator.biome_source.temperature_noise":"気温のノイズ","generator.biome_source.type":"バイオームの生成法則","generator.biome_source.weirdness_noise":"奇妙さのノイズ","generator.seed":"ディメンションのシード値","generator.settings":"ジェネレーターの設定","generator.settings.biome":"バイオーム","generator.settings.lakes":"湖","generator.settings.layers":"レイヤー","generator.settings.layers.entry":"レイヤー","generator.settings.layers.entry.block":"ブロックID","generator.settings.layers.entry.height":"高度","generator.settings.object":"カスタム","generator.settings.presets.amplified":"巨大化","generator.settings.presets.caves":"洞窟","generator.settings.presets.end":"エンド","generator.settings.presets.floating_islands":"浮島","generator.settings.presets.nether":"ネザー","generator.settings.presets.overworld":"オーバーワールド","generator.settings.string":"プリセット","generator.settings.structures":"ストラクチャー","generator.settings.structures.stronghold":"要塞","generator.settings.structures.stronghold.count":"数量","generator.settings.structures.stronghold.distance":"距離","generator.settings.structures.stronghold.spread":"拡散","generator.settings.structures.structures":"ストラクチャー","generator.type":"ジェネレーターのタイプ","generator_biome.biome":"バイオーム","generator_biome.parameters":"パラメーター","generator_biome.parameters.altitude":"海抜","generator_biome.parameters.help":"これらのパラメータによって、バイオームの配置が決まります。すべてのバイオームは、これらの組み合わせが一意でなければなりません。似たような値を持つバイオームは隣り合って生成されます。","generator_biome.parameters.humidity":"湿度","generator_biome.parameters.offset":"オフセット","generator_biome.parameters.temperature":"気温","generator_biome.parameters.weirdness":"奇妙さ","generator_biome_noise.amplitudes":"広大さ","generator_biome_noise.amplitudes.entry":"オクターブ %0%","generator_structure.separation":"間隔","hide_source":"ソースを隠す","item.count":"個数","item.durability":"耐久値","item.enchantments":"エンチャント","item.enchantments.entry":"エンチャント","item.item":"アイテムID","item.nbt":"NBT","item.potion":"ポーション","item.tag":"アイテムタグ","key.advancements":"進捗","key.attack":"攻撃する/壊す","key.back":"後退","key.chat":"チャットを開く","key.command":"コマンドラインを開く","key.drop":"アイテムを捨てる","key.forward":"前進","key.fullscreen":"フルスクリーンの切り替え","key.hotbar.1":"ホットバースロット 1","key.hotbar.2":"ホットバースロット 2","key.hotbar.3":"ホットバースロット 3","key.hotbar.4":"ホットバースロット 4","key.hotbar.5":"ホットバースロット 5","key.hotbar.6":"ホットバースロット 6","key.hotbar.7":"ホットバースロット 7","key.hotbar.8":"ホットバースロット 8","key.hotbar.9":"ホットバースロット 9","key.inventory":"インベントリの開閉","key.jump":"ジャンプ","key.left":"左","key.loadToolbarActivator":"ツールバーの読み込み","key.pickItem":"ブロック選択","key.playerlist":"プレイヤーリストの表示","key.right":"右","key.saveToolbarActivator":"ツールバーの保存","key.screenshot":"スクリーンショットの撮影","key.smoothCamera":"カメラ動作の切り替え","key.sneak":"スニーク","key.spectatorOutlines":"プレイヤーの強調表示(スペクテイター)","key.sprint":"ダッシュ","key.swapOffhand":"持っているアイテムの切り替え","key.togglePerspective":"視点の切り替え","key.use":"アイテムの使用/ブロックの設置","location.biome":"バイオーム","location.block":"ブロック","location.dimension":"ディメンション","location.feature":"生成物","location.fluid":"液体","location.light":"光源","location.position":"位置","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","loot_condition_type.block_state_property":"ブロックのプロパティ","loot_condition_type.damage_source_properties":"ダメージの要因","loot_condition_type.entity_properties":"エンティティのプロパティ","loot_condition_type.entity_scores":"エンティティのスコア","loot_condition_type.inverted":"反転","loot_condition_type.location_check":"位置","loot_condition_type.match_tool":"ツールのプロパティ","loot_condition_type.random_chance":"ランダムな確率","loot_condition_type.random_chance_with_looting":"ランダムな確率 (ドロップ増加の影響を受ける)","loot_condition_type.reference":"条件の参照","loot_condition_type.time_check":"時間","loot_condition_type.weather_check":"天候","loot_entry.dynamic.name":"名前","loot_entry.item.name":"名前","loot_entry.loot_table.name":"ルートテーブル名","loot_entry.quality":"品質","loot_entry.tag.expand":"広げる","loot_entry.tag.name":"アイテムタグの名前","loot_entry.type":"種類","loot_entry.weight":"抽選確率","loot_function_type.copy_name":"名前のコピー","loot_function_type.copy_nbt":"NBTのコピー","loot_function_type.copy_state":"Block Stateのコピー","loot_function_type.enchant_randomly":"ランダムなエンチャント","loot_function_type.enchant_with_levels":"レベルからのエンチャント","loot_function_type.exploration_map":"探検家の地図のプロパティ","loot_function_type.furnace_smelt":"製錬","loot_function_type.limit_count":"個数制限","loot_function_type.looting_enchant":"ドロップ増加による個数補正","loot_function_type.set_attributes":"属性の設定","loot_function_type.set_contents":"内容の設定","loot_function_type.set_count":"個数の設定","loot_function_type.set_damage":"耐久値の設定","loot_function_type.set_data":"データの設定","loot_function_type.set_loot_table":"ルートテーブルの設定","loot_function_type.set_lore":"説明文の設定","loot_function_type.set_name":"名前の設定","loot_function_type.set_nbt":"NBTの設定","loot_function_type.set_stew_effect":"シチューの効果の設定","loot_pool.bonus_rolls":"ボーナス抽選数","loot_pool.entries":"エントリー","loot_pool.entries.entry":"項目","loot_pool.rolls":"抽選数","loot_pool_entry_type.dynamic":"動的","loot_pool_entry_type.empty":"空","loot_pool_entry_type.group":"グループ","loot_pool_entry_type.item":"アイテム","loot_pool_entry_type.loot_table":"ルートテーブル","loot_pool_entry_type.sequence":"順序","loot_pool_entry_type.tag":"アイテムタグ","nbt_operation.op":"操作方法","nbt_operation.op.append":"追加","nbt_operation.op.merge":"併合","nbt_operation.op.replace":"上書き","nbt_operation.source":"ソース","nbt_operation.target":"目標","noise_settings.name":"名前","player.advancements":"進捗","player.advancements.entry":"進捗","player.gamemode":"ゲームモード","player.level":"経験値レベル","player.recipes":"レシピ","player.stats":"統計値","player.stats.entry":"統計値","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.predicate_type":"種類","processor.block_ignore.blocks.entry":"状態","processor.processor_type":"種類","requirements":"必要条件","rule_test.block":"ブロック","rule_test.block_state":"状態","rule_test.predicate_type":"種類","rule_test.probability":"確率","slot.chest":"胴体","slot.feet":"足","slot.head":"頭","slot.legs":"脚","slot.mainhand":"利き手","slot.offhand":"オフハンド","statistic.stat":"統計値","statistic.type":"種類","statistic.type.broken":"壊した回数","statistic.type.crafted":"作った回数","statistic.type.custom":"カスタム","statistic.type.dropped":"捨てた回数","status_effect.ambient":"ビーコン効果","status_effect.amplifier":"効果レベル","status_effect.duration":"持続時間","status_effect.visible":"パーティクル表示","structure_feature.biome_temp":"バイオームの気温","structure_feature.probability":"確率","structure_feature.type":"種類","surface_builder.type":"種類","table.type":"種類","table.type.block":"ブロック","table.type.chest":"チェスト","table.type.empty":"空","table.type.entity":"エンティティ","table.type.fishing":"釣り","table.type.generic":"汎用","tag.replace":"上書き","template_element.element_type":"種類","template_pool.name":"名前","text_component_object.block":"ブロック","text_component_object.bold":"太字","text_component_object.clickEvent":"クリックイベント","text_component_object.clickEvent.action.change_page":"ページへの移動","text_component_object.clickEvent.action.copy_to_clipboard":"クリップボードへのコピー","text_component_object.clickEvent.action.open_file":"ファイルを開く","text_component_object.clickEvent.action.open_url":"ウェブサイトを開く","text_component_object.clickEvent.action.run_command":"コマンドを実行","text_component_object.clickEvent.action.suggest_command":"コマンドを提案","text_component_object.color":"カラー","text_component_object.entity":"要素","text_component_object.score.name":"名前","tree_decorator.beehive.probability":"確率","tree_decorator.cocoa.probability":"確率","tree_decorator.type":"種類","true":"true","trunk_placer.type":"種類","worldgen/chunk_generator.noise":"デフォルト"}');export default e; +//# sourceMappingURL=ja.d68f1cee.js.map diff --git a/assets/ja.d68f1cee.js.map b/assets/ja.d68f1cee.js.map new file mode 100644 index 00000000..9605e5b8 --- /dev/null +++ b/assets/ja.d68f1cee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ja.d68f1cee.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/ja.ed039f93.js b/assets/ja.ed039f93.js new file mode 100644 index 00000000..f6e93991 --- /dev/null +++ b/assets/ja.ed039f93.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"進捗 (Advancement)","copy":"コピー","dimension":"ディメンション (Dimension)","dimension-type":"ディメンションタイプ (Dimension Type)","download":"ダウンロード","language":"言語設定","loot-table":"ルートテーブル (Loot Table)","predicate":"条件 (Predicate)","reset":"リセット","share":"共有","title.generator":"%0%ジェネレーター","title.home":"データパックジェネレーター","preview":"可視化","world":"ワールド設定 (World Settings)","worldgen/biome":"バイオーム (Biome)","worldgen/carver":"地形彫刻 (Carver)","worldgen/feature":"生成物 (Feature)","worldgen/noise-settings":"ノイズ設定 (Noise Settings)","worldgen/processor-list":"プロセッサリスト (Processor List)","worldgen/structure-feature":"ストラクチャー生成物 (Structure Feature)","worldgen/surface-builder":"地形生成 (Surface Builder)","worldgen/template-pool":"テンプレートプール (Template Pool)"}');export default e; +//# sourceMappingURL=ja.ed039f93.js.map diff --git a/assets/ja.ed039f93.js.map b/assets/ja.ed039f93.js.map new file mode 100644 index 00000000..e1cd0382 --- /dev/null +++ b/assets/ja.ed039f93.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ja.ed039f93.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/pl.2f8b352f.js b/assets/pl.2f8b352f.js new file mode 100644 index 00000000..95d9f9fa --- /dev/null +++ b/assets/pl.2f8b352f.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"Kryteria","advancement.display":"Wyświetlanie","advancement.display.announce_to_chat":"Ogłoś Na Czacie","advancement.display.background":"Tło","advancement.display.description":"Opis","advancement.display.frame":"Ramka","advancement.display.frame.challenge":"Wyzwanie","advancement.display.frame.goal":"Cel","advancement.display.frame.task":"Zadanie","advancement.display.help":"Jeżeli obecne, postęp będzie widoczny w zakładkach postępów.","advancement.display.hidden":"Ukryty","advancement.display.icon":"Ikona","advancement.display.icon.item":"Przedmiot Ikony","advancement.display.icon.nbt":"NBT Ikony","advancement.display.show_toast":"Pokaż Powiadomienie","advancement.display.title":"Tytuł","advancement.parent":"Rodzic Postępu","advancement.rewards":"Nagrody","advancement.rewards.experience":"Doświadczenie","advancement.rewards.function":"Funkcja","advancement.rewards.loot":"Tabele Łupów","advancement.rewards.recipes":"Przepisy","advancement_trigger.bee_nest_destroyed":"Zniszczono Ul","advancement_trigger.bred_animals":"Rozmnożono zwierzęta","advancement_trigger.brewed_potion":"Stworzono Miksturę","advancement_trigger.changed_dimension":"Zmieniono Wymiar","advancement_trigger.channeled_lightning":"Porażenie Przekierowaniem","advancement_trigger.construct_beacon":"Skonstruowano Magiczną Latarnię","advancement_trigger.consume_item":"Użyto Przedmiot","advancement_trigger.cured_zombie_villager":"Uleczono Wieśniaka Zombie","advancement_trigger.effects_changed":"Zmieniono Efekty","advancement_trigger.enchanted_item":"Zaklęto Przedmiot","advancement_trigger.enter_block":"Wejście W Blok","advancement_trigger.entity_hurt_player":"Byt Zranił Gracza","advancement_trigger.entity_killed_player":"Byt Zabił Gracza","advancement_trigger.filled_bucket":"Napełniono Wiadro","advancement_trigger.fishing_rod_hooked":"Ściągnięto Żyłkę","advancement_trigger.hero_of_the_village":"Bohater Wioski","advancement_trigger.impossible":"Niemożliwy","advancement_trigger.inventory_changed":"Zmieniono Ekwipunek","advancement_trigger.item_durability_changed":"Zmieniono Wytrzymałość Przedmiotu","advancement_trigger.item_used_on_block":"Użyto Przedmiotu Na Bloku","advancement_trigger.killed_by_crossbow":"Zabity Przez Kuszę","advancement_trigger.levitation":"Lewitacja","advancement_trigger.location":"Lokacja","advancement_trigger.nether_travel":"Podróż W Netherze","advancement_trigger.placed_block":"Postawiono Blok","advancement_trigger.player_generates_container_loot":"Gracz Wygenerował Łup Konteneru","advancement_trigger.player_hurt_entity":"Gracz Zranił Byt","advancement_trigger.player_killed_entity":"Gracz Zabił Byt","advancement_trigger.recipe_unlocked":"Odblokowano Przepis","advancement_trigger.safely_harvest_honey":"Bezpiecznie Zebrano Miód","advancement_trigger.shot_crossbow":"Wystrzelono Z Kuszy","advancement_trigger.slept_in_bed":"Przespano Się W Łóżku","advancement_trigger.slide_down_block":"Ześlizgnięto Się Po Bloku","advancement_trigger.summoned_entity":"Przyzwano Byt","advancement_trigger.tame_animal":"Oswojono Zwierzę","advancement_trigger.target_hit":"Trafiono Cel","advancement_trigger.thrown_item_picked_up_by_entity":"Wyrzucony Przedmiot Podniósł Byt","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Użyto Oka Kresu","advancement_trigger.used_totem":"Użyto Totemu","advancement_trigger.villager_trade":"Handlowano Z Wieśniakiem","advancement_trigger.voluntary_exile":"Wygnanie Na Żądanie","attribute.generic_armor":"Zbroja","attribute.generic_armor_toughness":"Wytrzymałość Zbroi","attribute.generic_attack_damage":"Obrażenia Ataku","attribute.generic_attack_knockback":"Odepchnięcie Ataku","attribute.generic_attack_speed":"Szybkość Ataku","attribute.generic_flying_speed":"Prędkość Latania","attribute.generic_follow_range":"Zasięg Podążania","attribute.generic_knockback_resistance":"Odporność Na Odpychanie","attribute.generic_luck":"Szczęście","attribute.generic_max_health":"Maksymalne Zdrowie","attribute.generic_movement_speed":"Prędkość Poruszania Się","attribute.horse.jump_strength":"Siła Skoku","attribute.zombie.spawn_reinforcements":"Przyzywanie Posiłków","attribute_modifier.amount":"Ilość","attribute_modifier.attribute":"Atrybut","attribute_modifier.name":"Nazwa","attribute_modifier.operation":"Działanie","attribute_modifier.operation.addition":"Dodawanie","attribute_modifier.operation.multiply_base":"Mnożenie Bazy","attribute_modifier.operation.multiply_total":"Mnożenie Całości","attribute_modifier.slot":"Sloty","attribute_modifier.slot.list":"Wiele","attribute_modifier.slot.string":"Jeden","badge.experimental":"Eksperymentalne","badge.unstable":"Niestabilne","biome.carvers":"Rzeźbiarze","biome.carvers.air":"Powietrze","biome.carvers.liquid":"Ciecze","biome.category":"Kategoria","biome.creature_spawn_probability":"Prawdopodobieństwo Pojawiania Się Bytów","biome.depth":"Głębokość","biome.depth.help":"Wznosi lub obniża teren. Dodatnie wartości to lądy, a ujemne to oceany.","biome.downfall":"Spadek","biome.effects":"Efekty","biome.effects.additions_sound":"Dodatki Dźwiękowe","biome.effects.additions_sound.sound":"Dźwięk","biome.effects.additions_sound.tick_chance":"Szansa W Ticku","biome.effects.ambient_sound":"Dźwięk Otoczenia","biome.effects.fog_color":"Kolor Mgły","biome.effects.foliage_color":"Kolor Roślinności","biome.effects.grass_color":"Kolor Trawy","biome.effects.grass_color_modifier":"Modyfikator Koloru Trawy","biome.effects.grass_color_modifier.dark_forest":"Ciemny Las","biome.effects.grass_color_modifier.none":"Żaden","biome.effects.grass_color_modifier.swamp":"Bagno","biome.effects.mood_sound":"Nastrojowy Dźwięk","biome.effects.mood_sound.block_search_extent":"Zakres Szukania Bloku","biome.effects.mood_sound.offset":"Przesunięcie","biome.effects.mood_sound.sound":"Dźwięk","biome.effects.mood_sound.tick_delay":"Opóźnienie Ticku","biome.effects.music":"Muzyka","biome.effects.music.max_delay":"Maksymalne Opóźnienie","biome.effects.music.min_delay":"Minimalne Opóźnienie","biome.effects.music.replace_current_music":"Zastąp Bieżącą Muzykę","biome.effects.music.sound":"Dźwięk","biome.effects.particle":"Cząsteczka","biome.effects.particle.options":"Opcje","biome.effects.particle.options.type":"Typ Cząsteczki","biome.effects.particle.probability":"Prawdopodobieństwo","biome.effects.sky_color":"Kolor Nieba","biome.effects.water_color":"Kolor Wody","biome.effects.water_fog_color":"Kolor Mgły Wody","biome.features":"Aspekty","biome.features.entry":"Krok %0%","biome.features.entry.entry":"Aspekt","biome.player_spawn_friendly":"Przyjazny Spawnowi Gracza","biome.player_spawn_friendly.help":"Jeżeli prawdziwe, spawn świata będzie preferował ten biom.","biome.precipitation":"Opad","biome.precipitation.none":"Żaden","biome.precipitation.rain":"Deszcz","biome.precipitation.snow":"Śnieg","biome.scale":"Skala","biome.scale.help":"Rozciąga teren pionowo. Niższe wartości produkują bardziej płaski teren.","biome.spawn_costs":"Koszty Spawnu","biome.spawn_costs.charge":"Koszt","biome.spawn_costs.energy_budget":"Budżet Energii","biome.spawners":"Spawnery","biome.spawners.ambient":"Pasywne","biome.spawners.creature":"Stworzenia","biome.spawners.entry":"Spawn","biome.spawners.entry.maxCount":"Maksymalna Liczba","biome.spawners.entry.minCount":"Minimalna Liczba","biome.spawners.entry.type":"Typ","biome.spawners.entry.weight":"Waga","biome.spawners.misc":"Rozmaite","biome.spawners.monster":"Potwór","biome.spawners.water_ambient":"Wodne Pasywne","biome.spawners.water_creature":"Wodne Stworzenia","biome.starts":"Początek Struktury","biome.starts.entry":"Struktura","biome.starts.help":"Lista skonfigurowanych aspektów struktury.","biome.surface_builder":"Konstruktor Powierzchni","biome.temperature":"Temperatura","biome.temperature_modifier":"Modyfikator Temperatury","biome.temperature_modifier.frozen":"Zamarznięty","biome.temperature_modifier.none":"Żaden","block.block":"ID Bloku","block.nbt":"NBT","block.state":"Stan Bloku","block.tag":"Tag Bloku","block_placer.column_placer.extra_size":"Ekstra Rozmiar","block_placer.column_placer.min_size":"Minimalny Rozmiar","block_placer.type":"Typ","block_state.Name":"Nazwa","block_state.Properties":"Właściwości","block_state_provider.rotated_block_provider.state":"Stan","block_state_provider.simple_state_provider.state":"Stan","block_state_provider.type":"Typ","block_state_provider.weighted_state_provider.entries":"Wpisy","block_state_provider.weighted_state_provider.entries.entry.data":"Stan","block_state_provider.weighted_state_provider.entries.entry.weight":"Waga","carver.config":"Konfiguracja","carver.config.probability":"Prawdopodobieństwo","carver.type":"Typ","children":"Dzieci","children.entry":"Wpis","condition.alternative.terms":"Warunki","condition.block_state_property.block":"Blok","condition.block_state_property.properties":"Stan Bloku","condition.condition":"Warunek","condition.damage_source":"Źródło Obrażeń","condition.entity_properties.entity":"Byt","condition.entity_scores.entity":"Byt","condition.entity_scores.scores":"Wyniki","condition.entry":"Predicate","condition.inverted.term":"Warunek","condition.item":"Przedmiot","condition.killed_by_player.inverse":"Odwrócony","condition.list":"Wiele","condition.location":"Lokacja","condition.location_check.offsetX":"Przesunięcie X","condition.location_check.offsetY":"Przesunięcie Y","condition.location_check.offsetZ":"Przesunięcie Z","condition.object":"Proste","condition.random_chance.chance":"Szansa","condition.random_chance_with_looting.chance":"Szansa","condition.random_chance_with_looting.looting_multiplier":"Mnożnik Grabieży","condition.reference.name":"Nazwa Predicate","condition.table_bonus.chances":"Szanse","condition.table_bonus.chances.entry":"Szansa","condition.table_bonus.enchantment":"Zaklęcie","condition.time_check.period":"Okres","condition.time_check.period.help":"Jeżeli obecne, czas będzie podzielony modulo przez tą wartość. Na przykład, jeżeli będzie ustawiony na 24000, wartość będzie operować na okresie czasu dni.","condition.time_check.value":"Wartość","condition.weather_check.raining":"Pada Deszcz","condition.weather_check.thundering":"Walą Pioruny","conditions":"Warunki","conditions.entry":"Warunek","conditions.list":"Warunki","conditions.object":"Legacy","copy_source.block_entity":"Byt Bloku","copy_source.direct_killer":"Bezpośredni Zabójca","copy_source.killer":"Zabójca","copy_source.killer_player":"Gracz Zabójca","copy_source.this":"To","criterion.bee_nest_destroyed.block":"Blok","criterion.bee_nest_destroyed.num_bees_inside":"Liczba Pszczół Wewnątrz","criterion.bred_animals.child":"Dziecko","criterion.bred_animals.parent":"Rodzic","criterion.bred_animals.partner":"Partner","criterion.brewed_potion.potion":"Mikstura","criterion.changed_dimension.from":"Z","criterion.changed_dimension.to":"Do","criterion.channeled_lightning.victims":"Ofiary","criterion.channeled_lightning.victims.entry":"Byt","criterion.conditions":"Warunki","criterion.construct_beacon.beacon_level":"Poziom Piramidy","criterion.consume_item.item":"Przedmiot","criterion.cured_zombie_villager.villager":"Wieśniak","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Efekty","criterion.enchanted_item.item":"Przedmiot","criterion.enchanted_item.levels":"Poziom XP","criterion.enter_block.block":"Blok","criterion.enter_block.state":"Stany","criterion.entity_hurt_player.damage":"Obrażenia","criterion.entity_killed_player.entity":"Byt Źródłowy","criterion.entity_killed_player.killing_blow":"Zabójczy Cios","criterion.filled_bucket.item":"Przedmiot","criterion.fishing_rod_hooked.entity":"Przyciągnięty Byt","criterion.fishing_rod_hooked.item":"Przedmiot","criterion.hero_of_the_village.location":"Lokacja","criterion.inventory_changed.items":"Przedmioty","criterion.inventory_changed.items.entry":"Przedmiot","criterion.inventory_changed.slots":"Sloty","criterion.inventory_changed.slots.empty":"Puste Sloty","criterion.inventory_changed.slots.full":"Pełne Sloty","criterion.inventory_changed.slots.occupied":"Zajęte Sloty","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Wytrzymałość","criterion.item_durability_changed.item":"Przedmiot","criterion.item_used_on_block.item":"Przedmiot","criterion.item_used_on_block.location":"Lokacja","criterion.killed_by_crossbow.unique_entity_types":"Ilość Unikalnych Typów Bytów","criterion.killed_by_crossbow.victims":"Ofiary","criterion.killed_by_crossbow.victims.entry":"Byt","criterion.levitation.distance":"Dystans","criterion.levitation.duration":"Czas Trwania","criterion.location.location":"Lokacja","criterion.nether_travel.distance":"Dystans","criterion.nether_travel.entered":"Wejście Do Lokacji","criterion.nether_travel.exited":"Wyjście Z Lokacji","criterion.placed_block.block":"Blok","criterion.placed_block.item":"Przedmiot","criterion.placed_block.location":"Lokacja","criterion.placed_block.state":"Stany","criterion.player":"Gracz","criterion.player_generates_container_loot.loot_table":"Tabela Łupów","criterion.player_hurt_entity.damage":"Obrażenia","criterion.player_hurt_entity.entity":"Byt Ofiara","criterion.player_killed_entity.entity":"Byt Ofiara","criterion.player_killed_entity.killing_blow":"Zabójczy Cios","criterion.recipe_unlocked.recipe":"Przepis","criterion.rod":"Pałka","criterion.shot_crossbow.item":"Przedmiot","criterion.slept_in_bed.location":"Lokacja","criterion.slide_down_block.block":"Blok","criterion.summoned_entity.entity":"Byt","criterion.tame_animal.entity":"Zwierzę","criterion.target_hit.projectile":"Pocisk","criterion.target_hit.shooter":"Strzelec","criterion.target_hit.signal_strength":"Siła Sygnału","criterion.thrown_item_picked_up_by_entity.entity":"Byt","criterion.thrown_item_picked_up_by_entity.item":"Przedmiot","criterion.trigger":"Wyzwalacz","criterion.used_ender_eye.distance":"Dystans","criterion.used_totem.item":"Przedmiot Totem","criterion.villager_trade.item":"Kupiono Przedmiot","criterion.villager_trade.villager":"Wieśniak","criterion.voluntary_exile.location":"Lokacja","damage.blocked":"Zablokowane","damage.dealt":"Zadane Obrażenia","damage.source_entity":"Byt Źródłowy","damage.taken":"Otrzymane Obrażenia","damage.type":"Typ Obrażeń","damage_source.bypasses_armor":"Omijające Zbroję","damage_source.bypasses_invulnerability":"Pustka","damage_source.bypasses_magic":"Głód","damage_source.direct_entity":"Bezpośredni Byt","damage_source.is_explosion":"Eksplozja","damage_source.is_fire":"Ogień","damage_source.is_lightning":"Piorun","damage_source.is_magic":"Magia","damage_source.is_projectile":"Pocisk","damage_source.source_entity":"Byt Źródłowy","decorator.carving_mask.step":"Krok Generacji","decorator.config":"Konfiguracja","decorator.count.count":"Ilość","decorator.count_extra.count":"Ilość","decorator.count_extra.extra_chance":"Ekstra Szansa","decorator.count_extra.extra_count":"Ekstra Ilość","decorator.count_multilayer.count":"Ilość","decorator.count_noise.above_noise":"Powyżej Szumu","decorator.count_noise.below_noise":"Poniżej Szumu","decorator.count_noise.noise_level":"Poziom Szumu","decorator.count_noise_biased.noise_factor":"Czynnik Szumu","decorator.count_noise_biased.noise_offset":"Przesunięcie Szumu","decorator.count_noise_biased.noise_to_count_ratio":"Stosunek Szumu Do Ilości","decorator.decorated.inner":"Wewnętrzny","decorator.decorated.outer":"Zewnętrzny","decorator.depth_average.baseline":"Linia Bazowa","decorator.depth_average.spread":"Szerokość","decorator.glowstone.count":"Ilość","decorator.type":"Typ","dimension":"Wymiar","dimension.generator":"Generator","dimension.generator.biome_source":"Źródło Biomu","dimension.overworld":"Powierzchnia","dimension.the_end":"Kres","dimension.the_nether":"Nether","dimension.type":"Typ Wymiaru","dimension.type.object":"Własne","dimension.type.string":"Preset","dimension_type.ambient_light":"Światło Otoczenia","dimension_type.ambient_light.help":"Wartość pomiędzy 0 i 1.","dimension_type.bed_works":"Łóżko Działa","dimension_type.coordinate_scale":"Skalowanie Koordynatów","dimension_type.effects":"Efekty","dimension_type.effects.overworld":"Powierzchnia","dimension_type.effects.the_end":"Kres","dimension_type.effects.the_nether":"Nether","dimension_type.fixed_time":"Niezmienny Czas","dimension_type.fixed_time.help":"To ustawienie sprawi że słońce nie będzie się ruszać.","dimension_type.has_ceiling":"Ma Sufit","dimension_type.has_raids":"Ma Najazdy","dimension_type.has_skylight":"Ma Światło Nieba","dimension_type.infiniburn":"Infiniburn","dimension_type.logical_height":"Logiczna Wysokość","dimension_type.name":"Nazwa","dimension_type.natural":"Naturalny","dimension_type.natural.help":"Jeżeli prawdziwe, portale będą przyzywać zombifikowane pigliny. Jeżeli fałszywe, kompasy i zegarki będą kręcić się losowo.","dimension_type.piglin_safe":"Bezpieczny Dla Piglinów","dimension_type.respawn_anchor_works":"Kotwica Odrodzenia","dimension_type.ultrawarm":"Ultraciepły","dimension_type.ultrawarm.help":"Jeżeli prawdziwe, woda będzie wyparowywać i gąbki będą wysychać.","distance.absolute":"Absolutny","distance.horizontal":"Poziomy","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Wydajność Pod Wodą","enchantment.bane_of_arthropods":"Zmora Stawonogó","enchantment.binding_curse":"Klątwa Wiązania","enchantment.blast_protection":"Ochrona Od Wybuchów","enchantment.channeling":"Porażenie","enchantment.depth_strider":"Głębinowy Wędrowiec","enchantment.efficiency":"Wydajność","enchantment.enchantment":"Zaklęcie","enchantment.feather_falling":"Powolne Opadanie","enchantment.fire_aspect":"Zaklęty Ogień","enchantment.fire_protection":"Ochrona Przed Ogniem","enchantment.flame":"Płomień","enchantment.fortune":"Szczęście","enchantment.frost_walker":"Mroźny Piechur","enchantment.impaling":"Przebicie","enchantment.infinity":"Nieskończoność","enchantment.knockback":"Odrzut","enchantment.levels":"Poziomy","enchantment.looting":"Grabież","enchantment.loyalty":"Lojalność","enchantment.luck_of_the_sea":"Morska Fortuna","enchantment.lure":"Przynęta","enchantment.mending":"Naprawa","enchantment.multishot":"Wielostrzał","enchantment.piercing":"Przeszycie","enchantment.power":"Moc","enchantment.projectile_protection":"Ochrona Przed Pociskami","enchantment.protection":"Ochrona","enchantment.punch":"Uderzenie","enchantment.quick_charge":"Szybkie Przeładowanie","enchantment.respiration":"Oddychanie","enchantment.riptide":"Torpeda","enchantment.sharpness":"Ostrość","enchantment.silk_touch":"Jedwabny Dotyk","enchantment.smite":"Pogromca Nieumarłych","enchantment.sweeping":"Szerokie Ostrze","enchantment.thorns":"Ciernie","enchantment.unbreaking":"Niezniszczalność","enchantment.vanishing_curse":"Klątwa Znikania","entity.distance":"Dystans","entity.effects":"Efekty","entity.equipment":"Ekwipunek","entity.fishing_hook":"Spławik","entity.fishing_hook.in_open_water":"Na Otwartej Wodzie","entity.flags":"Flagi","entity.isBaby":"Dziecko","entity.isOnFire":"Pali Się","entity.isSneaking":"Skrada się","entity.isSprinting":"Biega","entity.isSwimming":"Pływa","entity.location":"Lokacja","entity.nbt":"NBT","entity.player":"Gracz","entity.targeted_entity":"Byt Docelowy","entity.team":"Drużyna","entity.type":"Byt","entity.vehicle":"Pojazd","entity_source.direct_killer":"Bezpośredni Zabójca","entity_source.killer":"Zabójca","entity_source.killer_player":"Gracz Zabójca","entity_source.this":"To","entry":"Wpis","error":"Błąd","error.expected_boolean":"Oczekiwano wartości prawda lub fałsz","error.expected_integer":"Oczekiwano liczby całkowitej","error.expected_json":"Oczekiwano JSON","error.expected_list":"Oczekiwano listy","error.expected_number":"Oczekiwano liczby","error.expected_object":"Oczekiwano obiektu","error.expected_range":"Oczekiwano zakresu","error.expected_string":"Oczekiwano wartości string","error.expected_uniform_int":"Oczekiwano jednolitej liczby całkowitej","error.invalid_binomial":"Zasięg nie może użyć typu dwumianowego","error.invalid_empty_list":"Lista nie może być pusta","error.invalid_empty_string":"String nie może być pusty","error.invalid_enum_option":"Niepoprawna opcja \\"%0%\\"","error.invalid_exact":"Zasięg nie może używać stałego typu","error.invalid_number_range.between":"Oczekiwano liczby między %0% a %1%","error.invalid_pattern":"String jest niepoprawny: %0%","error.recipe.invalid_key":"tylko pojedynczy znak jest dozwolony jako klucz","error.separation_smaller_spacing":"Rozdzielenie musi być mniejsze niż spacjowanie","false":"Fałsz","feature.bamboo.probability":"Prawdopodobieństwo","feature.basalt_columns.height":"Wysokość","feature.basalt_columns.reach":"Zasięg","feature.block_pile.state_provider":"Dostawca Stanu","feature.config":"Konfiguracja","feature.decorated.decorator":"Dekorator","feature.decorated.feature":"Aspekt","feature.delta_feature.contents":"Zawartość","feature.delta_feature.rim":"Brzeg","feature.delta_feature.rim_size":"Wielkość Brzegu","feature.delta_feature.size":"Rozmiar","feature.disk.half_height":"Pół Wysokości","feature.disk.radius":"Promień","feature.disk.state":"Stan","feature.disk.targets":"Cele","feature.disk.targets.entry":"Stan","feature.emerald_ore.state":"Stan","feature.emerald_ore.target":"Cel","feature.end_gateway.exact":"Dokładne","feature.end_gateway.exit":"Wyjście","feature.end_spike.crystal_beam_target":"Cel Wiązki Kryształu","feature.end_spike.crystal_invulnerable":"Niezniszczalny Kryształ","feature.end_spike.spikes":"Kolce","feature.end_spike.spikes.entry":"Kolec","feature.end_spike.spikes.entry.centerX":"Środek X","feature.end_spike.spikes.entry.centerZ":"Środek Z","feature.end_spike.spikes.entry.guarded":"Broniący","feature.end_spike.spikes.entry.height":"Wysokość","feature.end_spike.spikes.entry.radius":"Promień","feature.fill_layer.height":"Wysokość","feature.fill_layer.state":"Stan","feature.flower.blacklist":"Czarna Lista","feature.flower.block_placer":"Stawiacz Bloków","feature.flower.can_replace":"Może Podmienić","feature.flower.need_water":"Potrzebuje Wody","feature.flower.project":"Project","feature.flower.state_provider":"Dostawca Stanu","feature.flower.tries":"Próby","feature.flower.whitelist":"Biała Lista","feature.flower.xspread":"Rozsiew X","feature.flower.yspread":"Rozsiew Y","feature.flower.zspread":"Rozsiew Z","feature.forest_rock.state":"Stan","feature.huge_brown_mushroom.cap_provider":"Dostawca Limitu","feature.huge_brown_mushroom.foliage_radius":"Promień Roślinności","feature.huge_brown_mushroom.stem_provider":"Dostawca Trzonu","feature.huge_fungus.decor_state":"Dekoracja","feature.huge_fungus.hat_state":"Kapelusz","feature.huge_fungus.planted":"Zasadzony","feature.huge_fungus.stem_state":"Trzon","feature.huge_fungus.valid_base_block":"Prawidłowa Powierzchnia","feature.huge_red_mushroom.cap_provider":"Dostawca Limitu","feature.huge_red_mushroom.foliage_radius":"Promień Roślinności","feature.huge_red_mushroom.stem_provider":"Dostawca Nóżki","feature.ice_patch.half_height":"Połowa Wysokości","feature.ice_patch.radius":"Promień","feature.ice_patch.state":"Stan","feature.ice_patch.targets":"Cele","feature.ice_patch.targets.entry":"Stan","feature.iceberg.state":"Stan","feature.lake.state":"Stan","feature.nether_forest_vegetation.state_provider":"Dostawca Stanu","feature.netherrack_replace_blobs.radius":"Promień","feature.netherrack_replace_blobs.state":"Stan","feature.netherrack_replace_blobs.target":"Cel","feature.no_surface_ore.size":"Rozmiar","feature.no_surface_ore.state":"Stan","feature.no_surface_ore.target":"Cel","feature.object":"Własny","feature.ore.size":"Rozmiar","feature.random_boolean_selector.feature_false":"Aspekt 1","feature.random_boolean_selector.feature_true":"Aspekt 2","feature.random_patch.blacklist":"Czarna Lista","feature.random_patch.block_placer":"Stawiacz Bloków","feature.random_patch.can_replace":"Może Zastąpić","feature.random_patch.need_water":"Potrzebuje Wody","feature.random_patch.project":"Project","feature.random_patch.state_provider":"Dostawca Stanu","feature.random_patch.tries":"Próby","feature.random_patch.whitelist":"Biała Lista","feature.random_patch.xspread":"Rozsiew X","feature.random_patch.yspread":"Rozsiew Y","feature.random_patch.zspread":"Rozsiew Z","feature.random_selector.default":"Domyślne","feature.random_selector.features":"Aspekty","feature.random_selector.features.entry":"Aspekt","feature.random_selector.features.entry.chance":"Szansa","feature.random_selector.features.entry.feature":"Aspekt","feature.sea_pickle.count":"Ilość","feature.seegrass.probability":"Prawdopodobieństwo","feature.simple_block.place_in":"Wstaw W","feature.simple_block.place_in.entry":"Stan","feature.simple_block.place_on":"Wstaw Na","feature.simple_block.place_on.entry":"Stan","feature.simple_block.place_under":"Wstaw Pod","feature.simple_block.place_under.entry":"Stan","feature.simple_block.to_place":"Wstawiać","feature.simple_random_selector.features":"Aspekty","feature.simple_random_selector.features.entry":"Aspekt","feature.spring_feature.hole_count":"Liczba Dziur","feature.spring_feature.required_block_below":"Potrzebuje Bloku Poniżej","feature.spring_feature.rock_count":"Ilość Skał","feature.spring_feature.state":"Stan","feature.spring_feature.valid_blocks":"Prawidłowe Bloki","feature.string":"Odniesienie","feature.tree.decorators":"Dekoratory","feature.tree.decorators.entry":"Dekorator Drzew","feature.tree.foliage_placer":"Stawiacz Roślinności","feature.tree.heightmap":"Mapa Wysokości","feature.tree.ignore_vines":"Ignoruj Pnącza","feature.tree.leaves_provider":"Dostawca Liści","feature.tree.max_water_depth":"Maksymalna Głębokość Wody","feature.tree.minimum_size":"Minimalny Rozmiar","feature.tree.minimum_size.limit":"Limit","feature.tree.minimum_size.lower_size":"Mniejszy Rozmiar","feature.tree.minimum_size.middle_size":"Średni Rozmiar","feature.tree.minimum_size.min_clipped_height":"Minimalna Wysokość","feature.tree.minimum_size.type":"Minimalny Rozmiar","feature.tree.minimum_size.upper_limit":"Górna Granica","feature.tree.minimum_size.upper_size":"Górny Rozmiar","feature.tree.trunk_placer":"Stawiacz Pni","feature.tree.trunk_provider":"Dostawca Pni","feature.type":"Typ","fluid.fluid":"ID Płynu","fluid.state":"Stan Płynu","fluid.tag":"Tag Płynu","fluid_state.Name":"Nazwa","fluid_state.Properties":"Właściwości","foliage_placer.crown_height":"Wysokość Korony","foliage_placer.height":"Wysokość","foliage_placer.offset":"Przesunięcie","foliage_placer.radius":"Promień","foliage_placer.trunk_height":"Wysokość Pnia","foliage_placer.type":"Typ","function.apply_bonus.enchantment":"Zaklęcie","function.apply_bonus.formula":"Wzór","function.apply_bonus.formula.binomial_with_bonus_count":"Dwumian z Ilością Bonusową","function.apply_bonus.formula.ore_drops":"Drop Z Rud","function.apply_bonus.formula.uniform_bonus_count":"Jednolity Bonus","function.apply_bonus.parameters":"Parametry","function.apply_bonus.parameters.bonusMultiplier":"Mnożnik","function.apply_bonus.parameters.extra":"Dodatkowe","function.apply_bonus.parameters.probability":"Prawdopodobieństwo","function.copy_name.source":"Źródło","function.copy_nbt.ops":"Działania NBT","function.copy_nbt.ops.entry":"Działanie","function.copy_nbt.source":"Źródło","function.copy_state.block":"Blok","function.copy_state.properties":"Właściwości","function.copy_state.properties.entry":"Własność","function.enchant_randomly.enchantments":"Opcjonalne Zaklęcia","function.enchant_randomly.enchantments.entry":"Zaklęcie","function.enchant_with_levels.levels":"Poziomy","function.enchant_with_levels.treasure":"Skarb","function.exploration_map.decoration":"Dekoracja","function.exploration_map.destination":"Miejsce Docelowe","function.exploration_map.search_radius":"Promien Wyszukiwania (W Chunkach)","function.exploration_map.skip_existing_chunks":"Pomiń Istniejące Chunki","function.exploration_map.zoom":"Powiększenie","function.fill_player_head.entity":"Byt","function.function":"Funkcja","function.limit_count.limit":"Limit","function.looting_enchant.count":"Ilość","function.looting_enchant.limit":"Limit","function.set_attributes.modifiers":"Modyfikatory","function.set_attributes.modifiers.entry":"Modyfikator","function.set_contents.entries":"Zawartość","function.set_contents.entries.entry":"Wpis","function.set_count.count":"Ilość","function.set_damage.damage":"Obrażenia","function.set_data.data":"Data","function.set_loot_table.name":"Nazwa Tabeli Łupów","function.set_loot_table.seed":"Seed","function.set_lore.entity":"Byt","function.set_lore.lore":"Lore","function.set_lore.lore.entry":"Linijka","function.set_lore.replace":"Zamień","function.set_name.entity":"Byt","function.set_name.name":"Nazwa","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Efekty","function.set_stew_effect.effects.entry":"Efekt","function.set_stew_effect.effects.entry.duration":"Długość","function.set_stew_effect.effects.entry.type":"Efekt","functions":"Funkcje","functions.entry":"Funkcja","gamemode.adventure":"Przygodowy","gamemode.creative":"Kreatywny","gamemode.spectator":"Spektator","gamemode.survival":"Przetrwania","generation_step.air":"Powietrze","generation_step.liquid":"Płyn","generator.biome_source.altitude_noise":"Szum Wysokości","generator.biome_source.biome":"Biom","generator.biome_source.biomes":"Biomy","generator.biome_source.humidity_noise":"Szum Wilgotności","generator.biome_source.large_biomes":"Duże Biomy","generator.biome_source.legacy_biome_init_layer":"Warstwa Inicjująca Biom Legacy","generator.biome_source.preset":"Presety Biomów","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Skala","generator.biome_source.seed":"Seed Biomów","generator.biome_source.temperature_noise":"Szum Temperatury","generator.biome_source.type":"Źródło Biomów","generator.biome_source.weirdness_noise":"Szum Dziwności","generator.seed":"Seed Wymiarów","generator.settings":"Ustawienia Generatora","generator.settings.biome":"Biom","generator.settings.lakes":"Jeziora","generator.settings.layers":"Warstwy","generator.settings.layers.entry":"Warstwa","generator.settings.layers.entry.block":"ID Bloku","generator.settings.layers.entry.height":"Wysokość","generator.settings.object":"Własne","generator.settings.presets.amplified":"Powiększony","generator.settings.presets.caves":"Jaskinie","generator.settings.presets.end":"Kres","generator.settings.presets.floating_islands":"Latające Wyspy","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Powierzchnia","generator.settings.string":"Preset","generator.settings.structures":"Struktury","generator.settings.structures.stronghold":"Lochy","generator.settings.structures.stronghold.count":"Ilość","generator.settings.structures.stronghold.distance":"Dystans","generator.settings.structures.stronghold.spread":"Rozsiew","generator.settings.structures.structures":"Struktury","generator.type":"Typ Generatora","generator_biome.biome":"Biom","generator_biome.parameters":"Parametry","generator_biome.parameters.altitude":"Wysokość","generator_biome.parameters.help":"Te parametry ustalają umieszczenie biomu. Każdy biom musi posiadać ich unikalną kombinację. Biomy z podobnymi wartościami wygenerują się blisko siebie.","generator_biome.parameters.humidity":"Wilgotność","generator_biome.parameters.offset":"Przesunięcie","generator_biome.parameters.temperature":"Temperatura","generator_biome.parameters.weirdness":"Dziwność","generator_biome_noise.amplitudes":"Amplitudy","generator_biome_noise.amplitudes.entry":"Oktawa %0%","generator_biome_noise.firstOctave":"Pierwsza Oktawa","generator_structure.salt":"Sól","generator_structure.separation":"Rozdzielenie","generator_structure.separation.help":"Minimalny dystans, w chunkach, pomiędzy dwiema strukturami tego typu.","generator_structure.spacing":"Spacjowanie","generator_structure.spacing.help":"Średni dystans, w chunkach, pomiędzy dwiema strukturami tego typu.","heightmap_type.MOTION_BLOCKING":"Blokowanie Ruchu","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"Blokowanie Ruchu (Bez Liści)","heightmap_type.OCEAN_FLOOR":"Podłoże Oceanu","heightmap_type.OCEAN_FLOOR_WG":"Podłoże Oceanu (Generator Świata)","heightmap_type.WORLD_SURFACE":"Powierzchnia Świata","heightmap_type.WORLD_SURFACE_WG":"Powierzchnia Świata (Generator Świata)","hide_source":"Ukryj Źródło","item.count":"Ilość","item.durability":"Wytrzymałość","item.enchantments":"Zaklęcia","item.enchantments.entry":"Zaklęcie","item.item":"ID Przedmiotu","item.nbt":"NBT","item.potion":"Mikstura","item.tag":"Tag Przedmiotu","key.advancements":"Postępy","key.attack":"Atak/Niszczenie","key.back":"Idź Do Tyłu","key.chat":"Otwórz Czat","key.command":"Napisz Komendę","key.drop":"Upuść Trzymany Przedmiot","key.forward":"Idź Do Przodu","key.fullscreen":"Przełącz Pełny Ekran","key.hotbar.1":"Slot Paska 1","key.hotbar.2":"Slot Paska 2","key.hotbar.3":"Slot Paska 3","key.hotbar.4":"Slot Paska 4","key.hotbar.5":"Slot Paska 5","key.hotbar.6":"Slot Paska 6","key.hotbar.7":"Slot Paska 7","key.hotbar.8":"Slot Paska 8","key.hotbar.9":"Slot Paska 9","key.inventory":"Otwórz/Zamknij Ekwipunek","key.jump":"Skok","key.left":"Idź W Lewo","key.loadToolbarActivator":"Załaduj Okienko Toolbar\'ów","key.pickItem":"Wybierz Blok","key.playerlist":"Lista Graczy","key.right":"Idź W Prawo","key.saveToolbarActivator":"Zapisz Okienko Toolbar\'ów","key.screenshot":"Zrób Screnshot","key.smoothCamera":"Włącz Płynną Kamerę","key.sneak":"Skradanie","key.spectatorOutlines":"Podświetl Graczy (Jako Spektator)","key.sprint":"Sprint","key.swapOffhand":"Zmień Przedmiot Z Drugą Ręką","key.togglePerspective":"Przełącz Kamerę","key.use":"Użyj Przedmiotu/Postaw Blok","location.biome":"Biom","location.block":"Blok","location.dimension":"Wymiar","location.feature":"Aspekt","location.fluid":"Płyn","location.light":"Światło","location.light.light":"Widzialny Poziom Światła","location.position":"Pozycja","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Zadymione","loot_condition_type.alternative":"Alternatywa","loot_condition_type.block_state_property":"Właściwości Bloku","loot_condition_type.damage_source_properties":"Źródło Obrażeń","loot_condition_type.entity_properties":"Właściwości Bytu","loot_condition_type.entity_scores":"Wyniki Bytu","loot_condition_type.inverted":"Odwrócone","loot_condition_type.killed_by_player":"Zabity przez Gracza","loot_condition_type.location_check":"Lokacja","loot_condition_type.match_tool":"Właściwości Narzędzia","loot_condition_type.random_chance":"Losowa Szansa","loot_condition_type.random_chance_with_looting":"Losowa Szansa z Grabieżą","loot_condition_type.reference":"Odniesienie","loot_condition_type.survives_explosion":"Przetrwa Wybuch","loot_condition_type.table_bonus":"Bonus Tabeli","loot_condition_type.time_check":"Czas","loot_condition_type.weather_check":"Pogoda","loot_entry.dynamic.name":"Nazwa","loot_entry.item.name":"Nazwa","loot_entry.loot_table.name":"Nazwa Tabeli Łupów","loot_entry.quality":"Jakość","loot_entry.tag.expand":"Rozwiń","loot_entry.tag.expand.help":"Jeżeli fałszywe, wpis zwróci całą zawartość tagu, w innym przypadku wpis zachowa się jak wiele wpisów przedmiotów.","loot_entry.tag.name":"Nazwa Tagu Przedmiotów","loot_entry.type":"Typ","loot_entry.weight":"Waga","loot_function_type.apply_bonus":"Dodaj Bonus","loot_function_type.copy_name":"Skopiuj Nazwę","loot_function_type.copy_nbt":"Skopiuj NBT","loot_function_type.copy_state":"Skopiuj Stany Bloku","loot_function_type.enchant_randomly":"Losowe Zaklinanie","loot_function_type.enchant_with_levels":"Zaklnij Poziomami","loot_function_type.exploration_map":"Właściwości Mapy Odkrywczej","loot_function_type.explosion_decay":"Zanik Wybuchu","loot_function_type.fill_player_head":"Wstaw Głowę Gracza","loot_function_type.furnace_smelt":"Przepal Piecem","loot_function_type.limit_count":"Limit Ilości","loot_function_type.looting_enchant":"Zaklęcie Grabieży","loot_function_type.set_attributes":"Ustaw Atrybuty","loot_function_type.set_contents":"Ustaw Zawartość","loot_function_type.set_count":"Ustaw Ilość","loot_function_type.set_damage":"Ustaw Damage","loot_function_type.set_data":"Ustaw Data","loot_function_type.set_loot_table":"Ustaw Tabelę Łupów","loot_function_type.set_lore":"Ustaw Lore","loot_function_type.set_name":"Ustaw Nazwę","loot_function_type.set_nbt":"Ustaw NBT","loot_function_type.set_stew_effect":"Ustaw Efekt Potrawki","loot_pool.bonus_rolls":"Dodatkowe Wybory","loot_pool.entries":"Wpisy","loot_pool.entries.entry":"Wpis","loot_pool.rolls":"Wybory","loot_pool.rolls.help":"Ilość wpisów które będą losowo wybierane.","loot_pool_entry_type.alternatives":"Alternatywy","loot_pool_entry_type.alternatives.help":"Sprawdza warunki wpisów dzieci i wykonuje pierwsze które je spełnia.","loot_pool_entry_type.dynamic":"Dynamiczne","loot_pool_entry_type.dynamic.help":"Pobiera drop specyficzny dla bloku.","loot_pool_entry_type.empty":"Puste","loot_pool_entry_type.empty.help":"Nic nie dodaje do puli.","loot_pool_entry_type.group":"Grupa","loot_pool_entry_type.group.help":"Wykonuje wszytkie wpisy dzieci gdy jej warunki są spełnione.","loot_pool_entry_type.item":"Przedmiot","loot_pool_entry_type.item.help":"Dodaje pojedynczy przedmiot.","loot_pool_entry_type.loot_table":"Tabela Łupów","loot_pool_entry_type.loot_table.help":"Dodaje zawartość innej tabeli łupów.","loot_pool_entry_type.sequence":"Sekwencja","loot_pool_entry_type.sequence.help":"Wykonuje wpisy dzieci dopóki pierwszy z nich nie spełnia warunków.","loot_pool_entry_type.tag":"Tag Przedmiotów","loot_pool_entry_type.tag.help":"Dodaje zawartość tagu przedmiotów.","loot_table.pools":"Pule","loot_table.pools.entry":"Pula","luck_based":"Zależy Od Szczęścia","nbt_operation.op":"Działanie","nbt_operation.op.append":"Dodaj","nbt_operation.op.merge":"Połącz","nbt_operation.op.replace":"Zamień","nbt_operation.source":"Źródło","nbt_operation.target":"Cel","noise_settings.bedrock_floor_position":"Pozycja Bedrockowego Podłoża","noise_settings.bedrock_floor_position.help":"Pozycja podłoża skały macierzystej. Większe liczby przesuwają podłogę w górę.","noise_settings.bedrock_roof_position":"Pozycja Bedrockowego Sufitu","noise_settings.bedrock_roof_position.help":"Relatywna pozycja sufitu skały macierzystej, zaczynając od wysokości świata. Większe liczby przesuwają sufit w dół.","noise_settings.biome":"Biom","noise_settings.default_block":"Domyślny Blok","noise_settings.default_fluid":"Domyślny Płyn","noise_settings.disable_mob_generation":"Wyłącz Generowanie Mobów","noise_settings.disable_mob_generation.help":"Jeżeli prawdziwe, moby nie będą pojawiać się podczas generacji.","noise_settings.name":"Nazwa","noise_settings.noise":"Opcje Szumu","noise_settings.noise.amplified":"Powiększony","noise_settings.noise.bottom_slide":"Przesuń Dół","noise_settings.noise.bottom_slide.help":"Dodaje lub usuwa teren na dole świata. Nic nie robi gdy rozmiar jest ustawiony na 0.","noise_settings.noise.bottom_slide.offset":"Przesunięcie","noise_settings.noise.bottom_slide.size":"Rozmiar","noise_settings.noise.bottom_slide.target":"Cel","noise_settings.noise.density_factor":"Współczynnik Gęstości","noise_settings.noise.density_factor.help":"Ustala jak bardzo wysokość wpływa na teren. Dodanie wartości stawiają ląd na dole. Wartości bliskie 0 produkują jednolity teren.","noise_settings.noise.density_offset":"Przesunięcie Gęstości","noise_settings.noise.density_offset.help":"Wpływa na średnią wysokość ladu. Wartość 0 produkuje średnią wysokość lądu na połowie wysokości. Dodatnie wartości zwiększają wysokość.","noise_settings.noise.height":"Wysokość","noise_settings.noise.island_noise_override":"Nadpisz Szum Wysp","noise_settings.noise.island_noise_override.help":"Gdy prawdziwe, teren wygeneruje się tak jak Kres, z jedną większą wyspą na środku i z wieloma wyspami na zewnątrz.","noise_settings.noise.random_density_offset":"Losowe Przesunięcie Gęstości","noise_settings.noise.sampling":"Próbkowanie","noise_settings.noise.sampling.xz_factor":"Czynnik XZ","noise_settings.noise.sampling.xz_scale":"Skala XZ","noise_settings.noise.sampling.y_factor":"Czynnik Y","noise_settings.noise.sampling.y_scale":"Skala Y","noise_settings.noise.simplex_surface_noise":"Szum Powierzchni Sympleksu","noise_settings.noise.size_horizontal":"Rozmiar Poziomy","noise_settings.noise.size_vertical":"Rozmiar Pionowy","noise_settings.noise.top_slide":"Górne Przesunięcie","noise_settings.noise.top_slide.help":"Dodaje lub usuwa teren na górze świata. Nic nie robi gdy rozmiar jest równy 0.","noise_settings.noise.top_slide.offset":"Przesunięcie","noise_settings.noise.top_slide.size":"Rozmiar","noise_settings.noise.top_slide.target":"Cel","noise_settings.sea_level":"Poziom Morza","noise_settings.structures":"Struktury","noise_settings.structures.stronghold":"Loch","noise_settings.structures.stronghold.count":"Ilość","noise_settings.structures.stronghold.distance":"Dystans","noise_settings.structures.stronghold.spread":"Rozsiew","noise_settings.structures.structures":"Struktury","player.advancements":"Postępy","player.advancements.entry":"Postęp","player.gamemode":"Tryb Gry","player.level":"Poziom XP","player.recipes":"Przepisy","player.stats":"Statystyki","player.stats.entry":"Statystyka","pos_rule_test.always_true":"Zawsze Prawdziwe","pos_rule_test.axis":"Oś","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.axis.z":"Z","pos_rule_test.axis_aligned_linear_pos":"Wyrównana Do Osi Pozycja Liniowa","pos_rule_test.linear_pos":"Pozycja Liniowa","pos_rule_test.max_chance":"Maksymalna Szansa","pos_rule_test.max_dist":"Maksymalny Dystans","pos_rule_test.min_chance":"Minimalna Szansa","pos_rule_test.min_dist":"Minimalny Dystans","pos_rule_test.predicate_type":"Typ","processor.block_age.mossiness":"Mchowość","processor.block_ignore.blocks":"Bloki","processor.block_ignore.blocks.entry":"Stan","processor.block_rot.integrity":"Integralność","processor.gravity.heightmap":"Mapa Wysokości","processor.gravity.offset":"Przesunięcie","processor.processor_type":"Typ","processor.rule.rules":"Zasady","processor.rule.rules.entry":"Zasada","processor_list.processors":"Procesory","processor_list.processors.entry":"Procesor","processor_rule.input_predicate":"Predicate Wejściowy","processor_rule.location_predicate":"Predicate Lokacji","processor_rule.output_nbt":"Wyjściowe NBT","processor_rule.output_state":"Wyjściowy Stan","processor_rule.position_predicate":"Predicate Pozycji","processors.object":"Własne","processors.string":"Odniesienie","range.binomial":"Dwumianowy","range.max":"Maks","range.min":"Min","range.n":"n","range.number":"Dokładne","range.object":"Zasięg","range.p":"p","range.uniform":"Jednolity","requirements":"Wymagania","rule_test.always_true":"Zawsze Prawda","rule_test.block":"Blok","rule_test.block_match":"Blok Zgadza Się","rule_test.block_state":"Stan","rule_test.blockstate_match":"Stan Bloku Zgadza Się","rule_test.predicate_type":"Typ","rule_test.probability":"Prawdopodobieństwo","rule_test.random_block_match":"Losowy Blok Zgadza SIę","rule_test.random_blockstate_match":"Stan Losowego Bloku Zgadza Się","rule_test.tag":"Tag","rule_test.tag_match":"Tag Zgadza SIę","slot.chest":"Skrzynia","slot.feet":"Stopy","slot.head":"Głowa","slot.legs":"Nogi","slot.mainhand":"Główna Ręka","slot.offhand":"Druga Ręka","statistic.stat":"Statystyka","statistic.type":"Typ","statistic.type.broken":"Zepsute","statistic.type.crafted":"Zcraftowane","statistic.type.custom":"Własne","statistic.type.dropped":"Upuszczone","statistic.type.killed":"Zabite","statistic.type.killedByTeam":"Zabite Przez Drużynę","statistic.type.killed_by":"Zabite Przez","statistic.type.mined":"Wykopane","statistic.type.picked_up":"Podniesione","statistic.type.teamkill":"Zabito Drużynę","statistic.type.used":"Użyte","statistic.value":"Wartość","status_effect.ambient":"Pasywny","status_effect.amplifier":"Poziom","status_effect.duration":"Długość","status_effect.visible":"Widoczny","structure_feature.biome_temp":"Temperatura Biomu","structure_feature.biome_temp.cold":"Zimny","structure_feature.biome_temp.warm":"Ciepły","structure_feature.cluster_probability":"Prawdopodobieństwo Skupiska","structure_feature.config":"Konfiguracja","structure_feature.is_beached":"Jest Na Plaży","structure_feature.large_probability":"Duże Prawdopodobieństwo","structure_feature.portal_type":"Typ Portalu","structure_feature.portal_type.desert":"Pustynia","structure_feature.portal_type.jungle":"Dżungla","structure_feature.portal_type.mountain":"Góra","structure_feature.portal_type.nether":"Nether","structure_feature.portal_type.ocean":"Ocean","structure_feature.portal_type.standard":"Standardowy","structure_feature.portal_type.swamp":"Bagno","structure_feature.probability":"Prawdopodobieństwo","structure_feature.size":"Rozmiar","structure_feature.start_pool":"Pula Startowa","structure_feature.type":"Typ","structure_feature.type.mesa":"Mesa","structure_feature.type.normal":"Normalne","surface_builder.config":"Konfiguracja","surface_builder.top_material":"Materiał Na Górze","surface_builder.type":"Typ","surface_builder.under_material":"Materiał Pod Spodem","surface_builder.underwater_material":"Podwodny Materiał","table.type":"Typ","table.type.block":"Blok","table.type.chest":"Skrzynia","table.type.empty":"Pusty","table.type.entity":"Byt","table.type.fishing":"Łowienie","table.type.generic":"Zwykły","tag.replace":"Zastąp","tag.values":"Wartości","template_element.element_type":"Typ","template_element.elements":"Części","template_element.feature":"Aspekt","template_element.location":"Lokacja","template_element.processors":"Procesory","template_element.projection":"Projekcja","template_element.projection.rigid":"Sztywny","template_element.projection.terrain_matching":"Dopasowywanie Terenów","template_pool.elements":"Części","template_pool.elements.entry":"Część","template_pool.elements.entry.element":"Część","template_pool.elements.entry.weight":"Waga","template_pool.fallback":"Rezerwa","template_pool.name":"Nazwa","text_component":"Text Component","text_component.boolean":"Boolean","text_component.list":"Lista","text_component.number":"Liczba","text_component.object":"Obiekt","text_component.string":"String","text_component_object.block":"Blok","text_component_object.bold":"Pogrubiony","text_component_object.clickEvent":"Zdarzenie Przy Kliknięciu","text_component_object.clickEvent.action":"Akcja","text_component_object.clickEvent.action.change_page":"Zmień Stronę","text_component_object.clickEvent.action.copy_to_clipboard":"Skopiuj Do Schowka","text_component_object.clickEvent.action.open_file":"Otwórz Plik","text_component_object.clickEvent.action.open_url":"Otwórz URL","text_component_object.clickEvent.action.run_command":"Wykonaj Komendę","text_component_object.clickEvent.action.suggest_command":"Sugeruj Komendę","text_component_object.clickEvent.value":"Wartosć","text_component_object.color":"Kolor","text_component_object.entity":"Byt","text_component_object.extra":"Extra","text_component_object.font":"Czcionka","text_component_object.hoverEvent":"Zdarzenie Przy Najechaniu","text_component_object.hoverEvent.action":"Akcja","text_component_object.hoverEvent.action.show_entity":"Pokaż Byt","text_component_object.hoverEvent.action.show_item":"Pokaż Przedmiot","text_component_object.hoverEvent.action.show_text":"Pokaż Tekst","text_component_object.hoverEvent.contents":"Zawartość","text_component_object.hoverEvent.value":"Wartość","text_component_object.insertion":"Insertion","text_component_object.interpret":"Interpretuj","text_component_object.italic":"Pochylony","text_component_object.keybind":"Klawisz","text_component_object.nbt":"NBT","text_component_object.obfuscated":"Efekt Matrixa","text_component_object.score":"Wynik","text_component_object.score.name":"Nazwa","text_component_object.score.objective":"Cel","text_component_object.score.value":"Wartość","text_component_object.selector":"Selektor","text_component_object.storage":"Storage","text_component_object.strikethrough":"Przekreślenie","text_component_object.text":"Tekst","text_component_object.translate":"Tłumaczony Tekst","text_component_object.underlined":"Podkreślenie","text_component_object.with":"Tłumacz Z","tree_decorator.alter_ground.provider":"Dostawca Stanu","tree_decorator.beehive.probability":"Prawdopodobieństwo","tree_decorator.cocoa.probability":"Prawdopodobieństwo","tree_decorator.type":"Typ","true":"Prawda","trunk_placer.base_height":"Bazowa Wysokość","trunk_placer.height_rand_a":"Losowa Wysokość A","trunk_placer.height_rand_b":"Losowa Wysokość B","trunk_placer.type":"Typ","uniform_int.base":"Baza","uniform_int.number":"Dokładne","uniform_int.object":"Jednolite","uniform_int.spread":"Rozsiew","unset":"Nieustawione","world.bonus_chest":"Postaw Skrzynkę Bonusową","world.generate_features":"Generuj Aspekty","world.seed":"Seed","world_settings.bonus_chest":"Postaw Skrzynkę Bonusową","world_settings.dimensions":"Wymiary","world_settings.generate_features":"Generuj Aspekty","world_settings.seed":"Seed Świata","worldgen.warning":"Ta funkcja jest wysoce eksperymentalna i niestabilna. Może zmienić się w przyszłych wersjach. Spodziewaj się crash\'ów podczas tworzenia światów.","worldgen/biome_source.checkerboard":"Szachownica","worldgen/biome_source.checkerboard.help":"Biomy generują się w szachownicy.","worldgen/biome_source.fixed":"Stały","worldgen/biome_source.fixed.help":"Jeden biom na cały świat.","worldgen/biome_source.multi_noise":"Multi Szum","worldgen/biome_source.multi_noise.help":"Własne rozstawienie biomów z konfigurowalnymi parametrami.","worldgen/biome_source.the_end":"Kres","worldgen/biome_source.the_end.help":"Dystrybucja biomów dla Kresu.","worldgen/biome_source.vanilla_layered":"Vanilla Warstwowy","worldgen/biome_source.vanilla_layered.help":"Dystrybucja biomów dla Powierzchni.","worldgen/block_placer_type.column_placer":"Kolumna","worldgen/block_placer_type.double_plant_placer":"Podwójna Roślina","worldgen/block_placer_type.simple_block_placer":"Prosty","worldgen/block_state_provider_type.forest_flower_provider":"Kwiecisty Las","worldgen/block_state_provider_type.plain_flower_provider":"Kwiecista Równina","worldgen/block_state_provider_type.rotated_block_provider":"Obrócony Blok","worldgen/block_state_provider_type.simple_state_provider":"Prosty Stan","worldgen/block_state_provider_type.weighted_state_provider":"Ważony Stan","worldgen/carver.canyon":"Kanion","worldgen/carver.cave":"Jaskinia","worldgen/carver.nether_cave":"Netherowa Jaskina","worldgen/carver.underwater_canyon":"Podwodny Kanion","worldgen/carver.underwater_cave":"Podwodna Jaskinia","worldgen/chunk_generator.debug":"Świat Debugowy","worldgen/chunk_generator.flat":"Superpłaski","worldgen/chunk_generator.noise":"Domyślny","worldgen/feature_size_type.three_layers_feature_size":"Trzy Warstwy","worldgen/feature_size_type.two_layers_feature_size":"Dwie Warstwy","worldgen/foliage_placer_type.acacia_foliage_placer":"Akacja","worldgen/foliage_placer_type.blob_foliage_placer":"Blob","worldgen/foliage_placer_type.bush_foliage_placer":"Krzak","worldgen/foliage_placer_type.dark_oak_foliage_placer":"Ciemny Dąb","worldgen/foliage_placer_type.fancy_foliage_placer":"Ozdobny","worldgen/foliage_placer_type.jungle_foliage_placer":"Dżunglowy","worldgen/foliage_placer_type.mega_pine_foliage_placer":"Mega Sosnowy","worldgen/foliage_placer_type.pine_foliage_placer":"Sosnowy","worldgen/foliage_placer_type.spruce_foliage_placer":"Świerkowy","worldgen/structure_pool_element.empty_pool_element":"Pusty","worldgen/structure_pool_element.feature_pool_element":"Aspekt","worldgen/structure_pool_element.legacy_single_pool_element":"Pojedynczy Legacy","worldgen/structure_pool_element.list_pool_element":"Lista","worldgen/structure_pool_element.single_pool_element":"Pojedynczy","worldgen/structure_processor.blackstone_replace":"Zamień Czernit","worldgen/structure_processor.block_age":"Wiek Bloku","worldgen/structure_processor.block_ignore":"Ignoruj Blok","worldgen/structure_processor.block_rot":"Gnicie Bloku","worldgen/structure_processor.gravity":"Grawitacja","worldgen/structure_processor.jigsaw_replacement":"Zamiana Puzzli","worldgen/structure_processor.lava_submerged_block":"Blok Zanurzony W Lawie","worldgen/structure_processor.nop":"Nic","worldgen/structure_processor.rule":"Zasada","worldgen/tree_decorator_type.alter_ground":"Zmień Ziemię","worldgen/tree_decorator_type.beehive":"Ul","worldgen/tree_decorator_type.cocoa":"Kakao","worldgen/tree_decorator_type.leave_vine":"Zostaw Pnącza","worldgen/tree_decorator_type.trunk_vine":"Pnącza Na Pniu","worldgen/trunk_placer_type.dark_oak_trunk_placer":"Ciemny Dąb","worldgen/trunk_placer_type.fancy_trunk_placer":"Ozdobny","worldgen/trunk_placer_type.forking_trunk_placer":"Rozwidlenie","worldgen/trunk_placer_type.giant_trunk_placer":"Gigantyczny","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"Mega Jungla","worldgen/trunk_placer_type.straight_trunk_placer":"Prosty"}');export default e; +//# sourceMappingURL=pl.2f8b352f.js.map diff --git a/assets/pl.2f8b352f.js.map b/assets/pl.2f8b352f.js.map new file mode 100644 index 00000000..dd35526a --- /dev/null +++ b/assets/pl.2f8b352f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pl.2f8b352f.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/pl.ea3084e3.js b/assets/pl.ea3084e3.js new file mode 100644 index 00000000..34c8c5cc --- /dev/null +++ b/assets/pl.ea3084e3.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"Postęp","copy":"Kopiuj","dimension":"Wymiar","dimension-type":"Typ Wymiaru","download":"Pobierz","language":"Język","loot-table":"Tabela Łupów","predicate":"Predicate","reset":"Reset","share":"Podziel się","title.generator":"Generator %0%","title.home":"Generatory Data Packów","preview":"Wizualizuj","world":"Ustawienia Świata","worldgen/biome":"Biom","worldgen/carver":"Rzeźbiarz","worldgen/feature":"Aspekt","worldgen/noise-settings":"Ustawienia Szumu","worldgen/processor-list":"Lista Procesorów","worldgen/structure-feature":"Aspekt Struktury","worldgen/surface-builder":"Konstruktor Powierzchni","worldgen/template-pool":"Pula Szablonów"}');export default e; +//# sourceMappingURL=pl.ea3084e3.js.map diff --git a/assets/pl.ea3084e3.js.map b/assets/pl.ea3084e3.js.map new file mode 100644 index 00000000..a7e6bbf5 --- /dev/null +++ b/assets/pl.ea3084e3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pl.ea3084e3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/pt.98ad9b62.js b/assets/pt.98ad9b62.js new file mode 100644 index 00000000..bf10e456 --- /dev/null +++ b/assets/pt.98ad9b62.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"Critério","advancement.display":"Exibição","advancement.display.announce_to_chat":"Anunciar no Bate-papo","advancement.display.background":"Segundo Plano","advancement.display.description":"Descrição","advancement.display.frame":"Quadro","advancement.display.frame.challenge":"Desafio","advancement.display.frame.goal":"Objetivo","advancement.display.frame.task":"Tarefa","advancement.display.help":"Se presente, o avanço será visível nas guias de avanço.","advancement.display.hidden":"Escondido","advancement.display.icon":"Ícone","advancement.display.icon.item":"Ícone do Item","advancement.display.icon.nbt":"Ícone do NBT","advancement.display.show_toast":"Mostrar Respostas","advancement.display.title":"Título","advancement.parent":"Conquistas dos Parentes","advancement.rewards":"Prêmios","advancement.rewards.experience":"Experiência","advancement.rewards.function":"Função","advancement.rewards.loot":"Tabelas de Pilhagem","advancement.rewards.recipes":"Receitas","advancement_trigger.bee_nest_destroyed":"Ninho de abelha destruído","advancement_trigger.bred_animals":"Animais Reproduzidos","advancement_trigger.brewed_potion":"Poção Fabricada","advancement_trigger.changed_dimension":"Dimensão Alterada","advancement_trigger.channeled_lightning":"Raio Gerado","advancement_trigger.construct_beacon":"Construir Sinalizador","advancement_trigger.consume_item":"Consumir Item","advancement_trigger.cured_zombie_villager":"Aldeão Zumbi Curado","advancement_trigger.effects_changed":"Efeitos Alterados","advancement_trigger.enchanted_item":"Item Encantado","advancement_trigger.enter_block":"Inserir Block","advancement_trigger.entity_hurt_player":"Entidade Ferida por Jogador","advancement_trigger.entity_killed_player":"Entidade Morta por Jogador","advancement_trigger.filled_bucket":"Balde Enchido","advancement_trigger.fishing_rod_hooked":"Vara de Pesca Enganchada","advancement_trigger.hero_of_the_village":"Herói da Vila","advancement_trigger.impossible":"Impossível","advancement_trigger.inventory_changed":"Inventário Alterado","advancement_trigger.item_durability_changed":"Duração do Item Alterado","advancement_trigger.item_used_on_block":"Item Usado No Bloco","advancement_trigger.killed_by_crossbow":"Morto por Besta","advancement_trigger.levitation":"Levitação","advancement_trigger.location":"Localização","advancement_trigger.nether_travel":"Viagem ao Mundo Inferior","advancement_trigger.placed_block":"Colo","advancement_trigger.player_hurt_entity":"Bloco Colocado","advancement_trigger.player_killed_entity":"Jogador Morto por Entidade","advancement_trigger.recipe_unlocked":"Receita Desbloqueada","advancement_trigger.safely_harvest_honey":"Colher Mel com Segurança","advancement_trigger.shot_crossbow":"Atirar com Besta","advancement_trigger.slept_in_bed":"Dormido na Cama","advancement_trigger.slide_down_block":"Deslize em Bloco","advancement_trigger.summoned_entity":"Invocar Entidade","advancement_trigger.tame_animal":"Domar Animal","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Olho do Ender usado","advancement_trigger.used_totem":"Totem Usado","advancement_trigger.villager_trade":"Comércio de Aldeões","advancement_trigger.voluntary_exile":"Exílio Voluntário","attribute.generic_armor":"Armadura","attribute.generic_armor_toughness":"Dureza da Armadura","attribute.generic_attack_damage":"Dano de Ataque","attribute.generic_attack_knockback":"Repulsão","attribute.generic_attack_speed":"Velocidade de Ataque","attribute.generic_flying_speed":"Velocidade de Voo","attribute.generic_follow_range":"Distância de Perseguição","attribute.generic_knockback_resistance":"Resistência de Repulsão","attribute.generic_luck":"Sorte","attribute.generic_max_health":"Vida Máxima","attribute.generic_movement_speed":"Velocidade de Movimento","attribute.horse.jump_strength":"Força do Salto","attribute.zombie.spawn_reinforcements":"Spawn para Reforços","attribute_modifier.amount":"Quantidade","attribute_modifier.attribute":"Atibuto","attribute_modifier.name":"Nome","attribute_modifier.operation":"Operação","attribute_modifier.operation.addition":"Adição","attribute_modifier.operation.multiply_base":"Multiplicação Base","attribute_modifier.operation.multiply_total":"Multiplicação Total","attribute_modifier.slot":"Slot","attribute_modifier.slot.list":"Múltiplos","attribute_modifier.slot.string":"Único","badge.experimental":"Experimental","badge.unstable":"Instável","biome.category":"Categoria","biome.creature_spawn_probability":"Probabilidade de Geração de Criatura","biome.depth":"Profundidade","biome.depth.help":"Aumenta ou diminui o terreno. Valores positivos são considerados terra e negativos são oceanos.","biome.effects":"Efeitos","biome.effects.additions_sound":"Som de Adições","biome.effects.additions_sound.sound":"Som","biome.effects.additions_sound.tick_chance":"Chance de Tick","biome.effects.ambient_sound":"Som Ambiente","biome.effects.fog_color":"Cor da Névoa","biome.effects.foliage_color":"Cor da Folhagem","biome.effects.grass_color":"Cor da Grama","biome.effects.grass_color_modifier":"Modificador da Cor da Grama","biome.effects.grass_color_modifier.none":"Nenhum","biome.effects.grass_color_modifier.swamp":"Pântano","biome.effects.mood_sound.sound":"Som","biome.effects.mood_sound.tick_delay":"Demora do Tick","biome.effects.music":"Música","biome.effects.music.max_delay":"Demora Máxima","biome.effects.music.min_delay":"Demora Mínima","biome.effects.music.replace_current_music":"Substituir Música Atual","biome.effects.music.sound":"Som","biome.effects.particle":"Partícula","biome.effects.particle.options":"Opções","biome.effects.particle.options.type":"Tipo da Partícula","biome.effects.particle.probability":"Probabilidade","biome.effects.sky_color":"Cor do Céu","biome.effects.water_color":"Cor da Água","biome.effects.water_fog_color":"Cor da Névoa da Água","biome.features":"Características","biome.features.entry.entry":"Característica","biome.player_spawn_friendly.help":"Se verdadeiro, o local de nascimento do mundo será mais provável de ser nesse bioma.","biome.precipitation":"Precipitação","biome.precipitation.none":"Nenhum","biome.precipitation.rain":"Chuva","biome.precipitation.snow":"Neve","biome.scale":"Escala","biome.scale.help":"Estica verticalmente o terreno. Valores menores produzem terrenos mais planos.","biome.spawners":"Geradores","biome.spawners.ambient":"Ambiente","biome.spawners.creature":"Criatura","biome.spawners.entry.maxCount":"Quantidade Máxima","biome.spawners.entry.minCount":"Quantidade Mínima","biome.spawners.entry.type":"Tipo","biome.spawners.entry.weight":"Peso","biome.spawners.misc":"Diversos","biome.spawners.monster":"Monstro","biome.spawners.water_ambient":"Ambiente Aquático","biome.spawners.water_creature":"Criatura Aquática","biome.starts.help":"Lista de características de estruturas configuradas.","biome.temperature":"Temperatura","biome.temperature_modifier":"Modificador da Temperatura","biome.temperature_modifier.frozen":"Congelado","biome.temperature_modifier.none":"Nenhum","block.block":"ID do Bloco","block.nbt":"NBT","block.state":"Estados do Bloco","block.tag":"Tag do Bloco","block_placer.column_placer.min_size":"Tamanho Mínimo","block_placer.type":"Tipo","block_state.Name":"Nome","block_state.Properties":"Propriedades","block_state_provider.rotated_block_provider.state":"Estado","block_state_provider.simple_state_provider.state":"Estado","block_state_provider.type":"Tipo","block_state_provider.weighted_state_provider.entries":"Entradas","block_state_provider.weighted_state_provider.entries.entry.data":"Estado","block_state_provider.weighted_state_provider.entries.entry.weight":"Peso","carver.config":"Configuração","carver.config.probability":"Probabilidade","carver.type":"Tipo","children.entry":"Entrada","condition.alternative.terms":"Termos","condition.block_state_property.block":"Bloco","condition.block_state_property.properties":"Estado do Bloco","condition.condition":"Condição","condition.damage_source":"Fonte do Dano","condition.entity_properties.entity":"Entidade","condition.entity_scores.entity":"Entidade","condition.entity_scores.scores":"Pontos","condition.entry":"Predicado","condition.inverted.term":"Termo","condition.item":"Item","condition.killed_by_player.inverse":"Inverter","condition.list":"Múltiplo","condition.location":"Localização","condition.location_check.offsetX":"Deslocamento X","condition.location_check.offsetY":"Deslocamento Y","condition.location_check.offsetZ":"Deslocamento Z","condition.object":"Simples","condition.random_chance.chance":"Chance","condition.random_chance_with_looting.chance":"Chance","condition.random_chance_with_looting.looting_multiplier":"Multiplicador de Pilhagem","condition.reference.name":"Nome do Predicado","condition.table_bonus.chances":"Chances","condition.table_bonus.chances.entry":"Chance","condition.table_bonus.enchantment":"Encantamento","condition.time_check.period":"Período","condition.time_check.period.help":"Se presente, o tempo será dividido em módulo por esse valor. Por exemplo, se definido como 24000, o valor funcionará em um período de dias.","condition.time_check.value":"Valor","condition.weather_check.raining":"Chovendo","condition.weather_check.thundering":"Trovejando","conditions":"Condições","conditions.entry":"Condição","conditions.list":"Condições","copy_source.block_entity":"Bloco Entidade","copy_source.direct_killer":"Assassino Direto","copy_source.killer":"Assassino","criterion.bee_nest_destroyed.block":"Bloco","criterion.bee_nest_destroyed.num_bees_inside":"Número de Abelhas Dentro","criterion.bred_animals.child":"Filho","criterion.bred_animals.parent":"Parente","criterion.bred_animals.partner":"Parceiro","criterion.brewed_potion.potion":"Poção","criterion.changed_dimension.from":"Do","criterion.changed_dimension.to":"Para","criterion.channeled_lightning.victims":"Vítimas","criterion.channeled_lightning.victims.entry":"Entidade","criterion.conditions":"Condição","criterion.construct_beacon.beacon_level":"Nível da Pirâmide","criterion.consume_item.item":"Item","criterion.cured_zombie_villager.villager":"Aldeão","criterion.cured_zombie_villager.zombie":"Zumbi","criterion.effects_changed.effects":"Efeitos","criterion.enchanted_item.item":"Item","criterion.enchanted_item.levels":"Nível de XP","criterion.enter_block.block":"Bloco","criterion.enter_block.state":"Estados","criterion.entity_hurt_player.damage":"Dano","criterion.entity_killed_player.entity":"Origem da Entidade","criterion.entity_killed_player.killing_blow":"Matando Golpe","criterion.filled_bucket.item":"Item","criterion.fishing_rod_hooked.entity":"Entidade Puxada","criterion.fishing_rod_hooked.item":"Item","criterion.hero_of_the_village.location":"Localização","criterion.inventory_changed.items":"Itens","criterion.inventory_changed.items.entry":"Item","criterion.inventory_changed.slots":"Slots","criterion.inventory_changed.slots.empty":"Slots vazios","criterion.inventory_changed.slots.full":"Slots cheios","criterion.inventory_changed.slots.occupied":"Slots Ocupados","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Durabilidade","criterion.item_durability_changed.item":"Item","criterion.item_used_on_block.item":"Item","criterion.item_used_on_block.location":"Localização","criterion.killed_by_crossbow.unique_entity_types":"Quantidade de Tipos de Entidade Exclusivas","criterion.killed_by_crossbow.victims":"Vítimas","criterion.killed_by_crossbow.victims.entry":"Entidade","criterion.levitation.distance":"Distância","criterion.levitation.duration":"Duração","criterion.location.location":"Localização","criterion.nether_travel.distance":"Distância","criterion.player_hurt_entity.entity":"Vítima da Entidade","criterion.recipe_unlocked.recipe":"Receita","criterion.rod":"Vara","criterion.summoned_entity.entity":"Entidade","criterion.trigger":"Gatilho","damage.blocked":"Bloqueado","damage.dealt":"Dano Causado","damage.taken":"Dano Recebido","damage.type":"Tipo de Dano","damage_source.bypasses_armor":"Ignorar Armadura","damage_source.bypasses_invulnerability":"Vazio","damage_source.bypasses_magic":"Morrer de Fome","damage_source.direct_entity":"Indicação da Entidade","damage_source.is_explosion":"Explozão","damage_source.is_fire":"Fogo","damage_source.is_lightning":"Raio","damage_source.is_magic":"Mágica","damage_source.is_projectile":"Projétil","damage_source.source_entity":"Origem da entidade","dimension.overworld":"Mundo","dimension.the_end":"O fim","dimension.the_nether":"O Inferno","distance.absolute":"Absoluto","distance.horizontal":"Horizontal","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Afiação aquática","enchantment.bane_of_arthropods":"Maldição dos Artrópodes","enchantment.binding_curse":"Maldição da Vinculação","enchantment.blast_protection":"Proteção Contra Explosões","enchantment.channeling":"Canalização","enchantment.depth_strider":"Passos Profundos","enchantment.efficiency":"Eficiência","enchantment.feather_falling":"Queda Suave","enchantment.fire_aspect":"Aspecto de Fogo","enchantment.fire_protection":"Proteção contra Fogo","enchantment.flame":"Chama","enchantment.fortune":"Fortuna","enchantment.frost_walker":"Passos Gelados","enchantment.impaling":"Empalamento","enchantment.infinity":"Infinidade","enchantment.knockback":"Repulsão","enchantment.levels":"Níveis","enchantment.looting":"Saque","enchantment.loyalty":"Lealdade","enchantment.luck_of_the_sea":"Sorte do Mar","enchantment.lure":"Isca","enchantment.mending":"Remendo","enchantment.multishot":"Tiro múltiplo","enchantment.piercing":"Perfuração","enchantment.power":"Força","enchantment.projectile_protection":"Proteção Contra Projéteis","enchantment.protection":"Proteção","enchantment.punch":"Impacto","enchantment.quick_charge":"Carga Rápida","enchantment.respiration":"Respiração","enchantment.riptide":"Correnteza","enchantment.sharpness":"Afiação","enchantment.silk_touch":"Toque Suave","enchantment.smite":"Julgamento","enchantment.sweeping":"Alcance","enchantment.thorns":"Espinhos","enchantment.unbreaking":"Inquebrável","enchantment.vanishing_curse":"Maldição do Desaparecimento","entity.distance":"Distância","entity.effects":"Efeitos","entity.equipment":"Equipamento","entity.flags":"Bandeiras","entity.isBaby":"Bebê","entity.isOnFire":"Em chamas","entity.isSneaking":"Agachado","entity.isSprinting":"Correndo","entity.isSwimming":"Nadando","entity.location":"Localização","entity.nbt":"NBT","entity.player":"Jogador","entity.team":"Time","entity.type":"Entidade","entity_source.killer":"Assassino","entity_source.killer_player":"Jogador Assassino","entity_source.this":"Este","error":"Erro","false":"Falso","fluid.fluid":"ID do Fluido","fluid.state":"Estados do Fluido","fluid.tag":"Tag do Fluido","function.apply_bonus.enchantment":"Encantamento","function.apply_bonus.formula":"Fórmula","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial com Quantidade Bônus","function.apply_bonus.formula.ore_drops":"Drop de Minério","function.apply_bonus.formula.uniform_bonus_count":"Quantidade Bônus Uniforme","function.apply_bonus.parameters.bonusMultiplier":"Multiplicador","function.apply_bonus.parameters.extra":"Extra","function.apply_bonus.parameters.probability":"Probabilidade","function.copy_name.source":"Origem","function.copy_state.block":"Bloco","function.copy_state.properties":"Propriedades","function.enchant_randomly.enchantments":"Encantamentos Opcionais","function.enchant_with_levels.levels":"Nívels","function.enchant_with_levels.treasure":"Tesouro","function.exploration_map.decoration":"Decoração","function.exploration_map.destination":"Destinatino","function.exploration_map.search_radius":"Raio de Busca (Chunks)","function.exploration_map.skip_existing_chunks":"Ignorar Chunks Existentes","function.exploration_map.zoom":"Zoom","function.function":"Função","function.looting_enchant.limit":"Limite","function.set_count.count":"Contagem","function.set_damage.damage":"Dano","function.set_data.data":"Dado","function.set_lore.lore":"SubNome","function.set_lore.replace":"Substituir","function.set_name.entity":"Entidade","function.set_name.name":"Nome","function.set_nbt.tag":"NBT","function.set_stew_effect.effects.entry.duration":"Duração","function.set_stew_effect.effects.entry.type":"Efeito","gamemode.adventure":"Aventura","gamemode.creative":"Criativo","gamemode.spectator":"Espectador","gamemode.survival":"Sobrevivência","hide_source":"Ocultar Origem","item.count":"Quantidade","item.durability":"Durabilidade","item.enchantments.entry":"Encantamentos","item.item":"ID do Item","item.nbt":"NBT","item.potion":"Porção","item.tag":"Tag do Item","location.biome":"Bioma","location.block":"Bloco","location.dimension":"Dimensão","location.feature":"Característica","location.fluid":"Fluido","location.light":"Luz","location.light.light":"Nível da Luz Visível","location.position":"Posição","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","loot_condition_type.alternative":"Alternativo (OU)","loot_condition_type.block_state_property":"Propriedade do Bloco","loot_condition_type.damage_source_properties":"Fonte do Dano","loot_condition_type.entity_properties":"Propriedade da Entidade","loot_condition_type.entity_scores":"Pontos da Entidade","loot_condition_type.inverted":"Invertido (NÃO)","loot_condition_type.killed_by_player":"Morto por Jogador","loot_condition_type.location_check":"Localização","loot_condition_type.match_tool":"Propriedade da Ferramenta","loot_condition_type.random_chance":"Chance aleatória","loot_condition_type.random_chance_with_looting":"Chance aleatória com Pilhagem","loot_condition_type.reference":"Referência","loot_condition_type.survives_explosion":"Sobrevive à Explosão","loot_condition_type.table_bonus":"Bônus de Mesa","loot_condition_type.time_check":"Tempo","loot_condition_type.weather_check":"Clima","loot_entry.item.name":"Nome","loot_entry.quality":"Qualidade","loot_entry.tag.expand":"Expandir","loot_entry.tag.expand.help":"Se desabilitado, a entrada retornará todo o conteúdo da tag, caso contrário, a entrada se comportará como várias entradas de itens","loot_entry.type":"Tipo","loot_entry.weight":"Peso","loot_function_type.apply_bonus":"Aplicar Bônus","loot_function_type.copy_name":"Copiar Nome","loot_function_type.copy_nbt":"Copiar NBT","loot_function_type.copy_state":"Copiar Estado do Bloco","loot_function_type.enchant_randomly":"Encantamento Aleatório","loot_function_type.enchant_with_levels":"Encantamento com Nível","loot_function_type.exploration_map":"Propriedades do Mapa de Exploração","loot_function_type.explosion_decay":"Decaimento da Explosão","loot_function_type.fill_player_head":"Completar com Cabeça de Jogador","loot_function_type.furnace_smelt":"Forno fundido","loot_function_type.limit_count":"Limite de Quantidade","loot_function_type.looting_enchant":"Encantamento Pilhagem","loot_function_type.set_attributes":"Definir Atributos","loot_function_type.set_contents":"Definir Conteúdos","loot_function_type.set_count":"Definir Quantidades","loot_function_type.set_damage":"Definir Dano","loot_function_type.set_data":"Definir Dados","loot_function_type.set_lore":"Definir SubNome","loot_function_type.set_name":"Definir Nome","loot_function_type.set_nbt":"Definir NBT","loot_function_type.set_stew_effect":"Definir Efeito da Porção","loot_pool.bonus_rolls":"Rodadas Bônus","loot_pool.rolls":"Rodadas","loot_pool.rolls.help":"A quantidade de entradas escolhidas aleatoriamente","loot_pool_entry_type.alternatives":"Alternativas","loot_pool_entry_type.alternatives.help":"Tests condições das entradas filhas e executa a primeira que pode ser executada","loot_pool_entry_type.dynamic":"Dinâmica","loot_pool_entry_type.dynamic.help":"Obtém drops específicas do bloco","loot_pool_entry_type.empty":"Vazio","loot_pool_entry_type.empty.help":"Não adiciona nada ao pool","loot_pool_entry_type.group":"Grupo","loot_pool_entry_type.group.help":"Executa todas as entradas filhas quando as próprias condições passam","loot_pool_entry_type.item":"Item","loot_pool_entry_type.item.help":"Adiciona um único item","loot_pool_entry_type.loot_table":"Tabela de Itens","loot_pool_entry_type.loot_table.help":"Adiciona o conteúdo de outra tabela de itens","loot_pool_entry_type.sequence":"Sequência","loot_pool_entry_type.sequence.help":"Executa entradas filhas até a primeira que não pode ser executada devido as condições","loot_pool_entry_type.tag":"Tag do Item","luck_based":"Baseado na Sorte","nbt_operation.op":"Operação","nbt_operation.op.append":"Acrescentar","nbt_operation.op.merge":"Mesclar","nbt_operation.op.replace":"Substituir","nbt_operation.source":"Origem","nbt_operation.target":"Alvo","player.advancements":"Conquistas","player.gamemode":"Modo de Jogo","player.level":"Nível de EXP","player.recipes":"Receitas","player.stats":"Estatísticas","range.binomial":"Binomial","range.max":"Máximo","range.min":"Mínimo","range.n":"n","range.number":"Exato","range.object":"Alcance","range.p":"p","range.uniform":"Uniforme","requirements":"Exigências","slot.chest":"Baú","slot.feet":"Pé","slot.head":"Cabeça","slot.legs":"Pernas","slot.mainhand":"Mão Principal","slot.offhand":"Mão Oposta à Principal","statistic.stat":"Estatística","statistic.type":"Tipo","statistic.type.broken":"Quebrado","statistic.type.crafted":"Craftado","statistic.type.custom":"Personalizado","statistic.type.dropped":"Dropado","statistic.type.killed":"Morto","statistic.type.killedByTeam":"Porto por Time","statistic.type.killed_by":"Morto por","statistic.type.mined":"Minerado","statistic.type.picked_up":"Pegou","statistic.type.teamkill":"Time Morto","statistic.type.used":"Usado","statistic.value":"Valor","status_effect.ambient":"Ambiente","status_effect.amplifier":"Amplificado","status_effect.duration":"Duração","status_effect.visible":"Visível","table.type":"Tipo","table.type.block":"Bloco","table.type.chest":"Baú","table.type.empty":"Vazio","table.type.entity":"Entidade","table.type.fishing":"Pescaria","table.type.generic":"Genérico","true":"Verdadeiro","unset":"Desativar"}');export default e; +//# sourceMappingURL=pt.98ad9b62.js.map diff --git a/assets/pt.98ad9b62.js.map b/assets/pt.98ad9b62.js.map new file mode 100644 index 00000000..7982de20 --- /dev/null +++ b/assets/pt.98ad9b62.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pt.98ad9b62.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/pt.c9ac192e.js b/assets/pt.c9ac192e.js new file mode 100644 index 00000000..3951edc9 --- /dev/null +++ b/assets/pt.c9ac192e.js @@ -0,0 +1,2 @@ +var a=JSON.parse("{}");export default a; +//# sourceMappingURL=pt.c9ac192e.js.map diff --git a/assets/pt.c9ac192e.js.map b/assets/pt.c9ac192e.js.map new file mode 100644 index 00000000..6fa3c9c8 --- /dev/null +++ b/assets/pt.c9ac192e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pt.c9ac192e.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/ru.61de7e2f.js b/assets/ru.61de7e2f.js new file mode 100644 index 00000000..1d4b0be6 --- /dev/null +++ b/assets/ru.61de7e2f.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"Условие","advancement.display":"Отображение","advancement.display.announce_to_chat":"Сообщение в чате","advancement.display.background":"Фон","advancement.display.description":"Описание","advancement.display.frame":"Рамка","advancement.display.frame.challenge":"Испытание","advancement.display.frame.goal":"Цель","advancement.display.frame.task":"Обычная","advancement.display.help":"Если указано, достижение будет отображаться в интерфейсе достижений.","advancement.display.hidden":"Скрыто","advancement.display.icon":"Значок","advancement.display.icon.item":"Предмет значка","advancement.display.icon.nbt":"NBT значка","advancement.display.show_toast":"Всплывающее уведомление","advancement.display.title":"Заголовок","advancement.parent":"Предок","advancement.rewards":"Награды","advancement.rewards.experience":"Опыт","advancement.rewards.function":"Функция","advancement.rewards.loot":"Таблицы достижений","advancement.rewards.recipes":"Рецепты","advancement_trigger.bee_nest_destroyed":"Разрушил пчелиное гнездо","advancement_trigger.bred_animals":"Свёл животных","advancement_trigger.brewed_potion":"Сварил зелье","advancement_trigger.changed_dimension":"Сменил измерение","advancement_trigger.channeled_lightning":"Поразил «Громовержцем»","advancement_trigger.construct_beacon":"Построил маяк","advancement_trigger.consume_item":"Съел/Выпил предмет","advancement_trigger.cured_zombie_villager":"Излечил зомби-крестьянина","advancement_trigger.effects_changed":"Эффекты изменены","advancement_trigger.enchanted_item":"Зачаровал предмет","advancement_trigger.enter_block":"Находится в блоке","advancement_trigger.entity_hurt_player":"Получил урон","advancement_trigger.entity_killed_player":"Убит сущностью","advancement_trigger.filled_bucket":"Наполнил ведро","advancement_trigger.fishing_rod_hooked":"Подцепил крючком","advancement_trigger.hero_of_the_village":"Герой деревни","advancement_trigger.impossible":"Невозможный","advancement_trigger.inventory_changed":"Инвентарь изменён","advancement_trigger.item_durability_changed":"Прочность предмета изменена","advancement_trigger.item_used_on_block":"Использовал предмет на блоке","advancement_trigger.killed_by_crossbow":"Убил арбалетом","advancement_trigger.levitation":"Левитация","advancement_trigger.location":"Местоположение","advancement_trigger.nether_travel":"Переместился через Незер","advancement_trigger.placed_block":"Поставил блок","advancement_trigger.player_generates_container_loot":"Сгенерировал содержимое блока","advancement_trigger.player_hurt_entity":"Нанёс урон","advancement_trigger.player_killed_entity":"Убил сущность","advancement_trigger.recipe_unlocked":"Разблокировал рецепт","advancement_trigger.safely_harvest_honey":"Безопасно собрал мёд","advancement_trigger.shot_crossbow":"Выстрелил из арбалета","advancement_trigger.slept_in_bed":"Лёг на кровать","advancement_trigger.slide_down_block":"Скользит вниз по блоку","advancement_trigger.summoned_entity":"Призвал сущность","advancement_trigger.tame_animal":"Приручил животное","advancement_trigger.target_hit":"Попадание","advancement_trigger.thrown_item_picked_up_by_entity":"Выкинутый предмет подобран сущностью","advancement_trigger.tick":"Такт","advancement_trigger.used_ender_eye":"Использовал око Эндера","advancement_trigger.used_totem":"Использовал тотем","advancement_trigger.villager_trade":"Поторговал с крестьянином","advancement_trigger.voluntary_exile":"Вызвал рейд","attribute.generic_armor":"Броня","attribute.generic_armor_toughness":"Твёрдость брони","attribute.generic_attack_damage":"Урон","attribute.generic_attack_knockback":"Отбрасывание","attribute.generic_attack_speed":"Скорость атаки","attribute.generic_flying_speed":"Скорость полёта","attribute.generic_follow_range":"Диапазон преследования моба","attribute.generic_knockback_resistance":"Сопротивление отбрасыванию","attribute.generic_luck":"Удача","attribute.generic_max_health":"Максимальное здоровье","attribute.generic_movement_speed":"Скорость","attribute.horse.jump_strength":"Сила прыжка лошади","attribute.zombie.spawn_reinforcements":"Подкрепление зомби","attribute_modifier.amount":"Количество","attribute_modifier.attribute":"Атрибут","attribute_modifier.name":"Название","attribute_modifier.operation":"Действие","attribute_modifier.operation.addition":"Прибавление","attribute_modifier.operation.multiply_base":"Умножение базового","attribute_modifier.operation.multiply_total":"Умножение общего","attribute_modifier.slot":"Ячейки","attribute_modifier.slot.list":"Несколько","attribute_modifier.slot.string":"Одна","badge.experimental":"Экспериментальный","badge.unstable":"Нестабильный","biome.carvers":"Полости","biome.carvers.air":"Воздух","biome.carvers.liquid":"Жидкость","biome.category":"Категория","biome.creature_spawn_probability":"Шанс появления пассивных мобов","biome.depth":"Глубина","biome.depth.help":"Поднимает или опускает рельеф местности. Положительные значения считаются сушей, а отрицательные — океанами.","biome.downfall":"Влажность","biome.effects":"Эффекты","biome.effects.additions_sound":"Дополнительные звуки","biome.effects.additions_sound.sound":"Звук","biome.effects.additions_sound.tick_chance":"Шанс за такт","biome.effects.ambient_sound":"Звук окружения","biome.effects.fog_color":"Цвет тумана","biome.effects.foliage_color":"Цвет листьев","biome.effects.grass_color":"Цвет травы","biome.effects.grass_color_modifier":"Модификатор цвета травы","biome.effects.grass_color_modifier.dark_forest":"Тёмный лес","biome.effects.grass_color_modifier.none":"Нет","biome.effects.grass_color_modifier.swamp":"Болото","biome.effects.mood_sound":"Пещерный звук","biome.effects.mood_sound.block_search_extent":"Радиус поиска позиции","biome.effects.mood_sound.offset":"Смещение","biome.effects.mood_sound.sound":"Звук","biome.effects.mood_sound.tick_delay":"Задержка в тактах","biome.effects.music":"Музыка","biome.effects.music.max_delay":"Максимальная задержка","biome.effects.music.min_delay":"Минимальная задержка","biome.effects.music.replace_current_music":"Замена играющей музыки","biome.effects.music.sound":"Звук","biome.effects.particle":"Частица","biome.effects.particle.options":"Параметры","biome.effects.particle.options.type":"Тип частицы","biome.effects.particle.probability":"Шанс","biome.effects.sky_color":"Цвет неба","biome.effects.water_color":"Цвет воды","biome.effects.water_fog_color":"Цвет подводного тумана","biome.features":"Натуральные структуры","biome.features.entry":"Шаг %0%","biome.features.entry.entry":"Структура","biome.player_spawn_friendly":"Дружественное появление игрока","biome.player_spawn_friendly.help":"Если «Да», точка появления в мире предпочтительно будет в этом биоме.","biome.precipitation":"Осадки","biome.precipitation.none":"Нет","biome.precipitation.rain":"Дождь","biome.precipitation.snow":"Снег","biome.scale":"Масштаб","biome.scale.help":"Растягивает местность по вертикали. Чем меньше значение, тем ровнее местность.","biome.spawn_costs":"Цена Появления","biome.spawn_costs.charge":"Заряд","biome.spawn_costs.energy_budget":"Бюджет Энергии","biome.spawners":"Появление мобов","biome.spawners.ambient":"Окружение","biome.spawners.creature":"Пассивные","biome.spawners.entry":"Появление","biome.spawners.entry.maxCount":"Максимальное количество","biome.spawners.entry.minCount":"Минимальное количество","biome.spawners.entry.type":"Тип","biome.spawners.entry.weight":"Вес","biome.spawners.misc":"Другие","biome.spawners.monster":"Монстр","biome.spawners.water_ambient":"Водное окружение","biome.spawners.water_creature":"Водные пассивные","biome.starts":"Начала строений","biome.starts.entry":"Строение","biome.starts.help":"Список настроенных структур.","biome.surface_builder":"Построитель поверхности","biome.temperature":"Температура","biome.temperature_modifier":"Модификатор температуры","biome.temperature_modifier.frozen":"Мороз","biome.temperature_modifier.none":"Нет","block.block":"ID блока","block.nbt":"NBT","block.state":"Состояние блока","block.tag":"Тег блоков","block_placer.column_placer.extra_size":"Дополнительный размер","block_placer.column_placer.min_size":"Минимальный размер","block_placer.type":"Тип","block_state.Name":"Блок","block_state.Properties":"Свойства","block_state_provider.rotated_block_provider.state":"Состояние","block_state_provider.simple_state_provider.state":"Состояние","block_state_provider.type":"Тип","block_state_provider.weighted_state_provider.entries":"Элементы","block_state_provider.weighted_state_provider.entries.entry.data":"Состояние","block_state_provider.weighted_state_provider.entries.entry.weight":"Вес","carver.config":"Параметры","carver.config.probability":"Шанс","carver.type":"Тип","children":"Потомки","children.entry":"Элемент","condition.alternative.terms":"Условия","condition.block_state_property.block":"Блок","condition.block_state_property.properties":"Состояние блока","condition.condition":"Условие","condition.damage_source":"Повреждение","condition.entity_properties.entity":"Сущность","condition.entity_scores.entity":"Сущность","condition.entity_scores.scores":"Счёты","condition.entry":"Предикат","condition.inverted.term":"Выражение","condition.item":"Предмет","condition.killed_by_player.inverse":"Инвертировать","condition.list":"Несколько","condition.location":"Местоположение","condition.location_check.offsetX":"Смещение по X","condition.location_check.offsetY":"Смещение по Y","condition.location_check.offsetZ":"Смещение по Z","condition.object":"Простой","condition.random_chance.chance":"Шанс","condition.random_chance_with_looting.chance":"Шанс","condition.random_chance_with_looting.looting_multiplier":"Множитель «Добычи»","condition.reference.name":"ID предиката","condition.table_bonus.chances":"Шансы","condition.table_bonus.chances.entry":"Шанс","condition.table_bonus.enchantment":"Чары","condition.time_check.period":"Период","condition.time_check.period.help":"Если задан, время будет получено взятием остатка от деления времени на заданный период.","condition.time_check.value":"Значение","condition.value_check.value":"Значение","condition.weather_check.raining":"Дождь","condition.weather_check.thundering":"Гроза","conditions":"Условия","conditions.entry":"Условие","conditions.list":"Условия","conditions.object":"Устаревший","copy_source.block_entity":"Блок-сущность","copy_source.direct_killer":"Убийца-причина урона","copy_source.killer":"Убийца","copy_source.killer_player":"Игрок-убийца","copy_source.this":"Текущая сущность","criterion.bee_nest_destroyed.block":"Блок","criterion.bee_nest_destroyed.num_bees_inside":"Пчёл внутри","criterion.bred_animals.child":"Потомок","criterion.bred_animals.parent":"Предок","criterion.bred_animals.partner":"Партнёр","criterion.brewed_potion.potion":"Зелье","criterion.changed_dimension.from":"Откуда","criterion.changed_dimension.to":"Куда","criterion.channeled_lightning.victims":"Жертвы","criterion.channeled_lightning.victims.entry":"Сущность","criterion.conditions":"Условия","criterion.construct_beacon.beacon_level":"Уровень конструкции","criterion.consume_item.item":"Предмет","criterion.cured_zombie_villager.villager":"Крестьянин","criterion.cured_zombie_villager.zombie":"Зомби","criterion.effects_changed.effects":"Эффект","criterion.enchanted_item.item":"Предмет","criterion.enchanted_item.levels":"Уровень","criterion.enter_block.block":"Блок","criterion.enter_block.state":"Состояние","criterion.entity_hurt_player.damage":"Урон","criterion.entity_killed_player.entity":"Сущность-источник","criterion.entity_killed_player.killing_blow":"Смертельный удар","criterion.filled_bucket.item":"Предмет","criterion.fishing_rod_hooked.entity":"Подтянутая сущность","criterion.fishing_rod_hooked.item":"Предмет","criterion.hero_of_the_village.location":"Местоположение","criterion.inventory_changed.items":"Предметы","criterion.inventory_changed.items.entry":"Предмет","criterion.inventory_changed.slots":"Ячейки","criterion.inventory_changed.slots.empty":"Пустых ячеек","criterion.inventory_changed.slots.full":"Полных ячеек","criterion.inventory_changed.slots.occupied":"Занятых ячеек","criterion.item_durability_changed.delta":"Разница","criterion.item_durability_changed.durability":"Прочность","criterion.item_durability_changed.item":"Предмет","criterion.item_used_on_block.item":"Предмет","criterion.item_used_on_block.location":"Местоположение","criterion.killed_by_crossbow.unique_entity_types":"Уникальных типов сущностей","criterion.killed_by_crossbow.victims":"Жертвы","criterion.killed_by_crossbow.victims.entry":"Сущность","criterion.levitation.distance":"Расстояние","criterion.levitation.duration":"Длительность","criterion.location.location":"Местоположение","criterion.nether_travel.distance":"Расстояние","criterion.nether_travel.entered":"Местоположение входа","criterion.nether_travel.exited":"Местоположение выхода","criterion.placed_block.block":"Блок","criterion.placed_block.item":"Предмет","criterion.placed_block.location":"Местоположение","criterion.placed_block.state":"Состояние","criterion.player":"Игрок","criterion.player_generates_container_loot.loot_table":"Таблица добычи","criterion.player_hurt_entity.damage":"Урон","criterion.player_hurt_entity.entity":"Сущность-жертва","criterion.player_killed_entity.entity":"Сущность-жертва","criterion.player_killed_entity.killing_blow":"Смертельный удар","criterion.recipe_unlocked.recipe":"Рецепт","criterion.rod":"Удочка","criterion.safely_harvest_honey.block":"Блок","criterion.safely_harvest_honey.item":"Предмет","criterion.shot_crossbow.item":"Предмет","criterion.slept_in_bed.location":"Местоположение","criterion.slide_down_block.block":"Блок","criterion.summoned_entity.entity":"Сущность","criterion.tame_animal.entity":"Животное","criterion.target_hit.projectile":"Снаряд","criterion.target_hit.shooter":"Стрелок","criterion.target_hit.signal_strength":"Мощность сигнала","criterion.thrown_item_picked_up_by_entity.entity":"Сущность","criterion.thrown_item_picked_up_by_entity.item":"Предмет","criterion.trigger":"Триггер","criterion.used_ender_eye.distance":"Расстояние","criterion.used_totem.item":"Предмет тотема","criterion.villager_trade.item":"Купленный предмет","criterion.villager_trade.villager":"Крестьянин","criterion.voluntary_exile.location":"Местоположение","damage.blocked":"Заблокирован","damage.dealt":"Нанесённый урон","damage.source_entity":"Сущность-источник","damage.taken":"Полученный урон","damage.type":"Тип урона","damage_source.bypasses_armor":"Обход брони","damage_source.bypasses_invulnerability":"Бездна","damage_source.bypasses_magic":"Голод","damage_source.direct_entity":"Сущность-причина урона","damage_source.is_explosion":"Взрыв","damage_source.is_fire":"Огонь","damage_source.is_lightning":"Молния","damage_source.is_magic":"Магия","damage_source.is_projectile":"Снаряд","damage_source.source_entity":"Сущность-источник урона","decorator.carving_mask.step":"Этап генерации","decorator.config":"Параметры","decorator.count.count":"Количество","decorator.count_extra.count":"Количество","decorator.count_extra.extra_chance":"Дополнительный шанс","decorator.count_extra.extra_count":"Дополнительное количество","decorator.count_multilayer.count":"Количество","decorator.count_noise.above_noise":"Верхний шум","decorator.count_noise.below_noise":"Нижний шум","decorator.count_noise.noise_level":"Уровень шума","decorator.count_noise_biased.noise_factor":"Множитель шума","decorator.count_noise_biased.noise_offset":"Смещение шума","decorator.count_noise_biased.noise_to_count_ratio":"Соотношение шума к количеству","decorator.decorated.inner":"Внутренний","decorator.decorated.outer":"Внешний","decorator.depth_average.baseline":"Начальное значение","decorator.depth_average.spread":"Распространение","decorator.glowstone.count":"Количество","decorator.type":"Тип","dimension":"Измерение","dimension.generator":"Генератор","dimension.generator.biome_source":"Источник Биомов","dimension.overworld":"Обычный мир","dimension.the_end":"Энд","dimension.the_nether":"Незер","dimension.type":"Параметры измерения","dimension.type.object":"Особенный","dimension.type.string":"Предустановка","dimension_type.ambient_light":"Свет окружения","dimension_type.ambient_light.help":"Значение от 0 до 1.","dimension_type.bed_works":"Работает Кровать","dimension_type.bed_works.help":"Если значение установлено в true, игроки могут использовать кровати для того, чтобы устанавливать свою точку возрождения и продвинуться во времени. Если значение установлено в false, кровать будут взрываться при использовании.","dimension_type.coordinate_scale":"Масштаб координат","dimension_type.coordinate_scale.help":"Множитель, который применяется к координатам при перемезении между измерениями через портал или при помощи команды /execute.","dimension_type.effects":"Эффекты","dimension_type.effects.help":"Эффекты неба","dimension_type.effects.overworld":"Верхний Мир","dimension_type.effects.the_end":"Край","dimension_type.effects.the_nether":"Ад","dimension_type.fixed_time":"Фиксированное время","dimension_type.fixed_time.help":"При указании значения солнце будет находится в фиксированном положении.","dimension_type.has_ceiling":"Есть крыша из бедрока","dimension_type.has_raids":"Имеет Рейды","dimension_type.has_skylight":"Есть свет неба","dimension_type.infiniburn":"Вечногорящие блоки","dimension_type.logical_height":"Логичная Высота","dimension_type.name":"Название","dimension_type.natural":"Земное","dimension_type.natural.help":"Если «Да», из порталов будут появляться зомбифицированные пиглины. Если «Нет», компас и часы будут крутиться случайным образом.","dimension_type.piglin_safe":"Пиглины не превращаются в зомби","dimension_type.respawn_anchor_works":"Якорь Возрождения Работает","dimension_type.ultrawarm":"Горячее","dimension_type.ultrawarm.help":"Определяет, испаряется ли вода и высыхают ли губки.","distance.absolute":"Абсолютное","distance.horizontal":"Горизонтальное","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Подводник","enchantment.bane_of_arthropods":"Бич членистоногих","enchantment.binding_curse":"Проклятие несъёмности","enchantment.blast_protection":"Взрывоустойчивость","enchantment.channeling":"Громовержец","enchantment.depth_strider":"Подводная ходьба","enchantment.efficiency":"Эффективность","enchantment.enchantment":"Зачарование","enchantment.feather_falling":"Невесомость","enchantment.fire_aspect":"Заговор огня","enchantment.fire_protection":"Огнеупорность","enchantment.flame":"Горящая стрела","enchantment.fortune":"Удача","enchantment.frost_walker":"Ледоход","enchantment.impaling":"Пронзатель","enchantment.infinity":"Бесконечность","enchantment.knockback":"Отдача","enchantment.levels":"Уровень","enchantment.looting":"Добыча","enchantment.loyalty":"Верность","enchantment.luck_of_the_sea":"Везучий рыбак","enchantment.lure":"Приманка","enchantment.mending":"Починка","enchantment.multishot":"Тройной выстрел","enchantment.piercing":"Пронзающая стрела","enchantment.power":"Сила","enchantment.projectile_protection":"Защита от снарядов","enchantment.protection":"Защита","enchantment.punch":"Откидывание","enchantment.quick_charge":"Быстрая перезарядка","enchantment.respiration":"Подводное дыхание","enchantment.riptide":"Тягун","enchantment.sharpness":"Острота","enchantment.silk_touch":"Шёлковое касание","enchantment.smite":"Небесная кара","enchantment.sweeping":"Разящий клинок","enchantment.thorns":"Шипы","enchantment.unbreaking":"Прочность","enchantment.vanishing_curse":"Проклятие утраты","entity.distance":"Расстояние","entity.effects":"Эффекты","entity.equipment":"Снаряжение","entity.fishing_hook":"Поплавок","entity.fishing_hook.in_open_water":"В открытой воде","entity.flags":"Состояние","entity.isBaby":"Ребёнок","entity.isOnFire":"Горит","entity.isSneaking":"Крадётся","entity.isSprinting":"Бежит","entity.isSwimming":"Плывёт","entity.location":"Местоположение","entity.nbt":"NBT","entity.player":"Игрок","entity.targeted_entity":"Целевая сущность","entity.team":"Команда","entity.type":"Сущность","entity.vehicle":"Транспорт","entity_source.killer":"Убийца","entity_source.killer_player":"Игрок-убийца","entity_source.this":"Текущая","entry":"Элемент","error":"Ошибка","error.expected_boolean":"Ожидался логический тип данных (Boolean)","error.expected_integer":"Ожидалось целое число (Integer)","error.expected_json":"Ожидался JSON","error.expected_list":"Ожидался массив (Array)","error.expected_number":"Ожидалось число","error.expected_object":"Ожидался объект","error.expected_range":"Ожидался диапазон","error.expected_string":"Ожидалась строка","error.expected_uniform_int":"Ожидалось целое число (Uniform integer)","error.invalid_binomial":"Диапазон не может быть биноминального типа","error.invalid_empty_list":"Массив не может быть пустым","error.invalid_empty_string":"Строка не может быть пустой","error.invalid_enum_option":"Неверное значение \\"%0%\\"","error.invalid_exact":"Диапазон не может быть константой","error.invalid_number_range.between":"Ожидалось число в промежутке от %0% до %1%","error.invalid_pattern":"Неверная строка: %0%","error.recipe.invalid_key":"только один символ разрешён как ключ","false":"Нет","feature.block_pile.state_provider":"Состояние","feature.config":"Настройки","feature.flower.blacklist":"Чёрный Список","feature.flower.block_placer":"Размещатель Блоков","feature.flower.can_replace":"Может заменить","feature.flower.need_water":"Нужна Вода","feature.flower.project":"Проект","feature.flower.state_provider":"Состояние","feature.flower.tries":"Попыток","feature.flower.whitelist":"Белый Список","feature.flower.xspread":"Распространение X","feature.flower.yspread":"Распространение Y","feature.flower.zspread":"Распространение Z","feature.object":"Особенный","feature.random_patch.blacklist":"Чёрный Список","feature.random_patch.block_placer":"Размещение Блоков","feature.random_patch.can_replace":"Может Заменить","feature.random_patch.need_water":"Требуется Вода","feature.random_patch.project":"Направленно","feature.random_patch.state_provider":"Состояние","feature.random_patch.tries":"Попыток","feature.random_patch.whitelist":"Белый Список","feature.random_patch.xspread":"Распространение X","feature.random_patch.yspread":"Распространение Y","feature.random_patch.zspread":"Распространение Z","feature.simple_random_selector.features.entry":"Структура","feature.string":"Упоминание","feature.tree.decorators":"Декораторы","feature.tree.decorators.entry":"Декоратор Деревьев","feature.tree.foliage_placer":"Распределение листьев","feature.tree.heightmap":"Карта Высоты","feature.tree.ignore_vines":"Игнорировать Лианы","feature.tree.leaves_provider":"Листья","feature.tree.max_water_depth":"Максимальная Глубина Воды","feature.tree.minimum_size":"Минимальный Размер","feature.tree.minimum_size.limit":"Лимит","feature.tree.minimum_size.lower_size":"Низкий Размер","feature.tree.minimum_size.middle_size":"Средний Размер","feature.tree.minimum_size.type":"Минимальный Размер","feature.tree.minimum_size.upper_limit":"Верхняя Граница","feature.tree.minimum_size.upper_size":"Высокий Размер","feature.tree.trunk_placer":"Распределение Обрезки","feature.tree.trunk_provider":"Обрезание Деревьев","feature.type":"Тип","fluid.fluid":"ID жидкости","fluid.state":"Состояние жидкости","fluid.tag":"Тег жидкостей","function.apply_bonus.enchantment":"Зачарование","function.apply_bonus.formula":"Формула","function.apply_bonus.formula.binomial_with_bonus_count":"Биноминальное распределение с Бонусным количеством","function.apply_bonus.formula.ore_drops":"Дроп руд","function.apply_bonus.formula.uniform_bonus_count":"Равномерное распределение с бонусным количеством","function.apply_bonus.parameters":"Параметры","function.apply_bonus.parameters.bonusMultiplier":"Множитель","function.apply_bonus.parameters.extra":"Дополнительное значение","function.apply_bonus.parameters.probability":"Вероятность","function.copy_name.source":"Источник","function.copy_nbt.ops":"Операции с NBT","function.copy_nbt.ops.entry":"Операция","function.copy_nbt.source":"Источник","function.copy_state.block":"Блок","function.copy_state.properties":"Свойства","function.copy_state.properties.entry":"Свойство","function.enchant_randomly.enchantments":"Необязательные зачарования","function.enchant_randomly.enchantments.entry":"Зачарование","function.enchant_with_levels.levels":"Уровень","function.enchant_with_levels.treasure":"Зачарования-сокровища","function.exploration_map.decoration":"Значок","function.exploration_map.destination":"Назначение","function.exploration_map.search_radius":"Радиус поиска (в чанках)","function.exploration_map.skip_existing_chunks":"Не искать в существующих чанках","function.exploration_map.zoom":"Уровень приближения","function.fill_player_head.entity":"Сущность","function.function":"Функция","function.limit_count.limit":"Лимит","function.looting_enchant.count":"Количество","function.looting_enchant.limit":"Лимит","function.set_attributes.modifiers":"Модификаторы","function.set_attributes.modifiers.entry":"Модификатор","function.set_contents.entries":"Содержание","function.set_contents.entries.entry":"Элемент","function.set_count.count":"Количество","function.set_damage.damage":"Повреждение","function.set_data.data":"Данные","function.set_loot_table.name":"Название Таблицы дропа","function.set_loot_table.seed":"Сид","function.set_lore.entity":"Сущность","function.set_lore.lore":"Описание","function.set_lore.lore.entry":"Строка","function.set_lore.replace":"Заменить","function.set_name.entity":"Сущность","function.set_name.name":"Название","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Эффекты","function.set_stew_effect.effects.entry":"Эффект","function.set_stew_effect.effects.entry.duration":"Длительность","function.set_stew_effect.effects.entry.type":"Эффект","functions":"Функции","functions.entry":"Функция","gamemode.adventure":"Приключение","gamemode.creative":"Творческий","gamemode.spectator":"Наблюдатель","gamemode.survival":"Выживание","generator.biome_source.biome":"Биом","generator.biome_source.biomes":"Биомы","generator.biome_source.large_biomes":"Большие биомы","generator.biome_source.legacy_biome_init_layer":"Старый слой инициализации биомов","generator.biome_source.preset":"Шаблон биомов","generator.biome_source.preset.nether":"Ад","generator.biome_source.scale":"Масштаб","generator.biome_source.seed":"Ключ генератора биомов","generator.biome_source.type":"Источник биомов","generator.seed":"Ключ генератора измерения","generator.settings":"Настройки генератора","generator.settings.biome":"Биом","generator.settings.lakes":"Озёра","generator.settings.layers":"Слои","generator.settings.layers.entry":"Слой","generator.settings.layers.entry.block":"ID блока","generator.settings.layers.entry.height":"Высота","generator.settings.object":"Особенный","generator.settings.presets.amplified":"Расширенный","generator.settings.presets.caves":"Пещеры","generator.settings.presets.end":"Край","generator.settings.presets.floating_islands":"Парящие острова","generator.settings.presets.nether":"Ад","generator.settings.presets.overworld":"Верхний мир","generator.settings.string":"Шаблон","generator.settings.structures":"Структуры","generator.settings.structures.stronghold":"Крепость (Портал в Край)","generator.settings.structures.stronghold.count":"Количество","generator.settings.structures.stronghold.distance":"Расстояние","generator.settings.structures.stronghold.spread":"Распределение","generator.settings.structures.structures":"Структуры","generator.type":"Тип генератора","generator_biome.biome":"Биом","generator_biome.parameters":"Параметры","generator_biome.parameters.altitude":"Альтитуда","generator_biome.parameters.help":"Эти параметры определяют расположение биома. Каждый биом должен иметь уникальную комбинацию параметров. Биомы с похожими значениями будут генерироваться рядом.","generator_biome.parameters.humidity":"Влажность","generator_biome.parameters.offset":"Смещение","generator_biome.parameters.temperature":"Температура","generator_biome.parameters.weirdness":"Странность","generator_structure.salt":"Соль","generator_structure.separation":"Изоляция","generator_structure.separation.help":"Минимальное расстояние в чанках между двумя структурами этого типа. Должно быть меньше чем интервал.","generator_structure.spacing":"Интервал","generator_structure.spacing.help":"Среднее расстояние в чанках между двумя структурами этого типа.","hide_source":"Скрыть источник","item.count":"Количество","item.durability":"Прочность","item.enchantments":"Зачарования","item.enchantments.entry":"Чары","item.item":"ID предмета","item.nbt":"NBT","item.potion":"Зелье","item.tag":"Тег предметов","key.advancements":"Достижения","key.attack":"Атаковать/Разрушить","key.back":"Идти назад","key.chat":"Открыть чат","key.command":"Открыть команды","key.drop":"Выбросить выбранный предмет","key.forward":"Идти вперёд","key.fullscreen":"Включить полноэкранный режим","key.hotbar.1":"Слот быстрого доступа 1","key.hotbar.2":"Слот быстрого доступа 2","key.hotbar.3":"Слот быстрого доступа 3","key.hotbar.4":"Слот быстрого доступа 4","key.hotbar.5":"Слот быстрого доступа 5","key.hotbar.6":"Слот быстрого доступа 6","key.hotbar.7":"Слот быстрого доступа 7","key.hotbar.8":"Слот быстрого доступа 8","key.hotbar.9":"Слот быстрого доступа 9","key.inventory":"Открыть/Закрыть инвентарь","key.jump":"Прыжок","key.left":"Идти влево","key.loadToolbarActivator":"Клавиша загрузки панели быстрого доступа","key.pickItem":"Выбрать блок","key.playerlist":"Список игроков","key.right":"Идти вправо","key.saveToolbarActivator":"Клавиша сохранения панели быстрого доступа","key.screenshot":"Сделать снимок экрана","key.smoothCamera":"Включить плавную камеру","key.sneak":"Присесть","key.spectatorOutlines":"Подсветить игроков (Режим наблюдателя)","key.sprint":"Бег","key.swapOffhand":"Переложить предмет в руках","key.togglePerspective":"Сменить перспективу","key.use":"Использовать предмет/Поставить блок","location.biome":"Биом","location.block":"Блок","location.dimension":"Измерение","location.feature":"Строение","location.fluid":"Жидкость","location.light":"Освещённость","location.light.light":"Уровень освещённости","location.position":"Позиция","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Задымлённое","loot_condition_type.alternative":"Альтернатива (ИЛИ)","loot_condition_type.block_state_property":"Свойства блока","loot_condition_type.damage_source_properties":"Источник урона","loot_condition_type.entity_properties":"Свойства сущности","loot_condition_type.entity_scores":"Счёты сущности","loot_condition_type.inverted":"Инвертирование (НЕ)","loot_condition_type.killed_by_player":"Убит игроком","loot_condition_type.location_check":"Местоположение","loot_condition_type.match_tool":"Свойства инструмента","loot_condition_type.random_chance":"Случайность","loot_condition_type.random_chance_with_looting":"Случайность с «Добычей»","loot_condition_type.reference":"Предикат","loot_condition_type.survives_explosion":"Переживает взрыв","loot_condition_type.table_bonus":"Бонус таблицы","loot_condition_type.time_check":"Время","loot_condition_type.weather_check":"Погода","loot_entry.dynamic.name":"Название","loot_entry.item.name":"ID","loot_entry.loot_table.name":"Название Таблицы добычи","loot_entry.quality":"Качество","loot_entry.tag.expand":"Отдельно","loot_entry.tag.expand.help":"Если отдельно, то действует как множество записей каждого предмета из тега, иначе возвращает всё содержимое тега.","loot_entry.tag.name":"Название Тега предмета","loot_entry.type":"Тип","loot_entry.weight":"Вес","loot_function_type.apply_bonus":"Применить бонус","loot_function_type.copy_name":"Скопировать название","loot_function_type.copy_nbt":"Скопировать NBT","loot_function_type.copy_state":"Скопировать состояния блока","loot_function_type.enchant_randomly":"Наложить случайные чары","loot_function_type.enchant_with_levels":"Наложить чары с уровнем","loot_function_type.exploration_map":"Задать свойства карты исследователя","loot_function_type.explosion_decay":"Разрушить взрывом","loot_function_type.fill_player_head":"Задать скин голове игрока","loot_function_type.furnace_smelt":"Расплавить в печи","loot_function_type.limit_count":"Ограничить количество","loot_function_type.looting_enchant":"Применить чары «Добыча»","loot_function_type.set_attributes":"Задать атрибуты","loot_function_type.set_contents":"Задать содержимое","loot_function_type.set_count":"Задать количество","loot_function_type.set_damage":"Задать повреждение","loot_function_type.set_data":"Задать данные","loot_function_type.set_loot_table":"Установить Таблицу добычи","loot_function_type.set_lore":"Задать описание","loot_function_type.set_name":"Задать название","loot_function_type.set_nbt":"Задать NBT","loot_function_type.set_stew_effect":"Задать эффект загадочного рагу","loot_pool.bonus_rolls":"Бонусных бросков","loot_pool.entries":"Элементы","loot_pool.entries.entry":"Элемент","loot_pool.rolls":"Бросков","loot_pool.rolls.help":"Количество раз выбора случайной записи.","loot_pool_entry_type.alternatives":"Альтернатива","loot_pool_entry_type.alternatives.help":"Выбирает первую дочернюю запись, у которой выполняется условие.","loot_pool_entry_type.dynamic":"Динамический","loot_pool_entry_type.dynamic.help":"Возвращает особое содержимое блока.","loot_pool_entry_type.empty":"Ничего","loot_pool_entry_type.empty.help":"Возвращает пустую запись.","loot_pool_entry_type.group":"Группа","loot_pool_entry_type.group.help":"Выбирает все дочерние записи, у которых выполняются условия.","loot_pool_entry_type.item":"Предмет","loot_pool_entry_type.item.help":"Возвращает один предмет.","loot_pool_entry_type.loot_table":"Таблица добычи","loot_pool_entry_type.loot_table.help":"Возвращает содержимое другой таблицы добычи.","loot_pool_entry_type.sequence":"Последовательность","loot_pool_entry_type.sequence.help":"Выбирает все дочерние записи до первой записи, у которой условия не выполняются.","loot_pool_entry_type.tag":"Тег предметов","loot_pool_entry_type.tag.help":"Возвращает содержимое тега предметов.","loot_table.pools":"Пулы","loot_table.pools.entry":"Пул","luck_based":"Основано на удаче","nbt_operation.op":"Действие","nbt_operation.op.append":"Добавление","nbt_operation.op.merge":"Объединение","nbt_operation.op.replace":"Замена","nbt_operation.source":"Источник","nbt_operation.target":"Цель","noise_settings.bedrock_floor_position":"Высота нижнего слоя коренной породы","noise_settings.bedrock_floor_position.help":"Положение нижнего уровня бедрока. Чем больше число, тем выше уровень.","noise_settings.bedrock_roof_position":"Высота верхнего слоя коренной породы","noise_settings.bedrock_roof_position.help":"Положение верхнего уровня бедрока относительно верха мира. Чем больше число, тем ниже уровень.","noise_settings.default_block":"Стандартный блок","noise_settings.default_fluid":"Стандартная жидкость","noise_settings.disable_mob_generation":"Отключить генерацию мобов","noise_settings.disable_mob_generation.help":"Определяет, появляются ли мобы во время генерации.","noise_settings.noise":"Параметры шума","noise_settings.noise.amplified":"Расширенный","noise_settings.noise.bottom_slide":"Низ кривой","noise_settings.noise.bottom_slide.offset":"Смещение низа кривой","noise_settings.noise.bottom_slide.size":"Размер низа кривой","noise_settings.noise.bottom_slide.target":"Значение низа кривой","noise_settings.noise.density_factor":"Множитель плотности","noise_settings.noise.density_offset":"Смещение плотности","noise_settings.noise.height":"Высота","noise_settings.noise.island_noise_override":"Переопределение островным шумом","noise_settings.noise.island_noise_override.help":"Если «Да», ландшафт будет генерироваться как в Энде: один большой остров в центре и много островов вдали от него.","noise_settings.noise.random_density_offset":"Случайное смещение плотности","noise_settings.noise.sampling":"Координатный масштаб","noise_settings.noise.sampling.xz_factor":"Множитель шума по X, Z","noise_settings.noise.sampling.xz_scale":"Уровень шума по X, Z","noise_settings.noise.sampling.y_factor":"Множитель шума по Y","noise_settings.noise.sampling.y_scale":"Уровень шума по Y","noise_settings.noise.simplex_surface_noise":"Симплекс-шум поверхности","noise_settings.noise.size_horizontal":"Размер по горизонтали","noise_settings.noise.size_vertical":"Размер по вертикали","noise_settings.noise.top_slide":"Верх кривой","noise_settings.noise.top_slide.offset":"Смещение верха кривой","noise_settings.noise.top_slide.size":"Размер верха кривой","noise_settings.noise.top_slide.target":"Значение верха кривой","noise_settings.sea_level":"Уровень моря","player.advancements":"Достижение","player.advancements.entry":"Достижение","player.gamemode":"Игровой режим","player.level":"Уровень опыта","player.recipes":"Рецепты","player.stats":"Статистика","player.stats.entry":"Статистика","processors.object":"Особенный","processors.string":"Упоминание","range.binomial":"Биномиальное распределение","range.max":"Макс.","range.min":"Мин.","range.n":"n","range.number":"Число","range.object":"Диапазон","range.p":"p","range.uniform":"Равномерное распределение","requirements":"Требуются","slot.chest":"Тело","slot.feet":"Стопы","slot.head":"Голова","slot.legs":"Ноги","slot.mainhand":"Ведущая рука","slot.offhand":"Вторая рука","statistic.stat":"Статистика","statistic.type":"Тип","statistic.type.broken":"Сломано","statistic.type.crafted":"Создано","statistic.type.custom":"Пользовательский","statistic.type.dropped":"Выброшено","statistic.type.killed":"Убито","statistic.type.killedByTeam":"Был убит командой","statistic.type.killed_by":"Был убит","statistic.type.mined":"Вскопано","statistic.type.picked_up":"Подобрано","statistic.type.teamkill":"Убито из команды","statistic.type.used":"Использовано","statistic.value":"Значение","status_effect.ambient":"Из окружения","status_effect.amplifier":"Уровень","status_effect.duration":"Длительность","status_effect.visible":"Видимый","table.type":"Тип","table.type.block":"Блок","table.type.chest":"Сундук","table.type.empty":"Ничего","table.type.entity":"Сущность","table.type.fishing":"Рыбалка","table.type.generic":"Общий","tag.replace":"Заменить","tag.values":"Значения","text_component":"Текстовый компонент","text_component.boolean":"Логический тип","text_component.list":"Список","text_component.number":"Число","text_component.object":"Объект","text_component.string":"Строка","text_component_object.block":"Блок","text_component_object.bold":"Жирный","text_component_object.clickEvent":"Действие по нажатию","text_component_object.clickEvent.action":"Действие","text_component_object.clickEvent.action.change_page":"Сменить страницу","text_component_object.clickEvent.action.copy_to_clipboard":"Скопировать в буфер обмена","text_component_object.clickEvent.action.open_file":"Открыть файл","text_component_object.clickEvent.action.open_url":"Открыть ссылку","text_component_object.clickEvent.action.run_command":"Выполнить команду","text_component_object.clickEvent.action.suggest_command":"Предложить команду","text_component_object.clickEvent.value":"Значение","text_component_object.color":"Цвет","text_component_object.entity":"Сущность","text_component_object.extra":"Дополнительно","text_component_object.font":"Шрифт","text_component_object.hoverEvent":"Действие по наведению","text_component_object.hoverEvent.action":"Действие","text_component_object.hoverEvent.action.show_entity":"Показать сущность","text_component_object.hoverEvent.action.show_item":"Показать предмет","text_component_object.hoverEvent.action.show_text":"Показать текст","text_component_object.hoverEvent.contents":"Содержимое","text_component_object.hoverEvent.value":"Значение","text_component_object.insertion":"Вставка","text_component_object.interpret":"Интерпретировать","text_component_object.italic":"Курсив","text_component_object.keybind":"Назначенная клавиша","text_component_object.nbt":"Данные сущности (NBT)","text_component_object.obfuscated":"Обфусцированный","text_component_object.score":"Счёт","text_component_object.score.name":"Имя","text_component_object.score.objective":"Счёт","text_component_object.score.value":"Значение","text_component_object.selector":"Селектор","text_component_object.storage":"Хранилище","text_component_object.strikethrough":"Зачёркнутый","text_component_object.text":"Простой текст","text_component_object.translate":"Переводимый текст","text_component_object.underlined":"Подчёркнутый","text_component_object.with":"Перевести с","true":"Да","uniform_int.base":"Начальное значение","uniform_int.number":"Точное","uniform_int.object":"Случайное число в промежутке","uniform_int.spread":"Распределение","unset":"Не задано","world.bonus_chest":"Бонусный сундук","world.generate_features":"Генерация строений","world.seed":"Ключ генератора мира","worldgen.warning":"Эта функция экспериментальная и крайне нестабильная. Она может измениться в будущих версиях. Есть вероятность, что произойдёт сбой игры при создании мира.","worldgen/biome_source.checkerboard":"Шахматный","worldgen/biome_source.checkerboard.help":"Биомы генерируются в шахматном порядке чанков.","worldgen/biome_source.fixed":"Один биом","worldgen/biome_source.fixed.help":"Один биом на весь мир.","worldgen/biome_source.multi_noise":"Множественный шум","worldgen/biome_source.multi_noise.help":"Распределение особых биомов с настраиваемыми параметрами.","worldgen/biome_source.the_end":"Энд","worldgen/biome_source.the_end.help":"Распределение биомов в Краю.","worldgen/biome_source.vanilla_layered":"Стандартный","worldgen/biome_source.vanilla_layered.help":"Распределение биомов в Верхнем мире.","worldgen/chunk_generator.debug":"Режим отладки","worldgen/chunk_generator.flat":"Суперплоскость","worldgen/chunk_generator.noise":"По умолчанию"}');export default e; +//# sourceMappingURL=ru.61de7e2f.js.map diff --git a/assets/ru.61de7e2f.js.map b/assets/ru.61de7e2f.js.map new file mode 100644 index 00000000..c1f2dc62 --- /dev/null +++ b/assets/ru.61de7e2f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ru.61de7e2f.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/ru.9c62fabf.js b/assets/ru.9c62fabf.js new file mode 100644 index 00000000..b30b2cfa --- /dev/null +++ b/assets/ru.9c62fabf.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"Достижение","copy":"Копировать","dimension":"Измерение","dimension-type":"Тип измерения","download":"Скачать","fields":"Поля","item-modifier":"Модификатор предмета","language":"Язык","loot-table":"Таблица добычи","predicate":"Предикат","preview":"Визуализировать","preview.depth":"Глубина","preview.scale":"Размер","preview.show_density":"Показать плотность","preview.width":"Ширина","redo":"Повторить","reset":"Сбросить","settings.fields.description":"Настройка дополнительных полей","settings.fields.name":"Название","settings.fields.path":"Контекст","share":"Поделиться","title.generator":"Генератор «%0%»","title.home":"Генератор наборов данных","undo":"Отменить","world":"Настройки мира","worldgen/biome":"Биом","worldgen/carver":"«Разрезатель»","worldgen/feature":"Особенность","worldgen/noise-settings":"Настройки шума","worldgen/processor-list":"Список процессоров","worldgen/structure-feature":"Особенности структур","worldgen/surface-builder":"Генерация плоскости","worldgen/template-pool":"Пул шаблонов"}');export default e; +//# sourceMappingURL=ru.9c62fabf.js.map diff --git a/assets/ru.9c62fabf.js.map b/assets/ru.9c62fabf.js.map new file mode 100644 index 00000000..5109987f --- /dev/null +++ b/assets/ru.9c62fabf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ru.9c62fabf.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/sk.fd7a01f7.js b/assets/sk.fd7a01f7.js new file mode 100644 index 00000000..b734d977 --- /dev/null +++ b/assets/sk.fd7a01f7.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"Pokrok","button.add":"Pridať","button.collapse":"Skryť","button.expand":"Zobraziť","button.remove":"Vymazať","copy":"Kopírovať","dimension-type":"Typ dimenzie","dimension":"Dimenzia","download":"Stiahnuť","error.block_state.missing_property":"Chýba údaj kocky \\"%0%\\"","fields":"Polia","github":"GitHub","home":"Domov","item-modifier":"Úprava itemov","language":"Jazyk","loot-table":"Zoznam lupov","maximize":"Maximalizovať","minimize":"Minimalizovať","not_found.description":"Stránka ktorú ste vyhľadali neexistuje.","predicate":"Predikát","redo":"Znovu","reset":"Resetovať","settings":"Nastavenia","settings.fields.description":"Prispôsobiť nastavenia pokročilých polí","settings.fields.path":"Kontext","settings.fields.name":"Meno","share":"Zdieľať","title.generator":"%0% Generátor","title.home":"Data Packové Generátory","presets":"Prednastavenia","preview":"Vizualizovať","preview.show_density":"Zobraziť hustotu","preview.scale":"Veľkosť","preview.depth":"Hĺbka","preview.width":"Šírka","undo":"Späť","world":"Nastavenia sveta","worldgen/biome":"Bióm","worldgen/carver":"Carver","worldgen/feature":"Doplnky","worldgen/noise-settings":"Nastavenia šumu","worldgen/processor-list":"Zoznam procesorov","worldgen/structure-feature":"Doplnky štruktúr","worldgen/surface-builder":"Povrchový staviteľ","worldgen/template-pool":"Súbor šablon"}');export default e; +//# sourceMappingURL=sk.fd7a01f7.js.map diff --git a/assets/sk.fd7a01f7.js.map b/assets/sk.fd7a01f7.js.map new file mode 100644 index 00000000..2076a3b2 --- /dev/null +++ b/assets/sk.fd7a01f7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sk.fd7a01f7.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/vendor.5f8b9a3f.js b/assets/vendor.5f8b9a3f.js new file mode 100644 index 00000000..3ccaa19c --- /dev/null +++ b/assets/vendor.5f8b9a3f.js @@ -0,0 +1,2 @@ +var e,t,r,o,i=Object.defineProperty,a=Object.defineProperties,n=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))s.call(t,r)&&d(e,r,t[r]);if(c)for(var r of c(t))l.call(t,r)&&d(e,r,t[r]);return e},_=(e,t)=>a(e,n(t)),p=e=>"symbol"==typeof e?e:e+"",u={},f=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function b(e,t){for(var r in t)e[r]=t[r];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function v(e,t,r){var o,i,a,n=arguments,c={};for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:c[a]=t[a];if(arguments.length>3)for(r=[r],a=3;a0?y(p.type,p.props,p.key,null,p.__v):p)){if(p.__=r,p.__b=r.__b+1,null===(_=v[d])||_&&p.key==_.key&&p.type===_.type)v[d]=void 0;else for(m=0;mt.rank?-1:e.index-t.index}function H(e,t){return e.index=t,e.rank=function(e){return e.props.default?0:(t=e.props.path,K(t).map(G).join(""));var t}(e),e.props}function K(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function G(e){return":"==e.charAt(0)?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}var X=null,V=[],J=[],Z={};function Y(){var e;return""+((e=X&&X.location?X.location:X&&X.getCurrentLocation?X.getCurrentLocation():"undefined"!=typeof location?location:Z).pathname||"")+(e.search||"")}function Q(e,t){return void 0===t&&(t=!1),"string"!=typeof e&&e.url&&(t=e.replace,e=e.url),function(e){for(var t=V.length;t--;)if(V[t].canRoute(e))return!0;return!1}(e)&&function(e,t){void 0===t&&(t="push"),X&&X[t]?X[t](e):"undefined"!=typeof history&&history[t+"State"]&&history[t+"State"](null,null,e)}(e,t?"replace":"push"),ee(e)}function ee(e){for(var t=!1,r=0;r0},t.prototype.routeTo=function(e){this.setState({url:e});var t=this.canRoute(e);return this.updating||this.forceUpdate(),t},t.prototype.componentWillMount=function(){V.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var e=this;X&&(this.unlisten=X.listen((function(t){e.routeTo(""+(t.pathname||"")+(t.search||""))}))),this.updating=!1},t.prototype.componentWillUnmount=function(){"function"==typeof this.unlisten&&this.unlisten(),V.splice(V.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(e,t,r){return e.filter(H).sort(W).map((function(e){var o=U(t,e.props.path,e.props);if(o){if(!1!==r){var i={url:t,matches:o};return E(i,o),delete i.ref,delete i.key,function(e,t,r){var o,i,a,n=arguments,c=b({},e.props);for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:c[a]=t[a];if(arguments.length>3)for(r=[r],a=3;a=o.__.length&&o.__.push({}),o.__[t]}function ve(e){return me=1,function(e,t,r){var o=he(se++,2);return o.t=e,o.__c||(o.__=[r?r(t):Me(void 0,t),function(e){var t=o.t(o.__[0],e);o.__[0]!==t&&(o.__=[t,o.__[1]],o.__c.setState({}))}],o.__c=le),o.__}(Me,e)}function ye(t,r){var o=he(se++,3);!e.__s&&Se(o.__H,r)&&(o.__=t,o.__H=r,le.__H.__h.push(o))}function Ne(e){return me=5,function(e,t){var r=he(se++,7);return Se(r.__H,t)&&(r.__=e(),r.__H=t,r.__h=e),r.__}((function(){return{current:e}}),[])}function Oe(e){var t=he(se++,10),r=ve();return t.__=e,le.componentDidCatch||(le.componentDidCatch=function(e){t.__&&t.__(e),r[1](e)}),[r[0],function(){r[1](void 0)}]}function ke(){_e.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(we),t.__H.__h.forEach(je),t.__H.__h=[]}catch(r){t.__H.__h=[],e.__e(r,t.__v)}})),_e=[]}e.__b=function(e){le=null,pe&&pe(e)},e.__r=function(e){ue&&ue(e),se=0;var t=(le=e.__c).__H;t&&(t.__h.forEach(we),t.__h.forEach(je),t.__h=[])},e.diffed=function(t){fe&&fe(t);var r=t.__c;r&&r.__H&&r.__H.__h.length&&(1!==_e.push(r)&&de===e.requestAnimationFrame||((de=e.requestAnimationFrame)||function(e){var t,r=function(){clearTimeout(o),xe&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(r,100);xe&&(t=requestAnimationFrame(r))})(ke)),le=void 0},e.__c=function(t,r){r.some((function(t){try{t.__h.forEach(we),t.__h=t.__h.filter((function(e){return!e.__||je(e)}))}catch(o){r.some((function(e){e.__h&&(e.__h=[])})),r=[],e.__e(o,t.__v)}})),ge&&ge(t,r)},e.unmount=function(t){be&&be(t);var r=t.__c;if(r&&r.__H)try{r.__H.__.forEach(we)}catch(o){e.__e(o,r.__v)}};var xe="function"==typeof requestAnimationFrame;function we(e){var t=le;"function"==typeof e.__c&&e.__c(),le=t}function je(e){var t=le;e.__c=e.__(),le=t}function Se(e,t){return!e||e.length!==t.length||t.some((function(t,r){return t!==e[r]}))}function Me(e,t){return"function"==typeof t?t(e):t}var Ce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Pe(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})})),t}var Le={},Be={},ze={};Object.defineProperty(ze,"__esModule",{value:!0}),ze.ModelPath=ze.Path=ze.relativePath=void 0,ze.relativePath=function(e,t){return t.reduce(((e,t)=>"pop"===t?e.pop():e.push(t.push)),e)};class Re{constructor(e,t){this.modelArr=null!=e?e:[],this.contextArr=null!=t?t:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(e,t){return new Re(this.modelArr.slice(e,t),this.contextArr)}shift(){return new Re(this.modelArr.slice(1),this.contextArr)}pop(){return new Re(this.modelArr.slice(0,-1),this.contextArr)}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new Re([...this.modelArr,e],[...this.contextArr])}contextPush(e){if("number"==typeof e)return this.copy();const t=e.startsWith("minecraft:")?e.slice(10):e;return new Re([...this.modelArr],[...this.contextArr,t])}copy(){return new Re([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(e){return new $e(e,this)}getContext(){return this.contextArr}equals(e){return e.modelArr.length===this.modelArr.length&&e.modelArr.every(((e,t)=>e===this.modelArr[t]))}startsWith(e){return!(this.modelArr.lengthe===this.modelArr[t]))}endsWith(e){const t=this.modelArr.length-e.modelArr.length;return!(t<0)&&e.modelArr.every(((e,r)=>e===this.modelArr[t+r]))}toString(){return this.modelArr.map((e=>"string"==typeof e?`.${e}`:`[${e}]`)).join("").replace(/^\./,"")}forEach(e,t){return this.modelArr.forEach(e,t)}}ze.Path=Re;class $e extends Re{constructor(e,t){super(null==t?void 0:t.modelArr,null==t?void 0:t.contextArr),this.model=e}getModel(){return this.model}get(){var e;return null===(e=this.model)||void 0===e?void 0:e.get(this)}set(e){var t;null===(t=this.model)||void 0===t||t.set(this,e)}slice(e,t){return new $e(this.model,super.slice(e,t))}shift(){return new $e(this.model,super.shift())}pop(){return new $e(this.model,super.pop())}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new $e(this.model,super.modelPush(e))}contextPush(e){return new $e(this.model,super.contextPush(e))}copy(){return new $e(this.model,super.copy())}}ze.ModelPath=$e;var Ae={};Object.defineProperty(Ae,"__esModule",{value:!0}),Ae.Errors=void 0;class Te{constructor(){this.errors=[]}add(e,t,...r){return this.errors.push({path:e,error:t,params:r}),!1}get(e,t=!1){return t?this.errors.filter((t=>t.path.equals(e))):this.errors.filter((t=>t.path.startsWith(e)))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const e of this.errors)yield e}}Ae.Errors=Te,Object.defineProperty(Be,"__esModule",{value:!0}),Be.DataModel=void 0;const qe=ze,Ie=Ae;Be.DataModel=class{constructor(e,t){var r;this.schema=e,this.data=e.default(),this.listeners=[],this.errors=new Ie.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0,this.historyMax=null!==(r=null==t?void 0:t.historyMax)&&void 0!==r?r:50}addListener(e){this.listeners.push(e)}removeListener(e){const t=this.listeners.indexOf(e);t>-1&&this.listeners.splice(t,1)}invalidate(){const e=JSON.stringify(this.data);this.history[this.historyIndex]!==e&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,e),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach((e=>{e.invalidated&&e.invalidated(this),e.errors&&e.errors(this.errors)}))}reset(e,t){this.data=e,this.validate(t),this.invalidate()}get(e){let t=this.data;return e.forEach((e=>{if(void 0===t)return t;t=t[e]})),t}set(e,t,r){if(0===e.getArray().length)return void this.reset(t,!0);let o=this.data;e.pop().forEach((e=>{void 0!==o[e]&&"string"!=typeof o[e]&&"number"!=typeof o[e]||(o[e]={}),o=o[e]})),void 0===t||"number"==typeof t&&isNaN(t)?"number"==typeof e.last()?o.splice(e.last(),1):delete o[e.last()]:o[e.last()]=t,r||(console.log("Set",e.toString(),JSON.stringify(t)),this.validate(!0),this.invalidate())}undo(){this.historyIndex>0&&(this.historyIndex-=1,this.data=JSON.parse(this.history[this.historyIndex]),this.validate(!1),this.silentInvalidate())}redo(){this.historyIndex{e.errors&&e.errors(o)}))}};var De,Fe={};De=Fe,Object.defineProperty(De,"__esModule",{value:!0}),De.Keep=De.Opt=De.Has=De.Mod=De.Base=void 0,De.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:e=>e,suggest:()=>[],validate:(e,t)=>t,validationOption:()=>{},hook(e,t,...r){return e.base({node:this},t,...r)},canUpdate:()=>!1,update:()=>[]},De.Mod=(e,t)=>m(m({},e),"function"==typeof t?t(e):t),De.Has=(e,t)=>De.Mod(t,{enabled:t=>void 0!==t.push(e).get()}),De.Opt=function(e){return _(m({},e),{optional:()=>!0})},De.Keep=function(e){return _(m({},e),{keep:()=>!0})};var Ee={};Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.BooleanNode=void 0;const Ue=Fe;Ee.BooleanNode=()=>_(m({},Ue.Base),{type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,r,o){return o.loose&&"boolean"!=typeof t&&(t=this.default()),"boolean"==typeof t&&void 0!==t||r.add(e,"error.expected_boolean"),t},hook(e,t,...r){var o;return(null!==(o=e.boolean)&&void 0!==o?o:e.base).call(e,{node:this},t,...r)}});var We={},He={};Object.defineProperty(He,"__esModule",{value:!0}),He.ListNode=void 0;const Ke=Fe;He.ListNode=(e,t)=>{var r,o;const i=null!==(r=null==t?void 0:t.minLength)&&void 0!==r?r:0,a=null!==(o=null==t?void 0:t.maxLength)&&void 0!==o?o:1/0,n=(null==t?void 0:t.minLength)&&(null==t?void 0:t.maxLength);return _(m({},Ke.Base),{type:()=>"list",default:()=>(null==t?void 0:t.minLength)?[...Array(i)].map((t=>e.default())):[],navigate(t,r){const o=r+1;return t.getArray().length<=o?this:e.navigate(t,o)},pathPush:(e,t)=>e.push(parseInt(t.toString())).contextPush("entry"),validate(t,r,o,c){return c.loose&&!Array.isArray(r)&&(r=this.default()),Array.isArray(r)?(n&&(r.lengtha)?i===a?o.add(t,"error.invalid_list_range.exact",r.length,i):o.add(t,"error.invalid_list_range.between",r.length,i,a):r.lengtha&&o.add(t,"error.invalid_list_range.larger",r.length,a),r.map(((r,i)=>e.validate(t.push(i),r,o,c)))):(o.add(t,"error.expected_list"),r)},hook(r,o,...i){var a;return(null!==(a=r.list)&&void 0!==a?a:r.base).call(r,{node:this,children:e,config:null!=t?t:{}},o,...i)}})};var Ge={};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.SwitchNode=void 0;const Xe=Fe;Ge.SwitchNode=e=>_(m({},Xe.Base),{type(e){return this.activeCase(e,!0).node.type(e)},category(e){return this.activeCase(e,!0).node.category(e)},default:()=>e[0].node.default(),navigate(e,t){var r;const o=t+1;return null===(r=this.activeCase(e.slice(0,o)))||void 0===r?void 0:r.node.navigate(e,t)},pathPush(e,t){var r,o;return null!==(o=null===(r=this.activeCase(e))||void 0===r?void 0:r.node.pathPush(e,t))&&void 0!==o?o:e},suggest(t,r){var o,i;return null!==(i=null===(o=this.activeCase(t))||void 0===o?void 0:o.node.suggest(t,r))&&void 0!==i?i:e.filter((e=>e.match(t))).map((e=>e.node.suggest(t,r))).reduce(((e,t)=>e.concat(t)))},validate(e,t,r,o){let i=this.activeCase(e);return void 0===i?t:i.node.validate(e,t,r,o)},validationOption(e){var t;return null===(t=this.activeCase(e))||void 0===t?void 0:t.node.validationOption(e)},activeCase(t,r){const o=(e,t)=>{var r,o;return(null!==(r=t.priority)&&void 0!==r?r:0)-(null!==(o=e.priority)&&void 0!==o?o:0)},i=e.filter((e=>e.match(t))).sort(o);return r&&0===i.length?e.sort(o)[0]:i.length>0?i[0]:void 0},hook(e,t,...r){return this.activeCase(t,!0).node.hook(e,t,...r)}}),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectOrPreset=e.StringOrList=e.ObjectOrList=e.ChoiceNode=void 0;const t=He,r=Ge;e.ChoiceNode=(e,t)=>{const o=r.SwitchNode(e.map((e=>({type:e.type,priority:e.priority,match:t=>((e,t)=>{if(e.match)return e.match(t);switch(e.type){case"list":return Array.isArray(t);case"object":return"object"==typeof t&&!Array.isArray(t);default:return typeof t===e.type}})(e,t.get()),node:e.node}))));return _(m({},o),{validate(e,t,r,i){let a=o.activeCase(e,!0);return a.node.optional()?t:a.node.validate(e,t,r,i)},hook(r,i,...a){var n;return(null!==(n=r.choice)&&void 0!==n?n:r.base).call(r,{node:this,choices:e,config:null!=t?t:{},switchNode:o},i,...a)}})};const o=r=>(o,i)=>e.ChoiceNode([{type:r,node:o,change:e=>{var t;return null!==(t=e[0])&&void 0!==t?t:o.default()}},{type:"list",node:t.ListNode(o),change:e=>e?[e]:[]}],i);e.ObjectOrList=o("object"),e.StringOrList=o("string"),e.ObjectOrPreset=(t,r,o)=>e.ChoiceNode([{type:"string",priority:1,node:t,change:e=>Object.keys(o)[0]},{type:"object",node:r,change:e=>{var t;return null!==(t=o[e])&&void 0!==t?t:o[Object.keys(o)[0]]}}])}(We);var Ve={};Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.MapNode=void 0;const Je=Fe;Ve.MapNode=(e,t,r)=>_(m({},Je.Base),{type:()=>"map",default:()=>({}),navigate(e,r){const o=r+1;return e.getArray().length<=o?this:t.navigate(e,o)},pathPush:(e,t)=>e.modelPush(t),suggest:t=>e.suggest(t,""),validate(r,o,i,a){if(a.loose&&"object"!=typeof o&&(o=this.default()),null===o||"object"!=typeof o)return i.add(r,"error.expected_object"),o;let n={};return Object.keys(o).forEach((c=>{e.validate(r,c,i,a),n[c]=t.validate(r.push(c),o[c],i,a)})),n},validationOption(t){var o;return null!==(o=null==r?void 0:r.validation)&&void 0!==o?o:e.validationOption(t.push(""))},hook(o,i,...a){var n;return(null!==(n=o.map)&&void 0!==n?n:o.base).call(o,{node:this,keys:e,children:t,config:null!=r?r:{}},i,...a)}});var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.NumberNode=void 0;const Ye=Fe;Ze.NumberNode=e=>{var t,r,o;const i=!!(null==e?void 0:e.color)||null!==(t=null==e?void 0:e.integer)&&void 0!==t&&t,a=(null==e?void 0:e.color)?0:null!==(r=null==e?void 0:e.min)&&void 0!==r?r:-1/0,n=(null==e?void 0:e.color)?16777215:null!==(o=null==e?void 0:e.max)&&void 0!==o?o:1/0,c=void 0!==(null==e?void 0:e.min)&&void 0!==(null==e?void 0:e.max);return _(m({},Ye.Base),{type:()=>"number",default:()=>a>0?a:0,validate(e,t,r,o){return o.loose&&"number"!=typeof t&&(t=this.default()),"number"!=typeof t?r.add(e,"error.expected_number"):i&&!Number.isInteger(t)?r.add(e,"error.expected_integer"):c&&(tn)?r.add(e,"error.invalid_number_range.between",t,a,n):tn&&r.add(e,"error.invalid_number_range.larger",t,n),t},hook(t,r,...o){var s;return(null!==(s=t.number)&&void 0!==s?s:t.base).call(t,{node:this,integer:i,min:a,max:n,between:c,config:null!=e?e:{}},r,...o)}})};var Qe={},et={};function tt(e){return e.replace(/(\\|")/g,"\\$1")}Object.defineProperty(et,"__esModule",{value:!0}),et.quoteString=et.escapeString=void 0,et.escapeString=tt,et.quoteString=function(e){return`"${tt(e)}"`},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectNode=e.Case=e.Switch=void 0;const t=Fe,r=ze,o=Ae,i=et;e.Switch=Symbol("switch"),e.Case=Symbol("case"),e.ObjectNode=(a,n)=>{var d,u;const f=a,{[d=e.Switch]:g,[u=e.Case]:b}=f,h=((e,t)=>{var r={};for(var o in e)s.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&c)for(var o of c(e))t.indexOf(o)<0&&l.call(e,o)&&(r[o]=e[o]);return r})(f,[p(d),p(u)]),v=e=>{if(void 0===g)return h;const t=r.relativePath(e,g).get(),o=b[t];return m(m({},h),o)},y=(e,t)=>{var o;const i=g?r.relativePath(e,g).get():void 0,a=g&&null!==(o=b[i])&&void 0!==o?o:{},c=Object.keys(a),s=(null==n?void 0:n.context)?new r.ModelPath(e.getModel(),new r.Path(e.getArray(),[n.context])):e;return(!(null==n?void 0:n.disableSwitchContext)&&i&&c.includes(t)?s.contextPush(i):s).push(t)};return _(m({},t.Base),{type:()=>"object",category:()=>null==n?void 0:n.category,default:()=>({}),keep(){return this.optional()},navigate(e,t){const r=t+1,o=e.getArray();if(o.length<=r)return this;const i=v(e.slice(0,r))[o[r]];return null==i?void 0:i.navigate(e,r)},pathPush:(e,t)=>y(e,t.toString()),suggest(e,t){const r=v(e),o=Object.keys("object"==typeof t?t:{});return Object.keys(r).filter((t=>r[t].enabled(e))).filter((e=>!o.includes(e))).map(i.quoteString)},validate(e,t,i,a){if(a.loose&&"object"!=typeof t&&(t=this.default()),"object"!=typeof t)return i.add(e,"error.expected_object"),t;let n=h;if(g){const i=r.relativePath(e,g);let c=i.get();if(e.equals(i.pop())){const r=i.last();c=h[r].validate(e.push(r),t[r],new o.Errors,a)}n=m(m({},n),b[c])}const c=Object.keys(n),s=c.filter((e=>!n[e].optional())),l=new Set([...s,...Object.keys(t)]);let d={};return l.forEach((r=>{if(c.includes(r)){if(!n[r].enabled(e))return;const o=n[r].validate(e.push(r),t[r],i,a);!n[r].keep()&&n[r].optional()&&(void 0===o||Array.isArray(o)&&0===o.length||o.constructor===Object&&0===Object.keys(o).length)?d[r]=void 0:(d[r]=o,e.getModel().set(e.push(r),o,!0))}else d[r]=t[r]})),d},hook(e,t,...r){var o;return(null!==(o=e.object)&&void 0!==o?o:e.base).call(e,{node:this,fields:h,filter:g,cases:b,getActiveFields:v,getChildModelPath:y},t,...r)}})}}(Qe);var rt={};Object.defineProperty(rt,"__esModule",{value:!0}),rt.Reference=void 0,rt.Reference=(e,t)=>({type(r){return e.get(t).type.bind(this)(r)},category(r){return e.get(t).category.bind(this)(r)},default(){return e.get(t).default.bind(this)()},transform:(r,o)=>e.get(t).transform(r,o),enabled(r){return e.get(t).enabled.bind(this)(r)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(r,o){return e.get(t).navigate.bind(this)(r,o)},pathPush(r,o){return e.get(t).pathPush.bind(this)(r,o)},suggest(r,o){return e.get(t).suggest.bind(this)(r,o)},validate(r,o,i,a){return e.get(t).validate.bind(this)(r,o,i,a)},validationOption(r){return e.get(t).validationOption.bind(this)(r)},hook(r,o,...i){return e.get(t).hook.bind(this)(r,o,...i)},activeCase(r,o){return e.get(t).activeCase.bind(this)(r,o)},canUpdate(r,o){return e.get(t).canUpdate.bind(this)(r,o)},update(r,o){return e.get(t).update.bind(this)(r,o)}});var ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.StringNode=void 0;const it=Fe,at=et,nt=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.enum)},ct=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.validator)};ot.StringNode=(e,t)=>{const r=nt(t)?"string"==typeof t.enum?()=>{var r;return null!==(r=null==e?void 0:e.get(t.enum))&&void 0!==r?r:[]}:()=>t.enum:"resource"===(null==t?void 0:t.validator)?"string"==typeof t.params.pool?t.params.pool.startsWith("$")?()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool.slice(1)))&&void 0!==r?r:[]}:()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool))&&void 0!==r?r:[]}:()=>t.params.pool:()=>[];return _(m({},it.Base),{type:()=>"string",default:()=>"",validate(e,o,i,a){if(a.loose&&"string"!=typeof o&&(o=this.default()||void 0),"string"!=typeof o)return i.add(e,"error.expected_string"),o;if(ct(t)&&("resource"===t.validator&&o.length>0&&!o.includes(":")&&(o="#"===o[0]?"#minecraft:"+o.slice(1):"minecraft:"+o),"resource"===t.validator&&("string"==typeof t.params.pool&&t.params.pool.startsWith("$")||t.params.allowTag&&"#"===o[0]||t.params.isDefinition||t.params.allowUnknown)))return o;if(nt(t)&&t.additional)return o;const n=r();return n.length>0&&!n.includes(o)&&i.add(e,"error.invalid_enum_option",o),o},suggest:()=>r().map(at.quoteString),validationOption:()=>ct(t)?t:void 0,hook(e,o,...i){var a;return(null!==(a=e.string)&&void 0!==a?a:e.base).call(e,{node:this,getValues:r,config:t},o,...i)}})};var st={};Object.defineProperty(st,"__esModule",{value:!0});var lt={};Object.defineProperty(lt,"__esModule",{value:!0}),lt.CollectionRegistry=lt.SchemaRegistry=void 0;lt.SchemaRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.error(`Tried to access schema "${e}", but that doesn't exist.`),t}};lt.CollectionRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.warn(`Tried to access collection "${e}", but that doesn't exist.`),null!=t?t:[]}};var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),function(e){var t=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),r=Ce&&Ce.__exportStar||function(e,r){for(var o in e)"default"===o||r.hasOwnProperty(o)||t(r,e,o)};Object.defineProperty(e,"__esModule",{value:!0}),r(Be,e),r(ze,e),r(Ae,e),r(Fe,e),r(Ee,e),r(We,e),r(He,e),r(Ve,e),r(Ze,e),r(Qe,e),r(rt,e),r(ot,e),r(Ge,e),r(st,e),r(lt,e),r(dt,e)}(Le);var mt={exports:{}};!function(e,t,r){function o(e){var t,r=this,o=(t=4022871197,function(e){e=String(e);for(var r=0;r>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)});r.next=function(){var e=2091639*r.s0+2.3283064365386963e-10*r.c;return r.s0=r.s1,r.s1=r.s2,r.s2=e-(r.c=0|e)},r.c=1,r.s0=o(" "),r.s1=o(" "),r.s2=o(" "),r.s0-=o(e),r.s0<0&&(r.s0+=1),r.s1-=o(e),r.s1<0&&(r.s1+=1),r.s2-=o(e),r.s2<0&&(r.s2+=1),o=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var r=new o(e),a=t&&t.state,n=r.next;return n.int32=function(){return 4294967296*r.next()|0},n.double=function(){return n()+11102230246251565e-32*(2097152*n()|0)},n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.alea=a}(0,mt);var _t={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:r+=e;for(var o=0;o>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xor128=a}(0,_t);var pt={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:r+=e;for(var o=0;o>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xorwow=a}(0,pt);var ut={exports:{}};!function(e,t,r){function o(e){var t=this;t.next=function(){var e,r,o=t.x,i=t.i;return e=o[i],r=(e^=e>>>7)^e<<24,r^=(e=o[i+1&7])^e>>>10,r^=(e=o[i+3&7])^e>>>3,r^=(e=o[i+4&7])^e<<7,e=o[i+7&7],r^=(e^=e<<13)^e<<9,o[i]=r,t.i=i+1&7,r},function(e,t){var r,o=[];if(t===(0|t))o[0]=t;else for(t=""+t,r=0;r0;--r)e.next()}(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){null==e&&(e=+new Date);var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&(a.x&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xorshift7=a}(0,ut);var ft={exports:{}};!function(e,t,r){function o(e){var t=this;t.next=function(){var e,r,o=t.w,i=t.X,a=t.i;return t.w=o=o+1640531527|0,r=i[a+34&127],e=i[a=a+1&127],r^=r<<13,e^=e<<17,r^=r>>>15,e^=e>>>12,r=i[a]=r^e,t.i=a,r+(o^o>>>16)|0},function(e,t){var r,o,i,a,n,c=[],s=128;for(t===(0|t)?(o=t,t=null):(t+="\0",o=0,s=Math.max(s,t.length)),i=0,a=-32;a>>15,o^=o<<4,o^=o>>>13,a>=0&&(n=n+1640531527|0,i=0==(r=c[127&a]^=o+n)?i+1:0);for(i>=128&&(c[127&(t&&t.length||0)]=-1),i=127,a=512;a>0;--a)o=c[i+34&127],r=c[i=i+1&127],o^=o<<13,r^=r<<17,o^=o>>>15,r^=r>>>12,c[i]=o^r;e.w=n,e.X=c,e.i=i}(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){null==e&&(e=+new Date);var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&(a.X&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xor4096=a}(0,ft);var gt={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.next=function(){var e=t.b,r=t.c,o=t.d,i=t.a;return e=e<<25^e>>>7^r,r=r-o|0,o=o<<24^o>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^r,t.c=r=r-o|0,t.d=o<<16^r>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):r+=e;for(var o=0;o>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.tychei=a}(0,gt);var bt,ht={exports:{}},vt=Pe(Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:{}}));bt=ht,function(e,t,r){var o,i=256,a=r.pow(i,6),n=r.pow(2,52),c=2*n,s=255;function l(s,l,f){var g=[],b=p(_((l=1==l?{entropy:!0}:l||{}).entropy?[s,u(t)]:null==s?function(){try{var r;return o&&(r=o.randomBytes)?r=r(i):(r=new Uint8Array(i),(e.crypto||e.msCrypto).getRandomValues(r)),u(r)}catch(c){var a=e.navigator,n=a&&a.plugins;return[+new Date,e,n,e.screen,u(t)]}}():s,3),g),h=new d(g),v=function(){for(var e=h.g(6),t=a,r=0;e=c;)e/=2,t/=2,r>>>=1;return(e+r)/t};return v.int32=function(){return 0|h.g(4)},v.quick=function(){return h.g(4)/4294967296},v.double=v,p(u(h.S),t),(l.pass||f||function(e,t,o,i){return i&&(i.S&&m(i,h),e.state=function(){return m(h,{})}),o?(r.random=e,t):e})(v,b,"global"in l?l.global:this==r,l.state)}function d(e){var t,r=e.length,o=this,a=0,n=o.i=o.j=0,c=o.S=[];for(r||(e=[r++]);a({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0})),{default:()=>[0,0,0]})),e.Range=e=>t.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:t.NumberNode(e),change:e=>{var t,r,o;return void 0===e?0:null!==(o=null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:t.ObjectNode({min:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e)),max:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:t.ObjectNode({type:i({enum:["minecraft:binomial"]}),n:t.NumberNode({integer:!0,min:0}),p:t.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,r;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:1,p:.5}}}]:[]],{choiceContext:"range"}),e.ConditionCases={"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:t.MapNode(i({validator:"objective"}),e.Range({forceRange:!0,bounds:!0}))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:requirements":{terms:t.ListNode(a("condition"))},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:e.Range(),period:t.Opt(t.NumberNode())},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}}}}(Bt);var zt={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initPredicatesSchemas=e.LocationFields=void 0;const t=Le,r=Bt;e.initPredicatesSchemas=function(o,i){const a=t.Reference.bind(void 0,o),n=t.StringNode.bind(void 0,i),c=t.ChoiceNode([{type:"string",node:n(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:t.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:t.ObjectNode({min:t.Opt(t.NumberNode({integer:!0})),max:t.Opt(t.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:t.BooleanNode(),change:e=>"true"===e||1===e}]);o.register("item_predicate",t.ObjectNode({item:t.Opt(n({validator:"resource",params:{pool:"item"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/item"}})),count:t.Opt(r.Range()),durability:t.Opt(r.Range()),potion:t.Opt(n({validator:"resource",params:{pool:"potion"}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:t.Opt(t.ListNode(a("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",t.ObjectNode({enchantment:t.Opt(n({validator:"resource",params:{pool:"enchantment"}})),levels:t.Opt(r.Range())},{context:"enchantment"})),o.register("block_predicate",t.ObjectNode({block:t.Opt(n({validator:"resource",params:{pool:"block"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/block"}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:t.Opt(t.MapNode(n(),c,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",t.ObjectNode({fluid:t.Opt(n({validator:"resource",params:{pool:"fluid"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/fluid"}})),state:t.Opt(t.MapNode(n(),c))},{context:"fluid"})),e.LocationFields={position:t.Opt(t.ObjectNode({x:t.Opt(r.Range()),y:t.Opt(r.Range()),z:t.Opt(r.Range())})),biome:t.Opt(n({enum:"biome"})),feature:t.Opt(n({enum:"structure_feature"})),dimension:t.Opt(n({enum:"dimension"})),light:t.Opt(t.ObjectNode({light:t.Opt(r.Range({integer:!0,min:0,max:15}))})),block:t.Opt(a("block_predicate")),fluid:t.Opt(a("fluid_predicate"))},o.register("location_predicate",t.ObjectNode(e.LocationFields,{context:"location"})),o.register("statistic_predicate",t.ObjectNode({type:n({validator:"resource",params:{pool:"stat_type"}}),stat:n(),value:r.Range(),[t.Switch]:[{push:"type"}],[t.Case]:{"minecraft:mined":{stat:n({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:n({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",t.ObjectNode({gamemode:t.Opt(n({enum:"gamemode"})),level:t.Opt(r.Range()),advancements:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"$advancement"}}),t.ChoiceNode([{type:"boolean",node:t.BooleanNode(),change:e=>!0},{type:"object",node:t.MapNode(n(),t.BooleanNode())}]))),recipes:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"$recipe"}}),t.BooleanNode())),stats:t.Opt(t.ListNode(a("statistic_predicate")))},{context:"player"})),o.register("status_effect_predicate",t.ObjectNode({amplifier:t.Opt(r.Range()),duration:t.Opt(r.Range()),ambient:t.Opt(t.BooleanNode()),visible:t.Opt(t.BooleanNode())},{context:"status_effect"})),o.register("distance_predicate",t.ObjectNode({x:t.Opt(r.Range()),y:t.Opt(r.Range()),z:t.Opt(r.Range()),absolute:t.Opt(r.Range()),horizontal:t.Opt(r.Range())},{context:"distance"})),o.register("entity_predicate",t.ObjectNode({type:t.Opt(n({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:t.Opt(n({validator:"team"})),location:t.Opt(a("location_predicate")),distance:t.Opt(a("distance_predicate")),flags:t.Opt(t.ObjectNode({is_on_fire:t.Opt(t.BooleanNode()),is_sneaking:t.Opt(t.BooleanNode()),is_sprinting:t.Opt(t.BooleanNode()),is_swimming:t.Opt(t.BooleanNode()),is_baby:t.Opt(t.BooleanNode())})),equipment:t.Opt(t.MapNode(n({enum:"slot"}),a("item_predicate"))),player:t.Opt(a("player_predicate")),effects:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"mob_effect"}}),a("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",t.ObjectNode({is_explosion:t.Opt(t.BooleanNode()),is_fire:t.Opt(t.BooleanNode()),is_magic:t.Opt(t.BooleanNode()),is_projectile:t.Opt(t.BooleanNode()),is_lightning:t.Opt(t.BooleanNode()),bypasses_armor:t.Opt(t.BooleanNode()),bypasses_invulnerability:t.Opt(t.BooleanNode()),bypasses_magic:t.Opt(t.BooleanNode()),source_entity:t.Opt(a("entity_predicate")),direct_entity:t.Opt(a("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",t.ObjectNode({dealt:t.Opt(r.Range()),taken:t.Opt(r.Range()),blocked:t.Opt(t.BooleanNode()),source_entity:t.Opt(a("entity_predicate")),type:t.Opt(a("damage_source_predicate"))},{context:"damage"}))}}(zt),Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.initAdvancementSchemas=void 0;const Rt=Le,$t=Bt,At=zt;Lt.initAdvancementSchemas=function(e,t){const r=Rt.Reference.bind(void 0,e),o=Rt.StringNode.bind(void 0,t);e.register("advancement",Rt.Mod(Rt.ObjectNode({display:Rt.Opt(Rt.Mod(Rt.ObjectNode({icon:Rt.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:Rt.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:Rt.Opt(o()),frame:Rt.Opt(o({enum:["task","challenge","goal"]})),show_toast:Rt.Opt(Rt.BooleanNode()),announce_to_chat:Rt.Opt(Rt.BooleanNode()),hidden:Rt.Opt(Rt.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:Rt.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:Rt.MapNode(o(),r("advancement_criteria")),requirements:Rt.Opt(Rt.ListNode(Rt.ListNode(o()))),rewards:Rt.Opt(Rt.ObjectNode({function:Rt.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:Rt.Opt(Rt.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:Rt.Opt(Rt.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:Rt.Opt(Rt.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",Rt.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:Rt.Opt(Rt.ObjectNode({[Rt.Switch]:["pop",{push:"trigger"}],[Rt.Case]:{"minecraft:bee_nest_destroyed":{block:Rt.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:Rt.Opt(Rt.NumberNode({integer:!0})),item:Rt.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:Rt.Opt(r("entity_predicate")),partner:Rt.Opt(r("entity_predicate")),child:Rt.Opt(r("entity_predicate"))},"minecraft:brewed_potion":{potion:Rt.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:Rt.Opt(o({enum:"dimension"})),to:Rt.Opt(o({enum:"dimension"}))},"minecraft:channeled_lightning":{victims:Rt.Opt(Rt.ListNode(Rt.Opt(r("entity_predicate"))))},"minecraft:construct_beacon":{level:Rt.Opt($t.Range())},"minecraft:consume_item":{item:Rt.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:Rt.Opt(r("entity_predicate")),zombie:Rt.Opt(r("entity_predicate"))},"minecraft:effects_changed":{effects:Rt.Opt(Rt.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),Rt.ObjectNode({amplifier:$t.Range(),duration:$t.Range()})))},"minecraft:enter_block":{block:Rt.Opt(o({validator:"resource",params:{pool:"block"}})),state:Rt.Opt(Rt.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:Rt.Opt($t.Range()),item:Rt.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:Rt.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:Rt.Opt(r("entity_predicate")),killing_blow:Rt.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:Rt.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:Rt.Opt(r("entity_predicate")),item:Rt.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":At.LocationFields,"minecraft:inventory_changed":{slots:Rt.Opt(Rt.ObjectNode({empty:Rt.Opt($t.Range()),occupied:Rt.Opt($t.Range()),full:Rt.Opt($t.Range())})),items:Rt.Opt(Rt.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:Rt.Opt($t.Range()),durability:Rt.Opt($t.Range()),item:Rt.Opt(r("item_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:Rt.Opt($t.Range()),victims:Rt.Opt(Rt.ListNode(Rt.Opt(r("entity_predicate"))))},"minecraft:levitation":{distance:Rt.Opt($t.Range()),duration:Rt.Opt($t.Range())},"minecraft:location":At.LocationFields,"minecraft:nether_travel":{distance:Rt.Opt($t.Range()),entered:Rt.Opt(r("location_predicate")),exited:Rt.Opt(r("location_predicate"))},"minecraft:placed_block":{block:Rt.Opt(o({validator:"resource",params:{pool:"block"}})),state:Rt.Opt(Rt.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:Rt.Opt(r("item_predicate")),location:Rt.Opt(r("location_predicate"))},"minecraft:player_hurt_entity":{damage:Rt.Opt(r("damage_predicate")),entity:Rt.Opt(r("entity_predicate"))},"minecraft:player_killed_entity":{entity:Rt.Opt(r("entity_predicate")),killing_blow:Rt.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:safely_harvest_honey":{block:Rt.Opt(Rt.ObjectNode({block:Rt.Opt(o({validator:"resource",params:{pool:"block"}})),tag:Rt.Opt(o({validator:"resource",params:{pool:"$tag/block"}}))})),item:Rt.Opt(r("item_predicate"))},"minecraft:slept_in_bed":At.LocationFields,"minecraft:slide_down_block":{block:Rt.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:Rt.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:Rt.Opt(r("entity_predicate"))},"minecraft:tame_animal":{entity:Rt.Opt(r("entity_predicate"))},"minecraft:used_ender_eye":{distance:Rt.Opt($t.Range())},"minecraft:used_totem":{item:Rt.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:Rt.Opt(r("entity_predicate")),item:Rt.Opt(r("item_predicate"))},"minecraft:voluntary_exile":At.LocationFields}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var Tt={};Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.initConditionSchemas=void 0;const qt=Le,It=Bt;Tt.initConditionSchemas=function(e,t){const r=qt.Reference.bind(void 0,e),o=qt.StringNode.bind(void 0,t);e.register("predicate",qt.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",qt.Mod(qt.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[qt.Switch]:[{push:"condition"}],[qt.Case]:It.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var Dt={},Ft={};Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.LootFunctions=Ft.LootConditions=Ft.LootCopySources=Ft.LootEntitySources=Ft.LootTableTypes=void 0,Ft.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),Ft.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),Ft.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),Ft.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),Ft.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(Dt,"__esModule",{value:!0}),Dt.initLootTableSchemas=void 0;const Et=Le,Ut=Ft,Wt=Bt;Dt.initLootTableSchemas=function(e,t){const r=Et.Reference.bind(void 0,e),o=Et.StringNode.bind(void 0,t),i={conditions:Et.Opt(Et.ListNode(r("loot_condition")))},a=m({functions:Et.Opt(Et.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of Ut.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new Et.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),Et.SwitchNode(i)}const c=n(Ut.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(Ut.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(Ut.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(Ut.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",Et.Mod(Et.ObjectNode({type:Et.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:Et.Opt(Et.ListNode(Et.Mod(Et.ObjectNode(m({rolls:Wt.Range({allowBinomial:!0,integer:!0}),bonus_rolls:Et.Opt(Wt.Range({integer:!0})),entries:Et.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:Et.Opt(Et.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const p={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",Et.Mod(Et.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:Et.Opt(Et.Mod(Et.NumberNode({integer:!0,min:1}),p)),quality:Et.Opt(Et.Mod(Et.NumberNode({integer:!0}),p)),[Et.Switch]:[{push:"type"}],[Et.Case]:{"minecraft:alternatives":m({children:Et.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:Et.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:Et.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:Et.Opt(Et.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",Et.Mod(Et.ObjectNode({function:s,[Et.Switch]:[{push:"function"}],[Et.Case]:{"minecraft:apply_bonus":m({enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:Et.Mod(Et.ObjectNode({bonusMultiplier:Et.Mod(Et.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:Et.Mod(Et.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:Et.Mod(Et.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},i),"minecraft:copy_name":m({source:d},i),"minecraft:copy_nbt":m({source:d,ops:Et.ListNode(Et.ObjectNode({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},i),"minecraft:copy_state":m({block:o({validator:"resource",params:{pool:"block"}}),properties:Et.ListNode(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},i),"minecraft:enchant_randomly":m({enchantments:Et.Opt(Et.ListNode(o({validator:"resource",params:{pool:"enchantment"}})))},i),"minecraft:enchant_with_levels":m({levels:Wt.Range({allowBinomial:!0}),treasure:Et.Opt(Et.BooleanNode())},i),"minecraft:exploration_map":m({destination:Et.Opt(o({enum:"structure_feature"})),decoration:Et.Opt(o({enum:"map_decoration"})),zoom:Et.Opt(Et.NumberNode({integer:!0})),search_radius:Et.Opt(Et.NumberNode({integer:!0})),skip_existing_chunks:Et.Opt(Et.BooleanNode())},i),"minecraft:fill_player_head":m({entity:l},i),"minecraft:limit_count":m({limit:Wt.Range({bounds:!0})},i),"minecraft:looting_enchant":m({count:Wt.Range({bounds:!0}),limit:Et.Opt(Et.NumberNode({integer:!0}))},i),"minecraft:set_attributes":m({modifiers:Et.ListNode(r("attribute_modifier"))},i),"minecraft:set_contents":m({entries:Et.ListNode(r("loot_entry"))},i),"minecraft:set_count":m({count:Wt.Range({allowBinomial:!0})},i),"minecraft:set_damage":m({damage:Wt.Range({forceRange:!0})},i),"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:Et.Opt(Et.NumberNode({integer:!0}))},"minecraft:set_lore":m({entity:Et.Opt(l),lore:Et.ListNode(r("text_component")),replace:Et.Opt(Et.BooleanNode())},i),"minecraft:set_name":m({entity:Et.Opt(l),name:Et.Opt(r("text_component"))},i),"minecraft:set_nbt":m({tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},i),"minecraft:set_stew_effect":m({effects:Et.Opt(Et.ListNode(Et.ObjectNode({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:Wt.Range()})))},i)}},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",Et.Mod(Et.ObjectNode({condition:c,[Et.Switch]:[{push:"condition"}],[Et.Case]:_(m({},Wt.ConditionCases),{"minecraft:entity_properties":{entity:l,predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:l,scores:Et.MapNode(o({validator:"objective"}),Wt.Range({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",Et.Mod(Et.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:Wt.Range({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:Et.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var Ht={};Object.defineProperty(Ht,"__esModule",{value:!0}),Ht.initPackMcmetaSchemas=void 0;const Kt=Le;Ht.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",Kt.Mod(Kt.ObjectNode({pack:Kt.Mod(Kt.ObjectNode({pack_format:Kt.Mod(Kt.NumberNode({integer:!0,min:5,max:5}),{default:()=>5}),description:Kt.Reference(e,"text_component")}),{default:()=>({pack_format:5,description:""})})}),{default:()=>({pack:{pack_format:5,description:""}})}))};var Gt={};Object.defineProperty(Gt,"__esModule",{value:!0}),Gt.initRecipeSchemas=void 0;const Xt=Le;Gt.initRecipeSchemas=function(e,t){const r=Xt.Reference.bind(void 0,e),o=Xt.StringNode.bind(void 0,t);e.register("recipe",Xt.Mod(Xt.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Xt.Switch]:[{push:"type"}],[Xt.Case]:{"minecraft:crafting_shaped":{group:Xt.Opt(o({enum:"recipe_group",additional:!0})),pattern:Xt.ListNode(o()),key:Xt.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Xt.Opt(o()),ingredients:Xt.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Xt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Xt.Opt(Xt.NumberNode()),cookingtime:Xt.Opt(Xt.Mod(Xt.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Xt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Xt.Opt(Xt.NumberNode()),cookingtime:Xt.Opt(Xt.Mod(Xt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Xt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Xt.Opt(Xt.NumberNode()),cookingtime:Xt.Opt(Xt.Mod(Xt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Xt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Xt.Opt(Xt.NumberNode()),cookingtime:Xt.Opt(Xt.Mod(Xt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Xt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Xt.NumberNode({integer:!0})},"minecraft:smithing":{group:Xt.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Xt.Mod(Xt.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Xt.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Xt.Mod(Xt.ObjectNode({item:Xt.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Xt.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Xt.Mod(Xt.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Xt.Opt(Xt.Mod(Xt.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var Vt={};Object.defineProperty(Vt,"__esModule",{value:!0}),Vt.initTagsSchemas=void 0;const Jt=Le;Vt.initTagsSchemas=function(e,t){const r=Jt.StringNode.bind(void 0,t),o=e=>Jt.Mod(Jt.ObjectNode({replace:Jt.Opt(Jt.BooleanNode()),values:Jt.ListNode(Jt.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:Jt.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:Jt.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("item_tag",o("item"))};var Zt={};Object.defineProperty(Zt,"__esModule",{value:!0}),Zt.initTextComponentSchemas=void 0;const Yt=Le;Zt.initTextComponentSchemas=function(e,t){const r=Yt.Reference.bind(void 0,e),o=Yt.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",Yt.Mod(Yt.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:Yt.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:Yt.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={bold:Yt.Opt(Yt.BooleanNode()),italic:Yt.Opt(Yt.BooleanNode()),underlined:Yt.Opt(Yt.BooleanNode()),strikethrough:Yt.Opt(Yt.BooleanNode()),obfuscated:Yt.Opt(Yt.BooleanNode()),insertion:Yt.Opt(o()),clickEvent:Yt.Opt(Yt.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[Yt.Switch]:[{push:"action"}],[Yt.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:Yt.Opt(Yt.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[Yt.Switch]:[{push:"action"}],[Yt.Case]:{show_text:{value:Yt.Opt(r("text_component"))},show_item:{value:Yt.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}}))},show_entity:{value:Yt.Opt(Yt.ObjectNode({name:Yt.Opt(o()),type:Yt.Opt(o()),id:Yt.Opt(o())}))}}})),extra:Yt.Opt(r("text_component_list"))};e.register("text_component_object",Yt.Mod(Yt.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:Yt.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:Yt.ObjectNode(m({translate:o(),with:Yt.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:Yt.ObjectNode(m({score:Yt.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:Yt.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:Yt.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:Yt.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:Yt.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:Yt.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:Yt.Opt(o({validator:"entity",params:{amount:"single",type:"entities"}})),storage:Yt.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:Yt.Opt(Yt.BooleanNode())},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",Yt.Mod(Yt.ListNode(r("text_component")),{default:()=>[{text:""}]}))},Object.defineProperty(Pt,"__esModule",{value:!0}),Pt.initSchemas=void 0;const Qt=Lt,er=Bt,tr=Tt,rr=Dt,or=Ht,ir=zt,ar=Gt,nr=Vt,cr=Zt;Pt.initSchemas=function(e,t){er.initCommonSchemas(e,t),ir.initPredicatesSchemas(e,t),Qt.initAdvancementSchemas(e,t),tr.initConditionSchemas(e,t),rr.initLootTableSchemas(e,t),or.initPackMcmetaSchemas(e,t),ar.initRecipeSchemas(e,t),nr.initTagsSchemas(e,t),cr.initTextComponentSchemas(e,t)};var sr=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),lr=Ce&&Ce.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),dr=Ce&&Ce.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&sr(t,e,r);return lr(t,e),t};Object.defineProperty(Mt,"__esModule",{value:!0});var mr=Mt.getSchemas=Mt.getCollections=Mt.lootContext=void 0;const _r=Le,pr=Ct,ur=Pt;var fr=Mt.lootContext=dr(Ft);var gr=Mt.getCollections=function(){const e=new _r.CollectionRegistry;return pr.initCollections(e),e};mr=Mt.getSchemas=function(e){const t=new _r.SchemaRegistry;return ur.initSchemas(t,e),t};var br=Object.freeze(Object.assign(Object.create(null),Mt,{[Symbol.toStringTag]:"Module",get getSchemas(){return mr},get getCollections(){return gr},get lootContext(){return fr},default:Mt})),hr={},vr={};Object.defineProperty(vr,"__esModule",{value:!0}),vr.initCollections=void 0,vr.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])};var yr={},Nr={},Or={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.UniformInt=e.Range=e.NoiseSettingsPresets=e.DefaultNoiseSettings=e.DimensionTypePresets=e.DefaultDimensionType=e.ConditionCases=void 0;const t=Le;e.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld"},e.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]})),e.Range=e=>t.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:t.NumberNode(e),change:e=>{var t,r,o;return void 0===e?0:null!==(o=null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:t.ObjectNode({min:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e)),max:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:t.ObjectNode({type:i({enum:["minecraft:binomial"]}),n:t.NumberNode({integer:!0,min:0}),p:t.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,r;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:1,p:.5}}}]:[]],{choiceContext:"range"}),e.UniformInt=e=>t.ChoiceNode([{type:"number",node:t.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),change:e=>e.base},{type:"object",node:t.ObjectNode({base:t.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),spread:t.NumberNode({integer:!0,min:0,max:null==e?void 0:e.maxSpread})}),change:e=>({base:e,spread:0})}],{context:"uniform_int"}),e.ConditionCases={"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:t.MapNode(i({validator:"objective"}),e.Range({forceRange:!0}))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:e.Range(),period:t.Opt(t.NumberNode())},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}},e.DimensionTypePresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$dimension_type"}}),r,{"minecraft:overworld":e.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether"},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end"}}),e.NoiseSettingsPresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),r,{"minecraft:overworld":e.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}}(Or),Object.defineProperty(Nr,"__esModule",{value:!0}),Nr.initAdvancementSchemas=void 0;const kr=Le,xr=Or;Nr.initAdvancementSchemas=function(e,t){const r=kr.Reference.bind(void 0,e),o=kr.StringNode.bind(void 0,t),i=kr.ChoiceNode([{type:"object",node:kr.Opt(r("entity_predicate")),change:e=>{var t,r;return null!==(r=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==r?r:{}}},{type:"list",node:kr.ListNode(r("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",kr.Mod(kr.ObjectNode({display:kr.Opt(kr.Mod(kr.ObjectNode({icon:kr.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:kr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:kr.Opt(o()),frame:kr.Opt(o({enum:["task","challenge","goal"]})),show_toast:kr.Opt(kr.BooleanNode()),announce_to_chat:kr.Opt(kr.BooleanNode()),hidden:kr.Opt(kr.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:kr.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:kr.MapNode(o(),r("advancement_criteria")),requirements:kr.Opt(kr.ListNode(kr.ListNode(o()))),rewards:kr.Opt(kr.ObjectNode({function:kr.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:kr.Opt(kr.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:kr.Opt(kr.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:kr.Opt(kr.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",kr.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:kr.Opt(kr.ObjectNode({player:kr.Mod(i,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[kr.Switch]:["pop",{push:"trigger"}],[kr.Case]:{"minecraft:bee_nest_destroyed":{block:kr.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:kr.Opt(kr.NumberNode({integer:!0})),item:kr.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:i,partner:i,child:i},"minecraft:brewed_potion":{potion:kr.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:kr.Opt(o({validator:"resource",params:{pool:"$dimension"}})),to:kr.Opt(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:kr.Opt(kr.ListNode(i))},"minecraft:construct_beacon":{level:kr.Opt(xr.Range())},"minecraft:consume_item":{item:kr.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:i,zombie:i},"minecraft:effects_changed":{effects:kr.Opt(kr.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},"minecraft:enter_block":{block:kr.Opt(o({validator:"resource",params:{pool:"block"}})),state:kr.Opt(kr.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:kr.Opt(xr.Range()),item:kr.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:kr.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:i,killing_blow:kr.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:kr.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:i,item:kr.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":{location:kr.Opt(r("location_predicate"))},"minecraft:inventory_changed":{slots:kr.Opt(kr.ObjectNode({empty:kr.Opt(xr.Range()),occupied:kr.Opt(xr.Range()),full:kr.Opt(xr.Range())})),items:kr.Opt(kr.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:kr.Opt(xr.Range()),durability:kr.Opt(xr.Range()),item:kr.Opt(r("item_predicate"))},"minecraft:item_used_on_block":{item:kr.Opt(r("item_predicate")),location:kr.Opt(r("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:kr.Opt(xr.Range()),victims:kr.Opt(kr.ListNode(i))},"minecraft:levitation":{distance:kr.Opt(xr.Range()),duration:kr.Opt(xr.Range())},"minecraft:location":{location:kr.Opt(r("location_predicate"))},"minecraft:nether_travel":{distance:kr.Opt(xr.Range()),entered:kr.Opt(r("location_predicate")),exited:kr.Opt(r("location_predicate"))},"minecraft:placed_block":{block:kr.Opt(o({validator:"resource",params:{pool:"block"}})),state:kr.Opt(kr.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:kr.Opt(r("item_predicate")),location:kr.Opt(r("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:kr.Opt(r("damage_predicate")),entity:i},"minecraft:player_interacted_with_entity":{item:kr.Opt(r("item_predicate")),entity:i},"minecraft:player_killed_entity":{entity:i,killing_blow:kr.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:kr.Opt(r("location_predicate"))},"minecraft:slide_down_block":{block:kr.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:kr.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:i},"minecraft:tame_animal":{entity:i},"minecraft:target_hit":{projectile:i,shooter:i,signal_strength:kr.Opt(xr.Range({integer:!0}))},"minecraft:thrown_item_picked_up_by_entity":{entity:kr.Opt(r("entity_predicate")),item:kr.Opt(r("item_predicate"))},"minecraft:used_ender_eye":{distance:kr.Opt(xr.Range())},"minecraft:used_totem":{item:kr.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:kr.Opt(r("entity_predicate")),item:kr.Opt(r("item_predicate"))},"minecraft:voluntary_exile":{location:r("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var wr={};Object.defineProperty(wr,"__esModule",{value:!0}),wr.initConditionSchemas=void 0;const jr=Le,Sr=Or;wr.initConditionSchemas=function(e,t){const r=jr.Reference.bind(void 0,e),o=jr.StringNode.bind(void 0,t);e.register("predicate",jr.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",jr.Mod(jr.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[jr.Switch]:[{push:"condition"}],[jr.Case]:Sr.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var Mr={};Object.defineProperty(Mr,"__esModule",{value:!0}),Mr.initDimensionSchemas=void 0;const Cr=Le,Pr=Or;Mr.initDimensionSchemas=function(e,t){const r=Cr.Reference.bind(void 0,e),o=Cr.StringNode.bind(void 0,t),i=e=>Cr.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",Cr.Mod(Cr.ObjectNode({type:Pr.DimensionTypePresets(r("dimension_type")),generator:Cr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[Cr.Switch]:[{push:"type"}],[Cr.Case]:{"minecraft:noise":{seed:Cr.NumberNode({integer:!0}),settings:Pr.NoiseSettingsPresets(r("noise_settings")),biome_source:Cr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[Cr.Switch]:[{push:"type"}],[Cr.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:Cr.NumberNode({integer:!0}),preset:Cr.Opt(o({enum:["nether"]})),altitude_noise:i(r("generator_biome_noise")),temperature_noise:i(r("generator_biome_noise")),humidity_noise:i(r("generator_biome_noise")),weirdness_noise:i(r("generator_biome_noise")),biomes:i(Cr.Mod(Cr.ListNode(r("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:Cr.Opt(Cr.NumberNode({integer:!0,min:0,max:62})),biomes:Cr.ListNode(o({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:Cr.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:Cr.NumberNode({integer:!0}),large_biomes:Cr.Opt(Cr.BooleanNode()),legacy_biome_init_layer:Cr.Opt(Cr.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:Cr.ObjectNode({biome:Cr.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:Cr.Opt(Cr.BooleanNode()),features:Cr.Opt(Cr.BooleanNode()),layers:Cr.ListNode(r("generator_layer")),structures:r("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",Cr.Mod(Cr.ObjectNode({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:Cr.ObjectNode({altitude:Cr.NumberNode(),temperature:Cr.NumberNode(),humidity:Cr.NumberNode(),weirdness:Cr.NumberNode(),offset:Cr.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",Cr.Mod(Cr.ObjectNode({firstOctave:Cr.NumberNode({integer:!0}),amplitudes:Cr.ListNode(Cr.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))};var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.initDimensionTypeSchemas=void 0;const Br=Le,zr=Or;Lr.initDimensionTypeSchemas=function(e,t){const r=Br.StringNode.bind(void 0,t);e.register("dimension_type",Br.Mod(Br.ObjectNode({name:Br.Mod(r({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:Br.BooleanNode(),natural:Br.BooleanNode(),piglin_safe:Br.BooleanNode(),respawn_anchor_works:Br.BooleanNode(),bed_works:Br.BooleanNode(),has_raids:Br.BooleanNode(),has_skylight:Br.BooleanNode(),has_ceiling:Br.BooleanNode(),coordinate_scale:Br.NumberNode({min:1e-5,max:3e7}),ambient_light:Br.NumberNode(),fixed_time:Br.Opt(Br.NumberNode({integer:!0})),logical_height:Br.NumberNode({integer:!0,min:0,max:256}),effects:Br.Opt(r({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:r({validator:"resource",params:{pool:"$tag/block"}})},{context:"dimension_type"}),{default:()=>zr.DefaultDimensionType}))};var Rr={},$r={};Object.defineProperty($r,"__esModule",{value:!0}),$r.LootFunctions=$r.LootConditions=$r.LootCopySources=$r.LootEntitySources=$r.LootTableTypes=void 0,$r.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),$r.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),$r.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),$r.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),$r.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.initLootTableSchemas=void 0;const Ar=Le,Tr=$r,qr=Or;Rr.initLootTableSchemas=function(e,t){const r=Ar.Reference.bind(void 0,e),o=Ar.StringNode.bind(void 0,t),i={conditions:Ar.Opt(Ar.ListNode(r("loot_condition")))},a=m({functions:Ar.Opt(Ar.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of Tr.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new Ar.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),Ar.SwitchNode(i)}const c=n(Tr.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(Tr.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(Tr.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(Tr.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",Ar.Mod(Ar.ObjectNode({type:Ar.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:Ar.Opt(Ar.ListNode(Ar.Mod(Ar.ObjectNode(m({rolls:qr.Range({allowBinomial:!0,integer:!0}),bonus_rolls:Ar.Opt(qr.Range({integer:!0})),entries:Ar.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:Ar.Opt(Ar.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const p={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",Ar.Mod(Ar.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:Ar.Opt(Ar.Mod(Ar.NumberNode({integer:!0,min:1}),p)),quality:Ar.Opt(Ar.Mod(Ar.NumberNode({integer:!0}),p)),[Ar.Switch]:[{push:"type"}],[Ar.Case]:{"minecraft:alternatives":m({children:Ar.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:Ar.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:Ar.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:Ar.Opt(Ar.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",Ar.Mod(Ar.ObjectNode({function:s,[Ar.Switch]:[{push:"function"}],[Ar.Case]:(()=>{const e={"minecraft:apply_bonus":{enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:Ar.Mod(Ar.ObjectNode({bonusMultiplier:Ar.Mod(Ar.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:Ar.Mod(Ar.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:Ar.Mod(Ar.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:d},"minecraft:copy_nbt":{source:d,ops:Ar.ListNode(Ar.ObjectNode({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:o({validator:"resource",params:{pool:"block"}}),properties:Ar.ListNode(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:Ar.Opt(Ar.ListNode(o({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:qr.Range({allowBinomial:!0}),treasure:Ar.Opt(Ar.BooleanNode())},"minecraft:exploration_map":{destination:Ar.Opt(o({enum:"map_feature"})),decoration:Ar.Opt(o({enum:"map_decoration"})),zoom:Ar.Opt(Ar.NumberNode({integer:!0})),search_radius:Ar.Opt(Ar.NumberNode({integer:!0})),skip_existing_chunks:Ar.Opt(Ar.BooleanNode())},"minecraft:fill_player_head":{entity:l},"minecraft:limit_count":{limit:qr.Range({bounds:!0})},"minecraft:looting_enchant":{count:qr.Range({bounds:!0}),limit:Ar.Opt(Ar.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:Ar.ListNode(r("attribute_modifier"))},"minecraft:set_contents":{entries:Ar.ListNode(r("loot_entry"))},"minecraft:set_count":{count:qr.Range({allowBinomial:!0})},"minecraft:set_damage":{damage:qr.Range({forceRange:!0})},"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:Ar.Opt(Ar.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:Ar.Opt(l),lore:Ar.ListNode(r("text_component")),replace:Ar.Opt(Ar.BooleanNode())},"minecraft:set_name":{entity:Ar.Opt(l),name:Ar.Opt(r("text_component"))},"minecraft:set_nbt":{tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:Ar.Opt(Ar.ListNode(Ar.ObjectNode({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:qr.Range()})))}},a={};return t.get("loot_function_type").forEach((t=>{a[t]=m(m({},e[t]),i)})),a})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",Ar.Mod(Ar.ObjectNode({condition:c,[Ar.Switch]:[{push:"condition"}],[Ar.Case]:_(m({},qr.ConditionCases),{"minecraft:entity_properties":{entity:l,predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:l,scores:Ar.MapNode(o({validator:"objective"}),qr.Range({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",Ar.Mod(Ar.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:qr.Range({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:Ar.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.initPackMcmetaSchemas=void 0;const Dr=Le;Ir.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",Dr.Mod(Dr.ObjectNode({pack:Dr.Mod(Dr.ObjectNode({pack_format:Dr.Mod(Dr.NumberNode({integer:!0,min:6,max:6}),{default:()=>6}),description:Dr.Reference(e,"text_component")}),{default:()=>({pack_format:6,description:""})})}),{default:()=>({pack:{pack_format:6,description:""}})}))};var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Fr.initPredicatesSchemas=void 0;const Er=Le,Ur=Or;Fr.initPredicatesSchemas=function(e,t){const r=Er.Reference.bind(void 0,e),o=Er.StringNode.bind(void 0,t),i=Er.ChoiceNode([{type:"string",node:o(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:Er.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:Er.ObjectNode({min:Er.Opt(Er.NumberNode({integer:!0})),max:Er.Opt(Er.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:Er.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",Er.ObjectNode({item:Er.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Er.Opt(o({validator:"resource",params:{pool:"$tag/item"}})),count:Er.Opt(Ur.Range()),durability:Er.Opt(Ur.Range()),potion:Er.Opt(o({validator:"resource",params:{pool:"potion"}})),nbt:Er.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:Er.Opt(Er.ListNode(r("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",Er.ObjectNode({enchantment:Er.Opt(o({validator:"resource",params:{pool:"enchantment"}})),levels:Er.Opt(Ur.Range())},{context:"enchantment"})),e.register("block_predicate",Er.ObjectNode({block:Er.Opt(o({validator:"resource",params:{pool:"block"}})),tag:Er.Opt(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:Er.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:Er.Opt(Er.MapNode(o(),i,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",Er.ObjectNode({fluid:Er.Opt(o({validator:"resource",params:{pool:"fluid"}})),tag:Er.Opt(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:Er.Opt(Er.MapNode(o(),i))},{context:"fluid"})),e.register("location_predicate",Er.ObjectNode({position:Er.Opt(Er.ObjectNode({x:Er.Opt(Ur.Range()),y:Er.Opt(Ur.Range()),z:Er.Opt(Ur.Range())})),biome:Er.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:Er.Opt(o({enum:t.get("worldgen/structure_feature").map((e=>e.slice(10)))})),dimension:Er.Opt(o({validator:"resource",params:{pool:"$dimension"}})),light:Er.Opt(Er.ObjectNode({light:Er.Opt(Ur.Range({integer:!0,min:0,max:15}))})),smokey:Er.Opt(Er.BooleanNode()),block:Er.Opt(r("block_predicate")),fluid:Er.Opt(r("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",Er.ObjectNode({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:Ur.Range(),[Er.Switch]:[{push:"type"}],[Er.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",Er.ObjectNode({gamemode:Er.Opt(o({enum:"gamemode"})),level:Er.Opt(Ur.Range()),advancements:Er.Opt(Er.MapNode(o({validator:"resource",params:{pool:"$advancement"}}),Er.ChoiceNode([{type:"boolean",node:Er.BooleanNode(),change:e=>!0},{type:"object",node:Er.MapNode(o(),Er.BooleanNode())}]))),recipes:Er.Opt(Er.MapNode(o({validator:"resource",params:{pool:"$recipe"}}),Er.BooleanNode())),stats:Er.Opt(Er.ListNode(r("statistic_predicate")))},{context:"player"})),e.register("status_effect_predicate",Er.ObjectNode({amplifier:Er.Opt(Ur.Range()),duration:Er.Opt(Ur.Range()),ambient:Er.Opt(Er.BooleanNode()),visible:Er.Opt(Er.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",Er.ObjectNode({x:Er.Opt(Ur.Range()),y:Er.Opt(Ur.Range()),z:Er.Opt(Ur.Range()),absolute:Er.Opt(Ur.Range()),horizontal:Er.Opt(Ur.Range())},{context:"distance"})),e.register("entity_predicate",Er.ObjectNode({type:Er.Opt(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:Er.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:Er.Opt(o({validator:"team"})),location:Er.Opt(r("location_predicate")),distance:Er.Opt(r("distance_predicate")),flags:Er.Opt(Er.ObjectNode({is_on_fire:Er.Opt(Er.BooleanNode()),is_sneaking:Er.Opt(Er.BooleanNode()),is_sprinting:Er.Opt(Er.BooleanNode()),is_swimming:Er.Opt(Er.BooleanNode()),is_baby:Er.Opt(Er.BooleanNode())})),equipment:Er.Opt(Er.MapNode(o({enum:"slot"}),r("item_predicate"))),vehicle:Er.Opt(r("entity_predicate")),targeted_entity:Er.Opt(r("entity_predicate")),player:Er.Opt(r("player_predicate")),fishing_hook:Er.Opt(Er.ObjectNode({in_open_water:Er.Opt(Er.BooleanNode())})),effects:Er.Opt(Er.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",Er.ObjectNode({is_explosion:Er.Opt(Er.BooleanNode()),is_fire:Er.Opt(Er.BooleanNode()),is_magic:Er.Opt(Er.BooleanNode()),is_projectile:Er.Opt(Er.BooleanNode()),is_lightning:Er.Opt(Er.BooleanNode()),bypasses_armor:Er.Opt(Er.BooleanNode()),bypasses_invulnerability:Er.Opt(Er.BooleanNode()),bypasses_magic:Er.Opt(Er.BooleanNode()),source_entity:Er.Opt(r("entity_predicate")),direct_entity:Er.Opt(r("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",Er.ObjectNode({dealt:Er.Opt(Ur.Range()),taken:Er.Opt(Ur.Range()),blocked:Er.Opt(Er.BooleanNode()),source_entity:Er.Opt(r("entity_predicate")),type:Er.Opt(r("damage_source_predicate"))},{context:"damage"}))};var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.initRecipeSchemas=void 0;const Hr=Le;Wr.initRecipeSchemas=function(e,t){const r=Hr.Reference.bind(void 0,e),o=Hr.StringNode.bind(void 0,t);e.register("recipe",Hr.Mod(Hr.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Hr.Switch]:[{push:"type"}],[Hr.Case]:{"minecraft:crafting_shaped":{group:Hr.Opt(o({enum:"recipe_group",additional:!0})),pattern:Hr.ListNode(o()),key:Hr.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Hr.Opt(o()),ingredients:Hr.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Hr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Hr.Opt(Hr.NumberNode()),cookingtime:Hr.Opt(Hr.Mod(Hr.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Hr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Hr.Opt(Hr.NumberNode()),cookingtime:Hr.Opt(Hr.Mod(Hr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Hr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Hr.Opt(Hr.NumberNode()),cookingtime:Hr.Opt(Hr.Mod(Hr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Hr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Hr.Opt(Hr.NumberNode()),cookingtime:Hr.Opt(Hr.Mod(Hr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Hr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Hr.NumberNode({integer:!0})},"minecraft:smithing":{group:Hr.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Hr.Mod(Hr.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Hr.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Hr.Mod(Hr.ObjectNode({item:Hr.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Hr.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Hr.Mod(Hr.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Hr.Opt(Hr.Mod(Hr.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var Kr={};Object.defineProperty(Kr,"__esModule",{value:!0}),Kr.initTagsSchemas=void 0;const Gr=Le;Kr.initTagsSchemas=function(e,t){const r=Gr.StringNode.bind(void 0,t),o=e=>Gr.Mod(Gr.ObjectNode({replace:Gr.Opt(Gr.BooleanNode()),values:Gr.ListNode(Gr.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:Gr.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:Gr.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("item_tag",o("item"))};var Xr={};Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.initTextComponentSchemas=void 0;const Vr=Le;Xr.initTextComponentSchemas=function(e,t){const r=Vr.Reference.bind(void 0,e),o=Vr.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",Vr.Mod(Vr.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:Vr.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:Vr.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:Vr.Opt(o()),font:Vr.Opt(o()),bold:Vr.Opt(Vr.BooleanNode()),italic:Vr.Opt(Vr.BooleanNode()),underlined:Vr.Opt(Vr.BooleanNode()),strikethrough:Vr.Opt(Vr.BooleanNode()),obfuscated:Vr.Opt(Vr.BooleanNode()),insertion:Vr.Opt(o()),clickEvent:Vr.Opt(Vr.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[Vr.Switch]:[{push:"action"}],[Vr.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:Vr.Opt(Vr.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[Vr.Switch]:[{push:"action"}],[Vr.Case]:{show_text:{value:Vr.Opt(r("text_component")),contents:Vr.Opt(r("text_component"))},show_item:{value:Vr.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:Vr.Opt(Vr.ObjectNode({id:o({validator:"resource",params:{pool:"item"}}),count:Vr.Opt(Vr.NumberNode({integer:!0})),tag:Vr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:Vr.Opt(Vr.ObjectNode({name:Vr.Opt(o()),type:Vr.Opt(o()),id:Vr.Opt(o())})),contents:Vr.Opt(Vr.Mod(Vr.ObjectNode({name:Vr.Opt(r("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:Vr.Opt(r("text_component_list"))};e.register("text_component_object",Vr.Mod(Vr.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:Vr.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:Vr.ObjectNode(m({translate:o(),with:Vr.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:Vr.ObjectNode(m({score:Vr.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:Vr.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:Vr.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:Vr.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:Vr.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:Vr.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:Vr.Opt(o({validator:"entity",params:{amount:"single",type:"entities"}})),storage:Vr.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:Vr.Opt(Vr.BooleanNode())},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",Vr.Mod(Vr.ListNode(r("text_component")),{default:()=>[{text:""}]}))};var Jr={},Zr={};Object.defineProperty(Zr,"__esModule",{value:!0}),Zr.initBiomeSchemas=void 0;const Yr=Le;Zr.initBiomeSchemas=function(e,t){const r=Yr.StringNode.bind(void 0,t);e.register("biome",Yr.Mod(Yr.ObjectNode({surface_builder:r({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:Yr.NumberNode(),scale:Yr.NumberNode(),temperature:Yr.NumberNode(),downfall:Yr.NumberNode(),precipitation:r({enum:["none","rain","snow"]}),temperature_modifier:Yr.Opt(r({enum:["none","frozen"]})),category:r({enum:"biome_category"}),player_spawn_friendly:Yr.Opt(Yr.BooleanNode()),creature_spawn_probability:Yr.Opt(Yr.NumberNode({min:0,max:1})),effects:Yr.ObjectNode({sky_color:Yr.NumberNode({color:!0}),fog_color:Yr.NumberNode({color:!0}),water_color:Yr.NumberNode({color:!0}),water_fog_color:Yr.NumberNode({color:!0}),grass_color:Yr.Opt(Yr.NumberNode({color:!0})),foliage_color:Yr.Opt(Yr.NumberNode({color:!0})),grass_color_modifier:Yr.Opt(r({enum:["none","dark_forest","swamp"]})),ambient_sound:Yr.Opt(r()),mood_sound:Yr.Opt(Yr.ObjectNode({sound:r(),tick_delay:Yr.NumberNode({integer:!0}),block_search_extent:Yr.NumberNode({integer:!0}),offset:Yr.NumberNode()})),additions_sound:Yr.Opt(Yr.ObjectNode({sound:r(),tick_chance:Yr.NumberNode({min:0,max:1})})),music:Yr.Opt(Yr.ObjectNode({sound:r(),min_delay:Yr.NumberNode({integer:!0,min:0}),max_delay:Yr.NumberNode({integer:!0,min:0}),replace_current_music:Yr.BooleanNode()})),particle:Yr.Opt(Yr.ObjectNode({options:Yr.ObjectNode({type:r()}),probability:Yr.NumberNode({min:0,max:1})}))}),starts:Yr.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:Yr.MapNode(r({enum:["water_ambient","ambient","misc","water_creature","creature","monster"]}),Yr.Mod(Yr.ListNode(Yr.ObjectNode({type:r({validator:"resource",params:{pool:"entity_type"}}),weight:Yr.NumberNode({integer:!0}),minCount:Yr.NumberNode({integer:!0}),maxCount:Yr.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:Yr.MapNode(r({validator:"resource",params:{pool:"entity_type"}}),Yr.Mod(Yr.ObjectNode({energy_budget:Yr.NumberNode(),charge:Yr.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:Yr.MapNode(r({enum:["air","liquid"]}),Yr.Mod(Yr.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:Yr.ListNode(Yr.Mod(Yr.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))};var Qr={};Object.defineProperty(Qr,"__esModule",{value:!0}),Qr.initCarverSchemas=void 0;const eo=Le;Qr.initCarverSchemas=function(e,t){const r=eo.StringNode.bind(void 0,t);e.register("configured_carver",eo.Mod(eo.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/carver"}}),config:eo.ObjectNode({probability:eo.NumberNode({min:0,max:1})})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))};var to={};Object.defineProperty(to,"__esModule",{value:!0}),to.initDecoratorSchemas=void 0;const ro=Le,oo=Or;to.initDecoratorSchemas=function(e,t){const r=ro.Reference.bind(void 0,e),o=ro.StringNode.bind(void 0,t),i={maximum:ro.NumberNode({integer:!0}),bottom_offset:ro.NumberNode({integer:!0}),top_offset:ro.NumberNode({integer:!0})},a={chance:ro.NumberNode({integer:!0,min:0})},n={count:oo.UniformInt({min:-10,max:128,maxSpread:128})};e.register("configured_decorator",ro.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/decorator"}}),config:ro.ObjectNode({[ro.Switch]:["pop",{push:"type"}],[ro.Case]:{"minecraft:carving_mask":{step:o({enum:"generation_step"}),probability:ro.NumberNode({min:0,max:1})},"minecraft:chance":a,"minecraft:count":n,"minecraft:count_extra":{count:ro.NumberNode({integer:!0,min:0}),extra_count:ro.NumberNode({integer:!0,min:0}),extra_chance:ro.NumberNode({min:0,max:1})},"minecraft:count_multilayer":n,"minecraft:count_noise":{noise_level:ro.NumberNode(),below_noise:ro.NumberNode({integer:!0}),above_noise:ro.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:ro.NumberNode({integer:!0}),noise_factor:ro.NumberNode(),noise_offset:ro.Opt(ro.NumberNode())},"minecraft:decorated":{outer:r("configured_decorator"),inner:r("configured_decorator")},"minecraft:depth_average":{baseline:ro.NumberNode({integer:!0}),spread:ro.NumberNode({integer:!0})},"minecraft:fire":n,"minecraft:glowstone":n,"minecraft:lava_lake":a,"minecraft:range":i,"minecraft:range_biased":i,"minecraft:range_very_biased":i,"minecraft:water_lake":a}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))};var io={},ao={};Object.defineProperty(ao,"__esModule",{value:!0}),ao.initProcessorListSchemas=void 0;const no=Le;ao.initProcessorListSchemas=function(e,t){const r=no.Reference.bind(void 0,e),o=no.StringNode.bind(void 0,t);e.register("processor_list",no.Mod(no.ObjectNode({processors:no.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",no.Mod(no.ObjectNode({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[no.Switch]:[{push:"processor_type"}],[no.Case]:{"minecraft:block_age":{mossiness:no.NumberNode()},"minecraft:block_ignore":{blocks:no.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:no.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:no.NumberNode({integer:!0})},"minecraft:rule":{rules:no.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",no.Mod(no.ObjectNode({position_predicate:no.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:no.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const i={min_dist:no.NumberNode({min:0,max:255,integer:!0}),max_dist:no.NumberNode({min:0,max:255,integer:!0}),min_chance:no.NumberNode({min:0,max:1}),max_chance:no.NumberNode({min:0,max:1})};e.register("pos_rule_test",no.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[no.Switch]:[{push:"predicate_type"}],[no.Case]:{"minecraft:axis_aligned_linear_pos":m({axis:o({enum:["x","y","z"]})},i),"minecraft:linear_pos":i}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",no.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[no.Switch]:[{push:"predicate_type"}],[no.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:no.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:no.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))},Object.defineProperty(io,"__esModule",{value:!0}),io.initFeatureSchemas=void 0;const co=Le,so=Or;io.initFeatureSchemas=function(e,t){const r=co.Reference.bind(void 0,e),o=co.StringNode.bind(void 0,t),i={can_replace:co.BooleanNode(),project:co.BooleanNode(),need_water:co.BooleanNode(),xspread:co.NumberNode({integer:!0}),yspread:co.NumberNode({integer:!0}),zspread:co.NumberNode({integer:!0}),tries:co.NumberNode({integer:!0}),state_provider:r("block_state_provider"),block_placer:r("block_placer"),whitelist:co.ListNode(r("block_state")),blacklist:co.ListNode(r("block_state"))},a={state:r("block_state"),radius:so.UniformInt({min:0,max:4,maxSpread:4}),half_height:co.NumberNode({integer:!0,min:0,max:4}),targets:co.ListNode(r("block_state"))},n={cap_provider:r("block_state_provider"),stem_provider:r("block_state_provider"),foliage_radius:co.Opt(co.NumberNode({integer:!0}))},c={state:r("block_state"),size:co.NumberNode({integer:!0,min:0,max:64}),target:r("rule_test")},s={count:so.UniformInt({min:-10,max:128,maxSpread:128})},l=co.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:r("configured_feature")}],{choiceContext:"feature"});e.register("configured_feature",co.Mod(co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:co.ObjectNode({[co.Switch]:["pop",{push:"type"}],[co.Case]:{"minecraft:bamboo":{probability:co.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:so.UniformInt({min:0,max:2,maxSpread:1}),height:so.UniformInt({min:1,max:5,maxSpread:5})},"minecraft:block_pile":{state_provider:r("block_state_provider")},"minecraft:decorated":{decorator:r("configured_decorator"),feature:l},"minecraft:delta_feature":{contents:r("block_state"),rim:r("block_state"),size:so.UniformInt({min:0,max:8,maxSpread:8}),rim_size:so.UniformInt({min:0,max:8,maxSpread:8})},"minecraft:disk":a,"minecraft:emerald_ore":{state:r("block_state"),target:r("block_state")},"minecraft:end_gateway":{exact:co.BooleanNode(),exit:co.Opt(r("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:co.Opt(co.BooleanNode()),crystal_beam_target:co.Opt(r("block_pos")),spikes:co.ListNode(co.ObjectNode({centerX:co.Opt(co.NumberNode({integer:!0})),centerZ:co.Opt(co.NumberNode({integer:!0})),radius:co.Opt(co.NumberNode({integer:!0})),height:co.Opt(co.NumberNode({integer:!0})),guarded:co.Opt(co.BooleanNode())}))},"minecraft:fill_layer":{state:r("block_state"),height:co.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":i,"minecraft:forest_rock":{state:r("block_state")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:r("block_state"),decor_state:r("block_state"),stem_state:r("block_state"),valid_base_block:r("block_state"),planted:co.Opt(co.BooleanNode())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:r("block_state")},"minecraft:lake":{state:r("block_state")},"minecraft:nether_forest_vegetation":{state_provider:r("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:r("block_state"),target:r("block_state"),radius:so.UniformInt()},"minecraft:no_bonemeal_flower":i,"minecraft:no_surface_ore":c,"minecraft:ore":c,"minecraft:random_patch":i,"minecraft:random_boolean_selector":{feature_false:l,feature_true:l},"minecraft:random_selector":{features:co.ListNode(co.ObjectNode({chance:co.NumberNode({min:0,max:1}),feature:l})),default:l},"minecraft:sea_pickle":s,"minecraft:seagrass":{probability:co.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:r("block_state"),place_on:co.ListNode(r("block_state")),place_in:co.ListNode(r("block_state")),place_under:co.ListNode(r("block_state"))},"minecraft:simple_random_selector":{features:co.ListNode(l)},"minecraft:spring_feature":{state:r("fluid_state"),rock_count:co.NumberNode({integer:!0}),hole_count:co.NumberNode({integer:!0}),requires_block_below:co.BooleanNode(),valid_blocks:co.ListNode(o({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{max_water_depth:co.NumberNode({integer:!0}),ignore_vines:co.BooleanNode(),heightmap:o({enum:"heightmap_type"}),minimum_size:r("feature_size"),trunk_provider:r("block_state_provider"),leaves_provider:r("block_state_provider"),trunk_placer:co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:co.NumberNode({integer:!0,min:0,max:32}),height_rand_a:co.NumberNode({integer:!0,min:0,max:24}),height_rand_b:co.NumberNode({integer:!0,min:0,max:24})},{context:"trunk_placer"}),foliage_placer:co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:so.UniformInt({min:0,max:8,maxSpread:8}),offset:so.UniformInt({min:0,max:8,maxSpread:8}),[co.Switch]:[{push:"type"}],[co.Case]:{"minecraft:blob_foliage_placer":{height:co.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:co.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:co.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:co.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:so.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:pine_foliage_placer":{height:so.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:spruce_foliage_placer":{trunk_height:so.UniformInt({min:0,max:16,maxSpread:8})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:co.ListNode(co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[co.Switch]:[{push:"type"}],[co.Case]:{"minecraft:alter_ground":{provider:r("block_state_provider")},"minecraft:beehive":{probability:co.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:co.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))}}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",co.Mod(co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:co.Opt(co.NumberNode({min:0,max:80})),[co.Switch]:[{push:"type"}],[co.Case]:{"minecraft:two_layers_feature_size":{limit:co.Opt(co.NumberNode({integer:!0,min:0,max:81})),lower_size:co.Opt(co.NumberNode({integer:!0,min:0,max:16})),upper_size:co.Opt(co.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:co.Opt(co.NumberNode({integer:!0,min:0,max:80})),upper_limit:co.Opt(co.NumberNode({integer:!0,min:0,max:80})),lower_size:co.Opt(co.NumberNode({integer:!0,min:0,max:16})),middle_size:co.Opt(co.NumberNode({integer:!0,min:0,max:16})),upper_size:co.Opt(co.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",co.Mod(co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[co.Switch]:[{push:"type"}],[co.Case]:{"minecraft:rotated_block_provider":{state:r("block_state")},"minecraft:simple_state_provider":{state:r("block_state")},"minecraft:weighted_state_provider":{entries:co.ListNode(co.Mod(co.ObjectNode({weight:co.NumberNode({integer:!0,min:1}),data:r("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",co.Mod(co.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[co.Switch]:[{push:"type"}],[co.Case]:{"minecraft:column_placer":{min_size:co.NumberNode({integer:!0}),extra_size:co.NumberNode({integer:!0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))};var lo={};Object.defineProperty(lo,"__esModule",{value:!0}),lo.initNoiseSettingsSchemas=void 0;const mo=Le,_o=Or;lo.initNoiseSettingsSchemas=function(e,t){const r=mo.Reference.bind(void 0,e),o=mo.StringNode.bind(void 0,t);e.register("noise_settings",mo.Mod(mo.ObjectNode({name:mo.Mod(o({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:mo.NumberNode({integer:!0}),bedrock_floor_position:mo.NumberNode({integer:!0}),sea_level:mo.NumberNode({integer:!0}),disable_mob_generation:mo.BooleanNode(),default_block:r("block_state"),default_fluid:r("block_state"),noise:mo.ObjectNode({height:mo.NumberNode({integer:!0}),density_factor:mo.NumberNode(),density_offset:mo.NumberNode(),size_horizontal:mo.NumberNode({integer:!0}),size_vertical:mo.NumberNode({integer:!0}),simplex_surface_noise:mo.BooleanNode(),random_density_offset:mo.Opt(mo.BooleanNode()),island_noise_override:mo.Opt(mo.BooleanNode()),amplified:mo.Opt(mo.BooleanNode()),sampling:mo.ObjectNode({xz_scale:mo.NumberNode(),y_scale:mo.NumberNode(),xz_factor:mo.NumberNode(),y_factor:mo.NumberNode()}),bottom_slide:mo.ObjectNode({target:mo.NumberNode({integer:!0}),size:mo.NumberNode({integer:!0}),offset:mo.NumberNode({integer:!0})}),top_slide:mo.ObjectNode({target:mo.NumberNode({integer:!0}),size:mo.NumberNode({integer:!0}),offset:mo.NumberNode({integer:!0})})}),structures:r("generator_structures")},{context:"noise_settings"}),{default:()=>_o.DefaultNoiseSettings})),e.register("generator_structures",mo.ObjectNode({stronghold:mo.Opt(mo.ObjectNode({distance:mo.NumberNode({integer:!0,min:0,max:1023}),spread:mo.NumberNode({integer:!0,min:0,max:1023}),count:mo.NumberNode({integer:!0,min:1,max:4095})})),structures:mo.MapNode(o({validator:"resource",params:{pool:"worldgen/structure_feature"}}),mo.Mod(mo.ObjectNode({spacing:mo.NumberNode({integer:!0,min:0,max:4096}),separation:mo.Mod(mo.NumberNode({integer:!0,min:0,max:4096}),(e=>({validate:(t,r,o,i)=>(t.pop().push("spacing").get()<=r&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,r,o,i))}))),salt:mo.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",mo.Mod(mo.ObjectNode({block:o({validator:"resource",params:{pool:"block"}}),height:mo.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))};var po={};Object.defineProperty(po,"__esModule",{value:!0}),po.initStructureFeatureSchemas=void 0;const uo=Le;po.initStructureFeatureSchemas=function(e,t){const r=uo.StringNode.bind(void 0,t),o={start_pool:r({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:uo.NumberNode({integer:!0})};e.register("configured_structure_feature",uo.Mod(uo.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:uo.ObjectNode({[uo.Switch]:["pop",{push:"type"}],[uo.Case]:{"minecraft:bastion_remnant":o,"minecraft:buried_treasure":{probability:uo.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:r({enum:["normal","mesa"]}),probability:uo.NumberNode({min:0,max:1})},"minecraft:ocean_ruin":{biome_temp:r({enum:["cold","warm"]}),large_probability:uo.NumberNode({min:0,max:1}),cluster_probability:uo.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":o,"minecraft:ruined_portal":{portal_type:r({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:uo.Opt(uo.BooleanNode())},"minecraft:village":o}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))};var fo={};Object.defineProperty(fo,"__esModule",{value:!0}),fo.initSurfaceBuilderSchemas=void 0;const go=Le;fo.initSurfaceBuilderSchemas=function(e,t){const r=go.StringNode.bind(void 0,t),o=go.Reference.bind(void 0,e);e.register("configured_surface_builder",go.Mod(go.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:go.ObjectNode({top_material:o("block_state"),under_material:o("block_state"),underwater_material:o("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))};var bo={};Object.defineProperty(bo,"__esModule",{value:!0}),bo.initTemplatePoolSchemas=void 0;const ho=Le;bo.initTemplatePoolSchemas=function(e,t){const r=ho.Reference.bind(void 0,e),o=ho.StringNode.bind(void 0,t),i=ho.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]);e.register("template_pool",ho.Mod(ho.ObjectNode({name:o(),fallback:o(),elements:ho.ListNode(r("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",ho.Mod(ho.ObjectNode({weight:ho.NumberNode({integer:!0,min:1}),element:r("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",ho.Mod(ho.ObjectNode({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[ho.Switch]:[{push:"element_type"}],[ho.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:i},"minecraft:list_pool_element":{elements:ho.ListNode(r("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:i}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))},Object.defineProperty(Jr,"__esModule",{value:!0}),Jr.initWorldgenSchemas=void 0;const vo=Zr,yo=Qr,No=to,Oo=io,ko=lo,xo=ao,wo=po,jo=fo,So=bo;Jr.initWorldgenSchemas=function(e,t){vo.initBiomeSchemas(e,t),yo.initCarverSchemas(e,t),No.initDecoratorSchemas(e,t),Oo.initFeatureSchemas(e,t),ko.initNoiseSettingsSchemas(e,t),xo.initProcessorListSchemas(e,t),wo.initStructureFeatureSchemas(e,t),jo.initSurfaceBuilderSchemas(e,t),So.initTemplatePoolSchemas(e,t)};var Mo={};Object.defineProperty(Mo,"__esModule",{value:!0}),Mo.initWorldSettingsSchemas=void 0;const Co=Le;Mo.initWorldSettingsSchemas=function(e,t){const r=Co.Reference.bind(void 0,e),o=Co.StringNode.bind(void 0,t);e.register("world_settings",Co.Mod(Co.ObjectNode({generate_features:Co.BooleanNode(),bonus_chest:Co.BooleanNode(),seed:Co.NumberNode({integer:!0}),dimensions:Co.MapNode(o({validator:"resource",params:{pool:"$dimension"}}),r("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))},Object.defineProperty(yr,"__esModule",{value:!0}),yr.initSchemas=void 0;const Po=Nr,Lo=Or,Bo=wr,zo=Mr,Ro=Lr,$o=Rr,Ao=Ir,To=Fr,qo=Wr,Io=Kr,Do=Xr,Fo=Jr,Eo=Mo;yr.initSchemas=function(e,t){Lo.initCommonSchemas(e,t),Po.initAdvancementSchemas(e,t),Bo.initConditionSchemas(e,t),Ro.initDimensionTypeSchemas(e,t),zo.initDimensionSchemas(e,t),$o.initLootTableSchemas(e,t),Ao.initPackMcmetaSchemas(e,t),To.initPredicatesSchemas(e,t),qo.initRecipeSchemas(e,t),Io.initTagsSchemas(e,t),Do.initTextComponentSchemas(e,t),Fo.initWorldgenSchemas(e,t),Eo.initWorldSettingsSchemas(e,t)};var Uo=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),Wo=Ce&&Ce.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Ho=Ce&&Ce.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&Uo(t,e,r);return Wo(t,e),t};Object.defineProperty(hr,"__esModule",{value:!0});var Ko=hr.getSchemas=hr.getCollections=void 0;const Go=Le,Xo=vr,Vo=yr;var Jo=hr.lootContext=Ho($r);var Zo=hr.getCollections=function(){const e=new Go.CollectionRegistry;return Xo.initCollections(e),e};Ko=hr.getSchemas=function(e){const t=new Go.SchemaRegistry;return Vo.initSchemas(t,e),t};var Yo=Object.freeze(Object.assign(Object.create(null),hr,{[Symbol.toStringTag]:"Module",get getSchemas(){return Ko},get getCollections(){return Zo},lootContext:Jo,default:hr})),Qo={},ei={};Object.defineProperty(ei,"__esModule",{value:!0}),ei.initCollections=void 0,ei.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","killer","direct_killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),e.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),e.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"])};var ti={},ri={};Object.defineProperty(ri,"__esModule",{value:!0}),ri.initAdvancementSchemas=void 0;const oi=Le;ri.initAdvancementSchemas=function(e,t){const r=oi.Reference.bind(void 0,e),o=oi.StringNode.bind(void 0,t),i=oi.ChoiceNode([{type:"object",node:oi.Opt(r("entity_predicate")),change:e=>{var t,r;return null!==(r=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==r?r:{}}},{type:"list",node:oi.ListNode(r("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",oi.Mod(oi.ObjectNode({display:oi.Opt(oi.Mod(oi.ObjectNode({icon:oi.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:oi.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:oi.Opt(o()),frame:oi.Opt(o({enum:["task","challenge","goal"]})),show_toast:oi.Opt(oi.BooleanNode()),announce_to_chat:oi.Opt(oi.BooleanNode()),hidden:oi.Opt(oi.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:oi.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:oi.MapNode(o(),r("advancement_criteria")),requirements:oi.Opt(oi.ListNode(oi.ListNode(o()))),rewards:oi.Opt(oi.ObjectNode({function:oi.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:oi.Opt(oi.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:oi.Opt(oi.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:oi.Opt(oi.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",oi.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:oi.Opt(oi.ObjectNode({player:oi.Mod(i,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[oi.Switch]:["pop",{push:"trigger"}],[oi.Case]:{"minecraft:bee_nest_destroyed":{block:oi.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:oi.Opt(oi.NumberNode({integer:!0})),item:oi.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:i,partner:i,child:i},"minecraft:brewed_potion":{potion:oi.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:oi.Opt(o({validator:"resource",params:{pool:"$dimension"}})),to:oi.Opt(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:oi.Opt(oi.ListNode(i))},"minecraft:construct_beacon":{level:r("int_bounds")},"minecraft:consume_item":{item:oi.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:i,zombie:i},"minecraft:effects_changed":{effects:oi.Opt(oi.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),oi.ObjectNode({amplifier:r("int_bounds"),duration:r("int_bounds")}))),source:oi.Opt(i)},"minecraft:enter_block":{block:oi.Opt(o({validator:"resource",params:{pool:"block"}})),state:oi.Opt(oi.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:r("int_bounds"),item:oi.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:oi.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:i,killing_blow:oi.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:oi.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:i,item:oi.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":{location:oi.Opt(r("location_predicate"))},"minecraft:inventory_changed":{slots:oi.Opt(oi.ObjectNode({empty:r("int_bounds"),occupied:r("int_bounds"),full:r("int_bounds")})),items:oi.Opt(oi.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:r("int_bounds"),durability:r("int_bounds"),item:oi.Opt(r("item_predicate"))},"minecraft:item_used_on_block":{item:oi.Opt(r("item_predicate")),location:oi.Opt(r("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:r("int_bounds"),victims:oi.Opt(oi.ListNode(i))},"minecraft:levitation":{distance:r("distance_predicate"),duration:r("int_bounds")},"minecraft:lightning_strike":{lightning:i,bystander:i},"minecraft:location":{location:oi.Opt(r("location_predicate"))},"minecraft:nether_travel":{distance:r("distance_predicate"),entered:oi.Opt(r("location_predicate")),exited:oi.Opt(r("location_predicate"))},"minecraft:placed_block":{block:oi.Opt(o({validator:"resource",params:{pool:"block"}})),state:oi.Opt(oi.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:oi.Opt(r("item_predicate")),location:oi.Opt(r("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:oi.Opt(r("damage_predicate")),entity:i},"minecraft:player_interacted_with_entity":{item:oi.Opt(r("item_predicate")),entity:i},"minecraft:player_killed_entity":{entity:i,killing_blow:oi.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:oi.Opt(r("location_predicate"))},"minecraft:slide_down_block":{block:oi.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:oi.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:i},"minecraft:tame_animal":{entity:i},"minecraft:target_hit":{projectile:i,shooter:i,signal_strength:r("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:oi.Opt(r("entity_predicate")),item:oi.Opt(r("item_predicate"))},"minecraft:used_ender_eye":{distance:r("float_bounds")},"minecraft:used_totem":{item:oi.Opt(r("item_predicate"))},"minecraft:using_item":{item:oi.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:oi.Opt(r("entity_predicate")),item:oi.Opt(r("item_predicate"))},"minecraft:voluntary_exile":{location:r("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var ii={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.IntProvider=e.FloatProvider=e.NoiseSettingsPresets=e.DefaultNoiseSettings=e.DimensionTypePresets=e.DefaultDimensionType=e.FunctionCases=e.ConditionCases=void 0;const t=Le;e.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256},e.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const n=e=>t.Opt(t.ChoiceNode([{type:"number",node:t.NumberNode({integer:e}),change:e=>{var t,r;return void 0===e?0:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:0}},{type:"object",node:t.ObjectNode({min:t.Opt(t.NumberNode({integer:e})),max:t.Opt(t.NumberNode({integer:e}))},{context:"range"}),change:e=>({min:null!=e?e:0,max:null!=e?e:0})}]));r.register("int_bounds",n(!0)),r.register("float_bounds",n()),r.register("int_range",t.ChoiceNode([{type:"object",node:t.ObjectNode({min:t.Opt(a("number_provider")),max:t.Opt(a("number_provider"))})},{type:"number",node:t.NumberNode({integer:!0})}],{context:"range"}));const c=(e,r,o,a,n,c,s)=>{let l={};n&&Object.keys(s[n]).forEach((e=>{l[e]=t.Mod(s[n][e],{enabled:e=>void 0===e.push("type").get()})}));const d=t.ObjectNode(m({type:t.Mod(t.Opt(i({validator:"resource",params:{pool:e}})),{hidden:()=>!0}),[t.Switch]:[{push:"type"}],[t.Case]:s},l),{context:c,disableSwitchContext:!0}),_=[{type:r,node:s[a][o]}];return n&&_.push({type:"object",priority:-1,node:d}),Object.keys(s).forEach((e=>{_.push({type:e,match:t=>{var r;if("minecraft:"+(null===(r=null==t?void 0:t.type)||void 0===r?void 0:r.replace(/^minecraft:/,""))===e)return!0;const o=t?Object.keys(t):[];return"object"==typeof t&&(0===(null==o?void 0:o.length)||1===(null==o?void 0:o.length)&&"type"===(null==o?void 0:o[0]))},node:d,change:t=>({type:e})})})),t.ChoiceNode(_,{context:c,choiceContext:`${c}.type`})};r.register("number_provider",c("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:t.NumberNode()},"minecraft:uniform":{min:a("number_provider"),max:a("number_provider")},"minecraft:binomial":{n:a("number_provider"),p:a("number_provider")},"minecraft:score":{target:a("scoreboard_name_provider"),score:i({validator:"objective"}),scale:t.Opt(t.NumberNode())}})),r.register("scoreboard_name_provider",c("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:i({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:t.Mod(i({enum:"entity_source"}),{default:()=>"this"})}})),r.register("nbt_provider",c("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:i({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:t.Mod(i({enum:"copy_source"}),{default:()=>"this"})}})),e.FloatProvider=e=>c("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:t.NumberNode(e)},"minecraft:uniform":{value:t.ObjectNode({min_inclusive:t.NumberNode(e),max_exclusive:t.NumberNode(e)})},"minecraft:clamped_normal":{value:t.ObjectNode({min:t.NumberNode(),max:t.NumberNode(),mean:t.NumberNode(),deviation:t.NumberNode()})},"minecraft:trapezoid":{value:t.ObjectNode({min:t.NumberNode(),max:t.NumberNode(),plateau:t.NumberNode()})}}),r.register("float_provider",e.FloatProvider()),e.IntProvider=e=>c("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:t.NumberNode(m({integer:!0},e))},"minecraft:uniform":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e))})},"minecraft:biased_to_bottom":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e))})},"minecraft:clamped":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e)),source:a("int_provider")})}}),r.register("int_provider",e.IntProvider()),r.register("vertical_anchor",t.ChoiceNode(["absolute","above_bottom","below_top"].map((e=>({type:e,match:t=>void 0!==(null==t?void 0:t[e]),change:t=>{var r,o,i;return{[e]:null!==(i=null!==(o=null!==(r=t.absolute)&&void 0!==r?r:t.above_bottom)&&void 0!==o?o:t.below_top)&&void 0!==i?i:0}},node:t.ObjectNode({[e]:t.NumberNode({integer:!0,min:-2048,max:2047})})}))),{context:"vertical_anchor"})),r.register("height_provider",c("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:a("vertical_anchor")},"minecraft:uniform":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:t.Opt(t.NumberNode({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:t.Opt(t.NumberNode({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),plateau:t.Opt(t.NumberNode({integer:!0}))}})),e.ConditionCases=(e=i({enum:"entity_source"}))=>({"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:e,predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:e,scores:t.MapNode(i({validator:"objective"}),a("int_range"))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:a("int_range"),period:t.Opt(t.NumberNode({integer:!0}))},"minecraft:value_check":{value:a("number_provider"),range:a("int_range")},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}}),e.FunctionCases=(e,r=i({enum:"copy_source"}),n=i({enum:"entity_source"}))=>{const c={"minecraft:apply_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),formula:i({validator:"resource",params:{pool:o.get("loot_table_apply_bonus_formula")}}),parameters:t.Mod(t.ObjectNode({bonusMultiplier:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:r},"minecraft:copy_nbt":{source:a("nbt_provider"),ops:t.ListNode(t.ObjectNode({source:i({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:i({validator:"nbt_path",params:{category:"minecraft:item"}}),op:i({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.ListNode(i({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:t.Opt(t.ListNode(i({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:a("number_provider"),treasure:t.Opt(t.BooleanNode())},"minecraft:exploration_map":{destination:t.Opt(i({enum:"map_feature"})),decoration:t.Opt(i({enum:"map_decoration"})),zoom:t.Opt(t.NumberNode({integer:!0})),search_radius:t.Opt(t.NumberNode({integer:!0})),skip_existing_chunks:t.Opt(t.BooleanNode())},"minecraft:fill_player_head":{entity:n},"minecraft:limit_count":{limit:a("int_range")},"minecraft:looting_enchant":{count:a("number_provider"),limit:t.Opt(t.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:t.ListNode(a("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:t.ListNode(t.ObjectNode({pattern:i({enum:"banner_pattern"}),color:i({enum:"dye_color"})})),append:t.Opt(t.BooleanNode())},"minecraft:set_contents":{entries:t.ListNode(a("loot_entry"))},"minecraft:set_count":{count:a("number_provider"),add:t.Opt(t.BooleanNode())},"minecraft:set_damage":{damage:a("number_provider"),add:t.Opt(t.BooleanNode())},"minecraft:set_enchantments":{enchantments:t.MapNode(i({validator:"resource",params:{pool:"enchantment"}}),a("number_provider")),add:t.Opt(t.BooleanNode())},"minecraft:set_loot_table":{name:i({validator:"resource",params:{pool:"$loot_table"}}),seed:t.Opt(t.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:t.Opt(n),lore:t.ListNode(a("text_component")),replace:t.Opt(t.BooleanNode())},"minecraft:set_name":{entity:t.Opt(n),name:t.Opt(a("text_component"))},"minecraft:set_nbt":{tag:i({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:t.Opt(t.ListNode(t.ObjectNode({type:i({validator:"resource",params:{pool:"mob_effect"}}),duration:a("number_provider")})))}},s={};return o.get("loot_function_type").forEach((t=>{s[t]=m(m({},c[t]),e)})),s},e.DimensionTypePresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$dimension_type"}}),r,{"minecraft:overworld":e.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),e.NoiseSettingsPresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),r,{"minecraft:overworld":e.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}}(ii);var ai={};Object.defineProperty(ai,"__esModule",{value:!0}),ai.initConditionSchemas=void 0;const ni=Le,ci=ii;ai.initConditionSchemas=function(e,t){const r=ni.Reference.bind(void 0,e),o=ni.StringNode.bind(void 0,t);e.register("predicate",ni.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",ni.Mod(ni.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[ni.Switch]:[{push:"condition"}],[ni.Case]:ci.ConditionCases()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var si={};Object.defineProperty(si,"__esModule",{value:!0}),si.initDimensionSchemas=void 0;const li=Le,di=ii;si.initDimensionSchemas=function(e,t){const r=li.Reference.bind(void 0,e),o=li.StringNode.bind(void 0,t),i=e=>li.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",li.Mod(li.ObjectNode({type:di.DimensionTypePresets(r("dimension_type")),generator:li.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[li.Switch]:[{push:"type"}],[li.Case]:{"minecraft:noise":{seed:li.NumberNode({integer:!0}),settings:di.NoiseSettingsPresets(r("noise_settings")),biome_source:li.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[li.Switch]:[{push:"type"}],[li.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:li.NumberNode({integer:!0}),preset:li.Opt(o({enum:["nether"]})),altitude_noise:i(r("generator_biome_noise")),temperature_noise:i(r("generator_biome_noise")),humidity_noise:i(r("generator_biome_noise")),weirdness_noise:i(r("generator_biome_noise")),biomes:i(li.Mod(li.ListNode(r("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:li.Opt(li.NumberNode({integer:!0,min:0,max:62})),biomes:li.ListNode(o({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:li.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:li.NumberNode({integer:!0}),large_biomes:li.Opt(li.BooleanNode()),legacy_biome_init_layer:li.Opt(li.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:li.ObjectNode({biome:li.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:li.Opt(li.BooleanNode()),features:li.Opt(li.BooleanNode()),layers:li.ListNode(r("generator_layer")),structures:r("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",li.Mod(li.ObjectNode({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:li.ObjectNode({altitude:li.NumberNode(),temperature:li.NumberNode(),humidity:li.NumberNode(),weirdness:li.NumberNode(),offset:li.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",li.Mod(li.ObjectNode({firstOctave:li.NumberNode({integer:!0}),amplitudes:li.ListNode(li.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))};var mi={};Object.defineProperty(mi,"__esModule",{value:!0}),mi.initDimensionTypeSchemas=void 0;const _i=Le,pi=ii;mi.initDimensionTypeSchemas=function(e,t){const r=_i.StringNode.bind(void 0,t);e.register("dimension_type",_i.Mod(_i.ObjectNode({name:_i.Mod(r({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:_i.BooleanNode(),natural:_i.BooleanNode(),piglin_safe:_i.BooleanNode(),respawn_anchor_works:_i.BooleanNode(),bed_works:_i.BooleanNode(),has_raids:_i.BooleanNode(),has_skylight:_i.BooleanNode(),has_ceiling:_i.BooleanNode(),coordinate_scale:_i.NumberNode({min:1e-5,max:3e7}),ambient_light:_i.NumberNode(),fixed_time:_i.Opt(_i.NumberNode({integer:!0})),logical_height:_i.NumberNode({integer:!0,min:0,max:4096}),effects:_i.Opt(r({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:r({validator:"resource",params:{pool:"$tag/block"}}),min_y:_i.NumberNode({integer:!0,min:-2048,max:2047}),height:_i.NumberNode({integer:!0,min:0,max:4096})},{context:"dimension_type"}),(e=>({default:()=>pi.DefaultDimensionType,validate:(t,r,o,i)=>((null==(r=e.validate(t,r,o,i))?void 0:r.min_y)+(null==r?void 0:r.height)>2047&&o.add(t.push("height"),"error.min_y_plus_height",2047),(null==r?void 0:r.logical_height)>(null==r?void 0:r.height)&&o.add(t.push("logical_height"),"error.logical_height"),(null==r?void 0:r.height)%16!=0&&o.add(t.push("height"),"error.height_multiple",16),(null==r?void 0:r.min_y)%16!=0&&o.add(t.push("min_y"),"error.min_y_multiple",16),r)}))))};var ui={};Object.defineProperty(ui,"__esModule",{value:!0}),ui.initItemModifierSchemas=void 0;const fi=Le,gi=ii;ui.initItemModifierSchemas=function(e,t){const r=fi.Reference.bind(void 0,e),o=fi.StringNode.bind(void 0,t);e.register("item_modifier",fi.ObjectOrList(r("function"),{choiceContext:"function"}));const i={conditions:fi.Opt(fi.ListNode(r("condition")))};e.register("function",fi.Mod(fi.ObjectNode({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[fi.Switch]:[{push:"function"}],[fi.Case]:gi.FunctionCases(i)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))};var bi={},hi={};Object.defineProperty(hi,"__esModule",{value:!0}),hi.LootFunctions=hi.LootConditions=hi.LootCopySources=hi.LootEntitySources=hi.LootTableTypes=void 0,hi.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),hi.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),hi.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),hi.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),hi.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(bi,"__esModule",{value:!0}),bi.initLootTableSchemas=void 0;const vi=Le,yi=hi,Ni=ii;bi.initLootTableSchemas=function(e,t){const r=vi.Reference.bind(void 0,e),o=vi.StringNode.bind(void 0,t),i={conditions:vi.Opt(vi.ListNode(r("loot_condition")))},a=m({functions:vi.Opt(vi.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of yi.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new vi.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),vi.SwitchNode(i)}const c=n(yi.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(yi.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(yi.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(yi.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",vi.Mod(vi.ObjectNode({type:vi.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:vi.Opt(vi.ListNode(vi.Mod(vi.ObjectNode(m({rolls:r("number_provider"),bonus_rolls:vi.Opt(r("number_provider")),entries:vi.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:vi.Opt(vi.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const _={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",vi.Mod(vi.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:vi.Opt(vi.Mod(vi.NumberNode({integer:!0,min:1}),_)),quality:vi.Opt(vi.Mod(vi.NumberNode({integer:!0}),_)),[vi.Switch]:[{push:"type"}],[vi.Case]:{"minecraft:alternatives":m({children:vi.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:vi.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:vi.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:vi.Opt(vi.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",vi.Mod(vi.ObjectNode({function:s,[vi.Switch]:[{push:"function"}],[vi.Case]:Ni.FunctionCases(i,d,l)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",vi.Mod(vi.ObjectNode({condition:c,[vi.Switch]:[{push:"condition"}],[vi.Case]:Ni.ConditionCases(l)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",vi.Mod(vi.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:r("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:vi.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var Oi={};Object.defineProperty(Oi,"__esModule",{value:!0}),Oi.initPackMcmetaSchemas=void 0;const ki=Le;Oi.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",ki.Mod(ki.ObjectNode({pack:ki.Mod(ki.ObjectNode({pack_format:ki.Mod(ki.NumberNode({integer:!0,min:7,max:7}),{default:()=>7,canUpdate:(e,t)=>7!==t,update:()=>[{name:"pack_format",params:[7],newValue:7}]}),description:ki.Reference(e,"text_component")}),{default:()=>({pack_format:7,description:""})})}),{default:()=>({pack:{pack_format:7,description:""}})}))};var xi={};Object.defineProperty(xi,"__esModule",{value:!0}),xi.initPredicatesSchemas=void 0;const wi=Le;xi.initPredicatesSchemas=function(e,t){const r=wi.Reference.bind(void 0,e),o=wi.StringNode.bind(void 0,t),i=wi.ChoiceNode([{type:"string",node:o(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:wi.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:wi.ObjectNode({min:wi.Opt(wi.NumberNode({integer:!0})),max:wi.Opt(wi.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:wi.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",wi.ObjectNode({items:wi.Opt(wi.ListNode(o({validator:"resource",params:{pool:"item"}}))),tag:wi.Opt(o({validator:"resource",params:{pool:"$tag/item"}})),count:r("int_bounds"),durability:r("int_bounds"),potion:wi.Opt(o({validator:"resource",params:{pool:"potion"}})),nbt:wi.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:wi.Opt(wi.ListNode(r("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",wi.ObjectNode({enchantment:wi.Opt(o({validator:"resource",params:{pool:"enchantment"}})),levels:r("int_bounds")},{context:"enchantment"})),e.register("block_predicate",wi.ObjectNode({blocks:wi.Opt(wi.ListNode(o({validator:"resource",params:{pool:"block"}}))),tag:wi.Opt(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:wi.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:wi.Opt(wi.MapNode(o(),i,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",wi.ObjectNode({fluid:wi.Opt(o({validator:"resource",params:{pool:"fluid"}})),tag:wi.Opt(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:wi.Opt(wi.MapNode(o(),i))},{context:"fluid"})),e.register("location_predicate",wi.ObjectNode({position:wi.Opt(wi.ObjectNode({x:r("float_bounds"),y:r("float_bounds"),z:r("float_bounds")})),biome:wi.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:wi.Opt(o({enum:t.get("worldgen/structure_feature").map((e=>e.slice(10)))})),dimension:wi.Opt(o({validator:"resource",params:{pool:"$dimension"}})),light:wi.Opt(wi.ObjectNode({light:r("int_bounds")})),smokey:wi.Opt(wi.BooleanNode()),block:wi.Opt(r("block_predicate")),fluid:wi.Opt(r("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",wi.ObjectNode({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:r("int_bounds"),[wi.Switch]:[{push:"type"}],[wi.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",wi.ObjectNode({gamemode:wi.Opt(o({enum:"gamemode"})),level:r("int_bounds"),advancements:wi.Opt(wi.MapNode(o({validator:"resource",params:{pool:"$advancement"}}),wi.ChoiceNode([{type:"boolean",node:wi.BooleanNode(),change:e=>!0},{type:"object",node:wi.MapNode(o(),wi.BooleanNode())}]))),recipes:wi.Opt(wi.MapNode(o({validator:"resource",params:{pool:"$recipe"}}),wi.BooleanNode())),stats:wi.Opt(wi.ListNode(r("statistic_predicate"))),looking_at:wi.Opt(r("entity_predicate"))},{context:"player"})),e.register("status_effect_predicate",wi.ObjectNode({amplifier:r("int_bounds"),duration:r("int_bounds"),ambient:wi.Opt(wi.BooleanNode()),visible:wi.Opt(wi.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",wi.ObjectNode({x:r("float_bounds"),y:r("float_bounds"),z:r("float_bounds"),absolute:r("float_bounds"),horizontal:r("float_bounds")},{context:"distance"})),e.register("entity_predicate",wi.ObjectNode({type:wi.Opt(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:wi.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:wi.Opt(o({validator:"team"})),location:wi.Opt(r("location_predicate")),stepping_on:wi.Opt(r("location_predicate")),distance:wi.Opt(r("distance_predicate")),flags:wi.Opt(wi.ObjectNode({is_on_fire:wi.Opt(wi.BooleanNode()),is_sneaking:wi.Opt(wi.BooleanNode()),is_sprinting:wi.Opt(wi.BooleanNode()),is_swimming:wi.Opt(wi.BooleanNode()),is_baby:wi.Opt(wi.BooleanNode())})),equipment:wi.Opt(wi.MapNode(o({enum:"slot"}),r("item_predicate"))),player:wi.Opt(r("player_predicate")),vehicle:wi.Opt(r("entity_predicate")),passenger:wi.Opt(r("entity_predicate")),targeted_entity:wi.Opt(r("entity_predicate")),lightning_bolt:wi.Opt(wi.ObjectNode({blocks_set_on_fire:wi.Opt(r("int_bounds")),entity_struck:wi.Opt(r("entity_predicate"))})),fishing_hook:wi.Opt(wi.ObjectNode({in_open_water:wi.Opt(wi.BooleanNode())})),effects:wi.Opt(wi.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",wi.ObjectNode({is_explosion:wi.Opt(wi.BooleanNode()),is_fire:wi.Opt(wi.BooleanNode()),is_magic:wi.Opt(wi.BooleanNode()),is_projectile:wi.Opt(wi.BooleanNode()),is_lightning:wi.Opt(wi.BooleanNode()),bypasses_armor:wi.Opt(wi.BooleanNode()),bypasses_invulnerability:wi.Opt(wi.BooleanNode()),bypasses_magic:wi.Opt(wi.BooleanNode()),source_entity:wi.Opt(r("entity_predicate")),direct_entity:wi.Opt(r("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",wi.ObjectNode({dealt:r("float_bounds"),taken:r("float_bounds"),blocked:wi.Opt(wi.BooleanNode()),source_entity:wi.Opt(r("entity_predicate")),type:wi.Opt(r("damage_source_predicate"))},{context:"damage"}))};var ji={};Object.defineProperty(ji,"__esModule",{value:!0}),ji.initRecipeSchemas=void 0;const Si=Le;ji.initRecipeSchemas=function(e,t){const r=Si.Reference.bind(void 0,e),o=Si.StringNode.bind(void 0,t);e.register("recipe",Si.Mod(Si.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:crafting_shaped":{group:Si.Opt(o({enum:"recipe_group",additional:!0})),pattern:Si.ListNode(o()),key:Si.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Si.Opt(o()),ingredients:Si.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Si.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Si.Opt(Si.NumberNode()),cookingtime:Si.Opt(Si.Mod(Si.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Si.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Si.Opt(Si.NumberNode()),cookingtime:Si.Opt(Si.Mod(Si.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Si.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Si.Opt(Si.NumberNode()),cookingtime:Si.Opt(Si.Mod(Si.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Si.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Si.Opt(Si.NumberNode()),cookingtime:Si.Opt(Si.Mod(Si.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Si.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Si.NumberNode({integer:!0})},"minecraft:smithing":{group:Si.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Si.Mod(Si.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Si.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Si.Mod(Si.ObjectNode({item:Si.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Si.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Si.Mod(Si.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Si.Opt(Si.Mod(Si.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var Mi={};Object.defineProperty(Mi,"__esModule",{value:!0}),Mi.initTagsSchemas=void 0;const Ci=Le;Mi.initTagsSchemas=function(e,t){const r=Ci.StringNode.bind(void 0,t),o=e=>Ci.Mod(Ci.ObjectNode({replace:Ci.Opt(Ci.BooleanNode()),values:Ci.ListNode(Ci.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:Ci.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:Ci.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("game_event_tag",o("game_event")),e.register("item_tag",o("item"))};var Pi={};Object.defineProperty(Pi,"__esModule",{value:!0}),Pi.initTextComponentSchemas=void 0;const Li=Le;Pi.initTextComponentSchemas=function(e,t){const r=Li.Reference.bind(void 0,e),o=Li.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",Li.Mod(Li.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:Li.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:Li.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:Li.Opt(o()),font:Li.Opt(o()),bold:Li.Opt(Li.BooleanNode()),italic:Li.Opt(Li.BooleanNode()),underlined:Li.Opt(Li.BooleanNode()),strikethrough:Li.Opt(Li.BooleanNode()),obfuscated:Li.Opt(Li.BooleanNode()),insertion:Li.Opt(o()),clickEvent:Li.Opt(Li.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[Li.Switch]:[{push:"action"}],[Li.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:Li.Opt(Li.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[Li.Switch]:[{push:"action"}],[Li.Case]:{show_text:{value:Li.Opt(r("text_component")),contents:Li.Opt(r("text_component"))},show_item:{value:Li.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:Li.Opt(Li.ObjectNode({id:o({validator:"resource",params:{pool:"item"}}),count:Li.Opt(Li.NumberNode({integer:!0})),tag:Li.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:Li.Opt(Li.ObjectNode({name:Li.Opt(o()),type:Li.Opt(o()),id:Li.Opt(o())})),contents:Li.Opt(Li.Mod(Li.ObjectNode({name:Li.Opt(r("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:Li.Opt(r("text_component_list"))};e.register("text_component_object",Li.Mod(Li.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:Li.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:Li.ObjectNode(m({translate:o(),with:Li.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:Li.ObjectNode(m({score:Li.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:Li.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:Li.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:Li.Opt(r("text_component"))},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:Li.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:Li.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:Li.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:Li.Opt(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:Li.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:Li.Opt(Li.BooleanNode()),separator:Li.Opt(r("text_component"))},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",Li.Mod(Li.ListNode(r("text_component")),{default:()=>[{text:""}]}))};var Bi={},zi={};Object.defineProperty(zi,"__esModule",{value:!0}),zi.initBiomeSchemas=void 0;const Ri=Le;zi.initBiomeSchemas=function(e,t){const r=Ri.StringNode.bind(void 0,t);e.register("biome",Ri.Mod(Ri.ObjectNode({surface_builder:r({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:Ri.NumberNode(),scale:Ri.NumberNode(),temperature:Ri.NumberNode(),downfall:Ri.NumberNode(),precipitation:r({enum:["none","rain","snow"]}),temperature_modifier:Ri.Opt(r({enum:["none","frozen"]})),category:r({enum:"biome_category"}),player_spawn_friendly:Ri.Opt(Ri.BooleanNode()),creature_spawn_probability:Ri.Opt(Ri.NumberNode({min:0,max:1})),effects:Ri.ObjectNode({sky_color:Ri.NumberNode({color:!0}),fog_color:Ri.NumberNode({color:!0}),water_color:Ri.NumberNode({color:!0}),water_fog_color:Ri.NumberNode({color:!0}),grass_color:Ri.Opt(Ri.NumberNode({color:!0})),foliage_color:Ri.Opt(Ri.NumberNode({color:!0})),grass_color_modifier:Ri.Opt(r({enum:["none","dark_forest","swamp"]})),ambient_sound:Ri.Opt(r()),mood_sound:Ri.Opt(Ri.ObjectNode({sound:r(),tick_delay:Ri.NumberNode({integer:!0}),block_search_extent:Ri.NumberNode({integer:!0}),offset:Ri.NumberNode()})),additions_sound:Ri.Opt(Ri.ObjectNode({sound:r(),tick_chance:Ri.NumberNode({min:0,max:1})})),music:Ri.Opt(Ri.ObjectNode({sound:r(),min_delay:Ri.NumberNode({integer:!0,min:0}),max_delay:Ri.NumberNode({integer:!0,min:0}),replace_current_music:Ri.BooleanNode()})),particle:Ri.Opt(Ri.ObjectNode({options:Ri.ObjectNode({type:r()}),probability:Ri.NumberNode({min:0,max:1})}))}),starts:Ri.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:Ri.MapNode(r({enum:["monster","creature","ambient","underground_water_creature","water_creature","water_ambient","misc"]}),Ri.Mod(Ri.ListNode(Ri.ObjectNode({type:r({validator:"resource",params:{pool:"entity_type"}}),weight:Ri.NumberNode({integer:!0}),minCount:Ri.NumberNode({integer:!0}),maxCount:Ri.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:Ri.MapNode(r({validator:"resource",params:{pool:"entity_type"}}),Ri.Mod(Ri.ObjectNode({energy_budget:Ri.NumberNode(),charge:Ri.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:Ri.MapNode(r({enum:["air","liquid"]}),Ri.Mod(Ri.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:Ri.ListNode(Ri.Mod(Ri.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))};var $i={};Object.defineProperty($i,"__esModule",{value:!0}),$i.initCarverSchemas=void 0;const Ai=Le,Ti=ii;$i.initCarverSchemas=function(e,t){const r=Ai.Reference.bind(void 0,e),o=Ai.StringNode.bind(void 0,t),i={vertical_rotation:Ti.FloatProvider(),shape:Ai.ObjectNode({distance_factor:Ti.FloatProvider(),thickness:Ti.FloatProvider(),width_smoothness:Ai.NumberNode({integer:!0,min:0}),horizontal_radius_factor:Ti.FloatProvider(),vertical_radius_default_factor:Ai.NumberNode(),vertical_radius_center_factor:Ai.NumberNode()})},a={horizontal_radius_multiplier:Ti.FloatProvider(),vertical_radius_multiplier:Ti.FloatProvider(),floor_level:Ti.FloatProvider({min:-1,max:1})};e.register("configured_carver",Ai.Mod(Ai.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:Ai.ObjectNode({probability:Ai.NumberNode({min:0,max:1}),y:r("height_provider"),yScale:Ti.FloatProvider(),lava_level:r("vertical_anchor"),aquifers_enabled:Ai.BooleanNode(),debug_settings:Ai.Opt(Ai.ObjectNode({debug_mode:Ai.Opt(Ai.BooleanNode()),air_state:Ai.Opt(r("block_state")),water_state:Ai.Opt(r("block_state")),lava_state:Ai.Opt(r("block_state")),barrier_state:Ai.Opt(r("block_state"))})),[Ai.Switch]:["pop",{push:"type"}],[Ai.Case]:{"minecraft:canyon":i,"minecraft:cave":a,"minecraft:nether_cave":a}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))};var qi={};Object.defineProperty(qi,"__esModule",{value:!0}),qi.initDecoratorSchemas=void 0;const Ii=Le,Di=ii;qi.initDecoratorSchemas=function(e,t){const r=Ii.Reference.bind(void 0,e),o=Ii.StringNode.bind(void 0,t),i={count:Di.IntProvider({min:0,max:256})};e.register("configured_decorator",Ii.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/decorator"}}),config:Ii.ObjectNode({[Ii.Switch]:["pop",{push:"type"}],[Ii.Case]:{"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:cave_surface":{surface:o({enum:["floor","ceiling"]}),floor_to_ceiling_search_range:Ii.NumberNode({integer:!0})},"minecraft:chance":{chance:Ii.NumberNode({integer:!0,min:0})},"minecraft:count":i,"minecraft:count_extra":{count:Ii.NumberNode({integer:!0,min:0}),extra_count:Ii.NumberNode({integer:!0,min:0}),extra_chance:Ii.NumberNode({min:0,max:1})},"minecraft:count_multilayer":i,"minecraft:count_noise":{noise_level:Ii.NumberNode(),below_noise:Ii.NumberNode({integer:!0}),above_noise:Ii.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:Ii.NumberNode({integer:!0}),noise_factor:Ii.NumberNode(),noise_offset:Ii.Opt(Ii.NumberNode())},"minecraft:decorated":{outer:r("configured_decorator"),inner:r("configured_decorator")},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:heightmap_spread_double":{heightmap:o({enum:"heightmap_type"})},"minecraft:lava_lake":{chance:Ii.NumberNode({integer:!0,min:0})},"minecraft:range":{height:r("height_provider")},"minecraft:water_depth_threshold":{max_water_depth:Ii.NumberNode({integer:!0})}}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))};var Fi={},Ei={};Object.defineProperty(Ei,"__esModule",{value:!0}),Ei.initProcessorListSchemas=Ei.Processors=void 0;const Ui=Le;Ei.initProcessorListSchemas=function(e,t){const r=Ui.Reference.bind(void 0,e),o=Ui.StringNode.bind(void 0,t);Ei.Processors=Ui.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]),e.register("processor_list",Ui.Mod(Ui.ObjectNode({processors:Ui.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",Ui.Mod(Ui.ObjectNode({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[Ui.Switch]:[{push:"processor_type"}],[Ui.Case]:{"minecraft:block_age":{mossiness:Ui.NumberNode()},"minecraft:block_ignore":{blocks:Ui.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:Ui.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:Ui.NumberNode({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:Ui.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",Ui.Mod(Ui.ObjectNode({position_predicate:Ui.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:Ui.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const i={min_dist:Ui.Opt(Ui.NumberNode({min:0,max:255,integer:!0})),max_dist:Ui.Opt(Ui.NumberNode({min:0,max:255,integer:!0})),min_chance:Ui.Opt(Ui.NumberNode({min:0,max:1})),max_chance:Ui.Opt(Ui.NumberNode({min:0,max:1}))};e.register("pos_rule_test",Ui.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[Ui.Switch]:[{push:"predicate_type"}],[Ui.Case]:{"minecraft:axis_aligned_linear_pos":m({axis:o({enum:["x","y","z"]})},i),"minecraft:linear_pos":i}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",Ui.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[Ui.Switch]:[{push:"predicate_type"}],[Ui.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:Ui.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:Ui.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))},Object.defineProperty(Fi,"__esModule",{value:!0}),Fi.initFeatureSchemas=void 0;const Wi=Le,Hi=ii,Ki=Ei;Fi.initFeatureSchemas=function(e,t){const r=Wi.Reference.bind(void 0,e),o=Wi.StringNode.bind(void 0,t),i={can_replace:Wi.Opt(Wi.BooleanNode()),project:Wi.Opt(Wi.BooleanNode()),need_water:Wi.Opt(Wi.BooleanNode()),xspread:Wi.Opt(Wi.NumberNode({integer:!0,min:0})),yspread:Wi.Opt(Wi.NumberNode({integer:!0,min:0})),zspread:Wi.Opt(Wi.NumberNode({integer:!0,min:0})),tries:Wi.Opt(Wi.NumberNode({integer:!0,min:1})),state_provider:r("block_state_provider"),block_placer:r("block_placer"),whitelist:Wi.ListNode(r("block_state")),blacklist:Wi.ListNode(r("block_state"))},a={state:r("block_state"),radius:Hi.IntProvider({min:0,max:8}),half_height:Wi.NumberNode({integer:!0,min:0,max:4}),targets:Wi.ListNode(r("block_state"))},n={cap_provider:r("block_state_provider"),stem_provider:r("block_state_provider"),foliage_radius:Wi.Opt(Wi.NumberNode({integer:!0}))},c=Wi.ObjectNode({target:r("rule_test"),state:r("block_state")}),s={size:Wi.NumberNode({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:Wi.NumberNode({min:0,max:1}),targets:Wi.ListNode(c)},l=Wi.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:r("configured_feature")}],{choiceContext:"feature"}),d={surface:o({enum:["floor","ceiling"]}),depth:Hi.IntProvider({min:1,max:128}),vertical_range:Wi.NumberNode({integer:!0,min:1,max:256}),extra_bottom_block_chance:Wi.NumberNode({min:0,max:1}),extra_edge_column_chance:Wi.NumberNode({min:0,max:1}),vegetation_chance:Wi.NumberNode({min:0,max:1}),xz_radius:Hi.IntProvider(),replaceable:o({validator:"resource",params:{pool:"$tag/block"}}),ground_state:r("block_state_provider"),vegetation_feature:l};e.register("configured_feature",Wi.Mod(Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:Wi.ObjectNode({[Wi.Switch]:["pop",{push:"type"}],[Wi.Case]:{"minecraft:bamboo":{probability:Wi.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:Hi.IntProvider({min:0,max:3}),height:Hi.IntProvider({min:1,max:10})},"minecraft:block_pile":{state_provider:r("block_state_provider")},"minecraft:decorated":{decorator:r("configured_decorator"),feature:l},"minecraft:decorated_flower":{decorator:r("configured_decorator"),feature:l},"minecraft:delta_feature":{contents:r("block_state"),rim:r("block_state"),size:Hi.IntProvider({min:0,max:16}),rim_size:Hi.IntProvider({min:0,max:16})},"minecraft:disk":a,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:Wi.NumberNode({integer:!0,min:1,max:512}),height:Hi.IntProvider({min:0,max:128}),radius:Hi.IntProvider({min:0,max:128}),max_stalagmite_stalactite_height_diff:Wi.NumberNode({integer:!0,min:0,max:64}),height_deviation:Wi.NumberNode({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:Hi.IntProvider({min:0,max:128}),density:Hi.FloatProvider({min:0,max:2}),wetness:Hi.FloatProvider({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:Wi.NumberNode({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:Wi.NumberNode({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:Wi.NumberNode({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:Wi.BooleanNode(),exit:Wi.Opt(r("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:Wi.Opt(Wi.BooleanNode()),crystal_beam_target:Wi.Opt(r("block_pos")),spikes:Wi.ListNode(Wi.ObjectNode({centerX:Wi.Opt(Wi.NumberNode({integer:!0})),centerZ:Wi.Opt(Wi.NumberNode({integer:!0})),radius:Wi.Opt(Wi.NumberNode({integer:!0})),height:Wi.Opt(Wi.NumberNode({integer:!0})),guarded:Wi.Opt(Wi.BooleanNode())}))},"minecraft:fill_layer":{state:r("block_state"),height:Wi.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":i,"minecraft:forest_rock":{state:r("block_state")},"minecraft:fossil":{max_empty_corners_allowed:Wi.NumberNode({integer:!0,min:0,max:7}),fossil_structures:Wi.ListNode(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:Wi.ListNode(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Ki.Processors,overlay_processors:Ki.Processors},"minecraft:geode":{blocks:Wi.ObjectNode({filling_provider:r("block_state_provider"),inner_layer_provider:r("block_state_provider"),alternate_inner_layer_provider:r("block_state_provider"),middle_layer_provider:r("block_state_provider"),outer_layer_provider:r("block_state_provider"),inner_placements:Wi.ListNode(r("block_state")),cannot_replace:o({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:o({validator:"resource",params:{pool:"$tag/block"}})}),layers:Wi.ObjectNode({filling:Wi.Opt(Wi.NumberNode({min:.01,max:50})),inner_layer:Wi.Opt(Wi.NumberNode({min:.01,max:50})),middle_layer:Wi.Opt(Wi.NumberNode({min:.01,max:50})),outer_layer:Wi.Opt(Wi.NumberNode({min:.01,max:50}))}),crack:Wi.ObjectNode({generate_crack_chance:Wi.Opt(Wi.NumberNode({min:0,max:1})),base_crack_size:Wi.Opt(Wi.NumberNode({min:0,max:5})),crack_point_offset:Wi.Opt(Wi.NumberNode({min:0,max:10,integer:!0}))}),noise_multiplier:Wi.Opt(Wi.NumberNode({min:0,max:1})),use_potential_placements_chance:Wi.Opt(Wi.NumberNode({min:0,max:1})),use_alternate_layer0_chance:Wi.Opt(Wi.NumberNode({min:0,max:1})),placements_require_layer0_alternate:Wi.Opt(Wi.BooleanNode()),outer_wall_distance:Wi.Opt(Hi.IntProvider({min:1,max:20})),distribution_points:Wi.Opt(Hi.IntProvider({min:1,max:20})),point_offset:Wi.Opt(Hi.IntProvider({min:0,max:10})),min_gen_offset:Wi.Opt(Wi.NumberNode({integer:!0})),max_gen_offset:Wi.Opt(Wi.NumberNode({integer:!0})),invalid_blocks_threshold:Wi.NumberNode({integer:!0})},"minecraft:glow_lichen":{search_range:Wi.Opt(Wi.NumberNode({min:1,max:64,integer:!0})),chance_of_spreading:Wi.Opt(Wi.NumberNode({min:0,max:1})),can_place_on_floor:Wi.Opt(Wi.BooleanNode()),can_place_on_ceiling:Wi.Opt(Wi.BooleanNode()),can_place_on_wall:Wi.Opt(Wi.BooleanNode()),can_be_placed_on:Wi.ListNode(r("block_state"))},"minecraft:growing_plant":{direction:o({enum:["up","down","north","east","south","west"]}),allow_water:Wi.BooleanNode(),height_distribution:Wi.ListNode(Wi.ObjectNode({weight:Wi.NumberNode({integer:!0}),data:Hi.IntProvider()})),body_provider:r("block_state_provider"),head_provider:r("block_state_provider")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:r("block_state"),decor_state:r("block_state"),stem_state:r("block_state"),valid_base_block:r("block_state"),planted:Wi.Opt(Wi.BooleanNode())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:r("block_state")},"minecraft:lake":{state:r("block_state")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:Wi.Opt(Wi.NumberNode({integer:!0,min:1,max:512})),column_radius:Hi.IntProvider({min:0,max:60}),height_scale:Hi.FloatProvider({min:0,max:20}),max_column_radius_to_cave_height_ratio:Wi.NumberNode({min:0,max:1}),stalactite_bluntness:Hi.FloatProvider({min:.1,max:10}),stalagmite_bluntness:Hi.FloatProvider({min:.1,max:10}),wind_speed:Hi.FloatProvider({min:0,max:2}),min_radius_for_wind:Wi.NumberNode({integer:!0,min:0,max:100}),min_bluntness_for_wind:Wi.NumberNode({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:r("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:r("block_state"),target:r("block_state"),radius:Hi.IntProvider({min:0,max:12})},"minecraft:no_bonemeal_flower":i,"minecraft:ore":s,"minecraft:random_patch":i,"minecraft:random_boolean_selector":{feature_false:l,feature_true:l},"minecraft:random_selector":{features:Wi.ListNode(Wi.ObjectNode({chance:Wi.NumberNode({min:0,max:1}),feature:l})),default:l},"minecraft:replace_single_block":{targets:Wi.ListNode(c)},"minecraft:root_system":{required_vertical_space_for_tree:Wi.NumberNode({integer:!0,min:1,max:64}),root_radius:Wi.NumberNode({integer:!0,min:1,max:64}),root_placement_attempts:Wi.NumberNode({integer:!0,min:1,max:256}),root_column_max_height:Wi.NumberNode({integer:!0,min:1,max:4096}),hanging_root_radius:Wi.NumberNode({integer:!0,min:1,max:64}),hanging_roots_vertical_span:Wi.NumberNode({integer:!0,min:0,max:16}),hanging_root_placement_attempts:Wi.NumberNode({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:Wi.NumberNode({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:r("block_state_provider"),hanging_root_state_provider:r("block_state_provider"),feature:l},"minecraft:scattered_ore":s,"minecraft:sea_pickle":{count:Hi.IntProvider({min:0,max:256})},"minecraft:seagrass":{probability:Wi.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:r("block_state_provider"),place_on:Wi.ListNode(r("block_state")),place_in:Wi.ListNode(r("block_state")),place_under:Wi.ListNode(r("block_state"))},"minecraft:simple_random_selector":{features:Wi.ListNode(l)},"minecraft:small_dripstone":{max_placements:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:100})),empty_space_search_radius:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:20})),max_offset_from_origin:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:20})),chance_of_taller_dripstone:Wi.Opt(Wi.NumberNode({min:0,max:1}))},"minecraft:spring_feature":{state:r("fluid_state"),rock_count:Wi.NumberNode({integer:!0}),hole_count:Wi.NumberNode({integer:!0}),requires_block_below:Wi.BooleanNode(),valid_blocks:Wi.ListNode(o({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:Wi.Opt(Wi.BooleanNode()),force_dirt:Wi.Opt(Wi.BooleanNode()),minimum_size:r("feature_size"),dirt_provider:r("block_state_provider"),sapling_provider:r("block_state_provider"),trunk_provider:r("block_state_provider"),foliage_provider:r("block_state_provider"),trunk_placer:Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:Wi.NumberNode({integer:!0,min:0,max:32}),height_rand_a:Wi.NumberNode({integer:!0,min:0,max:24}),height_rand_b:Wi.NumberNode({integer:!0,min:0,max:24}),[Wi.Switch]:[{push:"type"}],[Wi.Case]:{"minecraft:bending_trunk_placer":{bend_length:Hi.IntProvider({min:1,max:64}),min_height_for_leaves:Wi.Opt(Wi.NumberNode({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:Hi.IntProvider({min:0,max:16}),offset:Hi.IntProvider({min:0,max:16}),[Wi.Switch]:[{push:"type"}],[Wi.Case]:{"minecraft:blob_foliage_placer":{height:Wi.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:Wi.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:Wi.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:Wi.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:Hi.IntProvider({min:0,max:24})},"minecraft:pine_foliage_placer":{height:Hi.IntProvider({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:Hi.IntProvider({min:1,max:512}),leaf_placement_attempts:Wi.NumberNode({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:Hi.IntProvider({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:Wi.ListNode(Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[Wi.Switch]:[{push:"type"}],[Wi.Case]:{"minecraft:alter_ground":{provider:r("block_state_provider")},"minecraft:beehive":{probability:Wi.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:Wi.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:underwater_magma":{floor_search_range:Wi.NumberNode({integer:!0,min:0,max:512}),placement_radius_around_floor:Wi.NumberNode({integer:!0,min:0,max:64}),placement_probability_per_valid_position:Wi.NumberNode({min:0,max:1})},"minecraft:vegetation_patch":d,"minecraft:waterlogged_vegetation_patch":d}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",Wi.Mod(Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:Wi.Opt(Wi.NumberNode({min:0,max:80})),[Wi.Switch]:[{push:"type"}],[Wi.Case]:{"minecraft:two_layers_feature_size":{limit:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:81})),lower_size:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:16})),upper_size:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:80})),upper_limit:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:80})),lower_size:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:16})),middle_size:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:16})),upper_size:Wi.Opt(Wi.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",Wi.Mod(Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[Wi.Switch]:[{push:"type"}],[Wi.Case]:{"minecraft:randomized_int_state_provider":{property:o(),values:Hi.IntProvider(),source:r("block_state_provider")},"minecraft:rotated_block_provider":{state:r("block_state")},"minecraft:simple_state_provider":{state:r("block_state")},"minecraft:weighted_state_provider":{entries:Wi.ListNode(Wi.Mod(Wi.ObjectNode({weight:Wi.NumberNode({integer:!0,min:1}),data:r("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",Wi.Mod(Wi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[Wi.Switch]:[{push:"type"}],[Wi.Case]:{"minecraft:column_placer":{size:Hi.IntProvider({min:0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))};var Gi={};Object.defineProperty(Gi,"__esModule",{value:!0}),Gi.initNoiseSettingsSchemas=void 0;const Xi=Le,Vi=ii;Gi.initNoiseSettingsSchemas=function(e,t){const r=Xi.Reference.bind(void 0,e),o=Xi.StringNode.bind(void 0,t);e.register("noise_settings",Xi.Mod(Xi.ObjectNode({name:Xi.Mod(o({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:Xi.NumberNode({integer:!0}),bedrock_floor_position:Xi.NumberNode({integer:!0}),sea_level:Xi.NumberNode({integer:!0}),min_surface_level:Xi.NumberNode({integer:!0}),disable_mob_generation:Xi.BooleanNode(),noise_caves_enabled:Xi.BooleanNode(),noodle_caves_enabled:Xi.BooleanNode(),aquifers_enabled:Xi.BooleanNode(),deepslate_enabled:Xi.BooleanNode(),ore_veins_enabled:Xi.BooleanNode(),default_block:r("block_state"),default_fluid:r("block_state"),noise:Xi.ObjectNode({min_y:Xi.NumberNode({integer:!0,min:-2048,max:2047}),height:Xi.NumberNode({integer:!0,min:0,max:4096}),density_factor:Xi.NumberNode(),density_offset:Xi.NumberNode(),size_horizontal:Xi.NumberNode({integer:!0}),size_vertical:Xi.NumberNode({integer:!0}),simplex_surface_noise:Xi.BooleanNode(),random_density_offset:Xi.Opt(Xi.BooleanNode()),island_noise_override:Xi.Opt(Xi.BooleanNode()),amplified:Xi.Opt(Xi.BooleanNode()),sampling:Xi.ObjectNode({xz_scale:Xi.NumberNode(),y_scale:Xi.NumberNode(),xz_factor:Xi.NumberNode(),y_factor:Xi.NumberNode()}),bottom_slide:Xi.ObjectNode({target:Xi.NumberNode({integer:!0}),size:Xi.NumberNode({integer:!0,min:0}),offset:Xi.NumberNode({integer:!0})}),top_slide:Xi.ObjectNode({target:Xi.NumberNode({integer:!0}),size:Xi.NumberNode({integer:!0,min:0}),offset:Xi.NumberNode({integer:!0})})}),structures:r("generator_structures")},{context:"noise_settings"}),(e=>({default:()=>Vi.DefaultNoiseSettings,validate:(t,r,o,i)=>{var a,n,c,s;return(null===(a=null==(r=e.validate(t,r,o,i))?void 0:r.noise)||void 0===a?void 0:a.min_y)+(null===(n=null==r?void 0:r.noise)||void 0===n?void 0:n.height)>2047&&o.add(t.push("noise").push("height"),"error.min_y_plus_height",2047),(null===(c=null==r?void 0:r.noise)||void 0===c?void 0:c.height)%16!=0&&o.add(t.push("noise").push("height"),"error.height_multiple",16),(null===(s=null==r?void 0:r.noise)||void 0===s?void 0:s.min_y)%16!=0&&o.add(t.push("noise").push("min_y"),"error.min_y_multiple",16),r}})))),e.register("generator_structures",Xi.ObjectNode({stronghold:Xi.Opt(Xi.ObjectNode({distance:Xi.NumberNode({integer:!0,min:0,max:1023}),spread:Xi.NumberNode({integer:!0,min:0,max:1023}),count:Xi.NumberNode({integer:!0,min:1,max:4095})})),structures:Xi.MapNode(o({validator:"resource",params:{pool:"worldgen/structure_feature"}}),Xi.Mod(Xi.ObjectNode({spacing:Xi.NumberNode({integer:!0,min:0,max:4096}),separation:Xi.Mod(Xi.NumberNode({integer:!0,min:0,max:4096}),(e=>({validate:(t,r,o,i)=>(t.pop().push("spacing").get()<=r&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,r,o,i))}))),salt:Xi.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",Xi.Mod(Xi.ObjectNode({block:o({validator:"resource",params:{pool:"block"}}),height:Xi.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))};var Ji={};Object.defineProperty(Ji,"__esModule",{value:!0}),Ji.initStructureFeatureSchemas=void 0;const Zi=Le;Ji.initStructureFeatureSchemas=function(e,t){const r=Zi.StringNode.bind(void 0,t),o=Zi.Reference.bind(void 0,e),i={start_pool:r({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:Zi.NumberNode({integer:!0})};e.register("configured_structure_feature",Zi.Mod(Zi.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:Zi.ObjectNode({[Zi.Switch]:["pop",{push:"type"}],[Zi.Case]:{"minecraft:bastion_remnant":i,"minecraft:buried_treasure":{probability:Zi.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:r({enum:["normal","mesa"]}),probability:Zi.NumberNode({min:0,max:1})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:r({enum:["cold","warm"]}),large_probability:Zi.NumberNode({min:0,max:1}),cluster_probability:Zi.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":i,"minecraft:ruined_portal":{portal_type:r({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:Zi.Opt(Zi.BooleanNode())},"minecraft:village":i}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))};var Yi={};Object.defineProperty(Yi,"__esModule",{value:!0}),Yi.initSurfaceBuilderSchemas=void 0;const Qi=Le;Yi.initSurfaceBuilderSchemas=function(e,t){const r=Qi.StringNode.bind(void 0,t),o=Qi.Reference.bind(void 0,e);e.register("configured_surface_builder",Qi.Mod(Qi.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:Qi.ObjectNode({top_material:o("block_state"),under_material:o("block_state"),underwater_material:o("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))};var ea={};Object.defineProperty(ea,"__esModule",{value:!0}),ea.initTemplatePoolSchemas=void 0;const ta=Le,ra=Ei;ea.initTemplatePoolSchemas=function(e,t){const r=ta.Reference.bind(void 0,e),o=ta.StringNode.bind(void 0,t);e.register("template_pool",ta.Mod(ta.ObjectNode({name:o(),fallback:o(),elements:ta.ListNode(r("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",ta.Mod(ta.ObjectNode({weight:ta.NumberNode({integer:!0,min:1}),element:r("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",ta.Mod(ta.ObjectNode({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[ta.Switch]:[{push:"element_type"}],[ta.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:ra.Processors},"minecraft:list_pool_element":{elements:ta.ListNode(r("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:ra.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))},Object.defineProperty(Bi,"__esModule",{value:!0}),Bi.initWorldgenSchemas=void 0;const oa=zi,ia=$i,aa=qi,na=Fi,ca=Gi,sa=Ei,la=Ji,da=Yi,ma=ea;Bi.initWorldgenSchemas=function(e,t){sa.initProcessorListSchemas(e,t),oa.initBiomeSchemas(e,t),ia.initCarverSchemas(e,t),aa.initDecoratorSchemas(e,t),na.initFeatureSchemas(e,t),ca.initNoiseSettingsSchemas(e,t),la.initStructureFeatureSchemas(e,t),da.initSurfaceBuilderSchemas(e,t),ma.initTemplatePoolSchemas(e,t)};var _a={};Object.defineProperty(_a,"__esModule",{value:!0}),_a.initWorldSettingsSchemas=void 0;const pa=Le;_a.initWorldSettingsSchemas=function(e,t){const r=pa.Reference.bind(void 0,e),o=pa.StringNode.bind(void 0,t);e.register("world_settings",pa.Mod(pa.ObjectNode({generate_features:pa.BooleanNode(),bonus_chest:pa.BooleanNode(),seed:pa.NumberNode({integer:!0}),dimensions:pa.MapNode(o({validator:"resource",params:{pool:"$dimension"}}),r("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))},Object.defineProperty(ti,"__esModule",{value:!0}),ti.initSchemas=void 0;const ua=ri,fa=ii,ga=ai,ba=si,ha=mi,va=ui,ya=bi,Na=Oi,Oa=xi,ka=ji,xa=Mi,wa=Pi,ja=Bi,Sa=_a;ti.initSchemas=function(e,t){fa.initCommonSchemas(e,t),ua.initAdvancementSchemas(e,t),ga.initConditionSchemas(e,t),ha.initDimensionTypeSchemas(e,t),ba.initDimensionSchemas(e,t),va.initItemModifierSchemas(e,t),ya.initLootTableSchemas(e,t),Na.initPackMcmetaSchemas(e,t),Oa.initPredicatesSchemas(e,t),ka.initRecipeSchemas(e,t),xa.initTagsSchemas(e,t),wa.initTextComponentSchemas(e,t),ja.initWorldgenSchemas(e,t),Sa.initWorldSettingsSchemas(e,t)};var Ma=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),Ca=Ce&&Ce.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Pa=Ce&&Ce.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&Ma(t,e,r);return Ca(t,e),t};Object.defineProperty(Qo,"__esModule",{value:!0});var La=Qo.getSchemas=Qo.getCollections=void 0;const Ba=Le,za=ei,Ra=ti;var $a=Qo.lootContext=Pa(hi);var Aa=Qo.getCollections=function(){const e=new Ba.CollectionRegistry;return za.initCollections(e),e};La=Qo.getSchemas=function(e){const t=new Ba.SchemaRegistry;return Ra.initSchemas(t,e),t};var Ta=Object.freeze(Object.assign(Object.create(null),Qo,{[Symbol.toStringTag]:"Module",get getSchemas(){return La},get getCollections(){return Aa},lootContext:$a,default:Qo}));export{ce as L,D as N,ne as R,v as a,St as b,N as c,Le as d,Yo as e,Ta as f,Y as g,br as j,ve as l,Oe as q,Ne as s,ye as y}; +//# sourceMappingURL=vendor.5f8b9a3f.js.map diff --git a/assets/vendor.5f8b9a3f.js.map b/assets/vendor.5f8b9a3f.js.map new file mode 100644 index 00000000..9cc59019 --- /dev/null +++ b/assets/vendor.5f8b9a3f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vendor.5f8b9a3f.js","sources":["../../node_modules/preact/dist/preact.module.js","../../node_modules/preact-router/dist/preact-router.es.js","../../node_modules/preact/hooks/dist/hooks.module.js","../../node_modules/@mcschema/core/lib/model/Path.js","../../node_modules/@mcschema/core/lib/model/Errors.js","../../node_modules/@mcschema/core/lib/model/DataModel.js","../../node_modules/@mcschema/core/lib/nodes/Node.js","../../node_modules/@mcschema/core/lib/nodes/BooleanNode.js","../../node_modules/@mcschema/core/lib/nodes/ListNode.js","../../node_modules/@mcschema/core/lib/nodes/SwitchNode.js","../../node_modules/@mcschema/core/lib/nodes/ChoiceNode.js","../../node_modules/@mcschema/core/lib/nodes/MapNode.js","../../node_modules/@mcschema/core/lib/nodes/NumberNode.js","../../node_modules/@mcschema/core/lib/utils.js","../../node_modules/@mcschema/core/lib/nodes/ObjectNode.js","../../node_modules/@mcschema/core/lib/nodes/Reference.js","../../node_modules/@mcschema/core/lib/nodes/StringNode.js","../../node_modules/@mcschema/core/lib/Hook.js","../../node_modules/@mcschema/core/lib/Registries.js","../../node_modules/@mcschema/core/lib/ValidationOption.js","../../node_modules/@mcschema/core/lib/index.js","../../node_modules/seedrandom/lib/alea.js","../../node_modules/seedrandom/lib/xor128.js","../../node_modules/seedrandom/lib/xorwow.js","../../node_modules/seedrandom/lib/xorshift7.js","../../node_modules/seedrandom/lib/xor4096.js","../../node_modules/seedrandom/lib/tychei.js","../../__vite-browser-external","../../node_modules/seedrandom/seedrandom.js","../../node_modules/seedrandom/index.js","../../node_modules/@mcschema/java-1.15/lib/Collections.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.15/lib/LootContext.js","../../node_modules/@mcschema/java-1.15/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.15/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.15/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.15/lib/schemas/index.js","../../node_modules/@mcschema/java-1.15/lib/index.js","../../node_modules/@mcschema/java-1.16/lib/Collections.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.16/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.16/lib/LootContext.js","../../node_modules/@mcschema/java-1.16/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.16/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.16/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/SurfaceBuilder.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.16/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.16/lib/schemas/index.js","../../node_modules/@mcschema/java-1.16/lib/index.js","../../node_modules/@mcschema/java-1.17/lib/Collections.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.17/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.17/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.17/lib/LootContext.js","../../node_modules/@mcschema/java-1.17/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.17/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.17/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/SurfaceBuilder.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.17/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.17/lib/schemas/index.js","../../node_modules/@mcschema/java-1.17/lib/index.js"],"sourcesContent":["var n,l,u,i,t,o,r={},f=[],e=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(n,l){for(var u in l)n[u]=l[u];return n}function s(n){var l=n.parentNode;l&&l.removeChild(n)}function a(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p3)for(u=[u],o=3;o b.rank) ? -1 :\n\t\t\t\t(a.index - b.index)\n\t);\n}\n\n// filter out VNodes without attributes (which are unrankeable), and add `index`/`rank` properties to be used in sorting.\nfunction prepareVNodeForRanking(vnode, index) {\n\tvnode.index = index;\n\tvnode.rank = rankChild(vnode);\n\treturn vnode.props;\n}\n\nfunction segmentize(url) {\n\treturn url.replace(/(^\\/+|\\/+$)/g, '').split('/');\n}\n\nfunction rankSegment(segment) {\n\treturn segment.charAt(0)==':' ? (1 + '*+?'.indexOf(segment.charAt(segment.length-1))) || 4 : 5;\n}\n\nfunction rank(path) {\n\treturn segmentize(path).map(rankSegment).join('');\n}\n\nfunction rankChild(vnode) {\n\treturn vnode.props.default ? 0 : rank(vnode.props.path);\n}\n\nvar customHistory = null;\n\nvar ROUTERS = [];\n\nvar subscribers = [];\n\nvar EMPTY = {};\n\nfunction setUrl(url, type) {\n\tif ( type === void 0 ) type='push';\n\n\tif (customHistory && customHistory[type]) {\n\t\tcustomHistory[type](url);\n\t}\n\telse if (typeof history!=='undefined' && history[type+'State']) {\n\t\thistory[type+'State'](null, null, url);\n\t}\n}\n\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t}\n\telse if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t}\n\telse {\n\t\turl = typeof location!=='undefined' ? location : EMPTY;\n\t}\n\treturn (\"\" + (url.pathname || '') + (url.search || ''));\n}\n\n\n\nfunction route(url, replace) {\n\tif ( replace === void 0 ) replace=false;\n\n\tif (typeof url!=='string' && url.url) {\n\t\treplace = url.replace;\n\t\turl = url.url;\n\t}\n\n\t// only push URL into history if we can handle it\n\tif (canRoute(url)) {\n\t\tsetUrl(url, replace ? 'replace' : 'push');\n\t}\n\n\treturn routeTo(url);\n}\n\n\n/** Check if the given URL can be handled by any router instances. */\nfunction canRoute(url) {\n\tfor (var i=ROUTERS.length; i--; ) {\n\t\tif (ROUTERS[i].canRoute(url)) { return true; }\n\t}\n\treturn false;\n}\n\n\n/** Tell all router instances to handle the given URL. */\nfunction routeTo(url) {\n\tvar didRoute = false;\n\tfor (var i=0; i 0;\n\t};\n\n\t/** Re-render children with a new URL to match against. */\n\tRouter.prototype.routeTo = function routeTo (url) {\n\t\tthis.setState({ url: url });\n\n\t\tvar didRoute = this.canRoute(url);\n\n\t\t// trigger a manual re-route if we're not in the middle of an update:\n\t\tif (!this.updating) { this.forceUpdate(); }\n\n\t\treturn didRoute;\n\t};\n\n\tRouter.prototype.componentWillMount = function componentWillMount () {\n\t\tROUTERS.push(this);\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidMount = function componentDidMount () {\n\t\tvar this$1 = this;\n\n\t\tif (customHistory) {\n\t\t\tthis.unlisten = customHistory.listen(function (location) {\n\t\t\t\tthis$1.routeTo((\"\" + (location.pathname || '') + (location.search || '')));\n\t\t\t});\n\t\t}\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.componentWillUnmount = function componentWillUnmount () {\n\t\tif (typeof this.unlisten==='function') { this.unlisten(); }\n\t\tROUTERS.splice(ROUTERS.indexOf(this), 1);\n\t};\n\n\tRouter.prototype.componentWillUpdate = function componentWillUpdate () {\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidUpdate = function componentDidUpdate () {\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.getMatchingChildren = function getMatchingChildren (children, url, invoke) {\n\t\treturn children\n\t\t\t.filter(prepareVNodeForRanking)\n\t\t\t.sort(pathRankSort)\n\t\t\t.map( function (vnode) {\n\t\t\t\tvar matches = exec(url, vnode.props.path, vnode.props);\n\t\t\t\tif (matches) {\n\t\t\t\t\tif (invoke !== false) {\n\t\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\t\tassign(newProps, matches);\n\t\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\t\treturn cloneElement(vnode, newProps);\n\t\t\t\t\t}\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t}).filter(Boolean);\n\t};\n\n\tRouter.prototype.render = function render (ref, ref$1) {\n\t\tvar children = ref.children;\n\t\tvar onChange = ref.onChange;\n\t\tvar url = ref$1.url;\n\n\t\tvar active = this.getMatchingChildren(toChildArray(children), url, true);\n\n\t\tvar current = active[0] || null;\n\n\t\tvar previous = this.previousUrl;\n\t\tif (url!==previous) {\n\t\t\tthis.previousUrl = url;\n\t\t\tif (typeof onChange==='function') {\n\t\t\t\tonChange({\n\t\t\t\t\trouter: this,\n\t\t\t\t\turl: url,\n\t\t\t\t\tprevious: previous,\n\t\t\t\t\tactive: active,\n\t\t\t\t\tcurrent: current\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current;\n\t};\n\n\treturn Router;\n}(Component));\n\nvar Link = function (props) { return (\n\tcreateElement('a', assign({ onClick: handleLinkClick }, props))\n); };\n\nvar Route = function (props) { return createElement(props.component, props); };\n\nRouter.subscribers = subscribers;\nRouter.getCurrentUrl = getCurrentUrl;\nRouter.route = route;\nRouter.Router = Router;\nRouter.Route = Route;\nRouter.Link = Link;\nRouter.exec = exec;\n\nexport { subscribers, getCurrentUrl, route, Router, Route, Link, exec };export default Router;\n//# sourceMappingURL=preact-router.es.js.map\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ModelPath = exports.Path = exports.relativePath = void 0;\r\nfunction relativePath(start, relativePath) {\r\n return relativePath.reduce((path, e) => {\r\n if (e === 'pop') {\r\n return path.pop();\r\n }\r\n else {\r\n return path.push(e.push);\r\n }\r\n }, start);\r\n}\r\nexports.relativePath = relativePath;\r\n/**\r\n * Immutable helper class to represent a path in data\r\n */\r\nclass Path {\r\n /**\r\n * @param modelArr Initial array of path model elements. Empty if not given\r\n * @param contextArr Initial array of path context elements. Empty if not given\r\n */\r\n constructor(modelArr, contextArr) {\r\n this.modelArr = modelArr !== null && modelArr !== void 0 ? modelArr : [];\r\n this.contextArr = contextArr !== null && contextArr !== void 0 ? contextArr : [];\r\n }\r\n /**\r\n * The last model element of this path\r\n */\r\n last() {\r\n return this.modelArr[this.modelArr.length - 1];\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new Path(this.modelArr.slice(start, end), this.contextArr);\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new Path(this.modelArr.slice(1), this.contextArr);\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new Path(this.modelArr.slice(0, -1), this.contextArr);\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new Path([...this.modelArr, element], [...this.contextArr]);\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n if (typeof element === 'number')\r\n return this.copy();\r\n const newElement = element.startsWith('minecraft:') ? element.slice(10) : element;\r\n return new Path([...this.modelArr], [...this.contextArr, newElement]);\r\n }\r\n copy() {\r\n return new Path([...this.modelArr], [...this.contextArr]);\r\n }\r\n getArray() {\r\n return this.modelArr;\r\n }\r\n /**\r\n * Attaches a model to this path and all paths created from this\r\n * @param model\r\n */\r\n withModel(model) {\r\n return new ModelPath(model, this);\r\n }\r\n getContext() {\r\n return this.contextArr;\r\n }\r\n /**\r\n * Checks path equality\r\n * @param other path to compare\r\n */\r\n equals(other) {\r\n return other.modelArr.length === this.modelArr.length\r\n && other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path starts with another path\r\n * @param other path that this path should start with\r\n */\r\n startsWith(other) {\r\n if (this.modelArr.length < other.modelArr.length)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path ends with another path\r\n * @param other parent path where this path should end with\r\n */\r\n endsWith(other) {\r\n const offset = this.modelArr.length - other.modelArr.length;\r\n if (offset < 0)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[offset + i]);\r\n }\r\n toString() {\r\n return this.modelArr\r\n .map(e => (typeof e === 'string') ? `.${e}` : `[${e}]`)\r\n .join('')\r\n .replace(/^\\./, '');\r\n }\r\n forEach(fn, thisArg) {\r\n return this.modelArr.forEach(fn, thisArg);\r\n }\r\n}\r\nexports.Path = Path;\r\nclass ModelPath extends Path {\r\n constructor(model, path) {\r\n super(path === null || path === void 0 ? void 0 : path.modelArr, path === null || path === void 0 ? void 0 : path.contextArr);\r\n this.model = model;\r\n }\r\n getModel() {\r\n return this.model;\r\n }\r\n /**\r\n * Gets the data from the model if it was attached\r\n * @returns undefined, if no model was attached\r\n */\r\n get() {\r\n var _a;\r\n return (_a = this.model) === null || _a === void 0 ? void 0 : _a.get(this);\r\n }\r\n /**\r\n * Sets the value to the model if it was attached\r\n */\r\n set(value) {\r\n var _a;\r\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.set(this, value);\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new ModelPath(this.model, super.slice(start, end));\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new ModelPath(this.model, super.shift());\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new ModelPath(this.model, super.pop());\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new ModelPath(this.model, super.modelPush(element));\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n return new ModelPath(this.model, super.contextPush(element));\r\n }\r\n copy() {\r\n return new ModelPath(this.model, super.copy());\r\n }\r\n}\r\nexports.ModelPath = ModelPath;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Errors = void 0;\r\n/**\r\n * Collects errors from data paths\r\n */\r\nclass Errors {\r\n constructor() {\r\n this.errors = [];\r\n }\r\n add(path, error, ...params) {\r\n this.errors.push({ path, error, params });\r\n return false;\r\n }\r\n get(path, exact = false) {\r\n return exact ? this.errors.filter(e => e.path.equals(path))\r\n : this.errors.filter(e => e.path.startsWith(path));\r\n }\r\n getAll() {\r\n return this.errors;\r\n }\r\n clear() {\r\n this.errors = [];\r\n }\r\n count() {\r\n return this.errors.length;\r\n }\r\n *[Symbol.iterator]() {\r\n for (const e of this.errors) {\r\n yield e;\r\n }\r\n }\r\n}\r\nexports.Errors = Errors;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DataModel = void 0;\r\nconst Path_1 = require(\"./Path\");\r\nconst Errors_1 = require(\"./Errors\");\r\n/**\r\n * Holding the data linked to a given schema\r\n */\r\nclass DataModel {\r\n /**\r\n * @param schema node to use as schema for this model\r\n */\r\n constructor(schema, options) {\r\n var _a;\r\n this.schema = schema;\r\n this.data = schema.default();\r\n this.listeners = [];\r\n this.errors = new Errors_1.Errors();\r\n this.history = [JSON.stringify(this.data)];\r\n this.historyIndex = 0;\r\n this.historyMax = (_a = options === null || options === void 0 ? void 0 : options.historyMax) !== null && _a !== void 0 ? _a : 50;\r\n }\r\n /**\r\n * Adds a listener to notify when the model is invalidated\r\n * @param listener the listener to be notified\r\n */\r\n addListener(listener) {\r\n this.listeners.push(listener);\r\n }\r\n /**\r\n * Removes a listener from this model\r\n * @param listener the listener to be removed\r\n */\r\n removeListener(listener) {\r\n const index = this.listeners.indexOf(listener);\r\n if (index > -1) {\r\n this.listeners.splice(index, 1);\r\n }\r\n }\r\n /**\r\n * Updates the history and notifies all\r\n * listeners that the model is invalidated\r\n */\r\n invalidate() {\r\n const newHistory = JSON.stringify(this.data);\r\n if (this.history[this.historyIndex] !== newHistory) {\r\n this.historyIndex += 1;\r\n this.history.splice(this.historyIndex, this.historyMax, newHistory);\r\n if (this.history.length > this.historyMax) {\r\n this.history.splice(0, 1);\r\n this.historyIndex -= 1;\r\n }\r\n }\r\n this.silentInvalidate();\r\n }\r\n /**\r\n * Notifies all listeners that the model is invalidated\r\n */\r\n silentInvalidate() {\r\n this.listeners.forEach(l => {\r\n if (l.invalidated)\r\n l.invalidated(this);\r\n if (l.errors)\r\n l.errors(this.errors);\r\n });\r\n }\r\n /**\r\n * Resets the full data and notifies listeners\r\n * @param value new model data\r\n */\r\n reset(value, loose) {\r\n this.data = value;\r\n this.validate(loose);\r\n this.invalidate();\r\n }\r\n /**\r\n * Gets the data at a specified path\r\n * @param path path at which to find the data\r\n * @returns undefined, if the the path does not exist in the data\r\n */\r\n get(path) {\r\n let node = this.data;\r\n path.forEach(e => {\r\n if (node === undefined)\r\n return node;\r\n node = node[e];\r\n });\r\n return node;\r\n }\r\n /**\r\n * Updates the data on a path. Node will be removed when value is undefined\r\n * @param path path to update\r\n * @param value new data at the specified path\r\n */\r\n set(path, value, silent) {\r\n if (path.getArray().length === 0) {\r\n this.reset(value, true);\r\n return;\r\n }\r\n let node = this.data;\r\n path.pop().forEach(e => {\r\n if (node[e] === undefined || typeof node[e] === 'string' || typeof node[e] === 'number') {\r\n node[e] = {};\r\n }\r\n node = node[e];\r\n });\r\n if (value === undefined || (typeof value === 'number' && isNaN(value))) {\r\n if (typeof path.last() === 'number') {\r\n node.splice(path.last(), 1);\r\n }\r\n else {\r\n delete node[path.last()];\r\n }\r\n }\r\n else {\r\n node[path.last()] = value;\r\n }\r\n if (silent)\r\n return;\r\n console.log('Set', path.toString(), JSON.stringify(value));\r\n this.validate(true);\r\n this.invalidate();\r\n }\r\n /**\r\n * Go one step back in history\r\n */\r\n undo() {\r\n if (this.historyIndex > 0) {\r\n this.historyIndex -= 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Go one step forward in history.\r\n */\r\n redo() {\r\n if (this.historyIndex < this.history.length - 1) {\r\n this.historyIndex += 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Uses the schema to check whether the data is valid\r\n */\r\n validate(loose) {\r\n var _a;\r\n const path = new Path_1.Path().withModel(this);\r\n this.errors.clear();\r\n this.data = (_a = this.schema.validate(path, this.data, this.errors, { loose })) !== null && _a !== void 0 ? _a : {};\r\n }\r\n error(path, error, ...params) {\r\n const tempErrors = new Errors_1.Errors();\r\n tempErrors.add(path, error, params);\r\n this.listeners.forEach(l => {\r\n if (l.errors)\r\n l.errors(tempErrors);\r\n });\r\n }\r\n}\r\nexports.DataModel = DataModel;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Keep = exports.Opt = exports.Has = exports.Mod = exports.Base = void 0;\r\nexports.Base = ({\r\n type: () => 'base',\r\n category: () => undefined,\r\n default: () => undefined,\r\n enabled: () => true,\r\n keep: () => false,\r\n optional: () => false,\r\n navigate() { return this; },\r\n pathPush: (p) => p,\r\n suggest: () => [],\r\n validate: (_, v) => v,\r\n validationOption: () => undefined,\r\n hook(hook, path, ...args) { return hook.base({ node: this }, path, ...args); },\r\n canUpdate: () => false,\r\n update: () => []\r\n});\r\nexports.Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Has = (key, node) => exports.Mod(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\r\nfunction Opt(node) {\r\n return {\r\n ...node,\r\n optional: () => true\r\n };\r\n}\r\nexports.Opt = Opt;\r\nfunction Keep(node) {\r\n return {\r\n ...node,\r\n keep: () => true\r\n };\r\n}\r\nexports.Keep = Keep;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BooleanNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Boolean node with two buttons for true/false\r\n */\r\nexports.BooleanNode = () => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'boolean',\r\n default: () => false,\r\n suggest: () => ['false', 'true'],\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'boolean') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'boolean' || value === undefined) {\r\n errors.add(path, 'error.expected_boolean');\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.boolean) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ListNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.ListNode = (children, config) => {\r\n var _a, _b;\r\n const min = (_a = config === null || config === void 0 ? void 0 : config.minLength) !== null && _a !== void 0 ? _a : 0;\r\n const max = (_b = config === null || config === void 0 ? void 0 : config.maxLength) !== null && _b !== void 0 ? _b : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.minLength) && (config === null || config === void 0 ? void 0 : config.maxLength);\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'list',\r\n default: () => (config === null || config === void 0 ? void 0 : config.minLength) ? [...Array(min)].map(_ => children.default()) : [],\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, index) {\r\n return path.push(parseInt(index.toString())).contextPush('entry');\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && !Array.isArray(value)) {\r\n value = this.default();\r\n }\r\n if (!Array.isArray(value)) {\r\n errors.add(path, 'error.expected_list');\r\n return value;\r\n }\r\n else if (between && (value.length < min || value.length > max)) {\r\n if (min === max) {\r\n errors.add(path, 'error.invalid_list_range.exact', value.length, min);\r\n }\r\n else {\r\n errors.add(path, 'error.invalid_list_range.between', value.length, min, max);\r\n }\r\n }\r\n else if (value.length < min) {\r\n errors.add(path, 'error.invalid_list_range.smaller', value.length, min);\r\n }\r\n else if (value.length > max) {\r\n errors.add(path, 'error.invalid_list_range.larger', value.length, max);\r\n }\r\n return value.map((obj, index) => children.validate(path.push(index), obj, errors, options));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SwitchNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.SwitchNode = (cases) => {\r\n return {\r\n ...Node_1.Base,\r\n type(path) {\r\n return this.activeCase(path, true)\r\n .node.type(path);\r\n },\r\n category(path) {\r\n return this.activeCase(path, true)\r\n .node.category(path);\r\n },\r\n default: () => cases[0].node.default(),\r\n navigate(path, index) {\r\n var _a;\r\n const nextIndex = index + 1;\r\n return (_a = this.activeCase(path.slice(0, nextIndex))) === null || _a === void 0 ? void 0 : _a.node.navigate(path, index);\r\n },\r\n pathPush(path, key) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.pathPush(path, key)) !== null && _b !== void 0 ? _b : path;\r\n },\r\n suggest(path, value) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.suggest(path, value)) !== null && _b !== void 0 ? _b : cases\r\n .filter(c => c.match(path))\r\n .map(c => c.node.suggest(path, value))\r\n .reduce((p, c) => p.concat(c));\r\n },\r\n validate(path, value, errors, options) {\r\n let c = this.activeCase(path);\r\n if (c === undefined) {\r\n return value;\r\n }\r\n return c.node.validate(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.validationOption(path);\r\n },\r\n activeCase(path, fallback) {\r\n const sorter = (a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); };\r\n const matchedCases = cases.filter(c => c.match(path)).sort(sorter);\r\n if (fallback && matchedCases.length === 0) {\r\n return cases.sort(sorter)[0];\r\n }\r\n return (matchedCases.length > 0 ? matchedCases[0] : undefined);\r\n },\r\n hook(hook, path, ...args) {\r\n return this.activeCase(path, true)\r\n .node.hook(hook, path, ...args);\r\n },\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectOrPreset = exports.StringOrList = exports.ObjectOrList = exports.ChoiceNode = void 0;\r\nconst ListNode_1 = require(\"./ListNode\");\r\nconst SwitchNode_1 = require(\"./SwitchNode\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.ChoiceNode = (choices, config) => {\r\n const isValid = (choice, value) => {\r\n if (choice.match) {\r\n return choice.match(value);\r\n }\r\n switch (choice.type) {\r\n case 'list': return Array.isArray(value);\r\n case 'object': return typeof value === 'object' && !Array.isArray(value);\r\n default: return typeof value === choice.type;\r\n }\r\n };\r\n const switchNode = SwitchNode_1.SwitchNode(choices.map(c => ({\r\n type: c.type,\r\n priority: c.priority,\r\n match: (path) => isValid(c, path.get()),\r\n node: c.node\r\n })));\r\n return {\r\n ...switchNode,\r\n validate(path, value, errors, options) {\r\n let choice = switchNode.activeCase(path, true);\r\n if (choice.node.optional()) {\r\n return value;\r\n }\r\n return choice.node.validate(path, value, errors, options);\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, choices, config: config !== null && config !== void 0 ? config : {}, switchNode }, path, ...args);\r\n }\r\n };\r\n};\r\nconst XOrList = (x) => ((node, config) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: x,\r\n node,\r\n change: v => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : node.default(); }\r\n },\r\n {\r\n type: 'list',\r\n node: ListNode_1.ListNode(node),\r\n change: v => v ? [v] : []\r\n }\r\n ], config);\r\n});\r\nexports.ObjectOrList = XOrList('object');\r\nexports.StringOrList = XOrList('string');\r\nexports.ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: presetNode,\r\n change: v => Object.keys(presets)[0]\r\n },\r\n {\r\n type: 'object',\r\n node: objectNode,\r\n change: v => { var _a; return (_a = presets[v]) !== null && _a !== void 0 ? _a : presets[Object.keys(presets)[0]]; }\r\n }\r\n ]);\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MapNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Map nodes similar to list nodes, but a string key is required to add children\r\n */\r\nexports.MapNode = (keys, children, config) => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'map',\r\n default: () => ({}),\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return path.modelPush(key);\r\n },\r\n suggest: (path) => keys.suggest(path, ''),\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (value === null || typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let res = {};\r\n Object.keys(value).forEach(k => {\r\n keys.validate(path, k, errors, options);\r\n res[k] = children.validate(path.push(k), value[k], errors, options);\r\n });\r\n return res;\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = config === null || config === void 0 ? void 0 : config.validation) !== null && _a !== void 0 ? _a : keys.validationOption(path.push(''));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, keys, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NumberNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.NumberNode = (config) => {\r\n var _a, _b, _c;\r\n const integer = (config === null || config === void 0 ? void 0 : config.color) ? true : (_a = config === null || config === void 0 ? void 0 : config.integer) !== null && _a !== void 0 ? _a : false;\r\n const min = (config === null || config === void 0 ? void 0 : config.color) ? 0 : (_b = config === null || config === void 0 ? void 0 : config.min) !== null && _b !== void 0 ? _b : -Infinity;\r\n const max = (config === null || config === void 0 ? void 0 : config.color) ? 16777215 : (_c = config === null || config === void 0 ? void 0 : config.max) !== null && _c !== void 0 ? _c : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.min) !== undefined && (config === null || config === void 0 ? void 0 : config.max) !== undefined;\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'number',\r\n default: () => min > 0 ? min : 0,\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'number') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'number') {\r\n errors.add(path, 'error.expected_number');\r\n }\r\n else if (integer && !Number.isInteger(value)) {\r\n errors.add(path, 'error.expected_integer');\r\n }\r\n else if (between && (value < min || value > max)) {\r\n errors.add(path, 'error.invalid_number_range.between', value, min, max);\r\n }\r\n else if (value < min) {\r\n errors.add(path, 'error.invalid_number_range.smaller', value, min);\r\n }\r\n else if (value > max) {\r\n errors.add(path, 'error.invalid_number_range.larger', value, max);\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.number) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, integer, min, max, between, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.quoteString = exports.escapeString = void 0;\r\nfunction escapeString(str) {\r\n return str.replace(/(\\\\|\")/g, '\\\\$1');\r\n}\r\nexports.escapeString = escapeString;\r\nfunction quoteString(str) {\r\n return `\"${escapeString(str)}\"`;\r\n}\r\nexports.quoteString = quoteString;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectNode = exports.Case = exports.Switch = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst Path_1 = require(\"../model/Path\");\r\nconst Errors_1 = require(\"../model/Errors\");\r\nconst utils_1 = require(\"../utils\");\r\nexports.Switch = Symbol('switch');\r\nexports.Case = Symbol('case');\r\nexports.ObjectNode = (fields, config) => {\r\n const { [exports.Switch]: filter, [exports.Case]: cases, ...defaultFields } = fields;\r\n const getActiveFields = (path) => {\r\n if (filter === undefined)\r\n return defaultFields;\r\n const switchValue = Path_1.relativePath(path, filter).get();\r\n const activeCase = cases[switchValue];\r\n return { ...defaultFields, ...activeCase };\r\n };\r\n const getChildModelPath = (path, childKey) => {\r\n var _a;\r\n const switchValue = filter ? Path_1.relativePath(path, filter).get() : undefined;\r\n const caseFields = filter ? ((_a = cases[switchValue]) !== null && _a !== void 0 ? _a : {}) : {};\r\n const caseKeys = Object.keys(caseFields);\r\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ?\r\n new Path_1.ModelPath(path.getModel(), new Path_1.Path(path.getArray(), [config.context])) : path;\r\n const pathWithFilter = !(config === null || config === void 0 ? void 0 : config.disableSwitchContext) && switchValue && caseKeys.includes(childKey) ?\r\n pathWithContext.contextPush(switchValue) : pathWithContext;\r\n return pathWithFilter.push(childKey);\r\n };\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'object',\r\n category: () => config === null || config === void 0 ? void 0 : config.category,\r\n default: () => ({}),\r\n keep() {\r\n return this.optional();\r\n },\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n const activeFields = getActiveFields(path.slice(0, nextIndex));\r\n const node = activeFields[pathElements[nextIndex]];\r\n return node === null || node === void 0 ? void 0 : node.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return getChildModelPath(path, key.toString());\r\n },\r\n suggest(path, value) {\r\n const activeFields = getActiveFields(path);\r\n const existingKeys = Object.keys(typeof value === 'object' ? value : {});\r\n return Object.keys(activeFields)\r\n .filter(k => activeFields[k].enabled(path))\r\n .filter(k => !existingKeys.includes(k))\r\n .map(utils_1.quoteString);\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let activeFields = defaultFields;\r\n if (filter) {\r\n const filterPath = Path_1.relativePath(path, filter);\r\n let switchValue = filterPath.get();\r\n if (path.equals(filterPath.pop())) {\r\n const filterField = filterPath.last();\r\n switchValue = defaultFields[filterField].validate(path.push(filterField), value[filterField], new Errors_1.Errors(), options);\r\n }\r\n activeFields = { ...activeFields, ...cases[switchValue] };\r\n }\r\n const activeKeys = Object.keys(activeFields);\r\n const forcedKeys = activeKeys.filter(k => !activeFields[k].optional());\r\n const keys = new Set([...forcedKeys, ...Object.keys(value)]);\r\n let res = {};\r\n keys.forEach(k => {\r\n if (activeKeys.includes(k)) {\r\n if (!activeFields[k].enabled(path))\r\n return;\r\n const newValue = activeFields[k].validate(path.push(k), value[k], errors, options);\r\n if (!activeFields[k].keep() && activeFields[k].optional()\r\n && (newValue === undefined\r\n || (Array.isArray(newValue) && newValue.length === 0)\r\n || (newValue.constructor === Object && Object.keys(newValue).length === 0))) {\r\n res[k] = undefined;\r\n }\r\n else {\r\n res[k] = newValue;\r\n path.getModel().set(path.push(k), newValue, true);\r\n }\r\n }\r\n else {\r\n res[k] = value[k];\r\n }\r\n });\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, fields: defaultFields, filter, cases, getActiveFields, getChildModelPath }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nexports.Reference = (schemas, schema) => ({\r\n type(path) {\r\n return schemas.get(schema).type.bind(this)(path);\r\n },\r\n category(path) {\r\n return schemas.get(schema).category.bind(this)(path);\r\n },\r\n default() {\r\n return schemas.get(schema).default.bind(this)();\r\n },\r\n transform(path, value) {\r\n return schemas.get(schema).transform(path, value);\r\n },\r\n enabled(path) {\r\n return schemas.get(schema).enabled.bind(this)(path);\r\n },\r\n keep() {\r\n return schemas.get(schema).keep.bind(this)();\r\n },\r\n optional() {\r\n return schemas.get(schema).optional.bind(this)();\r\n },\r\n navigate(path, index) {\r\n return schemas.get(schema).navigate.bind(this)(path, index);\r\n },\r\n pathPush(path, key) {\r\n return schemas.get(schema).pathPush.bind(this)(path, key);\r\n },\r\n suggest(path, value) {\r\n return schemas.get(schema).suggest.bind(this)(path, value);\r\n },\r\n validate(path, value, errors, options) {\r\n return schemas.get(schema).validate.bind(this)(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n return schemas.get(schema).validationOption.bind(this)(path);\r\n },\r\n hook(hook, path, ...args) {\r\n return schemas.get(schema).hook.bind(this)(hook, path, ...args);\r\n },\r\n activeCase(path, fallback) {\r\n return schemas.get(schema).activeCase.bind(this)(path, fallback);\r\n },\r\n canUpdate(path, value) {\r\n return schemas.get(schema).canUpdate.bind(this)(path, value);\r\n },\r\n update(path, value) {\r\n return schemas.get(schema).update.bind(this)(path, value);\r\n }\r\n});\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst utils_1 = require(\"../utils\");\r\nconst isEnum = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.enum);\r\n};\r\nconst isValidator = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nexports.StringNode = (collections, config) => {\r\n const getValues = isEnum(config)\r\n ? ((typeof config.enum === 'string')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : []; }\r\n : () => config.enum)\r\n : (((config === null || config === void 0 ? void 0 : config.validator) === 'resource')\r\n ? ((typeof config.params.pool === 'string')\r\n ? (config.params.pool.startsWith('$')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool.slice(1))) !== null && _a !== void 0 ? _a : []; }\r\n : () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool)) !== null && _a !== void 0 ? _a : []; })\r\n : () => config.params.pool)\r\n : () => []);\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'string',\r\n default: () => '',\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'string') {\r\n value = this.default() || undefined;\r\n }\r\n if (typeof value !== 'string') {\r\n errors.add(path, 'error.expected_string');\r\n return value;\r\n }\r\n if (isValidator(config)) {\r\n if (config.validator === 'resource' && value.length > 0 && !value.includes(':')) {\r\n value = value[0] === '#'\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n (config.params.allowTag && value[0] === '#') ||\r\n config.params.isDefinition ||\r\n config.params.allowUnknown)) {\r\n return value;\r\n }\r\n }\r\n if ((isEnum(config) && config.additional)) {\r\n return value;\r\n }\r\n const values = getValues();\r\n if (values.length > 0 && !values.includes(value)) {\r\n errors.add(path, 'error.invalid_enum_option', value);\r\n }\r\n return value;\r\n },\r\n suggest: () => getValues().map(utils_1.quoteString),\r\n validationOption() {\r\n return isValidator(config) ? config : undefined;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.string) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, getValues, config }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CollectionRegistry = exports.SchemaRegistry = void 0;\r\n/**\r\n * Registry for schemas\r\n */\r\nclass SchemaRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, node) {\r\n this.registry[id] = node;\r\n }\r\n get(id) {\r\n const node = this.registry[id];\r\n if (node === undefined) {\r\n console.error(`Tried to access schema \"${id}\", but that doesn't exist.`);\r\n }\r\n return node;\r\n }\r\n}\r\nexports.SchemaRegistry = SchemaRegistry;\r\n/**\r\n * Registry for collections\r\n */\r\nclass CollectionRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, list) {\r\n this.registry[id] = list;\r\n }\r\n get(id) {\r\n const list = this.registry[id];\r\n if (list === undefined) {\r\n console.warn(`Tried to access collection \"${id}\", but that doesn't exist.`);\r\n }\r\n return list !== null && list !== void 0 ? list : [];\r\n }\r\n}\r\nexports.CollectionRegistry = CollectionRegistry;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./model/DataModel\"), exports);\r\n__exportStar(require(\"./model/Path\"), exports);\r\n__exportStar(require(\"./model/Errors\"), exports);\r\n__exportStar(require(\"./nodes/Node\"), exports);\r\n__exportStar(require(\"./nodes/BooleanNode\"), exports);\r\n__exportStar(require(\"./nodes/ChoiceNode\"), exports);\r\n__exportStar(require(\"./nodes/ListNode\"), exports);\r\n__exportStar(require(\"./nodes/MapNode\"), exports);\r\n__exportStar(require(\"./nodes/NumberNode\"), exports);\r\n__exportStar(require(\"./nodes/ObjectNode\"), exports);\r\n__exportStar(require(\"./nodes/Reference\"), exports);\r\n__exportStar(require(\"./nodes/StringNode\"), exports);\r\n__exportStar(require(\"./nodes/SwitchNode\"), exports);\r\n__exportStar(require(\"./Hook\"), exports);\r\n__exportStar(require(\"./Registries\"), exports);\r\n__exportStar(require(\"./ValidationOption\"), exports);\r\n","// A port of an algorithm by Johannes Baagøe , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","export default {}","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:safely_harvest_honey',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:tick',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('loot_pool_entry_type', [\r\n 'minecraft:empty',\r\n 'minecraft:item',\r\n 'minecraft:tag',\r\n 'minecraft:loot_table',\r\n 'minecraft:alternatives',\r\n 'minecraft:sequence',\r\n 'minecraft:group',\r\n 'minecraft:dynamic'\r\n ]);\r\n collections.register('loot_condition_type', [\r\n 'minecraft:alternative',\r\n 'minecraft:inverted',\r\n 'minecraft:reference',\r\n 'minecraft:entity_properties',\r\n 'minecraft:block_state_property',\r\n 'minecraft:match_tool',\r\n 'minecraft:damage_source_properties',\r\n 'minecraft:location_check',\r\n 'minecraft:weather_check',\r\n 'minecraft:time_check',\r\n 'minecraft:entity_scores',\r\n 'minecraft:random_chance',\r\n 'minecraft:random_chance_with_looting',\r\n 'minecraft:table_bonus',\r\n 'minecraft:killed_by_player',\r\n 'minecraft:survives_explosion'\r\n ]);\r\n collections.register('loot_function_type', [\r\n 'minecraft:set_count',\r\n 'minecraft:set_damage',\r\n 'minecraft:set_name',\r\n 'minecraft:set_lore',\r\n 'minecraft:set_nbt',\r\n 'minecraft:set_attributes',\r\n 'minecraft:set_contents',\r\n 'minecraft:enchant_randomly',\r\n 'minecraft:enchant_with_levels',\r\n 'minecraft:looting_enchant',\r\n 'minecraft:limit_count',\r\n 'minecraft:furnace_smelt',\r\n 'minecraft:explosion_decay',\r\n 'minecraft:fill_player_head',\r\n 'minecraft:copy_name',\r\n 'minecraft:copy_nbt',\r\n 'minecraft:copy_state',\r\n 'minecraft:apply_bonus',\r\n 'minecraft:exploration_map',\r\n 'minecraft:set_stew_effect'\r\n ]);\r\n collections.register('attribute', [\r\n 'generic.maxHealth',\r\n 'generic.followRange',\r\n 'generic.knockbackResistance',\r\n 'generic.movementSpeed',\r\n 'generic.attackDamage',\r\n 'generic.armor',\r\n 'generic.armorToughness',\r\n 'generic.attackSpeed',\r\n 'generic.luck',\r\n 'horse.jumpStrength',\r\n 'generic.attackKnockback',\r\n 'generic.flyingSpeed',\r\n 'zombie.spawnReinforcements'\r\n ]);\r\n collections.register('structure_feature', [\r\n 'pillager_outpost',\r\n 'mineshaft',\r\n 'mansion',\r\n 'jungle_pyramid',\r\n 'desert_pyramid',\r\n 'igloo',\r\n 'shipwreck',\r\n 'swamp_hut',\r\n 'stronghold',\r\n 'monument',\r\n 'ocean_ruin',\r\n 'fortress',\r\n 'endcity',\r\n 'buried_treasure',\r\n 'village'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Range = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true, bounds: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:requirements': {\r\n terms: core_1.ListNode(Reference('condition')),\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = exports.LocationFields = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ enum: 'biome' })),\r\n feature: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n dimension: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', core_1.ObjectNode(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: core_1.Opt(Reference('entity_predicate')),\r\n partner: core_1.Opt(Reference('entity_predicate')),\r\n child: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n to: core_1.Opt(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n zombie: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Common_1.Range(),\r\n duration: Common_1.Range()\r\n })))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': Predicates_1.LocationFields,\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:safely_harvest_honey': {\r\n block: core_1.Opt(core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': Predicates_1.LocationFields,\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': Predicates_1.LocationFields\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n }),\r\n ...conditions\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' })),\r\n ...conditions\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } })),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }))),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true }),\r\n ...conditions\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n ...conditions\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier')),\r\n ...conditions\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...conditions\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component')),\r\n ...conditions\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } }),\r\n ...conditions\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n }))),\r\n ...conditions\r\n }\r\n }\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 5,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 5,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` and `Predicates.ts` are files that have exports. They should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.UniformInt = exports.Range = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.UniformInt = (config) => core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n change: v => v.base\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n base: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: config === null || config === void 0 ? void 0 : config.maxSpread })\r\n }),\r\n change: v => ({\r\n base: v,\r\n spread: 0\r\n })\r\n }\r\n ], { context: 'uniform_int' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: core_1.Opt(Common_1.Range({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }, { context: 'dimension_type' }), {\r\n default: () => Common_1.DefaultDimensionType\r\n }));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 6,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 6,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'water_ambient',\r\n 'ambient',\r\n 'misc',\r\n 'water_creature',\r\n 'creature',\r\n 'monster'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RangeConfig = {\r\n maximum: core_1.NumberNode({ integer: true }),\r\n bottom_offset: core_1.NumberNode({ integer: true }),\r\n top_offset: core_1.NumberNode({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:chance': ChanceConfig,\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:depth_average': {\r\n baseline: core_1.NumberNode({ integer: true }),\r\n spread: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:fire': CountConfig,\r\n 'minecraft:glowstone': CountConfig,\r\n 'minecraft:lava_lake': ChanceConfig,\r\n 'minecraft:range': RangeConfig,\r\n 'minecraft:range_biased': RangeConfig,\r\n 'minecraft:range_very_biased': RangeConfig,\r\n 'minecraft:water_lake': ChanceConfig\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n max_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n min_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.BooleanNode(),\r\n project: core_1.BooleanNode(),\r\n need_water: core_1.BooleanNode(),\r\n xspread: core_1.NumberNode({ integer: true }),\r\n yspread: core_1.NumberNode({ integer: true }),\r\n zspread: core_1.NumberNode({ integer: true }),\r\n tries: core_1.NumberNode({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.UniformInt({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.UniformInt({ min: 0, max: 2, maxSpread: 1 }),\r\n height: Common_1.UniformInt({ min: 1, max: 5, maxSpread: 5 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:emerald_ore': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state')\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.UniformInt()\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:no_surface_ore': OreConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:sea_pickle': CountConfig,\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: core_1.NumberNode({ integer: true }),\r\n ignore_vines: core_1.BooleanNode(),\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n minimum_size: Reference('feature_size'),\r\n trunk_provider: Reference('block_state_provider'),\r\n leaves_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n }\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n min_size: core_1.NumberNode({ integer: true }),\r\n extra_size: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n height: core_1.NumberNode({ integer: true }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), {\r\n default: () => Common_1.DefaultNoiseSettings\r\n }));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: core_1.Opt(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: Reference('distance_predicate'),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: Reference('float_bounds')\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => core_1.Opt(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer })),\r\n max: core_1.Opt(core_1.NumberNode({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(Reference('number_provider')),\r\n max: core_1.Opt(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = core_1.Mod(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = core_1.ObjectNode({\r\n type: core_1.Mod(core_1.Opt(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return core_1.ChoiceNode(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: core_1.Opt(core_1.NumberNode())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_exclusive: core_1.NumberNode(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n plateau: core_1.NumberNode()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', exports.FloatProvider());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', exports.IntProvider());\r\n schemas.register('vertical_anchor', core_1.ChoiceNode(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: core_1.ObjectNode({\r\n [t]: core_1.NumberNode({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: core_1.ListNode(core_1.ObjectNode({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', core_1.ObjectOrList(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('condition')))\r\n };\r\n schemas.register('function', core_1.Mod(core_1.ObjectNode({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: core_1.Opt(Reference('number_provider')),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 7;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n items: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n blocks: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate'))),\r\n looking_at: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n stepping_on: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n passenger: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n lightning_bolt: core_1.Opt(core_1.ObjectNode({\r\n blocks_set_on_fire: core_1.Opt(Reference('int_bounds')),\r\n entity_struck: core_1.Opt(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: Common_1.FloatProvider(),\r\n shape: core_1.ObjectNode({\r\n distance_factor: Common_1.FloatProvider(),\r\n thickness: Common_1.FloatProvider(),\r\n width_smoothness: core_1.NumberNode({ integer: true, min: 0 }),\r\n horizontal_radius_factor: Common_1.FloatProvider(),\r\n vertical_radius_default_factor: core_1.NumberNode(),\r\n vertical_radius_center_factor: core_1.NumberNode()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: Common_1.FloatProvider(),\r\n vertical_radius_multiplier: Common_1.FloatProvider(),\r\n floor_level: Common_1.FloatProvider({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: Common_1.FloatProvider(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n debug_settings: core_1.Opt(core_1.ObjectNode({\r\n debug_mode: core_1.Opt(core_1.BooleanNode()),\r\n air_state: core_1.Opt(Reference('block_state')),\r\n water_state: core_1.Opt(Reference('block_state')),\r\n lava_state: core_1.Opt(Reference('block_state')),\r\n barrier_state: core_1.Opt(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CountConfig = {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:cave_surface': {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:heightmap_spread_double': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:lava_lake': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:water_depth_threshold': {\r\n max_water_depth: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n max_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n min_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n max_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.Opt(core_1.BooleanNode()),\r\n project: core_1.Opt(core_1.BooleanNode()),\r\n need_water: core_1.Opt(core_1.BooleanNode()),\r\n xspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n yspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n zspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n tries: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 })),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 8 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const TargetBlockState = core_1.ObjectNode({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: core_1.NumberNode({ min: 0, max: 1 }),\r\n targets: core_1.ListNode(TargetBlockState)\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n depth: Common_1.IntProvider({ min: 1, max: 128 }),\r\n vertical_range: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n extra_edge_column_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n vegetation_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n xz_radius: Common_1.IntProvider(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: Feature\r\n };\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.IntProvider({ min: 0, max: 3 }),\r\n height: Common_1.IntProvider({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:decorated_flower': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.IntProvider({ min: 0, max: 16 }),\r\n rim_size: Common_1.IntProvider({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true, min: 1, max: 512 }),\r\n height: Common_1.IntProvider({ min: 0, max: 128 }),\r\n radius: Common_1.IntProvider({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n height_deviation: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: Common_1.IntProvider({ min: 0, max: 128 }),\r\n density: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n wetness: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: core_1.NumberNode({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: core_1.NumberNode({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: core_1.ObjectNode({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: core_1.ListNode(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: core_1.ObjectNode({\r\n filling: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n inner_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n middle_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n outer_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n }),\r\n crack: core_1.ObjectNode({\r\n generate_crack_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n base_crack_size: core_1.Opt(core_1.NumberNode({ min: 0, max: 5 })),\r\n crack_point_offset: core_1.Opt(core_1.NumberNode({ min: 0, max: 10, integer: true })),\r\n }),\r\n noise_multiplier: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_potential_placements_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: core_1.Opt(core_1.BooleanNode()),\r\n outer_wall_distance: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n distribution_points: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n point_offset: core_1.Opt(Common_1.IntProvider({ min: 0, max: 10 })),\r\n min_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n invalid_blocks_threshold: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: core_1.Opt(core_1.NumberNode({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n can_place_on_floor: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_ceiling: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_wall: core_1.Opt(core_1.BooleanNode()),\r\n can_be_placed_on: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:growing_plant': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allow_water: core_1.BooleanNode(),\r\n height_distribution: core_1.ListNode(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true }),\r\n data: Common_1.IntProvider()\r\n })),\r\n body_provider: Reference('block_state_provider'),\r\n head_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: core_1.Opt(core_1.NumberNode({ integer: true, min: 1, max: 512 })),\r\n column_radius: Common_1.IntProvider({ min: 0, max: 60 }),\r\n height_scale: Common_1.FloatProvider({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: core_1.NumberNode({ min: 0, max: 1 }),\r\n stalactite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n wind_speed: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n min_radius_for_wind: core_1.NumberNode({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: core_1.NumberNode({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: core_1.ListNode(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: core_1.NumberNode({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: core_1.NumberNode({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n feature: Feature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: core_1.Opt(core_1.BooleanNode()),\r\n force_dirt: core_1.Opt(core_1.BooleanNode()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n sapling_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: Common_1.IntProvider({ min: 1, max: 64 }),\r\n min_height_for_leaves: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.IntProvider({ min: 0, max: 16 }),\r\n offset: Common_1.IntProvider({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: Common_1.IntProvider({ min: 1, max: 512 }),\r\n leaf_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: core_1.NumberNode({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: Common_1.IntProvider(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n size: Common_1.IntProvider({ min: 0 })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n min_surface_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n noise_caves_enabled: core_1.BooleanNode(),\r\n noodle_caves_enabled: core_1.BooleanNode(),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n deepslate_enabled: core_1.BooleanNode(),\r\n ore_veins_enabled: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n ItemModifier_1.initItemModifierSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["n","u","i","t","r","f","e","n2","l2","u2","parentNode","removeChild","i2","t2","o2","r2","arguments","f2","length","push","children","defaultProps","v","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","this","context","d","indexOf","base","_","b","__r","debounceRendering","sort","n3","some","__P","c","I","__n","ownerSVGElement","T","e2","c2","s2","a2","h","p2","_2","k2","b2","m2","w2","A2","P2","Array","isArray","y","g","x","value","L","appendChild","nextSibling","insertBefore","setProperty","test","style","cssText","P","replace","toLowerCase","slice","l","addEventListener","H","$","removeEventListener","setAttribute","removeAttribute","event","v2","d2","g2","x2","contextType","__E","prototype","render","p","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","m","y2","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","call","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","C","A","firstChild","s","checked","j","diffed","l3","u3","current","unmount","z","componentWillUnmount","a","getDerivedStateFromError","setState","componentDidCatch","k","forceUpdate","Promise","then","bind","resolve","setTimeout","EMPTY$1","obj","url","route2","opts","ret","reg","match","matches","split","decodeURIComponent","join","segmentize","max","Math","i$12","charAt","param","flags","plus","star","val","map","default","rank","index","path","rankSegment","rankChild","segment","customHistory","ROUTERS","subscribers","EMPTY","location","getCurrentLocation","pathname","search","canRoute","history","routeTo","didRoute","node","getAttribute","href","target","route","ctrlKey","metaKey","altKey","shiftKey","button","currentTarget","prevent","stopImmediatePropagation","stopPropagation","preventDefault","String","nodeName","toUpperCase","hasAttribute","routeFromLink","eventListenersInitialized","Router","Component$$1","getCurrentUrl","delegateLinkHandler","__proto__","Object","create","Router2","static","onChange","toChildArray","getMatchingChildren","updating","this$1","unlisten","listen","location2","splice","invoke","filter","prepareVNodeForRanking","pathRankSort","exec","newProps","cloneElement","Boolean","ref$1","active","previous","previousUrl","router","Component","Link","assign","onClick","handleLinkClick","Route","component","o","__H","w","requestAnimationFrame","t3","cancelAnimationFrame","defineProperty","Path_1","start","relativePath2","reduce","pop","[object Object]","modelArr","contextArr","end","Path","element","modelPush","contextPush","copy","newElement","startsWith","model","ModelPath","other","every","offset","fn","thisArg","_a","get","set","super","shift","Errors_1","errors","error","params","exact","equals","Symbol","iterator","Errors","DataModel_1","require$$0","require$$1","schema","options","listeners","JSON","stringify","historyIndex","historyMax","listener","newHistory","silentInvalidate","invalidated","loose","validate","invalidate","silent","getArray","reset","isNaN","last","log","toString","parse","withModel","clear","tempErrors","add","exports","category","enabled","keep","optional","pathPush","suggest","validationOption","hook","args","canUpdate","update","mods","__spreadValues","Mod","__spreadProps","BooleanNode","Node_1","Base","boolean","ListNode","config","_b","min","minLength","maxLength","Infinity","between","nextIndex","navigate","parseInt","_a2","list","SwitchNode","cases","activeCase","concat","fallback","sorter","priority","matchedCases","ListNode_1","SwitchNode_1","choices","switchNode","choice","isValid","XOrList","ChoiceNode","change","presetNode","objectNode","presets","keys","MapNode","res","validation","NumberNode","_c","integer","color","Number","isInteger","number","str","utils","escapeString","Node_12","Path_12","Errors_12","require$$2","utils_12","require$$3","fields","Switch","Case","defaultFields","__restKey","getActiveFields","switchValue","relativePath","getChildModelPath","childKey","caseFields","caseKeys","pathWithContext","getModel","disableSwitchContext","includes","pathElements","activeFields","existingKeys","quoteString","filterPath","filterField","activeKeys","forcedKeys","Set","newValue","object","Reference","schemas2","transform","StringNode","utils_1","isEnum","enum","isValidator","validator","collections","getValues","pool","allowTag","isDefinition","allowUnknown","additional","values","string","Hook","Registries","registry","id","warn","ValidationOption","__createBinding2","__createBinding","k22","enumerable","__exportStar","exports2","hasOwnProperty","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","global2","module2","define","seed","me","mash","charCodeAt","next","s0","s1","xg","Alea","prng","int32","double","quick","impl","alea","strseed","XorGen","result","xor128","xorwow","X","me2","seed2","j2","Date","xorshift7","limit","xor4096","floor","tychei","math","nodecrypto","width","startdenom","pow","significance","overflow","mask","callback","shortseed","mixkey","flatten","entropy","tostring","out","randomBytes","Uint8Array","crypto","msCrypto","getRandomValues","browser","navigator","plugins","screen","autoseed","arc4","ARC4","S","pass","prng2","is_math_call","global","keylen","count","i3","j3","s3","depth","prop","typ","smear","stringseed","fromCharCode","apply","random","module","seedrandom2","ex","self","sr","seedrandom","Collections","register","core_12","StringNode2","Reference2","ObjectNode","Name","Properties","Opt","level","forceRange","bounds","allowBinomial","choiceContext","minecraft:alternative","terms","minecraft:block_state_property","block","properties","minecraft:damage_source_properties","predicate","minecraft:entity_properties","entity","minecraft:entity_scores","scores","Range","minecraft:inverted","term","minecraft:killed_by_player","inverse","minecraft:location_check","offsetX","offsetY","offsetZ","minecraft:match_tool","minecraft:random_chance","chance","minecraft:random_chance_with_looting","looting_multiplier","minecraft:requirements","minecraft:reference","minecraft:table_bonus","enchantment","chances","minecraft:time_check","period","minecraft:weather_check","raining","thundering","Common_12","StateChoice","item","tag","durability","potion","nbt","enchantments","levels","fluid","position","biome","feature","dimension","light","LocationFields","stat","minecraft:mined","minecraft:crafted","minecraft:used","minecraft:broken","minecraft:picked_up","minecraft:dropped","minecraft:killed","minecraft:killed_by","minecraft:custom","gamemode","advancements","recipes","stats","amplifier","duration","ambient","visible","absolute","horizontal","team","distance","is_on_fire","is_sneaking","is_sprinting","is_swimming","is_baby","equipment","player","effects","is_explosion","is_fire","is_magic","is_projectile","is_lightning","bypasses_armor","bypasses_invulnerability","bypasses_magic","source_entity","direct_entity","dealt","taken","blocked","Advancement","core_1","Common_1","Predicates_1","display","icon","title","description","background","frame","show_toast","announce_to_chat","hidden","parent","criteria","requirements","rewards","function","loot","experience","requirement","trigger","conditions","minecraft:bee_nest_destroyed","num_bees_inside","minecraft:bred_animals","partner","child","minecraft:brewed_potion","minecraft:changed_dimension","from","to","minecraft:channeled_lightning","victims","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","villager","zombie","minecraft:effects_changed","minecraft:enter_block","minecraft:enchanted_item","minecraft:entity_hurt_player","damage","minecraft:entity_killed_player","killing_blow","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:inventory_changed","slots","empty","occupied","full","items","minecraft:item_durability_changed","delta","minecraft:killed_by_crossbow","unique_entity_types","minecraft:levitation","minecraft:location","minecraft:nether_travel","entered","exited","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","recipe","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:shot_crossbow","minecraft:summoned_entity","minecraft:tame_animal","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile","Condition","ObjectOrList","condition","ConditionCases","LootContext","Map","requires","allows","LootTable","LootContext_1","functionsAndConditions","functions","contextMap","collectionID","getNode","getAvailableOptions","providedContext","tableType","LootTableTypes","conditionSwtichNode","compileSwitchNode","LootConditions","functionSwtichNode","LootFunctions","entitySourceSwtichNode","LootEntitySources","copySourceSwtichNode","LootCopySources","pools","rolls","bonus_rolls","entries","weightMod","weight","quality","minecraft:alternatives","minecraft:dynamic","minecraft:group","minecraft:item","minecraft:loot_table","minecraft:sequence","minecraft:tag","expand","minecraft:apply_bonus","formula","parameters","bonusMultiplier","extra","probability","minecraft:copy_name","source","minecraft:copy_nbt","ops","getter","op","minecraft:copy_state","minecraft:enchant_randomly","minecraft:enchant_with_levels","treasure","minecraft:exploration_map","destination","decoration","zoom","search_radius","skip_existing_chunks","minecraft:fill_player_head","minecraft:limit_count","minecraft:looting_enchant","minecraft:set_attributes","modifiers","minecraft:set_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_loot_table","minecraft:set_lore","lore","minecraft:set_name","minecraft:set_nbt","minecraft:set_stew_effect","attribute","amount","operation","slot","StringOrList","PackMcmeta","pack","pack_format","Recipe","minecraft:crafting_shaped","group","pattern","minecraft:crafting_shapeless","ingredients","minecraft:smelting","ingredient","cookingtime","minecraft:blasting","minecraft:smoking","minecraft:campfire_cooking","minecraft:stonecutting","minecraft:smithing","addition","Tags","TagBase","required","TextComponent","getSimpleString","text","parseFloat","isFinite","CommonFields","bold","italic","underlined","strikethrough","obfuscated","insertion","clickEvent","action","change_page","copy_to_clipboard","open_file","open_url","run_command","leadingSlash","allowPartial","suggest_command","hoverEvent","show_text","show_item","show_entity","translate","with","score","isScoreHolder","objective","selector","keybind","storage","interpret","schemas","Advancement_1","Condition_1","LootTable_1","PackMcmeta_1","Recipe_1","Tags_1","TextComponent_1","initCommonSchemas","initPredicatesSchemas","initAdvancementSchemas","initConditionSchemas","initLootTableSchemas","initPackMcmetaSchemas","initRecipeSchemas","initTagsSchemas","initTextComponentSchemas","__setModuleDefault","__importStar","mod","__esModule","lib","Collections_1","schemas_1","CollectionRegistry","initCollections","getSchemas_1","SchemaRegistry","initSchemas","ultrawarm","natural","piglin_safe","respawn_anchor_works","bed_works","has_raids","has_skylight","has_ceiling","coordinate_scale","ambient_light","logical_height","infiniburn","bedrock_roof_position","bedrock_floor_position","sea_level","disable_mob_generation","noise","density_factor","density_offset","simplex_surface_noise","random_density_offset","size_horizontal","size_vertical","height","sampling","xz_scale","y_scale","xz_factor","y_factor","top_slide","size","bottom_slide","default_block","default_fluid","spread","maxSpread","ObjectOrPreset","minecraft:overworld","DefaultDimensionType","minecraft:the_nether","shrunk","fixed_time","minecraft:the_end","DefaultNoiseSettings","minecraft:nether","minecraft:end","island_noise_override","minecraft:amplified","amplified","minecraft:caves","minecraft:floating_islands","EntityPredicate","minecraft:item_used_on_block","minecraft:player_generates_container_loot","loot_table","minecraft:player_interacted_with_entity","minecraft:target_hit","projectile","shooter","signal_strength","minecraft:thrown_item_picked_up_by_entity","Dimension","NoPreset","DimensionTypePresets","generator","minecraft:noise","settings","NoiseSettingsPresets","biome_source","minecraft:fixed","minecraft:multi_noise","preset","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","biomes","minecraft:checkerboard","scale","minecraft:vanilla_layered","large_biomes","legacy_biome_init_layer","minecraft:flat","lakes","features","layers","structures","altitude","temperature","humidity","weirdness","firstOctave","amplitudes","DimensionType","Predicates","smokey","vehicle","targeted_entity","fishing_hook","in_open_water","font","contents","Biome","surface_builder","downfall","precipitation","temperature_modifier","player_spawn_friendly","creature_spawn_probability","sky_color","fog_color","water_color","water_fog_color","grass_color","foliage_color","grass_color_modifier","ambient_sound","mood_sound","sound","tick_delay","block_search_extent","additions_sound","tick_chance","music","min_delay","max_delay","replace_current_music","particle","starts","spawners","minCount","maxCount","spawn_costs","energy_budget","charge","carvers","Carver","Decorator","RangeConfig","maximum","bottom_offset","top_offset","ChanceConfig","CountConfig","UniformInt","minecraft:carving_mask","step","minecraft:chance","minecraft:count","minecraft:count_extra","extra_count","extra_chance","minecraft:count_multilayer","minecraft:count_noise","noise_level","below_noise","above_noise","minecraft:count_noise_biased","noise_to_count_ratio","noise_factor","noise_offset","minecraft:decorated","outer","inner","minecraft:depth_average","baseline","minecraft:fire","minecraft:glowstone","minecraft:lava_lake","minecraft:range","minecraft:range_biased","minecraft:range_very_biased","minecraft:water_lake","ProcessorList","processors","processor_type","rules","location_predicate","predicate_type","input_predicate","minecraft:block_age","mossiness","minecraft:block_ignore","blocks","minecraft:block_rot","integrity","minecraft:gravity","heightmap","minecraft:rule","position_predicate","output_state","output_nbt","posTestFields","min_dist","max_dist","min_chance","max_chance","minecraft:axis_aligned_linear_pos","axis","minecraft:linear_pos","minecraft:block_match","minecraft:blockstate_match","block_state","minecraft:random_block_match","minecraft:random_blockstate_match","minecraft:tag_match","Feature","RandomPatchConfig","can_replace","project","need_water","xspread","yspread","zspread","tries","state_provider","block_placer","whitelist","blacklist","DiskConfig","radius","half_height","targets","HugeMushroomConfig","cap_provider","stem_provider","foliage_radius","OreConfig","Feature2","minecraft:bamboo","minecraft:basalt_columns","reach","minecraft:block_pile","decorator","minecraft:delta_feature","rim","rim_size","minecraft:disk","minecraft:emerald_ore","minecraft:end_gateway","exit","minecraft:end_spike","crystal_invulnerable","crystal_beam_target","spikes","centerX","centerZ","guarded","minecraft:fill_layer","minecraft:flower","minecraft:forest_rock","minecraft:huge_brown_mushroom","minecraft:huge_fungus","hat_state","decor_state","stem_state","valid_base_block","planted","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:iceberg","minecraft:lake","minecraft:nether_forest_vegetation","minecraft:netherrack_replace_blobs","minecraft:no_bonemeal_flower","minecraft:no_surface_ore","minecraft:ore","minecraft:random_patch","minecraft:random_boolean_selector","feature_false","feature_true","minecraft:random_selector","minecraft:sea_pickle","minecraft:seagrass","minecraft:simple_block","to_place","place_on","place_in","place_under","minecraft:simple_random_selector","minecraft:spring_feature","rock_count","hole_count","requires_block_below","valid_blocks","minecraft:tree","max_water_depth","ignore_vines","minimum_size","trunk_provider","leaves_provider","trunk_placer","base_height","height_rand_a","height_rand_b","foliage_placer","minecraft:blob_foliage_placer","minecraft:bush_foliage_placer","minecraft:fancy_foliage_placer","minecraft:jungle_foliage_placer","minecraft:mega_pine_foliage_placer","crown_height","minecraft:pine_foliage_placer","minecraft:spruce_foliage_placer","trunk_height","decorators","minecraft:alter_ground","provider","minecraft:beehive","minecraft:cocoa","min_clipped_height","minecraft:two_layers_feature_size","lower_size","upper_size","minecraft:three_layers_feature_size","upper_limit","middle_size","minecraft:rotated_block_provider","minecraft:simple_state_provider","minecraft:weighted_state_provider","minecraft:column_placer","min_size","extra_size","NoiseSettings","stronghold","spacing","separation","salt","StructureFeature","templatePoolConfig","start_pool","minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:mineshaft","minecraft:ocean_ruin","biome_temp","large_probability","cluster_probability","minecraft:pillager_outpost","minecraft:ruined_portal","portal_type","minecraft:shipwreck","is_beached","minecraft:village","SurfaceBuilder","top_material","under_material","underwater_material","snowy","TemplatePool","Processors","elements","element_type","projection","minecraft:feature_pool_element","minecraft:legacy_single_pool_element","minecraft:list_pool_element","minecraft:single_pool_element","worldgen","Biome_1","Carver_1","Decorator_1","Feature_1","NoiseSettings_1","ProcessorList_1","StructureFeature_1","SurfaceBuilder_1","TemplatePool_1","initBiomeSchemas","initCarverSchemas","initDecoratorSchemas","initFeatureSchemas","initNoiseSettingsSchemas","initProcessorListSchemas","initStructureFeatureSchemas","initSurfaceBuilderSchemas","initTemplatePoolSchemas","WorldSettings","generate_features","bonus_chest","dimensions","Dimension_1","DimensionType_1","worldgen_1","WorldSettings_1","initDimensionTypeSchemas","initDimensionSchemas","initWorldgenSchemas","initWorldSettingsSchemas","minecraft:lightning_strike","lightning","bystander","minecraft:using_item","min_y","noise_caves_enabled","aquifers_enabled","deepslate_enabled","Bounds","ObjectWithType","directType","directPath","directDefault","objectDefault","defaultCase","minecraft:constant","minecraft:uniform","minecraft:binomial","minecraft:score","minecraft:context","minecraft:storage","min_inclusive","max_exclusive","minecraft:clamped_normal","mean","deviation","minecraft:trapezoid","plateau","FloatProvider","max_inclusive","minecraft:biased_to_bottom","minecraft:clamped","IntProvider","above_bottom","below_top","minecraft:very_biased_to_bottom","entitySourceNode","minecraft:value_check","range","copySourceNode","minecraft:set_banner_pattern","patterns","append","minecraft:set_enchantments","ItemModifier","FunctionCases","conditionIDSwtichNode","functionIDSwtichNode","_p","looking_at","stepping_on","passenger","lightning_bolt","blocks_set_on_fire","entity_struck","separator","CanyonConfig","vertical_rotation","shape","distance_factor","thickness","width_smoothness","horizontal_radius_factor","vertical_radius_default_factor","vertical_radius_center_factor","CaveConfig","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","yScale","lava_level","debug_settings","debug_mode","air_state","water_state","lava_state","barrier_state","minecraft:canyon","minecraft:cave","minecraft:nether_cave","minecraft:cave_surface","surface","floor_to_ceiling_search_range","minecraft:heightmap","minecraft:heightmap_spread_double","minecraft:water_depth_threshold","minecraft:protected_blocks","TargetBlockState","discard_chance_on_air_exposure","VegetationPatchConfig","vertical_range","extra_bottom_block_chance","extra_edge_column_chance","vegetation_chance","xz_radius","replaceable","ground_state","vegetation_feature","minecraft:decorated_flower","minecraft:dripstone_cluster","max_stalagmite_stalactite_height_diff","height_deviation","dripstone_block_layer_thickness","density","wetness","chance_of_dripstone_column_at_max_distance_from_center","max_distance_from_edge_affecting_chance_of_dripstone_column","max_distance_from_center_affecting_height_bias","minecraft:fossil","max_empty_corners_allowed","fossil_structures","overlay_structures","fossil_processors","overlay_processors","minecraft:geode","filling_provider","inner_layer_provider","alternate_inner_layer_provider","middle_layer_provider","outer_layer_provider","inner_placements","cannot_replace","invalid_blocks","filling","inner_layer","middle_layer","outer_layer","crack","generate_crack_chance","base_crack_size","crack_point_offset","noise_multiplier","use_potential_placements_chance","use_alternate_layer0_chance","placements_require_layer0_alternate","outer_wall_distance","distribution_points","point_offset","min_gen_offset","max_gen_offset","invalid_blocks_threshold","minecraft:glow_lichen","search_range","chance_of_spreading","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","can_be_placed_on","minecraft:growing_plant","direction","allow_water","height_distribution","body_provider","head_provider","minecraft:large_dripstone","column_radius","height_scale","max_column_radius_to_cave_height_ratio","stalactite_bluntness","stalagmite_bluntness","wind_speed","min_radius_for_wind","min_bluntness_for_wind","minecraft:replace_single_block","minecraft:root_system","required_vertical_space_for_tree","root_radius","root_placement_attempts","root_column_max_height","hanging_root_radius","hanging_roots_vertical_span","hanging_root_placement_attempts","allowed_vertical_water_for_tree","root_replaceable","root_state_provider","hanging_root_state_provider","minecraft:scattered_ore","minecraft:small_dripstone","max_placements","empty_space_search_radius","max_offset_from_origin","chance_of_taller_dripstone","force_dirt","dirt_provider","sapling_provider","foliage_provider","minecraft:bending_trunk_placer","bend_length","min_height_for_leaves","minecraft:random_spread_foliage_placer","foliage_height","leaf_placement_attempts","minecraft:underwater_magma","floor_search_range","placement_radius_around_floor","placement_probability_per_valid_position","minecraft:vegetation_patch","minecraft:waterlogged_vegetation_patch","minecraft:randomized_int_state_provider","property","min_surface_level","noodle_caves_enabled","ore_veins_enabled","_d","minecraft:nether_fossil","ItemModifier_1","initItemModifierSchemas"],"mappings":"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/Bkc,EAAK4C,SAAU7G,GAMa8G,GAAO7N,QAAS,YAChC8N,QAGF1P,SACN2P,uBAKgBD,EAzN1B,CAiOkB,oBAATE,KAAwBA,KAAOvgB,GACvC,GACAuI,MC/OF,IAAIgU,GAAO5L,WAKPgM,GAAS/L,WAKTgM,GAAS/F,WAQTqG,GAAYnG,WASZqG,GAAU1C,WAOV4C,GAAS3C,WAIT6F,GAAK5F,WAET4F,GAAGjE,KAAOA,GACViE,GAAG7D,OAASA,GACZ6D,GAAG5D,OAASA,GACZ4D,GAAGtD,UAAYA,GACfsD,GAAGpD,QAAUA,GACboD,GAAGlD,OAASA,OAEZmD,GAAiBD,eC1DjB3U,OAAOuC,eAAesS,GAAS,aAAc,CAAEte,OAAO,4BAC5B,qBAC1B,SAAyBgX,KACTuH,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,uBACA,qBACA,0BACA,yBACA,+BACA,iCACA,4BACA,0BACA,iCACA,yBACA,6BACA,4BACA,wBACA,iBACA,2BACA,uBACA,2BACA,gCAEQA,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,wBAEQA,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,mCAEQA,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,gCAEQA,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,iCAEQA,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,cAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,+DCtRDvS,iBAAwB,aAAc,CAAEhM,OAAO,wBAC1BmQ,QAAgBA,sBAAyB,QAC/DqO,EAASjQ,gCACYiI,EAASQ,SAC1ByH,EAAaD,EAAO9H,WAAWxR,UAAK,EAAW8R,GAC/C0H,EAAYF,EAAOjI,UAAUrR,UAAK,EAAWsR,KAC3C+H,SAAS,cAAeC,EAAOvN,IAAIuN,EAAOG,WAAW,CACzDC,KAAMH,EAAW,CAAE1H,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAC1D2H,WAAYL,EAAOM,IAAIN,EAAO/K,QAAQgL,IAAcA,I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YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,8BAEQA,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,8BAEQA,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QA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AEf0yB,GAAgBn2B,IAAQA,GAAKm2B,cAAiB,SAAUC,MACpDA,GAAOA,EAAIC,kBAAmBD,MAC9B1Z,EAAS,MACF,MAAP0Z,UAAsB30B,KAAK20B,EAAe,YAAN30B,GAAmBoK,OAAO4O,eAAe/U,KAAK0wB,EAAK30B,OAAoBib,EAAQ0Z,EAAK30B,aACzGib,EAAQ0Z,GACpB1Z,GAEX7Q,OAAOuC,eAAekoB,GAAS,aAAc,CAAEl0B,OAAO,IACtD,4CAA8C,EAC9C,MAAMmlB,GAAS5W,GACT4lB,GAAgB3lB,GAChB4lB,GAAY3f,GAClB,sBAAsBsf,GAAapf,IAMnC,yBALA,iBACUqC,EAAc,IAAImO,GAAOkP,6BACjBC,gBAAgBtd,GACvBA,GAsBXud,iBALA,SAAoBvd,SACVR,EAAU,IAAI2O,GAAOqP,yBACjBC,YAAYje,EAASQ,GACxBR,iMChDX/M,OAAOuC,eAAesS,GAAS,aAAc,CAAEte,OAAO,4BAC5B,qBAC1B,SAAyBgX,KACTuH,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,8BAEQA,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,8BAEQA,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,cAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,k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"} \ No newline at end of file diff --git a/assets/zh-cn.24d69588.js b/assets/zh-cn.24d69588.js new file mode 100644 index 00000000..975e1d03 --- /dev/null +++ b/assets/zh-cn.24d69588.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"进度","copy":"复制","dimension":"维度","dimension-type":"维度类型","download":"下载","fields":"字段","item-modifier":"物品修饰器","language":"语言","loot-table":"战利品表","predicate":"断言","preview":"可视化","preview.depth":"深度","preview.scale":"比例","preview.show_density":"显示密度","preview.width":"宽度","redo":"重做","reset":"重置","settings.fields.description":"自定义高级字段设置","settings.fields.name":"名称","settings.fields.path":"上下文","share":"分享","title.generator":"%0% 生成器","title.home":"数据包生成器","undo":"撤销","world":"世界设置","worldgen/biome":"生物群系","worldgen/carver":"地形雕刻器","worldgen/feature":"地物","worldgen/noise-settings":"噪声设置","worldgen/processor-list":"处理器列表","worldgen/structure-feature":"结构地物","worldgen/surface-builder":"地表生成器","worldgen/template-pool":"模板池"}');export default e; +//# sourceMappingURL=zh-cn.24d69588.js.map diff --git a/assets/zh-cn.24d69588.js.map b/assets/zh-cn.24d69588.js.map new file mode 100644 index 00000000..bb1025e8 --- /dev/null +++ b/assets/zh-cn.24d69588.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zh-cn.24d69588.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/zh-cn.655950f4.js b/assets/zh-cn.655950f4.js new file mode 100644 index 00000000..91aa0d92 --- /dev/null +++ b/assets/zh-cn.655950f4.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"判据","advancement.display":"显示","advancement.display.announce_to_chat":"在聊天栏提示","advancement.display.background":"背景","advancement.display.description":"描述","advancement.display.frame":"框架类型","advancement.display.frame.challenge":"挑战","advancement.display.frame.goal":"目标","advancement.display.frame.task":"任务","advancement.display.help":"如果存在,该进度将会在进度界面中显示。","advancement.display.hidden":"隐藏","advancement.display.icon":"图标","advancement.display.icon.item":"图标物品","advancement.display.icon.nbt":"图标物品 NBT","advancement.display.show_toast":"显示右上角提示信息","advancement.display.title":"标题","advancement.parent":"父进度","advancement.rewards":"奖励","advancement.rewards.experience":"经验","advancement.rewards.function":"函数","advancement.rewards.loot":"战利品表","advancement.rewards.recipes":"配方","advancement_trigger.bee_nest_destroyed":"摧毁蜂巢","advancement_trigger.bred_animals":"繁殖动物","advancement_trigger.brewed_potion":"酿造药水","advancement_trigger.changed_dimension":"改变维度","advancement_trigger.channeled_lightning":"引雷魔咒击杀实体","advancement_trigger.construct_beacon":"构建信标结构","advancement_trigger.consume_item":"消耗物品","advancement_trigger.cured_zombie_villager":"治愈僵尸村民","advancement_trigger.effects_changed":"状态效果改变","advancement_trigger.enchanted_item":"附魔物品","advancement_trigger.enter_block":"进入方块","advancement_trigger.entity_hurt_player":"实体伤害玩家","advancement_trigger.entity_killed_player":"实体击杀玩家","advancement_trigger.filled_bucket":"填充桶","advancement_trigger.fishing_rod_hooked":"钓鱼竿勾住东西","advancement_trigger.hero_of_the_village":"村庄英雄","advancement_trigger.impossible":"不可达成","advancement_trigger.inventory_changed":"物品栏改变","advancement_trigger.item_durability_changed":"物品耐久度改变","advancement_trigger.item_used_on_block":"对方块使用物品","advancement_trigger.killed_by_crossbow":"使用弩箭击杀","advancement_trigger.levitation":"漂浮","advancement_trigger.location":"位置","advancement_trigger.nether_travel":"下界旅行","advancement_trigger.placed_block":"放置方块","advancement_trigger.player_generates_container_loot":"玩家生成容器战利品","advancement_trigger.player_hurt_entity":"玩家伤害实体","advancement_trigger.player_killed_entity":"玩家击杀实体","advancement_trigger.recipe_unlocked":"配方解锁","advancement_trigger.safely_harvest_honey":"安全地采集蜂蜜","advancement_trigger.shot_crossbow":"使用弩","advancement_trigger.slept_in_bed":"睡觉","advancement_trigger.slide_down_block":"从蜂蜜块滑下","advancement_trigger.summoned_entity":"召唤实体","advancement_trigger.tame_animal":"驯服动物","advancement_trigger.target_hit":"击中标靶","advancement_trigger.thrown_item_picked_up_by_entity":"丢出的物品被实体捡起","advancement_trigger.tick":"刻","advancement_trigger.used_ender_eye":"使用末影之眼","advancement_trigger.used_totem":"使用不死图腾","advancement_trigger.villager_trade":"村民交易","advancement_trigger.voluntary_exile":"引发袭击","attribute.generic_armor":"盔甲防御点数","attribute.generic_armor_toughness":"盔甲韧性","attribute.generic_attack_damage":"普通攻击伤害","attribute.generic_attack_knockback":"击退距离","attribute.generic_attack_speed":"攻击速度","attribute.generic_flying_speed":"飞行速度","attribute.generic_follow_range":"追踪范围","attribute.generic_knockback_resistance":"击退抗性","attribute.generic_luck":"幸运","attribute.generic_max_health":"最大生命值","attribute.generic_movement_speed":"移动速度","attribute.horse.jump_strength":"弹跳力","attribute.zombie.spawn_reinforcements":"连带生成新僵尸的可能性","attribute_modifier.amount":"数额","attribute_modifier.attribute":"属性","attribute_modifier.name":"名称","attribute_modifier.operation":"运算模式","attribute_modifier.operation.addition":"加减数额","attribute_modifier.operation.multiply_base":"乘上数额","attribute_modifier.operation.multiply_total":"乘上(数额 + 1)","attribute_modifier.slot":"栏位","attribute_modifier.slot.list":"多个","attribute_modifier.slot.string":"单个","badge.experimental":"实验性","badge.unstable":"不稳定","biome.carvers":"地形雕刻器","biome.carvers.air":"空气","biome.carvers.liquid":"液体","biome.category":"分类","biome.creature_spawn_probability":"生物生成几率","biome.depth":"深度","biome.depth.help":"使地形抬升或下沉。正值被认为是陆地,负值被认为是海洋。","biome.downfall":"降雨(此参数用来控制草、树叶的颜色、火的蔓延速度等)","biome.effects":"环境效果","biome.effects.additions_sound":"附加音效","biome.effects.additions_sound.sound":"声音","biome.effects.additions_sound.tick_chance":"每刻播放的概率","biome.effects.ambient_sound":"环境音效","biome.effects.fog_color":"迷雾颜色","biome.effects.foliage_color":"树叶颜色","biome.effects.grass_color":"草的颜色","biome.effects.grass_color_modifier":"草颜色修饰子","biome.effects.grass_color_modifier.dark_forest":"黑森林","biome.effects.grass_color_modifier.none":"无","biome.effects.grass_color_modifier.swamp":"沼泽","biome.effects.mood_sound":"氛围音效","biome.effects.mood_sound.block_search_extent":"播放位置搜索半径","biome.effects.mood_sound.offset":"偏移","biome.effects.mood_sound.sound":"音效","biome.effects.mood_sound.tick_delay":"刻延时","biome.effects.music":"音乐","biome.effects.music.max_delay":"最大延时","biome.effects.music.min_delay":"最小延时","biome.effects.music.replace_current_music":"替换当前音乐","biome.effects.music.sound":"音效","biome.effects.particle":"粒子","biome.effects.particle.options":"选项","biome.effects.particle.options.type":"粒子类型","biome.effects.particle.probability":"概率","biome.effects.sky_color":"天空颜色","biome.effects.water_color":"水的颜色","biome.effects.water_fog_color":"水中迷雾颜色","biome.features":"地物","biome.features.entry":"步骤 %0%","biome.features.entry.entry":"地物","biome.player_spawn_friendly":"玩家生成偏好","biome.player_spawn_friendly.help":"若为 true,世界出生点会优先选定在此生物群系内。","biome.precipitation":"降雨量","biome.precipitation.none":"无","biome.precipitation.rain":"雨","biome.precipitation.snow":"雪","biome.scale":"规模","biome.scale.help":"竖直方向上拉伸地形。值越小,地形越平整。","biome.spawn_costs":"生成代价","biome.spawn_costs.charge":"电荷量","biome.spawn_costs.energy_budget":"电势预算","biome.spawners":"生成器","biome.spawners.ambient":"环境生物","biome.spawners.creature":"生物(非怪物)","biome.spawners.entry":"生成","biome.spawners.entry.maxCount":"最大数量","biome.spawners.entry.minCount":"最小数量","biome.spawners.entry.type":"类型","biome.spawners.entry.weight":"权重","biome.spawners.misc":"杂项","biome.spawners.monster":"怪物","biome.spawners.water_ambient":"水下环境生物","biome.spawners.water_creature":"水生生物","biome.starts":"起始结构","biome.starts.entry":"结构","biome.starts.help":"配置过的结构地物的列表。","biome.surface_builder":"地表生成器","biome.temperature":"温度","biome.temperature_modifier":"温度修饰子","biome.temperature_modifier.frozen":"冰冻","biome.temperature_modifier.none":"无","block.block":"方块 ID","block.nbt":"NBT","block.state":"方块状态","block.tag":"方块标签","block_placer.column_placer.extra_size":"额外尺寸","block_placer.column_placer.min_size":"最小尺寸","block_placer.type":"类型","block_state.Name":"名称","block_state.Properties":"属性","block_state_provider.rotated_block_provider.state":"状态","block_state_provider.simple_state_provider.state":"状态","block_state_provider.type":"类型","block_state_provider.weighted_state_provider.entries":"项目","block_state_provider.weighted_state_provider.entries.entry.data":"状态","block_state_provider.weighted_state_provider.entries.entry.weight":"权重","carver.config":"配置","carver.config.probability":"概率","carver.type":"类型","children":"子","children.entry":"项目","condition.alternative.terms":"子条件","condition.block_state_property.block":"方块","condition.block_state_property.properties":"方块状态","condition.condition":"条件","condition.damage_source":"伤害源","condition.entity_properties.entity":"实体","condition.entity_scores.entity":"实体","condition.entity_scores.scores":"分数","condition.entry":"谓词","condition.inverted.term":"条件","condition.item":"物品","condition.killed_by_player.inverse":"取反","condition.list":"多个","condition.location":"位置","condition.location_check.offsetX":"X 坐标偏移","condition.location_check.offsetY":"Y 坐标偏移","condition.location_check.offsetZ":"Z 坐标偏移","condition.object":"单个","condition.random_chance.chance":"几率","condition.random_chance_with_looting.chance":"几率","condition.random_chance_with_looting.looting_multiplier":"每级抢夺魔咒增加的数","condition.reference.name":"Predicate 文件 ID","condition.table_bonus.chances":"几率","condition.table_bonus.chances.entry":"几率","condition.table_bonus.enchantment":"附魔","condition.time_check.period":"周期","condition.time_check.period.help":"可选。如果指定,在比较前会先将游戏的时间以该数取模(例如,如果设置为 24000,指定的值将会被运算为一天中的时间)。","condition.time_check.value":"值","condition.value_check.range":"范围","condition.value_check.value":"值","condition.weather_check.raining":"下雨","condition.weather_check.thundering":"雷雨","conditions":"条件","conditions.entry":"条件","conditions.list":"条件","conditions.object":"旧版","copy_source.block_entity":"方块实体","copy_source.direct_killer":"直接击杀实体","copy_source.killer":"击杀实体","copy_source.killer_player":"击杀玩家","copy_source.this":"自身","criterion.bee_nest_destroyed.block":"方块","criterion.bee_nest_destroyed.num_bees_inside":"内部蜜蜂的数量","criterion.bred_animals.child":"幼体","criterion.bred_animals.parent":"父或母","criterion.bred_animals.partner":"配偶","criterion.brewed_potion.potion":"药水 ID","criterion.changed_dimension.from":"出发维度","criterion.changed_dimension.to":"到达维度","criterion.channeled_lightning.victims":"受害实体","criterion.channeled_lightning.victims.entry":"实体","criterion.conditions":"条件","criterion.construct_beacon.beacon_level":"金字塔等级","criterion.consume_item.item":"物品","criterion.cured_zombie_villager.villager":"村民","criterion.cured_zombie_villager.zombie":"僵尸","criterion.effects_changed.effects":"状态效果","criterion.enchanted_item.item":"物品","criterion.enchanted_item.levels":"经验等级","criterion.enter_block.block":"方块","criterion.enter_block.state":"方块状态","criterion.entity_hurt_player.damage":"伤害","criterion.entity_killed_player.entity":"源实体","criterion.entity_killed_player.killing_blow":"伤害类型","criterion.filled_bucket.item":"物品","criterion.fishing_rod_hooked.entity":"被拉的实体","criterion.fishing_rod_hooked.item":"物品","criterion.hero_of_the_village.location":"位置","criterion.inventory_changed.items":"物品","criterion.inventory_changed.items.entry":"物品","criterion.inventory_changed.slots":"栏位","criterion.inventory_changed.slots.empty":"空栏位的数量","criterion.inventory_changed.slots.full":"用满栏位的数量","criterion.inventory_changed.slots.occupied":"已用栏位的数量","criterion.item_durability_changed.delta":"差值","criterion.item_durability_changed.durability":"耐久度","criterion.item_durability_changed.item":"物品","criterion.item_used_on_block.item":"物品","criterion.item_used_on_block.location":"位置","criterion.killed_by_crossbow.unique_entity_types":"实体种类的数量","criterion.killed_by_crossbow.victims":"受害实体","criterion.killed_by_crossbow.victims.entry":"实体","criterion.levitation.distance":"距离","criterion.levitation.duration":"持续时间","criterion.location.location":"位置","criterion.nether_travel.distance":"距离","criterion.nether_travel.entered":"进入位置","criterion.nether_travel.exited":"退出位置","criterion.placed_block.block":"方块","criterion.placed_block.item":"物品","criterion.placed_block.location":"位置","criterion.placed_block.state":"方块状态","criterion.player":"玩家","criterion.player_generates_container_loot.loot_table":"战利品表","criterion.player_hurt_entity.damage":"伤害","criterion.player_hurt_entity.entity":"受害实体","criterion.player_killed_entity.entity":"受害实体","criterion.player_killed_entity.killing_blow":"伤害类型","criterion.recipe_unlocked.recipe":"配方","criterion.rod":"钓鱼竿","criterion.safely_harvest_honey.block":"方块","criterion.safely_harvest_honey.item":"物品","criterion.shot_crossbow.item":"物品","criterion.slept_in_bed.location":"位置","criterion.slide_down_block.block":"方块","criterion.summoned_entity.entity":"实体","criterion.tame_animal.entity":"动物","criterion.target_hit.projectile":"弹射物","criterion.target_hit.shooter":"射击者","criterion.target_hit.signal_strength":"信号强度","criterion.thrown_item_picked_up_by_entity.entity":"实体","criterion.thrown_item_picked_up_by_entity.item":"物品","criterion.trigger":"触发器","criterion.used_ender_eye.distance":"距离","criterion.used_totem.item":"图腾物品","criterion.villager_trade.item":"购得物品","criterion.villager_trade.villager":"村民","criterion.voluntary_exile.location":"位置","damage.blocked":"是否被阻挡","damage.dealt":"应当受到伤害","damage.source_entity":"源实体","damage.taken":"实际受到伤害","damage.type":"伤害类型","damage_source.bypasses_armor":"破甲","damage_source.bypasses_invulnerability":"虚空","damage_source.bypasses_magic":"饥饿","damage_source.direct_entity":"直接来源实体","damage_source.is_explosion":"爆炸","damage_source.is_fire":"燃烧","damage_source.is_lightning":"雷击","damage_source.is_magic":"魔法","damage_source.is_projectile":"弹射物","damage_source.source_entity":"根本来源实体","decorator.carving_mask.step":"生成步骤","decorator.config":"配置","decorator.count.count":"数量","decorator.count_extra.count":"数量","decorator.count_extra.extra_chance":"额外几率","decorator.count_extra.extra_count":"额外数量","decorator.count_multilayer.count":"数量","decorator.count_noise.above_noise":"阈值上噪声","decorator.count_noise.below_noise":"阈值下噪声","decorator.count_noise.noise_level":"噪声等级","decorator.count_noise_biased.noise_factor":"噪声因子","decorator.count_noise_biased.noise_offset":"噪声偏移量","decorator.count_noise_biased.noise_to_count_ratio":"噪数比","decorator.decorated.inner":"内部","decorator.decorated.outer":"外部","decorator.depth_average.baseline":"基线","decorator.depth_average.spread":"扩散","decorator.glowstone.count":"数量","decorator.type":"类型","dimension":"维度","dimension.generator":"生成器","dimension.generator.biome_source":"生物群系源","dimension.overworld":"主世界","dimension.the_end":"末路之地","dimension.the_nether":"下界","dimension.type":"维度类型","dimension.type.object":"自定义","dimension.type.string":"预设","dimension_type.ambient_light":"环境光","dimension_type.ambient_light.help":"有多少环境光。应为 0.0 与 1.0 之间的值。","dimension_type.bed_works":"床有效","dimension_type.bed_works.help":"若为true,玩家可以使用床来设置重生点并跳过夜晚。若为false,则使用床会爆炸。","dimension_type.coordinate_scale":"坐标缩放","dimension_type.coordinate_scale.help":"在维度间传送时(使用下界传送门或 /execute in )对坐标使用的缩放倍数。","dimension_type.effects":"环境效果","dimension_type.effects.help":"天空效果","dimension_type.effects.overworld":"主世界","dimension_type.effects.the_end":"末路之地","dimension_type.effects.the_nether":"下界","dimension_type.fixed_time":"固定时间","dimension_type.fixed_time.help":"设定该值会导致太阳处于某一固定位置。","dimension_type.has_ceiling":"具有天花板","dimension_type.has_ceiling.help":"影响天气,地图物品和重生规则。","dimension_type.has_raids":"生成袭击","dimension_type.has_raids.help":"若为true,拥有不祥之兆效果的玩家会导致袭击。","dimension_type.has_skylight":"具有天空光照","dimension_type.has_skylight.help":"影响天气,光照引擎和重生规则。","dimension_type.height":"高度","dimension_type.infiniburn":"无限燃烧方块","dimension_type.infiniburn.help":"定义能够使火在其上永久燃烧的方块标签。","dimension_type.logical_height":"合规高度","dimension_type.logical_height.help":"在此高度以上,传送门不会生成,紫颂果也不再能传送玩家。","dimension_type.min_y":"最小高度","dimension_type.name":"名称","dimension_type.natural":"自然","dimension_type.natural.help":"如果设置为 true,传送门中会生成僵尸猪灵。如果设置为 false,指南针与钟会不断随机旋转。","dimension_type.piglin_safe":"猪灵不转换","dimension_type.piglin_safe.help":"若为false,猪灵会开始颤抖并转化为僵尸猪灵。","dimension_type.respawn_anchor_works":"重生锚有效","dimension_type.respawn_anchor_works.help":"若为true,玩家可以充能并使用重生锚以设置重生点。若为false,使用重生锚会爆炸。","dimension_type.ultrawarm":"极热","dimension_type.ultrawarm.help":"如果设置为 true,水会蒸发且海绵会变干。","distance.absolute":"绝对距离","distance.horizontal":"水平距离","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"水下速掘","enchantment.bane_of_arthropods":"节肢杀手","enchantment.binding_curse":"绑定诅咒","enchantment.blast_protection":"爆炸保护","enchantment.channeling":"引雷","enchantment.depth_strider":"深海探索者","enchantment.efficiency":"效率","enchantment.enchantment":"魔咒","enchantment.feather_falling":"摔落保护","enchantment.fire_aspect":"火焰附加","enchantment.fire_protection":"火焰保护","enchantment.flame":"火矢","enchantment.fortune":"时运","enchantment.frost_walker":"冰霜行者","enchantment.impaling":"穿刺","enchantment.infinity":"无限","enchantment.knockback":"击退","enchantment.levels":"等级","enchantment.looting":"抢夺","enchantment.loyalty":"忠诚","enchantment.luck_of_the_sea":"海之眷顾","enchantment.lure":"饵钓","enchantment.mending":"经验修补","enchantment.multishot":"多重射击","enchantment.piercing":"穿透","enchantment.power":"力量","enchantment.projectile_protection":"弹射物保护","enchantment.protection":"保护","enchantment.punch":"冲击","enchantment.quick_charge":"快速装填","enchantment.respiration":"水下呼吸","enchantment.riptide":"激流","enchantment.sharpness":"锋利","enchantment.silk_touch":"精准采集","enchantment.smite":"亡灵杀手","enchantment.sweeping":"横扫之刃","enchantment.thorns":"荆棘","enchantment.unbreaking":"耐久","enchantment.vanishing_curse":"消失诅咒","entity.distance":"到执行位置的距离","entity.effects":"状态效果","entity.equipment":"装备","entity.fishing_hook":"浮漂","entity.fishing_hook.in_open_water":"位于开阔水域","entity.flags":"实体特质","entity.isBaby":"是幼体","entity.isOnFire":"正在着火","entity.isSneaking":"正在潜行","entity.isSprinting":"正在疾跑","entity.isSwimming":"正在游泳","entity.location":"位置","entity.nbt":"NBT","entity.player":"玩家","entity.targeted_entity":"目标实体","entity.team":"队伍","entity.type":"实体","entity.vehicle":"载具","entity_source.direct_killer":"直接击杀实体","entity_source.killer":"击杀者","entity_source.killer_player":"击杀者玩家","entity_source.this":"自身","entry":"项目","error":"错误","error.expected_boolean":"期望一个布尔值","error.expected_integer":"期望一个整型数字","error.expected_json":"期望 JSON","error.expected_list":"期望一个数组","error.expected_number":"期望一个数字","error.expected_object":"期望一个对象","error.expected_range":"期望一个范围","error.expected_string":"期望一个字符串","error.expected_uniform_int":"期望一个均匀分布整数","error.height_multiple":"高度必须是%0%的倍数","error.invalid_binomial":"不能使用二项分布型的范围","error.invalid_empty_list":"不能使用空数组","error.invalid_empty_string":"不能使用空字符串","error.invalid_enum_option":"选项“%0%”无效","error.invalid_exact":"不能使用常数型的范围","error.invalid_list_range.exact":"期望一个长度为 %1% 的列表","error.invalid_list_range.larger":"列表的长度 %0% 比最大值 %1% 大","error.invalid_list_range.smaller":"列表的长度 %0% 比最小值 %1% 小","error.invalid_number_range.between":"期望一个位于 %0% 与 %1% 之间的数字","error.invalid_number_range.larger":"值 %0% 比最大值 %1% 大","error.invalid_number_range.smaller":"值 %0% 比最小值 %1% 小","error.invalid_pattern":"字符串无效:%0%","error.logical_height":"合规高度不能高于高度","error.min_y_multiple":"最小高度必须是%0%的倍数","error.min_y_plus_height":"最小高度 + 高度(Min Y + height)不能高于%0%","error.recipe.invalid_key":"只能使用单个字符作为键","error.separation_smaller_spacing":"间隔(separation)的值必须小于空位(spacing)","false":"否","feature.bamboo.probability":"概率","feature.basalt_columns.height":"高度","feature.basalt_columns.reach":"范围","feature.block_pile.state_provider":"状态声明","feature.config":"配置","feature.decorated.decorator":"装饰器","feature.decorated.feature":"地物","feature.delta_feature.contents":"三角洲内部方块","feature.delta_feature.rim":"三角洲边缘方块","feature.delta_feature.rim_size":"边缘尺寸","feature.delta_feature.size":"尺寸","feature.disk.half_height":"半高","feature.disk.radius":"半径","feature.disk.state":"状态","feature.disk.targets":"目标","feature.disk.targets.entry":"状态","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center":"远处滴水石生成几率","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center.help":"滴水石柱在离中心最大距离处的生成几率。","feature.dripstone_cluster.density":"密度","feature.dripstone_cluster.dripstone_block_layer_thickness":"方块层厚度","feature.dripstone_cluster.floor_to_ceiling_search_range":"搜索范围","feature.dripstone_cluster.floor_to_ceiling_search_range.help":"地板至天花板的搜索范围。","feature.dripstone_cluster.height":"高度","feature.dripstone_cluster.height_deviation":"高度偏差","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column":"石柱几率距离","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column.help":"影响滴水石柱生成几率的离中心的最大距离。","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias":"高度偏差距离","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias.help":"影响高度偏差的离中心的最大距离。","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff":"最大高度差","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff.help":"石笋和钟乳石的最大高度差。","feature.dripstone_cluster.radius":"半径","feature.dripstone_cluster.wetness":"湿度","feature.dripstone_cluster.wetness_deviation":"湿度偏差","feature.dripstone_cluster.wetness_mean":"湿度平均值","feature.emerald_ore.state":"状态","feature.emerald_ore.target":"目标","feature.end_gateway.exact":"精确传送","feature.end_gateway.exit":"出口位置","feature.end_spike.crystal_beam_target":"末影水晶光柱目标","feature.end_spike.crystal_invulnerable":"末影水晶无敌状态","feature.end_spike.spikes":"末地黑曜石柱","feature.end_spike.spikes.entry":"末地黑曜石柱","feature.end_spike.spikes.entry.centerX":"中心 X 坐标","feature.end_spike.spikes.entry.centerZ":"中心 Z 坐标","feature.end_spike.spikes.entry.guarded":"铁栏杆保护","feature.end_spike.spikes.entry.height":"高度","feature.end_spike.spikes.entry.radius":"半径","feature.fill_layer.height":"高度","feature.fill_layer.state":"状态","feature.flower.blacklist":"黑名单","feature.flower.block_placer":"方块放置器","feature.flower.can_replace":"可替代","feature.flower.need_water":"需要水","feature.flower.project":"投影","feature.flower.state_provider":"状态声明","feature.flower.tries":"尝试次数","feature.flower.whitelist":"白名单","feature.flower.xspread":"X轴扩散","feature.flower.yspread":"Y轴扩散","feature.flower.zspread":"Z轴扩散","feature.forest_rock.state":"状态","feature.huge_brown_mushroom.cap_provider":"菌盖声明","feature.huge_brown_mushroom.foliage_radius":"菌盖大小","feature.huge_brown_mushroom.stem_provider":"菌柄声明","feature.huge_fungus.decor_state":"装饰","feature.huge_fungus.hat_state":"顶部","feature.huge_fungus.planted":"是否已种植","feature.huge_fungus.stem_state":"菌柄","feature.huge_fungus.valid_base_block":"有效底部方块","feature.huge_red_mushroom.cap_provider":"菌盖声明","feature.huge_red_mushroom.foliage_radius":"菌盖大小","feature.huge_red_mushroom.stem_provider":"菌柄声明","feature.ice_patch.half_height":"半高","feature.ice_patch.radius":"半径","feature.ice_patch.state":"状态","feature.ice_patch.targets":"目标","feature.ice_patch.targets.entry":"状态","feature.iceberg.state":"状态","feature.lake.state":"状态","feature.large_dripstone.column_radius":"石柱半径","feature.large_dripstone.floor_to_ceiling_search_range":"搜索范围","feature.large_dripstone.floor_to_ceiling_search_range.help":"地板至天花板的搜索范围。","feature.large_dripstone.height_scale":"高度比例","feature.large_dripstone.max_column_radius_to_cave_height_ratio":"半径与洞穴高度比","feature.large_dripstone.min_bluntness_for_wind":"风的最小钝度","feature.large_dripstone.min_radius_for_wind":"风的最小半径","feature.large_dripstone.stalactite_bluntness":"钟乳石钝度","feature.large_dripstone.stalagmite_bluntness":"石笋钝度","feature.large_dripstone.wind_speed":"风速","feature.nether_forest_vegetation.state_provider":"状态声明","feature.netherrack_replace_blobs.radius":"半径","feature.netherrack_replace_blobs.state":"状态","feature.netherrack_replace_blobs.target":"目标","feature.no_surface_ore.size":"尺寸","feature.no_surface_ore.state":"状态","feature.no_surface_ore.target":"目标","feature.object":"自定义","feature.ore.size":"尺寸","feature.random_boolean_selector.feature_false":"地物 1","feature.random_boolean_selector.feature_true":"地物 2","feature.random_patch.blacklist":"黑名单","feature.random_patch.block_placer":"方块放置器","feature.random_patch.can_replace":"可替代","feature.random_patch.need_water":"需要水","feature.random_patch.project":"投影","feature.random_patch.state_provider":"状态声明","feature.random_patch.tries":"尝试次数","feature.random_patch.whitelist":"白名单","feature.random_patch.xspread":"X轴扩散","feature.random_patch.yspread":"Y轴扩散","feature.random_patch.zspread":"Z轴扩散","feature.random_selector.default":"默认","feature.random_selector.features":"地物","feature.random_selector.features.entry":"地物","feature.random_selector.features.entry.chance":"几率","feature.random_selector.features.entry.feature":"地物","feature.sea_pickle.count":"数量","feature.seegrass.probability":"概率","feature.simple_block.place_in":"将要放置的位置的方块","feature.simple_block.place_in.entry":"状态","feature.simple_block.place_on":"下方的方块","feature.simple_block.place_on.entry":"状态","feature.simple_block.place_under":"上方的方块","feature.simple_block.place_under.entry":"状态","feature.simple_block.to_place":"将要放置的方块","feature.simple_random_selector.features":"地物","feature.simple_random_selector.features.entry":"地物","feature.small_dripstone.chance_of_taller_dripstone":"更高的滴水石的生成几率","feature.small_dripstone.empty_space_search_radius":"空域搜索半径","feature.small_dripstone.max_offset_from_origin":"距来源的最大偏移","feature.small_dripstone.max_placements":"最大放置","feature.spring_feature.hole_count":"坑洞数量","feature.spring_feature.required_block_below":"下方需要方块","feature.spring_feature.rock_count":"岩石数量","feature.spring_feature.state":"状态","feature.spring_feature.valid_blocks":"有效方块","feature.string":"引用","feature.tree.decorators":"装饰器","feature.tree.decorators.entry":"树装饰器","feature.tree.foliage_placer":"树叶放置器","feature.tree.heightmap":"高度图","feature.tree.ignore_vines":"忽略藤蔓","feature.tree.leaves_provider":"树叶方块声明","feature.tree.max_water_depth":"树生成的最大水深","feature.tree.minimum_size":"最小尺寸","feature.tree.minimum_size.limit":"限制","feature.tree.minimum_size.lower_size":"下部尺寸","feature.tree.minimum_size.middle_size":"中部尺寸","feature.tree.minimum_size.min_clipped_height":"最小剪裁高度","feature.tree.minimum_size.type":"最小尺寸","feature.tree.minimum_size.upper_limit":"上部限制","feature.tree.minimum_size.upper_size":"上部尺寸","feature.tree.trunk_placer":"树干放置器","feature.tree.trunk_provider":"树干方块声明","feature.type":"类型","fluid.fluid":"流体 ID","fluid.state":"流体状态","fluid.tag":"流体标签","fluid_state.Name":"名称","fluid_state.Properties":"属性","foliage_placer.crown_height":"树冠高度","foliage_placer.height":"高度","foliage_placer.offset":"偏移","foliage_placer.radius":"半径","foliage_placer.trunk_height":"树干高度","foliage_placer.type":"类型","function.apply_bonus.enchantment":"附魔","function.apply_bonus.formula":"公式","function.apply_bonus.formula.binomial_with_bonus_count":"带奖励数量的二项分布","function.apply_bonus.formula.ore_drops":"矿物掉落","function.apply_bonus.formula.uniform_bonus_count":"带奖励数量的均匀分布","function.apply_bonus.parameters":"参数","function.apply_bonus.parameters.bonusMultiplier":"乘数","function.apply_bonus.parameters.extra":"额外值","function.apply_bonus.parameters.probability":"概率","function.copy_name.source":"源","function.copy_nbt.ops":"NBT 操作","function.copy_nbt.ops.entry":"操作","function.copy_nbt.source":"源","function.copy_state.block":"方块","function.copy_state.properties":"方块状态","function.copy_state.properties.entry":"属性","function.enchant_randomly.enchantments":"可选附魔","function.enchant_randomly.enchantments.entry":"魔咒","function.enchant_with_levels.levels":"等级","function.enchant_with_levels.treasure":"宝藏型魔咒","function.exploration_map.decoration":"图标","function.exploration_map.destination":"目标","function.exploration_map.search_radius":"搜寻半径","function.exploration_map.skip_existing_chunks":"跳过已生成区块","function.exploration_map.zoom":"缩放等级","function.fill_player_head.entity":"实体","function.function":"函数","function.limit_count.limit":"限额","function.list":"多个","function.looting_enchant.count":"数量","function.looting_enchant.limit":"限制","function.object":"单个","function.set_attributes.modifiers":"属性修饰符","function.set_attributes.modifiers.entry":"属性修饰符","function.set_banner_pattern.append":"添加","function.set_banner_pattern.patterns":"图案","function.set_contents.entries":"内容物","function.set_contents.entries.entry":"项目","function.set_count.add":"加上","function.set_count.add.help":"若为true,将会相对于目前的物品数量更改","function.set_count.count":"数量","function.set_damage.add":"加上","function.set_damage.add.help":"若为true,将会相对于目前的损伤值更改","function.set_damage.damage":"损伤值","function.set_data.data":"数据值","function.set_enchantments.add":"加上","function.set_enchantments.add.help":"若为true,将会相对于目前的等级更改","function.set_enchantments.enchantments":"魔咒","function.set_loot_table.name":"战利品表名","function.set_loot_table.seed":"种子","function.set_lore.entity":"实体","function.set_lore.lore":"物品描述","function.set_lore.lore.entry":"一行","function.set_lore.replace":"覆盖","function.set_name.entity":"实体","function.set_name.name":"名称","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"状态效果","function.set_stew_effect.effects.entry":"效果种类","function.set_stew_effect.effects.entry.duration":"持续时间","function.set_stew_effect.effects.entry.type":"效果种类","functions":"函数","functions.entry":"函数","gamemode.adventure":"冒险模式","gamemode.creative":"创造模式","gamemode.spectator":"旁观模式","gamemode.survival":"生存模式","generation_step.air":"空气","generation_step.liquid":"液体","generator.biome_source.altitude_noise":"高度噪声","generator.biome_source.biome":"生物群系","generator.biome_source.biomes":"生物群系","generator.biome_source.humidity_noise":"湿度噪声","generator.biome_source.large_biomes":"巨型生物群系","generator.biome_source.legacy_biome_init_layer":"旧版生物群系初始层","generator.biome_source.preset":"生物群系预设","generator.biome_source.preset.nether":"下界","generator.biome_source.scale":"缩放","generator.biome_source.seed":"生物群系种子","generator.biome_source.temperature_noise":"温度噪声","generator.biome_source.type":"生物群系源","generator.biome_source.weirdness_noise":"奇异度噪声","generator.seed":"维度种子","generator.settings":"生成器设置","generator.settings.biome":"生物群系","generator.settings.lakes":"湖","generator.settings.layers":"层","generator.settings.layers.entry":"层","generator.settings.layers.entry.block":"方块 ID","generator.settings.layers.entry.height":"高度","generator.settings.object":"自定义","generator.settings.presets.amplified":"放大化","generator.settings.presets.caves":"洞穴","generator.settings.presets.end":"末地","generator.settings.presets.floating_islands":"浮岛","generator.settings.presets.nether":"下界","generator.settings.presets.overworld":"主世界","generator.settings.string":"预设","generator.settings.structures":"结构","generator.settings.structures.stronghold":"要塞","generator.settings.structures.stronghold.count":"数量","generator.settings.structures.stronghold.distance":"距离","generator.settings.structures.stronghold.spread":"扩散度","generator.settings.structures.structures":"结构","generator.type":"生成器类型","generator_biome.biome":"生物群系","generator_biome.parameters":"参数","generator_biome.parameters.altitude":"海拔","generator_biome.parameters.help":"这些参数决定了该生物群系被生成时的位置。每个生物群系都必须拥有不同的设置组合。设置相近的生物群系会生成在一起。","generator_biome.parameters.humidity":"湿度","generator_biome.parameters.offset":"偏移","generator_biome.parameters.temperature":"温度","generator_biome.parameters.weirdness":"奇异度","generator_biome_noise.amplitudes":"振幅","generator_biome_noise.amplitudes.entry":"倍频 %0%","generator_biome_noise.firstOctave":"主倍频","generator_structure.salt":"盐值","generator_structure.separation":"间隔","generator_structure.separation.help":"以区块为单位该种类的两种结构之间的最小距离。","generator_structure.spacing":"空位","generator_structure.spacing.help":"该种类的两种结构间的平均距离。","heightmap_type.MOTION_BLOCKING":"阻止实体移动层","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"阻止实体移动层(不含树叶)","heightmap_type.OCEAN_FLOOR":"海床层","heightmap_type.OCEAN_FLOOR_WG":"海床层(世界生成)","heightmap_type.WORLD_SURFACE":"地表层","heightmap_type.WORLD_SURFACE_WG":"地表层(世界生成)","hide_source":"隐藏源代码","item.count":"数量","item.durability":"耐久度","item.enchantments":"魔咒","item.enchantments.entry":"附魔","item.item":"名称","item.nbt":"NBT","item.potion":"药水","item.tag":"标签","key.advancements":"进度","key.attack":"攻击/摧毁","key.back":"向后移动","key.chat":"打开聊天栏","key.command":"输入命令","key.drop":"丢弃所选物品","key.forward":"向前移动","key.fullscreen":"全屏显示切换","key.hotbar.1":"快捷栏 1","key.hotbar.2":"快捷栏 2","key.hotbar.3":"快捷栏 3","key.hotbar.4":"快捷栏 4","key.hotbar.5":"快捷栏 5","key.hotbar.6":"快捷栏 6","key.hotbar.7":"快捷栏 7","key.hotbar.8":"快捷栏 8","key.hotbar.9":"快捷栏 9","key.inventory":"开启/关闭物品栏","key.jump":"跳跃","key.left":"向左","key.loadToolbarActivator":"加载物品工具栏","key.pickItem":"选取方块","key.playerlist":"玩家列表","key.right":"向右","key.saveToolbarActivator":"保存物品工具栏","key.screenshot":"截图","key.smoothCamera":"切换电影视角","key.sneak":"潜行","key.spectatorOutlines":"高亮玩家(旁观者)","key.sprint":"疾跑","key.swapOffhand":"与副手交换物品","key.togglePerspective":"切换视角","key.use":"使用物品/放置方块","location.biome":"生物群系","location.block":"方块","location.dimension":"维度","location.feature":"地物","location.fluid":"流体","location.light":"光照","location.light.light":"可见光等级","location.position":"位置","location.position.x":"X 坐标","location.position.y":"Y 坐标","location.position.z":"Z 坐标","location.smokey":"烟熏","loot_condition_type.alternative":"析取范式(或)","loot_condition_type.block_state_property":"方块状态属性","loot_condition_type.damage_source_properties":"伤害源属性","loot_condition_type.entity_properties":"实体属性","loot_condition_type.entity_scores":"实体分数","loot_condition_type.inverted":"取反(非)","loot_condition_type.killed_by_player":"被玩家击杀","loot_condition_type.location_check":"检查位置","loot_condition_type.match_tool":"匹配工具","loot_condition_type.random_chance":"随机概率","loot_condition_type.random_chance_with_looting":"受抢夺魔咒影响的随机概率","loot_condition_type.reference":"引用 predicate 文件","loot_condition_type.survives_explosion":"未被爆炸破坏","loot_condition_type.table_bonus":"附魔奖励","loot_condition_type.time_check":"检查时间","loot_condition_type.value_check":"检查值","loot_condition_type.weather_check":"检查天气","loot_entry.dynamic.name":"名称","loot_entry.item.name":"名称","loot_entry.loot_table.name":"战利品表名","loot_entry.quality":"每级幸运对权重的影响","loot_entry.tag.expand":"展开","loot_entry.tag.expand.help":"如果为 false,该项目将返回指定物品标签的全部内容;否则将会从中随机抽取一个返回。","loot_entry.tag.name":"物品标签名","loot_entry.type":"类型","loot_entry.weight":"权重","loot_function_type.apply_bonus":"应用奖励公式","loot_function_type.copy_name":"复制方块实体显示名","loot_function_type.copy_nbt":"复制 NBT","loot_function_type.copy_state":"复制方块状态","loot_function_type.enchant_randomly":"随机附魔","loot_function_type.enchant_with_levels":"给予等价于经验等级的随机魔咒","loot_function_type.exploration_map":"设置探险家地图","loot_function_type.explosion_decay":"爆炸损耗","loot_function_type.fill_player_head":"填充玩家头颅","loot_function_type.furnace_smelt":"熔炉熔炼","loot_function_type.limit_count":"限制堆叠数量","loot_function_type.looting_enchant":"根据抢夺魔咒调整物品数量","loot_function_type.set_attributes":"设置属性","loot_function_type.set_banner_pattern":"设置旗帜图案","loot_function_type.set_contents":"设置内容物","loot_function_type.set_count":"设置物品数量","loot_function_type.set_damage":"设置损伤值","loot_function_type.set_data":"设置数据值","loot_function_type.set_enchantments":"设置魔咒","loot_function_type.set_loot_table":"设置战利品表","loot_function_type.set_lore":"设置物品描述","loot_function_type.set_name":"设置物品名","loot_function_type.set_nbt":"设置 NBT","loot_function_type.set_stew_effect":"设置迷之炖菜状态效果","loot_pool.bonus_rolls":"每级幸运增加的抽取次数","loot_pool.entries":"项目","loot_pool.entries.entry":"项目","loot_pool.rolls":"抽取次数","loot_pool.rolls.help":"随机抽取的项目数。","loot_pool_entry_type.alternatives":"析取范式","loot_pool_entry_type.alternatives.help":"获取第一个满足条件的子项目。","loot_pool_entry_type.dynamic":"动态","loot_pool_entry_type.dynamic.help":"获取特定方块的特定掉落物。","loot_pool_entry_type.empty":"空","loot_pool_entry_type.empty.help":"不向随机池中加入任何物品。","loot_pool_entry_type.group":"组","loot_pool_entry_type.group.help":"从所有满足条件的子项目中随机抽取一个。","loot_pool_entry_type.item":"物品","loot_pool_entry_type.item.help":"加入一种物品。","loot_pool_entry_type.loot_table":"战利品表","loot_pool_entry_type.loot_table.help":"加入另一个战利品表的内容。","loot_pool_entry_type.sequence":"序列","loot_pool_entry_type.sequence.help":"从第一个不满足条件的子项目之前的所有子项目中随机抽取一个。","loot_pool_entry_type.tag":"物品标签","loot_pool_entry_type.tag.help":"添加一个物品标签的内容。","loot_table.pools":"随机池","loot_table.pools.entry":"随机池","loot_table.type":"类型","luck_based":"受幸运等级影响","nbt_operation.op":"操作类型","nbt_operation.op.append":"追加","nbt_operation.op.merge":"合并","nbt_operation.op.replace":"替换","nbt_operation.source":"复制源","nbt_operation.target":"复制目标","nbt_provider.source":"来源","nbt_provider.target":"目标","nbt_provider.type":"类型","nbt_provider.type.context":"上下文+","nbt_provider.type.storage":"命令存储","nbt_provider.type.string":"上下文","noise_settings.bedrock_floor_position":"基岩地板位置","noise_settings.bedrock_floor_position.help":"基岩地板的位置。数字越大地板越靠上。","noise_settings.bedrock_roof_position":"基岩天花板位置","noise_settings.bedrock_roof_position.help":"基岩天花板从世界高度开始计算的相对位置。数字越大天花板越靠下。","noise_settings.biome":"生物群系","noise_settings.default_block":"默认方块","noise_settings.default_fluid":"默认流体","noise_settings.disable_mob_generation":"禁用生物生成","noise_settings.disable_mob_generation.help":"如果设置为 true,生成世界时不会生成生物。","noise_settings.name":"名称","noise_settings.noise":"噪声选项","noise_settings.noise.amplified":"放大化","noise_settings.noise.bottom_slide":"底部曲线","noise_settings.noise.bottom_slide.help":"改变世界底部曲线。底部曲线大小(size)为0时没有效果。","noise_settings.noise.bottom_slide.offset":"偏移","noise_settings.noise.bottom_slide.size":"大小","noise_settings.noise.bottom_slide.target":"目标","noise_settings.noise.density_factor":"密度因子","noise_settings.noise.density_factor.help":"决定高度影响地形的程度。正值在底部产生陆地。接近0的值产生均匀的地形。","noise_settings.noise.density_offset":"密度偏移","noise_settings.noise.density_offset.help":"影响平均陆地高度。设为0将使平均陆地高度变为高度(height)的一半。设为正值将抬升高度。","noise_settings.noise.height":"高度","noise_settings.noise.island_noise_override":"岛屿噪声覆盖","noise_settings.noise.island_noise_override.help":"如果设置为 true,生成的地形会像末地一样在中心有一个大岛、外部有许多小岛。","noise_settings.noise.min_y":"最小高度","noise_settings.noise.random_density_offset":"随机密度偏移","noise_settings.noise.sampling":"采样","noise_settings.noise.sampling.xz_factor":"XZ 因子","noise_settings.noise.sampling.xz_scale":"XZ 缩放","noise_settings.noise.sampling.y_factor":"Y 因子","noise_settings.noise.sampling.y_scale":"Y 缩放","noise_settings.noise.simplex_surface_noise":"单纯形表面噪声","noise_settings.noise.size_horizontal":"水平大小","noise_settings.noise.size_vertical":"垂直大小","noise_settings.noise.top_slide":"顶部曲线","noise_settings.noise.top_slide.help":"改变世界顶部曲线。顶部曲线大小(Size)为0时没有效果。","noise_settings.noise.top_slide.offset":"偏移","noise_settings.noise.top_slide.size":"大小","noise_settings.noise.top_slide.target":"目标","noise_settings.sea_level":"海平面","noise_settings.structures":"结构","noise_settings.structures.stronghold":"要塞","noise_settings.structures.stronghold.count":"数量","noise_settings.structures.stronghold.distance":"距离","noise_settings.structures.stronghold.spread":"分散","noise_settings.structures.structures":"结构","number_provider.max":"最大值","number_provider.min":"最小值","number_provider.n":"N","number_provider.p":"P","number_provider.scale":"缩放","number_provider.score":"记分项","number_provider.target":"目标","number_provider.type":"类型","number_provider.type.binomial":"二项分布","number_provider.type.constant":"常数+","number_provider.type.number":"常数","number_provider.type.object":"均匀分布","number_provider.type.score":"分数","number_provider.type.uniform":"均匀分布+","number_provider.value":"数字","player.advancements":"进度","player.advancements.entry":"进度","player.gamemode":"游戏模式","player.level":"经验等级","player.recipes":"配方","player.stats":"统计","player.stats.entry":"统计","pos_rule_test.always_true":"总是为真","pos_rule_test.axis":"轴","pos_rule_test.axis.x":"X 轴","pos_rule_test.axis.y":"Y 轴","pos_rule_test.axis.z":"Z 轴","pos_rule_test.axis_aligned_linear_pos":"轴对齐线性插值坐标","pos_rule_test.linear_pos":"线性插值坐标","pos_rule_test.max_chance":"最大几率","pos_rule_test.max_dist":"最大距离","pos_rule_test.min_chance":"最小几率","pos_rule_test.min_dist":"最小距离","pos_rule_test.predicate_type":"类型","processor.block_age.mossiness":"苔藓度","processor.block_ignore.blocks":"方块","processor.block_ignore.blocks.entry":"状态","processor.block_rot.integrity":"完整性","processor.gravity.heightmap":"高度图","processor.gravity.offset":"偏移","processor.processor_type":"类型","processor.rule.rules":"规则","processor.rule.rules.entry":"规则","processor_list.processors":"处理器","processor_list.processors.entry":"处理器","processor_rule.input_predicate":"输入方块处理谓词","processor_rule.location_predicate":"结构生成前位置方块处理谓词","processor_rule.output_nbt":"输出 NBT","processor_rule.output_state":"输出方块状态","processor_rule.position_predicate":"位置方块处理谓词","processors.object":"自定义","processors.string":"引用","range.binomial":"二项分布","range.max":"最大值","range.min":"最小值","range.n":"N","range.number":"精确值","range.object":"范围","range.p":"P","range.type":"类型","range.uniform":"均匀分布","requirements":"应当达成","rule_test.always_true":"总是为真","rule_test.block":"方块","rule_test.block_match":"方块匹配","rule_test.block_state":"状态","rule_test.blockstate_match":"方块状态匹配","rule_test.predicate_type":"类型","rule_test.probability":"概率","rule_test.random_block_match":"方块随机匹配","rule_test.random_blockstate_match":"方块状态随机匹配","rule_test.tag":"标签","rule_test.tag_match":"标签匹配","score_provider.name":"名称","score_provider.target":"目标","score_provider.type":"类型","score_provider.type.context":"上下文+","score_provider.type.fixed":"固定","score_provider.type.string":"上下文","slot.chest":"胸部","slot.feet":"脚部","slot.head":"头部","slot.legs":"腿部","slot.mainhand":"主手","slot.offhand":"副手","statistic.stat":"统计","statistic.type":"类型","statistic.type.broken":"用坏","statistic.type.crafted":"合成","statistic.type.custom":"Custom(其他)","statistic.type.dropped":"掉落","statistic.type.killed":"击杀","statistic.type.killedByTeam":"被队伍击杀","statistic.type.killed_by":"被击杀","statistic.type.mined":"挖掘","statistic.type.picked_up":"捡起","statistic.type.teamkill":"击杀队伍","statistic.type.used":"使用","statistic.value":"值","status_effect.ambient":"是否为信标施加","status_effect.amplifier":"等级","status_effect.duration":"持续时间","status_effect.visible":"是否可见","structure_feature.biome_temp":"生物群系温度","structure_feature.biome_temp.cold":"寒冷","structure_feature.biome_temp.warm":"温暖","structure_feature.cluster_probability":"成簇概率","structure_feature.config":"配置","structure_feature.is_beached":"是否搁浅","structure_feature.large_probability":"大型概率","structure_feature.portal_type":"传送门类型","structure_feature.portal_type.desert":"沙漠","structure_feature.portal_type.jungle":"丛林","structure_feature.portal_type.mountain":"山","structure_feature.portal_type.nether":"下界","structure_feature.portal_type.ocean":"海洋","structure_feature.portal_type.standard":"基本","structure_feature.portal_type.swamp":"沼泽","structure_feature.probability":"概率","structure_feature.size":"尺寸","structure_feature.start_pool":"起始池","structure_feature.type":"类型","structure_feature.type.mesa":"恶地","structure_feature.type.normal":"普通","surface_builder.config":"配置","surface_builder.top_material":"顶部材料","surface_builder.type":"类型","surface_builder.under_material":"下层材料","surface_builder.underwater_material":"水下材料","table.type":"战利品表类型","table.type.block":"方块","table.type.chest":"箱子","table.type.empty":"空","table.type.entity":"实体","table.type.fishing":"钓鱼","table.type.generic":"通用","tag.replace":"覆盖","tag.values":"值","template_element.element_type":"类型","template_element.elements":"元素","template_element.feature":"地物","template_element.location":"结构的命名空间 ID","template_element.processors":"处理器","template_element.projection":"投影","template_element.projection.rigid":"直接生成","template_element.projection.terrain_matching":"匹配地形","template_pool.elements":"元素","template_pool.elements.entry":"元素","template_pool.elements.entry.element":"元素","template_pool.elements.entry.weight":"权重","template_pool.fallback":"回落池","template_pool.name":"名称","text_component":"文本组件","text_component.boolean":"布尔值","text_component.list":"数组","text_component.number":"数字","text_component.object":"对象","text_component.object.keybind":"键位绑定","text_component.object.nbt":"NBT值","text_component.object.score":"分数值","text_component.object.selector":"实体名称","text_component.object.text":"纯文本","text_component.object.translation":"翻译文本","text_component.string":"字符串","text_component_object.block":"方块","text_component_object.bold":"粗体","text_component_object.clickEvent":"点击事件","text_component_object.clickEvent.action":"行为","text_component_object.clickEvent.action.change_page":"翻页","text_component_object.clickEvent.action.copy_to_clipboard":"复制到剪贴板","text_component_object.clickEvent.action.open_file":"打开文件","text_component_object.clickEvent.action.open_url":"打开链接","text_component_object.clickEvent.action.run_command":"运行命令","text_component_object.clickEvent.action.suggest_command":"建议命令","text_component_object.clickEvent.value":"值","text_component_object.color":"颜色","text_component_object.entity":"实体","text_component_object.extra":"附加","text_component_object.font":"字体","text_component_object.hoverEvent":"悬浮事件","text_component_object.hoverEvent.action":"行为","text_component_object.hoverEvent.action.show_entity":"显示实体","text_component_object.hoverEvent.action.show_item":"显示物品","text_component_object.hoverEvent.action.show_text":"显示文字","text_component_object.hoverEvent.contents":"内容","text_component_object.hoverEvent.value":"值","text_component_object.insertion":"插入","text_component_object.interpret":"解析","text_component_object.italic":"斜体","text_component_object.keybind":"键位","text_component_object.nbt":"NBT","text_component_object.obfuscated":"混淆","text_component_object.score":"分数","text_component_object.score.name":"名称","text_component_object.score.objective":"记分项","text_component_object.score.value":"值","text_component_object.selector":"选择器","text_component_object.storage":"储存","text_component_object.strikethrough":"删除线","text_component_object.text":"文本","text_component_object.translate":"可翻译文本","text_component_object.underlined":"下划线","text_component_object.with":"以之翻译","tree_decorator.alter_ground.provider":"状态声明","tree_decorator.beehive.probability":"概率","tree_decorator.cocoa.probability":"概率","tree_decorator.type":"类型","true":"是","trunk_placer.base_height":"基础高度","trunk_placer.height_rand_a":"水平随机高度","trunk_placer.height_rand_b":"竖直随机高度","trunk_placer.type":"类型","uniform_int.base":"基值","uniform_int.number":"常数","uniform_int.object":"均匀分布","uniform_int.spread":"扩散","unset":"未指定","update.pack_format":"将pack_format升级到%0%","world.bonus_chest":"生成奖励箱","world.generate_features":"生成结构","world.seed":"种子","world_settings.bonus_chest":"生成奖励箱","world_settings.dimensions":"维度","world_settings.generate_features":"生成地物","world_settings.seed":"世界种子","worldgen.warning":"本特性为高度实验性的特性,很不稳定,在未来的版本中随时会有变动。请做好游戏在创建世界时崩溃的准备。","worldgen/biome_source.checkerboard":"棋盘","worldgen/biome_source.checkerboard.help":"以棋盘状区块图案生成的生物群系。","worldgen/biome_source.fixed":"固定","worldgen/biome_source.fixed.help":"整个世界只有单一生物群系。","worldgen/biome_source.multi_noise":"多重噪声","worldgen/biome_source.multi_noise.help":"可配置参数的自定义生物群系分布。","worldgen/biome_source.the_end":"末地","worldgen/biome_source.the_end.help":"末地的生物群系分布。","worldgen/biome_source.vanilla_layered":"原版分层","worldgen/biome_source.vanilla_layered.help":"主世界的生物群系分布。","worldgen/block_placer_type.column_placer":"柱状","worldgen/block_placer_type.double_plant_placer":"双层植物","worldgen/block_placer_type.simple_block_placer":"简单","worldgen/block_state_provider_type.forest_flower_provider":"繁花森林方块状态声明","worldgen/block_state_provider_type.plain_flower_provider":"平原花方块状态声明","worldgen/block_state_provider_type.rotated_block_provider":"旋转方块状态声明","worldgen/block_state_provider_type.simple_state_provider":"简单方块状态声明","worldgen/block_state_provider_type.weighted_state_provider":"加权方块状态声明","worldgen/carver.canyon":"峡谷","worldgen/carver.cave":"洞穴","worldgen/carver.nether_cave":"下界洞穴","worldgen/carver.underwater_canyon":"水下峡谷","worldgen/carver.underwater_cave":"水下洞穴","worldgen/chunk_generator.debug":"调试世界","worldgen/chunk_generator.flat":"超平坦","worldgen/chunk_generator.noise":"默认","worldgen/feature_size_type.three_layers_feature_size":"三层","worldgen/feature_size_type.two_layers_feature_size":"两层","worldgen/foliage_placer_type.acacia_foliage_placer":"金合欢","worldgen/foliage_placer_type.blob_foliage_placer":"橡树/白桦","worldgen/foliage_placer_type.bush_foliage_placer":"金字塔形","worldgen/foliage_placer_type.dark_oak_foliage_placer":"深色橡树","worldgen/foliage_placer_type.fancy_foliage_placer":"球形","worldgen/foliage_placer_type.jungle_foliage_placer":"丛林","worldgen/foliage_placer_type.mega_pine_foliage_placer":"双层稀疏云杉","worldgen/foliage_placer_type.pine_foliage_placer":"稀疏云杉","worldgen/foliage_placer_type.spruce_foliage_placer":"云杉","worldgen/structure_pool_element.empty_pool_element":"空","worldgen/structure_pool_element.feature_pool_element":"地物","worldgen/structure_pool_element.legacy_single_pool_element":"单个(旧版)","worldgen/structure_pool_element.list_pool_element":"列表","worldgen/structure_pool_element.single_pool_element":"单个","worldgen/structure_processor.blackstone_replace":"替代黑石","worldgen/structure_processor.block_age":"做旧方块","worldgen/structure_processor.block_ignore":"忽略方块","worldgen/structure_processor.block_rot":"随机移除方块","worldgen/structure_processor.gravity":"重力","worldgen/structure_processor.jigsaw_replacement":"拼图替换","worldgen/structure_processor.lava_submerged_block":"熔岩湮没方块","worldgen/structure_processor.nop":"无","worldgen/structure_processor.rule":"规则","worldgen/tree_decorator_type.alter_ground":"地面方块替换","worldgen/tree_decorator_type.beehive":"蜂箱","worldgen/tree_decorator_type.cocoa":"可可果","worldgen/tree_decorator_type.leave_vine":"树叶藤蔓","worldgen/tree_decorator_type.trunk_vine":"树干藤蔓","worldgen/trunk_placer_type.dark_oak_trunk_placer":"深色橡木型","worldgen/trunk_placer_type.fancy_trunk_placer":"多分叉型","worldgen/trunk_placer_type.forking_trunk_placer":"单分叉型","worldgen/trunk_placer_type.giant_trunk_placer":"2×2竖直型","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"大丛林木型","worldgen/trunk_placer_type.straight_trunk_placer":"竖直型"}');export default e; +//# sourceMappingURL=zh-cn.655950f4.js.map diff --git a/assets/zh-cn.655950f4.js.map b/assets/zh-cn.655950f4.js.map new file mode 100644 index 00000000..7fbd29ee --- /dev/null +++ b/assets/zh-cn.655950f4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zh-cn.655950f4.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/zh-tw.2f743133.js b/assets/zh-tw.2f743133.js new file mode 100644 index 00000000..044abc18 --- /dev/null +++ b/assets/zh-tw.2f743133.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement":"進度","copy":"複製","dimension":"維度","dimension-type":"維度類型","download":"下載","fields":"欄位","item-modifier":"物品修飾器","language":"語言","loot-table":"戰利品表","predicate":"述詞","preview":"可視化","preview.depth":"深度","preview.scale":"比例","preview.show_density":"顯示密度","preview.width":"寬度","redo":"重做","reset":"重設","settings.fields.description":"客製化進階欄位設定","settings.fields.name":"名稱","settings.fields.path":"上下文","share":"分享","title.generator":"%0% 生成器","title.home":"資料包生成器","undo":"復原","world":"世界設定","worldgen/biome":"生態域","worldgen/carver":"地形雕刻器","worldgen/feature":"地物","worldgen/noise-settings":"噪聲設定","worldgen/processor-list":"處理器列表","worldgen/structure-feature":"結構地物","worldgen/surface-builder":"地表生成器","worldgen/template-pool":"模板池"}');export default e; +//# sourceMappingURL=zh-tw.2f743133.js.map diff --git a/assets/zh-tw.2f743133.js.map b/assets/zh-tw.2f743133.js.map new file mode 100644 index 00000000..e8bcfe31 --- /dev/null +++ b/assets/zh-tw.2f743133.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zh-tw.2f743133.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/zh-tw.a8f28612.js b/assets/zh-tw.a8f28612.js new file mode 100644 index 00000000..12378afa --- /dev/null +++ b/assets/zh-tw.a8f28612.js @@ -0,0 +1,2 @@ +var e=JSON.parse('{"advancement.criteria":"準則","advancement.display":"顯示","advancement.display.announce_to_chat":"在聊天欄提示","advancement.display.background":"背景","advancement.display.description":"描述","advancement.display.frame":"框架類型","advancement.display.frame.challenge":"挑戰","advancement.display.frame.goal":"目標","advancement.display.frame.task":"進度","advancement.display.help":"若存在,該進度會在進度介面中展示。","advancement.display.hidden":"隱藏","advancement.display.icon":"圖示","advancement.display.icon.item":"圖示物品","advancement.display.icon.nbt":"圖示物品 NBT","advancement.display.show_toast":"顯示右上角提示訊息","advancement.display.title":"標題","advancement.parent":"父進度","advancement.rewards":"獎勵","advancement.rewards.experience":"經驗","advancement.rewards.function":"函數","advancement.rewards.loot":"戰利品表","advancement.rewards.recipes":"配方","advancement_trigger.bee_nest_destroyed":"摧毀蜂窩","advancement_trigger.bred_animals":"繁殖動物","advancement_trigger.brewed_potion":"釀製藥水","advancement_trigger.changed_dimension":"改變維度","advancement_trigger.channeled_lightning":"喚雷附魔擊殺實體","advancement_trigger.construct_beacon":"構建烽火台結構","advancement_trigger.consume_item":"消耗物品","advancement_trigger.cured_zombie_villager":"治療殭屍村民","advancement_trigger.effects_changed":"狀態效果改變","advancement_trigger.enchanted_item":"附魔物品","advancement_trigger.enter_block":"進入方塊","advancement_trigger.entity_hurt_player":"實體傷害玩家","advancement_trigger.entity_killed_player":"實體殺死玩家","advancement_trigger.filled_bucket":"填滿鐵桶","advancement_trigger.fishing_rod_hooked":"釣竿勾住東西","advancement_trigger.hero_of_the_village":"村莊英雄","advancement_trigger.impossible":"不可達成","advancement_trigger.inventory_changed":"物品欄改變","advancement_trigger.item_durability_changed":"物品耐久度改變","advancement_trigger.item_used_on_block":"對方塊使用物品","advancement_trigger.killed_by_crossbow":"使用弩箭擊殺","advancement_trigger.levitation":"懸浮","advancement_trigger.location":"位置","advancement_trigger.nether_travel":"地獄旅行","advancement_trigger.placed_block":"放置方塊","advancement_trigger.player_generates_container_loot":"玩家生成容器戰利品","advancement_trigger.player_hurt_entity":"玩家傷害實體","advancement_trigger.player_killed_entity":"玩家殺死實體","advancement_trigger.recipe_unlocked":"配方解鎖","advancement_trigger.safely_harvest_honey":"安全地採集蜂蜜","advancement_trigger.shot_crossbow":"使用弩","advancement_trigger.slept_in_bed":"睡覺","advancement_trigger.slide_down_block":"從蜂蜜塊上滑下","advancement_trigger.summoned_entity":"召喚實體","advancement_trigger.tame_animal":"馴服動物","advancement_trigger.target_hit":"擊中標靶","advancement_trigger.thrown_item_picked_up_by_entity":"丟出的物品被實體撿起","advancement_trigger.tick":"刻","advancement_trigger.used_ender_eye":"使用終界之眼","advancement_trigger.used_totem":"使用不死圖騰","advancement_trigger.villager_trade":"村民交易","advancement_trigger.voluntary_exile":"引發突襲","attribute.generic_armor":"盔甲防禦點數","attribute.generic_armor_toughness":"盔甲強度","attribute.generic_attack_damage":"普通攻擊傷害","attribute.generic_attack_knockback":"擊退距離","attribute.generic_attack_speed":"攻擊速度","attribute.generic_flying_speed":"飛行速度","attribute.generic_follow_range":"追蹤範圍","attribute.generic_knockback_resistance":"抗擊退","attribute.generic_luck":"幸運","attribute.generic_max_health":"最高生命值","attribute.generic_movement_speed":"移動速度","attribute.horse.jump_strength":"跳躍力","attribute.zombie.spawn_reinforcements":"殭屍增援可能性","attribute_modifier.amount":"數量","attribute_modifier.attribute":"屬性","attribute_modifier.name":"名稱","attribute_modifier.operation":"運算模式","attribute_modifier.operation.addition":"加減數量","attribute_modifier.operation.multiply_base":"乘上數量","attribute_modifier.operation.multiply_total":"乘上(數量 + 1)","attribute_modifier.slot":"欄位","attribute_modifier.slot.list":"多個","attribute_modifier.slot.string":"單個","badge.experimental":"實驗性","badge.unstable":"不穩定","biome.carvers":"地形雕刻器","biome.carvers.air":"空氣","biome.carvers.liquid":"液體","biome.category":"分類","biome.creature_spawn_probability":"生物生成機率","biome.depth":"深度","biome.depth.help":"使地形抬升或下沉。正值被認為是陸地,負值被認為是海洋。","biome.downfall":"降水(此引數控制草/樹葉的顏色與火的蔓延速度)","biome.effects":"環境效果","biome.effects.additions_sound":"附加音效","biome.effects.additions_sound.sound":"音效","biome.effects.additions_sound.tick_chance":"每刻播放的機率","biome.effects.ambient_sound":"環境音效","biome.effects.fog_color":"迷霧顏色","biome.effects.foliage_color":"樹葉顏色","biome.effects.grass_color":"草的顏色","biome.effects.grass_color_modifier":"草顏色修飾子","biome.effects.grass_color_modifier.dark_forest":"黑森林","biome.effects.grass_color_modifier.none":"無","biome.effects.grass_color_modifier.swamp":"沼澤","biome.effects.mood_sound":"氛圍音效","biome.effects.mood_sound.block_search_extent":"播放位置搜尋半徑","biome.effects.mood_sound.offset":"偏移","biome.effects.mood_sound.sound":"音效","biome.effects.mood_sound.tick_delay":"刻延時","biome.effects.music":"音樂","biome.effects.music.max_delay":"最大延時","biome.effects.music.min_delay":"最小延時","biome.effects.music.replace_current_music":"替換當前音樂","biome.effects.music.sound":"音效","biome.effects.particle":"粒子","biome.effects.particle.options":"選項","biome.effects.particle.options.type":"粒子類型","biome.effects.particle.probability":"概率","biome.effects.sky_color":"天空顏色","biome.effects.water_color":"水的顏色","biome.effects.water_fog_color":"水中迷霧顏色","biome.features":"地物","biome.features.entry":"步驟 %0%","biome.features.entry.entry":"地物","biome.player_spawn_friendly":"玩家生成偏好","biome.player_spawn_friendly.help":"若為 true,世界出生點會優先選定在此生態域內。","biome.precipitation":"降雨量","biome.precipitation.none":"無","biome.precipitation.rain":"雨","biome.precipitation.snow":"雪","biome.scale":"規模","biome.scale.help":"豎直方向上拉伸地形。值越小,地形越平整。","biome.spawn_costs":"生成代價","biome.spawn_costs.charge":"電荷量","biome.spawn_costs.energy_budget":"電勢預算","biome.spawners":"生成器","biome.spawners.ambient":"環境生物","biome.spawners.creature":"生物(非怪物)","biome.spawners.entry":"生成","biome.spawners.entry.maxCount":"最大數量","biome.spawners.entry.minCount":"最小數量","biome.spawners.entry.type":"類型","biome.spawners.entry.weight":"權重","biome.spawners.misc":"雜項","biome.spawners.monster":"怪物","biome.spawners.water_ambient":"水下環境生物","biome.spawners.water_creature":"水生生物","biome.starts":"起始結構","biome.starts.entry":"結構","biome.starts.help":"配置過的結構地物的列表。","biome.surface_builder":"地表生成器","biome.temperature":"溫度","biome.temperature_modifier":"溫度修飾子","biome.temperature_modifier.frozen":"冰凍","biome.temperature_modifier.none":"無","block.block":"方塊 ID","block.nbt":"NBT","block.state":"方塊狀態","block.tag":"方塊標籤","block_placer.column_placer.extra_size":"額外尺寸","block_placer.column_placer.min_size":"最小尺寸","block_placer.type":"類型","block_state.Name":"名稱","block_state.Properties":"屬性","block_state_provider.rotated_block_provider.state":"狀態","block_state_provider.simple_state_provider.state":"狀態","block_state_provider.type":"類型","block_state_provider.weighted_state_provider.entries":"項目","block_state_provider.weighted_state_provider.entries.entry.data":"狀態","block_state_provider.weighted_state_provider.entries.entry.weight":"權重","carver.config":"配置","carver.config.probability":"概率","carver.type":"類型","children":"子","children.entry":"項目","condition.alternative.terms":"子條件","condition.block_state_property.block":"方塊","condition.block_state_property.properties":"方塊狀態","condition.condition":"條件","condition.damage_source":"傷害來源","condition.entity_properties.entity":"實體","condition.entity_scores.entity":"實體","condition.entity_scores.scores":"分數","condition.entry":"述詞","condition.inverted.term":"條件","condition.item":"物品","condition.killed_by_player.inverse":"取反","condition.list":"多個","condition.location":"位置","condition.location_check.offsetX":"X 座標偏移","condition.location_check.offsetY":"Y 座標偏移","condition.location_check.offsetZ":"Z 座標偏移","condition.object":"單個","condition.random_chance.chance":"機率","condition.random_chance_with_looting.chance":"機率","condition.random_chance_with_looting.looting_multiplier":"每等級掠奪附魔增加的數","condition.reference.name":"述詞 ID","condition.table_bonus.chances":"機率","condition.table_bonus.chances.entry":"機率","condition.table_bonus.enchantment":"附魔","condition.time_check.period":"週期","condition.time_check.period.help":"可選。若指定,在比較前會先將遊戲的時間以該數取模(例如,若設定為 24000,指定的值將會被運算為一天中的時間)。","condition.time_check.value":"值","condition.value_check.range":"範圍","condition.value_check.value":"值","condition.weather_check.raining":"下雨","condition.weather_check.thundering":"雷雨","conditions":"條件","conditions.entry":"條件","conditions.list":"條件","conditions.object":"舊版","copy_source.block_entity":"方塊實體","copy_source.direct_killer":"直接擊殺實體","copy_source.killer":"擊殺實體","copy_source.killer_player":"擊殺玩家","copy_source.this":"自身","criterion.bee_nest_destroyed.block":"方塊","criterion.bee_nest_destroyed.num_bees_inside":"內部蜜蜂的數量","criterion.bred_animals.child":"幼體","criterion.bred_animals.parent":"父或母","criterion.bred_animals.partner":"配偶","criterion.brewed_potion.potion":"藥水 ID","criterion.changed_dimension.from":"出發維度","criterion.changed_dimension.to":"到達維度","criterion.channeled_lightning.victims":"受害實體","criterion.channeled_lightning.victims.entry":"實體","criterion.conditions":"條件","criterion.construct_beacon.beacon_level":"金字塔等級","criterion.consume_item.item":"物品","criterion.cured_zombie_villager.villager":"村民","criterion.cured_zombie_villager.zombie":"殭屍","criterion.effects_changed.effects":"狀態效果","criterion.enchanted_item.item":"物品","criterion.enchanted_item.levels":"經驗等級","criterion.enter_block.block":"方塊","criterion.enter_block.state":"方塊狀態","criterion.entity_hurt_player.damage":"傷害","criterion.entity_killed_player.entity":"源實體","criterion.entity_killed_player.killing_blow":"傷害類型","criterion.filled_bucket.item":"物品","criterion.fishing_rod_hooked.entity":"被拉的實體","criterion.fishing_rod_hooked.item":"物品","criterion.hero_of_the_village.location":"位置","criterion.inventory_changed.items":"物品","criterion.inventory_changed.items.entry":"物品","criterion.inventory_changed.slots":"欄位","criterion.inventory_changed.slots.empty":"空欄位的數量","criterion.inventory_changed.slots.full":"滿欄位的數量","criterion.inventory_changed.slots.occupied":"已用欄位的數量","criterion.item_durability_changed.delta":"差值","criterion.item_durability_changed.durability":"耐久度","criterion.item_durability_changed.item":"物品","criterion.item_used_on_block.item":"物品","criterion.item_used_on_block.location":"位置","criterion.killed_by_crossbow.unique_entity_types":"實體種類的數量","criterion.killed_by_crossbow.victims":"受害實體","criterion.killed_by_crossbow.victims.entry":"實體","criterion.levitation.distance":"距離","criterion.levitation.duration":"維持時間","criterion.location.location":"位置","criterion.nether_travel.distance":"距離","criterion.nether_travel.entered":"進入位置","criterion.nether_travel.exited":"退出位置","criterion.placed_block.block":"方塊","criterion.placed_block.item":"物品","criterion.placed_block.location":"位置","criterion.placed_block.state":"方塊狀態","criterion.player":"玩家","criterion.player_generates_container_loot.loot_table":"戰利品表","criterion.player_hurt_entity.damage":"傷害","criterion.player_hurt_entity.entity":"受害實體","criterion.player_killed_entity.entity":"受害實體","criterion.player_killed_entity.killing_blow":"傷害類型","criterion.recipe_unlocked.recipe":"配方","criterion.rod":"釣竿","criterion.safely_harvest_honey.block":"方塊","criterion.safely_harvest_honey.item":"物品","criterion.shot_crossbow.item":"物品","criterion.slept_in_bed.location":"位置","criterion.slide_down_block.block":"方塊","criterion.summoned_entity.entity":"實體","criterion.tame_animal.entity":"動物","criterion.target_hit.projectile":"投射物","criterion.target_hit.shooter":"射擊者","criterion.target_hit.signal_strength":"訊號強度","criterion.thrown_item_picked_up_by_entity.entity":"實體","criterion.thrown_item_picked_up_by_entity.item":"物品","criterion.trigger":"觸發器","criterion.used_ender_eye.distance":"距離","criterion.used_totem.item":"圖騰物品","criterion.villager_trade.item":"購得物品","criterion.villager_trade.villager":"村民","criterion.voluntary_exile.location":"位置","damage.blocked":"是否被阻擋","damage.dealt":"應當受到傷害","damage.source_entity":"源實體","damage.taken":"實際受到傷害","damage.type":"傷害類型","damage_source.bypasses_armor":"破甲","damage_source.bypasses_invulnerability":"虛空","damage_source.bypasses_magic":"飢餓","damage_source.direct_entity":"直接來源實體","damage_source.is_explosion":"爆炸","damage_source.is_fire":"燃燒","damage_source.is_lightning":"雷擊","damage_source.is_magic":"魔法","damage_source.is_projectile":"投射物","damage_source.source_entity":"根本來源實體","decorator.carving_mask.step":"生成步驟","decorator.config":"配置","decorator.count.count":"數量","decorator.count_extra.count":"數量","decorator.count_extra.extra_chance":"額外機率","decorator.count_extra.extra_count":"額外數量","decorator.count_multilayer.count":"數量","decorator.count_noise.above_noise":"閾值上噪聲","decorator.count_noise.below_noise":"閾值下噪聲","decorator.count_noise.noise_level":"噪聲等級","decorator.count_noise_biased.noise_factor":"噪聲因子","decorator.count_noise_biased.noise_offset":"噪聲偏移量","decorator.count_noise_biased.noise_to_count_ratio":"噪數比","decorator.decorated.inner":"內部","decorator.decorated.outer":"外部","decorator.depth_average.baseline":"基準線","decorator.depth_average.spread":"擴散","decorator.glowstone.count":"數量","decorator.type":"類型","dimension":"維度","dimension.generator":"生成器","dimension.generator.biome_source":"生態域源","dimension.overworld":"主世界","dimension.the_end":"終末之界","dimension.the_nether":"地獄","dimension.type":"維度類型","dimension.type.object":"自訂","dimension.type.string":"預設","dimension_type.ambient_light":"環境光","dimension_type.ambient_light.help":"位於 0 與 1 之間的值。","dimension_type.bed_works":"床有效","dimension_type.bed_works.help":"若為 true,玩家可以使用床來設定重生點並跳過夜晚。若為 false,則使用床會爆炸。","dimension_type.coordinate_scale":"座標縮放","dimension_type.coordinate_scale.help":"在維度間傳送時(使用地獄傳送門或 /execute in)對座標使用的縮放倍數。","dimension_type.effects":"環境效果","dimension_type.effects.help":"天空效果","dimension_type.effects.overworld":"主世界","dimension_type.effects.the_end":"終末之界","dimension_type.effects.the_nether":"地獄","dimension_type.fixed_time":"固定時間","dimension_type.fixed_time.help":"設定該值會導致太陽處在某一固定位置。","dimension_type.has_ceiling":"具有天花板","dimension_type.has_ceiling.help":"影響天氣,地圖物品和重生規則。","dimension_type.has_raids":"生成突襲","dimension_type.has_raids.help":"若為 true,擁有不祥之兆效果的玩家會導致突襲。","dimension_type.has_skylight":"具有天空光照","dimension_type.has_skylight.help":"影響天氣,光照引擎和重生規則。","dimension_type.height":"高度","dimension_type.infiniburn":"無盡燃燒方塊","dimension_type.infiniburn.help":"定義能夠使火在其上永久燃燒的方塊標籤。","dimension_type.logical_height":"合規高度","dimension_type.logical_height.help":"在此高度以上,傳送門不會生成,歌萊果也不再能傳送玩家。","dimension_type.min_y":"最小高度","dimension_type.name":"名稱","dimension_type.natural":"自然","dimension_type.natural.help":"若設定為 true,傳送門中會生成殭屍化豬布林。若設定為 false,指南針與時鐘會不斷隨機旋轉。","dimension_type.piglin_safe":"豬布林不轉換","dimension_type.piglin_safe.help":"若為 false,豬布林會開始顫抖並轉化為殭屍化豬布林。","dimension_type.respawn_anchor_works":"重生錨有效","dimension_type.respawn_anchor_works.help":"若為 true,玩家可以充能並使用重生錨來設定重生點。若為 false,使用重生錨會爆炸。","dimension_type.ultrawarm":"極熱","dimension_type.ultrawarm.help":"若設定為 true,水會蒸發且海綿會變乾。","distance.absolute":"絕對距離","distance.horizontal":"水平距離","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"親水性","enchantment.bane_of_arthropods":"節肢剋星","enchantment.binding_curse":"綁定詛咒","enchantment.blast_protection":"爆炸保護","enchantment.channeling":"喚雷","enchantment.depth_strider":"深海漫遊","enchantment.efficiency":"效率","enchantment.enchantment":"附魔","enchantment.feather_falling":"輕盈","enchantment.fire_aspect":"燃燒","enchantment.fire_protection":"火焰保護","enchantment.flame":"火焰","enchantment.fortune":"幸運","enchantment.frost_walker":"冰霜行者","enchantment.impaling":"魚叉","enchantment.infinity":"無限","enchantment.knockback":"擊退","enchantment.levels":"等級","enchantment.looting":"掠奪","enchantment.loyalty":"忠誠","enchantment.luck_of_the_sea":"海洋的祝福","enchantment.lure":"魚餌","enchantment.mending":"修補","enchantment.multishot":"分裂箭矢","enchantment.piercing":"貫穿","enchantment.power":"強力","enchantment.projectile_protection":"投射物保護","enchantment.protection":"保護","enchantment.punch":"衝擊","enchantment.quick_charge":"快速上弦","enchantment.respiration":"水中呼吸","enchantment.riptide":"波濤","enchantment.sharpness":"鋒利","enchantment.silk_touch":"絲綢之觸","enchantment.smite":"不死剋星","enchantment.sweeping":"橫掃之刃","enchantment.thorns":"尖刺","enchantment.unbreaking":"耐久","enchantment.vanishing_curse":"消失詛咒","entity.distance":"到執行位置的距離","entity.effects":"狀態效果","entity.equipment":"裝備","entity.fishing_hook":"浮標","entity.fishing_hook.in_open_water":"位於開闊水域","entity.flags":"實體特徵","entity.isBaby":"是幼體","entity.isOnFire":"正在著火","entity.isSneaking":"正在潛行","entity.isSprinting":"正在疾走","entity.isSwimming":"正在游泳","entity.location":"位置","entity.nbt":"NBT","entity.player":"玩家","entity.targeted_entity":"目標實體","entity.team":"隊伍","entity.type":"實體","entity.vehicle":"載具","entity_source.direct_killer":"直接擊殺實體","entity_source.killer":"擊殺者","entity_source.killer_player":"擊殺者玩家","entity_source.this":"自身","entry":"項目","error":"錯誤","error.expected_boolean":"期望一個布林值","error.expected_integer":"期望一個整數","error.expected_json":"期望 JSON","error.expected_list":"期望一個陣列","error.expected_number":"期望一個數字","error.expected_object":"期望一個物件","error.expected_range":"期望一個範圍","error.expected_string":"期望一個字串","error.expected_uniform_int":"期望一個均勻分布整數","error.height_multiple":"高度必須是 %0% 的倍數","error.invalid_binomial":"不能使用二項分布型的範圍","error.invalid_empty_list":"不能使用空陣列","error.invalid_empty_string":"不能使用空字串","error.invalid_enum_option":"選項「%0%」無效","error.invalid_exact":"不能使用常數型的範圍","error.invalid_list_range.exact":"期望一個長度為 %1% 的串列","error.invalid_list_range.larger":"串列長度 %0% 比最大值 %1% 大","error.invalid_list_range.smaller":"串列長度 %0% 比最小值 %1% 小","error.invalid_number_range.between":"期望一個位於 %0% 與 %1% 之間的數字","error.invalid_number_range.larger":"值 %0% 比最大值 %1% 大","error.invalid_number_range.smaller":"值 %0% 比最小值 %1% 小","error.invalid_pattern":"字串無效:%0%","error.logical_height":"合規高度不能高於高度","error.min_y_multiple":"最小高度必須是 %0% 的倍數","error.min_y_plus_height":"最小高度 + 高度(Min Y + Height)不能高於 %0%","error.recipe.invalid_key":"只能使用單個字元作為鍵","error.separation_smaller_spacing":"間隔(separation)的值必須小於空位(spacing)","false":"否","feature.bamboo.probability":"概率","feature.basalt_columns.height":"高度","feature.basalt_columns.reach":"範圍","feature.block_pile.state_provider":"狀態聲明","feature.config":"配置","feature.decorated.decorator":"裝飾器","feature.decorated.feature":"地物","feature.delta_feature.contents":"三角洲內部方塊","feature.delta_feature.rim":"三角洲邊緣方塊","feature.delta_feature.rim_size":"邊緣尺寸","feature.delta_feature.size":"尺寸","feature.disk.half_height":"半高","feature.disk.radius":"半徑","feature.disk.state":"狀態","feature.disk.targets":"目標","feature.disk.targets.entry":"狀態","feature.dripstone_cluster.density":"密度","feature.dripstone_cluster.dripstone_block_layer_thickness":"方塊層厚度","feature.dripstone_cluster.floor_to_ceiling_search_range":"搜尋範圍","feature.dripstone_cluster.floor_to_ceiling_search_range.help":"地板至天花板的搜尋範圍。","feature.dripstone_cluster.height":"高度","feature.dripstone_cluster.height_deviation":"高度偏差","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column":"石柱機率距離","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias":"高度偏差距離","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias.help":"影響高度偏差的離中心的最大距離。","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff":"最大高度差","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff.help":"石筍和鐘乳石的最大高度差。","feature.dripstone_cluster.radius":"半徑","feature.dripstone_cluster.wetness":"溼度","feature.dripstone_cluster.wetness_deviation":"溼度偏差","feature.dripstone_cluster.wetness_mean":"溼度平均值","feature.emerald_ore.state":"狀態","feature.emerald_ore.target":"目標","feature.end_gateway.exact":"精確傳送","feature.end_gateway.exit":"出口位置","feature.end_spike.crystal_beam_target":"終界水晶光柱目標","feature.end_spike.crystal_invulnerable":"終界水晶無敵狀態","feature.end_spike.spikes":"終界黑曜石柱","feature.end_spike.spikes.entry":"終界黑曜石柱","feature.end_spike.spikes.entry.centerX":"中心 X 座標","feature.end_spike.spikes.entry.centerZ":"中心 Z 座標","feature.end_spike.spikes.entry.guarded":"鐵柵欄保護","feature.end_spike.spikes.entry.height":"高度","feature.end_spike.spikes.entry.radius":"半徑","feature.fill_layer.height":"高度","feature.fill_layer.state":"狀態","feature.flower.blacklist":"黑名單","feature.flower.block_placer":"方塊放置器","feature.flower.can_replace":"可取代","feature.flower.need_water":"需要水","feature.flower.project":"投影","feature.flower.state_provider":"狀態聲明","feature.flower.tries":"嘗試次數","feature.flower.whitelist":"白名單","feature.flower.xspread":"X 軸擴散","feature.flower.yspread":"Y 軸擴散","feature.flower.zspread":"Z 軸擴散","feature.forest_rock.state":"狀態","feature.huge_brown_mushroom.cap_provider":"菌蓋聲明","feature.huge_brown_mushroom.foliage_radius":"菌蓋大小","feature.huge_brown_mushroom.stem_provider":"菌柄聲明","feature.huge_fungus.decor_state":"裝飾","feature.huge_fungus.hat_state":"頂部","feature.huge_fungus.planted":"已種植","feature.huge_fungus.stem_state":"蕈柄","feature.huge_fungus.valid_base_block":"有效底部方塊","feature.huge_red_mushroom.cap_provider":"菌蓋聲明","feature.huge_red_mushroom.foliage_radius":"菌蓋大小","feature.huge_red_mushroom.stem_provider":"菌柄聲明","feature.ice_patch.half_height":"半高","feature.ice_patch.radius":"半徑","feature.ice_patch.state":"狀態","feature.ice_patch.targets":"目標","feature.ice_patch.targets.entry":"狀態","feature.iceberg.state":"狀態","feature.lake.state":"狀態","feature.large_dripstone.column_radius":"石柱半徑","feature.large_dripstone.floor_to_ceiling_search_range":"搜尋範圍","feature.large_dripstone.floor_to_ceiling_search_range.help":"地板至天花板的搜尋範圍。","feature.large_dripstone.height_scale":"高度比例","feature.large_dripstone.max_column_radius_to_cave_height_ratio":"半徑與洞穴高度比","feature.large_dripstone.min_bluntness_for_wind":"風的最小鈍度","feature.large_dripstone.min_radius_for_wind":"風的最小半徑","feature.large_dripstone.stalactite_bluntness":"鐘乳石鈍度","feature.large_dripstone.stalagmite_bluntness":"石筍鈍度","feature.large_dripstone.wind_speed":"風速","feature.nether_forest_vegetation.state_provider":"狀態聲明","feature.netherrack_replace_blobs.radius":"半徑","feature.netherrack_replace_blobs.state":"狀態","feature.netherrack_replace_blobs.target":"目標","feature.no_surface_ore.size":"尺寸","feature.no_surface_ore.state":"狀態","feature.no_surface_ore.target":"目標","feature.object":"自訂","feature.ore.size":"尺寸","feature.random_boolean_selector.feature_false":"地物 1","feature.random_boolean_selector.feature_true":"地物 2","feature.random_patch.blacklist":"黑名單","feature.random_patch.block_placer":"方塊放置器","feature.random_patch.can_replace":"可取代","feature.random_patch.need_water":"需要水","feature.random_patch.project":"投影","feature.random_patch.state_provider":"狀態聲明","feature.random_patch.tries":"嘗試次數","feature.random_patch.whitelist":"白名單","feature.random_patch.xspread":"X 軸擴散","feature.random_patch.yspread":"Y 軸擴散","feature.random_patch.zspread":"Z 軸擴散","feature.random_selector.default":"預設","feature.random_selector.features":"地物","feature.random_selector.features.entry":"地物","feature.random_selector.features.entry.chance":"機率","feature.random_selector.features.entry.feature":"地物","feature.sea_pickle.count":"數量","feature.seegrass.probability":"概率","feature.simple_block.place_in":"將要放置的位置的方塊","feature.simple_block.place_in.entry":"狀態","feature.simple_block.place_on":"下方的方塊","feature.simple_block.place_on.entry":"狀態","feature.simple_block.place_under":"上方的方塊","feature.simple_block.place_under.entry":"狀態","feature.simple_block.to_place":"將要放置的方塊","feature.simple_random_selector.features":"地物","feature.simple_random_selector.features.entry":"地物","feature.small_dripstone.empty_space_search_radius":"空域搜尋半徑","feature.small_dripstone.max_offset_from_origin":"距來源的最大偏移","feature.small_dripstone.max_placements":"最大放置","feature.spring_feature.hole_count":"坑洞數量","feature.spring_feature.required_block_below":"下方需要方塊","feature.spring_feature.rock_count":"岩石數量","feature.spring_feature.state":"狀態","feature.spring_feature.valid_blocks":"有效方塊","feature.string":"參照","feature.tree.decorators":"裝飾器","feature.tree.decorators.entry":"樹裝飾器","feature.tree.foliage_placer":"樹葉放置器","feature.tree.heightmap":"高度圖","feature.tree.ignore_vines":"忽略藤蔓","feature.tree.leaves_provider":"樹葉方塊聲明","feature.tree.max_water_depth":"樹生成的最大水深","feature.tree.minimum_size":"最小尺寸","feature.tree.minimum_size.limit":"限制","feature.tree.minimum_size.lower_size":"下部尺寸","feature.tree.minimum_size.middle_size":"中部尺寸","feature.tree.minimum_size.min_clipped_height":"最小剪裁高度","feature.tree.minimum_size.type":"最小尺寸","feature.tree.minimum_size.upper_limit":"上部限制","feature.tree.minimum_size.upper_size":"上部尺寸","feature.tree.trunk_placer":"樹幹放置器","feature.tree.trunk_provider":"樹幹方塊聲明","feature.type":"類型","fluid.fluid":"流體 ID","fluid.state":"流體狀態","fluid.tag":"流體標籤","fluid_state.Name":"名稱","fluid_state.Properties":"屬性","foliage_placer.crown_height":"樹冠高度","foliage_placer.height":"高度","foliage_placer.offset":"偏移","foliage_placer.radius":"半徑","foliage_placer.trunk_height":"樹幹高度","foliage_placer.type":"類型","function.apply_bonus.enchantment":"附魔","function.apply_bonus.formula":"公式","function.apply_bonus.formula.binomial_with_bonus_count":"帶獎勵數量的二項分布","function.apply_bonus.formula.ore_drops":"礦物掉落","function.apply_bonus.formula.uniform_bonus_count":"帶獎勵數量的均勻分布","function.apply_bonus.parameters":"引數","function.apply_bonus.parameters.bonusMultiplier":"乘數","function.apply_bonus.parameters.extra":"額外值","function.apply_bonus.parameters.probability":"概率","function.copy_name.source":"源","function.copy_nbt.ops":"NBT 操作","function.copy_nbt.ops.entry":"操作","function.copy_nbt.source":"源","function.copy_state.block":"方塊","function.copy_state.properties":"方塊狀態","function.copy_state.properties.entry":"屬性","function.enchant_randomly.enchantments":"可選附魔","function.enchant_randomly.enchantments.entry":"附魔","function.enchant_with_levels.levels":"等級","function.enchant_with_levels.treasure":"寶藏型附魔","function.exploration_map.decoration":"圖示","function.exploration_map.destination":"目標","function.exploration_map.search_radius":"搜尋半徑","function.exploration_map.skip_existing_chunks":"跳過已生成區塊","function.exploration_map.zoom":"縮放等級","function.fill_player_head.entity":"實體","function.function":"函數","function.limit_count.limit":"限額","function.list":"多個","function.looting_enchant.count":"數量","function.looting_enchant.limit":"限制","function.object":"單個","function.set_attributes.modifiers":"屬性修飾符","function.set_attributes.modifiers.entry":"屬性修飾符","function.set_banner_pattern.append":"追加","function.set_banner_pattern.patterns":"圖案","function.set_contents.entries":"內容物","function.set_contents.entries.entry":"項目","function.set_count.add":"加上","function.set_count.add.help":"若為 true,將會相對於目前的物品數量更改","function.set_count.count":"數量","function.set_damage.add":"加上","function.set_damage.add.help":"若為 true,將會相對於目前的損傷值更改","function.set_damage.damage":"損傷值","function.set_data.data":"資料值","function.set_enchantments.add":"加上","function.set_enchantments.add.help":"若為 true,將會相對於目前的等級更改","function.set_enchantments.enchantments":"附魔","function.set_loot_table.name":"戰利品表名","function.set_loot_table.seed":"種子碼","function.set_lore.entity":"實體","function.set_lore.lore":"物品描述","function.set_lore.lore.entry":"一行","function.set_lore.replace":"覆蓋","function.set_name.entity":"實體","function.set_name.name":"名稱","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"狀態效果","function.set_stew_effect.effects.entry":"效果種類","function.set_stew_effect.effects.entry.duration":"維持時間","function.set_stew_effect.effects.entry.type":"效果種類","functions":"函數","functions.entry":"函數","gamemode.adventure":"冒險模式","gamemode.creative":"創造模式","gamemode.spectator":"旁觀者模式","gamemode.survival":"生存模式","generation_step.air":"空氣","generation_step.liquid":"液體","generator.biome_source.altitude_noise":"高度噪聲","generator.biome_source.biome":"生態域","generator.biome_source.biomes":"生態域","generator.biome_source.humidity_noise":"溼度噪聲","generator.biome_source.large_biomes":"大型生態域","generator.biome_source.legacy_biome_init_layer":"舊版生態域初始層","generator.biome_source.preset":"生態域預設","generator.biome_source.preset.nether":"地獄","generator.biome_source.scale":"縮放","generator.biome_source.seed":"生態域種子碼","generator.biome_source.temperature_noise":"溫度噪聲","generator.biome_source.type":"生態域源","generator.biome_source.weirdness_noise":"扭曲度噪聲","generator.seed":"維度種子碼","generator.settings":"生成器設定","generator.settings.biome":"生態域","generator.settings.lakes":"湖","generator.settings.layers":"層","generator.settings.layers.entry":"層","generator.settings.layers.entry.block":"方塊 ID","generator.settings.layers.entry.height":"高度","generator.settings.object":"自訂","generator.settings.presets.amplified":"巨大化","generator.settings.presets.caves":"洞穴","generator.settings.presets.end":"終界","generator.settings.presets.floating_islands":"浮空島嶼","generator.settings.presets.nether":"地獄","generator.settings.presets.overworld":"主世界","generator.settings.string":"預設","generator.settings.structures":"結構","generator.settings.structures.stronghold":"要塞","generator.settings.structures.stronghold.count":"數量","generator.settings.structures.stronghold.distance":"距離","generator.settings.structures.stronghold.spread":"擴散度","generator.settings.structures.structures":"結構","generator.type":"生成器類型","generator_biome.biome":"生態域","generator_biome.parameters":"引數","generator_biome.parameters.altitude":"海拔","generator_biome.parameters.help":"這些引數決定了該生態域的生成位置。每個生態域都必須擁有不同的設定組合。設定相近的生態域會生成在一起。","generator_biome.parameters.humidity":"溼度","generator_biome.parameters.offset":"偏移","generator_biome.parameters.temperature":"溫度","generator_biome.parameters.weirdness":"扭曲度","generator_biome_noise.amplitudes":"振幅","generator_biome_noise.amplitudes.entry":"倍頻 %0%","generator_biome_noise.firstOctave":"主倍頻","generator_structure.salt":"鹽值","generator_structure.separation":"間隔","generator_structure.separation.help":"以區塊為單位的此種類的兩個結構之間的最小距離。","generator_structure.spacing":"空位","generator_structure.spacing.help":"以區塊為單位的此種類的兩種結構之間的平均距離。","heightmap_type.MOTION_BLOCKING":"阻擋實體移動層","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"阻擋實體移動層(不含樹葉)","heightmap_type.OCEAN_FLOOR":"海床層","heightmap_type.OCEAN_FLOOR_WG":"海床層(世界生成)","heightmap_type.WORLD_SURFACE":"地表層","heightmap_type.WORLD_SURFACE_WG":"地表層(世界生成)","hide_source":"隱藏原始碼","item.count":"數量","item.durability":"耐久度","item.enchantments":"附魔","item.enchantments.entry":"附魔","item.item":"名稱","item.nbt":"NBT","item.potion":"藥水","item.tag":"標籤","key.advancements":"進度","key.attack":"攻擊/破壞","key.back":"後退","key.chat":"開啟聊天欄","key.command":"開啟指令視窗","key.drop":"丟棄已選擇的物品","key.forward":"前進","key.fullscreen":"切換全螢幕","key.hotbar.1":"快捷欄 1","key.hotbar.2":"快捷欄 2","key.hotbar.3":"快捷欄 3","key.hotbar.4":"快捷欄 4","key.hotbar.5":"快捷欄 5","key.hotbar.6":"快捷欄 6","key.hotbar.7":"快捷欄 7","key.hotbar.8":"快捷欄 8","key.hotbar.9":"快捷欄 9","key.inventory":"開啟/關閉物品欄","key.jump":"跳躍","key.left":"往左","key.loadToolbarActivator":"載入工具列","key.pickItem":"選取方塊","key.playerlist":"列出玩家","key.right":"往右","key.saveToolbarActivator":"儲存工具列","key.screenshot":"擷取螢幕畫面","key.smoothCamera":"切換視角平滑移動","key.sneak":"潛行","key.spectatorOutlines":"標示玩家(旁觀者)","key.sprint":"跑步","key.swapOffhand":"交換兩手物品","key.togglePerspective":"切換視角","key.use":"使用物品/放置方塊","location.biome":"生態域","location.block":"方塊","location.dimension":"維度","location.feature":"地物","location.fluid":"流體","location.light":"光照","location.light.light":"可見光等級","location.position":"位置","location.position.x":"X 座標","location.position.y":"Y 座標","location.position.z":"Z 座標","location.smokey":"煙燻","loot_condition_type.alternative":"析取範式(或)","loot_condition_type.block_state_property":"方塊屬性","loot_condition_type.damage_source_properties":"傷害來源","loot_condition_type.entity_properties":"實體屬性","loot_condition_type.entity_scores":"實體分數","loot_condition_type.inverted":"取反(非)","loot_condition_type.killed_by_player":"被玩家殺死","loot_condition_type.location_check":"檢查位置","loot_condition_type.match_tool":"工具是否符合","loot_condition_type.random_chance":"隨機概率","loot_condition_type.random_chance_with_looting":"受掠奪附魔影響的隨機概率","loot_condition_type.reference":"參照述詞檔案","loot_condition_type.survives_explosion":"未被爆炸破壞","loot_condition_type.table_bonus":"附魔獎勵","loot_condition_type.time_check":"檢查時間","loot_condition_type.value_check":"檢查值","loot_condition_type.weather_check":"檢查天氣","loot_entry.dynamic.name":"名稱","loot_entry.item.name":"名稱","loot_entry.loot_table.name":"戰利品表名","loot_entry.quality":"每等級幸運對權重的影響","loot_entry.tag.expand":"展開","loot_entry.tag.expand.help":"若為 false,該項目將會返回指定物品標籤的全部內容;否則將會從中隨機抽取一個返回。","loot_entry.tag.name":"物品標籤名","loot_entry.type":"類型","loot_entry.weight":"權重","loot_function_type.apply_bonus":"應用獎勵公式","loot_function_type.copy_name":"複製方塊實體顯示名","loot_function_type.copy_nbt":"複製 NBT","loot_function_type.copy_state":"複製方塊狀態","loot_function_type.enchant_randomly":"隨機附魔","loot_function_type.enchant_with_levels":"給予等價于經驗等級的隨機附魔","loot_function_type.exploration_map":"設定探險家地圖","loot_function_type.explosion_decay":"爆炸損耗","loot_function_type.fill_player_head":"填充玩家頭顱","loot_function_type.furnace_smelt":"熔爐熔煉","loot_function_type.limit_count":"限制堆疊數量","loot_function_type.looting_enchant":"根據掠奪附魔調整物品數量","loot_function_type.set_attributes":"設定屬性","loot_function_type.set_banner_pattern":"設定旗幟圖案","loot_function_type.set_contents":"設定內容物","loot_function_type.set_count":"設定物品數量","loot_function_type.set_damage":"設定損傷值","loot_function_type.set_data":"設定資料值","loot_function_type.set_enchantments":"設定附魔","loot_function_type.set_loot_table":"設定戰利品表","loot_function_type.set_lore":"設定物品描述","loot_function_type.set_name":"設定物品名","loot_function_type.set_nbt":"設定 NBT","loot_function_type.set_stew_effect":"設定可疑的燉湯狀態效果","loot_pool.bonus_rolls":"每等級幸運增加的抽取次數","loot_pool.entries":"項目","loot_pool.entries.entry":"項目","loot_pool.rolls":"抽取次數","loot_pool.rolls.help":"隨機抽取的項目數。","loot_pool_entry_type.alternatives":"析取範式","loot_pool_entry_type.alternatives.help":"獲取第一個滿足條件的子項目。","loot_pool_entry_type.dynamic":"動態","loot_pool_entry_type.dynamic.help":"獲取特定方塊的特定掉落物。","loot_pool_entry_type.empty":"空","loot_pool_entry_type.empty.help":"不向隨機池中加入任何物品。","loot_pool_entry_type.group":"組","loot_pool_entry_type.group.help":"從所有滿足條件的子項目中隨機抽取一個。","loot_pool_entry_type.item":"物品","loot_pool_entry_type.item.help":"加入一種物品。","loot_pool_entry_type.loot_table":"戰利品表","loot_pool_entry_type.loot_table.help":"加入另一個戰利品表的內容。","loot_pool_entry_type.sequence":"序列","loot_pool_entry_type.sequence.help":"從第一個不滿足條件的子項目之前的所有子項目中隨機抽取一個。","loot_pool_entry_type.tag":"物品標籤","loot_pool_entry_type.tag.help":"添加一個物品標籤的內容。","loot_table.pools":"隨機池","loot_table.pools.entry":"隨機池","loot_table.type":"類型","luck_based":"受幸運等級影響","nbt_operation.op":"操作類型","nbt_operation.op.append":"追加","nbt_operation.op.merge":"合併","nbt_operation.op.replace":"替換","nbt_operation.source":"複製源","nbt_operation.target":"複製目標","nbt_provider.source":"來源","nbt_provider.target":"目標","nbt_provider.type":"類型","nbt_provider.type.context":"上下文+","nbt_provider.type.storage":"指令容器","nbt_provider.type.string":"上下文","noise_settings.bedrock_floor_position":"基岩地板位置","noise_settings.bedrock_floor_position.help":"基岩地板的位置。數字越大地板越靠上。","noise_settings.bedrock_roof_position":"基岩天花板位置","noise_settings.bedrock_roof_position.help":"基岩天花板從世界高度開始計算的相對位置。數字越大天花板越靠下。","noise_settings.biome":"生態域","noise_settings.default_block":"預設方塊","noise_settings.default_fluid":"預設流體","noise_settings.disable_mob_generation":"禁用生物生成","noise_settings.disable_mob_generation.help":"若設為 true,生成世界時不會生成生物。","noise_settings.name":"名稱","noise_settings.noise":"噪聲選項","noise_settings.noise.amplified":"巨大化","noise_settings.noise.bottom_slide":"底部曲線","noise_settings.noise.bottom_slide.help":"改變世界底部曲線。當底部曲線大小(Size)為 0 時不起作用。","noise_settings.noise.bottom_slide.offset":"偏移","noise_settings.noise.bottom_slide.size":"大小","noise_settings.noise.bottom_slide.target":"目標","noise_settings.noise.density_factor":"密度因子","noise_settings.noise.density_factor.help":"決定高度影響地形的程度。正值在底部產生陸地。接近於 0 的值產生均勻的地形。","noise_settings.noise.density_offset":"密度偏移","noise_settings.noise.density_offset.help":"影響平均陸地高度。設定為 0 將使平均陸地高度變為高度(height)的一半。設定為正值將抬升高度。","noise_settings.noise.height":"高度","noise_settings.noise.island_noise_override":"島嶼噪聲覆蓋","noise_settings.noise.island_noise_override.help":"若設為 true,生成的地形會像終界一樣在中心有一個大島嶼,外部有許多小島嶼。","noise_settings.noise.min_y":"最小高度","noise_settings.noise.random_density_offset":"隨機密度偏移","noise_settings.noise.sampling":"取樣","noise_settings.noise.sampling.xz_factor":"XZ 因子","noise_settings.noise.sampling.xz_scale":"XZ 縮放","noise_settings.noise.sampling.y_factor":"Y 因子","noise_settings.noise.sampling.y_scale":"Y 縮放","noise_settings.noise.simplex_surface_noise":"單體表面噪聲","noise_settings.noise.size_horizontal":"水平大小","noise_settings.noise.size_vertical":"垂直大小","noise_settings.noise.top_slide":"頂部曲線","noise_settings.noise.top_slide.help":"改變世界頂部曲線。當頂部曲線大小(Size)為 0 時不起作用。","noise_settings.noise.top_slide.offset":"偏移","noise_settings.noise.top_slide.size":"大小","noise_settings.noise.top_slide.target":"目標","noise_settings.sea_level":"海平面","noise_settings.structures":"結構","noise_settings.structures.stronghold":"要塞","noise_settings.structures.stronghold.count":"數量","noise_settings.structures.stronghold.distance":"距離","noise_settings.structures.stronghold.spread":"分散","noise_settings.structures.structures":"結構","number_provider.max":"最大值","number_provider.min":"最小值","number_provider.n":"N","number_provider.p":"P","number_provider.scale":"縮放","number_provider.score":"計分板目標","number_provider.target":"目標","number_provider.type":"類型","number_provider.type.binomial":"二項分布","number_provider.type.constant":"常數+","number_provider.type.number":"常數","number_provider.type.object":"均勻分布","number_provider.type.score":"分數","number_provider.type.uniform":"均勻分布+","number_provider.value":"數字","player.advancements":"進度","player.advancements.entry":"進度","player.gamemode":"遊戲模式","player.level":"經驗等級","player.recipes":"配方","player.stats":"統計","player.stats.entry":"統計","pos_rule_test.always_true":"總是為真","pos_rule_test.axis":"軸","pos_rule_test.axis.x":"X 軸","pos_rule_test.axis.y":"Y 軸","pos_rule_test.axis.z":"Z 軸","pos_rule_test.axis_aligned_linear_pos":"軸對齊線性插值座標","pos_rule_test.linear_pos":"線性插值座標","pos_rule_test.max_chance":"最大機率","pos_rule_test.max_dist":"最大距離","pos_rule_test.min_chance":"最小機率","pos_rule_test.min_dist":"最小距離","pos_rule_test.predicate_type":"類型","processor.block_age.mossiness":"青苔度","processor.block_ignore.blocks":"方塊","processor.block_ignore.blocks.entry":"狀態","processor.block_rot.integrity":"完整性","processor.gravity.heightmap":"高度圖","processor.gravity.offset":"偏移","processor.processor_type":"類型","processor.rule.rules":"規則","processor.rule.rules.entry":"規則","processor_list.processors":"處理器","processor_list.processors.entry":"處理器","processor_rule.input_predicate":"輸入方塊處理述詞","processor_rule.location_predicate":"結構生成前位置方塊處理述詞","processor_rule.output_nbt":"輸出 NBT","processor_rule.output_state":"輸出方塊狀態","processor_rule.position_predicate":"位置方塊處理述詞","processors.object":"自訂","processors.string":"參照","range.binomial":"二項分布","range.max":"最大值","range.min":"最小值","range.n":"N","range.number":"精確值","range.object":"範圍","range.p":"P","range.type":"類型","range.uniform":"均勻分布","requirements":"應當達成","rule_test.always_true":"總是為真","rule_test.block":"方塊","rule_test.block_match":"方塊匹配","rule_test.block_state":"狀態","rule_test.blockstate_match":"方塊狀態匹配","rule_test.predicate_type":"類型","rule_test.probability":"概率","rule_test.random_block_match":"方塊隨機匹配","rule_test.random_blockstate_match":"方塊狀態隨機匹配","rule_test.tag":"標籤","rule_test.tag_match":"標籤匹配","score_provider.name":"名稱","score_provider.target":"目標","score_provider.type":"類型","score_provider.type.context":"上下文+","score_provider.type.fixed":"固定","score_provider.type.string":"上下文","slot.chest":"胸部","slot.feet":"腳部","slot.head":"頭部","slot.legs":"腿部","slot.mainhand":"慣用手","slot.offhand":"非慣用手","statistic.stat":"統計","statistic.type":"類型","statistic.type.broken":"損壞","statistic.type.crafted":"合成","statistic.type.custom":"Custom(其他)","statistic.type.dropped":"掉落","statistic.type.killed":"擊殺","statistic.type.killedByTeam":"被隊伍擊殺","statistic.type.killed_by":"被擊殺","statistic.type.mined":"挖掘","statistic.type.picked_up":"撿起","statistic.type.teamkill":"擊殺隊伍","statistic.type.used":"使用","statistic.value":"值","status_effect.ambient":"是否為烽火台施加","status_effect.amplifier":"等級","status_effect.duration":"維持時間","status_effect.visible":"是否可見","structure_feature.biome_temp":"生態域溫度","structure_feature.biome_temp.cold":"寒冷","structure_feature.biome_temp.warm":"溫暖","structure_feature.cluster_probability":"成簇概率","structure_feature.config":"配置","structure_feature.is_beached":"是否擱淺","structure_feature.large_probability":"大型概率","structure_feature.portal_type":"傳送門類型","structure_feature.portal_type.desert":"沙漠","structure_feature.portal_type.jungle":"叢林","structure_feature.portal_type.mountain":"山","structure_feature.portal_type.nether":"地獄","structure_feature.portal_type.ocean":"海洋","structure_feature.portal_type.standard":"基本","structure_feature.portal_type.swamp":"沼澤","structure_feature.probability":"概率","structure_feature.size":"尺寸","structure_feature.start_pool":"起始池","structure_feature.type":"類型","structure_feature.type.mesa":"惡地","structure_feature.type.normal":"普通","surface_builder.config":"配置","surface_builder.top_material":"頂層材料","surface_builder.type":"類型","surface_builder.under_material":"下層材料","surface_builder.underwater_material":"水下材料","table.type":"戰利品表類型","table.type.block":"方塊","table.type.chest":"儲物箱","table.type.empty":"空","table.type.entity":"實體","table.type.fishing":"釣魚","table.type.generic":"通用","tag.replace":"覆蓋","tag.values":"值","template_element.element_type":"類型","template_element.elements":"元素","template_element.feature":"地物","template_element.location":"結構的命名空間 ID","template_element.processors":"處理器","template_element.projection":"投影","template_element.projection.rigid":"直接生成","template_element.projection.terrain_matching":"匹配地形","template_pool.elements":"元素","template_pool.elements.entry":"元素","template_pool.elements.entry.element":"元素","template_pool.elements.entry.weight":"權重","template_pool.fallback":"回落池","template_pool.name":"名稱","text_component":"聊天組合","text_component.boolean":"布林值","text_component.list":"陣列","text_component.number":"數字","text_component.object":"物件","text_component.object.keybind":"鍵位綁定","text_component.object.nbt":"NBT 值","text_component.object.score":"分數值","text_component.object.selector":"實體名稱","text_component.object.text":"純文字","text_component.object.translation":"翻譯文字","text_component.string":"字串","text_component_object.block":"方塊","text_component_object.bold":"粗體","text_component_object.clickEvent":"點擊事件","text_component_object.clickEvent.action":"行為","text_component_object.clickEvent.action.change_page":"翻頁","text_component_object.clickEvent.action.copy_to_clipboard":"複製到剪貼簿","text_component_object.clickEvent.action.open_file":"打開檔案","text_component_object.clickEvent.action.open_url":"打開 URL","text_component_object.clickEvent.action.run_command":"執行指令","text_component_object.clickEvent.action.suggest_command":"建議指令","text_component_object.clickEvent.value":"值","text_component_object.color":"顏色","text_component_object.entity":"實體","text_component_object.extra":"附加","text_component_object.font":"字型","text_component_object.hoverEvent":"懸浮事件","text_component_object.hoverEvent.action":"行為","text_component_object.hoverEvent.action.show_entity":"顯示實體","text_component_object.hoverEvent.action.show_item":"顯示物品","text_component_object.hoverEvent.action.show_text":"顯示文字","text_component_object.hoverEvent.contents":"內容","text_component_object.hoverEvent.value":"值","text_component_object.insertion":"插入","text_component_object.interpret":"解析","text_component_object.italic":"斜體","text_component_object.keybind":"鍵位","text_component_object.nbt":"NBT","text_component_object.obfuscated":"混淆","text_component_object.score":"分數","text_component_object.score.name":"名稱","text_component_object.score.objective":"計分板目標","text_component_object.score.value":"值","text_component_object.selector":"選擇器","text_component_object.storage":"容器","text_component_object.strikethrough":"刪除線","text_component_object.text":"文字","text_component_object.translate":"可翻譯文字","text_component_object.underlined":"下劃線","text_component_object.with":"以之翻譯","tree_decorator.alter_ground.provider":"狀態聲明","tree_decorator.beehive.probability":"概率","tree_decorator.cocoa.probability":"概率","tree_decorator.type":"類型","true":"是","trunk_placer.base_height":"基礎高度","trunk_placer.height_rand_a":"水平隨機高度","trunk_placer.height_rand_b":"豎直隨機高度","trunk_placer.type":"類型","uniform_int.base":"基礎值","uniform_int.number":"常數","uniform_int.object":"均勻分布","uniform_int.spread":"擴散","unset":"未指定","update.pack_format":"將 pack_format 升級至 %0%","world.bonus_chest":"生成獎勵箱","world.generate_features":"生成結構","world.seed":"種子碼","world_settings.bonus_chest":"生成獎勵箱","world_settings.dimensions":"維度","world_settings.generate_features":"生成地物","world_settings.seed":"世界種子碼","worldgen.warning":"本特性為高度實驗性的特性,很不穩定,在未來的版本中隨時會有變動。請做好遊戲在創建世界時崩潰的準備。","worldgen/biome_source.checkerboard":"棋盤","worldgen/biome_source.checkerboard.help":"以棋盤狀區塊圖案生成的生態域。","worldgen/biome_source.fixed":"固定","worldgen/biome_source.fixed.help":"整個世界只有單一生態域。","worldgen/biome_source.multi_noise":"多重噪聲","worldgen/biome_source.multi_noise.help":"可設定參數的自訂生態域分布。","worldgen/biome_source.the_end":"終界","worldgen/biome_source.the_end.help":"終界的生態域分布。","worldgen/biome_source.vanilla_layered":"原版分層","worldgen/biome_source.vanilla_layered.help":"主世界的生態域分布。","worldgen/block_placer_type.column_placer":"柱狀","worldgen/block_placer_type.double_plant_placer":"雙層植物","worldgen/block_placer_type.simple_block_placer":"簡單","worldgen/block_state_provider_type.forest_flower_provider":"繁花森林方塊狀態聲明","worldgen/block_state_provider_type.plain_flower_provider":"平原花方塊狀態聲明","worldgen/block_state_provider_type.rotated_block_provider":"旋轉方塊狀態聲明","worldgen/block_state_provider_type.simple_state_provider":"簡單方塊狀態聲明","worldgen/block_state_provider_type.weighted_state_provider":"加權方塊狀態聲明","worldgen/carver.canyon":"峽谷","worldgen/carver.cave":"洞穴","worldgen/carver.nether_cave":"地獄洞穴","worldgen/carver.underwater_canyon":"水下峽谷","worldgen/carver.underwater_cave":"水下洞穴","worldgen/chunk_generator.debug":"除錯世界","worldgen/chunk_generator.flat":"超平坦","worldgen/chunk_generator.noise":"預設","worldgen/feature_size_type.three_layers_feature_size":"三層","worldgen/feature_size_type.two_layers_feature_size":"兩層","worldgen/foliage_placer_type.acacia_foliage_placer":"相思樹","worldgen/foliage_placer_type.blob_foliage_placer":"橡樹/白樺","worldgen/foliage_placer_type.bush_foliage_placer":"金字塔形","worldgen/foliage_placer_type.dark_oak_foliage_placer":"黑橡樹","worldgen/foliage_placer_type.fancy_foliage_placer":"球形","worldgen/foliage_placer_type.jungle_foliage_placer":"叢林","worldgen/foliage_placer_type.mega_pine_foliage_placer":"雙層稀疏雲杉","worldgen/foliage_placer_type.pine_foliage_placer":"稀疏雲杉","worldgen/foliage_placer_type.spruce_foliage_placer":"雲杉","worldgen/structure_pool_element.empty_pool_element":"空","worldgen/structure_pool_element.feature_pool_element":"地物","worldgen/structure_pool_element.legacy_single_pool_element":"單個(舊版)","worldgen/structure_pool_element.list_pool_element":"串列","worldgen/structure_pool_element.single_pool_element":"單個","worldgen/structure_processor.blackstone_replace":"取代黑石","worldgen/structure_processor.block_age":"做舊方塊","worldgen/structure_processor.block_ignore":"忽略方塊","worldgen/structure_processor.block_rot":"隨機移除方塊","worldgen/structure_processor.gravity":"重力","worldgen/structure_processor.jigsaw_replacement":"拼圖取代","worldgen/structure_processor.lava_submerged_block":"熔岩湮沒方塊","worldgen/structure_processor.nop":"無","worldgen/structure_processor.rule":"規則","worldgen/tree_decorator_type.alter_ground":"地面方塊替換","worldgen/tree_decorator_type.beehive":"蜂箱","worldgen/tree_decorator_type.cocoa":"可可果","worldgen/tree_decorator_type.leave_vine":"樹葉藤蔓","worldgen/tree_decorator_type.trunk_vine":"樹幹藤蔓","worldgen/trunk_placer_type.dark_oak_trunk_placer":"黑橡樹型","worldgen/trunk_placer_type.fancy_trunk_placer":"多分叉型","worldgen/trunk_placer_type.forking_trunk_placer":"單分叉型","worldgen/trunk_placer_type.giant_trunk_placer":"2×2 豎直型","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"大叢林木型","worldgen/trunk_placer_type.straight_trunk_placer":"豎直型"}');export default e; +//# sourceMappingURL=zh-tw.a8f28612.js.map diff --git a/assets/zh-tw.a8f28612.js.map b/assets/zh-tw.a8f28612.js.map new file mode 100644 index 00000000..c3e0f936 --- /dev/null +++ b/assets/zh-tw.a8f28612.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zh-tw.a8f28612.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/dimension-type/index.html b/dimension-type/index.html index 7b1267a5..e9cddae5 100644 --- a/dimension-type/index.html +++ b/dimension-type/index.html @@ -1,12 +1,31 @@ -Dimension Type Generator Minecraft 1.16, 1.17
\ No newline at end of file + + + + + + + Dimension Type Generator Minecraft 1.16, 1.17 + + + + + + + +
+ + + diff --git a/dimension/index.html b/dimension/index.html index a55c6e60..e83ea4af 100644 --- a/dimension/index.html +++ b/dimension/index.html @@ -1,12 +1,31 @@ -Dimension Generator Minecraft 1.16, 1.17
\ No newline at end of file + + + + + + + Dimension Generator Minecraft 1.16, 1.17 + + + + + + + +
+ + + diff --git a/favicon-32.png b/favicon-32.png deleted file mode 100644 index 45c3e3c2..00000000 Binary files a/favicon-32.png and /dev/null differ diff --git a/index.html b/index.html index f6fb5de1..de84339c 100644 --- a/index.html +++ b/index.html @@ -1,12 +1,31 @@ -Data Pack Generators Minecraft 1.15, 1.16, 1.17
\ No newline at end of file + + + + + + + Data Pack Generators Minecraft 1.15, 1.16, 1.17 + + + + + + + +
+ + + diff --git a/item-modifier/index.html b/item-modifier/index.html index 388c29a0..86a8d152 100644 --- a/item-modifier/index.html +++ b/item-modifier/index.html @@ -1,12 +1,31 @@ -Item Modifier Generator Minecraft 1.17
\ No newline at end of file + + + + + + + Item Modifier Generator Minecraft 1.17 + + + + + + + +
+ + + diff --git a/js/bundle.js b/js/bundle.js deleted file mode 100644 index de61bc8d..00000000 --- a/js/bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){var t={};function i(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(o,r,function(t){return e[t]}.bind(null,r));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=98)}([function(e,t,i){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,i,o){void 0===o&&(o=i),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,o){void 0===o&&(o=i),e[o]=t[i]}),r=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||o(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),r(i(27),t),r(i(11),t),r(i(12),t),r(i(5),t),r(i(28),t),r(i(29),t),r(i(14),t),r(i(30),t),r(i(31),t),r(i(32),t),r(i(33),t),r(i(34),t),r(i(15),t),r(i(35),t),r(i(36),t),r(i(37),t)},function(e){e.exports=JSON.parse('{"languages":[{"code":"de","name":"Deutsch"},{"code":"en","name":"English"},{"code":"fr","name":"Français"},{"code":"it","name":"Italiano"},{"code":"ja","name":"日本語"},{"code":"pl","name":"Polski"},{"code":"pt","name":"Português"},{"code":"ru","name":"Русский"},{"code":"sk","name":"Slovenčina"},{"code":"zh-cn","name":"简体中文"},{"code":"zh-tw","name":"正體中文"}],"versions":[{"id":"1.15","refs":{"mcdata_master":"13355f7"}},{"id":"1.16","refs":{"mcdata_master":"1.16.4","vanilla_datapack_data":"1.16.4-data","vanilla_datapack_summary":"1.16.4-summary"}},{"id":"1.17","refs":{"mcdata_master":"master","vanilla_datapack_data":"data","vanilla_datapack_summary":"summary"},"dynamic":true}],"models":[{"id":"loot-table","name":"Loot Table","path":"loot_tables","schema":"loot_table"},{"id":"predicate","name":"Predicate","path":"predicates","schema":"predicate"},{"id":"item-modifier","name":"Item Modifier","path":"item_modifiers","schema":"item_modifier","minVersion":"1.17"},{"id":"advancement","name":"Advancement","path":"advancements","schema":"advancement"},{"id":"dimension","name":"Dimension","path":"dimension","schema":"dimension","minVersion":"1.16"},{"id":"dimension-type","name":"Dimension Type","path":"dimension_type","schema":"dimension_type","minVersion":"1.16"},{"id":"world","name":"World Settings","schema":"world_settings","minVersion":"1.16"},{"id":"worldgen","name":"Worldgen","category":true,"minVersion":"1.16"},{"id":"worldgen/biome","name":"Biome","path":"worldgen/biome","category":"worldgen","schema":"biome","minVersion":"1.16"},{"id":"worldgen/carver","name":"Carver","path":"worldgen/configured_carver","category":"worldgen","schema":"configured_carver","minVersion":"1.16"},{"id":"worldgen/feature","name":"Feature","path":"worldgen/configured_feature","category":"worldgen","schema":"configured_feature","minVersion":"1.16"},{"id":"worldgen/noise-settings","name":"Noise Settings","path":"worldgen/noise_settings","category":"worldgen","schema":"noise_settings","minVersion":"1.16"},{"id":"worldgen/structure-feature","name":"Structure Feature","path":"worldgen/configured_structure_feature","category":"worldgen","schema":"configured_structure_feature","minVersion":"1.16"},{"id":"worldgen/surface-builder","name":"Surface Builder","path":"worldgen/configured_surface_builder","category":"worldgen","schema":"configured_surface_builder","minVersion":"1.16"},{"id":"worldgen/processor-list","name":"Processor List","path":"worldgen/processor_list","category":"worldgen","schema":"processor_list","minVersion":"1.16"},{"id":"worldgen/template-pool","name":"Template Pool","path":"worldgen/template_pool","category":"worldgen","schema":"template_pool","minVersion":"1.16"}],"registries":[{"id":"advancement","dynamic":true},{"id":"attribute","minVersion":"1.16"},{"id":"block"},{"id":"dimension","dynamic":true},{"id":"dimension_type","dynamic":true},{"id":"enchantment"},{"id":"entity_type"},{"id":"fluid"},{"id":"function","dynamic":true},{"id":"item"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_function_type","minVersion":"1.16"},{"id":"loot_nbt_provider_type","minVersion":"1.17"},{"id":"loot_number_provider_type","minVersion":"1.17"},{"id":"loot_pool_entry_type","minVersion":"1.16"},{"id":"loot_score_provider_type","minVersion":"1.17"},{"id":"loot_table","dynamic":true},{"id":"mob_effect"},{"id":"pos_rule_test","minVersion":"1.16"},{"id":"potion","minVersion":"1.15"},{"id":"predicate","dynamic":true},{"id":"recipe","dynamic":true},{"id":"rule_test","minVersion":"1.16"},{"id":"sound_event"},{"id":"stat_type"},{"id":"structure","dynamic":true},{"id":"tag/block","dynamic":true},{"id":"tag/entity_type","dynamic":true},{"id":"tag/fluid","dynamic":true},{"id":"tag/function","dynamic":true},{"id":"tag/item","dynamic":true},{"id":"worldgen/biome","dynamic":true},{"id":"worldgen/block_state_provider_type","minVersion":"1.16"},{"id":"worldgen/block_placer_type","minVersion":"1.16"},{"id":"worldgen/biome_source","minVersion":"1.16"},{"id":"worldgen/carver","minVersion":"1.16"},{"id":"worldgen/chunk_generator","minVersion":"1.16"},{"id":"worldgen/configured_carver","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_decorator","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_structure_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_surface_builder","minVersion":"1.16","dynamic":true},{"id":"worldgen/decorator","minVersion":"1.16"},{"id":"worldgen/feature","minVersion":"1.16"},{"id":"worldgen/feature_size_type","minVersion":"1.16"},{"id":"worldgen/foliage_placer_type","minVersion":"1.16"},{"id":"worldgen/noise_settings","minVersion":"1.16","dynamic":true},{"id":"worldgen/processor_list","minVersion":"1.16","dynamic":true},{"id":"worldgen/structure_feature","minVersion":"1.16"},{"id":"worldgen/structure_pool_element","minVersion":"1.16"},{"id":"worldgen/structure_processor","minVersion":"1.16"},{"id":"worldgen/surface_builder","minVersion":"1.16"},{"id":"worldgen/template_pool","minVersion":"1.16","dynamic":true},{"id":"worldgen/tree_decorator_type","minVersion":"1.16"},{"id":"worldgen/trunk_placer_type","minVersion":"1.16"},{"id":"biome","maxVersion":"1.15"},{"id":"worldgen/biome","minVersion":"1.16","path":"processed/reports/biomes"}]}')},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCommonSchemas=t.UniformInt=t.Range=t.NoiseSettingsPresets=t.DefaultNoiseSettings=t.DimensionTypePresets=t.DefaultDimensionType=t.ConditionCases=void 0;const o=i(0);t.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld"},t.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},t.initCommonSchemas=function(e,i){const r=o.StringNode.bind(void 0,i),n=o.Reference.bind(void 0,e);e.register("block_state",o.Mod(o.ObjectNode({Name:r({validator:"resource",params:{pool:"block"}}),Properties:o.Opt(o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),e.register("fluid_state",o.Mod(o.ObjectNode({Name:r({validator:"resource",params:{pool:"fluid"}}),Properties:o.Opt(o.MapNode(r(),r()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),e.register("block_pos",o.Mod(o.ListNode(o.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]})),t.Range=e=>o.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:o.NumberNode(e),change:e=>{var t,i,o;return void 0===e?0:null!==(o=null!==(i=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==i?i:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:o.ObjectNode({min:(null==e?void 0:e.bounds)?o.NumberNode(e):o.Opt(o.NumberNode(e)),max:(null==e?void 0:e.bounds)?o.NumberNode(e):o.Opt(o.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:o.ObjectNode({type:r({enum:["minecraft:binomial"]}),n:o.NumberNode({integer:!0,min:0}),p:o.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,i;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(i=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==i?i:1,p:.5}}}]:[]],{choiceContext:"range"}),t.UniformInt=e=>o.ChoiceNode([{type:"number",node:o.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),change:e=>e.base},{type:"object",node:o.ObjectNode({base:o.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),spread:o.NumberNode({integer:!0,min:0,max:null==e?void 0:e.maxSpread})}),change:e=>({base:e,spread:0})}],{context:"uniform_int"}),t.ConditionCases={"minecraft:alternative":{terms:o.ListNode(n("condition"))},"minecraft:block_state_property":{block:r({validator:"resource",params:{pool:"block"}}),properties:o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:n("damage_source_predicate")},"minecraft:entity_properties":{entity:r({enum:"entity_source"}),predicate:n("entity_predicate")},"minecraft:entity_scores":{entity:r({enum:"entity_source"}),scores:o.MapNode(r({validator:"objective"}),t.Range({forceRange:!0}))},"minecraft:inverted":{term:n("condition")},"minecraft:killed_by_player":{inverse:o.Opt(o.BooleanNode())},"minecraft:location_check":{offsetX:o.Opt(o.NumberNode({integer:!0})),offsetY:o.Opt(o.NumberNode({integer:!0})),offsetZ:o.Opt(o.NumberNode({integer:!0})),predicate:n("location_predicate")},"minecraft:match_tool":{predicate:n("item_predicate")},"minecraft:random_chance":{chance:o.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:o.NumberNode({min:0,max:1}),looting_multiplier:o.NumberNode()},"minecraft:reference":{name:r({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:r({validator:"resource",params:{pool:"enchantment"}}),chances:o.ListNode(o.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:t.Range(),period:o.Opt(o.NumberNode())},"minecraft:weather_check":{raining:o.Opt(o.BooleanNode()),thundering:o.Opt(o.BooleanNode())}},t.DimensionTypePresets=e=>o.ObjectOrPreset(r({validator:"resource",params:{pool:"$dimension_type"}}),e,{"minecraft:overworld":t.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether"},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end"}}),t.NoiseSettingsPresets=e=>o.ObjectOrPreset(r({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),e,{"minecraft:overworld":t.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCommonSchemas=t.IntProvider=t.FloatProvider=t.NoiseSettingsPresets=t.DefaultNoiseSettings=t.DimensionTypePresets=t.DefaultDimensionType=t.FunctionCases=t.ConditionCases=void 0;const o=i(0);t.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256},t.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},t.initCommonSchemas=function(e,i){const r=o.StringNode.bind(void 0,i),n=o.Reference.bind(void 0,e);e.register("block_state",o.Mod(o.ObjectNode({Name:r({validator:"resource",params:{pool:"block"}}),Properties:o.Opt(o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),e.register("fluid_state",o.Mod(o.ObjectNode({Name:r({validator:"resource",params:{pool:"fluid"}}),Properties:o.Opt(o.MapNode(r(),r()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),e.register("block_pos",o.Mod(o.ListNode(o.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const a=e=>o.Opt(o.ChoiceNode([{type:"number",node:o.NumberNode({integer:e}),change:e=>{var t,i;return void 0===e?0:null!==(i=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==i?i:0}},{type:"object",node:o.ObjectNode({min:o.Opt(o.NumberNode({integer:e})),max:o.Opt(o.NumberNode({integer:e}))},{context:"range"}),change:e=>({min:null!=e?e:0,max:null!=e?e:0})}]));e.register("int_bounds",a(!0)),e.register("float_bounds",a()),e.register("int_range",o.ChoiceNode([{type:"object",node:o.ObjectNode({min:o.Opt(n("number_provider")),max:o.Opt(n("number_provider"))})},{type:"number",node:o.NumberNode({integer:!0})}],{context:"range"}));const s=(e,t,i,n,a,s,c)=>{let l={};a&&Object.keys(c[a]).forEach(e=>{l[e]=o.Mod(c[a][e],{enabled:e=>void 0===e.push("type").get()})});const d=o.ObjectNode({type:o.Mod(o.Opt(r({validator:"resource",params:{pool:e}})),{hidden:()=>!0}),[o.Switch]:[{push:"type"}],[o.Case]:c,...l},{context:s,disableSwitchContext:!0}),m=[{type:t,node:c[n][i]}];return a&&m.push({type:"object",priority:-1,node:d}),Object.keys(c).forEach(e=>{m.push({type:e,match:t=>{var i;if("minecraft:"+(null===(i=null==t?void 0:t.type)||void 0===i?void 0:i.replace(/^minecraft:/,""))===e)return!0;const o=t?Object.keys(t):[];return"object"==typeof t&&(0===(null==o?void 0:o.length)||1===(null==o?void 0:o.length)&&"type"===(null==o?void 0:o[0]))},node:d,change:t=>({type:e})})}),o.ChoiceNode(m,{context:s,choiceContext:s+".type"})};e.register("number_provider",s("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:o.NumberNode()},"minecraft:uniform":{min:n("number_provider"),max:n("number_provider")},"minecraft:binomial":{n:n("number_provider"),p:n("number_provider")},"minecraft:score":{target:n("scoreboard_name_provider"),score:r({validator:"objective"}),scale:o.Opt(o.NumberNode())}})),e.register("scoreboard_name_provider",s("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:r({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:o.Mod(r({enum:"entity_source"}),{default:()=>"this"})}})),e.register("nbt_provider",s("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:r({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:o.Mod(r({enum:"copy_source"}),{default:()=>"this"})}})),t.FloatProvider=e=>s("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:o.NumberNode(e)},"minecraft:uniform":{value:o.ObjectNode({min_inclusive:o.NumberNode(e),max_exclusive:o.NumberNode(e)})},"minecraft:clamped_normal":{value:o.ObjectNode({min:o.NumberNode(),max:o.NumberNode(),mean:o.NumberNode(),deviation:o.NumberNode()})},"minecraft:trapezoid":{value:o.ObjectNode({min:o.NumberNode(),max:o.NumberNode(),plateau:o.NumberNode()})}}),e.register("float_provider",t.FloatProvider()),t.IntProvider=e=>s("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:o.NumberNode({integer:!0,...e})},"minecraft:uniform":{value:o.ObjectNode({min_inclusive:o.NumberNode({integer:!0,...e}),max_inclusive:o.NumberNode({integer:!0,...e})})},"minecraft:biased_to_bottom":{value:o.ObjectNode({min_inclusive:o.NumberNode({integer:!0,...e}),max_inclusive:o.NumberNode({integer:!0,...e})})},"minecraft:clamped":{value:o.ObjectNode({min_inclusive:o.NumberNode({integer:!0,...e}),max_inclusive:o.NumberNode({integer:!0,...e}),source:n("int_provider")})}}),e.register("int_provider",t.IntProvider()),e.register("vertical_anchor",o.ChoiceNode(["absolute","above_bottom","below_top"].map(e=>({type:e,match:t=>void 0!==(null==t?void 0:t[e]),change:t=>{var i,o,r;return{[e]:null!==(r=null!==(o=null!==(i=t.absolute)&&void 0!==i?i:t.above_bottom)&&void 0!==o?o:t.below_top)&&void 0!==r?r:0}},node:o.ObjectNode({[e]:o.NumberNode({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),e.register("height_provider",s("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:n("vertical_anchor")},"minecraft:uniform":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),inner:o.Opt(o.NumberNode({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),inner:o.Opt(o.NumberNode({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),plateau:o.Opt(o.NumberNode({integer:!0}))}})),t.ConditionCases=(e=r({enum:"entity_source"}))=>({"minecraft:alternative":{terms:o.ListNode(n("condition"))},"minecraft:block_state_property":{block:r({validator:"resource",params:{pool:"block"}}),properties:o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:n("damage_source_predicate")},"minecraft:entity_properties":{entity:e,predicate:n("entity_predicate")},"minecraft:entity_scores":{entity:e,scores:o.MapNode(r({validator:"objective"}),n("int_range"))},"minecraft:inverted":{term:n("condition")},"minecraft:killed_by_player":{inverse:o.Opt(o.BooleanNode())},"minecraft:location_check":{offsetX:o.Opt(o.NumberNode({integer:!0})),offsetY:o.Opt(o.NumberNode({integer:!0})),offsetZ:o.Opt(o.NumberNode({integer:!0})),predicate:n("location_predicate")},"minecraft:match_tool":{predicate:n("item_predicate")},"minecraft:random_chance":{chance:o.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:o.NumberNode({min:0,max:1}),looting_multiplier:o.NumberNode()},"minecraft:reference":{name:r({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:r({validator:"resource",params:{pool:"enchantment"}}),chances:o.ListNode(o.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:n("int_range"),period:o.Opt(o.NumberNode({integer:!0}))},"minecraft:value_check":{value:n("number_provider"),range:n("int_range")},"minecraft:weather_check":{raining:o.Opt(o.BooleanNode()),thundering:o.Opt(o.BooleanNode())}}),t.FunctionCases=(e,t=r({enum:"copy_source"}),a=r({enum:"entity_source"}))=>{const s={"minecraft:apply_bonus":{enchantment:r({validator:"resource",params:{pool:"enchantment"}}),formula:r({validator:"resource",params:{pool:i.get("loot_table_apply_bonus_formula")}}),parameters:o.Mod(o.ObjectNode({bonusMultiplier:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:t},"minecraft:copy_nbt":{source:n("nbt_provider"),ops:o.ListNode(o.ObjectNode({source:r({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:r({validator:"nbt_path",params:{category:"minecraft:item"}}),op:r({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:r({validator:"resource",params:{pool:"block"}}),properties:o.ListNode(r({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:o.Opt(o.ListNode(r({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:n("number_provider"),treasure:o.Opt(o.BooleanNode())},"minecraft:exploration_map":{destination:o.Opt(r({enum:"map_feature"})),decoration:o.Opt(r({enum:"map_decoration"})),zoom:o.Opt(o.NumberNode({integer:!0})),search_radius:o.Opt(o.NumberNode({integer:!0})),skip_existing_chunks:o.Opt(o.BooleanNode())},"minecraft:fill_player_head":{entity:a},"minecraft:limit_count":{limit:n("int_range")},"minecraft:looting_enchant":{count:n("number_provider"),limit:o.Opt(o.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:o.ListNode(n("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:o.ListNode(o.ObjectNode({pattern:r({enum:"banner_pattern"}),color:r({enum:"dye_color"})})),append:o.Opt(o.BooleanNode())},"minecraft:set_contents":{entries:o.ListNode(n("loot_entry"))},"minecraft:set_count":{count:n("number_provider"),add:o.Opt(o.BooleanNode())},"minecraft:set_damage":{damage:n("number_provider"),add:o.Opt(o.BooleanNode())},"minecraft:set_enchantments":{enchantments:o.MapNode(r({validator:"resource",params:{pool:"enchantment"}}),n("number_provider")),add:o.Opt(o.BooleanNode())},"minecraft:set_loot_table":{name:r({validator:"resource",params:{pool:"$loot_table"}}),seed:o.Opt(o.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:o.Opt(a),lore:o.ListNode(n("text_component")),replace:o.Opt(o.BooleanNode())},"minecraft:set_name":{entity:o.Opt(a),name:o.Opt(n("text_component"))},"minecraft:set_nbt":{tag:r({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:o.Opt(o.ListNode(o.ObjectNode({type:r({validator:"resource",params:{pool:"mob_effect"}}),duration:n("number_provider")})))}},c={};return i.get("loot_function_type").forEach(t=>{c[t]={...s[t],...e}}),c},t.DimensionTypePresets=e=>o.ObjectOrPreset(r({validator:"resource",params:{pool:"$dimension_type"}}),e,{"minecraft:overworld":t.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),t.NoiseSettingsPresets=e=>o.ObjectOrPreset(r({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),e,{"minecraft:overworld":t.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Keep=t.Opt=t.Has=t.Mod=t.Base=void 0,t.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:e=>e,suggest:()=>[],validate:(e,t)=>t,validationOption:()=>{},hook(e,t,...i){return e.base({node:this},t,...i)},canUpdate:()=>!1,update:()=>[]},t.Mod=(e,t)=>({...e,..."function"==typeof t?t(e):t}),t.Has=(e,i)=>t.Mod(i,{enabled:t=>void 0!==t.push(e).get()}),t.Opt=function(e){return{...e,optional:()=>!0}},t.Keep=function(e){return{...e,keep:()=>!0}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCommonSchemas=t.Range=t.ConditionCases=void 0;const o=i(0);t.initCommonSchemas=function(e,i){const r=o.StringNode.bind(void 0,i),n=o.Reference.bind(void 0,e);e.register("block_state",o.Mod(o.ObjectNode({Name:r({validator:"resource",params:{pool:"block"}}),Properties:o.Opt(o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),e.register("fluid_state",o.Mod(o.ObjectNode({Name:r({validator:"resource",params:{pool:"fluid"}}),Properties:o.Opt(o.MapNode(r(),r()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),e.register("block_pos",o.Mod(o.ListNode(o.NumberNode({integer:!0})),{default:()=>[0,0,0]})),t.Range=e=>o.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:o.NumberNode(e),change:e=>{var t,i,o;return void 0===e?0:null!==(o=null!==(i=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==i?i:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:o.ObjectNode({min:(null==e?void 0:e.bounds)?o.NumberNode(e):o.Opt(o.NumberNode(e)),max:(null==e?void 0:e.bounds)?o.NumberNode(e):o.Opt(o.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:o.ObjectNode({type:r({enum:["minecraft:binomial"]}),n:o.NumberNode({integer:!0,min:0}),p:o.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,i;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(i=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==i?i:1,p:.5}}}]:[]],{choiceContext:"range"}),t.ConditionCases={"minecraft:alternative":{terms:o.ListNode(n("condition"))},"minecraft:block_state_property":{block:r({validator:"resource",params:{pool:"block"}}),properties:o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:n("damage_source_predicate")},"minecraft:entity_properties":{entity:r({enum:"entity_source"}),predicate:n("entity_predicate")},"minecraft:entity_scores":{entity:r({enum:"entity_source"}),scores:o.MapNode(r({validator:"objective"}),t.Range({forceRange:!0,bounds:!0}))},"minecraft:inverted":{term:n("condition")},"minecraft:killed_by_player":{inverse:o.Opt(o.BooleanNode())},"minecraft:location_check":{offsetX:o.Opt(o.NumberNode({integer:!0})),offsetY:o.Opt(o.NumberNode({integer:!0})),offsetZ:o.Opt(o.NumberNode({integer:!0})),predicate:n("location_predicate")},"minecraft:match_tool":{predicate:n("item_predicate")},"minecraft:random_chance":{chance:o.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:o.NumberNode({min:0,max:1}),looting_multiplier:o.NumberNode()},"minecraft:requirements":{terms:o.ListNode(n("condition"))},"minecraft:reference":{name:r({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:r({validator:"resource",params:{pool:"enchantment"}}),chances:o.ListNode(o.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:t.Range(),period:o.Opt(o.NumberNode())},"minecraft:weather_check":{raining:o.Opt(o.BooleanNode()),thundering:o.Opt(o.BooleanNode())}}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initProcessorListSchemas=t.Processors=void 0;const o=i(0);t.initProcessorListSchemas=function(e,i){const r=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,i);t.Processors=o.ChoiceNode([{type:"string",node:n({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]),e.register("processor_list",o.Mod(o.ObjectNode({processors:o.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",o.Mod(o.ObjectNode({processor_type:n({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[o.Switch]:[{push:"processor_type"}],[o.Case]:{"minecraft:block_age":{mossiness:o.NumberNode()},"minecraft:block_ignore":{blocks:o.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:o.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:n({enum:"heightmap_type"}),offset:o.NumberNode({integer:!0})},"minecraft:protected_blocks":{value:n({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:o.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",o.Mod(o.ObjectNode({position_predicate:o.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:o.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const a={min_dist:o.Opt(o.NumberNode({min:0,max:255,integer:!0})),max_dist:o.Opt(o.NumberNode({min:0,max:255,integer:!0})),min_chance:o.Opt(o.NumberNode({min:0,max:1})),max_chance:o.Opt(o.NumberNode({min:0,max:1}))};e.register("pos_rule_test",o.ObjectNode({predicate_type:n({validator:"resource",params:{pool:"pos_rule_test"}}),[o.Switch]:[{push:"predicate_type"}],[o.Case]:{"minecraft:axis_aligned_linear_pos":{axis:n({enum:["x","y","z"]}),...a},"minecraft:linear_pos":a}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",o.ObjectNode({predicate_type:n({validator:"resource",params:{pool:"rule_test"}}),[o.Switch]:[{push:"predicate_type"}],[o.Case]:{"minecraft:block_match":{block:n({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:n({validator:"resource",params:{pool:"block"}}),probability:o.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:o.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:n({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}},function(e,t,i){var o=i(90),r=i(91),n=i(92),a=i(93),s=i(94),c=i(95),l=i(96);l.alea=o,l.xor128=r,l.xorwow=n,l.xorshift7=a,l.xor4096=s,l.tychei=c,e.exports=l},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ModelPath=t.Path=t.relativePath=void 0,t.relativePath=function(e,t){return t.reduce((e,t)=>"pop"===t?e.pop():e.push(t.push),e)};class o{constructor(e,t){this.modelArr=null!=e?e:[],this.contextArr=null!=t?t:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(e,t){return new o(this.modelArr.slice(e,t),this.contextArr)}shift(){return new o(this.modelArr.slice(1),this.contextArr)}pop(){return new o(this.modelArr.slice(0,-1),this.contextArr)}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new o([...this.modelArr,e],[...this.contextArr])}contextPush(e){if("number"==typeof e)return this.copy();const t=e.startsWith("minecraft:")?e.slice(10):e;return new o([...this.modelArr],[...this.contextArr,t])}copy(){return new o([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(e){return new r(e,this)}getContext(){return this.contextArr}equals(e){return e.modelArr.length===this.modelArr.length&&e.modelArr.every((e,t)=>e===this.modelArr[t])}startsWith(e){return!(this.modelArr.lengthe===this.modelArr[t])}endsWith(e){const t=this.modelArr.length-e.modelArr.length;return!(t<0)&&e.modelArr.every((e,i)=>e===this.modelArr[t+i])}toString(){return this.modelArr.map(e=>"string"==typeof e?"."+e:`[${e}]`).join("").replace(/^\./,"")}forEach(e,t){return this.modelArr.forEach(e,t)}}t.Path=o;class r extends o{constructor(e,t){super(null==t?void 0:t.modelArr,null==t?void 0:t.contextArr),this.model=e}getModel(){return this.model}get(){var e;return null===(e=this.model)||void 0===e?void 0:e.get(this)}set(e){var t;null===(t=this.model)||void 0===t||t.set(this,e)}slice(e,t){return new r(this.model,super.slice(e,t))}shift(){return new r(this.model,super.shift())}pop(){return new r(this.model,super.pop())}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new r(this.model,super.modelPush(e))}contextPush(e){return new r(this.model,super.contextPush(e))}copy(){return new r(this.model,super.copy())}}t.ModelPath=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Errors=void 0;class o{constructor(){this.errors=[]}add(e,t,...i){return this.errors.push({path:e,error:t,params:i}),!1}get(e,t=!1){return t?this.errors.filter(t=>t.path.equals(e)):this.errors.filter(t=>t.path.startsWith(e))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const e of this.errors)yield e}}t.Errors=o},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initProcessorListSchemas=void 0;const o=i(0);t.initProcessorListSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t);e.register("processor_list",o.Mod(o.ObjectNode({processors:o.ListNode(i("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",o.Mod(o.ObjectNode({processor_type:r({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[o.Switch]:[{push:"processor_type"}],[o.Case]:{"minecraft:block_age":{mossiness:o.NumberNode()},"minecraft:block_ignore":{blocks:o.ListNode(i("block_state"))},"minecraft:block_rot":{integrity:o.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:r({enum:"heightmap_type"}),offset:o.NumberNode({integer:!0})},"minecraft:rule":{rules:o.ListNode(i("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",o.Mod(o.ObjectNode({position_predicate:o.Opt(i("pos_rule_test")),location_predicate:i("rule_test"),input_predicate:i("rule_test"),output_state:i("block_state"),output_nbt:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const n={min_dist:o.NumberNode({min:0,max:255,integer:!0}),max_dist:o.NumberNode({min:0,max:255,integer:!0}),min_chance:o.NumberNode({min:0,max:1}),max_chance:o.NumberNode({min:0,max:1})};e.register("pos_rule_test",o.ObjectNode({predicate_type:r({validator:"resource",params:{pool:"pos_rule_test"}}),[o.Switch]:[{push:"predicate_type"}],[o.Case]:{"minecraft:axis_aligned_linear_pos":{axis:r({enum:["x","y","z"]}),...n},"minecraft:linear_pos":n}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",o.ObjectNode({predicate_type:r({validator:"resource",params:{pool:"rule_test"}}),[o.Switch]:[{push:"predicate_type"}],[o.Case]:{"minecraft:block_match":{block:r({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:i("block_state")},"minecraft:random_block_match":{block:r({validator:"resource",params:{pool:"block"}}),probability:o.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:i("block_state"),probability:o.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:r({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ListNode=void 0;const o=i(5);t.ListNode=(e,t)=>{var i,r;const n=null!==(i=null==t?void 0:t.minLength)&&void 0!==i?i:0,a=null!==(r=null==t?void 0:t.maxLength)&&void 0!==r?r:1/0,s=(null==t?void 0:t.minLength)&&(null==t?void 0:t.maxLength);return{...o.Base,type:()=>"list",default:()=>(null==t?void 0:t.minLength)?[...Array(n)].map(t=>e.default()):[],navigate(t,i){const o=i+1;return t.getArray().length<=o?this:e.navigate(t,o)},pathPush:(e,t)=>e.push(parseInt(t.toString())).contextPush("entry"),validate(t,i,o,r){return r.loose&&!Array.isArray(i)&&(i=this.default()),Array.isArray(i)?(s&&(i.lengtha)?n===a?o.add(t,"error.invalid_list_range.exact",i.length,n):o.add(t,"error.invalid_list_range.between",i.length,n,a):i.lengtha&&o.add(t,"error.invalid_list_range.larger",i.length,a),i.map((i,n)=>e.validate(t.push(n),i,o,r))):(o.add(t,"error.expected_list"),i)},hook(i,o,...r){var n;return(null!==(n=i.list)&&void 0!==n?n:i.base).call(i,{node:this,children:e,config:null!=t?t:{}},o,...r)}}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SwitchNode=void 0;const o=i(5);t.SwitchNode=e=>({...o.Base,type(e){return this.activeCase(e,!0).node.type(e)},category(e){return this.activeCase(e,!0).node.category(e)},default:()=>e[0].node.default(),navigate(e,t){var i;const o=t+1;return null===(i=this.activeCase(e.slice(0,o)))||void 0===i?void 0:i.node.navigate(e,t)},pathPush(e,t){var i,o;return null!==(o=null===(i=this.activeCase(e))||void 0===i?void 0:i.node.pathPush(e,t))&&void 0!==o?o:e},suggest(t,i){var o,r;return null!==(r=null===(o=this.activeCase(t))||void 0===o?void 0:o.node.suggest(t,i))&&void 0!==r?r:e.filter(e=>e.match(t)).map(e=>e.node.suggest(t,i)).reduce((e,t)=>e.concat(t))},validate(e,t,i,o){let r=this.activeCase(e);return void 0===r?t:r.node.validate(e,t,i,o)},validationOption(e){var t;return null===(t=this.activeCase(e))||void 0===t?void 0:t.node.validationOption(e)},activeCase(t,i){const o=(e,t)=>{var i,o;return(null!==(i=t.priority)&&void 0!==i?i:0)-(null!==(o=e.priority)&&void 0!==o?o:0)},r=e.filter(e=>e.match(t)).sort(o);return i&&0===r.length?e.sort(o)[0]:r.length>0?r[0]:void 0},hook(e,t,...i){return this.activeCase(t,!0).node.hook(e,t,...i)}})},function(e,t,i){"use strict";function o(e){return e.replace(/(\\|")/g,"\\$1")}Object.defineProperty(t,"__esModule",{value:!0}),t.quoteString=t.escapeString=void 0,t.escapeString=o,t.quoteString=function(e){return`"${o(e)}"`}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initPredicatesSchemas=t.LocationFields=void 0;const o=i(0),r=i(8);t.initPredicatesSchemas=function(e,i){const n=o.Reference.bind(void 0,e),a=o.StringNode.bind(void 0,i),s=o.ChoiceNode([{type:"string",node:a(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:o.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:o.ObjectNode({min:o.Opt(o.NumberNode({integer:!0})),max:o.Opt(o.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:o.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",o.ObjectNode({item:o.Opt(a({validator:"resource",params:{pool:"item"}})),tag:o.Opt(a({validator:"resource",params:{pool:"$tag/item"}})),count:o.Opt(r.Range()),durability:o.Opt(r.Range()),potion:o.Opt(a({validator:"resource",params:{pool:"potion"}})),nbt:o.Opt(a({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:o.Opt(o.ListNode(n("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",o.ObjectNode({enchantment:o.Opt(a({validator:"resource",params:{pool:"enchantment"}})),levels:o.Opt(r.Range())},{context:"enchantment"})),e.register("block_predicate",o.ObjectNode({block:o.Opt(a({validator:"resource",params:{pool:"block"}})),tag:o.Opt(a({validator:"resource",params:{pool:"$tag/block"}})),nbt:o.Opt(a({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:o.Opt(o.MapNode(a(),s,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",o.ObjectNode({fluid:o.Opt(a({validator:"resource",params:{pool:"fluid"}})),tag:o.Opt(a({validator:"resource",params:{pool:"$tag/fluid"}})),state:o.Opt(o.MapNode(a(),s))},{context:"fluid"})),t.LocationFields={position:o.Opt(o.ObjectNode({x:o.Opt(r.Range()),y:o.Opt(r.Range()),z:o.Opt(r.Range())})),biome:o.Opt(a({enum:"biome"})),feature:o.Opt(a({enum:"structure_feature"})),dimension:o.Opt(a({enum:"dimension"})),light:o.Opt(o.ObjectNode({light:o.Opt(r.Range({integer:!0,min:0,max:15}))})),block:o.Opt(n("block_predicate")),fluid:o.Opt(n("fluid_predicate"))},e.register("location_predicate",o.ObjectNode(t.LocationFields,{context:"location"})),e.register("statistic_predicate",o.ObjectNode({type:a({validator:"resource",params:{pool:"stat_type"}}),stat:a(),value:r.Range(),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:mined":{stat:a({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:a({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:a({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:a({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:a({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:a({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:a({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:a({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:a({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",o.ObjectNode({gamemode:o.Opt(a({enum:"gamemode"})),level:o.Opt(r.Range()),advancements:o.Opt(o.MapNode(a({validator:"resource",params:{pool:"$advancement"}}),o.ChoiceNode([{type:"boolean",node:o.BooleanNode(),change:e=>!0},{type:"object",node:o.MapNode(a(),o.BooleanNode())}]))),recipes:o.Opt(o.MapNode(a({validator:"resource",params:{pool:"$recipe"}}),o.BooleanNode())),stats:o.Opt(o.ListNode(n("statistic_predicate")))},{context:"player"})),e.register("status_effect_predicate",o.ObjectNode({amplifier:o.Opt(r.Range()),duration:o.Opt(r.Range()),ambient:o.Opt(o.BooleanNode()),visible:o.Opt(o.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",o.ObjectNode({x:o.Opt(r.Range()),y:o.Opt(r.Range()),z:o.Opt(r.Range()),absolute:o.Opt(r.Range()),horizontal:o.Opt(r.Range())},{context:"distance"})),e.register("entity_predicate",o.ObjectNode({type:o.Opt(a({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:o.Opt(a({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:o.Opt(a({validator:"team"})),location:o.Opt(n("location_predicate")),distance:o.Opt(n("distance_predicate")),flags:o.Opt(o.ObjectNode({is_on_fire:o.Opt(o.BooleanNode()),is_sneaking:o.Opt(o.BooleanNode()),is_sprinting:o.Opt(o.BooleanNode()),is_swimming:o.Opt(o.BooleanNode()),is_baby:o.Opt(o.BooleanNode())})),equipment:o.Opt(o.MapNode(a({enum:"slot"}),n("item_predicate"))),player:o.Opt(n("player_predicate")),effects:o.Opt(o.MapNode(a({validator:"resource",params:{pool:"mob_effect"}}),n("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",o.ObjectNode({is_explosion:o.Opt(o.BooleanNode()),is_fire:o.Opt(o.BooleanNode()),is_magic:o.Opt(o.BooleanNode()),is_projectile:o.Opt(o.BooleanNode()),is_lightning:o.Opt(o.BooleanNode()),bypasses_armor:o.Opt(o.BooleanNode()),bypasses_invulnerability:o.Opt(o.BooleanNode()),bypasses_magic:o.Opt(o.BooleanNode()),source_entity:o.Opt(n("entity_predicate")),direct_entity:o.Opt(n("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",o.ObjectNode({dealt:o.Opt(r.Range()),taken:o.Opt(r.Range()),blocked:o.Opt(o.BooleanNode()),source_entity:o.Opt(n("entity_predicate")),type:o.Opt(n("damage_source_predicate"))},{context:"damage"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LootFunctions=t.LootConditions=t.LootCopySources=t.LootEntitySources=t.LootTableTypes=void 0,t.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),t.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),t.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),t.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),t.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]])},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LootFunctions=t.LootConditions=t.LootCopySources=t.LootEntitySources=t.LootTableTypes=void 0,t.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),t.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),t.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),t.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),t.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]])},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initDecoratorSchemas=void 0;const o=i(0),r=i(3);t.initDecoratorSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a={maximum:o.NumberNode({integer:!0}),bottom_offset:o.NumberNode({integer:!0}),top_offset:o.NumberNode({integer:!0})},s={chance:o.NumberNode({integer:!0,min:0})},c={count:r.UniformInt({min:-10,max:128,maxSpread:128})};e.register("configured_decorator",o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/decorator"}}),config:o.ObjectNode({[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:carving_mask":{step:n({enum:"generation_step"}),probability:o.NumberNode({min:0,max:1})},"minecraft:chance":s,"minecraft:count":c,"minecraft:count_extra":{count:o.NumberNode({integer:!0,min:0}),extra_count:o.NumberNode({integer:!0,min:0}),extra_chance:o.NumberNode({min:0,max:1})},"minecraft:count_multilayer":c,"minecraft:count_noise":{noise_level:o.NumberNode(),below_noise:o.NumberNode({integer:!0}),above_noise:o.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:o.NumberNode({integer:!0}),noise_factor:o.NumberNode(),noise_offset:o.Opt(o.NumberNode())},"minecraft:decorated":{outer:i("configured_decorator"),inner:i("configured_decorator")},"minecraft:depth_average":{baseline:o.NumberNode({integer:!0}),spread:o.NumberNode({integer:!0})},"minecraft:fire":c,"minecraft:glowstone":c,"minecraft:lava_lake":s,"minecraft:range":a,"minecraft:range_biased":a,"minecraft:range_very_biased":a,"minecraft:water_lake":s}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LootFunctions=t.LootConditions=t.LootCopySources=t.LootEntitySources=t.LootTableTypes=void 0,t.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),t.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),t.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),t.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),t.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]])},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initDecoratorSchemas=void 0;const o=i(0),r=i(4);t.initDecoratorSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a={count:r.IntProvider({min:0,max:256})};e.register("configured_decorator",o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/decorator"}}),config:o.ObjectNode({[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:carving_mask":{step:n({enum:"generation_step"})},"minecraft:cave_surface":{surface:n({enum:["floor","ceiling"]}),floor_to_ceiling_search_range:o.NumberNode({integer:!0})},"minecraft:chance":{chance:o.NumberNode({integer:!0,min:0})},"minecraft:count":a,"minecraft:count_extra":{count:o.NumberNode({integer:!0,min:0}),extra_count:o.NumberNode({integer:!0,min:0}),extra_chance:o.NumberNode({min:0,max:1})},"minecraft:count_multilayer":a,"minecraft:count_noise":{noise_level:o.NumberNode(),below_noise:o.NumberNode({integer:!0}),above_noise:o.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:o.NumberNode({integer:!0}),noise_factor:o.NumberNode(),noise_offset:o.Opt(o.NumberNode())},"minecraft:decorated":{outer:i("configured_decorator"),inner:i("configured_decorator")},"minecraft:heightmap":{heightmap:n({enum:"heightmap_type"})},"minecraft:heightmap_spread_double":{heightmap:n({enum:"heightmap_type"})},"minecraft:lava_lake":{chance:o.NumberNode({integer:!0,min:0})},"minecraft:range":{height:i("height_provider")},"minecraft:water_depth_threshold":{max_water_depth:o.NumberNode({integer:!0})}}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))}},function(e,t,i){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,i,o){void 0===o&&(o=i),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,o){void 0===o&&(o=i),e[o]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&o(t,e,i);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemas=t.getCollections=t.lootContext=void 0;const a=i(0),s=i(38),c=i(39);t.lootContext=n(i(18)),t.getCollections=function(){const e=new a.CollectionRegistry;return s.initCollections(e),e},t.getSchemas=function(e){const t=new a.SchemaRegistry;return c.initSchemas(t,e),t}},function(e,t,i){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,i,o){void 0===o&&(o=i),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,o){void 0===o&&(o=i),e[o]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.hasOwnProperty.call(e,i)&&o(t,e,i);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemas=t.getCollections=void 0;const a=i(0),s=i(47),c=i(48);t.lootContext=n(i(19)),t.getCollections=function(){const e=new a.CollectionRegistry;return s.initCollections(e),e},t.getSchemas=function(e){const t=new a.SchemaRegistry;return c.initSchemas(t,e),t}},function(e,t,i){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,i,o){void 0===o&&(o=i),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,o){void 0===o&&(o=i),e[o]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.hasOwnProperty.call(e,i)&&o(t,e,i);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemas=t.getCollections=void 0;const a=i(0),s=i(68),c=i(69);t.lootContext=n(i(21)),t.getCollections=function(){const e=new a.CollectionRegistry;return s.initCollections(e),e},t.getSchemas=function(e){const t=new a.SchemaRegistry;return c.initSchemas(t,e),t}},function(e){e.exports=JSON.parse('{"advancement":"Advancement","button.add":"Add","button.collapse":"Collapse","button.expand":"Expand","button.remove":"Remove","copy":"Copy","dimension-type":"Dimension Type","dimension":"Dimension","download":"Download","error.block_state.missing_property":"Missing block property \\"%0%\\"","fields":"Fields","github":"GitHub","home":"Home","item-modifier":"Item Modifier","language":"Language","loot-table":"Loot Table","maximize":"Maximize","minimize":"Minimize","not_found.description":"The page you were looking for does not exist.","predicate":"Predicate","redo":"Redo","reset":"Reset","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","title.generator":"%0% Generator","title.home":"Data Pack Generators","presets":"Presets","preview":"Visualize","preview.show_density":"Show Density","preview.scale":"Scale","preview.depth":"Depth","preview.width":"Width","undo":"Undo","world":"World Settings","worldgen/biome":"Biome","worldgen/carver":"Carver","worldgen/feature":"Feature","worldgen/noise-settings":"Noise Settings","worldgen/processor-list":"Processor List","worldgen/structure-feature":"Structure Feature","worldgen/surface-builder":"Surface Builder","worldgen/template-pool":"Template Pool"}')},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataModel=void 0;const o=i(11),r=i(12);t.DataModel=class{constructor(e,t){var i;this.schema=e,this.data=e.default(),this.listeners=[],this.errors=new r.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0,this.historyMax=null!==(i=null==t?void 0:t.historyMax)&&void 0!==i?i:50}addListener(e){this.listeners.push(e)}removeListener(e){const t=this.listeners.indexOf(e);t>-1&&this.listeners.splice(t,1)}invalidate(){const e=JSON.stringify(this.data);this.history[this.historyIndex]!==e&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,e),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach(e=>{e.invalidated&&e.invalidated(this),e.errors&&e.errors(this.errors)})}reset(e,t){this.data=e,this.validate(t),this.invalidate()}get(e){let t=this.data;return e.forEach(e=>{if(void 0===t)return t;t=t[e]}),t}set(e,t,i){if(0===e.getArray().length)return void this.reset(t,!0);let o=this.data;e.pop().forEach(e=>{void 0!==o[e]&&"string"!=typeof o[e]&&"number"!=typeof o[e]||(o[e]={}),o=o[e]}),void 0===t||"number"==typeof t&&isNaN(t)?"number"==typeof e.last()?o.splice(e.last(),1):delete o[e.last()]:o[e.last()]=t,i||(console.log("Set",e.toString(),JSON.stringify(t)),this.validate(!0),this.invalidate())}undo(){this.historyIndex>0&&(this.historyIndex-=1,this.data=JSON.parse(this.history[this.historyIndex]),this.validate(!1),this.silentInvalidate())}redo(){this.historyIndex{e.errors&&e.errors(o)})}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanNode=void 0;const o=i(5);t.BooleanNode=()=>({...o.Base,type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,i,o){return o.loose&&"boolean"!=typeof t&&(t=this.default()),"boolean"==typeof t&&void 0!==t||i.add(e,"error.expected_boolean"),t},hook(e,t,...i){var o;return(null!==(o=e.boolean)&&void 0!==o?o:e.base).call(e,{node:this},t,...i)}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectOrPreset=t.StringOrList=t.ObjectOrList=t.ChoiceNode=void 0;const o=i(14),r=i(15);t.ChoiceNode=(e,t)=>{const i=r.SwitchNode(e.map(e=>({type:e.type,priority:e.priority,match:t=>((e,t)=>{if(e.match)return e.match(t);switch(e.type){case"list":return Array.isArray(t);case"object":return"object"==typeof t&&!Array.isArray(t);default:return typeof t===e.type}})(e,t.get()),node:e.node})));return{...i,validate(e,t,o,r){let n=i.activeCase(e,!0);return n.node.optional()?t:n.node.validate(e,t,o,r)},hook(o,r,...n){var a;return(null!==(a=o.choice)&&void 0!==a?a:o.base).call(o,{node:this,choices:e,config:null!=t?t:{},switchNode:i},r,...n)}}};const n=e=>(i,r)=>t.ChoiceNode([{type:e,node:i,change:e=>{var t;return null!==(t=e[0])&&void 0!==t?t:i.default()}},{type:"list",node:o.ListNode(i),change:e=>e?[e]:[]}],r);t.ObjectOrList=n("object"),t.StringOrList=n("string"),t.ObjectOrPreset=(e,i,o)=>t.ChoiceNode([{type:"string",priority:1,node:e,change:e=>Object.keys(o)[0]},{type:"object",node:i,change:e=>{var t;return null!==(t=o[e])&&void 0!==t?t:o[Object.keys(o)[0]]}}])},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapNode=void 0;const o=i(5);t.MapNode=(e,t,i)=>({...o.Base,type:()=>"map",default:()=>({}),navigate(e,i){const o=i+1;return e.getArray().length<=o?this:t.navigate(e,o)},pathPush:(e,t)=>e.modelPush(t),suggest:t=>e.suggest(t,""),validate(i,o,r,n){if(n.loose&&"object"!=typeof o&&(o=this.default()),null===o||"object"!=typeof o)return r.add(i,"error.expected_object"),o;let a={};return Object.keys(o).forEach(s=>{e.validate(i,s,r,n),a[s]=t.validate(i.push(s),o[s],r,n)}),a},validationOption(t){var o;return null!==(o=null==i?void 0:i.validation)&&void 0!==o?o:e.validationOption(t.push(""))},hook(o,r,...n){var a;return(null!==(a=o.map)&&void 0!==a?a:o.base).call(o,{node:this,keys:e,children:t,config:null!=i?i:{}},r,...n)}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NumberNode=void 0;const o=i(5);t.NumberNode=e=>{var t,i,r;const n=!!(null==e?void 0:e.color)||null!==(t=null==e?void 0:e.integer)&&void 0!==t&&t,a=(null==e?void 0:e.color)?0:null!==(i=null==e?void 0:e.min)&&void 0!==i?i:-1/0,s=(null==e?void 0:e.color)?16777215:null!==(r=null==e?void 0:e.max)&&void 0!==r?r:1/0,c=void 0!==(null==e?void 0:e.min)&&void 0!==(null==e?void 0:e.max);return{...o.Base,type:()=>"number",default:()=>a>0?a:0,validate(e,t,i,o){return o.loose&&"number"!=typeof t&&(t=this.default()),"number"!=typeof t?i.add(e,"error.expected_number"):n&&!Number.isInteger(t)?i.add(e,"error.expected_integer"):c&&(ts)?i.add(e,"error.invalid_number_range.between",t,a,s):ts&&i.add(e,"error.invalid_number_range.larger",t,s),t},hook(t,i,...o){var r;return(null!==(r=t.number)&&void 0!==r?r:t.base).call(t,{node:this,integer:n,min:a,max:s,between:c,config:null!=e?e:{}},i,...o)}}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectNode=t.Case=t.Switch=void 0;const o=i(5),r=i(11),n=i(12),a=i(16);t.Switch=Symbol("switch"),t.Case=Symbol("case"),t.ObjectNode=(e,i)=>{const{[t.Switch]:s,[t.Case]:c,...l}=e,d=e=>{if(void 0===s)return l;const t=r.relativePath(e,s).get(),i=c[t];return{...l,...i}},m=(e,t)=>{var o;const n=s?r.relativePath(e,s).get():void 0,a=s&&null!==(o=c[n])&&void 0!==o?o:{},l=Object.keys(a),d=(null==i?void 0:i.context)?new r.ModelPath(e.getModel(),new r.Path(e.getArray(),[i.context])):e;return(!(null==i?void 0:i.disableSwitchContext)&&n&&l.includes(t)?d.contextPush(n):d).push(t)};return{...o.Base,type:()=>"object",category:()=>null==i?void 0:i.category,default:()=>({}),keep(){return this.optional()},navigate(e,t){const i=t+1,o=e.getArray();if(o.length<=i)return this;const r=d(e.slice(0,i))[o[i]];return null==r?void 0:r.navigate(e,i)},pathPush:(e,t)=>m(e,t.toString()),suggest(e,t){const i=d(e),o=Object.keys("object"==typeof t?t:{});return Object.keys(i).filter(t=>i[t].enabled(e)).filter(e=>!o.includes(e)).map(a.quoteString)},validate(e,t,i,o){if(o.loose&&"object"!=typeof t&&(t=this.default()),"object"!=typeof t)return i.add(e,"error.expected_object"),t;let a=l;if(s){const i=r.relativePath(e,s);let d=i.get();if(e.equals(i.pop())){const r=i.last();d=l[r].validate(e.push(r),t[r],new n.Errors,o)}a={...a,...c[d]}}const d=Object.keys(a),m=d.filter(e=>!a[e].optional()),p=new Set([...m,...Object.keys(t)]);let u={};return p.forEach(r=>{if(d.includes(r)){if(!a[r].enabled(e))return;const n=a[r].validate(e.push(r),t[r],i,o);!a[r].keep()&&a[r].optional()&&(void 0===n||Array.isArray(n)&&0===n.length||n.constructor===Object&&0===Object.keys(n).length)?u[r]=void 0:(u[r]=n,e.getModel().set(e.push(r),n,!0))}else u[r]=t[r]}),u},hook(e,t,...i){var o;return(null!==(o=e.object)&&void 0!==o?o:e.base).call(e,{node:this,fields:l,filter:s,cases:c,getActiveFields:d,getChildModelPath:m},t,...i)}}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Reference=void 0,t.Reference=(e,t)=>({type(i){return e.get(t).type.bind(this)(i)},category(i){return e.get(t).category.bind(this)(i)},default(){return e.get(t).default.bind(this)()},transform:(i,o)=>e.get(t).transform(i,o),enabled(i){return e.get(t).enabled.bind(this)(i)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(i,o){return e.get(t).navigate.bind(this)(i,o)},pathPush(i,o){return e.get(t).pathPush.bind(this)(i,o)},suggest(i,o){return e.get(t).suggest.bind(this)(i,o)},validate(i,o,r,n){return e.get(t).validate.bind(this)(i,o,r,n)},validationOption(i){return e.get(t).validationOption.bind(this)(i)},hook(i,o,...r){return e.get(t).hook.bind(this)(i,o,...r)},activeCase(i,o){return e.get(t).activeCase.bind(this)(i,o)},canUpdate(i,o){return e.get(t).canUpdate.bind(this)(i,o)},update(i,o){return e.get(t).update.bind(this)(i,o)}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringNode=void 0;const o=i(5),r=i(16),n=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.enum)},a=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.validator)};t.StringNode=(e,t)=>{const i=n(t)?"string"==typeof t.enum?()=>{var i;return null!==(i=null==e?void 0:e.get(t.enum))&&void 0!==i?i:[]}:()=>t.enum:"resource"===(null==t?void 0:t.validator)?"string"==typeof t.params.pool?t.params.pool.startsWith("$")?()=>{var i;return null!==(i=null==e?void 0:e.get(t.params.pool.slice(1)))&&void 0!==i?i:[]}:()=>{var i;return null!==(i=null==e?void 0:e.get(t.params.pool))&&void 0!==i?i:[]}:()=>t.params.pool:()=>[];return{...o.Base,type:()=>"string",default:()=>"",validate(e,o,r,s){if(s.loose&&"string"!=typeof o&&(o=this.default()||void 0),"string"!=typeof o)return r.add(e,"error.expected_string"),o;if(a(t)&&("resource"===t.validator&&o.length>0&&!o.includes(":")&&(o="#"===o[0]?"#minecraft:"+o.slice(1):"minecraft:"+o),"resource"===t.validator&&("string"==typeof t.params.pool&&t.params.pool.startsWith("$")||t.params.allowTag&&"#"===o[0]||t.params.isDefinition||t.params.allowUnknown)))return o;if(n(t)&&t.additional)return o;const c=i();return c.length>0&&!c.includes(o)&&r.add(e,"error.invalid_enum_option",o),o},suggest:()=>i().map(r.quoteString),validationOption:()=>a(t)?t:void 0,hook(e,o,...r){var n;return(null!==(n=e.string)&&void 0!==n?n:e.base).call(e,{node:this,getValues:i,config:t},o,...r)}}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CollectionRegistry=t.SchemaRegistry=void 0;t.SchemaRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.error(`Tried to access schema "${e}", but that doesn't exist.`),t}};t.CollectionRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.warn(`Tried to access collection "${e}", but that doesn't exist.`),null!=t?t:[]}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCollections=void 0,t.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:tick","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("loot_pool_entry_type",["minecraft:empty","minecraft:item","minecraft:tag","minecraft:loot_table","minecraft:alternatives","minecraft:sequence","minecraft:group","minecraft:dynamic"]),e.register("loot_condition_type",["minecraft:alternative","minecraft:inverted","minecraft:reference","minecraft:entity_properties","minecraft:block_state_property","minecraft:match_tool","minecraft:damage_source_properties","minecraft:location_check","minecraft:weather_check","minecraft:time_check","minecraft:entity_scores","minecraft:random_chance","minecraft:random_chance_with_looting","minecraft:table_bonus","minecraft:killed_by_player","minecraft:survives_explosion"]),e.register("loot_function_type",["minecraft:set_count","minecraft:set_damage","minecraft:set_name","minecraft:set_lore","minecraft:set_nbt","minecraft:set_attributes","minecraft:set_contents","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:looting_enchant","minecraft:limit_count","minecraft:furnace_smelt","minecraft:explosion_decay","minecraft:fill_player_head","minecraft:copy_name","minecraft:copy_nbt","minecraft:copy_state","minecraft:apply_bonus","minecraft:exploration_map","minecraft:set_stew_effect"]),e.register("attribute",["generic.maxHealth","generic.followRange","generic.knockbackResistance","generic.movementSpeed","generic.attackDamage","generic.armor","generic.armorToughness","generic.attackSpeed","generic.luck","horse.jumpStrength","generic.attackKnockback","generic.flyingSpeed","zombie.spawnReinforcements"]),e.register("structure_feature",["pillager_outpost","mineshaft","mansion","jungle_pyramid","desert_pyramid","igloo","shipwreck","swamp_hut","stronghold","monument","ocean_ruin","fortress","endcity","buried_treasure","village"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initSchemas=void 0;const o=i(40),r=i(8),n=i(41),a=i(42),s=i(43),c=i(17),l=i(44),d=i(45),m=i(46);t.initSchemas=function(e,t){r.initCommonSchemas(e,t),c.initPredicatesSchemas(e,t),o.initAdvancementSchemas(e,t),n.initConditionSchemas(e,t),a.initLootTableSchemas(e,t),s.initPackMcmetaSchemas(e,t),l.initRecipeSchemas(e,t),d.initTagsSchemas(e,t),m.initTextComponentSchemas(e,t)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initAdvancementSchemas=void 0;const o=i(0),r=i(8),n=i(17);t.initAdvancementSchemas=function(e,t){const i=o.Reference.bind(void 0,e),a=o.StringNode.bind(void 0,t);e.register("advancement",o.Mod(o.ObjectNode({display:o.Opt(o.Mod(o.ObjectNode({icon:o.ObjectNode({item:a({validator:"resource",params:{pool:"item"}}),nbt:o.Opt(a({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:i("text_component"),description:i("text_component"),background:o.Opt(a()),frame:o.Opt(a({enum:["task","challenge","goal"]})),show_toast:o.Opt(o.BooleanNode()),announce_to_chat:o.Opt(o.BooleanNode()),hidden:o.Opt(o.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:o.Opt(a({validator:"resource",params:{pool:"$advancement"}})),criteria:o.MapNode(a(),i("advancement_criteria")),requirements:o.Opt(o.ListNode(o.ListNode(a()))),rewards:o.Opt(o.ObjectNode({function:o.Opt(a({validator:"resource",params:{pool:"$function"}})),loot:o.Opt(o.ListNode(a({validator:"resource",params:{pool:"$loot_table"}}))),recipes:o.Opt(o.ListNode(a({validator:"resource",params:{pool:"$recipe"}}))),experience:o.Opt(o.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",o.ObjectNode({trigger:a({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:o.Opt(o.ObjectNode({[o.Switch]:["pop",{push:"trigger"}],[o.Case]:{"minecraft:bee_nest_destroyed":{block:o.Opt(a({validator:"resource",params:{pool:"block"}})),num_bees_inside:o.Opt(o.NumberNode({integer:!0})),item:o.Opt(i("item_predicate"))},"minecraft:bred_animals":{parent:o.Opt(i("entity_predicate")),partner:o.Opt(i("entity_predicate")),child:o.Opt(i("entity_predicate"))},"minecraft:brewed_potion":{potion:o.Opt(a({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:o.Opt(a({enum:"dimension"})),to:o.Opt(a({enum:"dimension"}))},"minecraft:channeled_lightning":{victims:o.Opt(o.ListNode(o.Opt(i("entity_predicate"))))},"minecraft:construct_beacon":{level:o.Opt(r.Range())},"minecraft:consume_item":{item:o.Opt(i("item_predicate"))},"minecraft:cured_zombie_villager":{villager:o.Opt(i("entity_predicate")),zombie:o.Opt(i("entity_predicate"))},"minecraft:effects_changed":{effects:o.Opt(o.MapNode(a({validator:"resource",params:{pool:"mob_effect"}}),o.ObjectNode({amplifier:r.Range(),duration:r.Range()})))},"minecraft:enter_block":{block:o.Opt(a({validator:"resource",params:{pool:"block"}})),state:o.Opt(o.MapNode(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:o.Opt(r.Range()),item:o.Opt(i("item_predicate"))},"minecraft:entity_hurt_player":{damage:o.Opt(i("damage_predicate"))},"minecraft:entity_killed_player":{entity:o.Opt(i("entity_predicate")),killing_blow:o.Opt(i("damage_source_predicate"))},"minecraft:filled_bucket":{item:o.Opt(i("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:o.Opt(i("entity_predicate")),item:o.Opt(i("item_predicate"))},"minecraft:hero_of_the_village":n.LocationFields,"minecraft:inventory_changed":{slots:o.Opt(o.ObjectNode({empty:o.Opt(r.Range()),occupied:o.Opt(r.Range()),full:o.Opt(r.Range())})),items:o.Opt(o.ListNode(i("item_predicate")))},"minecraft:item_durability_changed":{delta:o.Opt(r.Range()),durability:o.Opt(r.Range()),item:o.Opt(i("item_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:o.Opt(r.Range()),victims:o.Opt(o.ListNode(o.Opt(i("entity_predicate"))))},"minecraft:levitation":{distance:o.Opt(r.Range()),duration:o.Opt(r.Range())},"minecraft:location":n.LocationFields,"minecraft:nether_travel":{distance:o.Opt(r.Range()),entered:o.Opt(i("location_predicate")),exited:o.Opt(i("location_predicate"))},"minecraft:placed_block":{block:o.Opt(a({validator:"resource",params:{pool:"block"}})),state:o.Opt(o.MapNode(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:o.Opt(i("item_predicate")),location:o.Opt(i("location_predicate"))},"minecraft:player_hurt_entity":{damage:o.Opt(i("damage_predicate")),entity:o.Opt(i("entity_predicate"))},"minecraft:player_killed_entity":{entity:o.Opt(i("entity_predicate")),killing_blow:o.Opt(i("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:a({validator:"resource",params:{pool:"$recipe"}})},"minecraft:safely_harvest_honey":{block:o.Opt(o.ObjectNode({block:o.Opt(a({validator:"resource",params:{pool:"block"}})),tag:o.Opt(a({validator:"resource",params:{pool:"$tag/block"}}))})),item:o.Opt(i("item_predicate"))},"minecraft:slept_in_bed":n.LocationFields,"minecraft:slide_down_block":{block:o.Opt(a({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:o.Opt(i("item_predicate"))},"minecraft:summoned_entity":{entity:o.Opt(i("entity_predicate"))},"minecraft:tame_animal":{entity:o.Opt(i("entity_predicate"))},"minecraft:used_ender_eye":{distance:o.Opt(r.Range())},"minecraft:used_totem":{item:o.Opt(i("item_predicate"))},"minecraft:villager_trade":{villager:o.Opt(i("entity_predicate")),item:o.Opt(i("item_predicate"))},"minecraft:voluntary_exile":n.LocationFields}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initConditionSchemas=void 0;const o=i(0),r=i(8);t.initConditionSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("predicate",o.ObjectOrList(i("condition"),{choiceContext:"condition"})),e.register("condition",o.Mod(o.ObjectNode({condition:n({validator:"resource",params:{pool:"loot_condition_type"}}),[o.Switch]:[{push:"condition"}],[o.Case]:r.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initLootTableSchemas=void 0;const o=i(0),r=i(18),n=i(8);t.initLootTableSchemas=function(e,t){const i=o.Reference.bind(void 0,e),a=o.StringNode.bind(void 0,t),s={conditions:o.Opt(o.ListNode(i("loot_condition")))},c={functions:o.Opt(o.ListNode(i("loot_function"))),...s};function l(e,i,n){const a=[],s=o=>t.get(i).filter(t=>{var i;return(null!==(i=e.get(t))&&void 0!==i?i:[]).every(e=>o.includes(e))});for(const[e,{allows:t,requires:i}]of r.LootTableTypes){const r=[...t,...i];a.push({match:t=>t.getModel().get(new o.Path(["type"]))===e,node:n(s(r))})}return a.push({match:e=>!0,node:n(i)}),o.SwitchNode(a)}const d=l(r.LootConditions,"loot_condition_type",e=>a({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}})),m=l(r.LootFunctions,"loot_function_type",e=>a({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}})),p=l(r.LootEntitySources,"entity_source",e=>a({enum:e})),u=l(r.LootCopySources,"copy_source",e=>a({enum:e}));e.register("loot_table",o.Mod(o.ObjectNode({type:o.Opt(a({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:o.Opt(o.ListNode(o.Mod(o.ObjectNode({rolls:n.Range({allowBinomial:!0,integer:!0}),bonus_rolls:o.Opt(n.Range({integer:!0})),entries:o.ListNode(i("loot_entry")),...c},{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:o.Opt(o.ListNode(i("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const _={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:o.Opt(o.Mod(o.NumberNode({integer:!0,min:1}),_)),quality:o.Opt(o.Mod(o.NumberNode({integer:!0}),_)),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:alternatives":{children:o.ListNode(i("loot_entry")),...c},"minecraft:dynamic":{name:a(),...c},"minecraft:group":{children:o.ListNode(i("loot_entry")),...c},"minecraft:item":{name:a({validator:"resource",params:{pool:"item"}}),...c},"minecraft:loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),...c},"minecraft:sequence":{children:o.ListNode(i("loot_entry")),...c},"minecraft:tag":{name:a({validator:"resource",params:{pool:"$tag/item"}}),expand:o.Opt(o.BooleanNode()),...c}}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",o.Mod(o.ObjectNode({function:m,[o.Switch]:[{push:"function"}],[o.Case]:{"minecraft:apply_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),formula:a({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:o.Mod(o.ObjectNode({bonusMultiplier:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()}),...s},"minecraft:copy_name":{source:u,...s},"minecraft:copy_nbt":{source:u,ops:o.ListNode(o.ObjectNode({source:a({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:a({validator:"nbt_path",params:{category:"minecraft:item"}}),op:a({enum:["replace","append","merge"]})},{context:"nbt_operation"})),...s},"minecraft:copy_state":{block:a({validator:"resource",params:{pool:"block"}}),properties:o.ListNode(a({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}})),...s},"minecraft:enchant_randomly":{enchantments:o.Opt(o.ListNode(a({validator:"resource",params:{pool:"enchantment"}}))),...s},"minecraft:enchant_with_levels":{levels:n.Range({allowBinomial:!0}),treasure:o.Opt(o.BooleanNode()),...s},"minecraft:exploration_map":{destination:o.Opt(a({enum:"structure_feature"})),decoration:o.Opt(a({enum:"map_decoration"})),zoom:o.Opt(o.NumberNode({integer:!0})),search_radius:o.Opt(o.NumberNode({integer:!0})),skip_existing_chunks:o.Opt(o.BooleanNode()),...s},"minecraft:fill_player_head":{entity:p,...s},"minecraft:limit_count":{limit:n.Range({bounds:!0}),...s},"minecraft:looting_enchant":{count:n.Range({bounds:!0}),limit:o.Opt(o.NumberNode({integer:!0})),...s},"minecraft:set_attributes":{modifiers:o.ListNode(i("attribute_modifier")),...s},"minecraft:set_contents":{entries:o.ListNode(i("loot_entry")),...s},"minecraft:set_count":{count:n.Range({allowBinomial:!0}),...s},"minecraft:set_damage":{damage:n.Range({forceRange:!0}),...s},"minecraft:set_loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),seed:o.Opt(o.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:o.Opt(p),lore:o.ListNode(i("text_component")),replace:o.Opt(o.BooleanNode()),...s},"minecraft:set_name":{entity:o.Opt(p),name:o.Opt(i("text_component")),...s},"minecraft:set_nbt":{tag:a({validator:"nbt",params:{registry:{category:"minecraft:item"}}}),...s},"minecraft:set_stew_effect":{effects:o.Opt(o.ListNode(o.ObjectNode({type:a({validator:"resource",params:{pool:"mob_effect"}}),duration:n.Range()}))),...s}}},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",o.Mod(o.ObjectNode({condition:d,[o.Switch]:[{push:"condition"}],[o.Case]:{...n.ConditionCases,"minecraft:entity_properties":{entity:p,predicate:i("entity_predicate")},"minecraft:entity_scores":{entity:p,scores:o.MapNode(a({validator:"objective"}),n.Range({bounds:!0}))}}},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",o.Mod(o.ObjectNode({attribute:a({validator:"resource",params:{pool:"attribute"}}),name:a(),amount:n.Range({bounds:!0}),operation:a({enum:["addition","multiply_base","multiply_total"]}),slot:o.StringOrList(a({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initPackMcmetaSchemas=void 0;const o=i(0);t.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",o.Mod(o.ObjectNode({pack:o.Mod(o.ObjectNode({pack_format:o.Mod(o.NumberNode({integer:!0,min:5,max:5}),{default:()=>5}),description:o.Reference(e,"text_component")}),{default:()=>({pack_format:5,description:""})})}),{default:()=>({pack:{pack_format:5,description:""}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initRecipeSchemas=void 0;const o=i(0);t.initRecipeSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t);e.register("recipe",o.Mod(o.ObjectNode({type:r({validator:"resource",params:{pool:"recipe_serializer"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:crafting_shaped":{group:o.Opt(r({enum:"recipe_group",additional:!0})),pattern:o.ListNode(r()),key:o.MapNode(r(),i("recipe_ingredient")),result:i("recipe_result")},"minecraft:crafting_shapeless":{group:o.Opt(r()),ingredients:o.ListNode(i("recipe_ingredient")),result:i("recipe_result")},"minecraft:smelting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),count:o.NumberNode({integer:!0})},"minecraft:smithing":{group:o.Opt(r()),base:i("recipe_ingredient_object"),addition:i("recipe_ingredient_object"),result:i("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",o.Mod(o.ChoiceNode([{type:"object",node:i("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:o.ListNode(i("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",o.Mod(o.ObjectNode({item:o.Opt(r({validator:"resource",params:{pool:"item"}})),tag:o.Opt(r({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",o.Mod(o.ObjectNode({item:r({validator:"resource",params:{pool:"item"}}),count:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTagsSchemas=void 0;const o=i(0);t.initTagsSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r=e=>o.Mod(o.ObjectNode({replace:o.Opt(o.BooleanNode()),values:o.ListNode(o.ChoiceNode([{type:"string",node:i({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:o.ObjectNode({id:i({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:o.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",r("block")),e.register("entity_type_tag",r("entity_type")),e.register("fluid_tag",r("fluid")),e.register("function_tag",r("$function")),e.register("item_tag",r("item"))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTextComponentSchemas=void 0;const o=i(0);t.initTextComponentSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t),n=e=>{var t;return e instanceof Array?n(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",o.Mod(o.ChoiceNode([{type:"object",node:i("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:n(e[0])}:"object"==typeof e?e:{text:n(e)}},{type:"list",node:i("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:r(),change:n},{type:"number",node:o.NumberNode(),change:e=>{const t=parseFloat(n(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:o.BooleanNode(),change:e=>{const t=n(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={bold:o.Opt(o.BooleanNode()),italic:o.Opt(o.BooleanNode()),underlined:o.Opt(o.BooleanNode()),strikethrough:o.Opt(o.BooleanNode()),obfuscated:o.Opt(o.BooleanNode()),insertion:o.Opt(r()),clickEvent:o.Opt(o.ObjectNode({action:r({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[o.Switch]:[{push:"action"}],[o.Case]:{change_page:{value:r()},copy_to_clipboard:{value:r()},open_file:{value:r()},open_url:{value:r()},run_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:o.Opt(o.ObjectNode({action:r({enum:["show_text","show_item","show_entity"]}),[o.Switch]:[{push:"action"}],[o.Case]:{show_text:{value:o.Opt(i("text_component"))},show_item:{value:o.Opt(r({validator:"nbt",params:{module:"util::InventoryItem"}}))},show_entity:{value:o.Opt(o.ObjectNode({name:o.Opt(r()),type:o.Opt(r()),id:o.Opt(r())}))}}})),extra:o.Opt(i("text_component_list"))};e.register("text_component_object",o.Mod(o.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:o.ObjectNode({text:r(),...a})},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:o.ObjectNode({translate:r(),with:o.Opt(i("text_component_list")),...a})},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:o.ObjectNode({score:o.ObjectNode({name:r({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:r({validator:"objective"}),value:o.Opt(r())}),...a})},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:o.ObjectNode({selector:r({validator:"entity",params:{amount:"multiple",type:"entities"}}),...a})},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:o.ObjectNode({keybind:r({enum:"keybind",additional:!0}),...a})},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:o.ObjectNode({nbt:r({validator:"nbt_path"}),block:o.Opt(r({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:o.Opt(r({validator:"entity",params:{amount:"single",type:"entities"}})),storage:o.Opt(r({validator:"resource",params:{pool:"$storage"}})),interpret:o.Opt(o.BooleanNode()),...a})}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",o.Mod(o.ListNode(i("text_component")),{default:()=>[{text:""}]}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCollections=void 0,t.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initSchemas=void 0;const o=i(49),r=i(3),n=i(50),a=i(51),s=i(52),c=i(53),l=i(54),d=i(55),m=i(56),p=i(57),u=i(58),_=i(59),f=i(67);t.initSchemas=function(e,t){r.initCommonSchemas(e,t),o.initAdvancementSchemas(e,t),n.initConditionSchemas(e,t),s.initDimensionTypeSchemas(e,t),a.initDimensionSchemas(e,t),c.initLootTableSchemas(e,t),l.initPackMcmetaSchemas(e,t),d.initPredicatesSchemas(e,t),m.initRecipeSchemas(e,t),p.initTagsSchemas(e,t),u.initTextComponentSchemas(e,t),_.initWorldgenSchemas(e,t),f.initWorldSettingsSchemas(e,t)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initAdvancementSchemas=void 0;const o=i(0),r=i(3);t.initAdvancementSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a=o.ChoiceNode([{type:"object",node:o.Opt(i("entity_predicate")),change:e=>{var t,i;return null!==(i=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==i?i:{}}},{type:"list",node:o.ListNode(i("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",o.Mod(o.ObjectNode({display:o.Opt(o.Mod(o.ObjectNode({icon:o.ObjectNode({item:n({validator:"resource",params:{pool:"item"}}),nbt:o.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:i("text_component"),description:i("text_component"),background:o.Opt(n()),frame:o.Opt(n({enum:["task","challenge","goal"]})),show_toast:o.Opt(o.BooleanNode()),announce_to_chat:o.Opt(o.BooleanNode()),hidden:o.Opt(o.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:o.Opt(n({validator:"resource",params:{pool:"$advancement"}})),criteria:o.MapNode(n(),i("advancement_criteria")),requirements:o.Opt(o.ListNode(o.ListNode(n()))),rewards:o.Opt(o.ObjectNode({function:o.Opt(n({validator:"resource",params:{pool:"$function"}})),loot:o.Opt(o.ListNode(n({validator:"resource",params:{pool:"$loot_table"}}))),recipes:o.Opt(o.ListNode(n({validator:"resource",params:{pool:"$recipe"}}))),experience:o.Opt(o.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",o.ObjectNode({trigger:n({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:o.Opt(o.ObjectNode({player:o.Mod(a,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[o.Switch]:["pop",{push:"trigger"}],[o.Case]:{"minecraft:bee_nest_destroyed":{block:o.Opt(n({validator:"resource",params:{pool:"block"}})),num_bees_inside:o.Opt(o.NumberNode({integer:!0})),item:o.Opt(i("item_predicate"))},"minecraft:bred_animals":{parent:a,partner:a,child:a},"minecraft:brewed_potion":{potion:o.Opt(n({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:o.Opt(n({validator:"resource",params:{pool:"$dimension"}})),to:o.Opt(n({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:o.Opt(o.ListNode(a))},"minecraft:construct_beacon":{level:o.Opt(r.Range())},"minecraft:consume_item":{item:o.Opt(i("item_predicate"))},"minecraft:cured_zombie_villager":{villager:a,zombie:a},"minecraft:effects_changed":{effects:o.Opt(o.MapNode(n({validator:"resource",params:{pool:"mob_effect"}}),i("status_effect_predicate")))},"minecraft:enter_block":{block:o.Opt(n({validator:"resource",params:{pool:"block"}})),state:o.Opt(o.MapNode(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:o.Opt(r.Range()),item:o.Opt(i("item_predicate"))},"minecraft:entity_hurt_player":{damage:o.Opt(i("damage_predicate"))},"minecraft:entity_killed_player":{entity:a,killing_blow:o.Opt(i("damage_source_predicate"))},"minecraft:filled_bucket":{item:o.Opt(i("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:a,item:o.Opt(i("item_predicate"))},"minecraft:hero_of_the_village":{location:o.Opt(i("location_predicate"))},"minecraft:inventory_changed":{slots:o.Opt(o.ObjectNode({empty:o.Opt(r.Range()),occupied:o.Opt(r.Range()),full:o.Opt(r.Range())})),items:o.Opt(o.ListNode(i("item_predicate")))},"minecraft:item_durability_changed":{delta:o.Opt(r.Range()),durability:o.Opt(r.Range()),item:o.Opt(i("item_predicate"))},"minecraft:item_used_on_block":{item:o.Opt(i("item_predicate")),location:o.Opt(i("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:o.Opt(r.Range()),victims:o.Opt(o.ListNode(a))},"minecraft:levitation":{distance:o.Opt(r.Range()),duration:o.Opt(r.Range())},"minecraft:location":{location:o.Opt(i("location_predicate"))},"minecraft:nether_travel":{distance:o.Opt(r.Range()),entered:o.Opt(i("location_predicate")),exited:o.Opt(i("location_predicate"))},"minecraft:placed_block":{block:o.Opt(n({validator:"resource",params:{pool:"block"}})),state:o.Opt(o.MapNode(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:o.Opt(i("item_predicate")),location:o.Opt(i("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:n({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:o.Opt(i("damage_predicate")),entity:a},"minecraft:player_interacted_with_entity":{item:o.Opt(i("item_predicate")),entity:a},"minecraft:player_killed_entity":{entity:a,killing_blow:o.Opt(i("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:n({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:o.Opt(i("location_predicate"))},"minecraft:slide_down_block":{block:o.Opt(n({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:o.Opt(i("item_predicate"))},"minecraft:summoned_entity":{entity:a},"minecraft:tame_animal":{entity:a},"minecraft:target_hit":{projectile:a,shooter:a,signal_strength:o.Opt(r.Range({integer:!0}))},"minecraft:thrown_item_picked_up_by_entity":{entity:o.Opt(i("entity_predicate")),item:o.Opt(i("item_predicate"))},"minecraft:used_ender_eye":{distance:o.Opt(r.Range())},"minecraft:used_totem":{item:o.Opt(i("item_predicate"))},"minecraft:villager_trade":{villager:o.Opt(i("entity_predicate")),item:o.Opt(i("item_predicate"))},"minecraft:voluntary_exile":{location:i("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initConditionSchemas=void 0;const o=i(0),r=i(3);t.initConditionSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("predicate",o.ObjectOrList(i("condition"),{choiceContext:"condition"})),e.register("condition",o.Mod(o.ObjectNode({condition:n({validator:"resource",params:{pool:"loot_condition_type"}}),[o.Switch]:[{push:"condition"}],[o.Case]:r.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initDimensionSchemas=void 0;const o=i(0),r=i(3);t.initDimensionSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a=e=>o.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",o.Mod(o.ObjectNode({type:r.DimensionTypePresets(i("dimension_type")),generator:o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:noise":{seed:o.NumberNode({integer:!0}),settings:r.NoiseSettingsPresets(i("noise_settings")),biome_source:o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/biome_source"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:fixed":{biome:n({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:o.NumberNode({integer:!0}),preset:o.Opt(n({enum:["nether"]})),altitude_noise:a(i("generator_biome_noise")),temperature_noise:a(i("generator_biome_noise")),humidity_noise:a(i("generator_biome_noise")),weirdness_noise:a(i("generator_biome_noise")),biomes:a(o.Mod(o.ListNode(i("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:o.Opt(o.NumberNode({integer:!0,min:0,max:62})),biomes:o.ListNode(n({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:o.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:o.NumberNode({integer:!0}),large_biomes:o.Opt(o.BooleanNode()),legacy_biome_init_layer:o.Opt(o.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:o.ObjectNode({biome:o.Opt(n({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:o.Opt(o.BooleanNode()),features:o.Opt(o.BooleanNode()),layers:o.ListNode(i("generator_layer")),structures:i("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",o.Mod(o.ObjectNode({biome:n({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:o.ObjectNode({altitude:o.NumberNode(),temperature:o.NumberNode(),humidity:o.NumberNode(),weirdness:o.NumberNode(),offset:o.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",o.Mod(o.ObjectNode({firstOctave:o.NumberNode({integer:!0}),amplitudes:o.ListNode(o.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initDimensionTypeSchemas=void 0;const o=i(0),r=i(3);t.initDimensionTypeSchemas=function(e,t){const i=o.StringNode.bind(void 0,t);e.register("dimension_type",o.Mod(o.ObjectNode({name:o.Mod(i({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:o.BooleanNode(),natural:o.BooleanNode(),piglin_safe:o.BooleanNode(),respawn_anchor_works:o.BooleanNode(),bed_works:o.BooleanNode(),has_raids:o.BooleanNode(),has_skylight:o.BooleanNode(),has_ceiling:o.BooleanNode(),coordinate_scale:o.NumberNode({min:1e-5,max:3e7}),ambient_light:o.NumberNode(),fixed_time:o.Opt(o.NumberNode({integer:!0})),logical_height:o.NumberNode({integer:!0,min:0,max:256}),effects:o.Opt(i({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:i({validator:"resource",params:{pool:"$tag/block"}})},{context:"dimension_type"}),{default:()=>r.DefaultDimensionType}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initLootTableSchemas=void 0;const o=i(0),r=i(19),n=i(3);t.initLootTableSchemas=function(e,t){const i=o.Reference.bind(void 0,e),a=o.StringNode.bind(void 0,t),s={conditions:o.Opt(o.ListNode(i("loot_condition")))},c={functions:o.Opt(o.ListNode(i("loot_function"))),...s};function l(e,i,n){const a=[],s=o=>t.get(i).filter(t=>{var i;return(null!==(i=e.get(t))&&void 0!==i?i:[]).every(e=>o.includes(e))});for(const[e,{allows:t,requires:i}]of r.LootTableTypes){const r=[...t,...i];a.push({match:t=>t.getModel().get(new o.Path(["type"]))===e,node:n(s(r))})}return a.push({match:e=>!0,node:n(i)}),o.SwitchNode(a)}const d=l(r.LootConditions,"loot_condition_type",e=>a({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}})),m=l(r.LootFunctions,"loot_function_type",e=>a({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}})),p=l(r.LootEntitySources,"entity_source",e=>a({enum:e})),u=l(r.LootCopySources,"copy_source",e=>a({enum:e}));e.register("loot_table",o.Mod(o.ObjectNode({type:o.Opt(a({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:o.Opt(o.ListNode(o.Mod(o.ObjectNode({rolls:n.Range({allowBinomial:!0,integer:!0}),bonus_rolls:o.Opt(n.Range({integer:!0})),entries:o.ListNode(i("loot_entry")),...c},{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:o.Opt(o.ListNode(i("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const _={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:o.Opt(o.Mod(o.NumberNode({integer:!0,min:1}),_)),quality:o.Opt(o.Mod(o.NumberNode({integer:!0}),_)),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:alternatives":{children:o.ListNode(i("loot_entry")),...c},"minecraft:dynamic":{name:a(),...c},"minecraft:group":{children:o.ListNode(i("loot_entry")),...c},"minecraft:item":{name:a({validator:"resource",params:{pool:"item"}}),...c},"minecraft:loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),...c},"minecraft:sequence":{children:o.ListNode(i("loot_entry")),...c},"minecraft:tag":{name:a({validator:"resource",params:{pool:"$tag/item"}}),expand:o.Opt(o.BooleanNode()),...c}}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",o.Mod(o.ObjectNode({function:m,[o.Switch]:[{push:"function"}],[o.Case]:(()=>{const e={"minecraft:apply_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),formula:a({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:o.Mod(o.ObjectNode({bonusMultiplier:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:o.Mod(o.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:u},"minecraft:copy_nbt":{source:u,ops:o.ListNode(o.ObjectNode({source:a({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:a({validator:"nbt_path",params:{category:"minecraft:item"}}),op:a({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:a({validator:"resource",params:{pool:"block"}}),properties:o.ListNode(a({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:o.Opt(o.ListNode(a({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:n.Range({allowBinomial:!0}),treasure:o.Opt(o.BooleanNode())},"minecraft:exploration_map":{destination:o.Opt(a({enum:"map_feature"})),decoration:o.Opt(a({enum:"map_decoration"})),zoom:o.Opt(o.NumberNode({integer:!0})),search_radius:o.Opt(o.NumberNode({integer:!0})),skip_existing_chunks:o.Opt(o.BooleanNode())},"minecraft:fill_player_head":{entity:p},"minecraft:limit_count":{limit:n.Range({bounds:!0})},"minecraft:looting_enchant":{count:n.Range({bounds:!0}),limit:o.Opt(o.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:o.ListNode(i("attribute_modifier"))},"minecraft:set_contents":{entries:o.ListNode(i("loot_entry"))},"minecraft:set_count":{count:n.Range({allowBinomial:!0})},"minecraft:set_damage":{damage:n.Range({forceRange:!0})},"minecraft:set_loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),seed:o.Opt(o.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:o.Opt(p),lore:o.ListNode(i("text_component")),replace:o.Opt(o.BooleanNode())},"minecraft:set_name":{entity:o.Opt(p),name:o.Opt(i("text_component"))},"minecraft:set_nbt":{tag:a({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:o.Opt(o.ListNode(o.ObjectNode({type:a({validator:"resource",params:{pool:"mob_effect"}}),duration:n.Range()})))}},r={};return t.get("loot_function_type").forEach(t=>{r[t]={...e[t],...s}}),r})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",o.Mod(o.ObjectNode({condition:d,[o.Switch]:[{push:"condition"}],[o.Case]:{...n.ConditionCases,"minecraft:entity_properties":{entity:p,predicate:i("entity_predicate")},"minecraft:entity_scores":{entity:p,scores:o.MapNode(a({validator:"objective"}),n.Range({bounds:!0}))}}},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",o.Mod(o.ObjectNode({attribute:a({validator:"resource",params:{pool:"attribute"}}),name:a(),amount:n.Range({bounds:!0}),operation:a({enum:["addition","multiply_base","multiply_total"]}),slot:o.StringOrList(a({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initPackMcmetaSchemas=void 0;const o=i(0);t.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",o.Mod(o.ObjectNode({pack:o.Mod(o.ObjectNode({pack_format:o.Mod(o.NumberNode({integer:!0,min:6,max:6}),{default:()=>6}),description:o.Reference(e,"text_component")}),{default:()=>({pack_format:6,description:""})})}),{default:()=>({pack:{pack_format:6,description:""}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initPredicatesSchemas=void 0;const o=i(0),r=i(3);t.initPredicatesSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a=o.ChoiceNode([{type:"string",node:n(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:o.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:o.ObjectNode({min:o.Opt(o.NumberNode({integer:!0})),max:o.Opt(o.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:o.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",o.ObjectNode({item:o.Opt(n({validator:"resource",params:{pool:"item"}})),tag:o.Opt(n({validator:"resource",params:{pool:"$tag/item"}})),count:o.Opt(r.Range()),durability:o.Opt(r.Range()),potion:o.Opt(n({validator:"resource",params:{pool:"potion"}})),nbt:o.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:o.Opt(o.ListNode(i("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",o.ObjectNode({enchantment:o.Opt(n({validator:"resource",params:{pool:"enchantment"}})),levels:o.Opt(r.Range())},{context:"enchantment"})),e.register("block_predicate",o.ObjectNode({block:o.Opt(n({validator:"resource",params:{pool:"block"}})),tag:o.Opt(n({validator:"resource",params:{pool:"$tag/block"}})),nbt:o.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:o.Opt(o.MapNode(n(),a,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",o.ObjectNode({fluid:o.Opt(n({validator:"resource",params:{pool:"fluid"}})),tag:o.Opt(n({validator:"resource",params:{pool:"$tag/fluid"}})),state:o.Opt(o.MapNode(n(),a))},{context:"fluid"})),e.register("location_predicate",o.ObjectNode({position:o.Opt(o.ObjectNode({x:o.Opt(r.Range()),y:o.Opt(r.Range()),z:o.Opt(r.Range())})),biome:o.Opt(n({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:o.Opt(n({enum:t.get("worldgen/structure_feature").map(e=>e.slice(10))})),dimension:o.Opt(n({validator:"resource",params:{pool:"$dimension"}})),light:o.Opt(o.ObjectNode({light:o.Opt(r.Range({integer:!0,min:0,max:15}))})),smokey:o.Opt(o.BooleanNode()),block:o.Opt(i("block_predicate")),fluid:o.Opt(i("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",o.ObjectNode({type:n({validator:"resource",params:{pool:"stat_type"}}),stat:n(),value:r.Range(),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:mined":{stat:n({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:n({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",o.ObjectNode({gamemode:o.Opt(n({enum:"gamemode"})),level:o.Opt(r.Range()),advancements:o.Opt(o.MapNode(n({validator:"resource",params:{pool:"$advancement"}}),o.ChoiceNode([{type:"boolean",node:o.BooleanNode(),change:e=>!0},{type:"object",node:o.MapNode(n(),o.BooleanNode())}]))),recipes:o.Opt(o.MapNode(n({validator:"resource",params:{pool:"$recipe"}}),o.BooleanNode())),stats:o.Opt(o.ListNode(i("statistic_predicate")))},{context:"player"})),e.register("status_effect_predicate",o.ObjectNode({amplifier:o.Opt(r.Range()),duration:o.Opt(r.Range()),ambient:o.Opt(o.BooleanNode()),visible:o.Opt(o.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",o.ObjectNode({x:o.Opt(r.Range()),y:o.Opt(r.Range()),z:o.Opt(r.Range()),absolute:o.Opt(r.Range()),horizontal:o.Opt(r.Range())},{context:"distance"})),e.register("entity_predicate",o.ObjectNode({type:o.Opt(n({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:o.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:o.Opt(n({validator:"team"})),location:o.Opt(i("location_predicate")),distance:o.Opt(i("distance_predicate")),flags:o.Opt(o.ObjectNode({is_on_fire:o.Opt(o.BooleanNode()),is_sneaking:o.Opt(o.BooleanNode()),is_sprinting:o.Opt(o.BooleanNode()),is_swimming:o.Opt(o.BooleanNode()),is_baby:o.Opt(o.BooleanNode())})),equipment:o.Opt(o.MapNode(n({enum:"slot"}),i("item_predicate"))),vehicle:o.Opt(i("entity_predicate")),targeted_entity:o.Opt(i("entity_predicate")),player:o.Opt(i("player_predicate")),fishing_hook:o.Opt(o.ObjectNode({in_open_water:o.Opt(o.BooleanNode())})),effects:o.Opt(o.MapNode(n({validator:"resource",params:{pool:"mob_effect"}}),i("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",o.ObjectNode({is_explosion:o.Opt(o.BooleanNode()),is_fire:o.Opt(o.BooleanNode()),is_magic:o.Opt(o.BooleanNode()),is_projectile:o.Opt(o.BooleanNode()),is_lightning:o.Opt(o.BooleanNode()),bypasses_armor:o.Opt(o.BooleanNode()),bypasses_invulnerability:o.Opt(o.BooleanNode()),bypasses_magic:o.Opt(o.BooleanNode()),source_entity:o.Opt(i("entity_predicate")),direct_entity:o.Opt(i("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",o.ObjectNode({dealt:o.Opt(r.Range()),taken:o.Opt(r.Range()),blocked:o.Opt(o.BooleanNode()),source_entity:o.Opt(i("entity_predicate")),type:o.Opt(i("damage_source_predicate"))},{context:"damage"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initRecipeSchemas=void 0;const o=i(0);t.initRecipeSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t);e.register("recipe",o.Mod(o.ObjectNode({type:r({validator:"resource",params:{pool:"recipe_serializer"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:crafting_shaped":{group:o.Opt(r({enum:"recipe_group",additional:!0})),pattern:o.ListNode(r()),key:o.MapNode(r(),i("recipe_ingredient")),result:i("recipe_result")},"minecraft:crafting_shapeless":{group:o.Opt(r()),ingredients:o.ListNode(i("recipe_ingredient")),result:i("recipe_result")},"minecraft:smelting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),count:o.NumberNode({integer:!0})},"minecraft:smithing":{group:o.Opt(r()),base:i("recipe_ingredient_object"),addition:i("recipe_ingredient_object"),result:i("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",o.Mod(o.ChoiceNode([{type:"object",node:i("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:o.ListNode(i("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",o.Mod(o.ObjectNode({item:o.Opt(r({validator:"resource",params:{pool:"item"}})),tag:o.Opt(r({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",o.Mod(o.ObjectNode({item:r({validator:"resource",params:{pool:"item"}}),count:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTagsSchemas=void 0;const o=i(0);t.initTagsSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r=e=>o.Mod(o.ObjectNode({replace:o.Opt(o.BooleanNode()),values:o.ListNode(o.ChoiceNode([{type:"string",node:i({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:o.ObjectNode({id:i({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:o.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",r("block")),e.register("entity_type_tag",r("entity_type")),e.register("fluid_tag",r("fluid")),e.register("function_tag",r("$function")),e.register("item_tag",r("item"))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTextComponentSchemas=void 0;const o=i(0);t.initTextComponentSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t),n=e=>{var t;return e instanceof Array?n(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",o.Mod(o.ChoiceNode([{type:"object",node:i("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:n(e[0])}:"object"==typeof e?e:{text:n(e)}},{type:"list",node:i("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:r(),change:n},{type:"number",node:o.NumberNode(),change:e=>{const t=parseFloat(n(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:o.BooleanNode(),change:e=>{const t=n(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:o.Opt(r()),font:o.Opt(r()),bold:o.Opt(o.BooleanNode()),italic:o.Opt(o.BooleanNode()),underlined:o.Opt(o.BooleanNode()),strikethrough:o.Opt(o.BooleanNode()),obfuscated:o.Opt(o.BooleanNode()),insertion:o.Opt(r()),clickEvent:o.Opt(o.ObjectNode({action:r({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[o.Switch]:[{push:"action"}],[o.Case]:{change_page:{value:r()},copy_to_clipboard:{value:r()},open_file:{value:r()},open_url:{value:r()},run_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:o.Opt(o.ObjectNode({action:r({enum:["show_text","show_item","show_entity"]}),[o.Switch]:[{push:"action"}],[o.Case]:{show_text:{value:o.Opt(i("text_component")),contents:o.Opt(i("text_component"))},show_item:{value:o.Opt(r({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:o.Opt(o.ObjectNode({id:r({validator:"resource",params:{pool:"item"}}),count:o.Opt(o.NumberNode({integer:!0})),tag:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:o.Opt(o.ObjectNode({name:o.Opt(r()),type:o.Opt(r()),id:o.Opt(r())})),contents:o.Opt(o.Mod(o.ObjectNode({name:o.Opt(i("text_component")),type:r({validator:"resource",params:{pool:"entity_type"}}),id:r({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:o.Opt(i("text_component_list"))};e.register("text_component_object",o.Mod(o.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:o.ObjectNode({text:r(),...a})},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:o.ObjectNode({translate:r(),with:o.Opt(i("text_component_list")),...a})},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:o.ObjectNode({score:o.ObjectNode({name:r({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:r({validator:"objective"}),value:o.Opt(r())}),...a})},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:o.ObjectNode({selector:r({validator:"entity",params:{amount:"multiple",type:"entities"}}),...a})},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:o.ObjectNode({keybind:r({enum:"keybind",additional:!0}),...a})},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:o.ObjectNode({nbt:r({validator:"nbt_path"}),block:o.Opt(r({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:o.Opt(r({validator:"entity",params:{amount:"single",type:"entities"}})),storage:o.Opt(r({validator:"resource",params:{pool:"$storage"}})),interpret:o.Opt(o.BooleanNode()),...a})}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",o.Mod(o.ListNode(i("text_component")),{default:()=>[{text:""}]}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initWorldgenSchemas=void 0;const o=i(60),r=i(61),n=i(20),a=i(62),s=i(63),c=i(13),l=i(64),d=i(65),m=i(66);t.initWorldgenSchemas=function(e,t){o.initBiomeSchemas(e,t),r.initCarverSchemas(e,t),n.initDecoratorSchemas(e,t),a.initFeatureSchemas(e,t),s.initNoiseSettingsSchemas(e,t),c.initProcessorListSchemas(e,t),l.initStructureFeatureSchemas(e,t),d.initSurfaceBuilderSchemas(e,t),m.initTemplatePoolSchemas(e,t)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initBiomeSchemas=void 0;const o=i(0);t.initBiomeSchemas=function(e,t){const i=o.StringNode.bind(void 0,t);e.register("biome",o.Mod(o.ObjectNode({surface_builder:i({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:o.NumberNode(),scale:o.NumberNode(),temperature:o.NumberNode(),downfall:o.NumberNode(),precipitation:i({enum:["none","rain","snow"]}),temperature_modifier:o.Opt(i({enum:["none","frozen"]})),category:i({enum:"biome_category"}),player_spawn_friendly:o.Opt(o.BooleanNode()),creature_spawn_probability:o.Opt(o.NumberNode({min:0,max:1})),effects:o.ObjectNode({sky_color:o.NumberNode({color:!0}),fog_color:o.NumberNode({color:!0}),water_color:o.NumberNode({color:!0}),water_fog_color:o.NumberNode({color:!0}),grass_color:o.Opt(o.NumberNode({color:!0})),foliage_color:o.Opt(o.NumberNode({color:!0})),grass_color_modifier:o.Opt(i({enum:["none","dark_forest","swamp"]})),ambient_sound:o.Opt(i()),mood_sound:o.Opt(o.ObjectNode({sound:i(),tick_delay:o.NumberNode({integer:!0}),block_search_extent:o.NumberNode({integer:!0}),offset:o.NumberNode()})),additions_sound:o.Opt(o.ObjectNode({sound:i(),tick_chance:o.NumberNode({min:0,max:1})})),music:o.Opt(o.ObjectNode({sound:i(),min_delay:o.NumberNode({integer:!0,min:0}),max_delay:o.NumberNode({integer:!0,min:0}),replace_current_music:o.BooleanNode()})),particle:o.Opt(o.ObjectNode({options:o.ObjectNode({type:i()}),probability:o.NumberNode({min:0,max:1})}))}),starts:o.ListNode(i({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:o.MapNode(i({enum:["water_ambient","ambient","misc","water_creature","creature","monster"]}),o.Mod(o.ListNode(o.ObjectNode({type:i({validator:"resource",params:{pool:"entity_type"}}),weight:o.NumberNode({integer:!0}),minCount:o.NumberNode({integer:!0}),maxCount:o.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:o.MapNode(i({validator:"resource",params:{pool:"entity_type"}}),o.Mod(o.ObjectNode({energy_budget:o.NumberNode(),charge:o.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:o.MapNode(i({enum:["air","liquid"]}),o.Mod(o.ListNode(i({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:o.ListNode(o.Mod(o.ListNode(i({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCarverSchemas=void 0;const o=i(0);t.initCarverSchemas=function(e,t){const i=o.StringNode.bind(void 0,t);e.register("configured_carver",o.Mod(o.ObjectNode({type:i({validator:"resource",params:{pool:"worldgen/carver"}}),config:o.ObjectNode({probability:o.NumberNode({min:0,max:1})})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initFeatureSchemas=void 0;const o=i(0),r=i(3);i(20),i(13),t.initFeatureSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a={can_replace:o.BooleanNode(),project:o.BooleanNode(),need_water:o.BooleanNode(),xspread:o.NumberNode({integer:!0}),yspread:o.NumberNode({integer:!0}),zspread:o.NumberNode({integer:!0}),tries:o.NumberNode({integer:!0}),state_provider:i("block_state_provider"),block_placer:i("block_placer"),whitelist:o.ListNode(i("block_state")),blacklist:o.ListNode(i("block_state"))},s={state:i("block_state"),radius:r.UniformInt({min:0,max:4,maxSpread:4}),half_height:o.NumberNode({integer:!0,min:0,max:4}),targets:o.ListNode(i("block_state"))},c={cap_provider:i("block_state_provider"),stem_provider:i("block_state_provider"),foliage_radius:o.Opt(o.NumberNode({integer:!0}))},l={state:i("block_state"),size:o.NumberNode({integer:!0,min:0,max:64}),target:i("rule_test")},d={count:r.UniformInt({min:-10,max:128,maxSpread:128})},m=o.ChoiceNode([{type:"string",node:n({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:i("configured_feature")}],{choiceContext:"feature"});e.register("configured_feature",o.Mod(o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/feature"}}),config:o.ObjectNode({[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:bamboo":{probability:o.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:r.UniformInt({min:0,max:2,maxSpread:1}),height:r.UniformInt({min:1,max:5,maxSpread:5})},"minecraft:block_pile":{state_provider:i("block_state_provider")},"minecraft:decorated":{decorator:i("configured_decorator"),feature:m},"minecraft:delta_feature":{contents:i("block_state"),rim:i("block_state"),size:r.UniformInt({min:0,max:8,maxSpread:8}),rim_size:r.UniformInt({min:0,max:8,maxSpread:8})},"minecraft:disk":s,"minecraft:emerald_ore":{state:i("block_state"),target:i("block_state")},"minecraft:end_gateway":{exact:o.BooleanNode(),exit:o.Opt(i("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:o.Opt(o.BooleanNode()),crystal_beam_target:o.Opt(i("block_pos")),spikes:o.ListNode(o.ObjectNode({centerX:o.Opt(o.NumberNode({integer:!0})),centerZ:o.Opt(o.NumberNode({integer:!0})),radius:o.Opt(o.NumberNode({integer:!0})),height:o.Opt(o.NumberNode({integer:!0})),guarded:o.Opt(o.BooleanNode())}))},"minecraft:fill_layer":{state:i("block_state"),height:o.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":a,"minecraft:forest_rock":{state:i("block_state")},"minecraft:huge_brown_mushroom":c,"minecraft:huge_fungus":{hat_state:i("block_state"),decor_state:i("block_state"),stem_state:i("block_state"),valid_base_block:i("block_state"),planted:o.Opt(o.BooleanNode())},"minecraft:huge_red_mushroom":c,"minecraft:ice_patch":s,"minecraft:iceberg":{state:i("block_state")},"minecraft:lake":{state:i("block_state")},"minecraft:nether_forest_vegetation":{state_provider:i("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:i("block_state"),target:i("block_state"),radius:r.UniformInt()},"minecraft:no_bonemeal_flower":a,"minecraft:no_surface_ore":l,"minecraft:ore":l,"minecraft:random_patch":a,"minecraft:random_boolean_selector":{feature_false:m,feature_true:m},"minecraft:random_selector":{features:o.ListNode(o.ObjectNode({chance:o.NumberNode({min:0,max:1}),feature:m})),default:m},"minecraft:sea_pickle":d,"minecraft:seagrass":{probability:o.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:i("block_state"),place_on:o.ListNode(i("block_state")),place_in:o.ListNode(i("block_state")),place_under:o.ListNode(i("block_state"))},"minecraft:simple_random_selector":{features:o.ListNode(m)},"minecraft:spring_feature":{state:i("fluid_state"),rock_count:o.NumberNode({integer:!0}),hole_count:o.NumberNode({integer:!0}),requires_block_below:o.BooleanNode(),valid_blocks:o.ListNode(n({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{max_water_depth:o.NumberNode({integer:!0}),ignore_vines:o.BooleanNode(),heightmap:n({enum:"heightmap_type"}),minimum_size:i("feature_size"),trunk_provider:i("block_state_provider"),leaves_provider:i("block_state_provider"),trunk_placer:o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:o.NumberNode({integer:!0,min:0,max:32}),height_rand_a:o.NumberNode({integer:!0,min:0,max:24}),height_rand_b:o.NumberNode({integer:!0,min:0,max:24})},{context:"trunk_placer"}),foliage_placer:o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:r.UniformInt({min:0,max:8,maxSpread:8}),offset:r.UniformInt({min:0,max:8,maxSpread:8}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:blob_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:r.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:pine_foliage_placer":{height:r.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:spruce_foliage_placer":{trunk_height:r.UniformInt({min:0,max:16,maxSpread:8})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:o.ListNode(o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:alter_ground":{provider:i("block_state_provider")},"minecraft:beehive":{probability:o.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:o.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))}}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",o.Mod(o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:o.Opt(o.NumberNode({min:0,max:80})),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:two_layers_feature_size":{limit:o.Opt(o.NumberNode({integer:!0,min:0,max:81})),lower_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16})),upper_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:o.Opt(o.NumberNode({integer:!0,min:0,max:80})),upper_limit:o.Opt(o.NumberNode({integer:!0,min:0,max:80})),lower_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16})),middle_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16})),upper_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",o.Mod(o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:rotated_block_provider":{state:i("block_state")},"minecraft:simple_state_provider":{state:i("block_state")},"minecraft:weighted_state_provider":{entries:o.ListNode(o.Mod(o.ObjectNode({weight:o.NumberNode({integer:!0,min:1}),data:i("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",o.Mod(o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:column_placer":{min_size:o.NumberNode({integer:!0}),extra_size:o.NumberNode({integer:!0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initNoiseSettingsSchemas=void 0;const o=i(0),r=i(3);t.initNoiseSettingsSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("noise_settings",o.Mod(o.ObjectNode({name:o.Mod(n({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:o.NumberNode({integer:!0}),bedrock_floor_position:o.NumberNode({integer:!0}),sea_level:o.NumberNode({integer:!0}),disable_mob_generation:o.BooleanNode(),default_block:i("block_state"),default_fluid:i("block_state"),noise:o.ObjectNode({height:o.NumberNode({integer:!0}),density_factor:o.NumberNode(),density_offset:o.NumberNode(),size_horizontal:o.NumberNode({integer:!0}),size_vertical:o.NumberNode({integer:!0}),simplex_surface_noise:o.BooleanNode(),random_density_offset:o.Opt(o.BooleanNode()),island_noise_override:o.Opt(o.BooleanNode()),amplified:o.Opt(o.BooleanNode()),sampling:o.ObjectNode({xz_scale:o.NumberNode(),y_scale:o.NumberNode(),xz_factor:o.NumberNode(),y_factor:o.NumberNode()}),bottom_slide:o.ObjectNode({target:o.NumberNode({integer:!0}),size:o.NumberNode({integer:!0}),offset:o.NumberNode({integer:!0})}),top_slide:o.ObjectNode({target:o.NumberNode({integer:!0}),size:o.NumberNode({integer:!0}),offset:o.NumberNode({integer:!0})})}),structures:i("generator_structures")},{context:"noise_settings"}),{default:()=>r.DefaultNoiseSettings})),e.register("generator_structures",o.ObjectNode({stronghold:o.Opt(o.ObjectNode({distance:o.NumberNode({integer:!0,min:0,max:1023}),spread:o.NumberNode({integer:!0,min:0,max:1023}),count:o.NumberNode({integer:!0,min:1,max:4095})})),structures:o.MapNode(n({validator:"resource",params:{pool:"worldgen/structure_feature"}}),o.Mod(o.ObjectNode({spacing:o.NumberNode({integer:!0,min:0,max:4096}),separation:o.Mod(o.NumberNode({integer:!0,min:0,max:4096}),e=>({validate:(t,i,o,r)=>(t.pop().push("spacing").get()<=i&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,i,o,r))})),salt:o.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",o.Mod(o.ObjectNode({block:n({validator:"resource",params:{pool:"block"}}),height:o.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initStructureFeatureSchemas=void 0;const o=i(0);t.initStructureFeatureSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r={start_pool:i({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:o.NumberNode({integer:!0})};e.register("configured_structure_feature",o.Mod(o.ObjectNode({type:i({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:o.ObjectNode({[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:bastion_remnant":r,"minecraft:buried_treasure":{probability:o.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:i({enum:["normal","mesa"]}),probability:o.NumberNode({min:0,max:1})},"minecraft:ocean_ruin":{biome_temp:i({enum:["cold","warm"]}),large_probability:o.NumberNode({min:0,max:1}),cluster_probability:o.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":r,"minecraft:ruined_portal":{portal_type:i({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:o.Opt(o.BooleanNode())},"minecraft:village":r}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initSurfaceBuilderSchemas=void 0;const o=i(0);t.initSurfaceBuilderSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r=o.Reference.bind(void 0,e);e.register("configured_surface_builder",o.Mod(o.ObjectNode({type:i({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:o.ObjectNode({top_material:r("block_state"),under_material:r("block_state"),underwater_material:r("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTemplatePoolSchemas=void 0;const o=i(0);i(13),t.initTemplatePoolSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t),n=o.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:i("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]);e.register("template_pool",o.Mod(o.ObjectNode({name:r(),fallback:r(),elements:o.ListNode(i("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",o.Mod(o.ObjectNode({weight:o.NumberNode({integer:!0,min:1}),element:i("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",o.Mod(o.ObjectNode({element_type:r({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:r({enum:["rigid","terrain_matching"]}),[o.Switch]:[{push:"element_type"}],[o.Case]:{"minecraft:feature_pool_element":{feature:r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:r({validator:"resource",params:{pool:"$structure"}}),processors:n},"minecraft:list_pool_element":{elements:o.ListNode(i("template_element"))},"minecraft:single_pool_element":{location:r({validator:"resource",params:{pool:"$structure"}}),processors:n}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initWorldSettingsSchemas=void 0;const o=i(0);t.initWorldSettingsSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t);e.register("world_settings",o.Mod(o.ObjectNode({generate_features:o.BooleanNode(),bonus_chest:o.BooleanNode(),seed:o.NumberNode({integer:!0}),dimensions:o.MapNode(r({validator:"resource",params:{pool:"$dimension"}}),i("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCollections=void 0,t.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","killer","direct_killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),e.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),e.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"])}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initSchemas=void 0;const o=i(70),r=i(4),n=i(71),a=i(72),s=i(73),c=i(74),l=i(75),d=i(76),m=i(77),p=i(78),u=i(79),_=i(80),f=i(81),g=i(89);t.initSchemas=function(e,t){r.initCommonSchemas(e,t),o.initAdvancementSchemas(e,t),n.initConditionSchemas(e,t),s.initDimensionTypeSchemas(e,t),a.initDimensionSchemas(e,t),c.initItemModifierSchemas(e,t),l.initLootTableSchemas(e,t),d.initPackMcmetaSchemas(e,t),m.initPredicatesSchemas(e,t),p.initRecipeSchemas(e,t),u.initTagsSchemas(e,t),_.initTextComponentSchemas(e,t),f.initWorldgenSchemas(e,t),g.initWorldSettingsSchemas(e,t)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initAdvancementSchemas=void 0;const o=i(0);t.initAdvancementSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t),n=o.ChoiceNode([{type:"object",node:o.Opt(i("entity_predicate")),change:e=>{var t,i;return null!==(i=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==i?i:{}}},{type:"list",node:o.ListNode(i("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",o.Mod(o.ObjectNode({display:o.Opt(o.Mod(o.ObjectNode({icon:o.ObjectNode({item:r({validator:"resource",params:{pool:"item"}}),nbt:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:i("text_component"),description:i("text_component"),background:o.Opt(r()),frame:o.Opt(r({enum:["task","challenge","goal"]})),show_toast:o.Opt(o.BooleanNode()),announce_to_chat:o.Opt(o.BooleanNode()),hidden:o.Opt(o.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:o.Opt(r({validator:"resource",params:{pool:"$advancement"}})),criteria:o.MapNode(r(),i("advancement_criteria")),requirements:o.Opt(o.ListNode(o.ListNode(r()))),rewards:o.Opt(o.ObjectNode({function:o.Opt(r({validator:"resource",params:{pool:"$function"}})),loot:o.Opt(o.ListNode(r({validator:"resource",params:{pool:"$loot_table"}}))),recipes:o.Opt(o.ListNode(r({validator:"resource",params:{pool:"$recipe"}}))),experience:o.Opt(o.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",o.ObjectNode({trigger:r({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:o.Opt(o.ObjectNode({player:o.Mod(n,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[o.Switch]:["pop",{push:"trigger"}],[o.Case]:{"minecraft:bee_nest_destroyed":{block:o.Opt(r({validator:"resource",params:{pool:"block"}})),num_bees_inside:o.Opt(o.NumberNode({integer:!0})),item:o.Opt(i("item_predicate"))},"minecraft:bred_animals":{parent:n,partner:n,child:n},"minecraft:brewed_potion":{potion:o.Opt(r({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:o.Opt(r({validator:"resource",params:{pool:"$dimension"}})),to:o.Opt(r({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:o.Opt(o.ListNode(n))},"minecraft:construct_beacon":{level:i("int_bounds")},"minecraft:consume_item":{item:o.Opt(i("item_predicate"))},"minecraft:cured_zombie_villager":{villager:n,zombie:n},"minecraft:effects_changed":{effects:o.Opt(o.MapNode(r({validator:"resource",params:{pool:"mob_effect"}}),o.ObjectNode({amplifier:i("int_bounds"),duration:i("int_bounds")}))),source:o.Opt(n)},"minecraft:enter_block":{block:o.Opt(r({validator:"resource",params:{pool:"block"}})),state:o.Opt(o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:i("int_bounds"),item:o.Opt(i("item_predicate"))},"minecraft:entity_hurt_player":{damage:o.Opt(i("damage_predicate"))},"minecraft:entity_killed_player":{entity:n,killing_blow:o.Opt(i("damage_source_predicate"))},"minecraft:filled_bucket":{item:o.Opt(i("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:n,item:o.Opt(i("item_predicate"))},"minecraft:hero_of_the_village":{location:o.Opt(i("location_predicate"))},"minecraft:inventory_changed":{slots:o.Opt(o.ObjectNode({empty:i("int_bounds"),occupied:i("int_bounds"),full:i("int_bounds")})),items:o.Opt(o.ListNode(i("item_predicate")))},"minecraft:item_durability_changed":{delta:i("int_bounds"),durability:i("int_bounds"),item:o.Opt(i("item_predicate"))},"minecraft:item_used_on_block":{item:o.Opt(i("item_predicate")),location:o.Opt(i("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:i("int_bounds"),victims:o.Opt(o.ListNode(n))},"minecraft:levitation":{distance:i("distance_predicate"),duration:i("int_bounds")},"minecraft:lightning_strike":{lightning:n,bystander:n},"minecraft:location":{location:o.Opt(i("location_predicate"))},"minecraft:nether_travel":{distance:i("distance_predicate"),entered:o.Opt(i("location_predicate")),exited:o.Opt(i("location_predicate"))},"minecraft:placed_block":{block:o.Opt(r({validator:"resource",params:{pool:"block"}})),state:o.Opt(o.MapNode(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:o.Opt(i("item_predicate")),location:o.Opt(i("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:r({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:o.Opt(i("damage_predicate")),entity:n},"minecraft:player_interacted_with_entity":{item:o.Opt(i("item_predicate")),entity:n},"minecraft:player_killed_entity":{entity:n,killing_blow:o.Opt(i("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:r({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:o.Opt(i("location_predicate"))},"minecraft:slide_down_block":{block:o.Opt(r({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:o.Opt(i("item_predicate"))},"minecraft:summoned_entity":{entity:n},"minecraft:tame_animal":{entity:n},"minecraft:target_hit":{projectile:n,shooter:n,signal_strength:i("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:o.Opt(i("entity_predicate")),item:o.Opt(i("item_predicate"))},"minecraft:used_ender_eye":{distance:i("float_bounds")},"minecraft:used_totem":{item:o.Opt(i("item_predicate"))},"minecraft:using_item":{item:o.Opt(i("item_predicate"))},"minecraft:villager_trade":{villager:o.Opt(i("entity_predicate")),item:o.Opt(i("item_predicate"))},"minecraft:voluntary_exile":{location:i("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initConditionSchemas=void 0;const o=i(0),r=i(4);t.initConditionSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("predicate",o.ObjectOrList(i("condition"),{choiceContext:"condition"})),e.register("condition",o.Mod(o.ObjectNode({condition:n({validator:"resource",params:{pool:"loot_condition_type"}}),[o.Switch]:[{push:"condition"}],[o.Case]:r.ConditionCases()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initDimensionSchemas=void 0;const o=i(0),r=i(4);t.initDimensionSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a=e=>o.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",o.Mod(o.ObjectNode({type:r.DimensionTypePresets(i("dimension_type")),generator:o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:noise":{seed:o.NumberNode({integer:!0}),settings:r.NoiseSettingsPresets(i("noise_settings")),biome_source:o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/biome_source"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:fixed":{biome:n({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:o.NumberNode({integer:!0}),preset:o.Opt(n({enum:["nether"]})),altitude_noise:a(i("generator_biome_noise")),temperature_noise:a(i("generator_biome_noise")),humidity_noise:a(i("generator_biome_noise")),weirdness_noise:a(i("generator_biome_noise")),biomes:a(o.Mod(o.ListNode(i("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:o.Opt(o.NumberNode({integer:!0,min:0,max:62})),biomes:o.ListNode(n({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:o.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:o.NumberNode({integer:!0}),large_biomes:o.Opt(o.BooleanNode()),legacy_biome_init_layer:o.Opt(o.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:o.ObjectNode({biome:o.Opt(n({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:o.Opt(o.BooleanNode()),features:o.Opt(o.BooleanNode()),layers:o.ListNode(i("generator_layer")),structures:i("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",o.Mod(o.ObjectNode({biome:n({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:o.ObjectNode({altitude:o.NumberNode(),temperature:o.NumberNode(),humidity:o.NumberNode(),weirdness:o.NumberNode(),offset:o.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",o.Mod(o.ObjectNode({firstOctave:o.NumberNode({integer:!0}),amplitudes:o.ListNode(o.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initDimensionTypeSchemas=void 0;const o=i(0),r=i(4);t.initDimensionTypeSchemas=function(e,t){const i=o.StringNode.bind(void 0,t);e.register("dimension_type",o.Mod(o.ObjectNode({name:o.Mod(i({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:o.BooleanNode(),natural:o.BooleanNode(),piglin_safe:o.BooleanNode(),respawn_anchor_works:o.BooleanNode(),bed_works:o.BooleanNode(),has_raids:o.BooleanNode(),has_skylight:o.BooleanNode(),has_ceiling:o.BooleanNode(),coordinate_scale:o.NumberNode({min:1e-5,max:3e7}),ambient_light:o.NumberNode(),fixed_time:o.Opt(o.NumberNode({integer:!0})),logical_height:o.NumberNode({integer:!0,min:0,max:4096}),effects:o.Opt(i({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:i({validator:"resource",params:{pool:"$tag/block"}}),min_y:o.NumberNode({integer:!0,min:-2048,max:2047}),height:o.NumberNode({integer:!0,min:0,max:4096})},{context:"dimension_type"}),e=>({default:()=>r.DefaultDimensionType,validate:(t,i,o,r)=>((null==(i=e.validate(t,i,o,r))?void 0:i.min_y)+(null==i?void 0:i.height)>2047&&o.add(t.push("height"),"error.min_y_plus_height",2047),(null==i?void 0:i.logical_height)>(null==i?void 0:i.height)&&o.add(t.push("logical_height"),"error.logical_height"),(null==i?void 0:i.height)%16!=0&&o.add(t.push("height"),"error.height_multiple",16),(null==i?void 0:i.min_y)%16!=0&&o.add(t.push("min_y"),"error.min_y_multiple",16),i)})))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initItemModifierSchemas=void 0;const o=i(0),r=i(4);t.initItemModifierSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("item_modifier",o.ObjectOrList(i("function"),{choiceContext:"function"}));const a={conditions:o.Opt(o.ListNode(i("condition")))};e.register("function",o.Mod(o.ObjectNode({function:n({validator:"resource",params:{pool:"loot_function_type"}}),[o.Switch]:[{push:"function"}],[o.Case]:r.FunctionCases(a)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initLootTableSchemas=void 0;const o=i(0),r=i(21),n=i(4);t.initLootTableSchemas=function(e,t){const i=o.Reference.bind(void 0,e),a=o.StringNode.bind(void 0,t),s={conditions:o.Opt(o.ListNode(i("loot_condition")))},c={functions:o.Opt(o.ListNode(i("loot_function"))),...s};function l(e,i,n){const a=[],s=o=>t.get(i).filter(t=>{var i;return(null!==(i=e.get(t))&&void 0!==i?i:[]).every(e=>o.includes(e))});for(const[e,{allows:t,requires:i}]of r.LootTableTypes){const r=[...t,...i];a.push({match:t=>t.getModel().get(new o.Path(["type"]))===e,node:n(s(r))})}return a.push({match:e=>!0,node:n(i)}),o.SwitchNode(a)}const d=l(r.LootConditions,"loot_condition_type",e=>a({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}})),m=l(r.LootFunctions,"loot_function_type",e=>a({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}})),p=l(r.LootEntitySources,"entity_source",e=>a({enum:e})),u=l(r.LootCopySources,"copy_source",e=>a({enum:e}));e.register("loot_table",o.Mod(o.ObjectNode({type:o.Opt(a({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:o.Opt(o.ListNode(o.Mod(o.ObjectNode({rolls:i("number_provider"),bonus_rolls:o.Opt(i("number_provider")),entries:o.ListNode(i("loot_entry")),...c},{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:o.Opt(o.ListNode(i("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const _={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:o.Opt(o.Mod(o.NumberNode({integer:!0,min:1}),_)),quality:o.Opt(o.Mod(o.NumberNode({integer:!0}),_)),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:alternatives":{children:o.ListNode(i("loot_entry")),...c},"minecraft:dynamic":{name:a(),...c},"minecraft:group":{children:o.ListNode(i("loot_entry")),...c},"minecraft:item":{name:a({validator:"resource",params:{pool:"item"}}),...c},"minecraft:loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),...c},"minecraft:sequence":{children:o.ListNode(i("loot_entry")),...c},"minecraft:tag":{name:a({validator:"resource",params:{pool:"$tag/item"}}),expand:o.Opt(o.BooleanNode()),...c}}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",o.Mod(o.ObjectNode({function:m,[o.Switch]:[{push:"function"}],[o.Case]:n.FunctionCases(s,u,p)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",o.Mod(o.ObjectNode({condition:d,[o.Switch]:[{push:"condition"}],[o.Case]:n.ConditionCases(p)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",o.Mod(o.ObjectNode({attribute:a({validator:"resource",params:{pool:"attribute"}}),name:a(),amount:i("number_provider"),operation:a({enum:["addition","multiply_base","multiply_total"]}),slot:o.StringOrList(a({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initPackMcmetaSchemas=void 0;const o=i(0);t.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",o.Mod(o.ObjectNode({pack:o.Mod(o.ObjectNode({pack_format:o.Mod(o.NumberNode({integer:!0,min:7,max:7}),{default:()=>7,canUpdate:(e,t)=>7!==t,update:()=>[{name:"pack_format",params:[7],newValue:7}]}),description:o.Reference(e,"text_component")}),{default:()=>({pack_format:7,description:""})})}),{default:()=>({pack:{pack_format:7,description:""}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initPredicatesSchemas=void 0;const o=i(0);t.initPredicatesSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t),n=o.ChoiceNode([{type:"string",node:r(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:o.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:o.ObjectNode({min:o.Opt(o.NumberNode({integer:!0})),max:o.Opt(o.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:o.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",o.ObjectNode({items:o.Opt(o.ListNode(r({validator:"resource",params:{pool:"item"}}))),tag:o.Opt(r({validator:"resource",params:{pool:"$tag/item"}})),count:i("int_bounds"),durability:i("int_bounds"),potion:o.Opt(r({validator:"resource",params:{pool:"potion"}})),nbt:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:o.Opt(o.ListNode(i("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",o.ObjectNode({enchantment:o.Opt(r({validator:"resource",params:{pool:"enchantment"}})),levels:i("int_bounds")},{context:"enchantment"})),e.register("block_predicate",o.ObjectNode({blocks:o.Opt(o.ListNode(r({validator:"resource",params:{pool:"block"}}))),tag:o.Opt(r({validator:"resource",params:{pool:"$tag/block"}})),nbt:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:o.Opt(o.MapNode(r(),n,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",o.ObjectNode({fluid:o.Opt(r({validator:"resource",params:{pool:"fluid"}})),tag:o.Opt(r({validator:"resource",params:{pool:"$tag/fluid"}})),state:o.Opt(o.MapNode(r(),n))},{context:"fluid"})),e.register("location_predicate",o.ObjectNode({position:o.Opt(o.ObjectNode({x:i("float_bounds"),y:i("float_bounds"),z:i("float_bounds")})),biome:o.Opt(r({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:o.Opt(r({enum:t.get("worldgen/structure_feature").map(e=>e.slice(10))})),dimension:o.Opt(r({validator:"resource",params:{pool:"$dimension"}})),light:o.Opt(o.ObjectNode({light:i("int_bounds")})),smokey:o.Opt(o.BooleanNode()),block:o.Opt(i("block_predicate")),fluid:o.Opt(i("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",o.ObjectNode({type:r({validator:"resource",params:{pool:"stat_type"}}),stat:r(),value:i("int_bounds"),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:mined":{stat:r({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:r({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:r({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:r({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",o.ObjectNode({gamemode:o.Opt(r({enum:"gamemode"})),level:i("int_bounds"),advancements:o.Opt(o.MapNode(r({validator:"resource",params:{pool:"$advancement"}}),o.ChoiceNode([{type:"boolean",node:o.BooleanNode(),change:e=>!0},{type:"object",node:o.MapNode(r(),o.BooleanNode())}]))),recipes:o.Opt(o.MapNode(r({validator:"resource",params:{pool:"$recipe"}}),o.BooleanNode())),stats:o.Opt(o.ListNode(i("statistic_predicate"))),looking_at:o.Opt(i("entity_predicate"))},{context:"player"})),e.register("status_effect_predicate",o.ObjectNode({amplifier:i("int_bounds"),duration:i("int_bounds"),ambient:o.Opt(o.BooleanNode()),visible:o.Opt(o.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",o.ObjectNode({x:i("float_bounds"),y:i("float_bounds"),z:i("float_bounds"),absolute:i("float_bounds"),horizontal:i("float_bounds")},{context:"distance"})),e.register("entity_predicate",o.ObjectNode({type:o.Opt(r({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:o.Opt(r({validator:"team"})),location:o.Opt(i("location_predicate")),stepping_on:o.Opt(i("location_predicate")),distance:o.Opt(i("distance_predicate")),flags:o.Opt(o.ObjectNode({is_on_fire:o.Opt(o.BooleanNode()),is_sneaking:o.Opt(o.BooleanNode()),is_sprinting:o.Opt(o.BooleanNode()),is_swimming:o.Opt(o.BooleanNode()),is_baby:o.Opt(o.BooleanNode())})),equipment:o.Opt(o.MapNode(r({enum:"slot"}),i("item_predicate"))),player:o.Opt(i("player_predicate")),vehicle:o.Opt(i("entity_predicate")),passenger:o.Opt(i("entity_predicate")),targeted_entity:o.Opt(i("entity_predicate")),lightning_bolt:o.Opt(o.ObjectNode({blocks_set_on_fire:o.Opt(i("int_bounds")),entity_struck:o.Opt(i("entity_predicate"))})),fishing_hook:o.Opt(o.ObjectNode({in_open_water:o.Opt(o.BooleanNode())})),effects:o.Opt(o.MapNode(r({validator:"resource",params:{pool:"mob_effect"}}),i("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",o.ObjectNode({is_explosion:o.Opt(o.BooleanNode()),is_fire:o.Opt(o.BooleanNode()),is_magic:o.Opt(o.BooleanNode()),is_projectile:o.Opt(o.BooleanNode()),is_lightning:o.Opt(o.BooleanNode()),bypasses_armor:o.Opt(o.BooleanNode()),bypasses_invulnerability:o.Opt(o.BooleanNode()),bypasses_magic:o.Opt(o.BooleanNode()),source_entity:o.Opt(i("entity_predicate")),direct_entity:o.Opt(i("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",o.ObjectNode({dealt:i("float_bounds"),taken:i("float_bounds"),blocked:o.Opt(o.BooleanNode()),source_entity:o.Opt(i("entity_predicate")),type:o.Opt(i("damage_source_predicate"))},{context:"damage"}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initRecipeSchemas=void 0;const o=i(0);t.initRecipeSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t);e.register("recipe",o.Mod(o.ObjectNode({type:r({validator:"resource",params:{pool:"recipe_serializer"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:crafting_shaped":{group:o.Opt(r({enum:"recipe_group",additional:!0})),pattern:o.ListNode(r()),key:o.MapNode(r(),i("recipe_ingredient")),result:i("recipe_result")},"minecraft:crafting_shapeless":{group:o.Opt(r()),ingredients:o.ListNode(i("recipe_ingredient")),result:i("recipe_result")},"minecraft:smelting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:o.Opt(o.NumberNode()),cookingtime:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:o.Opt(r()),ingredient:i("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),count:o.NumberNode({integer:!0})},"minecraft:smithing":{group:o.Opt(r()),base:i("recipe_ingredient_object"),addition:i("recipe_ingredient_object"),result:i("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",o.Mod(o.ChoiceNode([{type:"object",node:i("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:o.ListNode(i("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",o.Mod(o.ObjectNode({item:o.Opt(r({validator:"resource",params:{pool:"item"}})),tag:o.Opt(r({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",o.Mod(o.ObjectNode({item:r({validator:"resource",params:{pool:"item"}}),count:o.Opt(o.Mod(o.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTagsSchemas=void 0;const o=i(0);t.initTagsSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r=e=>o.Mod(o.ObjectNode({replace:o.Opt(o.BooleanNode()),values:o.ListNode(o.ChoiceNode([{type:"string",node:i({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:o.ObjectNode({id:i({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:o.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",r("block")),e.register("entity_type_tag",r("entity_type")),e.register("fluid_tag",r("fluid")),e.register("function_tag",r("$function")),e.register("game_event_tag",r("game_event")),e.register("item_tag",r("item"))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTextComponentSchemas=void 0;const o=i(0);t.initTextComponentSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t),n=e=>{var t;return e instanceof Array?n(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",o.Mod(o.ChoiceNode([{type:"object",node:i("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:n(e[0])}:"object"==typeof e?e:{text:n(e)}},{type:"list",node:i("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:r(),change:n},{type:"number",node:o.NumberNode(),change:e=>{const t=parseFloat(n(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:o.BooleanNode(),change:e=>{const t=n(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:o.Opt(r()),font:o.Opt(r()),bold:o.Opt(o.BooleanNode()),italic:o.Opt(o.BooleanNode()),underlined:o.Opt(o.BooleanNode()),strikethrough:o.Opt(o.BooleanNode()),obfuscated:o.Opt(o.BooleanNode()),insertion:o.Opt(r()),clickEvent:o.Opt(o.ObjectNode({action:r({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[o.Switch]:[{push:"action"}],[o.Case]:{change_page:{value:r()},copy_to_clipboard:{value:r()},open_file:{value:r()},open_url:{value:r()},run_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:o.Opt(o.ObjectNode({action:r({enum:["show_text","show_item","show_entity"]}),[o.Switch]:[{push:"action"}],[o.Case]:{show_text:{value:o.Opt(i("text_component")),contents:o.Opt(i("text_component"))},show_item:{value:o.Opt(r({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:o.Opt(o.ObjectNode({id:r({validator:"resource",params:{pool:"item"}}),count:o.Opt(o.NumberNode({integer:!0})),tag:o.Opt(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:o.Opt(o.ObjectNode({name:o.Opt(r()),type:o.Opt(r()),id:o.Opt(r())})),contents:o.Opt(o.Mod(o.ObjectNode({name:o.Opt(i("text_component")),type:r({validator:"resource",params:{pool:"entity_type"}}),id:r({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:o.Opt(i("text_component_list"))};e.register("text_component_object",o.Mod(o.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:o.ObjectNode({text:r(),...a})},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:o.ObjectNode({translate:r(),with:o.Opt(i("text_component_list")),...a})},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:o.ObjectNode({score:o.ObjectNode({name:r({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:r({validator:"objective"}),value:o.Opt(r())}),...a})},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:o.ObjectNode({selector:r({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:o.Opt(i("text_component")),...a})},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:o.ObjectNode({keybind:r({enum:"keybind",additional:!0}),...a})},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:o.ObjectNode({nbt:r({validator:"nbt_path"}),block:o.Opt(r({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:o.Opt(r({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:o.Opt(r({validator:"resource",params:{pool:"$storage"}})),interpret:o.Opt(o.BooleanNode()),separator:o.Opt(i("text_component")),...a})}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",o.Mod(o.ListNode(i("text_component")),{default:()=>[{text:""}]}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initWorldgenSchemas=void 0;const o=i(82),r=i(83),n=i(22),a=i(84),s=i(85),c=i(9),l=i(86),d=i(87),m=i(88);t.initWorldgenSchemas=function(e,t){c.initProcessorListSchemas(e,t),o.initBiomeSchemas(e,t),r.initCarverSchemas(e,t),n.initDecoratorSchemas(e,t),a.initFeatureSchemas(e,t),s.initNoiseSettingsSchemas(e,t),l.initStructureFeatureSchemas(e,t),d.initSurfaceBuilderSchemas(e,t),m.initTemplatePoolSchemas(e,t)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initBiomeSchemas=void 0;const o=i(0);t.initBiomeSchemas=function(e,t){const i=o.StringNode.bind(void 0,t);e.register("biome",o.Mod(o.ObjectNode({surface_builder:i({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:o.NumberNode(),scale:o.NumberNode(),temperature:o.NumberNode(),downfall:o.NumberNode(),precipitation:i({enum:["none","rain","snow"]}),temperature_modifier:o.Opt(i({enum:["none","frozen"]})),category:i({enum:"biome_category"}),player_spawn_friendly:o.Opt(o.BooleanNode()),creature_spawn_probability:o.Opt(o.NumberNode({min:0,max:1})),effects:o.ObjectNode({sky_color:o.NumberNode({color:!0}),fog_color:o.NumberNode({color:!0}),water_color:o.NumberNode({color:!0}),water_fog_color:o.NumberNode({color:!0}),grass_color:o.Opt(o.NumberNode({color:!0})),foliage_color:o.Opt(o.NumberNode({color:!0})),grass_color_modifier:o.Opt(i({enum:["none","dark_forest","swamp"]})),ambient_sound:o.Opt(i()),mood_sound:o.Opt(o.ObjectNode({sound:i(),tick_delay:o.NumberNode({integer:!0}),block_search_extent:o.NumberNode({integer:!0}),offset:o.NumberNode()})),additions_sound:o.Opt(o.ObjectNode({sound:i(),tick_chance:o.NumberNode({min:0,max:1})})),music:o.Opt(o.ObjectNode({sound:i(),min_delay:o.NumberNode({integer:!0,min:0}),max_delay:o.NumberNode({integer:!0,min:0}),replace_current_music:o.BooleanNode()})),particle:o.Opt(o.ObjectNode({options:o.ObjectNode({type:i()}),probability:o.NumberNode({min:0,max:1})}))}),starts:o.ListNode(i({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:o.MapNode(i({enum:["monster","creature","ambient","underground_water_creature","water_creature","water_ambient","misc"]}),o.Mod(o.ListNode(o.ObjectNode({type:i({validator:"resource",params:{pool:"entity_type"}}),weight:o.NumberNode({integer:!0}),minCount:o.NumberNode({integer:!0}),maxCount:o.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:o.MapNode(i({validator:"resource",params:{pool:"entity_type"}}),o.Mod(o.ObjectNode({energy_budget:o.NumberNode(),charge:o.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:o.MapNode(i({enum:["air","liquid"]}),o.Mod(o.ListNode(i({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:o.ListNode(o.Mod(o.ListNode(i({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initCarverSchemas=void 0;const o=i(0),r=i(4);t.initCarverSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t),a={vertical_rotation:r.FloatProvider(),shape:o.ObjectNode({distance_factor:r.FloatProvider(),thickness:r.FloatProvider(),width_smoothness:o.NumberNode({integer:!0,min:0}),horizontal_radius_factor:r.FloatProvider(),vertical_radius_default_factor:o.NumberNode(),vertical_radius_center_factor:o.NumberNode()})},s={horizontal_radius_multiplier:r.FloatProvider(),vertical_radius_multiplier:r.FloatProvider(),floor_level:r.FloatProvider({min:-1,max:1})};e.register("configured_carver",o.Mod(o.ObjectNode({type:n({validator:"resource",params:{pool:"worldgen/carver"}}),config:o.ObjectNode({probability:o.NumberNode({min:0,max:1}),y:i("height_provider"),yScale:r.FloatProvider(),lava_level:i("vertical_anchor"),aquifers_enabled:o.BooleanNode(),debug_settings:o.Opt(o.ObjectNode({debug_mode:o.Opt(o.BooleanNode()),air_state:o.Opt(i("block_state")),water_state:o.Opt(i("block_state")),lava_state:o.Opt(i("block_state")),barrier_state:o.Opt(i("block_state"))})),[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:canyon":a,"minecraft:cave":s,"minecraft:nether_cave":s}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initFeatureSchemas=void 0;const o=i(0),r=i(4);i(22),i(9);const n=i(9);t.initFeatureSchemas=function(e,t){const i=o.Reference.bind(void 0,e),a=o.StringNode.bind(void 0,t),s={can_replace:o.Opt(o.BooleanNode()),project:o.Opt(o.BooleanNode()),need_water:o.Opt(o.BooleanNode()),xspread:o.Opt(o.NumberNode({integer:!0,min:0})),yspread:o.Opt(o.NumberNode({integer:!0,min:0})),zspread:o.Opt(o.NumberNode({integer:!0,min:0})),tries:o.Opt(o.NumberNode({integer:!0,min:1})),state_provider:i("block_state_provider"),block_placer:i("block_placer"),whitelist:o.ListNode(i("block_state")),blacklist:o.ListNode(i("block_state"))},c={state:i("block_state"),radius:r.IntProvider({min:0,max:8}),half_height:o.NumberNode({integer:!0,min:0,max:4}),targets:o.ListNode(i("block_state"))},l={cap_provider:i("block_state_provider"),stem_provider:i("block_state_provider"),foliage_radius:o.Opt(o.NumberNode({integer:!0}))},d=o.ObjectNode({target:i("rule_test"),state:i("block_state")}),m={size:o.NumberNode({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:o.NumberNode({min:0,max:1}),targets:o.ListNode(d)},p=o.ChoiceNode([{type:"string",node:a({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:i("configured_feature")}],{choiceContext:"feature"}),u={surface:a({enum:["floor","ceiling"]}),depth:r.IntProvider({min:1,max:128}),vertical_range:o.NumberNode({integer:!0,min:1,max:256}),extra_bottom_block_chance:o.NumberNode({min:0,max:1}),extra_edge_column_chance:o.NumberNode({min:0,max:1}),vegetation_chance:o.NumberNode({min:0,max:1}),xz_radius:r.IntProvider(),replaceable:a({validator:"resource",params:{pool:"$tag/block"}}),ground_state:i("block_state_provider"),vegetation_feature:p};e.register("configured_feature",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/feature"}}),config:o.ObjectNode({[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:bamboo":{probability:o.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:r.IntProvider({min:0,max:3}),height:r.IntProvider({min:1,max:10})},"minecraft:block_pile":{state_provider:i("block_state_provider")},"minecraft:decorated":{decorator:i("configured_decorator"),feature:p},"minecraft:decorated_flower":{decorator:i("configured_decorator"),feature:p},"minecraft:delta_feature":{contents:i("block_state"),rim:i("block_state"),size:r.IntProvider({min:0,max:16}),rim_size:r.IntProvider({min:0,max:16})},"minecraft:disk":c,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:o.NumberNode({integer:!0,min:1,max:512}),height:r.IntProvider({min:0,max:128}),radius:r.IntProvider({min:0,max:128}),max_stalagmite_stalactite_height_diff:o.NumberNode({integer:!0,min:0,max:64}),height_deviation:o.NumberNode({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:r.IntProvider({min:0,max:128}),density:r.FloatProvider({min:0,max:2}),wetness:r.FloatProvider({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:o.NumberNode({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:o.NumberNode({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:o.NumberNode({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:o.BooleanNode(),exit:o.Opt(i("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:o.Opt(o.BooleanNode()),crystal_beam_target:o.Opt(i("block_pos")),spikes:o.ListNode(o.ObjectNode({centerX:o.Opt(o.NumberNode({integer:!0})),centerZ:o.Opt(o.NumberNode({integer:!0})),radius:o.Opt(o.NumberNode({integer:!0})),height:o.Opt(o.NumberNode({integer:!0})),guarded:o.Opt(o.BooleanNode())}))},"minecraft:fill_layer":{state:i("block_state"),height:o.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":s,"minecraft:forest_rock":{state:i("block_state")},"minecraft:fossil":{max_empty_corners_allowed:o.NumberNode({integer:!0,min:0,max:7}),fossil_structures:o.ListNode(a({validator:"resource",params:{pool:"$structure"}})),overlay_structures:o.ListNode(a({validator:"resource",params:{pool:"$structure"}})),fossil_processors:n.Processors,overlay_processors:n.Processors},"minecraft:geode":{blocks:o.ObjectNode({filling_provider:i("block_state_provider"),inner_layer_provider:i("block_state_provider"),alternate_inner_layer_provider:i("block_state_provider"),middle_layer_provider:i("block_state_provider"),outer_layer_provider:i("block_state_provider"),inner_placements:o.ListNode(i("block_state")),cannot_replace:a({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:a({validator:"resource",params:{pool:"$tag/block"}})}),layers:o.ObjectNode({filling:o.Opt(o.NumberNode({min:.01,max:50})),inner_layer:o.Opt(o.NumberNode({min:.01,max:50})),middle_layer:o.Opt(o.NumberNode({min:.01,max:50})),outer_layer:o.Opt(o.NumberNode({min:.01,max:50}))}),crack:o.ObjectNode({generate_crack_chance:o.Opt(o.NumberNode({min:0,max:1})),base_crack_size:o.Opt(o.NumberNode({min:0,max:5})),crack_point_offset:o.Opt(o.NumberNode({min:0,max:10,integer:!0}))}),noise_multiplier:o.Opt(o.NumberNode({min:0,max:1})),use_potential_placements_chance:o.Opt(o.NumberNode({min:0,max:1})),use_alternate_layer0_chance:o.Opt(o.NumberNode({min:0,max:1})),placements_require_layer0_alternate:o.Opt(o.BooleanNode()),outer_wall_distance:o.Opt(r.IntProvider({min:1,max:20})),distribution_points:o.Opt(r.IntProvider({min:1,max:20})),point_offset:o.Opt(r.IntProvider({min:0,max:10})),min_gen_offset:o.Opt(o.NumberNode({integer:!0})),max_gen_offset:o.Opt(o.NumberNode({integer:!0})),invalid_blocks_threshold:o.NumberNode({integer:!0})},"minecraft:glow_lichen":{search_range:o.Opt(o.NumberNode({min:1,max:64,integer:!0})),chance_of_spreading:o.Opt(o.NumberNode({min:0,max:1})),can_place_on_floor:o.Opt(o.BooleanNode()),can_place_on_ceiling:o.Opt(o.BooleanNode()),can_place_on_wall:o.Opt(o.BooleanNode()),can_be_placed_on:o.ListNode(i("block_state"))},"minecraft:growing_plant":{direction:a({enum:["up","down","north","east","south","west"]}),allow_water:o.BooleanNode(),height_distribution:o.ListNode(o.ObjectNode({weight:o.NumberNode({integer:!0}),data:r.IntProvider()})),body_provider:i("block_state_provider"),head_provider:i("block_state_provider")},"minecraft:huge_brown_mushroom":l,"minecraft:huge_fungus":{hat_state:i("block_state"),decor_state:i("block_state"),stem_state:i("block_state"),valid_base_block:i("block_state"),planted:o.Opt(o.BooleanNode())},"minecraft:huge_red_mushroom":l,"minecraft:ice_patch":c,"minecraft:iceberg":{state:i("block_state")},"minecraft:lake":{state:i("block_state")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:o.Opt(o.NumberNode({integer:!0,min:1,max:512})),column_radius:r.IntProvider({min:0,max:60}),height_scale:r.FloatProvider({min:0,max:20}),max_column_radius_to_cave_height_ratio:o.NumberNode({min:0,max:1}),stalactite_bluntness:r.FloatProvider({min:.1,max:10}),stalagmite_bluntness:r.FloatProvider({min:.1,max:10}),wind_speed:r.FloatProvider({min:0,max:2}),min_radius_for_wind:o.NumberNode({integer:!0,min:0,max:100}),min_bluntness_for_wind:o.NumberNode({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:i("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:i("block_state"),target:i("block_state"),radius:r.IntProvider({min:0,max:12})},"minecraft:no_bonemeal_flower":s,"minecraft:ore":m,"minecraft:random_patch":s,"minecraft:random_boolean_selector":{feature_false:p,feature_true:p},"minecraft:random_selector":{features:o.ListNode(o.ObjectNode({chance:o.NumberNode({min:0,max:1}),feature:p})),default:p},"minecraft:replace_single_block":{targets:o.ListNode(d)},"minecraft:root_system":{required_vertical_space_for_tree:o.NumberNode({integer:!0,min:1,max:64}),root_radius:o.NumberNode({integer:!0,min:1,max:64}),root_placement_attempts:o.NumberNode({integer:!0,min:1,max:256}),root_column_max_height:o.NumberNode({integer:!0,min:1,max:4096}),hanging_root_radius:o.NumberNode({integer:!0,min:1,max:64}),hanging_roots_vertical_span:o.NumberNode({integer:!0,min:0,max:16}),hanging_root_placement_attempts:o.NumberNode({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:o.NumberNode({integer:!0,min:1,max:64}),root_replaceable:a({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:i("block_state_provider"),hanging_root_state_provider:i("block_state_provider"),feature:p},"minecraft:scattered_ore":m,"minecraft:sea_pickle":{count:r.IntProvider({min:0,max:256})},"minecraft:seagrass":{probability:o.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:i("block_state_provider"),place_on:o.ListNode(i("block_state")),place_in:o.ListNode(i("block_state")),place_under:o.ListNode(i("block_state"))},"minecraft:simple_random_selector":{features:o.ListNode(p)},"minecraft:small_dripstone":{max_placements:o.Opt(o.NumberNode({integer:!0,min:0,max:100})),empty_space_search_radius:o.Opt(o.NumberNode({integer:!0,min:0,max:20})),max_offset_from_origin:o.Opt(o.NumberNode({integer:!0,min:0,max:20})),chance_of_taller_dripstone:o.Opt(o.NumberNode({min:0,max:1}))},"minecraft:spring_feature":{state:i("fluid_state"),rock_count:o.NumberNode({integer:!0}),hole_count:o.NumberNode({integer:!0}),requires_block_below:o.BooleanNode(),valid_blocks:o.ListNode(a({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:o.Opt(o.BooleanNode()),force_dirt:o.Opt(o.BooleanNode()),minimum_size:i("feature_size"),dirt_provider:i("block_state_provider"),sapling_provider:i("block_state_provider"),trunk_provider:i("block_state_provider"),foliage_provider:i("block_state_provider"),trunk_placer:o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:o.NumberNode({integer:!0,min:0,max:32}),height_rand_a:o.NumberNode({integer:!0,min:0,max:24}),height_rand_b:o.NumberNode({integer:!0,min:0,max:24}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:bending_trunk_placer":{bend_length:r.IntProvider({min:1,max:64}),min_height_for_leaves:o.Opt(o.NumberNode({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:r.IntProvider({min:0,max:16}),offset:r.IntProvider({min:0,max:16}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:blob_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:o.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:r.IntProvider({min:0,max:24})},"minecraft:pine_foliage_placer":{height:r.IntProvider({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:r.IntProvider({min:1,max:512}),leaf_placement_attempts:o.NumberNode({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:r.IntProvider({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:o.ListNode(o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:alter_ground":{provider:i("block_state_provider")},"minecraft:beehive":{probability:o.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:o.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:underwater_magma":{floor_search_range:o.NumberNode({integer:!0,min:0,max:512}),placement_radius_around_floor:o.NumberNode({integer:!0,min:0,max:64}),placement_probability_per_valid_position:o.NumberNode({min:0,max:1})},"minecraft:vegetation_patch":u,"minecraft:waterlogged_vegetation_patch":u}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:o.Opt(o.NumberNode({min:0,max:80})),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:two_layers_feature_size":{limit:o.Opt(o.NumberNode({integer:!0,min:0,max:81})),lower_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16})),upper_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:o.Opt(o.NumberNode({integer:!0,min:0,max:80})),upper_limit:o.Opt(o.NumberNode({integer:!0,min:0,max:80})),lower_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16})),middle_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16})),upper_size:o.Opt(o.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:randomized_int_state_provider":{property:a(),values:r.IntProvider(),source:i("block_state_provider")},"minecraft:rotated_block_provider":{state:i("block_state")},"minecraft:simple_state_provider":{state:i("block_state")},"minecraft:weighted_state_provider":{entries:o.ListNode(o.Mod(o.ObjectNode({weight:o.NumberNode({integer:!0,min:1}),data:i("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",o.Mod(o.ObjectNode({type:a({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[o.Switch]:[{push:"type"}],[o.Case]:{"minecraft:column_placer":{size:r.IntProvider({min:0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initNoiseSettingsSchemas=void 0;const o=i(0),r=i(4);t.initNoiseSettingsSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("noise_settings",o.Mod(o.ObjectNode({name:o.Mod(n({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:o.NumberNode({integer:!0}),bedrock_floor_position:o.NumberNode({integer:!0}),sea_level:o.NumberNode({integer:!0}),min_surface_level:o.NumberNode({integer:!0}),disable_mob_generation:o.BooleanNode(),noise_caves_enabled:o.BooleanNode(),noodle_caves_enabled:o.BooleanNode(),aquifers_enabled:o.BooleanNode(),deepslate_enabled:o.BooleanNode(),ore_veins_enabled:o.BooleanNode(),default_block:i("block_state"),default_fluid:i("block_state"),noise:o.ObjectNode({min_y:o.NumberNode({integer:!0,min:-2048,max:2047}),height:o.NumberNode({integer:!0,min:0,max:4096}),density_factor:o.NumberNode(),density_offset:o.NumberNode(),size_horizontal:o.NumberNode({integer:!0}),size_vertical:o.NumberNode({integer:!0}),simplex_surface_noise:o.BooleanNode(),random_density_offset:o.Opt(o.BooleanNode()),island_noise_override:o.Opt(o.BooleanNode()),amplified:o.Opt(o.BooleanNode()),sampling:o.ObjectNode({xz_scale:o.NumberNode(),y_scale:o.NumberNode(),xz_factor:o.NumberNode(),y_factor:o.NumberNode()}),bottom_slide:o.ObjectNode({target:o.NumberNode({integer:!0}),size:o.NumberNode({integer:!0,min:0}),offset:o.NumberNode({integer:!0})}),top_slide:o.ObjectNode({target:o.NumberNode({integer:!0}),size:o.NumberNode({integer:!0,min:0}),offset:o.NumberNode({integer:!0})})}),structures:i("generator_structures")},{context:"noise_settings"}),e=>({default:()=>r.DefaultNoiseSettings,validate:(t,i,o,r)=>{var n,a,s,c;return(null===(n=null==(i=e.validate(t,i,o,r))?void 0:i.noise)||void 0===n?void 0:n.min_y)+(null===(a=null==i?void 0:i.noise)||void 0===a?void 0:a.height)>2047&&o.add(t.push("noise").push("height"),"error.min_y_plus_height",2047),(null===(s=null==i?void 0:i.noise)||void 0===s?void 0:s.height)%16!=0&&o.add(t.push("noise").push("height"),"error.height_multiple",16),(null===(c=null==i?void 0:i.noise)||void 0===c?void 0:c.min_y)%16!=0&&o.add(t.push("noise").push("min_y"),"error.min_y_multiple",16),i}}))),e.register("generator_structures",o.ObjectNode({stronghold:o.Opt(o.ObjectNode({distance:o.NumberNode({integer:!0,min:0,max:1023}),spread:o.NumberNode({integer:!0,min:0,max:1023}),count:o.NumberNode({integer:!0,min:1,max:4095})})),structures:o.MapNode(n({validator:"resource",params:{pool:"worldgen/structure_feature"}}),o.Mod(o.ObjectNode({spacing:o.NumberNode({integer:!0,min:0,max:4096}),separation:o.Mod(o.NumberNode({integer:!0,min:0,max:4096}),e=>({validate:(t,i,o,r)=>(t.pop().push("spacing").get()<=i&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,i,o,r))})),salt:o.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",o.Mod(o.ObjectNode({block:n({validator:"resource",params:{pool:"block"}}),height:o.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initStructureFeatureSchemas=void 0;const o=i(0);t.initStructureFeatureSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r=o.Reference.bind(void 0,e),n={start_pool:i({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:o.NumberNode({integer:!0})};e.register("configured_structure_feature",o.Mod(o.ObjectNode({type:i({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:o.ObjectNode({[o.Switch]:["pop",{push:"type"}],[o.Case]:{"minecraft:bastion_remnant":n,"minecraft:buried_treasure":{probability:o.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:i({enum:["normal","mesa"]}),probability:o.NumberNode({min:0,max:1})},"minecraft:nether_fossil":{height:r("height_provider")},"minecraft:ocean_ruin":{biome_temp:i({enum:["cold","warm"]}),large_probability:o.NumberNode({min:0,max:1}),cluster_probability:o.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":n,"minecraft:ruined_portal":{portal_type:i({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:o.Opt(o.BooleanNode())},"minecraft:village":n}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initSurfaceBuilderSchemas=void 0;const o=i(0);t.initSurfaceBuilderSchemas=function(e,t){const i=o.StringNode.bind(void 0,t),r=o.Reference.bind(void 0,e);e.register("configured_surface_builder",o.Mod(o.ObjectNode({type:i({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:o.ObjectNode({top_material:r("block_state"),under_material:r("block_state"),underwater_material:r("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initTemplatePoolSchemas=void 0;const o=i(0);i(9);const r=i(9);t.initTemplatePoolSchemas=function(e,t){const i=o.Reference.bind(void 0,e),n=o.StringNode.bind(void 0,t);e.register("template_pool",o.Mod(o.ObjectNode({name:n(),fallback:n(),elements:o.ListNode(i("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",o.Mod(o.ObjectNode({weight:o.NumberNode({integer:!0,min:1}),element:i("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",o.Mod(o.ObjectNode({element_type:n({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:n({enum:["rigid","terrain_matching"]}),[o.Switch]:[{push:"element_type"}],[o.Case]:{"minecraft:feature_pool_element":{feature:n({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:n({validator:"resource",params:{pool:"$structure"}}),processors:r.Processors},"minecraft:list_pool_element":{elements:o.ListNode(i("template_element"))},"minecraft:single_pool_element":{location:n({validator:"resource",params:{pool:"$structure"}}),processors:r.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initWorldSettingsSchemas=void 0;const o=i(0);t.initWorldSettingsSchemas=function(e,t){const i=o.Reference.bind(void 0,e),r=o.StringNode.bind(void 0,t);e.register("world_settings",o.Mod(o.ObjectNode({generate_features:o.BooleanNode(),bonus_chest:o.BooleanNode(),seed:o.NumberNode({integer:!0}),dimensions:o.MapNode(r({validator:"resource",params:{pool:"$dimension"}}),i("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))}},function(e,t,i){(function(e){var o;!function(e,r,n){function a(e){var t,i=this,o=(t=4022871197,function(e){e=String(e);for(var i=0;i>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)});i.next=function(){var e=2091639*i.s0+2.3283064365386963e-10*i.c;return i.s0=i.s1,i.s1=i.s2,i.s2=e-(i.c=0|e)},i.c=1,i.s0=o(" "),i.s1=o(" "),i.s2=o(" "),i.s0-=o(e),i.s0<0&&(i.s0+=1),i.s1-=o(e),i.s1<0&&(i.s1+=1),i.s2-=o(e),i.s2<0&&(i.s2+=1),o=null}function s(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function c(e,t){var i=new a(e),o=t&&t.state,r=i.next;return r.int32=function(){return 4294967296*i.next()|0},r.double=function(){return r()+11102230246251565e-32*(2097152*r()|0)},r.quick=r,o&&("object"==typeof o&&s(o,i),r.state=function(){return s(i,{})}),r}r&&r.exports?r.exports=c:i(2)&&i(7)?void 0===(o=function(){return c}.call(t,i,t,r))||(r.exports=o):this.alea=c}(0,e,i(2))}).call(this,i(6)(e))},function(e,t,i){(function(e){var o;!function(e,r,n){function a(e){var t=this,i="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:i+=e;for(var o=0;o>>0)/4294967296};return r.double=function(){do{var e=((i.next()>>>11)+(i.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=i.next,r.quick=r,o&&("object"==typeof o&&s(o,i),r.state=function(){return s(i,{})}),r}r&&r.exports?r.exports=c:i(2)&&i(7)?void 0===(o=function(){return c}.call(t,i,t,r))||(r.exports=o):this.xor128=c}(0,e,i(2))}).call(this,i(6)(e))},function(e,t,i){(function(e){var o;!function(e,r,n){function a(e){var t=this,i="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:i+=e;for(var o=0;o>>4),t.next()}function s(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function c(e,t){var i=new a(e),o=t&&t.state,r=function(){return(i.next()>>>0)/4294967296};return r.double=function(){do{var e=((i.next()>>>11)+(i.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=i.next,r.quick=r,o&&("object"==typeof o&&s(o,i),r.state=function(){return s(i,{})}),r}r&&r.exports?r.exports=c:i(2)&&i(7)?void 0===(o=function(){return c}.call(t,i,t,r))||(r.exports=o):this.xorwow=c}(0,e,i(2))}).call(this,i(6)(e))},function(e,t,i){(function(e){var o;!function(e,r,n){function a(e){var t=this;t.next=function(){var e,i,o=t.x,r=t.i;return e=o[r],i=(e^=e>>>7)^e<<24,i^=(e=o[r+1&7])^e>>>10,i^=(e=o[r+3&7])^e>>>3,i^=(e=o[r+4&7])^e<<7,e=o[r+7&7],i^=(e^=e<<13)^e<<9,o[r]=i,t.i=r+1&7,i},function(e,t){var i,o=[];if(t===(0|t))o[0]=t;else for(t=""+t,i=0;i0;--i)e.next()}(t,e)}function s(e,t){return t.x=e.x.slice(),t.i=e.i,t}function c(e,t){null==e&&(e=+new Date);var i=new a(e),o=t&&t.state,r=function(){return(i.next()>>>0)/4294967296};return r.double=function(){do{var e=((i.next()>>>11)+(i.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=i.next,r.quick=r,o&&(o.x&&s(o,i),r.state=function(){return s(i,{})}),r}r&&r.exports?r.exports=c:i(2)&&i(7)?void 0===(o=function(){return c}.call(t,i,t,r))||(r.exports=o):this.xorshift7=c}(0,e,i(2))}).call(this,i(6)(e))},function(e,t,i){(function(e){var o;!function(e,r,n){function a(e){var t=this;t.next=function(){var e,i,o=t.w,r=t.X,n=t.i;return t.w=o=o+1640531527|0,i=r[n+34&127],e=r[n=n+1&127],i^=i<<13,e^=e<<17,i^=i>>>15,e^=e>>>12,i=r[n]=i^e,t.i=n,i+(o^o>>>16)|0},function(e,t){var i,o,r,n,a,s=[],c=128;for(t===(0|t)?(o=t,t=null):(t+="\0",o=0,c=Math.max(c,t.length)),r=0,n=-32;n>>15,o^=o<<4,o^=o>>>13,n>=0&&(a=a+1640531527|0,r=0==(i=s[127&n]^=o+a)?r+1:0);for(r>=128&&(s[127&(t&&t.length||0)]=-1),r=127,n=512;n>0;--n)o=s[r+34&127],i=s[r=r+1&127],o^=o<<13,i^=i<<17,o^=o>>>15,i^=i>>>12,s[r]=o^i;e.w=a,e.X=s,e.i=r}(t,e)}function s(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function c(e,t){null==e&&(e=+new Date);var i=new a(e),o=t&&t.state,r=function(){return(i.next()>>>0)/4294967296};return r.double=function(){do{var e=((i.next()>>>11)+(i.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=i.next,r.quick=r,o&&(o.X&&s(o,i),r.state=function(){return s(i,{})}),r}r&&r.exports?r.exports=c:i(2)&&i(7)?void 0===(o=function(){return c}.call(t,i,t,r))||(r.exports=o):this.xor4096=c}(0,e,i(2))}).call(this,i(6)(e))},function(e,t,i){(function(e){var o;!function(e,r,n){function a(e){var t=this,i="";t.next=function(){var e=t.b,i=t.c,o=t.d,r=t.a;return e=e<<25^e>>>7^i,i=i-o|0,o=o<<24^o>>>8^r,r=r-e|0,t.b=e=e<<20^e>>>12^i,t.c=i=i-o|0,t.d=o<<16^i>>>16^r,t.a=r-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):i+=e;for(var o=0;o>>0)/4294967296};return r.double=function(){do{var e=((i.next()>>>11)+(i.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},r.int32=i.next,r.quick=r,o&&("object"==typeof o&&s(o,i),r.state=function(){return s(i,{})}),r}r&&r.exports?r.exports=c:i(2)&&i(7)?void 0===(o=function(){return c}.call(t,i,t,r))||(r.exports=o):this.tychei=c}(0,e,i(2))}).call(this,i(6)(e))},function(e,t,i){var o;!function(r,n,a){var s,c=a.pow(256,6),l=a.pow(2,52),d=2*l;function m(e,t,i){var o=[],m=_(function e(t,i){var o,r=[],n=typeof t;if(i&&"object"==n)for(o in t)try{r.push(e(t[o],i-1))}catch(e){}return r.length?r:"string"==n?t:t+"\0"}((t=1==t?{entropy:!0}:t||{}).entropy?[e,f(n)]:null==e?function(){try{var e;return s&&(e=s.randomBytes)?e=e(256):(e=new Uint8Array(256),(r.crypto||r.msCrypto).getRandomValues(e)),f(e)}catch(e){var t=r.navigator,i=t&&t.plugins;return[+new Date,r,i,r.screen,f(n)]}}():e,3),o),g=new p(o),h=function(){for(var e=g.g(6),t=c,i=0;e=d;)e/=2,t/=2,i>>>=1;return(e+i)/t};return h.int32=function(){return 0|g.g(4)},h.quick=function(){return g.g(4)/4294967296},h.double=h,_(f(g.S),n),(t.pass||i||function(e,t,i,o){return o&&(o.S&&u(o,g),e.state=function(){return u(g,{})}),i?(a.random=e,t):e})(h,m,"global"in t?t.global:this==a,t.state)}function p(e){var t,i=e.length,o=this,r=0,n=o.i=o.j=0,a=o.S=[];for(i||(e=[i++]);r<256;)a[r]=r++;for(r=0;r<256;r++)a[r]=a[n=255&n+e[r%i]+(t=a[r])],a[n]=t;(o.g=function(e){for(var t,i=0,r=o.i,n=o.j,a=o.S;e--;)t=a[r=255&r+1],i=256*i+a[255&(a[r]=a[n=255&n+t])+(a[n]=t)];return o.i=r,o.j=n,i})(256)}function u(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function _(e,t){for(var i,o=e+"",r=0;r("0"+e.toString(16)).substr(-2);function c(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,s).join("")}function l(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function d(e){const t=Math.abs(function(e){let t=0;for(let i=0;i>8)%256,(t>>16)%256]}function m(e,t,i){return Math.max(e,Math.min(t,i))}function p(e,t,i){return i<0?e:i>1?t:u(i,e,t)}function u(e,t,i){return t+e*(i-t)}function _(e,t,i,o,r,n){return u(t,u(e,i,o),u(e,r,n))}function f(e){return e*e*e*(e*(6*e-15)+10)}class g{constructor(e){this.value=e,this.watchers=[]}set(e){if(this.value===e)return;const t=this.value;this.value=e,this.watchers.forEach(e=>e.watcher(this.value,t))}get(){return this.value}watchRun(e,t){return e(this.value,null),this.watch(e,t)}watch(e,t){t=null!=t?t:c();const i=this.watchers.find(e=>e.name===t);return i?i.watcher=e:this.watchers.push({name:t,watcher:e}),this}}class h extends g{constructor(e,t){var i;super(null!==(i=localStorage.getItem(e))&&void 0!==i?i:t),this.id=e}set(e){super.set(e),localStorage.setItem(this.id,e)}get(){return this.value}}var b=i(1),v=function(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{c(o.next(e))}catch(e){n(e)}}function s(e){try{c(o.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}c((o=o.apply(e,t||[])).next())}))};["1.15","1.16","1.17"].forEach(e=>localStorage.removeItem("cache_"+e));const y="https://raw.githubusercontent.com/Arcensoth/mcdata",N="https://raw.githubusercontent.com/SPGoding/vanilla-datapack",w=[{id:"mcdata_master",hash:"749b7bb71f5a02219c3bd8d8f2bf0e638bab2adf",url:y},{id:"vanilla_datapack_summary",hash:"8a2f8022eb88840e6871ff6a72f63d6e64afc323",url:N}];function O(e,t){return v(this,void 0,void 0,(function*(){const i=b.versions.find(e=>e.id===t);i?(console.debug("[fetchData] "+JSON.stringify(i)),i.dynamic&&(yield Promise.all(w.filter(e=>localStorage.getItem("cached_"+e.id)!==e.hash).map(e=>v(this,void 0,void 0,(function*(){console.debug(`[deleteMatching] ${e.id} '${localStorage.getItem("cached_"+e.id)}' < '${e.hash}' ${e.url}/${i.refs[e.id]}`),yield function(e){return v(this,void 0,void 0,(function*(){try{const t=yield caches.open("misode-v1");console.debug("[deleteMatching] Opened cache misode-v1");const i=[];for(const o of yield t.keys())e(o.url)&&i.push(t.delete(o));console.debug(`[deleteMatching] Removing ${i.length} cache objects...`),yield Promise.all(i)}catch(e){console.warn("[deleteMatching] Failed to open cache misode-v1: "+e.message)}}))}(t=>t.startsWith(`${e.url}/${i.refs[e.id]}`)),console.debug(`[deleteMatching] Done! ${e.id} ${e.hash} '${localStorage.getItem("cached_"+e.id)}'`),localStorage.setItem("cached_"+e.id,e.hash),console.debug(`[deleteMatching] Set! ${e.id} ${e.hash} '${localStorage.getItem("cached_"+e.id)}'`)}))))),yield Promise.all([k(i,e),x(i),j(i,e)])):console.error(`[fetchData] Unknown version ${i} in ${JSON.stringify(b.versions)}`)}))}function k(e,t){return v(this,void 0,void 0,(function*(){console.debug("[fetchRegistries] "+e.id);const i=b.registries.filter(e=>!e.dynamic).filter(t=>fe(e.id,t.minVersion,t.maxVersion));if(!fe(e.id,void 0,"1.15"))return Promise.all(i.map(i=>v(this,void 0,void 0,(function*(){try{const o=i.path?`${y}/${e.refs.mcdata_master}/${i.path}/data.min.json`:`${y}/${e.refs.mcdata_master}/processed/reports/registries/${i.id}/data.min.json`;t.register(i.id,yield S(o,e=>e.values))}catch(e){console.warn(`Error occurred while fetching registry ${i.id}:`,e)}}))));{const o=`${y}/${e.refs.mcdata_master}/generated/reports/registries.json`;try{const e=yield S(o,e=>{const t={};return Object.keys(e).forEach(i=>{t[i.slice(10)]=Object.keys(e[i].entries)}),t});i.forEach(i=>{var o;t.register(i.id,null!==(o=e[i.id])&&void 0!==o?o:[])})}catch(e){console.warn("Error occurred while fetching registries:",e)}}}))}function x(e){return v(this,void 0,void 0,(function*(){if(console.debug("[fetchBlockStateMap] "+e.id),fe(e.id,void 0,"1.16")){const t=fe(e.id,void 0,"1.15")?`${y}/${e.refs.mcdata_master}/generated/reports/blocks.json`:`${y}/${e.refs.mcdata_master}/processed/reports/blocks/data.min.json`;try{const e=yield S(t,e=>{const t={};return Object.keys(e).forEach(i=>{t[i]={properties:e[i].properties,default:e[i].states.find(e=>e.default).properties}}),t});ue.blockStateRegistry=e}catch(e){console.warn("Error occurred while fetching block state map:",e)}}else{const t=`${y}/${e.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`;try{ue.blockStateRegistry=yield S(t)}catch(e){console.warn("Error occurred while fetching block state map:",e)}}}))}function j(e,t){return v(this,void 0,void 0,(function*(){console.debug("[fetchDynamicRegistries] "+e.id);const i=b.registries.filter(e=>e.dynamic).filter(t=>fe(e.id,t.minVersion,t.maxVersion));if(fe(e.id,"1.16")){const o=`${N}/${e.refs.vanilla_datapack_summary}/summary/flattened.min.json`;try{const e=yield S(o);i.forEach(i=>{t.register(i.id,e[i.id])})}catch(e){console.warn("Error occurred while fetching dynamic registries:",e)}}}))}function S(e,t=(e=>e)){return v(this,void 0,void 0,(function*(){try{const i=yield caches.open("misode-v1");console.debug("[getData] Opened cache misode-v1 "+e);const o=yield i.match(e);if(o&&o.ok)return console.debug("[getData] Retrieving cached data "+e),yield o.json();console.debug("[getData] fetching data "+e);const r=yield fetch(e),n=t(yield r.json());return yield i.put(e,new Response(JSON.stringify(n))),n}catch(i){console.warn("[getData] Failed to open cache misode-v1: "+i.message),console.debug("[getData] fetching data "+e);const o=yield fetch(e);return t(yield o.json())}}))}const M={archive:'',arrow_both:'',arrow_left:'',arrow_right:'',chevron_down:'',chevron_right:'',clippy:'',code:'',dash:'',download:'',eye:'',eye_closed:'',fold:'',gear:'',globe:'',history:'',info:'',issue_opened:'',kebab_horizontal:'',link:'',mark_github:'',moon:'',note:'',package:'',play:'',plus:'',plus_circle:'',search:'',square:'',square_fill:'',sun:'',tag:'',trashcan:'',three_bars:'',unfold:'',x:''};var C=i(10),z=i.n(C);class L{constructor(e){this.xo=256*e(),this.yo=256*e(),this.zo=256*e(),this.p=Array(256);for(let e=0;e<256;e+=1)this.p[e]=e;for(let t=0;t<256;t+=1){const i=e.int32()%(256-t),o=this.p[t];this.p[t]=this.p[t+i],this.p[t+i]=o}}noise(e,t,i,o,r){const n=e+this.xo,a=t+this.yo,s=i+this.zo,c=Math.floor(n),l=Math.floor(a),d=Math.floor(s),m=n-c,p=a-l,u=s-d,_=f(m),g=f(p),h=f(u);let b=0;return 0!==o&&(b=Math.floor(Math.min(r,p)/o)*o),this.sampleAndLerp(c,l,d,m,p-b,u,_,g,h)}gradDot(e,t,i,o){const r=L.GRADIENT[15&e];return r[0]*t+r[1]*i+r[2]*o}P(e){return 255&this.p[255&e]}sampleAndLerp(e,t,i,o,r,n,a,s,c){const l=this.P(e)+t,d=this.P(l)+i,m=this.P(l+1)+i,p=this.P(e+1)+t,f=this.P(p)+i,g=this.P(p+1)+i;return function(e,t,i,o,r,n,a,s,c,l,d){return u(i,_(e,t,o,r,n,a),_(e,t,s,c,l,d))}(a,s,c,this.gradDot(this.P(d),o,r,n),this.gradDot(this.P(f),o-1,r,n),this.gradDot(this.P(m),o,r-1,n),this.gradDot(this.P(g),o-1,r-1,n),this.gradDot(this.P(d+1),o,r,n-1),this.gradDot(this.P(f+1),o-1,r,n-1),this.gradDot(this.P(m+1),o,r-1,n-1),this.gradDot(this.P(g+1),o-1,r-1,n-1))}}L.GRADIENT=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1],[1,1,0],[0,-1,1],[-1,1,0],[0,-1,-1]];class ${constructor(e,t,i){this.amplitudes=i,this.noiseLevels=Array(this.amplitudes.length);for(let t=0;t{}}dirty(e){return JSON.stringify(this.state)!==JSON.stringify(e.get())}menu(e,t){return""}onDrag(e,t){}}class A extends B{constructor(){var e;super(),this.offsetX=0,this.offsetY=0,this.seed=c(),this.viewScale=new g(0),this.biomeColors=new g({}),this.biomeColors.set(JSON.parse(null!==(e=localStorage.getItem("biome_colors"))&&void 0!==e?e:"{}")),this.noise=[],this.biomeColors.watch(()=>this.redraw())}getName(){return"biome-noise"}active(e){return e.endsWith(new o.Path(["generator","biome_source"]))&&"minecraft:multi_noise"===e.push("type").get()}menu(e,t){return`\n
\n
\n ${M.plus}\n
\n
\n ${M.dash}\n
`}getSize(){return[200,100]}draw(e,t){var i;this.noise=A.noiseMaps.map((e,t)=>{const i=this.state[e+"_noise"];return new P(this.seed+t,i.firstOctave,i.amplitudes)});const o={};this.state.biomes.forEach(e=>{o[e.biome]=this.getBiomeColor(e.biome)});const r=t.data,n=Math.pow(2,this.viewScale.get());for(let e=0;e<200;e+=1)for(let a=0;a<100;a+=1){const s=a*(4*t.width)+4*e,c=(e-this.offsetX)*n-100*n,l=(a-this.offsetY)*n-50*n,d=this.closestBiome(c,l),m=null!==(i=o[d])&&void 0!==i?i:[128,128,128];r[s]=m[0],r[s+1]=m[1],r[s+2]=m[2],r[s+3]=255}}onDrag(e,t){this.offsetX+=e,this.offsetY+=t}closestBiome(e,t){if(!this.state.biomes||0===this.state.biomes.length)return"";const i=this.noise.map(i=>i.getValue(e,t,0));let o=1/0,r="";for(const e of this.state.biomes){const t=this.fitness(e.parameters,{altitude:i[0],temperature:i[1],humidity:i[2],weirdness:i[3],offset:0});te.toString(16).padStart(2,"0")).join("")}}A.noiseMaps=["altitude","temperature","humidity","weirdness"];const R={en:i(26)};function I(e,t){return null==e?void 0:e.replace(/%\d+%/g,e=>{const i=parseInt(e.slice(1,-1));return void 0!==(null==t?void 0:t[i])?t[i]:e})}function E(e,t){var i,o,r;return null!==(r=I(null!==(o=null===(i=R[ue.language.get()])||void 0===i?void 0:i[e])&&void 0!==o?o:R.en[e],t))&&void 0!==r?r:e}function D(e,t,i=5,o=1){return[ue.language.get(),"en"].reduce((r,n)=>{var a;if(void 0!==r)return r;const s=e.slice(-i);for(;s.length>=o;){const e=I(null===(a=R[n])||void 0===a?void 0:a[s.join(".")],t);if(void 0!==e)return e;s.shift()}},void 0)}class q{constructor(){this.registry={}}render(){return""}register(e){const t=c();return this.registry[t]=e,t}on(e,t){return this.register(i=>{i.addEventListener(e,e=>{t(i),e.stopPropagation()})})}onChange(e){return this.on("change",e)}onClick(e){return this.on("click",e)}mounted(e,t=!0){e.querySelectorAll("[data-id]").forEach(e=>{var t,i;const o=e.getAttribute("data-id");null===(i=(t=this.registry)[o])||void 0===i||i.call(t,e)}),t&&(this.registry={}),e.querySelectorAll("[data-i18n]").forEach(e=>{e.textContent=E(e.attributes.getNamedItem("data-i18n").value)})}mount(e,t,i=!0){console.debug(`[View.mount] ${t.replace(/\n/g,"").slice(0,40)}...`),e.innerHTML=t,this.mounted(e,i)}}const T=e=>{e.classList.add("active");const t=()=>document.body.addEventListener("click",i=>{var o;i.target.matches(".btn.input")||(null===(o=i.target.closest(".btn"))||void 0===o?void 0:o.classList.contains("input"))?t():e.classList.remove("active")},{capture:!0,once:!0});t()};class F{constructor(){this.settings={},this.chunkWidth=4,this.chunkHeight=4,this.chunkCountY=32,this.biomeDepth=.1,this.biomeScale=.2,this.noiseColumnCache=[],this.xOffset=0,this.minLimitPerlinNoise=$.fromRange(c(),-15,0),this.maxLimitPerlinNoise=$.fromRange(c(),-15,0),this.mainPerlinNoise=$.fromRange(c(),-7,0),this.depthNoise=$.fromRange(c(),-15,0)}reset(e,t,i,o,r){this.settings=e,this.chunkWidth=4*e.size_horizontal,this.chunkHeight=4*e.size_vertical,this.chunkCountY=Math.floor(e.height/this.chunkHeight),e.amplified&&t>0&&(t=1+2*t,i=1+4*i),this.biomeDepth=.265625*(.5*t-.125),this.biomeScale=96/(.9*i+.1),this.noiseColumnCache=Array(r).fill(null),this.xOffset=o}iterateNoiseColumn(e){const t=Array(this.chunkCountY*this.chunkHeight),i=Math.floor(e/this.chunkWidth),o=Math.floor(e%this.chunkWidth)/this.chunkWidth,r=this.fillNoiseColumn(i),n=this.fillNoiseColumn(i+1);for(let e=this.chunkCountY-1;e>=0;e-=1)for(let i=this.chunkHeight;i>=0;i-=1){const a=i/this.chunkHeight;t[e*this.chunkHeight+i]=_(a,o,r[e],r[e+1],n[e],n[e+1])}return t}fillNoiseColumn(e){const t=this.noiseColumnCache[e-this.xOffset];if(t)return t;const i=Array(this.chunkCountY+1),o=684.412*this.settings.sampling.xz_scale,r=684.412*this.settings.sampling.y_scale,n=o/this.settings.sampling.xz_factor,a=r/this.settings.sampling.y_factor,s=this.settings.random_density_offset?this.getRandomDensity(e):0;for(let t=0;t<=this.chunkCountY;t+=1){let c=this.sampleAndClampNoise(e,t,this.mainPerlinNoise.getOctaveNoise(0).zo,o,r,n,a);const l=((1-2*t/this.chunkCountY+s)*this.settings.density_factor+this.settings.density_offset+this.biomeDepth)*this.biomeScale;c+=l*(l>0?4:1),this.settings.top_slide.size>0&&(c=p(this.settings.top_slide.target,c,(this.chunkCountY-t-this.settings.top_slide.offset)/this.settings.top_slide.size)),this.settings.bottom_slide.size>0&&(c=p(this.settings.bottom_slide.target,c,(t-this.settings.bottom_slide.offset)/this.settings.bottom_slide.size)),i[t]=c}return this.noiseColumnCache[e-this.xOffset]=i,i}getRandomDensity(e){const t=this.depthNoise.getValue(200*e,10,this.depthNoise.getOctaveNoise(0).zo,1,0,!0),i=24.575625*(t<0?.3*-t:t)-2;return i<0?.009486607142857142*i:.006640625*Math.min(i,1)}sampleAndClampNoise(e,t,i,o,r,n,a){let s=0,c=0,l=0,d=1;for(let m=0;m<16;m+=1){const p=$.wrap(e*o*d),u=$.wrap(t*r*d),_=$.wrap(i*o*d),f=r*d,g=this.minLimitPerlinNoise.getOctaveNoise(m);g&&(s+=g.noise(p,u,_,f,t*f)/d);const h=this.maxLimitPerlinNoise.getOctaveNoise(m);if(h&&(c+=h.noise(p,u,_,f,t*f)/d),m<8){const o=this.mainPerlinNoise.getOctaveNoise(m);o&&(l+=o.noise($.wrap(e*n*d),$.wrap(t*a*d),$.wrap(i*n*d),a*d,t*a*d)/d)}d/=2}return p(s/512,c/512,(l/10+1)/2)}}const V=[50,50,51,51,52,52,53,54,56,57,57,58,58,59,60,60,60,59,59,59,60,61,61,62,63,63,64,64,64,65,65,66,66,65,65,66,66,67,67,67,68,69,71,73,74,76,79,80,81,81,82,83,83,82,82,81,81,80,80,80,81,81,82,82],H=[[255,77,54],[59,118,255],[91,207,25],[217,32,245],[255,209,41],[52,204,209]];const U=(e,t,i)=>ga("send","event",e,t,i),W=(e,t)=>ga("set","dimension"+e,t),J=e=>{ga("set","page",e),ga("send","pageview")},Y=e=>U("Generator","set-version",e),G=e=>U("Preview","set-preview",e),X=()=>U("Generator","reset"),K=(e=!1)=>U("Generator","undo",e?"Hotkey":"Menu"),Z=(e=!1)=>U("Generator","redo",e?"Hotkey":"Menu"),Q=()=>U("JsonOutput","copy"),ee=()=>U("JsonOutput","download"),te=()=>U("JsonOutput","share"),ie=()=>U("Preview","hide-preview"),oe=e=>U("Generator","toggle-minimize",e?"minimized":"unminimized"),re=e=>U("Generator","load-preset",e),ne=e=>W(1,e),ae=e=>W(3,e),se=e=>W(4,e),ce=e=>W(5,e);var le=function(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{c(o.next(e))}catch(e){n(e)}}function s(e){try{c(o.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const de={1.15:r,1.16:n,1.17:a},me={biome_noise:new A,noise_settings:new class extends B{constructor(){super(),this.width=256,this.depth=.1,this.scale=.2,this.offsetX=0,this.debug=!1,this.generator=new F}getName(){return"noise-settings"}active(e){return e.endsWith(new o.Path(["noise"]))}menu(e,t){return`
\n
\n ${M.kebab_horizontal}\n
\n
\n
\n ${M.gear}\n \n {this.depth=parseFloat(e.value),t()})})}">\n
\n
\n ${M.gear}\n \n {this.scale=parseFloat(e.value),t()})})}">\n
\n
\n ${M.arrow_both}\n \n {this.width=parseFloat(e.value),t()})})}">\n
\n
\n ${M.square}\n \n
\n
\n
`}getSize(){return[this.width,this.state.height]}draw(e,t){this.generator.reset(this.state,this.depth,this.scale,this.offsetX,this.width);const i=t.data;for(let e=0;e0?255:a,i[n+1]=a,i[n+2]=a,i[n+3]=255}}}onDrag(e,t){this.offsetX-=e}getColor(e,t){return this.debug?-e[t]/2+128:e[t]>0?0:e[t+1]>0?150:255}},decorator:new class extends B{constructor(){super(),this.Features={decorated:(e,t)=>this.getPositions(t,null==e?void 0:e.decorator).flatMap(t=>this.getPlacements(t,null==e?void 0:e.feature)),random_boolean_selector:(e,t)=>{const i=this.random()<.5?null==e?void 0:e.feature_true:null==e?void 0:e.feature_false;return this.getPlacements(t,i)},random_selector:(e,t)=>{var i,o;for(const r of null!==(i=null==e?void 0:e.features)&&void 0!==i?i:[])if(this.random()<(null!==(o=null==r?void 0:r.chance)&&void 0!==o?o:0))return this.getPlacements(t,r.feature);return this.getPlacements(t,null==e?void 0:e.default)},simple_random_selector:(e,t)=>{var i,o,r;const n=null===(i=null==e?void 0:e.features)||void 0===i?void 0:i[this.nextInt(null!==(r=null===(o=null==e?void 0:e.features)||void 0===o?void 0:o.length)&&void 0!==r?r:0)];return this.getPlacements(t,n)}},this.Decorators={chance:(e,t)=>{var i;return this.random()<1/(null!==(i=null==e?void 0:e.chance)&&void 0!==i?i:1)?[t]:[]},count:(e,t)=>{var i;return new Array(this.sampleUniformInt(null!==(i=null==e?void 0:e.count)&&void 0!==i?i:1)).fill(t)},count_extra:(e,t)=>{var i,o,r;let n=null!==(i=null==e?void 0:e.count)&&void 0!==i?i:1;return null!==(o=this.random(){var i;return new Array(this.sampleUniformInt(null!==(i=null==e?void 0:e.count)&&void 0!==i?i:1)).fill(t).map(e=>[e[0]+this.nextInt(16),e[1],e[2]+this.nextInt(16)])},count_noise:(e,t)=>{const i=this.biomeInfoNoise.getValue(t[0]/200,0,t[2]/200){const i=Math.max(1,e.noise_factor),o=this.biomeInfoNoise.getValue(t[0]/i,0,t[2]/i),r=Math.max(0,Math.ceil((o+e.noise_offset)*e.noise_to_count_ratio));return new Array(r).fill(t)},dark_oak_tree:(e,t)=>[...new Array(16)].map((e,i)=>{const o=4*Math.floor(i/4)+1+this.nextInt(3)+t[0];return[o,Math.max(63,V[m(0,63,o)]),4*Math.floor(i%4)+1+this.nextInt(3)+t[2]]}),decorated:(e,t)=>this.getPositions(t,null==e?void 0:e.outer).flatMap(t=>this.getPositions(t,null==e?void 0:e.inner)),depth_average:(e,t)=>{var i,o,r,n;const a=this.nextInt(null!==(i=null==e?void 0:e.spread)&&void 0!==i?i:0)+this.nextInt(null!==(o=null==e?void 0:e.spread)&&void 0!==o?o:0)-(null!==(r=e.spread)&&void 0!==r?r:0)+(null!==(n=null==e?void 0:e.baseline)&&void 0!==n?n:0);return this.decorateY(t,a)},emerald_ore:(e,t)=>{const i=3+this.nextInt(6);return[...new Array(i)].map(e=>[this.nextInt(16)+t[0],this.nextInt(28)+4,this.nextInt(16)+t[2]])},fire:(e,t)=>{const i=this.nextInt(this.nextInt(this.sampleUniformInt(null==e?void 0:e.count)))+1;return[...new Array(i)].map(e=>[this.nextInt(16)+t[0],this.nextInt(120)+4,this.nextInt(16)+t[2]])},glowstone:(e,t)=>{const i=this.nextInt(this.nextInt(this.sampleUniformInt(null==e?void 0:e.count))+1);return[...new Array(i)].map(e=>[this.nextInt(16)+t[0],this.nextInt(120)+4,this.nextInt(16)+t[2]])},heightmap:(e,t)=>{const i=Math.max(63,V[m(0,63,t[0])]);return this.decorateY(t,i)},heightmap_spread_double:(e,t)=>{const i=Math.max(63,V[m(0,63,t[0])]);return this.decorateY(t,this.nextInt(2*i))},heightmap_world_surface:(e,t)=>{const i=Math.max(63,V[m(0,63,t[0])]);return this.decorateY(t,i)},iceberg:(e,t)=>[[this.nextInt(8)+4+t[0],t[1],this.nextInt(8)+4+t[2]]],lava_lake:(e,t)=>{var i,o;if(0===this.nextInt((null!==(i=e.chance)&&void 0!==i?i:1)/10)){const i=this.nextInt(this.nextInt(248)+8);if(i<63||0==this.nextInt((null!==(o=null==e?void 0:e.chance)&&void 0!==o?o:1)/8)){return[[this.nextInt(16)+t[0],i,this.nextInt(16)+t[2]]]}}return[]},nope:(e,t)=>[t],range:(e,t)=>{var i,o,r;const n=this.nextInt((null!==(i=null==e?void 0:e.maximum)&&void 0!==i?i:1)-(null!==(o=null==e?void 0:e.top_offset)&&void 0!==o?o:0))+(null!==(r=null==e?void 0:e.bottom_offset)&&void 0!==r?r:0);return this.decorateY(t,n)},range_biased:(e,t)=>{var i,o,r;const n=this.nextInt(this.nextInt((null!==(i=null==e?void 0:e.maximum)&&void 0!==i?i:1)-(null!==(o=null==e?void 0:e.top_offset)&&void 0!==o?o:0))+(null!==(r=null==e?void 0:e.bottom_offset)&&void 0!==r?r:0));return this.decorateY(t,n)},range_very_biased:(e,t)=>{var i,o,r,n;const a=this.nextInt(this.nextInt(this.nextInt((null!==(i=null==e?void 0:e.maximum)&&void 0!==i?i:1)-(null!==(o=null==e?void 0:e.top_offset)&&void 0!==o?o:0))+(null!==(r=null==e?void 0:e.bottom_offset)&&void 0!==r?r:0))+(null!==(n=null==e?void 0:e.bottom_offset)&&void 0!==n?n:0));return this.decorateY(t,a)},spread_32_above:(e,t)=>{const i=this.nextInt(t[1]+32);return this.decorateY(t,i)},top_solid_heightmap:(e,t)=>{const i=V[m(0,63,t[0])];return this.decorateY(t,i)},magma:(e,t)=>{const i=this.nextInt(t[1]+32);return this.decorateY(t,i)},square:(e,t)=>[[t[0]+this.nextInt(16),t[1],t[2]+this.nextInt(16)]],water_lake:(e,t)=>{var i;return 0===this.nextInt(null!==(i=e.chance)&&void 0!==i?i:1)?[[this.nextInt(16)+t[0],this.nextInt(256),this.nextInt(16)+t[2]]]:[]}},this.seed=c(),this.perspective="top",this.size=[64,128,48],this.random=z()(this.seed),this.biomeInfoNoise=new $(c(),0,[1]),this.usedFeatures=[]}getName(){return"decorator"}active(e){var t;return"worldgen/feature"===(null===(t=ue.model.get())||void 0===t?void 0:t.id)&&e.equals(new o.Path(["config","decorator"]))&&"minecraft:decorated"===e.pop().pop().push("type").get()}menu(e,t){return`\n
\n ${M.package}\n
`}getSize(){return"top"===this.perspective?[this.size[0],this.size[2]]:[this.size[0],this.size[1]]}draw(e,t){const i=JSON.parse(JSON.stringify(e.data));this.random=z()(this.seed),this.usedFeatures=[];let o=[];for(let e=0;ee.pos.every((e,t)=>e>=0&&em(50,205,e)),o)}for(let e=0;ee.schema).forEach(e=>pe[e.id]=new o.DataModel(Object(o.ObjectNode)({})));const ue={version:new h("schema_version",b.versions[b.versions.length-1].id).watch(ae),theme:new h("theme","dark").watch(ne),language:new h("language","en").watch(se),model:new g(null),collections:new g(null),jsonOutput:new g(""),errorsVisible:new g(!1),treeMinimized:new g(!1),jsonError:new g(null),preview:new g(null).watch(e=>{var t;return ce(null!==(t=null==e?void 0:e.getName())&&void 0!==t?t:"none")}),schemasLoaded:new g(!1),localesLoaded:new g(!1),loaded:new g(!1),mobilePanel:new g("tree"),settings:new class{constructor(e){var t;this.local_storage=e;const i=JSON.parse(null!==(t=localStorage.getItem(e))&&void 0!==t?t:"{}");Array.isArray(i.fields)||(i.fields=[]),this.fields=i.fields,this.save()}save(){const e=JSON.stringify({fields:this.fields});localStorage.setItem(this.local_storage,e),this.fields=[...this.fields.filter(e=>null==e?void 0:e.path),{}]}}("generator_settings"),blockStateRegistry:{}};console.debug(`[App] LocalStorage=${"localStorage"in window} Caches=${"caches"in window}`),ue.version.watchRun(e=>le(void 0,void 0,void 0,(function*(){console.debug("[App.version.watchRun] "+e),ue.schemasLoaded.set(!1),yield function(e){return le(this,void 0,void 0,(function*(){console.debug("[updateSchemas] "+e),ue.blockStateRegistry={};const t=de[e].getCollections();console.debug("[updateSchemas] Done getting collections! "+Object.keys(t.registry).length),ue.collections.set(t),yield O(t,e),console.debug("[updateSchemas] Done fetching data!");const i=de[e].getSchemas(t);console.debug("[updateSchemas] Done getting schemas! "+Object.keys(i.registry).length),b.models.filter(e=>e.schema).filter(e=>fe(ue.version.get(),e.minVersion)).forEach(e=>{const t=pe[e.id],o=i.get(e.schema);o&&(t.schema=o,"{}"===JSON.stringify(t.data)&&(t.reset(o.default(),!0),t.history=[JSON.stringify(t.data)],t.historyIndex=0))}),console.debug("[updateSchemas] Done!")}))}(e),ue.schemasLoaded.set(!0),console.debug("[App.version.watchRun] Done! "+e)}))),ue.theme.watchRun(e=>{console.debug("[App.theme.watchRun] "+e),document.documentElement.setAttribute("data-theme",e)});let _e=!1;function fe(e,t,i){const o=b.versions.findIndex(t=>t.id===e),r=t?b.versions.findIndex(e=>e.id===t):0,n=i?b.versions.findIndex(e=>e.id===i):b.versions.length-1;return r<=o&&o<=n}ue.language.watchRun(e=>le(void 0,void 0,void 0,(function*(){console.debug("[App.language.watchRun] "+e),ue.localesLoaded.set(!1),yield function(e){return le(this,void 0,void 0,(function*(){if(R[e]&&(_e||"en"!==e))return;const t=yield(yield fetch(`/locales/${e}.json`)).json();"en"===e&&(_e=!0),R[e]=t}))}(e),ue.localesLoaded.set(!0),console.debug("[App.language.watchRun] Done! "+e)}))),ue.localesLoaded.watch(e=>{console.debug("[App.localesLoaded.watch] "+e),e&&document.querySelectorAll("[data-i18n]").forEach(e=>{e.textContent=E(e.attributes.getNamedItem("data-i18n").value)}),ue.loaded.set(e&&ue.schemasLoaded.get())}),ue.schemasLoaded.watch(e=>{console.debug("[App.schemasLoaded.watch] "+e),ue.loaded.set(e&&ue.localesLoaded.get())}),ue.mobilePanel.watchRun(e=>{console.debug("[App.mobilePanel.watchRun] "+e),document.body.setAttribute("data-panel",e)}),document.addEventListener("keyup",e=>{e.ctrlKey&&"z"===e.key?(K(!0),pe[ue.model.get().id].undo()):e.ctrlKey&&"y"===e.key&&(Z(!0),pe[ue.model.get().id].redo())});const ge=(e,t,i,o)=>{const r=()=>{var e;return M[(null!==(e=t.find(e=>e[0]===i.get()))&&void 0!==e?e:t[0])[1]]};return`
{const e=t.findIndex(e=>e[0]===i.get());i.set(t[(e+1)%t.length][0])}),i.watch(t=>e.innerHTML=r(),"toggle")})}">${r()}
`},he=(e,t,i="/")=>{const o=e.register(t=>{const i=()=>{const t=[["preview","play"],["tree","note"],["source","code"]];return t.map(e=>e[0]).includes(ue.mobilePanel.get())?t.filter(e=>e[0]!==ue.mobilePanel.get()).filter(e=>"preview"!==e[0]||null!==ue.preview.get()).map(t=>`
\n ${M[t[1]]}\n
`).join(""):""};ue.mobilePanel.watchRun(()=>{e.mount(t,i(),!1)}),ue.preview.watchRun((o,r)=>{null===o&&"preview"===ue.mobilePanel.get()&&ue.mobilePanel.set("tree"),null!==o&&null!==r||e.mount(t,i(),!1)})});return`
\n
\n ${M.three_bars}\n

${t}

\n
\n \n
`};const be=(e,t,i,o)=>`\n
  • \n \n ${t}\n ${i?M.chevron_right:""}\n \n
  • \n`,ve=e=>{const t=b.models.filter(e=>e.category===ue.model.get().id);return`\n ${he(e,"Data Pack Generators")}\n
    \n
      \n ${b.models.filter(e=>"string"!=typeof e.category).map(e=>be(e.id,e.name,!0===e.category,ue.model.get().id===e.id)).join("")}\n
    \n ${0===t.length?"":`\n
      \n ${t.map(e=>be(e.id,e.name)).join("")}\n
    \n `}\n
    \n `},ye=e=>`\n ${he(e,"Data Pack Generators")}\n
    \n

    404

    \n

    ${E("not_found.description")}

    \n
      \n ${be("/",E("home"),!0)}\n
    \n
    \n `,Ne=e=>{const t=e.register(t=>{const i=()=>{const o=ue.settings.fields;return o.map((r,n)=>{const a=e.register(a=>{var s;a.value=null!==(s=r.path)&&void 0!==s?s:"",a.addEventListener("change",()=>{o[n]=Object.assign(Object.assign({},r),{path:a.value}),ue.settings.save(),e.mount(t,i(),!1)})}),s=e.register(a=>{var s;a.value=null!==(s=r.name)&&void 0!==s?s:"",a.addEventListener("change",()=>{o[n]=Object.assign(Object.assign({},r),{name:a.value}),ue.settings.save(),e.mount(t,i(),!1)})});return`
  • \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n ${r.hidden?M.eye_closed:M.eye}\n ${M.trashcan}\n
    \n
  • `}).join("")};e.mount(t,i(),!1)});return`${he(e,"Field Settings")}\n
    \n

    ${E("settings.fields.description")}

    \n
      \n
      `};var we="undefined"!=typeof window?window:null,Oe=null===we,ke=Oe?void 0:we.document,xe=function(){return!1},je=Oe?"calc":["","-webkit-","-moz-","-o-"].filter((function(e){var t=ke.createElement("div");return t.style.cssText="width:"+e+"calc(9px)",!!t.style.length})).shift()+"calc",Se=function(e){return"string"==typeof e||e instanceof String},Me=function(e){if(Se(e)){var t=ke.querySelector(e);if(!t)throw new Error("Selector "+e+" did not match a DOM element");return t}return e},Ce=function(e,t,i){var o=e[t];return void 0!==o?o:i},ze=function(e,t,i,o){if(t){if("end"===o)return 0;if("center"===o)return e/2}else if(i){if("start"===o)return 0;if("center"===o)return e/2}return e},Le=function(e,t){var i=ke.createElement("div");return i.className="gutter gutter-"+t,i},$e=function(e,t,i){var o={};return Se(t)?o[e]=t:o[e]=je+"("+t+"% - "+i+"px)",o},Pe=function(e,t){var i;return(i={})[e]=t+"px",i},Be=function(e,t){if(void 0===t&&(t={}),Oe)return{};var i,o,r,n,a,s,c=e;Array.from&&(c=Array.from(c));var l=Me(c[0]).parentNode,d=getComputedStyle?getComputedStyle(l):null,m=d?d.flexDirection:null,p=Ce(t,"sizes")||c.map((function(){return 100/c.length})),u=Ce(t,"minSize",100),_=Array.isArray(u)?u:c.map((function(){return u})),f=Ce(t,"expandToMin",!1),g=Ce(t,"gutterSize",10),h=Ce(t,"gutterAlign","center"),b=Ce(t,"snapOffset",30),v=Ce(t,"dragInterval",1),y=Ce(t,"direction","horizontal"),N=Ce(t,"cursor","horizontal"===y?"col-resize":"row-resize"),w=Ce(t,"gutter",Le),O=Ce(t,"elementStyle",$e),k=Ce(t,"gutterStyle",Pe);function x(e,t,o,r){var n=O(i,t,o,r);Object.keys(n).forEach((function(t){e.style[t]=n[t]}))}function j(){return s.map((function(e){return e.size}))}function S(e){return"touches"in e?e.touches[0][o]:e[o]}function M(e){var t=s[this.a],i=s[this.b],o=t.size+i.size;t.size=e/this.size*o,i.size=o-e/this.size*o,x(t.element,t.size,this._b,t.i),x(i.element,i.size,this._c,i.i)}function C(e){var i,o=s[this.a],r=s[this.b];this.dragging&&(i=S(e)-this.start+(this._b-this.dragOffset),v>1&&(i=Math.round(i/v)*v),i<=o.minSize+b+this._b?i=o.minSize+this._b:i>=this.size-(r.minSize+b+this._c)&&(i=this.size-(r.minSize+this._c)),M.call(this,i),Ce(t,"onDrag",xe)(j()))}function z(){var e=s[this.a].element,t=s[this.b].element,o=e.getBoundingClientRect(),a=t.getBoundingClientRect();this.size=o[i]+a[i]+this._b+this._c,this.start=o[r],this.end=o[n]}function L(e){var t=function(e){if(!getComputedStyle)return null;var t=getComputedStyle(e);if(!t)return null;var i=e[a];return 0===i?null:i-="horizontal"===y?parseFloat(t.paddingLeft)+parseFloat(t.paddingRight):parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}(l);if(null===t)return e;if(_.reduce((function(e,t){return e+t}),0)>t)return e;var i=0,o=[],r=e.map((function(r,n){var a=t*r/100,s=ze(g,0===n,n===e.length-1,h),c=_[n]+s;return a0&&o[r]-i>0){var a=Math.min(i,o[r]-i);i-=a,n=e-a}return n/t*100}))}function $(){var e=s[this.a].element,i=s[this.b].element;this.dragging&&Ce(t,"onDragEnd",xe)(j()),this.dragging=!1,we.removeEventListener("mouseup",this.stop),we.removeEventListener("touchend",this.stop),we.removeEventListener("touchcancel",this.stop),we.removeEventListener("mousemove",this.move),we.removeEventListener("touchmove",this.move),this.stop=null,this.move=null,e.removeEventListener("selectstart",xe),e.removeEventListener("dragstart",xe),i.removeEventListener("selectstart",xe),i.removeEventListener("dragstart",xe),e.style.userSelect="",e.style.webkitUserSelect="",e.style.MozUserSelect="",e.style.pointerEvents="",i.style.userSelect="",i.style.webkitUserSelect="",i.style.MozUserSelect="",i.style.pointerEvents="",this.gutter.style.cursor="",this.parent.style.cursor="",ke.body.style.cursor=""}function P(e){if(!("button"in e)||0===e.button){var i=s[this.a].element,o=s[this.b].element;this.dragging||Ce(t,"onDragStart",xe)(j()),e.preventDefault(),this.dragging=!0,this.move=C.bind(this),this.stop=$.bind(this),we.addEventListener("mouseup",this.stop),we.addEventListener("touchend",this.stop),we.addEventListener("touchcancel",this.stop),we.addEventListener("mousemove",this.move),we.addEventListener("touchmove",this.move),i.addEventListener("selectstart",xe),i.addEventListener("dragstart",xe),o.addEventListener("selectstart",xe),o.addEventListener("dragstart",xe),i.style.userSelect="none",i.style.webkitUserSelect="none",i.style.MozUserSelect="none",i.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",this.gutter.style.cursor=N,this.parent.style.cursor=N,ke.body.style.cursor=N,z.call(this),this.dragOffset=S(e)-this.end}}"horizontal"===y?(i="width",o="clientX",r="left",n="right",a="clientWidth"):"vertical"===y&&(i="height",o="clientY",r="top",n="bottom",a="clientHeight"),p=L(p);var B=[];function A(e){var t=e.i===B.length,i=t?B[e.i-1]:B[e.i];z.call(i);var o=t?i.size-e.minSize-i._c:e.minSize+i._b;M.call(i,o)}return(s=c.map((function(e,t){var o,r={element:Me(e),size:p[t],minSize:_[t],i:t};if(t>0&&((o={a:t-1,b:t,dragging:!1,direction:y,parent:l})._b=ze(g,t-1==0,!1,h),o._c=ze(g,!1,t===c.length-1,h),"row-reverse"===m||"column-reverse"===m)){var n=o.a;o.a=o.b,o.b=n}if(t>0){var a=w(t,y,r.element);!function(e,t,o){var r=k(i,t,o);Object.keys(r).forEach((function(t){e.style[t]=r[t]}))}(a,g,t),o._a=P.bind(o),a.addEventListener("mousedown",o._a),a.addEventListener("touchstart",o._a),l.insertBefore(a,r.element),o.gutter=a}return x(r.element,r.size,ze(g,0===t,t===c.length-1,h),t),t>0&&B.push(o),r}))).forEach((function(e){var t=e.element.getBoundingClientRect()[i];t0){var o=B[i-1],r=s[o.a],n=s[o.b];r.size=t[i-1],n.size=e,x(r.element,r.size,o._b,r.i),x(n.element,n.size,o._c,n.i)}}))},getSizes:j,collapse:function(e){A(s[e])},destroy:function(e,t){B.forEach((function(o){if(!0!==t?o.parent.removeChild(o.gutter):(o.gutter.removeEventListener("mousedown",o._a),o.gutter.removeEventListener("touchstart",o._a)),!0!==e){var r=O(i,o.a.size,o._b);Object.keys(r).forEach((function(e){s[o.a].element.style[e]="",s[o.b].element.style[e]=""}))}}))},parent:l,pairs:B}};const Ae=(e,t,i)=>{var o;return`\n
      {Be([].slice.call(e.children),Object.assign({snapOffset:0},t))})}>\n ${i.join("")}\n
      \n`},Re={base(){},choice({switchNode:e},t,i){return e.hook(this,t,i)},object:({},e,t)=>me.biome_noise.active(e)?Ie(me.biome_noise,e,t):me.noise_settings.active(e)?Ie(me.noise_settings,e,t):me.decorator.active(e)?Ie(me.decorator,e,t):void 0,string({},e,t){if(e.endsWith(new o.Path(["biome"]))&&e.pop().pop().endsWith(new o.Path(["generator","biome_source","biomes"]))){const i=me.biome_noise,o=e.get(),r=t.onChange(e=>{i.setBiomeColor(o,e.value)});return``}}};function Ie(e,t,i){return``}const Ee={base:()=>null,object({filter:e,getActiveFields:t},i,r,n=0){if(n>2)return null;if(e){const t=Object(o.relativePath)(i,e);if(t&&t.pop().equals(r))return t.last()}const a=t(i);for(const e of Object.keys(a)){const t=a[e].hook(this,i.push(e),r,n+=1);if(t)return t}return null}},De=new o.DataModel(Object(o.MapNode)(Object(o.StringNode)(),Object(o.StringNode)()),{historyMax:0}),qe={base:()=>["","",""],boolean({node:e},t,i,o){const r=o.onClick(o=>{t.model.set(t,!(!e.optional()||!1!==i)&&void 0)}),n=o.onClick(o=>{t.model.set(t,!e.optional()||!0!==i||void 0)});return["",`${l(E("false"))}\n ${l(E("true"))}`,""]},choice({choices:e,config:t,switchNode:i},r,n,a){const s=i.activeCase(r,!0),c=(null==t?void 0:t.context)?new o.ModelPath(r.getModel(),new o.Path(r.getArray(),[t.context])):r,d=(null==t?void 0:t.choiceContext)?new o.Path([],[t.choiceContext]):(null==t?void 0:t.context)?new o.Path([],[t.context]):r,[m,p,u]=s.node.hook(this,c,n,a);if(1===e.length)return[m,p,u];return[m,``+p,u]},list({children:e},t,i,o){const r=o.onClick(o=>{Array.isArray(i)||(i=[]),t.model.set(t,[e.default(),...i])}),n=o.onClick(o=>{Array.isArray(i)||(i=[]),t.model.set(t,[...i,e.default()])}),a=``;let s="";return Array.isArray(i)&&(s=i.map((i,r)=>{const n=o.onClick(e=>t.model.set(t.push(r),void 0)),a=t.push(r).contextPush("entry"),s=e.category(a),[c,d,m]=e.hook(this,a,i,o);return`
      \n
      \n ${Ue(a,o)}\n ${We(a,o)}\n \n ${c}\n \n ${d}\n
      \n ${m?`
      ${m}
      `:""}\n
      `}).join(""),i.length>2&&(s+=`
      \n
      \n \n
      \n
      `)),["",a,s]},map({keys:e,children:t,config:i},r,n,a){var s,c,d;const m=new o.ModelPath(De,new o.Path([Ve(r.toString())])),p=a.onClick(e=>{const i=m.get();r.model.set(r.push(i),t.default())});let u="";const _="block_state_map"===(null===(s=i.validation)||void 0===s?void 0:s.validator)?ue.blockStateRegistry[Object(o.relativePath)(r,i.validation.params.id).get()]:null;if(!_||_.properties){u=(_?Object(o.StringNode)(null,{enum:Object.keys(null!==(c=_.properties)&&void 0!==c?c:{})}):e).hook(this,m,null!==(d=m.get())&&void 0!==d?d:"",a)[1]+``}let f="";return"object"==typeof n&&void 0!==n&&(f=Object.keys(n).map(e=>{const i=a.onClick(t=>r.model.set(r.push(e),void 0)),s=r.modelPush(e),c=t.category(s),[d,m,p]=(_?Object(o.StringNode)(null,_.properties&&{enum:_.properties[e]}):t).hook(this,s,n[e],a);return`
      \n
      \n ${Ue(s,a)}\n ${We(s,a)}\n \n ${d}\n \n ${m}\n
      \n ${p?`
      ${p}
      `:""}\n
      `}).join("")),["",u,f]},number({integer:e,config:t},i,o,r){var n;const a=r.onChange(o=>{const r=o.value;let n=(null==t?void 0:t.color)?parseInt(r.slice(1),16):e?parseInt(r):parseFloat(r);i.model.set(i,n)});if(null==t?void 0:t.color){return["",``,""]}return["",``,""]},object({node:e,getActiveFields:t,getChildModelPath:i},o,r,n){let a="";e.optional()&&(a=void 0===r?``:``);let s="",c="";if("object"==typeof r&&void 0!==r&&(!e.optional()||void 0!==r)){const d=t(o),m=Object.keys(d),p=0===o.modelArr.length?null:e.hook(Ee,o,o);!p||d[p].hidden&&d[p].hidden()||(a+=Ue(o.push(p),n),a+=We(o.push(p),n),s+=d[p].hook(this,o.push(p),r[p],n)[1]);c=(ue.treeMinimized.get()?m.filter(e=>void 0!==r[e]):m).filter(e=>p!==e).filter(e=>d[e].enabled(o)).map(e=>{var t;const a=d[e],s=i(o,e),c=s.getContext().join("."),m=ue.settings.fields.find(e=>(null==e?void 0:e.path)&&c.endsWith(e.path));if(a.hidden&&a.hidden()||(null==m?void 0:m.hidden))return"";const p=a.category(s),[u,_,f]=a.hook(this,s,r[e],n);return"Properties"===e&&""===_?"":`
      \n
      \n ${Ue(s,n)}\n ${We(s,n)}\n ${u}\n \n ${_}\n
      \n ${f?`
      ${f}
      `:""}\n
      `}).join("")}return s+=e.hook(Re,o,n)||"",["",a+s,c]},string(e,t,i,o){const r=o.register(e=>{e.value=null!=i?i:"",e.addEventListener("change",i=>{const o=e.value;t.model.set(t,0===o.length?void 0:o),i.stopPropagation()})}),n=e.node.hook(Re,t,o)||"";return["",Te(e,t,r)+n,""]}};function Te({node:e,getValues:t,config:i},r,n){const a=t();if((null===(s=i)||void 0===s?void 0:s.enum)&&!i.additional){return Fe(e,"string"==typeof i.enum?new o.Path(r.getArray(),[i.enum]):r,a,n)}var s;if(i&&function(e){var t;return!!(null===(t=e)||void 0===t?void 0:t.validator)}(i)&&"resource"===i.validator&&"string"==typeof i.params.pool&&a.length>0){const t=new o.Path(r.getArray(),[i.params.pool]);if(D(t.contextPush(a[0]).getContext()))return Fe(e,t,a,n)}const d=c();return`\n ${0===a.length?"":`\n ${a.map(e=>``}`}function Fe(e,t,i,o){return``}function Ve(e){var t,i=0;for(t=0;t`
      {e.getElementsByTagName("span")[0].classList.remove("show")},{capture:!0,once:!0})})}">\n ${i}${M[t]}\n
      `,Ye=(e,t)=>`data-id="${t.register(t=>{const i=()=>{var i;const o=document.createElement("div");o.classList.add("node-menu");const r=D(e.contextPush("help").getContext(),[],6);r&&o.insertAdjacentHTML("beforeend",`${r}`);const n=e.getContext().join(".");o.insertAdjacentHTML("beforeend",`\n `),null===(i=o.querySelector(".menu-item .btn"))||void 0===i||i.addEventListener("click",()=>{const e=document.createElement("input");e.value=n,t.appendChild(e),e.select(),document.execCommand("copy"),t.removeChild(e)}),t.appendChild(o),document.body.addEventListener("click",()=>{try{t.removeChild(o)}catch(e){}},{capture:!0,once:!0}),document.body.addEventListener("contextmenu",()=>{try{t.removeChild(o)}catch(e){}},{capture:!0,once:!0})};t.addEventListener("contextmenu",e=>{i(),e.preventDefault()});let o=null;t.addEventListener("touchstart",()=>{o=setTimeout(()=>{i(),o=null},800)}),t.addEventListener("touchend",()=>{o&&(clearTimeout(o),o=null)})})}"`;var Ge=function(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{c(o.next(e))}catch(e){n(e)}}function s(e){try{c(o.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const Xe=(e,t)=>{const i=()=>{if(ue.loaded.get()){const i=new o.ModelPath(t),r=t.schema.hook(qe,i,t.data,e),n=t.schema.category(i);return r[1]?`
      \n
      ${r[1]}
      \n
      ${r[2]}
      \n
      `:r[2]}return'
      '},r=e.register(o=>{ue.loaded.watchRun(t=>{t?e.mount(o,i(),!1):new Promise(e=>setTimeout(e,100)).then(()=>{ue.loaded.get()||e.mount(o,i(),!1)})}),ue.treeMinimized.watch(()=>{e.mount(o,i(),!1)}),t.addListener({invalidated(){e.mount(o,i(),!1)}}),me.biome_noise.biomeColors.watch(()=>{e.mount(o,i(),!1)},"tree-panel")}),n=ue.model.get(),a=((null==n?void 0:n.category)?(null==n?void 0:n.category)+"/":"")+(null==n?void 0:n.schema);let s;const c=e.register(e=>s=e),l=i=>{var o,r;const s=(null!=i?i:"").trim().split(" ");return(null!==(r=null===(o=ue.collections.get())||void 0===o?void 0:o.get(a))&&void 0!==r?r:[]).map(e=>e.slice(10)).filter(e=>s.every(t=>e.includes(t))).map(i=>`
      ${i}
      `).join("")};return`
      \n
      \n
      \n
      \n ${M.archive}\n
      \n
      \n
      \n ${M.search}{e.mount(s,l(t.value),!1)})}">\n
      \n
      \n
      \n
      \n
      \n
      \n ${M.tag}\n \n ${ue.version.get()}\n \n
      \n
      \n ${b.versions.filter(e=>{var t;return fe(e.id,null!==(t=ue.model.get().minVersion)&&void 0!==t?t:"1.15")}).reverse().map(t=>`\n
      \n ${t.id}\n
      \n `).join("")}\n
      \n
      \n
      \n
      \n ${M.kebab_horizontal}\n
      \n
      \n
      \n ${M.history}\n
      \n
      {const e=!ue.treeMinimized.get();ue.treeMinimized.set(e),oe(e)}),ue.treeMinimized.watchRun(i=>{e.mount(t,`${M[i?"unfold":"fold"]}`,!1)})})}">
      \n
      \n ${M.arrow_left}\n
      \n
      \n ${M.arrow_right}\n
      \n
      \n
      \n
      \n
      \n
      `},Ke={base:({},e,t)=>t,choice({switchNode:e},t,i){return e.hook(this,t,i)},list({children:e},t,i){return Array.isArray(i)?i.map((i,o)=>e.hook(this,t.push(o),i)):i},map({children:e},t,i){if(void 0===i)return;let o={};return Object.keys(i).forEach(r=>o[r]=e.hook(this,t.push(r),i[r])),o},object({getActiveFields:e},t,i){if(null==i||"object"!=typeof i)return i;let o={};const r=e(t);return Object.keys(r).filter(e=>r[e].enabled(t)).forEach(e=>{o[e]=r[e].hook(this,t.push(e),i[e])}),o}},Ze=(e,t)=>{const i=e=>{const i=t.schema.hook(Ke,new o.ModelPath(t),t.data);ue.jsonOutput.set(JSON.stringify(i,null,2)),e.value=ue.jsonOutput.get()},r=e.register(e=>{i(e),t.addListener({invalidated(){ue.jsonError.set(null),i(e)}}),e.addEventListener("change",()=>{const i=e.value;try{t.reset(JSON.parse(i)),ue.jsonError.set(null)}catch(e){ue.jsonError.set(e.message)}})});return`
      \n
      \n \n
      \n ${M.clippy}\n \n
      \n
      \n
      \n ${M.kebab_horizontal}\n
      \n
      \n
      \n ${M.download}\n \n
      \n
      {i.style.display="none"},{capture:!0,once:!0}),i.select(),document.execCommand("copy"),te()})}">\n ${M.link}\n
      \n
      \n
      \n
      \n \n
      `},Qe=(e,t)=>`
      {const e=ue.preview.get();if(e&&e.path&&e.path.withModel(t).get()){const i=o.getContext("2d"),r=e.path.withModel(t).get();e.state=JSON.parse(JSON.stringify(r));const[n,a]=e.getSize();o.width=n,o.height=a;const s=i.createImageData(n,a);e.draw(t,s),i.putImageData(s,0,0)}else ue.preview.set(null)};let n;t.addListener({invalidated:r}),ue.preview.watchRun(t=>{var o,n;t&&(t.redraw=r,r(),e.mount(i.querySelector(".panel-controls"),`\n ${null!==(n=null===(o=ue.preview.get())||void 0===o?void 0:o.menu(e,r))&&void 0!==n?n:""}\n
      \n ${M.x}\n
      `,!1))},"preview-panel"),i.addEventListener("mousedown",e=>{n=[e.offsetX,e.offsetY]}),i.addEventListener("mousemove",e=>{var t,i;if(void 0!==n){if(null===(t=ue.preview.get())||void 0===t?void 0:t.onDrag){const[t,a]=ue.preview.get().getSize(),s=(e.offsetX-n[0])*t/o.clientWidth,c=(e.offsetY-n[1])*a/o.clientHeight;0===s&&0===c||(null===(i=ue.preview.get())||void 0===i||i.onDrag(s,c),r())}n=[e.offsetX,e.offsetY]}}),i.addEventListener("mouseup",e=>{n=void 0})})}">\n
      \n \n
      `,et=(tt={base(){},map({config:e},t,i){var r,n,a;if("block_state_map"===(null===(r=e.validation)||void 0===r?void 0:r.validator)){const r=Object(o.relativePath)(t,e.validation.params.id).get(),s=t.getModel().errors,c=null!==(a=(null!==(n=ue.blockStateRegistry[r])&&void 0!==n?n:{}).properties)&&void 0!==a?a:{},l=Object.keys(null!=i?i:{});Object.keys(c).forEach(e=>{l.includes(e)?c[e].includes(i[e])||s.add(t.push(e),"error.invalid_enum_option",i[e]):"Properties"===t.last()&&s.add(t,"error.block_state.missing_property",e)})}}},Object.assign(Object.assign({},tt),{choice(e,t,i,...o){var r;(null!==(r=tt.choice)&&void 0!==r?r:tt.base)(e,t,i,...o),e.switchNode.hook(this,t,i,...o)},list(e,t,i,...o){var r;(null!==(r=tt.list)&&void 0!==r?r:tt.base)(e,t,i,...o),Array.isArray(i)&&i.forEach((i,r)=>e.children.hook(this,t.push(r),i,...o))},map(e,t,i,...o){var r;(null!==(r=tt.map)&&void 0!==r?r:tt.base)(e,t,i,...o),"object"==typeof i&&Object.keys(i).forEach(r=>e.children.hook(this,t.push(r),i[r],...o))},object(e,t,i,...o){var r;if((null!==(r=tt.object)&&void 0!==r?r:tt.base)(e,t,i,...o),null===i||"object"!=typeof i)return;const n=e.getActiveFields(t);Object.keys(n).filter(e=>n[e].enabled(t)).forEach(e=>{n[e].hook(this,t.push(e),i[e],...o)})}}));var tt;const it=e=>{const t=pe[ue.model.get().id];t.listeners=[];const i=()=>ue.preview.get()?Ae(e,{direction:"vertical",sizes:[60,40]},[Ze(e,t),Qe(e,t)]):Ze(e,t),r=()=>{var e;const i=ue.preview.get(),o=null===(e=null==i?void 0:i.path)||void 0===e?void 0:e.withModel(t);o&&o.get()&&(null==i?void 0:i.active(o))||ue.preview.set(null)};t.addListener({invalidated:()=>{r(),t.schema.hook(et,new o.ModelPath(t,new o.Path),t.data,t.errors)}}),ue.schemasLoaded.watch(e=>{e&&(t.validate(),t.invalidate(),r())},"generator"),ue.localesLoaded.watch(e=>{e&&ue.schemasLoaded.get()&&t.invalidate()},"generator"),ue.version.watchRun(e=>{const t=ue.model.get().minVersion;t&&!fe(e,t)&&ue.version.set(t)},"generator");const n=e.register(t=>{ue.preview.watch((o,r)=>{o&&r||e.mount(t,i(),!1)},"generator")}),a="string"==typeof ue.model.get().category?`/${ue.model.get().category}/`:void 0;return`${he(e,ue.model.get().name+" Generator",a)}\n
      \n ${Ae(e,{direction:"horizontal",sizes:[66,34]},[Xe(e,t),`
      ${i()}
      `])}\n
      \n ${((e,t)=>{const i=()=>ue.jsonError.get()?`
      \n
      \n ${l(ue.jsonError.get())}\n
      \n
      \n
      \n ${M.issue_opened}\n
      `:0===t.errors.count()?"":`${ue.errorsVisible.get()?`\n
      \n ${t.errors.getAll().map(e=>`\n
      \n ${e.path.toString()}\n -\n ${l(E(e.error,e.params))}\n
      \n `).join("")}\n
      \n `:""}\n ${ge(e,[[!0,"chevron_down"],[!1,"issue_opened"]],ue.errorsVisible)}`;return`\n
      \n ${i()}\n
      `})(e,t)}`};var ot=function(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{c(o.next(e))}catch(e){n(e)}}function s(e){try{c(o.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const rt=b.models.filter(e=>!0===e.category),nt=()=>ot(void 0,void 0,void 0,(function*(){var e,t;localStorage.length;const i=location.pathname.split("/").filter(e=>e),o=new URLSearchParams(location.search);console.debug("[router] "+i.join("/"));const r=document.getElementById("app");let n=E("title.home"),a=e=>"",s="home";if(0===i.length)ue.model.set({id:"",name:"Data Pack",category:!0,minVersion:"1.15"}),a=ve;else if("settings"===i[0]&&"fields"===i[1])s="settings",a=Ne;else if(1===i.length&&rt.map(e=>e.id).includes(i[0]))ue.model.set(rt.find(e=>e.id===i[0])),a=ve;else{s="tree";const r=null!==(e=b.models.find(e=>e.id===i.join("/")))&&void 0!==e?e:null;if(ue.model.set(r),r){if(o.has("q"))try{const e=atob(null!==(t=o.get("q"))&&void 0!==t?t:"");pe[r.id].reset(JSON.parse(e))}catch(e){}a=it,n=E("title.generator",[E(r.id)])}else a=ye}console.debug("[router] Renderer="+a.name);const c=b.versions.filter(e=>{var t;return fe(e.id,null===(t=ue.model.get())||void 0===t?void 0:t.minVersion)}).map(e=>e.id).join(", ");document.title=`${n} Minecraft ${c}`,console.debug(`[router] Title=${n} Versions=${c}`),ue.mobilePanel.set(s);const l=new q;l.mount(r,a(l),!0),console.debug("[router] Done!")}));window.addEventListener("popstate",nt),document.addEventListener("DOMContentLoaded",()=>{console.debug(`[DOMContentLoaded] LocalStorage=${"localStorage"in window} Caches=${"caches"in window}`),document.body.addEventListener("click",e=>{if(e.target instanceof Element&&e.target.hasAttribute("data-link")&&e.target.hasAttribute("href")){e.preventDefault();const t=e.target.getAttribute("href");console.debug("[data-link] "+t),J(t),history.pushState(null,"",t),nt()}}),nt()})}]); -//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/js/bundle.js.map b/js/bundle.js.map deleted file mode 100644 index a797ae42..00000000 --- a/js/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@mcschema/core/lib/index.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Common.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Common.js","webpack:///./node_modules/@mcschema/core/lib/nodes/Node.js","webpack:///(webpack)/buildin/module.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/Common.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/ProcessorList.js","webpack:///./node_modules/seedrandom/index.js","webpack:///./node_modules/@mcschema/core/lib/model/Path.js","webpack:///./node_modules/@mcschema/core/lib/model/Errors.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/ProcessorList.js","webpack:///./node_modules/@mcschema/core/lib/nodes/ListNode.js","webpack:///./node_modules/@mcschema/core/lib/nodes/SwitchNode.js","webpack:///./node_modules/@mcschema/core/lib/utils.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/Predicates.js","webpack:///./node_modules/@mcschema/java-1.15/lib/LootContext.js","webpack:///./node_modules/@mcschema/java-1.16/lib/LootContext.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Decorator.js","webpack:///./node_modules/@mcschema/java-1.17/lib/LootContext.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Decorator.js","webpack:///./node_modules/@mcschema/java-1.15/lib/index.js","webpack:///./node_modules/@mcschema/java-1.16/lib/index.js","webpack:///./node_modules/@mcschema/java-1.17/lib/index.js","webpack:///./node_modules/@mcschema/core/lib/model/DataModel.js","webpack:///./node_modules/@mcschema/core/lib/nodes/BooleanNode.js","webpack:///./node_modules/@mcschema/core/lib/nodes/ChoiceNode.js","webpack:///./node_modules/@mcschema/core/lib/nodes/MapNode.js","webpack:///./node_modules/@mcschema/core/lib/nodes/NumberNode.js","webpack:///./node_modules/@mcschema/core/lib/nodes/ObjectNode.js","webpack:///./node_modules/@mcschema/core/lib/nodes/Reference.js","webpack:///./node_modules/@mcschema/core/lib/nodes/StringNode.js","webpack:///./node_modules/@mcschema/core/lib/Hook.js","webpack:///./node_modules/@mcschema/core/lib/Registries.js","webpack:///./node_modules/@mcschema/core/lib/ValidationOption.js","webpack:///./node_modules/@mcschema/java-1.15/lib/Collections.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/index.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/Advancement.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/Condition.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/LootTable.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/PackMcmeta.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/Recipe.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/Tags.js","webpack:///./node_modules/@mcschema/java-1.15/lib/schemas/TextComponent.js","webpack:///./node_modules/@mcschema/java-1.16/lib/Collections.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/index.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Advancement.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Condition.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Dimension.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/DimensionType.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/LootTable.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/PackMcmeta.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Predicates.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Recipe.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/Tags.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/TextComponent.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/index.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Biome.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Carver.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Feature.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/NoiseSettings.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/StructureFeature.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/SurfaceBuilder.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/worldgen/TemplatePool.js","webpack:///./node_modules/@mcschema/java-1.16/lib/schemas/WorldSettings.js","webpack:///./node_modules/@mcschema/java-1.17/lib/Collections.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/index.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Advancement.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Condition.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Dimension.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/DimensionType.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/ItemModifier.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/LootTable.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/PackMcmeta.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Predicates.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Recipe.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/Tags.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/TextComponent.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/index.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Biome.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Carver.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Feature.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/NoiseSettings.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/StructureFeature.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/SurfaceBuilder.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/worldgen/TemplatePool.js","webpack:///./node_modules/@mcschema/java-1.17/lib/schemas/WorldSettings.js","webpack:///./node_modules/seedrandom/lib/alea.js","webpack:///./node_modules/seedrandom/lib/xor128.js","webpack:///./node_modules/seedrandom/lib/xorwow.js","webpack:///./node_modules/seedrandom/lib/xorshift7.js","webpack:///./node_modules/seedrandom/lib/xor4096.js","webpack:///./node_modules/seedrandom/lib/tychei.js","webpack:///./node_modules/seedrandom/seedrandom.js","webpack:///./src/app/Utils.ts","webpack:///./src/app/state/Property.ts","webpack:///./src/app/state/LocalStorageProperty.ts","webpack:///./src/app/DataFetcher.ts","webpack:///./src/app/components/Octicon.ts","webpack:///./src/app/preview/noise/ImprovedNoise.ts","webpack:///./src/app/preview/noise/PerlinNoise.ts","webpack:///./src/app/preview/noise/NormalNoise.ts","webpack:///./src/app/preview/Preview.ts","webpack:///./src/app/preview/BiomeNoisePreview.ts","webpack:///./src/app/Locales.ts","webpack:///./src/app/views/View.ts","webpack:///./src/app/preview/noise/NoiseChunkGenerator.ts","webpack:///./src/app/preview/DecoratorPreview.ts","webpack:///./src/app/Tracker.ts","webpack:///./src/app/App.ts","webpack:///./src/app/preview/NoiseSettingsPreview.ts","webpack:///./src/app/Settings.ts","webpack:///./src/app/components/Dropdown.ts","webpack:///./src/app/components/Toggle.ts","webpack:///./src/app/components/Header.ts","webpack:///./src/app/views/Home.ts","webpack:///./src/app/views/NotFound.ts","webpack:///./src/app/views/FieldSettings.ts","webpack:///./node_modules/split.js/dist/split.es.js","webpack:///./src/app/components/SplitGroup.ts","webpack:///./src/app/hooks/suffixInjector.ts","webpack:///./src/app/hooks/getFilterKey.ts","webpack:///./src/app/hooks/renderHtml.ts","webpack:///./src/app/components/panels/TreePanel.ts","webpack:///./src/app/hooks/transformOutput.ts","webpack:///./src/app/components/panels/SourcePanel.ts","webpack:///./src/app/components/panels/PreviewPanel.ts","webpack:///./src/app/hooks/customValidation.ts","webpack:///./src/app/hooks/walk.ts","webpack:///./src/app/views/Generator.ts","webpack:///./src/app/components/Errors.ts","webpack:///./src/app/Router.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__createBinding","this","k","k2","undefined","__exportStar","Error","initCommonSchemas","UniformInt","Range","NoiseSettingsPresets","DefaultNoiseSettings","DimensionTypePresets","DefaultDimensionType","ConditionCases","core_1","ultrawarm","natural","piglin_safe","respawn_anchor_works","bed_works","has_raids","has_skylight","has_ceiling","coordinate_scale","ambient_light","logical_height","infiniburn","bedrock_roof_position","bedrock_floor_position","sea_level","disable_mob_generation","noise","density_factor","density_offset","simplex_surface_noise","random_density_offset","size_horizontal","size_vertical","height","sampling","xz_scale","y_scale","xz_factor","y_factor","top_slide","target","size","offset","bottom_slide","default_block","Name","default_fluid","Properties","level","schemas","collections","StringNode","Reference","register","Mod","ObjectNode","validator","params","pool","Opt","MapNode","validation","id","push","context","default","ListNode","NumberNode","integer","minLength","maxLength","config","ChoiceNode","forceRange","type","node","change","v","_a","_b","_c","min","max","priority","bounds","allowBinomial","enum","match","choiceContext","base","spread","maxSpread","terms","block","properties","predicate","entity","scores","term","inverse","BooleanNode","offsetX","offsetY","offsetZ","chance","looting_multiplier","enchantment","chances","period","raining","thundering","ObjectOrPreset","shrunk","fixed_time","effects","island_noise_override","amplified","IntProvider","FloatProvider","FunctionCases","min_y","noise_caves_enabled","aquifers_enabled","deepslate_enabled","Bounds","ObjectWithType","directType","directPath","directDefault","objectDefault","cases","defaultCase","keys","forEach","enabled","path","provider","hidden","Switch","Case","disableSwitchContext","choices","replace","length","score","scale","amount","isScoreHolder","source","min_inclusive","max_exclusive","mean","deviation","plateau","max_inclusive","map","absolute","above_bottom","below_top","inner","entitySourceNode","range","conditions","copySourceNode","formula","parameters","bonusMultiplier","pop","extra","probability","ops","category","op","enchantments","levels","treasure","destination","decoration","zoom","search_radius","skip_existing_chunks","limit","count","modifiers","patterns","pattern","color","append","entries","add","damage","seed","lore","tag","registry","duration","res","f","Keep","Has","Base","keep","optional","pathPush","suggest","validate","_","validationOption","hook","args","canUpdate","update","mods","webpackPolyfill","deprecate","paths","children","__webpack_amd_options__","initProcessorListSchemas","Processors","processors","processor_type","rules","location_predicate","predicate_type","input_predicate","mossiness","blocks","integrity","heightmap","position_predicate","output_state","output_nbt","posTestFields","min_dist","max_dist","min_chance","max_chance","axis","block_state","alea","xor128","xorwow","xorshift7","xor4096","tychei","sr","ModelPath","Path","relativePath","start","reduce","e","modelArr","contextArr","end","slice","element","modelPush","contextPush","copy","newElement","startsWith","model","other","every","join","fn","thisArg","super","set","shift","Errors","errors","error","exact","filter","equals","iterator","Node_1","Infinity","between","Array","index","nextIndex","getArray","navigate","parseInt","toString","options","loose","isArray","obj","list","SwitchNode","activeCase","concat","fallback","sorter","a","b","matchedCases","sort","escapeString","str","quoteString","initPredicatesSchemas","LocationFields","Common_1","StateChoice","item","durability","potion","nbt","state","fluid","position","x","y","z","biome","feature","dimension","light","stat","gamemode","advancements","recipes","stats","amplifier","ambient","visible","horizontal","allowTag","team","location","distance","flags","is_on_fire","is_sneaking","is_sprinting","is_swimming","is_baby","equipment","player","is_explosion","is_fire","is_magic","is_projectile","is_lightning","bypasses_armor","bypasses_invulnerability","bypasses_magic","source_entity","direct_entity","dealt","taken","blocked","LootFunctions","LootConditions","LootCopySources","LootEntitySources","LootTableTypes","Map","requires","allows","initDecoratorSchemas","RangeConfig","maximum","bottom_offset","top_offset","ChanceConfig","CountConfig","step","extra_count","extra_chance","noise_level","below_noise","above_noise","noise_to_count_ratio","noise_factor","noise_offset","outer","baseline","surface","floor_to_ceiling_search_range","max_water_depth","__setModuleDefault","__importStar","mod","result","getSchemas","getCollections","lootContext","Collections_1","schemas_1","CollectionRegistry","initCollections","SchemaRegistry","initSchemas","DataModel","Path_1","Errors_1","schema","data","listeners","history","JSON","stringify","historyIndex","historyMax","listener","indexOf","splice","newHistory","silentInvalidate","invalidated","invalidate","silent","reset","isNaN","last","console","log","parse","withModel","clear","tempErrors","boolean","StringOrList","ObjectOrList","ListNode_1","SwitchNode_1","switchNode","choice","isValid","XOrList","presetNode","objectNode","presets","Number","isInteger","number","utils_1","fields","defaultFields","getActiveFields","switchValue","getChildModelPath","childKey","caseFields","caseKeys","pathWithContext","getModel","includes","pathElements","activeFields","existingKeys","filterPath","filterField","activeKeys","forcedKeys","Set","newValue","constructor","transform","isEnum","isValidator","getValues","isDefinition","allowUnknown","additional","values","string","warn","Advancement_1","Condition_1","LootTable_1","PackMcmeta_1","Predicates_1","Recipe_1","Tags_1","TextComponent_1","initAdvancementSchemas","initConditionSchemas","initLootTableSchemas","initPackMcmetaSchemas","initRecipeSchemas","initTagsSchemas","initTextComponentSchemas","display","icon","title","description","background","frame","show_toast","announce_to_chat","parent","criteria","requirements","rewards","function","loot","experience","requirement","trigger","num_bees_inside","partner","child","from","to","victims","villager","zombie","killing_blow","slots","empty","occupied","full","items","delta","unique_entity_types","entered","exited","recipe","condition","LootContext_1","functionsAndConditions","functions","compileSwitchNode","contextMap","collectionID","getNode","getAvailableOptions","providedContext","tableType","conditionSwtichNode","functionSwtichNode","entitySourceSwtichNode","copySourceSwtichNode","pools","rolls","bonus_rolls","weightMod","weight","quality","expand","attribute","operation","slot","pack","pack_format","group","ingredients","ingredient","cookingtime","addition","TagBase","required","getSimpleString","text","parseFloat","isFinite","CommonFields","bold","italic","underlined","strikethrough","obfuscated","insertion","clickEvent","action","leadingSlash","allowPartial","hoverEvent","translate","with","objective","selector","keybind","storage","interpret","Dimension_1","DimensionType_1","worldgen_1","WorldSettings_1","initDimensionTypeSchemas","initDimensionSchemas","initWorldgenSchemas","initWorldSettingsSchemas","EntityPredicate","loot_table","projectile","shooter","signal_strength","NoPreset","generator","settings","biome_source","preset","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","biomes","large_biomes","legacy_biome_init_layer","lakes","features","layers","structures","Math","floor","random","altitude","temperature","humidity","weirdness","firstOctave","amplitudes","smokey","vehicle","targeted_entity","fishing_hook","in_open_water","font","contents","Biome_1","Carver_1","Decorator_1","Feature_1","NoiseSettings_1","ProcessorList_1","StructureFeature_1","SurfaceBuilder_1","TemplatePool_1","initBiomeSchemas","initCarverSchemas","initFeatureSchemas","initNoiseSettingsSchemas","initStructureFeatureSchemas","initSurfaceBuilderSchemas","initTemplatePoolSchemas","surface_builder","depth","downfall","precipitation","temperature_modifier","player_spawn_friendly","creature_spawn_probability","sky_color","fog_color","water_color","water_fog_color","grass_color","foliage_color","grass_color_modifier","ambient_sound","mood_sound","sound","tick_delay","block_search_extent","additions_sound","tick_chance","music","min_delay","max_delay","replace_current_music","particle","starts","spawners","minCount","maxCount","spawn_costs","energy_budget","charge","carvers","RandomPatchConfig","can_replace","project","need_water","xspread","yspread","zspread","tries","state_provider","block_placer","whitelist","blacklist","DiskConfig","radius","half_height","targets","HugeMushroomConfig","cap_provider","stem_provider","foliage_radius","OreConfig","Feature","reach","decorator","rim","rim_size","exit","crystal_invulnerable","crystal_beam_target","spikes","centerX","centerZ","guarded","hat_state","decor_state","stem_state","valid_base_block","planted","feature_false","feature_true","to_place","place_on","place_in","place_under","rock_count","hole_count","requires_block_below","valid_blocks","ignore_vines","minimum_size","trunk_provider","leaves_provider","trunk_placer","base_height","height_rand_a","height_rand_b","foliage_placer","crown_height","trunk_height","decorators","min_clipped_height","lower_size","upper_size","upper_limit","middle_size","min_size","extra_size","stronghold","spacing","separation","salt","templatePoolConfig","start_pool","biome_temp","large_probability","cluster_probability","portal_type","is_beached","top_material","under_material","underwater_material","snowy","elements","element_type","projection","generate_features","bonus_chest","dimensions","ItemModifier_1","initItemModifierSchemas","lightning","bystander","conditionIDSwtichNode","functionIDSwtichNode","_p","looking_at","stepping_on","passenger","lightning_bolt","blocks_set_on_fire","entity_struck","separator","CanyonConfig","vertical_rotation","shape","distance_factor","thickness","width_smoothness","horizontal_radius_factor","vertical_radius_default_factor","vertical_radius_center_factor","CaveConfig","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","yScale","lava_level","debug_settings","debug_mode","air_state","water_state","lava_state","barrier_state","TargetBlockState","discard_chance_on_air_exposure","VegetationPatchConfig","vertical_range","extra_bottom_block_chance","extra_edge_column_chance","vegetation_chance","xz_radius","replaceable","ground_state","vegetation_feature","max_stalagmite_stalactite_height_diff","height_deviation","dripstone_block_layer_thickness","density","wetness","chance_of_dripstone_column_at_max_distance_from_center","max_distance_from_edge_affecting_chance_of_dripstone_column","max_distance_from_center_affecting_height_bias","max_empty_corners_allowed","fossil_structures","overlay_structures","fossil_processors","overlay_processors","filling_provider","inner_layer_provider","alternate_inner_layer_provider","middle_layer_provider","outer_layer_provider","inner_placements","cannot_replace","invalid_blocks","filling","inner_layer","middle_layer","outer_layer","crack","generate_crack_chance","base_crack_size","crack_point_offset","noise_multiplier","use_potential_placements_chance","use_alternate_layer0_chance","placements_require_layer0_alternate","outer_wall_distance","distribution_points","point_offset","min_gen_offset","max_gen_offset","invalid_blocks_threshold","search_range","chance_of_spreading","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","can_be_placed_on","direction","allow_water","height_distribution","body_provider","head_provider","column_radius","height_scale","max_column_radius_to_cave_height_ratio","stalactite_bluntness","stalagmite_bluntness","wind_speed","min_radius_for_wind","min_bluntness_for_wind","required_vertical_space_for_tree","root_radius","root_placement_attempts","root_column_max_height","hanging_root_radius","hanging_roots_vertical_span","hanging_root_placement_attempts","allowed_vertical_water_for_tree","root_replaceable","root_state_provider","hanging_root_state_provider","max_placements","empty_space_search_radius","max_offset_from_origin","chance_of_taller_dripstone","force_dirt","dirt_provider","sapling_provider","foliage_provider","bend_length","min_height_for_leaves","foliage_height","leaf_placement_attempts","floor_search_range","placement_radius_around_floor","placement_probability_per_valid_position","min_surface_level","noodle_caves_enabled","ore_veins_enabled","_d","global","define","Alea","me","mash","String","h","charCodeAt","next","s0","s1","s2","impl","opts","xg","prng","int32","double","quick","XorGen","strseed","w","X","j","init","Date","math","nodecrypto","startdenom","pow","significance","overflow","seedrandom","callback","shortseed","mixkey","flatten","prop","typ","entropy","tostring","out","randomBytes","Uint8Array","crypto","msCrypto","getRandomValues","browser","navigator","plugins","screen","autoseed","arc4","ARC4","g","S","pass","is_math_call","keylen","width","smear","stringseed","fromCharCode","apply","ex","self","dec2hex","dec","substr","hexId","arr","window","htmlEncode","stringToColor","abs","imul","hashString","clamp","clampedLerp","lerp","lerp2","smoothstep","watchers","oldValue","watcher","watch","find","localStorage","getItem","setItem","__awaiter","_arguments","P","Promise","resolve","reject","fulfilled","rejected","done","then","removeItem","mcdataUrl","vanillaDatapackUrl","refs","hash","url","fetchData","versionId","version","versions","debug","dynamic","all","matches","cache","caches","open","promises","request","delete","message","deleteMatching","fetchRegistries","fetchBlockStateMap","fetchDynamicRegistries","registries","checkVersion","minVersion","maxVersion","mcdata_master","getData","states","App","blockStateRegistry","vanilla_datapack_summary","cacheResponse","ok","json","fetchResponse","fetch","responseData","put","Response","Octicon","archive","arrow_both","arrow_left","arrow_right","chevron_down","chevron_right","clippy","code","dash","download","eye","eye_closed","fold","gear","globe","info","issue_opened","kebab_horizontal","link","mark_github","moon","note","package","play","plus","plus_circle","search","square","square_fill","sun","trashcan","three_bars","unfold","xo","yo","zo","x2","y2","z2","x3","y3","z3","x4","y4","z4","x5","y5","z5","y6","sampleAndLerp","grad","GRADIENT","lerp3","gradDot","noiseLevels","lowestFreqInputFactor","lowestFreqValueFactor","fill","fixY","inputF","valueF","wrap","first","second","expectedDeviation","valueFactor","getValue","Preview","redraw","view","dx","dy","viewScale","biomeColors","endsWith","el","watchRun","textContent","toFixed","onClick","img","noiseMaps","biomeColorCache","getBiomeColor","xx","yy","closestBiome","minDist","minBiome","dist","fitness","assign","padStart","Locales","resolveLocaleParams","locale","language","en","segmentedLocale","segments","minDepth","prev","array","addEventListener","evt","stopPropagation","on","querySelectorAll","getAttribute","attributes","getNamedItem","html","innerHTML","mounted","toggleMenu","classList","hideMenu","document","body","closest","contains","remove","capture","once","chunkWidth","chunkHeight","chunkCountY","biomeDepth","biomeScale","noiseColumnCache","xOffset","minLimitPerlinNoise","fromRange","maxLimitPerlinNoise","mainPerlinNoise","depthNoise","cx","ox","noise1","fillNoiseColumn","noise2","oy","cachedColumn","xzScale","xzFactor","yFactor","randomDensity","getRandomDensity","sampleAndClampNoise","getOctaveNoise","falloff","minLimitNoise","maxLimitNoise","mainNoise","terrain","featureColors","label","ga","Tracker","hotkey","minimized","theme","preview","Versions","Previews","iterateNoiseColumn","reverse","getColor","Features","decorated","pos","getPositions","flatMap","getPlacements","random_boolean_selector","random_selector","simple_random_selector","nextInt","Decorators","sampleUniformInt","count_extra","count_multilayer","count_noise","biomeInfoNoise","count_noise_biased","factor","ceil","dark_oak_tree","depth_average","decorateY","emerald_ore","fire","glowstone","heightmap_spread_double","heightmap_world_surface","iceberg","lava_lake","nope","range_biased","range_very_biased","spread_32_above","top_solid_heightmap","magma","water_lake","perspective","usedFeatures","featureData","placements","filtered","useFeature","featureFn","decoratorFn","Models","models","jsonOutput","errorsVisible","treeMinimized","jsonError","getName","schemasLoaded","localesLoaded","loaded","mobilePanel","local_storage","save","updateSchemas","documentElement","setAttribute","hasFetchedEnglish","minVersionId","maxVersionId","findIndex","updateLocale","ctrlKey","undo","redo","Toggle","activeOcticon","Header","homeLink","panelTogglesId","getPanelToggles","panels","mount","Dropdown","GeneratorCard","arrow","active","cleanUrl","Home","filteredModels","NotFound","FieldSettings","fieldListId","fieldList","getFields","pathInput","nameInput","ssr","NOOP","calc","prefix","createElement","style","cssText","isString","elementOrSelector","ele","querySelector","getOption","propName","def","getGutterSize","gutterSize","isFirst","isLast","gutterAlign","defaultGutterFn","gutterDirection","gut","className","defaultElementStyleFn","dim","gutSize","defaultGutterStyleFn","idsOption","clientAxis","positionEnd","clientSize","ids","parentNode","parentStyle","getComputedStyle","parentFlexDirection","flexDirection","sizes","minSize","minSizes","expandToMin","snapOffset","dragInterval","cursor","gutter","elementStyle","gutterStyle","setElementSize","getSizes","getMousePosition","touches","adjust","percentage","drag","dragging","dragOffset","round","calculateSizes","aBounds","bBounds","trimToMin","sizesToTrim","parentSize","computedStyle","paddingLeft","paddingRight","paddingTop","paddingBottom","innerSize","excessPixels","toSpare","pixelSizes","pixelSize","elementGutterSize","elementMinSize","newPixelSize","takenPixels","stopDragging","stop","move","userSelect","webkitUserSelect","MozUserSelect","pointerEvents","startDragging","button","preventDefault","pairs","adjustToMin","pair","temp","gutterElement","setGutterSize","insertBefore","computedSize","setSizes","newSizes","trimmed","newSize","collapse","destroy","preserveStyles","preserveGutter","removeChild","SplitGroup","suffixInjector","mounter","biome_noise","setPreview","noise_settings","biomePreview","onChange","setBiomeColor","getBiomeHex","getFilterKey","origin","keysModel","renderHtml","onFalse","onTrue","pathWithChoiceContext","suffix","pathLocale","onAdd","onAddBottom","childValue","removeId","childPath","cPrefix","cSuffix","cBody","help","contextMenu","keyPath","blockState","parsed","filterKey","field","getContext","fieldSettings","inputId","rawString","selectRaw","contextPath","datalistId","popupIcon","popup","getElementsByTagName","openMenu","helpMessage","insertAdjacentHTML","inputEl","appendChild","select","execCommand","timer","setTimeout","clearTimeout","TreePanel","getContent","rendered","tree","addListener","presetList","presetListId","getPresets","query","trim","split","vanilla_datapack_data","fetchPreset","toggle","parentElement","transformOutput","SourcePanel","updateContent","rawSource","err","fileContents","encodeURIComponent","downloadAnchor","lastElementChild","click","shareInput","btoa","pathname","PreviewPanel","canvas","ctx","newState","getSize","createImageData","draw","putImageData","dragStart","menu","onDrag","clientWidth","clientHeight","customValidation","requiredProps","Generator","getSideContent","validatePreview","sideContent","getAll","categories","router","urlParts","urlParams","URLSearchParams","getElementById","renderer","panel","has","atob","Element","hasAttribute","pushState"],"mappings":"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3B,YAHahE,IAAT6E,GACA2V,QAAQpJ,MAAM,2BAA2BpN,+BAEtCa,IAsBfnH,EAAQob,mBAfR,MACI,cACIjZ,KAAKuM,SAAW,GAEpB,SAASpI,EAAIuO,GACT1S,KAAKuM,SAASpI,GAAMuO,EAExB,IAAIvO,GACA,MAAMuO,EAAO1S,KAAKuM,SAASpI,GAI3B,YAHahE,IAATuS,GACAiI,QAAQoD,KAAK,+BAA+B5Z,+BAEzCuO,QAAmCA,EAAO,M,6BCpCzDjU,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,K,6BCAtDP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,IACtDnB,EAAQqb,qBAAkB,EAwR1Brb,EAAQqb,gBAvRR,SAAyB3V,GACrBA,EAAYG,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,uBACA,qBACA,0BACA,yBACA,+BACA,iCACA,4BACA,0BACA,iCACA,yBACA,6BACA,4BACA,wBACA,iBACA,2BACA,uBACA,2BACA,8BAEJH,EAAYG,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,sBAEJH,EAAYG,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,iCAEJH,EAAYG,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,8BAEJH,EAAYG,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,+BAEJH,EAAYG,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,YAEJH,EAAYG,SAAS,YAAa,CAC9B,sBACA,uBACA,sBAEJH,EAAYG,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,YAEJH,EAAYG,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,SAEJH,EAAYG,SAAS,WAAY,CAC7B,WACA,WACA,YACA,cAEJH,EAAYG,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,kBAEJH,EAAYG,SAAS,cAAe,CAChC,eACA,OACA,SACA,kBAEJH,EAAYG,SAAS,iCAAkC,CACnD,gCACA,sCACA,wBAEJH,EAAYG,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,iBAEJH,EAAYG,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,oBAEJH,EAAYG,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,sB,6BCtRRjF,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,IACtDnB,EAAQub,iBAAc,EACtB,MAAM4E,EAAgB,EAAQ,IACxBvK,EAAW,EAAQ,GACnBwK,EAAc,EAAQ,IACtBC,EAAc,EAAQ,IACtBC,EAAe,EAAQ,IACvBC,EAAe,EAAQ,IACvBC,EAAW,EAAQ,IACnBC,EAAS,EAAQ,IACjBC,EAAkB,EAAQ,IAa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,aACA,kBACA,wBACA,YAEJH,EAAYG,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,SAEJH,EAAYG,SAAS,WAAY,CAC7B,WACA,WACA,YACA,cAEJH,EAAYG,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,+BAEJH,EAAYG,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,kBAEJH,EAAYG,SAAS,cAAe,CAChC,eACA,OACA,SACA,kBAEJH,EAAYG,SAAS,iCAAkC,CACnD,gCACA,sCACA,wBAEJH,EAAYG,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,iBAEJH,EAAYG,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,YAEJH,EAAYG,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,oBAEJH,EAAYG,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,4BAEJH,EAAYG,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,4BAEJH,EAAYG,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,8BAEJH,EAAYG,SAAS,iBAAkB,CA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B,EAAQqb,qBAAkB,EAqkB1Brb,EAAQqb,gBApkBR,SAAyB3V,GACrBA,EAAYG,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,8BAEJH,EAAYG,SAAS,YAAa,CAC9B,sBACA,uBACA,sBAEJH,EAAYG,SAAS,iBAAkB,CACnC,sBACA,uBACA,sBAEJH,EAAYG,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,YAEJH,EAAYG,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,SAEJH,EAAYG,SAAS,WAAY,CAC7B,WACA,WACA,YACA,cAEJH,EAAYG,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,+BAEJH,EAAYG,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,kBAEJH,EAAYG,SAAS,cAAe,CAChC,eACA,OACA,SACA,kBAEJH,EAAYG,SAAS,iCAAkC,CACnD,gCACA,sCACA,wBAEJH,EAAYG,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,iBAEJH,EAAYG,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,YAEJH,EAAYG,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,oBAEJH,EAAYG,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,4BAEJH,EAAYG,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,4BAEJH,EAAYG,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,8BAEJH,EAAYG,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,YAEJH,EAAYG,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,qBAEJH,EAAYG,SAAS,kBAAmB,CACpC,MACA,WAEJH,EAAYG,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,oBAEJH,EAAYG,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,WAEJH,EAAYG,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OAC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","file":"js/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 98);\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./model/DataModel\"), exports);\r\n__exportStar(require(\"./model/Path\"), exports);\r\n__exportStar(require(\"./model/Errors\"), exports);\r\n__exportStar(require(\"./nodes/Node\"), exports);\r\n__exportStar(require(\"./nodes/BooleanNode\"), exports);\r\n__exportStar(require(\"./nodes/ChoiceNode\"), exports);\r\n__exportStar(require(\"./nodes/ListNode\"), exports);\r\n__exportStar(require(\"./nodes/MapNode\"), exports);\r\n__exportStar(require(\"./nodes/NumberNode\"), exports);\r\n__exportStar(require(\"./nodes/ObjectNode\"), exports);\r\n__exportStar(require(\"./nodes/Reference\"), exports);\r\n__exportStar(require(\"./nodes/StringNode\"), exports);\r\n__exportStar(require(\"./nodes/SwitchNode\"), exports);\r\n__exportStar(require(\"./Hook\"), exports);\r\n__exportStar(require(\"./Registries\"), exports);\r\n__exportStar(require(\"./ValidationOption\"), exports);\r\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.UniformInt = exports.Range = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.UniformInt = (config) => core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n change: v => v.base\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n base: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: config === null || config === void 0 ? void 0 : config.maxSpread })\r\n }),\r\n change: v => ({\r\n base: v,\r\n spread: 0\r\n })\r\n }\r\n ], { context: 'uniform_int' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => core_1.Opt(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer })),\r\n max: core_1.Opt(core_1.NumberNode({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(Reference('number_provider')),\r\n max: core_1.Opt(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = core_1.Mod(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = core_1.ObjectNode({\r\n type: core_1.Mod(core_1.Opt(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return core_1.ChoiceNode(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: core_1.Opt(core_1.NumberNode())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_exclusive: core_1.NumberNode(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n plateau: core_1.NumberNode()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', exports.FloatProvider());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', exports.IntProvider());\r\n schemas.register('vertical_anchor', core_1.ChoiceNode(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: core_1.ObjectNode({\r\n [t]: core_1.NumberNode({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: core_1.ListNode(core_1.ObjectNode({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Keep = exports.Opt = exports.Has = exports.Mod = exports.Base = void 0;\r\nexports.Base = ({\r\n type: () => 'base',\r\n category: () => undefined,\r\n default: () => undefined,\r\n enabled: () => true,\r\n keep: () => false,\r\n optional: () => false,\r\n navigate() { return this; },\r\n pathPush: (p) => p,\r\n suggest: () => [],\r\n validate: (_, v) => v,\r\n validationOption: () => undefined,\r\n hook(hook, path, ...args) { return hook.base({ node: this }, path, ...args); },\r\n canUpdate: () => false,\r\n update: () => []\r\n});\r\nexports.Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Has = (key, node) => exports.Mod(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\r\nfunction Opt(node) {\r\n return {\r\n ...node,\r\n optional: () => true\r\n };\r\n}\r\nexports.Opt = Opt;\r\nfunction Keep(node) {\r\n return {\r\n ...node,\r\n keep: () => true\r\n };\r\n}\r\nexports.Keep = Keep;\r\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Range = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true, bounds: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:requirements': {\r\n terms: core_1.ListNode(Reference('condition')),\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n max_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n min_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n max_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ModelPath = exports.Path = exports.relativePath = void 0;\r\nfunction relativePath(start, relativePath) {\r\n return relativePath.reduce((path, e) => {\r\n if (e === 'pop') {\r\n return path.pop();\r\n }\r\n else {\r\n return path.push(e.push);\r\n }\r\n }, start);\r\n}\r\nexports.relativePath = relativePath;\r\n/**\r\n * Immutable helper class to represent a path in data\r\n */\r\nclass Path {\r\n /**\r\n * @param modelArr Initial array of path model elements. Empty if not given\r\n * @param contextArr Initial array of path context elements. Empty if not given\r\n */\r\n constructor(modelArr, contextArr) {\r\n this.modelArr = modelArr !== null && modelArr !== void 0 ? modelArr : [];\r\n this.contextArr = contextArr !== null && contextArr !== void 0 ? contextArr : [];\r\n }\r\n /**\r\n * The last model element of this path\r\n */\r\n last() {\r\n return this.modelArr[this.modelArr.length - 1];\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new Path(this.modelArr.slice(start, end), this.contextArr);\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new Path(this.modelArr.slice(1), this.contextArr);\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new Path(this.modelArr.slice(0, -1), this.contextArr);\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new Path([...this.modelArr, element], [...this.contextArr]);\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n if (typeof element === 'number')\r\n return this.copy();\r\n const newElement = element.startsWith('minecraft:') ? element.slice(10) : element;\r\n return new Path([...this.modelArr], [...this.contextArr, newElement]);\r\n }\r\n copy() {\r\n return new Path([...this.modelArr], [...this.contextArr]);\r\n }\r\n getArray() {\r\n return this.modelArr;\r\n }\r\n /**\r\n * Attaches a model to this path and all paths created from this\r\n * @param model\r\n */\r\n withModel(model) {\r\n return new ModelPath(model, this);\r\n }\r\n getContext() {\r\n return this.contextArr;\r\n }\r\n /**\r\n * Checks path equality\r\n * @param other path to compare\r\n */\r\n equals(other) {\r\n return other.modelArr.length === this.modelArr.length\r\n && other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path starts with another path\r\n * @param other path that this path should start with\r\n */\r\n startsWith(other) {\r\n if (this.modelArr.length < other.modelArr.length)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path ends with another path\r\n * @param other parent path where this path should end with\r\n */\r\n endsWith(other) {\r\n const offset = this.modelArr.length - other.modelArr.length;\r\n if (offset < 0)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[offset + i]);\r\n }\r\n toString() {\r\n return this.modelArr\r\n .map(e => (typeof e === 'string') ? `.${e}` : `[${e}]`)\r\n .join('')\r\n .replace(/^\\./, '');\r\n }\r\n forEach(fn, thisArg) {\r\n return this.modelArr.forEach(fn, thisArg);\r\n }\r\n}\r\nexports.Path = Path;\r\nclass ModelPath extends Path {\r\n constructor(model, path) {\r\n super(path === null || path === void 0 ? void 0 : path.modelArr, path === null || path === void 0 ? void 0 : path.contextArr);\r\n this.model = model;\r\n }\r\n getModel() {\r\n return this.model;\r\n }\r\n /**\r\n * Gets the data from the model if it was attached\r\n * @returns undefined, if no model was attached\r\n */\r\n get() {\r\n var _a;\r\n return (_a = this.model) === null || _a === void 0 ? void 0 : _a.get(this);\r\n }\r\n /**\r\n * Sets the value to the model if it was attached\r\n */\r\n set(value) {\r\n var _a;\r\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.set(this, value);\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new ModelPath(this.model, super.slice(start, end));\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new ModelPath(this.model, super.shift());\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new ModelPath(this.model, super.pop());\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new ModelPath(this.model, super.modelPush(element));\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n return new ModelPath(this.model, super.contextPush(element));\r\n }\r\n copy() {\r\n return new ModelPath(this.model, super.copy());\r\n }\r\n}\r\nexports.ModelPath = ModelPath;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Errors = void 0;\r\n/**\r\n * Collects errors from data paths\r\n */\r\nclass Errors {\r\n constructor() {\r\n this.errors = [];\r\n }\r\n add(path, error, ...params) {\r\n this.errors.push({ path, error, params });\r\n return false;\r\n }\r\n get(path, exact = false) {\r\n return exact ? this.errors.filter(e => e.path.equals(path))\r\n : this.errors.filter(e => e.path.startsWith(path));\r\n }\r\n getAll() {\r\n return this.errors;\r\n }\r\n clear() {\r\n this.errors = [];\r\n }\r\n count() {\r\n return this.errors.length;\r\n }\r\n *[Symbol.iterator]() {\r\n for (const e of this.errors) {\r\n yield e;\r\n }\r\n }\r\n}\r\nexports.Errors = Errors;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n max_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n min_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ListNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.ListNode = (children, config) => {\r\n var _a, _b;\r\n const min = (_a = config === null || config === void 0 ? void 0 : config.minLength) !== null && _a !== void 0 ? _a : 0;\r\n const max = (_b = config === null || config === void 0 ? void 0 : config.maxLength) !== null && _b !== void 0 ? _b : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.minLength) && (config === null || config === void 0 ? void 0 : config.maxLength);\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'list',\r\n default: () => (config === null || config === void 0 ? void 0 : config.minLength) ? [...Array(min)].map(_ => children.default()) : [],\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, index) {\r\n return path.push(parseInt(index.toString())).contextPush('entry');\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && !Array.isArray(value)) {\r\n value = this.default();\r\n }\r\n if (!Array.isArray(value)) {\r\n errors.add(path, 'error.expected_list');\r\n return value;\r\n }\r\n else if (between && (value.length < min || value.length > max)) {\r\n if (min === max) {\r\n errors.add(path, 'error.invalid_list_range.exact', value.length, min);\r\n }\r\n else {\r\n errors.add(path, 'error.invalid_list_range.between', value.length, min, max);\r\n }\r\n }\r\n else if (value.length < min) {\r\n errors.add(path, 'error.invalid_list_range.smaller', value.length, min);\r\n }\r\n else if (value.length > max) {\r\n errors.add(path, 'error.invalid_list_range.larger', value.length, max);\r\n }\r\n return value.map((obj, index) => children.validate(path.push(index), obj, errors, options));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SwitchNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.SwitchNode = (cases) => {\r\n return {\r\n ...Node_1.Base,\r\n type(path) {\r\n return this.activeCase(path, true)\r\n .node.type(path);\r\n },\r\n category(path) {\r\n return this.activeCase(path, true)\r\n .node.category(path);\r\n },\r\n default: () => cases[0].node.default(),\r\n navigate(path, index) {\r\n var _a;\r\n const nextIndex = index + 1;\r\n return (_a = this.activeCase(path.slice(0, nextIndex))) === null || _a === void 0 ? void 0 : _a.node.navigate(path, index);\r\n },\r\n pathPush(path, key) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.pathPush(path, key)) !== null && _b !== void 0 ? _b : path;\r\n },\r\n suggest(path, value) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.suggest(path, value)) !== null && _b !== void 0 ? _b : cases\r\n .filter(c => c.match(path))\r\n .map(c => c.node.suggest(path, value))\r\n .reduce((p, c) => p.concat(c));\r\n },\r\n validate(path, value, errors, options) {\r\n let c = this.activeCase(path);\r\n if (c === undefined) {\r\n return value;\r\n }\r\n return c.node.validate(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.validationOption(path);\r\n },\r\n activeCase(path, fallback) {\r\n const sorter = (a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); };\r\n const matchedCases = cases.filter(c => c.match(path)).sort(sorter);\r\n if (fallback && matchedCases.length === 0) {\r\n return cases.sort(sorter)[0];\r\n }\r\n return (matchedCases.length > 0 ? matchedCases[0] : undefined);\r\n },\r\n hook(hook, path, ...args) {\r\n return this.activeCase(path, true)\r\n .node.hook(hook, path, ...args);\r\n },\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.quoteString = exports.escapeString = void 0;\r\nfunction escapeString(str) {\r\n return str.replace(/(\\\\|\")/g, '\\\\$1');\r\n}\r\nexports.escapeString = escapeString;\r\nfunction quoteString(str) {\r\n return `\"${escapeString(str)}\"`;\r\n}\r\nexports.quoteString = quoteString;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = exports.LocationFields = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ enum: 'biome' })),\r\n feature: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n dimension: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', core_1.ObjectNode(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RangeConfig = {\r\n maximum: core_1.NumberNode({ integer: true }),\r\n bottom_offset: core_1.NumberNode({ integer: true }),\r\n top_offset: core_1.NumberNode({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:chance': ChanceConfig,\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:depth_average': {\r\n baseline: core_1.NumberNode({ integer: true }),\r\n spread: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:fire': CountConfig,\r\n 'minecraft:glowstone': CountConfig,\r\n 'minecraft:lava_lake': ChanceConfig,\r\n 'minecraft:range': RangeConfig,\r\n 'minecraft:range_biased': RangeConfig,\r\n 'minecraft:range_very_biased': RangeConfig,\r\n 'minecraft:water_lake': ChanceConfig\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CountConfig = {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:cave_surface': {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:heightmap_spread_double': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:lava_lake': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:water_depth_threshold': {\r\n max_water_depth: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DataModel = void 0;\r\nconst Path_1 = require(\"./Path\");\r\nconst Errors_1 = require(\"./Errors\");\r\n/**\r\n * Holding the data linked to a given schema\r\n */\r\nclass DataModel {\r\n /**\r\n * @param schema node to use as schema for this model\r\n */\r\n constructor(schema, options) {\r\n var _a;\r\n this.schema = schema;\r\n this.data = schema.default();\r\n this.listeners = [];\r\n this.errors = new Errors_1.Errors();\r\n this.history = [JSON.stringify(this.data)];\r\n this.historyIndex = 0;\r\n this.historyMax = (_a = options === null || options === void 0 ? void 0 : options.historyMax) !== null && _a !== void 0 ? _a : 50;\r\n }\r\n /**\r\n * Adds a listener to notify when the model is invalidated\r\n * @param listener the listener to be notified\r\n */\r\n addListener(listener) {\r\n this.listeners.push(listener);\r\n }\r\n /**\r\n * Removes a listener from this model\r\n * @param listener the listener to be removed\r\n */\r\n removeListener(listener) {\r\n const index = this.listeners.indexOf(listener);\r\n if (index > -1) {\r\n this.listeners.splice(index, 1);\r\n }\r\n }\r\n /**\r\n * Updates the history and notifies all\r\n * listeners that the model is invalidated\r\n */\r\n invalidate() {\r\n const newHistory = JSON.stringify(this.data);\r\n if (this.history[this.historyIndex] !== newHistory) {\r\n this.historyIndex += 1;\r\n this.history.splice(this.historyIndex, this.historyMax, newHistory);\r\n if (this.history.length > this.historyMax) {\r\n this.history.splice(0, 1);\r\n this.historyIndex -= 1;\r\n }\r\n }\r\n this.silentInvalidate();\r\n }\r\n /**\r\n * Notifies all listeners that the model is invalidated\r\n */\r\n silentInvalidate() {\r\n this.listeners.forEach(l => {\r\n if (l.invalidated)\r\n l.invalidated(this);\r\n if (l.errors)\r\n l.errors(this.errors);\r\n });\r\n }\r\n /**\r\n * Resets the full data and notifies listeners\r\n * @param value new model data\r\n */\r\n reset(value, loose) {\r\n this.data = value;\r\n this.validate(loose);\r\n this.invalidate();\r\n }\r\n /**\r\n * Gets the data at a specified path\r\n * @param path path at which to find the data\r\n * @returns undefined, if the the path does not exist in the data\r\n */\r\n get(path) {\r\n let node = this.data;\r\n path.forEach(e => {\r\n if (node === undefined)\r\n return node;\r\n node = node[e];\r\n });\r\n return node;\r\n }\r\n /**\r\n * Updates the data on a path. Node will be removed when value is undefined\r\n * @param path path to update\r\n * @param value new data at the specified path\r\n */\r\n set(path, value, silent) {\r\n if (path.getArray().length === 0) {\r\n this.reset(value, true);\r\n return;\r\n }\r\n let node = this.data;\r\n path.pop().forEach(e => {\r\n if (node[e] === undefined || typeof node[e] === 'string' || typeof node[e] === 'number') {\r\n node[e] = {};\r\n }\r\n node = node[e];\r\n });\r\n if (value === undefined || (typeof value === 'number' && isNaN(value))) {\r\n if (typeof path.last() === 'number') {\r\n node.splice(path.last(), 1);\r\n }\r\n else {\r\n delete node[path.last()];\r\n }\r\n }\r\n else {\r\n node[path.last()] = value;\r\n }\r\n if (silent)\r\n return;\r\n console.log('Set', path.toString(), JSON.stringify(value));\r\n this.validate(true);\r\n this.invalidate();\r\n }\r\n /**\r\n * Go one step back in history\r\n */\r\n undo() {\r\n if (this.historyIndex > 0) {\r\n this.historyIndex -= 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Go one step forward in history.\r\n */\r\n redo() {\r\n if (this.historyIndex < this.history.length - 1) {\r\n this.historyIndex += 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Uses the schema to check whether the data is valid\r\n */\r\n validate(loose) {\r\n var _a;\r\n const path = new Path_1.Path().withModel(this);\r\n this.errors.clear();\r\n this.data = (_a = this.schema.validate(path, this.data, this.errors, { loose })) !== null && _a !== void 0 ? _a : {};\r\n }\r\n error(path, error, ...params) {\r\n const tempErrors = new Errors_1.Errors();\r\n tempErrors.add(path, error, params);\r\n this.listeners.forEach(l => {\r\n if (l.errors)\r\n l.errors(tempErrors);\r\n });\r\n }\r\n}\r\nexports.DataModel = DataModel;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BooleanNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Boolean node with two buttons for true/false\r\n */\r\nexports.BooleanNode = () => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'boolean',\r\n default: () => false,\r\n suggest: () => ['false', 'true'],\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'boolean') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'boolean' || value === undefined) {\r\n errors.add(path, 'error.expected_boolean');\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.boolean) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectOrPreset = exports.StringOrList = exports.ObjectOrList = exports.ChoiceNode = void 0;\r\nconst ListNode_1 = require(\"./ListNode\");\r\nconst SwitchNode_1 = require(\"./SwitchNode\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.ChoiceNode = (choices, config) => {\r\n const isValid = (choice, value) => {\r\n if (choice.match) {\r\n return choice.match(value);\r\n }\r\n switch (choice.type) {\r\n case 'list': return Array.isArray(value);\r\n case 'object': return typeof value === 'object' && !Array.isArray(value);\r\n default: return typeof value === choice.type;\r\n }\r\n };\r\n const switchNode = SwitchNode_1.SwitchNode(choices.map(c => ({\r\n type: c.type,\r\n priority: c.priority,\r\n match: (path) => isValid(c, path.get()),\r\n node: c.node\r\n })));\r\n return {\r\n ...switchNode,\r\n validate(path, value, errors, options) {\r\n let choice = switchNode.activeCase(path, true);\r\n if (choice.node.optional()) {\r\n return value;\r\n }\r\n return choice.node.validate(path, value, errors, options);\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, choices, config: config !== null && config !== void 0 ? config : {}, switchNode }, path, ...args);\r\n }\r\n };\r\n};\r\nconst XOrList = (x) => ((node, config) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: x,\r\n node,\r\n change: v => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : node.default(); }\r\n },\r\n {\r\n type: 'list',\r\n node: ListNode_1.ListNode(node),\r\n change: v => v ? [v] : []\r\n }\r\n ], config);\r\n});\r\nexports.ObjectOrList = XOrList('object');\r\nexports.StringOrList = XOrList('string');\r\nexports.ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: presetNode,\r\n change: v => Object.keys(presets)[0]\r\n },\r\n {\r\n type: 'object',\r\n node: objectNode,\r\n change: v => { var _a; return (_a = presets[v]) !== null && _a !== void 0 ? _a : presets[Object.keys(presets)[0]]; }\r\n }\r\n ]);\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MapNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Map nodes similar to list nodes, but a string key is required to add children\r\n */\r\nexports.MapNode = (keys, children, config) => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'map',\r\n default: () => ({}),\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return path.modelPush(key);\r\n },\r\n suggest: (path) => keys.suggest(path, ''),\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (value === null || typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let res = {};\r\n Object.keys(value).forEach(k => {\r\n keys.validate(path, k, errors, options);\r\n res[k] = children.validate(path.push(k), value[k], errors, options);\r\n });\r\n return res;\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = config === null || config === void 0 ? void 0 : config.validation) !== null && _a !== void 0 ? _a : keys.validationOption(path.push(''));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, keys, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NumberNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.NumberNode = (config) => {\r\n var _a, _b, _c;\r\n const integer = (config === null || config === void 0 ? void 0 : config.color) ? true : (_a = config === null || config === void 0 ? void 0 : config.integer) !== null && _a !== void 0 ? _a : false;\r\n const min = (config === null || config === void 0 ? void 0 : config.color) ? 0 : (_b = config === null || config === void 0 ? void 0 : config.min) !== null && _b !== void 0 ? _b : -Infinity;\r\n const max = (config === null || config === void 0 ? void 0 : config.color) ? 16777215 : (_c = config === null || config === void 0 ? void 0 : config.max) !== null && _c !== void 0 ? _c : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.min) !== undefined && (config === null || config === void 0 ? void 0 : config.max) !== undefined;\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'number',\r\n default: () => min > 0 ? min : 0,\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'number') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'number') {\r\n errors.add(path, 'error.expected_number');\r\n }\r\n else if (integer && !Number.isInteger(value)) {\r\n errors.add(path, 'error.expected_integer');\r\n }\r\n else if (between && (value < min || value > max)) {\r\n errors.add(path, 'error.invalid_number_range.between', value, min, max);\r\n }\r\n else if (value < min) {\r\n errors.add(path, 'error.invalid_number_range.smaller', value, min);\r\n }\r\n else if (value > max) {\r\n errors.add(path, 'error.invalid_number_range.larger', value, max);\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.number) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, integer, min, max, between, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectNode = exports.Case = exports.Switch = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst Path_1 = require(\"../model/Path\");\r\nconst Errors_1 = require(\"../model/Errors\");\r\nconst utils_1 = require(\"../utils\");\r\nexports.Switch = Symbol('switch');\r\nexports.Case = Symbol('case');\r\nexports.ObjectNode = (fields, config) => {\r\n const { [exports.Switch]: filter, [exports.Case]: cases, ...defaultFields } = fields;\r\n const getActiveFields = (path) => {\r\n if (filter === undefined)\r\n return defaultFields;\r\n const switchValue = Path_1.relativePath(path, filter).get();\r\n const activeCase = cases[switchValue];\r\n return { ...defaultFields, ...activeCase };\r\n };\r\n const getChildModelPath = (path, childKey) => {\r\n var _a;\r\n const switchValue = filter ? Path_1.relativePath(path, filter).get() : undefined;\r\n const caseFields = filter ? ((_a = cases[switchValue]) !== null && _a !== void 0 ? _a : {}) : {};\r\n const caseKeys = Object.keys(caseFields);\r\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ?\r\n new Path_1.ModelPath(path.getModel(), new Path_1.Path(path.getArray(), [config.context])) : path;\r\n const pathWithFilter = !(config === null || config === void 0 ? void 0 : config.disableSwitchContext) && switchValue && caseKeys.includes(childKey) ?\r\n pathWithContext.contextPush(switchValue) : pathWithContext;\r\n return pathWithFilter.push(childKey);\r\n };\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'object',\r\n category: () => config === null || config === void 0 ? void 0 : config.category,\r\n default: () => ({}),\r\n keep() {\r\n return this.optional();\r\n },\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n const activeFields = getActiveFields(path.slice(0, nextIndex));\r\n const node = activeFields[pathElements[nextIndex]];\r\n return node === null || node === void 0 ? void 0 : node.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return getChildModelPath(path, key.toString());\r\n },\r\n suggest(path, value) {\r\n const activeFields = getActiveFields(path);\r\n const existingKeys = Object.keys(typeof value === 'object' ? value : {});\r\n return Object.keys(activeFields)\r\n .filter(k => activeFields[k].enabled(path))\r\n .filter(k => !existingKeys.includes(k))\r\n .map(utils_1.quoteString);\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let activeFields = defaultFields;\r\n if (filter) {\r\n const filterPath = Path_1.relativePath(path, filter);\r\n let switchValue = filterPath.get();\r\n if (path.equals(filterPath.pop())) {\r\n const filterField = filterPath.last();\r\n switchValue = defaultFields[filterField].validate(path.push(filterField), value[filterField], new Errors_1.Errors(), options);\r\n }\r\n activeFields = { ...activeFields, ...cases[switchValue] };\r\n }\r\n const activeKeys = Object.keys(activeFields);\r\n const forcedKeys = activeKeys.filter(k => !activeFields[k].optional());\r\n const keys = new Set([...forcedKeys, ...Object.keys(value)]);\r\n let res = {};\r\n keys.forEach(k => {\r\n if (activeKeys.includes(k)) {\r\n if (!activeFields[k].enabled(path))\r\n return;\r\n const newValue = activeFields[k].validate(path.push(k), value[k], errors, options);\r\n if (!activeFields[k].keep() && activeFields[k].optional()\r\n && (newValue === undefined\r\n || (Array.isArray(newValue) && newValue.length === 0)\r\n || (newValue.constructor === Object && Object.keys(newValue).length === 0))) {\r\n res[k] = undefined;\r\n }\r\n else {\r\n res[k] = newValue;\r\n path.getModel().set(path.push(k), newValue, true);\r\n }\r\n }\r\n else {\r\n res[k] = value[k];\r\n }\r\n });\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, fields: defaultFields, filter, cases, getActiveFields, getChildModelPath }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nexports.Reference = (schemas, schema) => ({\r\n type(path) {\r\n return schemas.get(schema).type.bind(this)(path);\r\n },\r\n category(path) {\r\n return schemas.get(schema).category.bind(this)(path);\r\n },\r\n default() {\r\n return schemas.get(schema).default.bind(this)();\r\n },\r\n transform(path, value) {\r\n return schemas.get(schema).transform(path, value);\r\n },\r\n enabled(path) {\r\n return schemas.get(schema).enabled.bind(this)(path);\r\n },\r\n keep() {\r\n return schemas.get(schema).keep.bind(this)();\r\n },\r\n optional() {\r\n return schemas.get(schema).optional.bind(this)();\r\n },\r\n navigate(path, index) {\r\n return schemas.get(schema).navigate.bind(this)(path, index);\r\n },\r\n pathPush(path, key) {\r\n return schemas.get(schema).pathPush.bind(this)(path, key);\r\n },\r\n suggest(path, value) {\r\n return schemas.get(schema).suggest.bind(this)(path, value);\r\n },\r\n validate(path, value, errors, options) {\r\n return schemas.get(schema).validate.bind(this)(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n return schemas.get(schema).validationOption.bind(this)(path);\r\n },\r\n hook(hook, path, ...args) {\r\n return schemas.get(schema).hook.bind(this)(hook, path, ...args);\r\n },\r\n activeCase(path, fallback) {\r\n return schemas.get(schema).activeCase.bind(this)(path, fallback);\r\n },\r\n canUpdate(path, value) {\r\n return schemas.get(schema).canUpdate.bind(this)(path, value);\r\n },\r\n update(path, value) {\r\n return schemas.get(schema).update.bind(this)(path, value);\r\n }\r\n});\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst utils_1 = require(\"../utils\");\r\nconst isEnum = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.enum);\r\n};\r\nconst isValidator = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nexports.StringNode = (collections, config) => {\r\n const getValues = isEnum(config)\r\n ? ((typeof config.enum === 'string')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : []; }\r\n : () => config.enum)\r\n : (((config === null || config === void 0 ? void 0 : config.validator) === 'resource')\r\n ? ((typeof config.params.pool === 'string')\r\n ? (config.params.pool.startsWith('$')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool.slice(1))) !== null && _a !== void 0 ? _a : []; }\r\n : () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool)) !== null && _a !== void 0 ? _a : []; })\r\n : () => config.params.pool)\r\n : () => []);\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'string',\r\n default: () => '',\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'string') {\r\n value = this.default() || undefined;\r\n }\r\n if (typeof value !== 'string') {\r\n errors.add(path, 'error.expected_string');\r\n return value;\r\n }\r\n if (isValidator(config)) {\r\n if (config.validator === 'resource' && value.length > 0 && !value.includes(':')) {\r\n value = value[0] === '#'\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n (config.params.allowTag && value[0] === '#') ||\r\n config.params.isDefinition ||\r\n config.params.allowUnknown)) {\r\n return value;\r\n }\r\n }\r\n if ((isEnum(config) && config.additional)) {\r\n return value;\r\n }\r\n const values = getValues();\r\n if (values.length > 0 && !values.includes(value)) {\r\n errors.add(path, 'error.invalid_enum_option', value);\r\n }\r\n return value;\r\n },\r\n suggest: () => getValues().map(utils_1.quoteString),\r\n validationOption() {\r\n return isValidator(config) ? config : undefined;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.string) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, getValues, config }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CollectionRegistry = exports.SchemaRegistry = void 0;\r\n/**\r\n * Registry for schemas\r\n */\r\nclass SchemaRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, node) {\r\n this.registry[id] = node;\r\n }\r\n get(id) {\r\n const node = this.registry[id];\r\n if (node === undefined) {\r\n console.error(`Tried to access schema \"${id}\", but that doesn't exist.`);\r\n }\r\n return node;\r\n }\r\n}\r\nexports.SchemaRegistry = SchemaRegistry;\r\n/**\r\n * Registry for collections\r\n */\r\nclass CollectionRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, list) {\r\n this.registry[id] = list;\r\n }\r\n get(id) {\r\n const list = this.registry[id];\r\n if (list === undefined) {\r\n console.warn(`Tried to access collection \"${id}\", but that doesn't exist.`);\r\n }\r\n return list !== null && list !== void 0 ? list : [];\r\n }\r\n}\r\nexports.CollectionRegistry = CollectionRegistry;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:safely_harvest_honey',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:tick',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('loot_pool_entry_type', [\r\n 'minecraft:empty',\r\n 'minecraft:item',\r\n 'minecraft:tag',\r\n 'minecraft:loot_table',\r\n 'minecraft:alternatives',\r\n 'minecraft:sequence',\r\n 'minecraft:group',\r\n 'minecraft:dynamic'\r\n ]);\r\n collections.register('loot_condition_type', [\r\n 'minecraft:alternative',\r\n 'minecraft:inverted',\r\n 'minecraft:reference',\r\n 'minecraft:entity_properties',\r\n 'minecraft:block_state_property',\r\n 'minecraft:match_tool',\r\n 'minecraft:damage_source_properties',\r\n 'minecraft:location_check',\r\n 'minecraft:weather_check',\r\n 'minecraft:time_check',\r\n 'minecraft:entity_scores',\r\n 'minecraft:random_chance',\r\n 'minecraft:random_chance_with_looting',\r\n 'minecraft:table_bonus',\r\n 'minecraft:killed_by_player',\r\n 'minecraft:survives_explosion'\r\n ]);\r\n collections.register('loot_function_type', [\r\n 'minecraft:set_count',\r\n 'minecraft:set_damage',\r\n 'minecraft:set_name',\r\n 'minecraft:set_lore',\r\n 'minecraft:set_nbt',\r\n 'minecraft:set_attributes',\r\n 'minecraft:set_contents',\r\n 'minecraft:enchant_randomly',\r\n 'minecraft:enchant_with_levels',\r\n 'minecraft:looting_enchant',\r\n 'minecraft:limit_count',\r\n 'minecraft:furnace_smelt',\r\n 'minecraft:explosion_decay',\r\n 'minecraft:fill_player_head',\r\n 'minecraft:copy_name',\r\n 'minecraft:copy_nbt',\r\n 'minecraft:copy_state',\r\n 'minecraft:apply_bonus',\r\n 'minecraft:exploration_map',\r\n 'minecraft:set_stew_effect'\r\n ]);\r\n collections.register('attribute', [\r\n 'generic.maxHealth',\r\n 'generic.followRange',\r\n 'generic.knockbackResistance',\r\n 'generic.movementSpeed',\r\n 'generic.attackDamage',\r\n 'generic.armor',\r\n 'generic.armorToughness',\r\n 'generic.attackSpeed',\r\n 'generic.luck',\r\n 'horse.jumpStrength',\r\n 'generic.attackKnockback',\r\n 'generic.flyingSpeed',\r\n 'zombie.spawnReinforcements'\r\n ]);\r\n collections.register('structure_feature', [\r\n 'pillager_outpost',\r\n 'mineshaft',\r\n 'mansion',\r\n 'jungle_pyramid',\r\n 'desert_pyramid',\r\n 'igloo',\r\n 'shipwreck',\r\n 'swamp_hut',\r\n 'stronghold',\r\n 'monument',\r\n 'ocean_ruin',\r\n 'fortress',\r\n 'endcity',\r\n 'buried_treasure',\r\n 'village'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` and `Predicates.ts` are files that have exports. They should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: core_1.Opt(Reference('entity_predicate')),\r\n partner: core_1.Opt(Reference('entity_predicate')),\r\n child: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n to: core_1.Opt(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n zombie: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Common_1.Range(),\r\n duration: Common_1.Range()\r\n })))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': Predicates_1.LocationFields,\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:safely_harvest_honey': {\r\n block: core_1.Opt(core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': Predicates_1.LocationFields,\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': Predicates_1.LocationFields\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n }),\r\n ...conditions\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' })),\r\n ...conditions\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } })),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }))),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true }),\r\n ...conditions\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n ...conditions\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier')),\r\n ...conditions\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...conditions\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component')),\r\n ...conditions\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } }),\r\n ...conditions\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n }))),\r\n ...conditions\r\n }\r\n }\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 5,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 5,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: core_1.Opt(Common_1.Range({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }, { context: 'dimension_type' }), {\r\n default: () => Common_1.DefaultDimensionType\r\n }));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 6,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 6,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'water_ambient',\r\n 'ambient',\r\n 'misc',\r\n 'water_creature',\r\n 'creature',\r\n 'monster'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.BooleanNode(),\r\n project: core_1.BooleanNode(),\r\n need_water: core_1.BooleanNode(),\r\n xspread: core_1.NumberNode({ integer: true }),\r\n yspread: core_1.NumberNode({ integer: true }),\r\n zspread: core_1.NumberNode({ integer: true }),\r\n tries: core_1.NumberNode({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.UniformInt({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.UniformInt({ min: 0, max: 2, maxSpread: 1 }),\r\n height: Common_1.UniformInt({ min: 1, max: 5, maxSpread: 5 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:emerald_ore': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state')\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.UniformInt()\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:no_surface_ore': OreConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:sea_pickle': CountConfig,\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: core_1.NumberNode({ integer: true }),\r\n ignore_vines: core_1.BooleanNode(),\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n minimum_size: Reference('feature_size'),\r\n trunk_provider: Reference('block_state_provider'),\r\n leaves_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n }\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n min_size: core_1.NumberNode({ integer: true }),\r\n extra_size: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n height: core_1.NumberNode({ integer: true }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), {\r\n default: () => Common_1.DefaultNoiseSettings\r\n }));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n ItemModifier_1.initItemModifierSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: core_1.Opt(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: Reference('distance_predicate'),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: Reference('float_bounds')\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', core_1.ObjectOrList(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('condition')))\r\n };\r\n schemas.register('function', core_1.Mod(core_1.ObjectNode({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: core_1.Opt(Reference('number_provider')),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 7;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n items: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n blocks: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate'))),\r\n looking_at: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n stepping_on: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n passenger: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n lightning_bolt: core_1.Opt(core_1.ObjectNode({\r\n blocks_set_on_fire: core_1.Opt(Reference('int_bounds')),\r\n entity_struck: core_1.Opt(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: Common_1.FloatProvider(),\r\n shape: core_1.ObjectNode({\r\n distance_factor: Common_1.FloatProvider(),\r\n thickness: Common_1.FloatProvider(),\r\n width_smoothness: core_1.NumberNode({ integer: true, min: 0 }),\r\n horizontal_radius_factor: Common_1.FloatProvider(),\r\n vertical_radius_default_factor: core_1.NumberNode(),\r\n vertical_radius_center_factor: core_1.NumberNode()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: Common_1.FloatProvider(),\r\n vertical_radius_multiplier: Common_1.FloatProvider(),\r\n floor_level: Common_1.FloatProvider({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: Common_1.FloatProvider(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n debug_settings: core_1.Opt(core_1.ObjectNode({\r\n debug_mode: core_1.Opt(core_1.BooleanNode()),\r\n air_state: core_1.Opt(Reference('block_state')),\r\n water_state: core_1.Opt(Reference('block_state')),\r\n lava_state: core_1.Opt(Reference('block_state')),\r\n barrier_state: core_1.Opt(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.Opt(core_1.BooleanNode()),\r\n project: core_1.Opt(core_1.BooleanNode()),\r\n need_water: core_1.Opt(core_1.BooleanNode()),\r\n xspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n yspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n zspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n tries: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 })),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 8 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const TargetBlockState = core_1.ObjectNode({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: core_1.NumberNode({ min: 0, max: 1 }),\r\n targets: core_1.ListNode(TargetBlockState)\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n depth: Common_1.IntProvider({ min: 1, max: 128 }),\r\n vertical_range: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n extra_edge_column_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n vegetation_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n xz_radius: Common_1.IntProvider(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: Feature\r\n };\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.IntProvider({ min: 0, max: 3 }),\r\n height: Common_1.IntProvider({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:decorated_flower': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.IntProvider({ min: 0, max: 16 }),\r\n rim_size: Common_1.IntProvider({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true, min: 1, max: 512 }),\r\n height: Common_1.IntProvider({ min: 0, max: 128 }),\r\n radius: Common_1.IntProvider({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n height_deviation: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: Common_1.IntProvider({ min: 0, max: 128 }),\r\n density: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n wetness: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: core_1.NumberNode({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: core_1.NumberNode({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: core_1.ObjectNode({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: core_1.ListNode(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: core_1.ObjectNode({\r\n filling: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n inner_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n middle_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n outer_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n }),\r\n crack: core_1.ObjectNode({\r\n generate_crack_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n base_crack_size: core_1.Opt(core_1.NumberNode({ min: 0, max: 5 })),\r\n crack_point_offset: core_1.Opt(core_1.NumberNode({ min: 0, max: 10, integer: true })),\r\n }),\r\n noise_multiplier: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_potential_placements_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: core_1.Opt(core_1.BooleanNode()),\r\n outer_wall_distance: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n distribution_points: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n point_offset: core_1.Opt(Common_1.IntProvider({ min: 0, max: 10 })),\r\n min_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n invalid_blocks_threshold: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: core_1.Opt(core_1.NumberNode({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n can_place_on_floor: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_ceiling: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_wall: core_1.Opt(core_1.BooleanNode()),\r\n can_be_placed_on: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:growing_plant': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allow_water: core_1.BooleanNode(),\r\n height_distribution: core_1.ListNode(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true }),\r\n data: Common_1.IntProvider()\r\n })),\r\n body_provider: Reference('block_state_provider'),\r\n head_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: core_1.Opt(core_1.NumberNode({ integer: true, min: 1, max: 512 })),\r\n column_radius: Common_1.IntProvider({ min: 0, max: 60 }),\r\n height_scale: Common_1.FloatProvider({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: core_1.NumberNode({ min: 0, max: 1 }),\r\n stalactite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n wind_speed: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n min_radius_for_wind: core_1.NumberNode({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: core_1.NumberNode({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: core_1.ListNode(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: core_1.NumberNode({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: core_1.NumberNode({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n feature: Feature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: core_1.Opt(core_1.BooleanNode()),\r\n force_dirt: core_1.Opt(core_1.BooleanNode()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n sapling_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: Common_1.IntProvider({ min: 1, max: 64 }),\r\n min_height_for_leaves: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.IntProvider({ min: 0, max: 16 }),\r\n offset: Common_1.IntProvider({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: Common_1.IntProvider({ min: 1, max: 512 }),\r\n leaf_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: core_1.NumberNode({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: Common_1.IntProvider(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n size: Common_1.IntProvider({ min: 0 })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n min_surface_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n noise_caves_enabled: core_1.BooleanNode(),\r\n noodle_caves_enabled: core_1.BooleanNode(),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n deepslate_enabled: core_1.BooleanNode(),\r\n ore_veins_enabled: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","// A port of an algorithm by Johannes Baagøe , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","const dec2hex = (dec) => ('0' + dec.toString(16)).substr(-2);\nexport function hexId(length = 12) {\n var arr = new Uint8Array(length / 2);\n window.crypto.getRandomValues(arr);\n return Array.from(arr, dec2hex).join('');\n}\nexport function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>')\n .replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n}\nexport function hashString(s) {\n let h = 0;\n for (let i = 0; i < s.length; i++)\n h = Math.imul(31, h) + s.charCodeAt(i) | 0;\n return h;\n}\nexport function stringToColor(str) {\n const h = Math.abs(hashString(str));\n return [h % 256, (h >> 8) % 256, (h >> 16) % 256];\n}\nexport function clamp(a, b, c) {\n return Math.max(a, Math.min(b, c));\n}\nexport function clampedLerp(a, b, c) {\n if (c < 0) {\n return a;\n }\n else if (c > 1) {\n return b;\n }\n else {\n return lerp(c, a, b);\n }\n}\nexport function lerp(a, b, c) {\n return b + a * (c - b);\n}\nexport function lerp2(a, b, c, d, e, f) {\n return lerp(b, lerp(a, c, d), lerp(a, e, f));\n}\nexport function lerp3(a, b, c, d, e, f, g, h, i, j, k) {\n return lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k));\n}\nexport function smoothstep(x) {\n return x * x * x * (x * (x * 6 - 15) + 10);\n}\n","import { hexId } from \"../Utils\";\nexport class Property {\n constructor(value) {\n this.value = value;\n this.watchers = [];\n }\n set(value) {\n if (this.value === value)\n return;\n const oldValue = this.value;\n this.value = value;\n this.watchers.forEach(w => w.watcher(this.value, oldValue));\n }\n get() {\n return this.value;\n }\n watchRun(watcher, name) {\n watcher(this.value, null);\n return this.watch(watcher, name);\n }\n watch(watcher, name) {\n name = name !== null && name !== void 0 ? name : hexId();\n const w = this.watchers.find(w => w.name === name);\n if (w) {\n w.watcher = watcher;\n }\n else {\n this.watchers.push({ name, watcher });\n }\n return this;\n }\n}\n","import { Property } from './Property';\nexport class LocalStorageProperty extends Property {\n constructor(id, fallback) {\n var _a;\n super((_a = localStorage.getItem(id)) !== null && _a !== void 0 ? _a : fallback);\n this.id = id;\n }\n set(value) {\n super.set(value);\n localStorage.setItem(this.id, value);\n }\n get() {\n return this.value;\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { App, checkVersion } from './App';\nimport config from '../config.json';\n['1.15', '1.16', '1.17'].forEach(v => localStorage.removeItem(`cache_${v}`));\nconst CACHE_NAME = `misode-v1`;\nconst mcdataUrl = 'https://raw.githubusercontent.com/Arcensoth/mcdata';\nconst vanillaDatapackUrl = 'https://raw.githubusercontent.com/SPGoding/vanilla-datapack';\nconst refs = [\n {\n id: 'mcdata_master',\n hash: __MCDATA_MASTER_HASH__,\n url: mcdataUrl\n },\n {\n id: 'vanilla_datapack_summary',\n hash: __VANILLA_DATAPACK_SUMMARY_HASH__,\n url: vanillaDatapackUrl\n },\n];\nexport function fetchData(target, versionId) {\n return __awaiter(this, void 0, void 0, function* () {\n const version = config.versions.find(v => v.id === versionId);\n if (!version) {\n console.error(`[fetchData] Unknown version ${version} in ${JSON.stringify(config.versions)}`);\n return;\n }\n console.debug(`[fetchData] ${JSON.stringify(version)}`);\n if (version.dynamic) {\n yield Promise.all(refs\n .filter(r => localStorage.getItem(`cached_${r.id}`) !== r.hash)\n .map((r) => __awaiter(this, void 0, void 0, function* () {\n console.debug(`[deleteMatching] ${r.id} '${localStorage.getItem(`cached_${r.id}`)}' < '${r.hash}' ${r.url}/${version.refs[r.id]}`);\n yield deleteMatching(url => url.startsWith(`${r.url}/${version.refs[r.id]}`));\n console.debug(`[deleteMatching] Done! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`);\n localStorage.setItem(`cached_${r.id}`, r.hash);\n console.debug(`[deleteMatching] Set! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`);\n })));\n }\n yield Promise.all([\n fetchRegistries(version, target),\n fetchBlockStateMap(version),\n fetchDynamicRegistries(version, target)\n ]);\n });\n}\nfunction fetchRegistries(version, target) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug(`[fetchRegistries] ${version.id}`);\n const registries = config.registries\n .filter(r => !r.dynamic)\n .filter(r => checkVersion(version.id, r.minVersion, r.maxVersion));\n if (checkVersion(version.id, undefined, '1.15')) {\n const url = `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/registries.json`;\n try {\n const data = yield getData(url, (data) => {\n const res = {};\n Object.keys(data).forEach(k => {\n res[k.slice(10)] = Object.keys(data[k].entries);\n });\n return res;\n });\n registries.forEach(r => {\n var _a;\n target.register(r.id, (_a = data[r.id]) !== null && _a !== void 0 ? _a : []);\n });\n }\n catch (e) {\n console.warn(`Error occurred while fetching registries:`, e);\n }\n }\n else {\n return Promise.all(registries.map((r) => __awaiter(this, void 0, void 0, function* () {\n try {\n const url = r.path\n ? `${mcdataUrl}/${version.refs.mcdata_master}/${r.path}/data.min.json`\n : `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/registries/${r.id}/data.min.json`;\n target.register(r.id, yield getData(url, v => v.values));\n }\n catch (e) {\n console.warn(`Error occurred while fetching registry ${r.id}:`, e);\n }\n })));\n }\n });\n}\nfunction fetchBlockStateMap(version) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug(`[fetchBlockStateMap] ${version.id}`);\n if (checkVersion(version.id, undefined, '1.16')) {\n const url = (checkVersion(version.id, undefined, '1.15'))\n ? `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/blocks.json`\n : `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/data.min.json`;\n try {\n const data = yield getData(url, (data) => {\n const res = {};\n Object.keys(data).forEach(b => {\n res[b] = {\n properties: data[b].properties,\n default: data[b].states.find((s) => s.default).properties\n };\n });\n return res;\n });\n App.blockStateRegistry = data;\n }\n catch (e) {\n console.warn(`Error occurred while fetching block state map:`, e);\n }\n }\n else {\n const url = `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`;\n try {\n App.blockStateRegistry = yield getData(url);\n }\n catch (e) {\n console.warn(`Error occurred while fetching block state map:`, e);\n }\n }\n });\n}\nfunction fetchDynamicRegistries(version, target) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug(`[fetchDynamicRegistries] ${version.id}`);\n const registries = config.registries\n .filter(r => r.dynamic)\n .filter(r => checkVersion(version.id, r.minVersion, r.maxVersion));\n if (checkVersion(version.id, '1.16')) {\n const url = `${vanillaDatapackUrl}/${version.refs.vanilla_datapack_summary}/summary/flattened.min.json`;\n try {\n const data = yield getData(url);\n registries.forEach(r => {\n target.register(r.id, data[r.id]);\n });\n }\n catch (e) {\n console.warn(`Error occurred while fetching dynamic registries:`, e);\n }\n }\n });\n}\nexport function fetchPreset(version, registry, id) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug(`[fetchPreset] ${version.id} ${registry} ${id}`);\n try {\n const res = yield fetch(`${vanillaDatapackUrl}/${version.refs.vanilla_datapack_data}/data/minecraft/${registry}/${id}.json`);\n return yield res.json();\n }\n catch (e) {\n console.warn(`Error occurred while fetching ${registry} preset ${id}:`, e);\n }\n });\n}\nfunction getData(url, fn = (v) => v) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const cache = yield caches.open(CACHE_NAME);\n console.debug(`[getData] Opened cache ${CACHE_NAME} ${url}`);\n const cacheResponse = yield cache.match(url);\n if (cacheResponse && cacheResponse.ok) {\n console.debug(`[getData] Retrieving cached data ${url}`);\n return yield cacheResponse.json();\n }\n console.debug(`[getData] fetching data ${url}`);\n const fetchResponse = yield fetch(url);\n const responseData = fn(yield fetchResponse.json());\n yield cache.put(url, new Response(JSON.stringify(responseData)));\n return responseData;\n }\n catch (e) {\n console.warn(`[getData] Failed to open cache ${CACHE_NAME}: ${e.message}`);\n console.debug(`[getData] fetching data ${url}`);\n const fetchResponse = yield fetch(url);\n const responseData = fn(yield fetchResponse.json());\n return responseData;\n }\n });\n}\nfunction deleteMatching(matches) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const cache = yield caches.open(CACHE_NAME);\n console.debug(`[deleteMatching] Opened cache ${CACHE_NAME}`);\n const promises = [];\n for (const request of yield cache.keys()) {\n if (matches(request.url)) {\n promises.push(cache.delete(request));\n }\n }\n console.debug(`[deleteMatching] Removing ${promises.length} cache objects...`);\n yield Promise.all(promises);\n }\n catch (e) {\n console.warn(`[deleteMatching] Failed to open cache ${CACHE_NAME}: ${e.message}`);\n }\n });\n}\n","export const Octicon = {\n archive: '',\n arrow_both: '',\n arrow_left: '',\n arrow_right: '',\n chevron_down: '',\n chevron_right: '',\n clippy: '',\n code: '',\n dash: '',\n download: '',\n eye: '',\n eye_closed: '',\n fold: '',\n gear: '',\n globe: '',\n history: '',\n info: '',\n issue_opened: '',\n kebab_horizontal: '',\n link: '',\n mark_github: '',\n moon: '',\n note: '',\n package: '',\n play: '',\n plus: '',\n plus_circle: '',\n search: '',\n square: '',\n square_fill: '',\n sun: '',\n tag: '',\n trashcan: '',\n three_bars: '',\n unfold: '',\n x: '',\n};\n","import { lerp3, smoothstep } from '../../Utils';\nexport class ImprovedNoise {\n constructor(random) {\n this.xo = random() * 256;\n this.yo = random() * 256;\n this.zo = random() * 256;\n this.p = Array(256);\n for (let i = 0; i < 256; i += 1) {\n this.p[i] = i;\n }\n for (let i = 0; i < 256; i += 1) {\n const n = random.int32() % (256 - i);\n const b = this.p[i];\n this.p[i] = this.p[i + n];\n this.p[i + n] = b;\n }\n }\n noise(x, y, z, a, b) {\n const x2 = x + this.xo;\n const y2 = y + this.yo;\n const z2 = z + this.zo;\n const x3 = Math.floor(x2);\n const y3 = Math.floor(y2);\n const z3 = Math.floor(z2);\n const x4 = x2 - x3;\n const y4 = y2 - y3;\n const z4 = z2 - z3;\n const x5 = smoothstep(x4);\n const y5 = smoothstep(y4);\n const z5 = smoothstep(z4);\n let y6 = 0;\n if (a !== 0) {\n y6 = Math.floor(Math.min(b, y4) / a) * a;\n }\n return this.sampleAndLerp(x3, y3, z3, x4, y4 - y6, z4, x5, y5, z5);\n }\n gradDot(a, b, c, d) {\n const grad = ImprovedNoise.GRADIENT[a & 15];\n return grad[0] * b + grad[1] * c + grad[2] * d;\n }\n P(i) {\n return this.p[i & 255] & 255;\n }\n sampleAndLerp(a, b, c, d, e, f, g, h, i) {\n const j = this.P(a) + b;\n const k = this.P(j) + c;\n const l = this.P(j + 1) + c;\n const m = this.P(a + 1) + b;\n const n = this.P(m) + c;\n const o = this.P(m + 1) + c;\n const p = this.gradDot(this.P(k), d, e, f);\n const q = this.gradDot(this.P(n), d - 1, e, f);\n const r = this.gradDot(this.P(l), d, e - 1, f);\n const s = this.gradDot(this.P(o), d - 1, e - 1, f);\n const t = this.gradDot(this.P(k + 1), d, e, f - 1);\n const u = this.gradDot(this.P(n + 1), d - 1, e, f - 1);\n const v = this.gradDot(this.P(l + 1), d, e - 1, f - 1);\n const w = this.gradDot(this.P(o + 1), d - 1, e - 1, f - 1);\n return lerp3(g, h, i, p, q, r, s, t, u, v, w);\n }\n}\nImprovedNoise.GRADIENT = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]];\n","import seedrandom from 'seedrandom';\nimport { ImprovedNoise } from \"./ImprovedNoise\";\nexport class PerlinNoise {\n constructor(seed, firstOctave, amplitudes) {\n this.amplitudes = amplitudes;\n this.noiseLevels = Array(this.amplitudes.length);\n for (let i = 0; i < this.amplitudes.length; i += 1) {\n this.noiseLevels[i] = new ImprovedNoise(seedrandom(seed));\n }\n this.lowestFreqInputFactor = Math.pow(2, firstOctave);\n this.lowestFreqValueFactor = Math.pow(2, (amplitudes.length - 1)) / (Math.pow(2, amplitudes.length) - 1);\n }\n static fromRange(seed, min, max) {\n return new PerlinNoise(seed, min, Array(max - min + 1).fill(1));\n }\n getValue(x, y, z, a = 0, b = 0, fixY = false) {\n let value = 0;\n let inputF = this.lowestFreqInputFactor;\n let valueF = this.lowestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n const noise = this.noiseLevels[i];\n if (noise) {\n value += this.amplitudes[i] * noise.noise(PerlinNoise.wrap(x * inputF), fixY ? -noise.yo : PerlinNoise.wrap(y * inputF), PerlinNoise.wrap(z * inputF), a * inputF, b * inputF) * valueF;\n }\n inputF *= 2;\n valueF /= 2;\n }\n return value;\n }\n getOctaveNoise(i) {\n return this.noiseLevels[this.noiseLevels.length - 1 - i];\n }\n static wrap(value) {\n return value - Math.floor(value / 3.3554432E7 + 0.5) * 3.3554432E7;\n }\n}\n","import { PerlinNoise } from './PerlinNoise';\nexport class NormalNoise {\n constructor(seed, firstOctave, amplitudes) {\n this.first = new PerlinNoise(seed, firstOctave, amplitudes);\n this.second = new PerlinNoise(seed + 'a', firstOctave, amplitudes);\n let min = +Infinity;\n let max = -Infinity;\n for (let i = 0; i < amplitudes.length; i += 1) {\n if (amplitudes[i] !== 0) {\n min = Math.min(min, i);\n max = Math.max(max, i);\n }\n }\n const expectedDeviation = 0.1 * (1 + 1 / (max - min + 1));\n this.valueFactor = (1 / 6) / expectedDeviation;\n }\n getValue(x, y, z) {\n const x2 = x * 1.0181268882175227;\n const y2 = y * 1.0181268882175227;\n const z2 = z * 1.0181268882175227;\n return (this.first.getValue(x, y, z) + this.second.getValue(x2, y2, z2)) * this.valueFactor;\n }\n wrap(value) {\n return value - Math.floor(value / 3.3554432E7 + 0.5) * 3.3554432E7;\n }\n}\n","export class Preview {\n constructor() {\n this.redraw = () => { };\n }\n dirty(path) {\n return JSON.stringify(this.state) !== JSON.stringify(path.get());\n }\n menu(view, redraw) {\n return '';\n }\n onDrag(dx, dy) { }\n}\n","import { Path } from \"@mcschema/core\";\nimport { Octicon } from \"../components/Octicon\";\nimport { Property } from \"../state/Property\";\nimport { hexId, stringToColor } from \"../Utils\";\nimport { NormalNoise } from './noise/NormalNoise';\nimport { Preview } from './Preview';\nconst LOCAL_STORAGE_BIOME_COLORS = 'biome_colors';\nexport class BiomeNoisePreview extends Preview {\n constructor() {\n var _a;\n super();\n this.offsetX = 0;\n this.offsetY = 0;\n this.seed = hexId();\n this.viewScale = new Property(0);\n this.biomeColors = new Property({});\n this.biomeColors.set(JSON.parse((_a = localStorage.getItem(LOCAL_STORAGE_BIOME_COLORS)) !== null && _a !== void 0 ? _a : '{}'));\n this.noise = [];\n this.biomeColors.watch(() => this.redraw());\n }\n getName() {\n return 'biome-noise';\n }\n active(path) {\n return path.endsWith(new Path(['generator', 'biome_source']))\n && path.push('type').get() === 'minecraft:multi_noise';\n }\n menu(view, redraw) {\n return `\n
      {\n this.viewScale.watchRun(value => {\n const blocks = (Math.pow(2, value)) * 200;\n el.textContent = blocks.toFixed();\n }, 'preview-controls');\n })}\">
      \n
      {\n this.viewScale.set(this.viewScale.get() - 0.5);\n redraw();\n })}\">\n ${Octicon.plus}\n
      \n
      {\n this.viewScale.set(this.viewScale.get() + 0.5);\n redraw();\n })}\">\n ${Octicon.dash}\n
      `;\n }\n getSize() {\n return [200, 100];\n }\n draw(model, img) {\n var _a;\n this.noise = BiomeNoisePreview.noiseMaps.map((id, i) => {\n const config = this.state[`${id}_noise`];\n return new NormalNoise(this.seed + i, config.firstOctave, config.amplitudes);\n });\n const biomeColorCache = {};\n this.state.biomes.forEach((b) => {\n biomeColorCache[b.biome] = this.getBiomeColor(b.biome);\n });\n const data = img.data;\n const s = (Math.pow(2, this.viewScale.get()));\n for (let x = 0; x < 200; x += 1) {\n for (let y = 0; y < 100; y += 1) {\n const i = (y * (img.width * 4)) + (x * 4);\n const xx = (x - this.offsetX) * s - 100 * s;\n const yy = (y - this.offsetY) * s - 50 * s;\n const b = this.closestBiome(xx, yy);\n const color = (_a = biomeColorCache[b]) !== null && _a !== void 0 ? _a : [128, 128, 128];\n data[i] = color[0];\n data[i + 1] = color[1];\n data[i + 2] = color[2];\n data[i + 3] = 255;\n }\n }\n }\n onDrag(dx, dy) {\n this.offsetX += dx;\n this.offsetY += dy;\n }\n closestBiome(x, y) {\n if (!this.state.biomes || this.state.biomes.length === 0)\n return '';\n const noise = this.noise.map(n => n.getValue(x, y, 0));\n let minDist = Infinity;\n let minBiome = '';\n for (const b of this.state.biomes) {\n const dist = this.fitness(b.parameters, { altitude: noise[0], temperature: noise[1], humidity: noise[2], weirdness: noise[3], offset: 0 });\n if (dist < minDist) {\n minDist = dist;\n minBiome = b.biome;\n }\n }\n return minBiome;\n }\n fitness(a, b) {\n return (a.altitude - b.altitude) * (a.altitude - b.altitude) + (a.temperature - b.temperature) * (a.temperature - b.temperature) + (a.humidity - b.humidity) * (a.humidity - b.humidity) + (a.weirdness - b.weirdness) * (a.weirdness - b.weirdness) + (a.offset - b.offset) * (a.offset - b.offset);\n }\n getBiomeColor(biome) {\n const color = this.biomeColors.get()[biome];\n if (color === undefined) {\n return stringToColor(biome);\n }\n return color;\n }\n setBiomeColor(biome, value) {\n const color = [parseInt(value.slice(1, 3), 16), parseInt(value.slice(3, 5), 16), parseInt(value.slice(5, 7), 16)];\n this.biomeColors.set(Object.assign(Object.assign({}, this.biomeColors.get()), { [biome]: color }));\n localStorage.setItem(LOCAL_STORAGE_BIOME_COLORS, JSON.stringify(this.biomeColors.get()));\n }\n getBiomeHex(biome) {\n return '#' + this.getBiomeColor(biome).map(e => e.toString(16).padStart(2, '0')).join('');\n }\n}\nBiomeNoisePreview.noiseMaps = ['altitude', 'temperature', 'humidity', 'weirdness'];\n","import English from '../locales/en.json';\nimport { App } from './App';\nexport const Locales = {\n 'en': English\n};\nexport function resolveLocaleParams(value, params) {\n return value === null || value === void 0 ? void 0 : value.replace(/%\\d+%/g, match => {\n const index = parseInt(match.slice(1, -1));\n return (params === null || params === void 0 ? void 0 : params[index]) !== undefined ? params[index] : match;\n });\n}\nexport function locale(key, params) {\n var _a, _b, _c;\n const value = (_b = (_a = Locales[App.language.get()]) === null || _a === void 0 ? void 0 : _a[key]) !== null && _b !== void 0 ? _b : Locales.en[key];\n return (_c = resolveLocaleParams(value, params)) !== null && _c !== void 0 ? _c : key;\n}\nexport function segmentedLocale(segments, params, depth = 5, minDepth = 1) {\n return [App.language.get(), 'en'].reduce((prev, code) => {\n var _a;\n if (prev !== undefined)\n return prev;\n const array = segments.slice(-depth);\n while (array.length >= minDepth) {\n const locale = resolveLocaleParams((_a = Locales[code]) === null || _a === void 0 ? void 0 : _a[array.join('.')], params);\n if (locale !== undefined)\n return locale;\n array.shift();\n }\n return undefined;\n }, undefined);\n}\n","import { locale } from \"../Locales\";\nimport { hexId } from \"../Utils\";\nexport class View {\n constructor() {\n this.registry = {};\n }\n render() {\n return '';\n }\n register(callback) {\n const id = hexId();\n this.registry[id] = callback;\n return id;\n }\n on(type, callback) {\n return this.register(el => {\n el.addEventListener(type, evt => {\n callback(el);\n evt.stopPropagation();\n });\n });\n }\n onChange(callback) {\n return this.on('change', callback);\n }\n onClick(callback) {\n return this.on('click', callback);\n }\n mounted(el, clear = true) {\n el.querySelectorAll('[data-id]').forEach(el => {\n var _a, _b;\n const id = el.getAttribute('data-id');\n (_b = (_a = this.registry)[id]) === null || _b === void 0 ? void 0 : _b.call(_a, el);\n });\n if (clear) {\n this.registry = {};\n }\n el.querySelectorAll('[data-i18n]').forEach(el => {\n el.textContent = locale(el.attributes.getNamedItem('data-i18n').value);\n });\n }\n mount(el, html, clear = true) {\n console.debug(`[View.mount] ${html.replace(/\\n/g, '').slice(0, 40)}...`);\n el.innerHTML = html;\n this.mounted(el, clear);\n }\n}\nexport const toggleMenu = (el) => {\n el.classList.add('active');\n const hideMenu = () => document.body.addEventListener('click', evt => {\n var _a;\n if (evt.target.matches('.btn.input') || ((_a = evt.target.closest('.btn')) === null || _a === void 0 ? void 0 : _a.classList.contains('input'))) {\n hideMenu();\n return;\n }\n el.classList.remove('active');\n }, { capture: true, once: true });\n hideMenu();\n};\n","import { PerlinNoise } from './PerlinNoise';\nimport { clampedLerp, hexId, lerp2 } from '../../Utils';\nexport class NoiseChunkGenerator {\n constructor() {\n this.settings = {};\n this.chunkWidth = 4;\n this.chunkHeight = 4;\n this.chunkCountY = 32;\n this.biomeDepth = 0.1;\n this.biomeScale = 0.2;\n this.noiseColumnCache = [];\n this.xOffset = 0;\n this.minLimitPerlinNoise = PerlinNoise.fromRange(hexId(), -15, 0);\n this.maxLimitPerlinNoise = PerlinNoise.fromRange(hexId(), -15, 0);\n this.mainPerlinNoise = PerlinNoise.fromRange(hexId(), -7, 0);\n this.depthNoise = PerlinNoise.fromRange(hexId(), -15, 0);\n }\n reset(settings, depth, scale, xOffset, width) {\n this.settings = settings;\n this.chunkWidth = settings.size_horizontal * 4;\n this.chunkHeight = settings.size_vertical * 4;\n this.chunkCountY = Math.floor(settings.height / this.chunkHeight);\n if (settings.amplified && depth > 0) {\n depth = 1 + depth * 2;\n scale = 1 + scale * 4;\n }\n this.biomeDepth = 0.265625 * (depth * 0.5 - 0.125);\n this.biomeScale = 96.0 / (scale * 0.9 + 0.1);\n this.noiseColumnCache = Array(width).fill(null);\n this.xOffset = xOffset;\n }\n iterateNoiseColumn(x) {\n const data = Array(this.chunkCountY * this.chunkHeight);\n const cx = Math.floor(x / this.chunkWidth);\n const ox = Math.floor(x % this.chunkWidth) / this.chunkWidth;\n const noise1 = this.fillNoiseColumn(cx);\n const noise2 = this.fillNoiseColumn(cx + 1);\n for (let y = this.chunkCountY - 1; y >= 0; y -= 1) {\n for (let yy = this.chunkHeight; yy >= 0; yy -= 1) {\n const oy = yy / this.chunkHeight;\n const i = y * this.chunkHeight + yy;\n data[i] = lerp2(oy, ox, noise1[y], noise1[y + 1], noise2[y], noise2[y + 1]);\n }\n }\n return data;\n }\n fillNoiseColumn(x) {\n const cachedColumn = this.noiseColumnCache[x - this.xOffset];\n if (cachedColumn)\n return cachedColumn;\n const data = Array(this.chunkCountY + 1);\n const xzScale = 684.412 * this.settings.sampling.xz_scale;\n const yScale = 684.412 * this.settings.sampling.y_scale;\n const xzFactor = xzScale / this.settings.sampling.xz_factor;\n const yFactor = yScale / this.settings.sampling.y_factor;\n const randomDensity = this.settings.random_density_offset ? this.getRandomDensity(x) : 0;\n for (let y = 0; y <= this.chunkCountY; y += 1) {\n let noise = this.sampleAndClampNoise(x, y, this.mainPerlinNoise.getOctaveNoise(0).zo, xzScale, yScale, xzFactor, yFactor);\n const yOffset = 1 - y * 2 / this.chunkCountY + randomDensity;\n const density = yOffset * this.settings.density_factor + this.settings.density_offset;\n const falloff = (density + this.biomeDepth) * this.biomeScale;\n noise += falloff * (falloff > 0 ? 4 : 1);\n if (this.settings.top_slide.size > 0) {\n noise = clampedLerp(this.settings.top_slide.target, noise, (this.chunkCountY - y - (this.settings.top_slide.offset)) / (this.settings.top_slide.size));\n }\n if (this.settings.bottom_slide.size > 0) {\n noise = clampedLerp(this.settings.bottom_slide.target, noise, (y - (this.settings.bottom_slide.offset)) / (this.settings.bottom_slide.size));\n }\n data[y] = noise;\n }\n this.noiseColumnCache[x - this.xOffset] = data;\n return data;\n }\n getRandomDensity(x) {\n const noise = this.depthNoise.getValue(x * 200, 10, this.depthNoise.getOctaveNoise(0).zo, 1, 0, true);\n const a = (noise < 0) ? -noise * 0.3 : noise;\n const b = a * 24.575625 - 2;\n return (b < 0) ? b * 0.009486607142857142 : Math.min(b, 1) * 0.006640625;\n }\n sampleAndClampNoise(x, y, z, xzScale, yScale, xzFactor, yFactor) {\n let a = 0;\n let b = 0;\n let c = 0;\n let d = 1;\n for (let i = 0; i < 16; i += 1) {\n const x2 = PerlinNoise.wrap(x * xzScale * d);\n const y2 = PerlinNoise.wrap(y * yScale * d);\n const z2 = PerlinNoise.wrap(z * xzScale * d);\n const e = yScale * d;\n const minLimitNoise = this.minLimitPerlinNoise.getOctaveNoise(i);\n if (minLimitNoise) {\n a += minLimitNoise.noise(x2, y2, z2, e, y * e) / d;\n }\n const maxLimitNoise = this.maxLimitPerlinNoise.getOctaveNoise(i);\n if (maxLimitNoise) {\n b += maxLimitNoise.noise(x2, y2, z2, e, y * e) / d;\n }\n if (i < 8) {\n const mainNoise = this.mainPerlinNoise.getOctaveNoise(i);\n if (mainNoise) {\n c += mainNoise.noise(PerlinNoise.wrap(x * xzFactor * d), PerlinNoise.wrap(y * yFactor * d), PerlinNoise.wrap(z * xzFactor * d), yFactor * d, y * yFactor * d) / d;\n }\n }\n d /= 2;\n }\n return clampedLerp(a / 512, b / 512, (c / 10 + 1) / 2);\n }\n}\n","import { Path } from \"@mcschema/core\";\nimport seedrandom from \"seedrandom\";\nimport { App } from \"../App\";\nimport { clamp, hexId, stringToColor } from \"../Utils\";\nimport { PerlinNoise } from \"./noise/PerlinNoise\";\nimport { Preview } from './Preview';\nimport { Octicon } from '../components/Octicon';\nconst terrain = [50, 50, 51, 51, 52, 52, 53, 54, 56, 57, 57, 58, 58, 59, 60, 60, 60, 59, 59, 59, 60, 61, 61, 62, 63, 63, 64, 64, 64, 65, 65, 66, 66, 65, 65, 66, 66, 67, 67, 67, 68, 69, 71, 73, 74, 76, 79, 80, 81, 81, 82, 83, 83, 82, 82, 81, 81, 80, 80, 80, 81, 81, 82, 82];\nconst seaLevel = 63;\nconst featureColors = [\n [255, 77, 54],\n [59, 118, 255],\n [91, 207, 25],\n [217, 32, 245],\n [255, 209, 41],\n [52, 204, 209],\n];\nexport class DecoratorPreview extends Preview {\n constructor() {\n super();\n this.Features = {\n decorated: (config, pos) => {\n const positions = this.getPositions(pos, config === null || config === void 0 ? void 0 : config.decorator);\n return positions.flatMap(p => this.getPlacements(p, config === null || config === void 0 ? void 0 : config.feature));\n },\n random_boolean_selector: (config, pos) => {\n const feature = this.random() < 0.5 ? config === null || config === void 0 ? void 0 : config.feature_true : config === null || config === void 0 ? void 0 : config.feature_false;\n return this.getPlacements(pos, feature);\n },\n random_selector: (config, pos) => {\n var _a, _b;\n for (const f of (_a = config === null || config === void 0 ? void 0 : config.features) !== null && _a !== void 0 ? _a : []) {\n if (this.random() < ((_b = f === null || f === void 0 ? void 0 : f.chance) !== null && _b !== void 0 ? _b : 0)) {\n return this.getPlacements(pos, f.feature);\n }\n }\n return this.getPlacements(pos, config === null || config === void 0 ? void 0 : config.default);\n },\n simple_random_selector: (config, pos) => {\n var _a, _b, _c;\n const feature = (_a = config === null || config === void 0 ? void 0 : config.features) === null || _a === void 0 ? void 0 : _a[this.nextInt((_c = (_b = config === null || config === void 0 ? void 0 : config.features) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0)];\n return this.getPlacements(pos, feature);\n }\n };\n this.Decorators = {\n chance: (config, pos) => {\n var _a;\n return this.random() < 1 / ((_a = config === null || config === void 0 ? void 0 : config.chance) !== null && _a !== void 0 ? _a : 1) ? [pos] : [];\n },\n count: (config, pos) => {\n var _a;\n return new Array(this.sampleUniformInt((_a = config === null || config === void 0 ? void 0 : config.count) !== null && _a !== void 0 ? _a : 1)).fill(pos);\n },\n count_extra: (config, pos) => {\n var _a, _b, _c;\n let count = (_a = config === null || config === void 0 ? void 0 : config.count) !== null && _a !== void 0 ? _a : 1;\n if ((_b = this.random() < config.extra_chance) !== null && _b !== void 0 ? _b : 0) {\n count += (_c = config.extra_count) !== null && _c !== void 0 ? _c : 0;\n }\n return new Array(count).fill(pos);\n },\n count_multilayer: (config, pos) => {\n var _a;\n return new Array(this.sampleUniformInt((_a = config === null || config === void 0 ? void 0 : config.count) !== null && _a !== void 0 ? _a : 1)).fill(pos)\n .map(p => [\n p[0] + this.nextInt(16),\n p[1],\n p[2] + this.nextInt(16)\n ]);\n },\n count_noise: (config, pos) => {\n const noise = this.biomeInfoNoise.getValue(pos[0] / 200, 0, pos[2] / 200);\n const count = noise < config.noise_level ? config.below_noise : config.above_noise;\n return new Array(count).fill(pos);\n },\n count_noise_biased: (config, pos) => {\n const factor = Math.max(1, config.noise_factor);\n const noise = this.biomeInfoNoise.getValue(pos[0] / factor, 0, pos[2] / factor);\n const count = Math.max(0, Math.ceil((noise + config.noise_offset) * config.noise_to_count_ratio));\n return new Array(count).fill(pos);\n },\n dark_oak_tree: (config, pos) => {\n return [...new Array(16)].map((e, i) => {\n const x = Math.floor(i / 4) * 4 + 1 + this.nextInt(3) + pos[0];\n const y = Math.max(seaLevel, terrain[clamp(0, 63, x)]);\n const z = Math.floor(i % 4) * 4 + 1 + this.nextInt(3) + pos[2];\n return [x, y, z];\n });\n },\n decorated: (config, pos) => {\n return this.getPositions(pos, config === null || config === void 0 ? void 0 : config.outer).flatMap(p => {\n return this.getPositions(p, config === null || config === void 0 ? void 0 : config.inner);\n });\n },\n depth_average: (config, pos) => {\n var _a, _b, _c, _d;\n const y = this.nextInt((_a = config === null || config === void 0 ? void 0 : config.spread) !== null && _a !== void 0 ? _a : 0) + this.nextInt((_b = config === null || config === void 0 ? void 0 : config.spread) !== null && _b !== void 0 ? _b : 0) - ((_c = config.spread) !== null && _c !== void 0 ? _c : 0) + ((_d = config === null || config === void 0 ? void 0 : config.baseline) !== null && _d !== void 0 ? _d : 0);\n return this.decorateY(pos, y);\n },\n emerald_ore: (config, pos) => {\n const count = 3 + this.nextInt(6);\n return [...new Array(count)].map(e => [\n this.nextInt(16) + pos[0],\n this.nextInt(28) + 4,\n this.nextInt(16) + pos[2]\n ]);\n },\n fire: (config, pos) => {\n const count = this.nextInt(this.nextInt(this.sampleUniformInt(config === null || config === void 0 ? void 0 : config.count))) + 1;\n return [...new Array(count)].map(e => [\n this.nextInt(16) + pos[0],\n this.nextInt(120) + 4,\n this.nextInt(16) + pos[2]\n ]);\n },\n glowstone: (config, pos) => {\n const count = this.nextInt(this.nextInt(this.sampleUniformInt(config === null || config === void 0 ? void 0 : config.count)) + 1);\n return [...new Array(count)].map(e => [\n this.nextInt(16) + pos[0],\n this.nextInt(120) + 4,\n this.nextInt(16) + pos[2]\n ]);\n },\n heightmap: (config, pos) => {\n const y = Math.max(seaLevel, terrain[clamp(0, 63, pos[0])]);\n return this.decorateY(pos, y);\n },\n heightmap_spread_double: (config, pos) => {\n const y = Math.max(seaLevel, terrain[clamp(0, 63, pos[0])]);\n return this.decorateY(pos, this.nextInt(y * 2));\n },\n heightmap_world_surface: (config, pos) => {\n const y = Math.max(seaLevel, terrain[clamp(0, 63, pos[0])]);\n return this.decorateY(pos, y);\n },\n iceberg: (config, pos) => {\n return [[\n this.nextInt(8) + 4 + pos[0],\n pos[1],\n this.nextInt(8) + 4 + pos[2]\n ]];\n },\n lava_lake: (config, pos) => {\n var _a, _b;\n if (this.nextInt(((_a = config.chance) !== null && _a !== void 0 ? _a : 1) / 10) === 0) {\n const y = this.nextInt(this.nextInt(256 - 8) + 8);\n if (y < seaLevel || this.nextInt(((_b = config === null || config === void 0 ? void 0 : config.chance) !== null && _b !== void 0 ? _b : 1) / 8) == 0) {\n const x = this.nextInt(16) + pos[0];\n const z = this.nextInt(16) + pos[2];\n return [[x, y, z]];\n }\n }\n return [];\n },\n nope: (config, pos) => {\n return [pos];\n },\n range: (config, pos) => {\n var _a, _b, _c;\n const y = this.nextInt(((_a = config === null || config === void 0 ? void 0 : config.maximum) !== null && _a !== void 0 ? _a : 1) - ((_b = config === null || config === void 0 ? void 0 : config.top_offset) !== null && _b !== void 0 ? _b : 0)) + ((_c = config === null || config === void 0 ? void 0 : config.bottom_offset) !== null && _c !== void 0 ? _c : 0);\n return this.decorateY(pos, y);\n },\n range_biased: (config, pos) => {\n var _a, _b, _c;\n const y = this.nextInt(this.nextInt(((_a = config === null || config === void 0 ? void 0 : config.maximum) !== null && _a !== void 0 ? _a : 1) - ((_b = config === null || config === void 0 ? void 0 : config.top_offset) !== null && _b !== void 0 ? _b : 0)) + ((_c = config === null || config === void 0 ? void 0 : config.bottom_offset) !== null && _c !== void 0 ? _c : 0));\n return this.decorateY(pos, y);\n },\n range_very_biased: (config, pos) => {\n var _a, _b, _c, _d;\n const y = this.nextInt(this.nextInt(this.nextInt(((_a = config === null || config === void 0 ? void 0 : config.maximum) !== null && _a !== void 0 ? _a : 1) - ((_b = config === null || config === void 0 ? void 0 : config.top_offset) !== null && _b !== void 0 ? _b : 0)) + ((_c = config === null || config === void 0 ? void 0 : config.bottom_offset) !== null && _c !== void 0 ? _c : 0)) + ((_d = config === null || config === void 0 ? void 0 : config.bottom_offset) !== null && _d !== void 0 ? _d : 0));\n return this.decorateY(pos, y);\n },\n spread_32_above: (config, pos) => {\n const y = this.nextInt(pos[1] + 32);\n return this.decorateY(pos, y);\n },\n top_solid_heightmap: (config, pos) => {\n const y = terrain[clamp(0, 63, pos[0])];\n return this.decorateY(pos, y);\n },\n magma: (config, pos) => {\n const y = this.nextInt(pos[1] + 32);\n return this.decorateY(pos, y);\n },\n square: (config, pos) => {\n return [[\n pos[0] + this.nextInt(16),\n pos[1],\n pos[2] + this.nextInt(16)\n ]];\n },\n water_lake: (config, pos) => {\n var _a;\n if (this.nextInt((_a = config.chance) !== null && _a !== void 0 ? _a : 1) === 0) {\n return [[\n this.nextInt(16) + pos[0],\n this.nextInt(256),\n this.nextInt(16) + pos[2]\n ]];\n }\n return [];\n }\n };\n this.seed = hexId();\n this.perspective = 'top';\n this.size = [64, 128, 48];\n this.random = seedrandom(this.seed);\n this.biomeInfoNoise = new PerlinNoise(hexId(), 0, [1]);\n this.usedFeatures = [];\n }\n getName() {\n return 'decorator';\n }\n active(path) {\n var _a;\n return ((_a = App.model.get()) === null || _a === void 0 ? void 0 : _a.id) === 'worldgen/feature'\n && path.equals(new Path(['config', 'decorator']))\n && path.pop().pop().push('type').get() === 'minecraft:decorated';\n }\n menu(view, redraw) {\n return `\n
      {\n this.perspective = this.perspective === 'top' ? 'side' : 'top';\n redraw();\n })}\">\n ${Octicon.package}\n
      `;\n }\n getSize() {\n return this.perspective === 'top' ? [this.size[0], this.size[2]] : [this.size[0], this.size[1]];\n }\n draw(model, img) {\n const featureData = JSON.parse(JSON.stringify(model.data));\n this.random = seedrandom(this.seed);\n this.usedFeatures = [];\n let placements = [];\n for (let x = 0; x < this.size[0] / 16; x += 1) {\n for (let z = 0; z < (this.perspective === 'top' ? this.size[2] / 16 : 1); z += 1) {\n const chunkPlacements = this.getPlacements([x * 16, 0, z * 16], featureData);\n const filtered = chunkPlacements.filter(p => {\n return p.pos.every((n, i) => n >= 0 && n < this.size[i]);\n });\n placements = [...placements, ...filtered];\n }\n }\n const data = img.data;\n img.data.fill(255);\n if (this.perspective === 'side') {\n for (let x = 0; x < this.size[0]; x += 1) {\n for (let y = 0; y < terrain[clamp(0, 63, x)]; y += 1) {\n const i = ((this.size[1] - y - 1) * (img.width * 4)) + (x * 4);\n for (let j = 0; j < 3; j += 1) {\n data[i + j] = 30;\n }\n }\n for (let y = terrain[clamp(0, 63, x)]; y < seaLevel; y += 1) {\n const i = ((this.size[1] - y - 1) * (img.width * 4)) + (x * 4);\n data[i + 0] = 108;\n data[i + 1] = 205;\n data[i + 2] = 230;\n }\n }\n }\n for (let { pos, feature } of placements) {\n const i = this.perspective === 'top'\n ? (pos[2] * (img.width * 4)) + (pos[0] * 4)\n : ((this.size[1] - pos[1] - 1) * (img.width * 4)) + (pos[0] * 4);\n const color = feature < featureColors.length ? featureColors[feature] : stringToColor(this.usedFeatures[feature]);\n data.set(color.map(c => clamp(50, 205, c)), i);\n }\n for (let x = 0; x < this.size[0]; x += 1) {\n for (let y = 0; y < (this.perspective === 'top' ? this.size[2] : this.size[1]); y += 1) {\n if ((Math.floor(x / 16) + (this.perspective === 'top' ? Math.floor(y / 16) : 0)) % 2 === 0)\n continue;\n const i = (y * (img.width * 4)) + (x * 4);\n for (let j = 0; j < 3; j += 1) {\n data[i + j] = 0.85 * data[i + j];\n }\n }\n }\n }\n useFeature(s) {\n const i = this.usedFeatures.indexOf(s);\n if (i != -1)\n return i;\n this.usedFeatures.push(s);\n return this.usedFeatures.length - 1;\n }\n getPlacements(pos, feature) {\n var _a;\n if (typeof feature === 'string') {\n return [{ pos, feature: this.useFeature(feature) }];\n }\n const type = (_a = feature === null || feature === void 0 ? void 0 : feature.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, '');\n const featureFn = this.Features[type];\n if (!featureFn) {\n return [{ pos, feature: this.useFeature(JSON.stringify(feature)) }];\n }\n return featureFn(feature.config, pos);\n }\n getPositions(pos, decorator) {\n var _a;\n const type = (_a = decorator === null || decorator === void 0 ? void 0 : decorator.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, '');\n const decoratorFn = this.Decorators[type];\n if (!decoratorFn) {\n return [pos];\n }\n return decoratorFn(decorator === null || decorator === void 0 ? void 0 : decorator.config, pos);\n }\n decorateY(pos, y) {\n return [[pos[0], y, pos[2]]];\n }\n sampleUniformInt(value) {\n var _a, _b;\n if (typeof value === 'number') {\n return value;\n }\n else {\n return ((_a = value.base) !== null && _a !== void 0 ? _a : 1) + this.nextInt(1 + ((_b = value.spread) !== null && _b !== void 0 ? _b : 0));\n }\n }\n nextInt(max) {\n return Math.floor(this.random() * max);\n }\n}\n","const event = (category, action, label) => ga('send', 'event', category, action, label);\nconst dimension = (index, value) => ga('set', `dimension${index}`, value);\nexport const Tracker = {\n pageview: (target) => {\n ga('set', 'page', target);\n ga('send', 'pageview');\n },\n setTheme: (theme) => event('Generator', 'set-theme', theme),\n setVersion: (version) => event('Generator', 'set-version', version),\n setPreview: (name) => event('Preview', 'set-preview', name),\n setLanguage: (language) => event('Generator', 'set-language', language),\n reset: () => event('Generator', 'reset'),\n undo: (hotkey = false) => event('Generator', 'undo', hotkey ? 'Hotkey' : 'Menu'),\n redo: (hotkey = false) => event('Generator', 'redo', hotkey ? 'Hotkey' : 'Menu'),\n copy: () => event('JsonOutput', 'copy'),\n download: () => event('JsonOutput', 'download'),\n share: () => event('JsonOutput', 'share'),\n toggleErrors: (visible) => event('Errors', 'toggle', visible ? 'visible' : 'hidden'),\n hidePreview: () => event('Preview', 'hide-preview'),\n toggleMinimize: (minimized) => event('Generator', 'toggle-minimize', minimized ? 'minimized' : 'unminimized'),\n loadPreset: (preset) => event('Generator', 'load-preset', preset),\n dimTheme: (theme) => dimension(1, theme),\n dimVersion: (version) => dimension(3, version),\n dimLanguage: (language) => dimension(4, language),\n dimPreview: (preview) => dimension(5, preview),\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { DataModel, ObjectNode } from '@mcschema/core';\nimport * as java15 from '@mcschema/java-1.15';\nimport * as java16 from '@mcschema/java-1.16';\nimport * as java17 from '@mcschema/java-1.17';\nimport { LocalStorageProperty } from './state/LocalStorageProperty';\nimport { Property } from './state/Property';\nimport { fetchData } from './DataFetcher';\nimport { BiomeNoisePreview } from './preview/BiomeNoisePreview';\nimport { NoiseSettingsPreview } from './preview/NoiseSettingsPreview';\nimport { DecoratorPreview } from './preview/DecoratorPreview';\nimport config from '../config.json';\nimport { locale, Locales } from './Locales';\nimport { Tracker } from './Tracker';\nimport { Settings } from './Settings';\nexport const Versions = {\n '1.15': java15,\n '1.16': java16,\n '1.17': java17\n};\nexport const Previews = {\n 'biome_noise': new BiomeNoisePreview(),\n 'noise_settings': new NoiseSettingsPreview(),\n 'decorator': new DecoratorPreview(),\n};\nexport const Models = {};\nconfig.models.filter(m => m.schema)\n .forEach(m => Models[m.id] = new DataModel(ObjectNode({})));\nexport const App = {\n version: new LocalStorageProperty('schema_version', config.versions[config.versions.length - 1].id)\n .watch(Tracker.dimVersion),\n theme: new LocalStorageProperty('theme', 'dark')\n .watch(Tracker.dimTheme),\n language: new LocalStorageProperty('language', 'en')\n .watch(Tracker.dimLanguage),\n model: new Property(null),\n collections: new Property(null),\n jsonOutput: new Property(''),\n errorsVisible: new Property(false),\n treeMinimized: new Property(false),\n jsonError: new Property(null),\n preview: new Property(null)\n .watch(p => { var _a; return Tracker.dimPreview((_a = p === null || p === void 0 ? void 0 : p.getName()) !== null && _a !== void 0 ? _a : 'none'); }),\n schemasLoaded: new Property(false),\n localesLoaded: new Property(false),\n loaded: new Property(false),\n mobilePanel: new Property('tree'),\n settings: new Settings('generator_settings'),\n blockStateRegistry: {}\n};\nconsole.debug(`[App] LocalStorage=${'localStorage' in window} Caches=${'caches' in window}`);\nApp.version.watchRun((value) => __awaiter(void 0, void 0, void 0, function* () {\n console.debug(`[App.version.watchRun] ${value}`);\n App.schemasLoaded.set(false);\n yield updateSchemas(value);\n App.schemasLoaded.set(true);\n console.debug(`[App.version.watchRun] Done! ${value}`);\n}));\nApp.theme.watchRun((value) => {\n console.debug(`[App.theme.watchRun] ${value}`);\n document.documentElement.setAttribute('data-theme', value);\n});\nlet hasFetchedEnglish = false;\nApp.language.watchRun((value) => __awaiter(void 0, void 0, void 0, function* () {\n console.debug(`[App.language.watchRun] ${value}`);\n App.localesLoaded.set(false);\n yield updateLocale(value);\n App.localesLoaded.set(true);\n console.debug(`[App.language.watchRun] Done! ${value}`);\n}));\nApp.localesLoaded.watch((value) => {\n console.debug(`[App.localesLoaded.watch] ${value}`);\n if (value) {\n document.querySelectorAll('[data-i18n]').forEach(el => {\n el.textContent = locale(el.attributes.getNamedItem('data-i18n').value);\n });\n }\n App.loaded.set(value && App.schemasLoaded.get());\n});\nApp.schemasLoaded.watch((value) => {\n console.debug(`[App.schemasLoaded.watch] ${value}`);\n App.loaded.set(value && App.localesLoaded.get());\n});\nApp.mobilePanel.watchRun((value) => {\n console.debug(`[App.mobilePanel.watchRun] ${value}`);\n document.body.setAttribute('data-panel', value);\n});\nfunction updateSchemas(version) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug(`[updateSchemas] ${version}`);\n App.blockStateRegistry = {};\n const collections = Versions[version].getCollections();\n console.debug(`[updateSchemas] Done getting collections! ${Object.keys(collections['registry']).length}`);\n App.collections.set(collections);\n yield fetchData(collections, version);\n console.debug('[updateSchemas] Done fetching data!');\n const schemas = Versions[version].getSchemas(collections);\n console.debug(`[updateSchemas] Done getting schemas! ${Object.keys(schemas['registry']).length}`);\n config.models\n .filter(m => m.schema)\n .filter(m => checkVersion(App.version.get(), m.minVersion))\n .forEach(m => {\n const model = Models[m.id];\n const schema = schemas.get(m.schema);\n if (schema) {\n model.schema = schema;\n if (JSON.stringify(model.data) === '{}') {\n model.reset(schema.default(), true);\n model.history = [JSON.stringify(model.data)];\n model.historyIndex = 0;\n }\n }\n });\n console.debug(`[updateSchemas] Done!`);\n });\n}\nfunction updateLocale(language) {\n return __awaiter(this, void 0, void 0, function* () {\n if (Locales[language] && (hasFetchedEnglish || language !== 'en'))\n return;\n const data = yield (yield fetch(`/locales/${language}.json`)).json();\n if (language === 'en')\n hasFetchedEnglish = true;\n Locales[language] = data;\n });\n}\nexport function checkVersion(versionId, minVersionId, maxVersionId) {\n const version = config.versions.findIndex(v => v.id === versionId);\n const minVersion = minVersionId ? config.versions.findIndex(v => v.id === minVersionId) : 0;\n const maxVersion = maxVersionId ? config.versions.findIndex(v => v.id === maxVersionId) : config.versions.length - 1;\n return minVersion <= version && version <= maxVersion;\n}\ndocument.addEventListener('keyup', (evt) => {\n if (evt.ctrlKey && evt.key === 'z') {\n Tracker.undo(true);\n Models[App.model.get().id].undo();\n }\n else if (evt.ctrlKey && evt.key === 'y') {\n Tracker.redo(true);\n Models[App.model.get().id].redo();\n }\n});\n","import { Path } from \"@mcschema/core\";\nimport { Preview } from './Preview';\nimport { toggleMenu } from '../views/View';\nimport { Octicon } from '../components/Octicon';\nimport { NoiseChunkGenerator } from './noise/NoiseChunkGenerator';\nexport class NoiseSettingsPreview extends Preview {\n constructor() {\n super();\n this.width = 256;\n this.depth = 0.1;\n this.scale = 0.2;\n this.offsetX = 0;\n this.debug = false;\n this.generator = new NoiseChunkGenerator();\n }\n getName() {\n return 'noise-settings';\n }\n active(path) {\n return path.endsWith(new Path(['noise']));\n }\n menu(view, redraw) {\n return `
      \n
      \n ${Octicon.kebab_horizontal}\n
      \n
      \n
      \n ${Octicon.gear}\n \n {\n el.value = this.depth.toString();\n el.addEventListener('change', () => {\n this.depth = parseFloat(el.value);\n redraw();\n });\n })}\">\n
      \n
      \n ${Octicon.gear}\n \n {\n el.value = this.scale.toString();\n el.addEventListener('change', () => {\n this.scale = parseFloat(el.value);\n redraw();\n });\n })}\">\n
      \n
      \n ${Octicon.arrow_both}\n \n {\n el.value = this.width.toString();\n el.addEventListener('change', () => {\n this.width = parseFloat(el.value);\n redraw();\n });\n })}\">\n
      \n
      { this.debug = !this.debug; redraw(); })}\">\n ${Octicon.square}\n \n
      \n
      \n
      `;\n }\n getSize() {\n return [this.width, this.state.height];\n }\n draw(model, img) {\n this.generator.reset(this.state, this.depth, this.scale, this.offsetX, this.width);\n const data = img.data;\n for (let x = 0; x < this.width; x += 1) {\n const noise = this.generator.iterateNoiseColumn(x + this.offsetX).reverse();\n for (let y = 0; y < this.state.height; y += 1) {\n const i = (y * (img.width * 4)) + (x * 4);\n const color = this.getColor(noise, y);\n data[i] = (this.debug && noise[y] > 0) ? 255 : color;\n data[i + 1] = color;\n data[i + 2] = color;\n data[i + 3] = 255;\n }\n }\n }\n onDrag(dx, dy) {\n this.offsetX -= dx;\n }\n getColor(noise, y) {\n if (this.debug) {\n return -noise[y] / 2 + 128;\n }\n if (noise[y] > 0) {\n return 0;\n }\n if (noise[y + 1] > 0) {\n return 150;\n }\n return 255;\n }\n}\n","export class Settings {\n constructor(local_storage) {\n var _a;\n this.local_storage = local_storage;\n const settings = JSON.parse((_a = localStorage.getItem(local_storage)) !== null && _a !== void 0 ? _a : '{}');\n if (!Array.isArray(settings.fields))\n settings.fields = [];\n this.fields = settings.fields;\n this.save();\n }\n save() {\n const settings = JSON.stringify({ fields: this.fields });\n localStorage.setItem(this.local_storage, settings);\n this.fields = [...this.fields.filter(v => v === null || v === void 0 ? void 0 : v.path), {}];\n }\n}\n","import { Octicon } from './Octicon';\nexport const Dropdown = (view, icon, entries, state, watcher) => {\n const dropdown = view.register(el => {\n el.addEventListener('change', () => {\n state.set(el.value);\n });\n state.watchRun(v => el.value = v, 'dropdown');\n });\n return `\n
      \n \n ${Octicon[icon]}\n
      `;\n};\n","import { Octicon } from './Octicon';\nexport const Toggle = (view, entries, state, watcher) => {\n const activeOcticon = () => { var _a; return Octicon[((_a = entries.find(e => e[0] === state.get())) !== null && _a !== void 0 ? _a : entries[0])[1]]; };\n const toggle = view.register(el => {\n el.addEventListener('click', () => {\n const i = entries.findIndex(e => e[0] === state.get());\n state.set(entries[(i + 1) % entries.length][0]);\n });\n state.watch(_ => el.innerHTML = activeOcticon(), 'toggle');\n });\n return `
      ${activeOcticon()}
      `;\n};\n","import { App } from '../App';\nimport { Dropdown } from './Dropdown';\nimport { Octicon } from './Octicon';\nimport { Toggle } from './Toggle';\nimport { languages } from '../../config.json';\nimport { Tracker } from '../Tracker';\nimport { locale } from '../Locales';\nexport const Header = (view, title, homeLink = '/') => {\n const panelTogglesId = view.register(el => {\n const getPanelToggles = () => {\n const panels = [['preview', 'play'], ['tree', 'note'], ['source', 'code']];\n if (!panels.map(e => e[0]).includes(App.mobilePanel.get()))\n return '';\n return panels\n .filter(e => e[0] !== App.mobilePanel.get())\n .filter(e => e[0] !== 'preview' || App.preview.get() !== null)\n .map(e => `
      App.mobilePanel.set(e[0]))}\">\n ${Octicon[e[1]]}\n
      `).join('');\n };\n App.mobilePanel.watchRun(() => {\n view.mount(el, getPanelToggles(), false);\n });\n App.preview.watchRun((value, oldValue) => {\n if (value === null && App.mobilePanel.get() === 'preview') {\n App.mobilePanel.set('tree');\n }\n if (value === null || oldValue === null) {\n view.mount(el, getPanelToggles(), false);\n }\n });\n });\n return `
      \n
      \n ${Octicon.three_bars}\n

      ${title}

      \n
      \n \n
      `;\n};\n","import { App } from '../App';\nimport { Header } from '../components/Header';\nimport { Octicon } from '../components/Octicon';\nimport config from '../../config.json';\nfunction cleanUrl(url) {\n url = url.startsWith('/') ? url : '/' + url;\n return url.endsWith('/') ? url : url + '/';\n}\nexport const GeneratorCard = (url, name, arrow, active) => `\n
    • \n \n ${name}\n ${arrow ? Octicon.chevron_right : ''}\n \n
    • \n`;\nexport const Home = (view) => {\n const filteredModels = config.models.filter(m => m.category === App.model.get().id);\n return `\n ${Header(view, 'Data Pack Generators')}\n
      \n
        \n ${config.models\n .filter(m => typeof m.category !== 'string')\n .map(m => GeneratorCard(m.id, m.name, m.category === true, App.model.get().id === m.id))\n .join('')}\n
      \n ${filteredModels.length === 0 ? '' : `\n
        \n ${filteredModels.map(m => GeneratorCard(m.id, m.name)).join('')}\n
      \n `}\n
      \n `;\n};\n","import { Header } from '../components/Header';\nimport { locale } from '../Locales';\nimport { GeneratorCard } from './Home';\nexport const NotFound = (view) => {\n return `\n ${Header(view, 'Data Pack Generators')}\n
      \n

      404

      \n

      ${locale('not_found.description')}

      \n
        \n ${GeneratorCard('/', locale('home'), true)}\n
      \n
      \n `;\n};\n","import { App } from '../App';\nimport { Header } from '../components/Header';\nimport { Octicon } from '../components/Octicon';\nimport { locale } from '../Locales';\nexport const FieldSettings = (view) => {\n const fieldListId = view.register(fieldList => {\n const getFields = () => {\n const fields = App.settings.fields;\n return fields.map((f, i) => {\n const pathInput = view.register(el => {\n var _a;\n el.value = (_a = f.path) !== null && _a !== void 0 ? _a : '';\n el.addEventListener('change', () => {\n fields[i] = Object.assign(Object.assign({}, f), { path: el.value });\n App.settings.save();\n view.mount(fieldList, getFields(), false);\n });\n });\n const nameInput = view.register(el => {\n var _a;\n el.value = (_a = f.name) !== null && _a !== void 0 ? _a : '';\n el.addEventListener('change', () => {\n fields[i] = Object.assign(Object.assign({}, f), { name: el.value });\n App.settings.save();\n view.mount(fieldList, getFields(), false);\n });\n });\n return `
    • \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n {\n fields[i].hidden = (f === null || f === void 0 ? void 0 : f.hidden) ? undefined : true;\n App.settings.save();\n view.mount(fieldList, getFields(), false);\n })}\">${f.hidden ? Octicon.eye_closed : Octicon.eye}\n {\n fields.splice(i, 1);\n App.settings.save();\n view.mount(fieldList, getFields(), false);\n })}\">${Octicon.trashcan}\n
      \n
    • `;\n }).join('');\n };\n view.mount(fieldList, getFields(), false);\n });\n return `${Header(view, 'Field Settings')}\n
      \n

      ${locale('settings.fields.description')}

      \n
        \n
        `;\n};\n","// The programming goals of Split.js are to deliver readable, understandable and\n// maintainable code, while at the same time manually optimizing for tiny minified file size,\n// browser compatibility without additional requirements\n// and very few assumptions about the user's page layout.\nvar global = typeof window !== 'undefined' ? window : null;\nvar ssr = global === null;\nvar document = !ssr ? global.document : undefined;\n\n// Save a couple long function names that are used frequently.\n// This optimization saves around 400 bytes.\nvar addEventListener = 'addEventListener';\nvar removeEventListener = 'removeEventListener';\nvar getBoundingClientRect = 'getBoundingClientRect';\nvar gutterStartDragging = '_a';\nvar aGutterSize = '_b';\nvar bGutterSize = '_c';\nvar HORIZONTAL = 'horizontal';\nvar NOOP = function () { return false; };\n\n// Helper function determines which prefixes of CSS calc we need.\n// We only need to do this once on startup, when this anonymous function is called.\n//\n// Tests -webkit, -moz and -o prefixes. Modified from StackOverflow:\n// http://stackoverflow.com/questions/16625140/js-feature-detection-to-detect-the-usage-of-webkit-calc-over-calc/16625167#16625167\nvar calc = ssr\n ? 'calc'\n : ((['', '-webkit-', '-moz-', '-o-']\n .filter(function (prefix) {\n var el = document.createElement('div');\n el.style.cssText = \"width:\" + prefix + \"calc(9px)\";\n\n return !!el.style.length\n })\n .shift()) + \"calc\");\n\n// Helper function checks if its argument is a string-like type\nvar isString = function (v) { return typeof v === 'string' || v instanceof String; };\n\n// Helper function allows elements and string selectors to be used\n// interchangeably. In either case an element is returned. This allows us to\n// do `Split([elem1, elem2])` as well as `Split(['#id1', '#id2'])`.\nvar elementOrSelector = function (el) {\n if (isString(el)) {\n var ele = document.querySelector(el);\n if (!ele) {\n throw new Error((\"Selector \" + el + \" did not match a DOM element\"))\n }\n return ele\n }\n\n return el\n};\n\n// Helper function gets a property from the properties object, with a default fallback\nvar getOption = function (options, propName, def) {\n var value = options[propName];\n if (value !== undefined) {\n return value\n }\n return def\n};\n\nvar getGutterSize = function (gutterSize, isFirst, isLast, gutterAlign) {\n if (isFirst) {\n if (gutterAlign === 'end') {\n return 0\n }\n if (gutterAlign === 'center') {\n return gutterSize / 2\n }\n } else if (isLast) {\n if (gutterAlign === 'start') {\n return 0\n }\n if (gutterAlign === 'center') {\n return gutterSize / 2\n }\n }\n\n return gutterSize\n};\n\n// Default options\nvar defaultGutterFn = function (i, gutterDirection) {\n var gut = document.createElement('div');\n gut.className = \"gutter gutter-\" + gutterDirection;\n return gut\n};\n\nvar defaultElementStyleFn = function (dim, size, gutSize) {\n var style = {};\n\n if (!isString(size)) {\n style[dim] = calc + \"(\" + size + \"% - \" + gutSize + \"px)\";\n } else {\n style[dim] = size;\n }\n\n return style\n};\n\nvar defaultGutterStyleFn = function (dim, gutSize) {\n var obj;\n\n return (( obj = {}, obj[dim] = (gutSize + \"px\"), obj ));\n};\n\n// The main function to initialize a split. Split.js thinks about each pair\n// of elements as an independant pair. Dragging the gutter between two elements\n// only changes the dimensions of elements in that pair. This is key to understanding\n// how the following functions operate, since each function is bound to a pair.\n//\n// A pair object is shaped like this:\n//\n// {\n// a: DOM element,\n// b: DOM element,\n// aMin: Number,\n// bMin: Number,\n// dragging: Boolean,\n// parent: DOM element,\n// direction: 'horizontal' | 'vertical'\n// }\n//\n// The basic sequence:\n//\n// 1. Set defaults to something sane. `options` doesn't have to be passed at all.\n// 2. Initialize a bunch of strings based on the direction we're splitting.\n// A lot of the behavior in the rest of the library is paramatized down to\n// rely on CSS strings and classes.\n// 3. Define the dragging helper functions, and a few helpers to go with them.\n// 4. Loop through the elements while pairing them off. Every pair gets an\n// `pair` object and a gutter.\n// 5. Actually size the pair elements, insert gutters and attach event listeners.\nvar Split = function (idsOption, options) {\n if ( options === void 0 ) options = {};\n\n if (ssr) { return {} }\n\n var ids = idsOption;\n var dimension;\n var clientAxis;\n var position;\n var positionEnd;\n var clientSize;\n var elements;\n\n // Allow HTMLCollection to be used as an argument when supported\n if (Array.from) {\n ids = Array.from(ids);\n }\n\n // All DOM elements in the split should have a common parent. We can grab\n // the first elements parent and hope users read the docs because the\n // behavior will be whacky otherwise.\n var firstElement = elementOrSelector(ids[0]);\n var parent = firstElement.parentNode;\n var parentStyle = getComputedStyle ? getComputedStyle(parent) : null;\n var parentFlexDirection = parentStyle ? parentStyle.flexDirection : null;\n\n // Set default options.sizes to equal percentages of the parent element.\n var sizes = getOption(options, 'sizes') || ids.map(function () { return 100 / ids.length; });\n\n // Standardize minSize to an array if it isn't already. This allows minSize\n // to be passed as a number.\n var minSize = getOption(options, 'minSize', 100);\n var minSizes = Array.isArray(minSize) ? minSize : ids.map(function () { return minSize; });\n\n // Get other options\n var expandToMin = getOption(options, 'expandToMin', false);\n var gutterSize = getOption(options, 'gutterSize', 10);\n var gutterAlign = getOption(options, 'gutterAlign', 'center');\n var snapOffset = getOption(options, 'snapOffset', 30);\n var dragInterval = getOption(options, 'dragInterval', 1);\n var direction = getOption(options, 'direction', HORIZONTAL);\n var cursor = getOption(\n options,\n 'cursor',\n direction === HORIZONTAL ? 'col-resize' : 'row-resize'\n );\n var gutter = getOption(options, 'gutter', defaultGutterFn);\n var elementStyle = getOption(\n options,\n 'elementStyle',\n defaultElementStyleFn\n );\n var gutterStyle = getOption(options, 'gutterStyle', defaultGutterStyleFn);\n\n // 2. Initialize a bunch of strings based on the direction we're splitting.\n // A lot of the behavior in the rest of the library is paramatized down to\n // rely on CSS strings and classes.\n if (direction === HORIZONTAL) {\n dimension = 'width';\n clientAxis = 'clientX';\n position = 'left';\n positionEnd = 'right';\n clientSize = 'clientWidth';\n } else if (direction === 'vertical') {\n dimension = 'height';\n clientAxis = 'clientY';\n position = 'top';\n positionEnd = 'bottom';\n clientSize = 'clientHeight';\n }\n\n // 3. Define the dragging helper functions, and a few helpers to go with them.\n // Each helper is bound to a pair object that contains its metadata. This\n // also makes it easy to store references to listeners that that will be\n // added and removed.\n //\n // Even though there are no other functions contained in them, aliasing\n // this to self saves 50 bytes or so since it's used so frequently.\n //\n // The pair object saves metadata like dragging state, position and\n // event listener references.\n\n function setElementSize(el, size, gutSize, i) {\n // Split.js allows setting sizes via numbers (ideally), or if you must,\n // by string, like '300px'. This is less than ideal, because it breaks\n // the fluid layout that `calc(% - px)` provides. You're on your own if you do that,\n // make sure you calculate the gutter size by hand.\n var style = elementStyle(dimension, size, gutSize, i);\n\n Object.keys(style).forEach(function (prop) {\n // eslint-disable-next-line no-param-reassign\n el.style[prop] = style[prop];\n });\n }\n\n function setGutterSize(gutterElement, gutSize, i) {\n var style = gutterStyle(dimension, gutSize, i);\n\n Object.keys(style).forEach(function (prop) {\n // eslint-disable-next-line no-param-reassign\n gutterElement.style[prop] = style[prop];\n });\n }\n\n function getSizes() {\n return elements.map(function (element) { return element.size; })\n }\n\n // Supports touch events, but not multitouch, so only the first\n // finger `touches[0]` is counted.\n function getMousePosition(e) {\n if ('touches' in e) { return e.touches[0][clientAxis] }\n return e[clientAxis]\n }\n\n // Actually adjust the size of elements `a` and `b` to `offset` while dragging.\n // calc is used to allow calc(percentage + gutterpx) on the whole split instance,\n // which allows the viewport to be resized without additional logic.\n // Element a's size is the same as offset. b's size is total size - a size.\n // Both sizes are calculated from the initial parent percentage,\n // then the gutter size is subtracted.\n function adjust(offset) {\n var a = elements[this.a];\n var b = elements[this.b];\n var percentage = a.size + b.size;\n\n a.size = (offset / this.size) * percentage;\n b.size = percentage - (offset / this.size) * percentage;\n\n setElementSize(a.element, a.size, this[aGutterSize], a.i);\n setElementSize(b.element, b.size, this[bGutterSize], b.i);\n }\n\n // drag, where all the magic happens. The logic is really quite simple:\n //\n // 1. Ignore if the pair is not dragging.\n // 2. Get the offset of the event.\n // 3. Snap offset to min if within snappable range (within min + snapOffset).\n // 4. Actually adjust each element in the pair to offset.\n //\n // ---------------------------------------------------------------------\n // | | <- a.minSize || b.minSize -> | |\n // | | | <- this.snapOffset || this.snapOffset -> | | |\n // | | | || | | |\n // | | | || | | |\n // ---------------------------------------------------------------------\n // | <- this.start this.size -> |\n function drag(e) {\n var offset;\n var a = elements[this.a];\n var b = elements[this.b];\n\n if (!this.dragging) { return }\n\n // Get the offset of the event from the first side of the\n // pair `this.start`. Then offset by the initial position of the\n // mouse compared to the gutter size.\n offset =\n getMousePosition(e) -\n this.start +\n (this[aGutterSize] - this.dragOffset);\n\n if (dragInterval > 1) {\n offset = Math.round(offset / dragInterval) * dragInterval;\n }\n\n // If within snapOffset of min or max, set offset to min or max.\n // snapOffset buffers a.minSize and b.minSize, so logic is opposite for both.\n // Include the appropriate gutter sizes to prevent overflows.\n if (offset <= a.minSize + snapOffset + this[aGutterSize]) {\n offset = a.minSize + this[aGutterSize];\n } else if (\n offset >=\n this.size - (b.minSize + snapOffset + this[bGutterSize])\n ) {\n offset = this.size - (b.minSize + this[bGutterSize]);\n }\n\n // Actually adjust the size.\n adjust.call(this, offset);\n\n // Call the drag callback continously. Don't do anything too intensive\n // in this callback.\n getOption(options, 'onDrag', NOOP)(getSizes());\n }\n\n // Cache some important sizes when drag starts, so we don't have to do that\n // continously:\n //\n // `size`: The total size of the pair. First + second + first gutter + second gutter.\n // `start`: The leading side of the first element.\n //\n // ------------------------------------------------\n // | aGutterSize -> ||| |\n // | ||| |\n // | ||| |\n // | ||| <- bGutterSize |\n // ------------------------------------------------\n // | <- start size -> |\n function calculateSizes() {\n // Figure out the parent size minus padding.\n var a = elements[this.a].element;\n var b = elements[this.b].element;\n\n var aBounds = a[getBoundingClientRect]();\n var bBounds = b[getBoundingClientRect]();\n\n this.size =\n aBounds[dimension] +\n bBounds[dimension] +\n this[aGutterSize] +\n this[bGutterSize];\n this.start = aBounds[position];\n this.end = aBounds[positionEnd];\n }\n\n function innerSize(element) {\n // Return nothing if getComputedStyle is not supported (< IE9)\n // Or if parent element has no layout yet\n if (!getComputedStyle) { return null }\n\n var computedStyle = getComputedStyle(element);\n\n if (!computedStyle) { return null }\n\n var size = element[clientSize];\n\n if (size === 0) { return null }\n\n if (direction === HORIZONTAL) {\n size -=\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n } else {\n size -=\n parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n }\n\n return size\n }\n\n // When specifying percentage sizes that are less than the computed\n // size of the element minus the gutter, the lesser percentages must be increased\n // (and decreased from the other elements) to make space for the pixels\n // subtracted by the gutters.\n function trimToMin(sizesToTrim) {\n // Try to get inner size of parent element.\n // If it's no supported, return original sizes.\n var parentSize = innerSize(parent);\n if (parentSize === null) {\n return sizesToTrim\n }\n\n if (minSizes.reduce(function (a, b) { return a + b; }, 0) > parentSize) {\n return sizesToTrim\n }\n\n // Keep track of the excess pixels, the amount of pixels over the desired percentage\n // Also keep track of the elements with pixels to spare, to decrease after if needed\n var excessPixels = 0;\n var toSpare = [];\n\n var pixelSizes = sizesToTrim.map(function (size, i) {\n // Convert requested percentages to pixel sizes\n var pixelSize = (parentSize * size) / 100;\n var elementGutterSize = getGutterSize(\n gutterSize,\n i === 0,\n i === sizesToTrim.length - 1,\n gutterAlign\n );\n var elementMinSize = minSizes[i] + elementGutterSize;\n\n // If element is too smal, increase excess pixels by the difference\n // and mark that it has no pixels to spare\n if (pixelSize < elementMinSize) {\n excessPixels += elementMinSize - pixelSize;\n toSpare.push(0);\n return elementMinSize\n }\n\n // Otherwise, mark the pixels it has to spare and return it's original size\n toSpare.push(pixelSize - elementMinSize);\n return pixelSize\n });\n\n // If nothing was adjusted, return the original sizes\n if (excessPixels === 0) {\n return sizesToTrim\n }\n\n return pixelSizes.map(function (pixelSize, i) {\n var newPixelSize = pixelSize;\n\n // While there's still pixels to take, and there's enough pixels to spare,\n // take as many as possible up to the total excess pixels\n if (excessPixels > 0 && toSpare[i] - excessPixels > 0) {\n var takenPixels = Math.min(\n excessPixels,\n toSpare[i] - excessPixels\n );\n\n // Subtract the amount taken for the next iteration\n excessPixels -= takenPixels;\n newPixelSize = pixelSize - takenPixels;\n }\n\n // Return the pixel size adjusted as a percentage\n return (newPixelSize / parentSize) * 100\n })\n }\n\n // stopDragging is very similar to startDragging in reverse.\n function stopDragging() {\n var self = this;\n var a = elements[self.a].element;\n var b = elements[self.b].element;\n\n if (self.dragging) {\n getOption(options, 'onDragEnd', NOOP)(getSizes());\n }\n\n self.dragging = false;\n\n // Remove the stored event listeners. This is why we store them.\n global[removeEventListener]('mouseup', self.stop);\n global[removeEventListener]('touchend', self.stop);\n global[removeEventListener]('touchcancel', self.stop);\n global[removeEventListener]('mousemove', self.move);\n global[removeEventListener]('touchmove', self.move);\n\n // Clear bound function references\n self.stop = null;\n self.move = null;\n\n a[removeEventListener]('selectstart', NOOP);\n a[removeEventListener]('dragstart', NOOP);\n b[removeEventListener]('selectstart', NOOP);\n b[removeEventListener]('dragstart', NOOP);\n\n a.style.userSelect = '';\n a.style.webkitUserSelect = '';\n a.style.MozUserSelect = '';\n a.style.pointerEvents = '';\n\n b.style.userSelect = '';\n b.style.webkitUserSelect = '';\n b.style.MozUserSelect = '';\n b.style.pointerEvents = '';\n\n self.gutter.style.cursor = '';\n self.parent.style.cursor = '';\n document.body.style.cursor = '';\n }\n\n // startDragging calls `calculateSizes` to store the inital size in the pair object.\n // It also adds event listeners for mouse/touch events,\n // and prevents selection while dragging so avoid the selecting text.\n function startDragging(e) {\n // Right-clicking can't start dragging.\n if ('button' in e && e.button !== 0) {\n return\n }\n\n // Alias frequently used variables to save space. 200 bytes.\n var self = this;\n var a = elements[self.a].element;\n var b = elements[self.b].element;\n\n // Call the onDragStart callback.\n if (!self.dragging) {\n getOption(options, 'onDragStart', NOOP)(getSizes());\n }\n\n // Don't actually drag the element. We emulate that in the drag function.\n e.preventDefault();\n\n // Set the dragging property of the pair object.\n self.dragging = true;\n\n // Create two event listeners bound to the same pair object and store\n // them in the pair object.\n self.move = drag.bind(self);\n self.stop = stopDragging.bind(self);\n\n // All the binding. `window` gets the stop events in case we drag out of the elements.\n global[addEventListener]('mouseup', self.stop);\n global[addEventListener]('touchend', self.stop);\n global[addEventListener]('touchcancel', self.stop);\n global[addEventListener]('mousemove', self.move);\n global[addEventListener]('touchmove', self.move);\n\n // Disable selection. Disable!\n a[addEventListener]('selectstart', NOOP);\n a[addEventListener]('dragstart', NOOP);\n b[addEventListener]('selectstart', NOOP);\n b[addEventListener]('dragstart', NOOP);\n\n a.style.userSelect = 'none';\n a.style.webkitUserSelect = 'none';\n a.style.MozUserSelect = 'none';\n a.style.pointerEvents = 'none';\n\n b.style.userSelect = 'none';\n b.style.webkitUserSelect = 'none';\n b.style.MozUserSelect = 'none';\n b.style.pointerEvents = 'none';\n\n // Set the cursor at multiple levels\n self.gutter.style.cursor = cursor;\n self.parent.style.cursor = cursor;\n document.body.style.cursor = cursor;\n\n // Cache the initial sizes of the pair.\n calculateSizes.call(self);\n\n // Determine the position of the mouse compared to the gutter\n self.dragOffset = getMousePosition(e) - self.end;\n }\n\n // adjust sizes to ensure percentage is within min size and gutter.\n sizes = trimToMin(sizes);\n\n // 5. Create pair and element objects. Each pair has an index reference to\n // elements `a` and `b` of the pair (first and second elements).\n // Loop through the elements while pairing them off. Every pair gets a\n // `pair` object and a gutter.\n //\n // Basic logic:\n //\n // - Starting with the second element `i > 0`, create `pair` objects with\n // `a = i - 1` and `b = i`\n // - Set gutter sizes based on the _pair_ being first/last. The first and last\n // pair have gutterSize / 2, since they only have one half gutter, and not two.\n // - Create gutter elements and add event listeners.\n // - Set the size of the elements, minus the gutter sizes.\n //\n // -----------------------------------------------------------------------\n // | i=0 | i=1 | i=2 | i=3 |\n // | | | | |\n // | pair 0 pair 1 pair 2 |\n // | | | | |\n // -----------------------------------------------------------------------\n var pairs = [];\n elements = ids.map(function (id, i) {\n // Create the element object.\n var element = {\n element: elementOrSelector(id),\n size: sizes[i],\n minSize: minSizes[i],\n i: i,\n };\n\n var pair;\n\n if (i > 0) {\n // Create the pair object with its metadata.\n pair = {\n a: i - 1,\n b: i,\n dragging: false,\n direction: direction,\n parent: parent,\n };\n\n pair[aGutterSize] = getGutterSize(\n gutterSize,\n i - 1 === 0,\n false,\n gutterAlign\n );\n pair[bGutterSize] = getGutterSize(\n gutterSize,\n false,\n i === ids.length - 1,\n gutterAlign\n );\n\n // if the parent has a reverse flex-direction, switch the pair elements.\n if (\n parentFlexDirection === 'row-reverse' ||\n parentFlexDirection === 'column-reverse'\n ) {\n var temp = pair.a;\n pair.a = pair.b;\n pair.b = temp;\n }\n }\n\n // Determine the size of the current element. IE8 is supported by\n // staticly assigning sizes without draggable gutters. Assigns a string\n // to `size`.\n //\n // Create gutter elements for each pair.\n if (i > 0) {\n var gutterElement = gutter(i, direction, element.element);\n setGutterSize(gutterElement, gutterSize, i);\n\n // Save bound event listener for removal later\n pair[gutterStartDragging] = startDragging.bind(pair);\n\n // Attach bound event listener\n gutterElement[addEventListener](\n 'mousedown',\n pair[gutterStartDragging]\n );\n gutterElement[addEventListener](\n 'touchstart',\n pair[gutterStartDragging]\n );\n\n parent.insertBefore(gutterElement, element.element);\n\n pair.gutter = gutterElement;\n }\n\n setElementSize(\n element.element,\n element.size,\n getGutterSize(\n gutterSize,\n i === 0,\n i === ids.length - 1,\n gutterAlign\n ),\n i\n );\n\n // After the first iteration, and we have a pair object, append it to the\n // list of pairs.\n if (i > 0) {\n pairs.push(pair);\n }\n\n return element\n });\n\n function adjustToMin(element) {\n var isLast = element.i === pairs.length;\n var pair = isLast ? pairs[element.i - 1] : pairs[element.i];\n\n calculateSizes.call(pair);\n\n var size = isLast\n ? pair.size - element.minSize - pair[bGutterSize]\n : element.minSize + pair[aGutterSize];\n\n adjust.call(pair, size);\n }\n\n elements.forEach(function (element) {\n var computedSize = element.element[getBoundingClientRect]()[dimension];\n\n if (computedSize < element.minSize) {\n if (expandToMin) {\n adjustToMin(element);\n } else {\n // eslint-disable-next-line no-param-reassign\n element.minSize = computedSize;\n }\n }\n });\n\n function setSizes(newSizes) {\n var trimmed = trimToMin(newSizes);\n trimmed.forEach(function (newSize, i) {\n if (i > 0) {\n var pair = pairs[i - 1];\n\n var a = elements[pair.a];\n var b = elements[pair.b];\n\n a.size = trimmed[i - 1];\n b.size = newSize;\n\n setElementSize(a.element, a.size, pair[aGutterSize], a.i);\n setElementSize(b.element, b.size, pair[bGutterSize], b.i);\n }\n });\n }\n\n function destroy(preserveStyles, preserveGutter) {\n pairs.forEach(function (pair) {\n if (preserveGutter !== true) {\n pair.parent.removeChild(pair.gutter);\n } else {\n pair.gutter[removeEventListener](\n 'mousedown',\n pair[gutterStartDragging]\n );\n pair.gutter[removeEventListener](\n 'touchstart',\n pair[gutterStartDragging]\n );\n }\n\n if (preserveStyles !== true) {\n var style = elementStyle(\n dimension,\n pair.a.size,\n pair[aGutterSize]\n );\n\n Object.keys(style).forEach(function (prop) {\n elements[pair.a].element.style[prop] = '';\n elements[pair.b].element.style[prop] = '';\n });\n }\n });\n }\n\n return {\n setSizes: setSizes,\n getSizes: getSizes,\n collapse: function collapse(i) {\n adjustToMin(elements[i]);\n },\n destroy: destroy,\n parent: parent,\n pairs: pairs,\n }\n};\n\nexport default Split;\n","import Split from 'split.js';\nexport const SplitGroup = (view, options, entries) => {\n var _a;\n return `\n
        {\n Split([].slice.call(el.children), Object.assign({ snapOffset: 0 }, options));\n })}>\n ${entries.join('')}\n
        \n`;\n};\n","import { Path } from '@mcschema/core';\nimport { App, Previews } from '../App';\nimport { Octicon } from '../components/Octicon';\nimport { locale } from '../Locales';\nimport { Tracker } from '../Tracker';\nexport const suffixInjector = {\n base() { },\n choice({ switchNode }, path, mounter) {\n return switchNode.hook(this, path, mounter);\n },\n object({}, path, mounter) {\n if (Previews.biome_noise.active(path)) {\n return setPreview(Previews.biome_noise, path, mounter);\n }\n if (Previews.noise_settings.active(path)) {\n return setPreview(Previews.noise_settings, path, mounter);\n }\n if (Previews.decorator.active(path)) {\n return setPreview(Previews.decorator, path, mounter);\n }\n },\n string({}, path, mounter) {\n if (path.endsWith(new Path(['biome']))\n && path.pop().pop().endsWith(new Path(['generator', 'biome_source', 'biomes']))) {\n const biomePreview = Previews.biome_noise;\n const biome = path.get();\n const id = mounter.onChange(el => {\n biomePreview.setBiomeColor(biome, el.value);\n });\n return ``;\n }\n }\n};\nfunction setPreview(preview, path, mounter) {\n const id = mounter.onClick(() => {\n Tracker.setPreview(preview.getName());\n preview.path = path;\n App.preview.set(preview);\n });\n return ``;\n}\n","import { relativePath } from '@mcschema/core';\nexport const getFilterKey = {\n base: () => null,\n object({ filter, getActiveFields }, path, origin, depth = 0) {\n if (depth > 2)\n return null;\n if (filter) {\n const filtered = relativePath(path, filter);\n if (filtered && filtered.pop().equals(origin))\n return filtered.last();\n }\n const activeFields = getActiveFields(path);\n for (const k of Object.keys(activeFields)) {\n const filtered = activeFields[k].hook(this, path.push(k), origin, depth += 1);\n if (filtered)\n return filtered;\n }\n return null;\n }\n};\n","import { ModelPath, Path, DataModel, MapNode, StringNode, relativePath } from '@mcschema/core';\nimport { locale, segmentedLocale } from '../Locales';\nimport { hexId, htmlEncode } from '../Utils';\nimport { suffixInjector } from './suffixInjector';\nimport { Octicon } from '../components/Octicon';\nimport { App } from '../App';\nimport { getFilterKey } from './getFilterKey';\n/**\n * Secondary model used to remember the keys of a map\n */\nconst keysModel = new DataModel(MapNode(StringNode(), StringNode()), { historyMax: 0 });\n/**\n * Renders the node and handles events to update the model\n * @returns string HTML representation of this node using the given data\n */\nexport const renderHtml = {\n base() {\n return ['', '', ''];\n },\n boolean({ node }, path, value, mounter) {\n const onFalse = mounter.onClick(el => {\n path.model.set(path, node.optional() && value === false ? undefined : false);\n });\n const onTrue = mounter.onClick(el => {\n path.model.set(path, node.optional() && value === true ? undefined : true);\n });\n return ['', `${htmlEncode(locale('false'))}\n ${htmlEncode(locale('true'))}`, ''];\n },\n choice({ choices, config, switchNode }, path, value, mounter) {\n const choice = switchNode.activeCase(path, true);\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path;\n const pathWithChoiceContext = (config === null || config === void 0 ? void 0 : config.choiceContext) ? new Path([], [config.choiceContext]) : (config === null || config === void 0 ? void 0 : config.context) ? new Path([], [config.context]) : path;\n const [prefix, suffix, body] = choice.node.hook(this, pathWithContext, value, mounter);\n if (choices.length === 1) {\n return [prefix, suffix, body];\n }\n const inputId = mounter.register(el => {\n el.value = choice.type;\n el.addEventListener('change', () => {\n var _a;\n const c = (_a = choices.find(c => c.type === el.value)) !== null && _a !== void 0 ? _a : choice;\n path.model.set(path, c.change ? c.change(value) : c.node.default());\n });\n });\n const inject = ``;\n return [prefix, inject + suffix, body];\n },\n list({ children }, path, value, mounter) {\n const onAdd = mounter.onClick(el => {\n if (!Array.isArray(value))\n value = [];\n path.model.set(path, [children.default(), ...value]);\n });\n const onAddBottom = mounter.onClick(el => {\n if (!Array.isArray(value))\n value = [];\n path.model.set(path, [...value, children.default()]);\n });\n const suffix = ``;\n let body = '';\n if (Array.isArray(value)) {\n body = value.map((childValue, index) => {\n const removeId = mounter.onClick(el => path.model.set(path.push(index), undefined));\n const childPath = path.push(index).contextPush('entry');\n const category = children.category(childPath);\n const [cPrefix, cSuffix, cBody] = children.hook(this, childPath, childValue, mounter);\n return `
        \n
        \n ${error(childPath, mounter)}\n ${help(childPath, mounter)}\n \n ${cPrefix}\n \n ${cSuffix}\n
        \n ${cBody ? `
        ${cBody}
        ` : ''}\n
        `;\n }).join('');\n if (value.length > 2) {\n body += `
        \n
        \n \n
        \n
        `;\n }\n }\n return ['', suffix, body];\n },\n map({ keys, children, config }, path, value, mounter) {\n var _a, _b, _c;\n const keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]));\n const onAdd = mounter.onClick(el => {\n const key = keyPath.get();\n path.model.set(path.push(key), children.default());\n });\n let suffix = '';\n const blockState = (((_a = config.validation) === null || _a === void 0 ? void 0 : _a.validator) === 'block_state_map' ? App.blockStateRegistry[relativePath(path, config.validation.params.id).get()] : null);\n if (!blockState || blockState.properties) {\n const keyRendered = (blockState\n ? StringNode(null, { enum: Object.keys((_b = blockState.properties) !== null && _b !== void 0 ? _b : {}) })\n : keys).hook(this, keyPath, (_c = keyPath.get()) !== null && _c !== void 0 ? _c : '', mounter);\n suffix = keyRendered[1] + ``;\n }\n let body = '';\n if (typeof value === 'object' && value !== undefined) {\n body = Object.keys(value)\n .map(key => {\n const removeId = mounter.onClick(el => path.model.set(path.push(key), undefined));\n const childPath = path.modelPush(key);\n const category = children.category(childPath);\n const [cPrefix, cSuffix, cBody] = (blockState\n ? StringNode(null, blockState.properties && { enum: blockState.properties[key] })\n : children).hook(this, childPath, value[key], mounter);\n return `
        \n
        \n ${error(childPath, mounter)}\n ${help(childPath, mounter)}\n \n ${cPrefix}\n \n ${cSuffix}\n
        \n ${cBody ? `
        ${cBody}
        ` : ''}\n
        `;\n })\n .join('');\n }\n return ['', suffix, body];\n },\n number({ integer, config }, path, value, mounter) {\n var _a;\n const onChange = mounter.onChange(el => {\n const value = el.value;\n let parsed = (config === null || config === void 0 ? void 0 : config.color) ? parseInt(value.slice(1), 16)\n : integer ? parseInt(value) : parseFloat(value);\n path.model.set(path, parsed);\n });\n if (config === null || config === void 0 ? void 0 : config.color) {\n const hex = ((_a = value === null || value === void 0 ? void 0 : value.toString(16).padStart(6, '0')) !== null && _a !== void 0 ? _a : '000000');\n return ['', ``, ''];\n }\n return ['', ``, ''];\n },\n object({ node, getActiveFields, getChildModelPath }, path, value, mounter) {\n var _a;\n let prefix = '';\n if (node.optional()) {\n if (value === undefined) {\n prefix = ``;\n }\n else {\n prefix = ``;\n }\n }\n let suffix = '';\n let body = '';\n if (typeof value === 'object' && value !== undefined && (!(node.optional() && value === undefined))) {\n const activeFields = getActiveFields(path);\n const activeKeys = Object.keys(activeFields);\n const filterKey = path.modelArr.length === 0 ? null : node.hook(getFilterKey, path, path);\n if (filterKey && !(activeFields[filterKey].hidden && activeFields[filterKey].hidden())) {\n prefix += error(path.push(filterKey), mounter);\n prefix += help(path.push(filterKey), mounter);\n suffix += activeFields[filterKey].hook(this, path.push(filterKey), value[filterKey], mounter)[1];\n }\n const visibleKeys = (App.treeMinimized.get()\n ? activeKeys.filter(k => value[k] !== undefined)\n : activeKeys)\n .filter(k => filterKey !== k)\n .filter(k => activeFields[k].enabled(path));\n if (false /* node.hook(canFlatten, path) */) {\n const newValue = (_a = value[visibleKeys[0]]) !== null && _a !== void 0 ? _a : {};\n body = activeFields[visibleKeys[0]].hook(this, path.push(visibleKeys[0]), newValue, mounter)[2];\n }\n else {\n body = visibleKeys.map(k => {\n var _a;\n const field = activeFields[k];\n const childPath = getChildModelPath(path, k);\n const context = childPath.getContext().join('.');\n const fieldSettings = App.settings.fields.find(f => (f === null || f === void 0 ? void 0 : f.path) && context.endsWith(f.path));\n if ((field.hidden && field.hidden()) || (fieldSettings === null || fieldSettings === void 0 ? void 0 : fieldSettings.hidden))\n return '';\n const category = field.category(childPath);\n const [cPrefix, cSuffix, cBody] = field.hook(this, childPath, value[k], mounter);\n if (k === 'Properties' && cSuffix === '')\n return '';\n return `
        \n
        \n ${error(childPath, mounter)}\n ${help(childPath, mounter)}\n ${cPrefix}\n \n ${cSuffix}\n
        \n ${cBody ? `
        ${cBody}
        ` : ''}\n
        `;\n })\n .join('');\n }\n }\n suffix += node.hook(suffixInjector, path, mounter) || '';\n return ['', prefix + suffix, body];\n },\n string(params, path, value, mounter) {\n const inputId = mounter.register(el => {\n el.value = value !== null && value !== void 0 ? value : '';\n el.addEventListener('change', evt => {\n const newValue = el.value;\n path.model.set(path, newValue.length === 0 ? undefined : newValue);\n evt.stopPropagation();\n });\n });\n const suffix = params.node.hook(suffixInjector, path, mounter) || '';\n return ['', rawString(params, path, inputId) + suffix, ''];\n }\n};\nfunction isEnum(value) {\n var _a;\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.enum);\n}\nfunction isValidator(value) {\n var _a;\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.validator);\n}\nfunction rawString({ node, getValues, config }, path, inputId) {\n const values = getValues();\n if (isEnum(config) && !config.additional) {\n const contextPath = typeof config.enum === 'string' ?\n new Path(path.getArray(), [config.enum]) : path;\n return selectRaw(node, contextPath, values, inputId);\n }\n if (config && isValidator(config)\n && config.validator === 'resource'\n && typeof config.params.pool === 'string'\n && values.length > 0) {\n const contextPath = new Path(path.getArray(), [config.params.pool]);\n if (segmentedLocale(contextPath.contextPush(values[0]).getContext())) {\n return selectRaw(node, contextPath, values, inputId);\n }\n }\n const datalistId = hexId();\n return `\n ${values.length === 0 ? '' :\n `\n ${values.map(v => ``}`;\n}\nfunction selectRaw(node, contextPath, values, inputId) {\n return ``;\n}\nfunction hashString(str) {\n var hash = 0, i, chr;\n for (i = 0; i < str.length; i++) {\n chr = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash;\n}\nfunction pathLocale(path, params) {\n var _a, _b;\n return (_b = (_a = segmentedLocale(path.getContext(), params)) !== null && _a !== void 0 ? _a : path.getContext()[path.getContext().length - 1]) !== null && _b !== void 0 ? _b : '';\n}\nfunction error(p, mounter) {\n const errors = p.model.errors.get(p, true);\n if (errors.length === 0)\n return '';\n return popupIcon('node-error', 'issue_opened', htmlEncode(locale(errors[0].error, errors[0].params)), mounter);\n}\nfunction help(path, mounter) {\n const message = segmentedLocale(path.contextPush('help').getContext(), [], 6);\n if (message === undefined)\n return '';\n return popupIcon('node-help', 'info', htmlEncode(message), mounter);\n}\nconst popupIcon = (type, icon, popup, mounter) => {\n const onClick = mounter.onClick(el => {\n el.getElementsByTagName('span')[0].classList.add('show');\n document.body.addEventListener('click', () => {\n el.getElementsByTagName('span')[0].classList.remove('show');\n }, { capture: true, once: true });\n });\n return `
        \n ${popup}${Octicon[icon]}\n
        `;\n};\nconst contextMenu = (path, mounter) => {\n const id = mounter.register(el => {\n const openMenu = () => {\n var _a;\n const popup = document.createElement('div');\n popup.classList.add('node-menu');\n const helpMessage = segmentedLocale(path.contextPush('help').getContext(), [], 6);\n if (helpMessage)\n popup.insertAdjacentHTML('beforeend', `${helpMessage}`);\n const context = path.getContext().join('.');\n popup.insertAdjacentHTML('beforeend', `\n
        \n ${Octicon.clippy}\n Context: \n ${context}\n
        `);\n (_a = popup.querySelector('.menu-item .btn')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', () => {\n const inputEl = document.createElement('input');\n inputEl.value = context;\n el.appendChild(inputEl);\n inputEl.select();\n document.execCommand('copy');\n el.removeChild(inputEl);\n });\n el.appendChild(popup);\n document.body.addEventListener('click', () => {\n try {\n el.removeChild(popup);\n }\n catch (e) { }\n }, { capture: true, once: true });\n document.body.addEventListener('contextmenu', () => {\n try {\n el.removeChild(popup);\n }\n catch (e) { }\n }, { capture: true, once: true });\n };\n el.addEventListener('contextmenu', evt => {\n openMenu();\n evt.preventDefault();\n });\n let timer = null;\n el.addEventListener('touchstart', () => {\n timer = setTimeout(() => {\n openMenu();\n timer = null;\n }, 800);\n });\n el.addEventListener('touchend', () => {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n });\n });\n return `data-id=\"${id}\"`;\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ModelPath } from '@mcschema/core';\nimport { App, checkVersion, Previews } from '../../App';\nimport { Tracker } from '../../Tracker';\nimport { toggleMenu } from '../../views/View';\nimport { Octicon } from '../Octicon';\nimport { renderHtml } from '../../hooks/renderHtml';\nimport config from '../../../config.json';\nimport { fetchPreset } from '../../DataFetcher';\nexport const TreePanel = (view, model) => {\n const getContent = () => {\n if (App.loaded.get()) {\n const path = new ModelPath(model);\n const rendered = model.schema.hook(renderHtml, path, model.data, view);\n const category = model.schema.category(path);\n if (rendered[1]) {\n return `
        \n
        ${rendered[1]}
        \n
        ${rendered[2]}
        \n
        `;\n }\n return rendered[2];\n }\n return '
        ';\n };\n const tree = view.register(el => {\n App.loaded.watchRun((value) => {\n if (!value) {\n // If loading is taking more than 100 ms, show spinner\n new Promise(r => setTimeout(r, 100)).then(() => {\n if (!App.loaded.get()) {\n view.mount(el, getContent(), false);\n }\n });\n }\n else {\n view.mount(el, getContent(), false);\n }\n });\n App.treeMinimized.watch(() => {\n view.mount(el, getContent(), false);\n });\n model.addListener({\n invalidated() {\n view.mount(el, getContent(), false);\n }\n });\n Previews.biome_noise.biomeColors.watch(() => {\n view.mount(el, getContent(), false);\n }, 'tree-panel');\n });\n const m = App.model.get();\n const registry = ((m === null || m === void 0 ? void 0 : m.category) ? (m === null || m === void 0 ? void 0 : m.category) + '/' : '') + (m === null || m === void 0 ? void 0 : m.schema);\n let presetList;\n const presetListId = view.register(el => presetList = el);\n const getPresets = (query) => {\n var _a, _b;\n const terms = (query !== null && query !== void 0 ? query : '').trim().split(' ');\n const results = ((_b = (_a = App.collections.get()) === null || _a === void 0 ? void 0 : _a.get(registry)) !== null && _b !== void 0 ? _b : [])\n .map(r => r.slice(10))\n .filter(e => terms.every(t => e.includes(t)));\n return results.map(r => `
        __awaiter(void 0, void 0, void 0, function* () {\n App.schemasLoaded.set(false);\n const preset = yield fetchPreset(config.versions.find(v => v.id === App.version.get()), m === null || m === void 0 ? void 0 : m.path, r);\n model.reset(preset);\n App.schemasLoaded.set(true);\n Tracker.loadPreset((m === null || m === void 0 ? void 0 : m.path) + '/' + r);\n }))}\">${r}
        `).join('');\n };\n const presetControl = view.register(el => {\n App.schemasLoaded.watch(v => {\n var _a, _b;\n if (!v)\n return;\n const enabled = ((m === null || m === void 0 ? void 0 : m.path) && checkVersion(App.version.get(), '1.16'));\n el.classList.toggle('disabled', !enabled || ((_b = (_a = App.collections.get()) === null || _a === void 0 ? void 0 : _a.get(registry)) !== null && _b !== void 0 ? _b : []).length === 0);\n if (enabled) {\n view.mount(presetList, getPresets(), false);\n }\n }, 'tree-panel');\n });\n return `
        \n
        \n
        \n
        {\n var _a, _b;\n toggleMenu(el);\n (_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector('input')) === null || _b === void 0 ? void 0 : _b.select();\n })}\">\n ${Octicon.archive}\n
        \n
        \n
        \n ${Octicon.search} {\n view.mount(presetList, getPresets(el.value), false);\n })}\">\n
        \n
        \n
        \n
        \n
        \n
        \n ${Octicon.tag}\n App.version.watch(v => el.textContent = v, 'tree-controls'))}\">\n ${App.version.get()}\n \n
        \n
        \n ${config.versions\n .filter(v => { var _a; return checkVersion(v.id, (_a = App.model.get().minVersion) !== null && _a !== void 0 ? _a : '1.15'); })\n .reverse()\n .map(v => `\n
        {\n Tracker.setVersion(v.id);\n App.version.set(v.id);\n })}\">\n ${v.id}\n
        \n `).join('')}\n
        \n
        \n
        \n
        \n ${Octicon.kebab_horizontal}\n
        \n
        \n
        {\n Tracker.reset();\n model.reset(model.schema.default());\n })}\">\n ${Octicon.history}\n
        \n
        {\n el.addEventListener('click', () => {\n const value = !App.treeMinimized.get();\n App.treeMinimized.set(value);\n Tracker.toggleMinimize(value);\n });\n App.treeMinimized.watchRun(value => {\n view.mount(el, `${Octicon[value ? 'unfold' : 'fold']}`, false);\n });\n })}\">
        \n
        { Tracker.undo(); model.undo(); })}\">\n ${Octicon.arrow_left}\n
        \n
        { Tracker.redo(); model.redo(); })}\">\n ${Octicon.arrow_right}\n
        \n
        \n
        \n
        \n
        \n
        `;\n};\n","export const transformOutput = {\n base({}, _, value) {\n return value;\n },\n choice({ switchNode }, path, value) {\n return switchNode.hook(this, path, value);\n },\n list({ children }, path, value) {\n if (!Array.isArray(value))\n return value;\n return value.map((obj, index) => children.hook(this, path.push(index), obj));\n },\n map({ children }, path, value) {\n if (value === undefined)\n return undefined;\n let res = {};\n Object.keys(value).forEach(f => res[f] = children.hook(this, path.push(f), value[f]));\n return res;\n },\n object({ getActiveFields }, path, value) {\n if (value === undefined || value === null || typeof value !== 'object') {\n return value;\n }\n let res = {};\n const activeFields = getActiveFields(path);\n Object.keys(activeFields)\n .filter(k => activeFields[k].enabled(path))\n .forEach(f => {\n res[f] = activeFields[f].hook(this, path.push(f), value[f]);\n });\n return res;\n }\n};\n","import { ModelPath } from '@mcschema/core';\nimport { Tracker } from '../../Tracker';\nimport { transformOutput } from '../../hooks/transformOutput';\nimport { toggleMenu } from '../../views/View';\nimport { Octicon } from '../Octicon';\nimport { App } from '../../App';\nexport const SourcePanel = (view, model) => {\n const updateContent = (el) => {\n const data = model.schema.hook(transformOutput, new ModelPath(model), model.data);\n App.jsonOutput.set(JSON.stringify(data, null, 2));\n el.value = App.jsonOutput.get();\n };\n const source = view.register(el => {\n updateContent(el);\n model.addListener({\n invalidated() {\n App.jsonError.set(null);\n updateContent(el);\n }\n });\n el.addEventListener('change', () => {\n const rawSource = el.value;\n try {\n model.reset(JSON.parse(rawSource));\n App.jsonError.set(null);\n }\n catch (err) {\n App.jsonError.set(err.message);\n }\n });\n });\n const copySource = (el) => {\n var _a;\n (_a = el.closest('.panel')) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('textarea')[0].select();\n document.execCommand('copy');\n Tracker.copy();\n };\n const downloadSource = (el) => {\n const fileContents = encodeURIComponent(App.jsonOutput.get() + '\\n');\n const downloadAnchor = el.lastElementChild;\n downloadAnchor.setAttribute('href', 'data:text/json;charset=utf-8,' + fileContents);\n downloadAnchor.setAttribute(\"download\", \"data.json\");\n downloadAnchor.click();\n Tracker.download();\n };\n const shareSource = (el) => {\n var _a;\n const shareInput = (_a = el.closest('.panel-controls')) === null || _a === void 0 ? void 0 : _a.querySelector('input');\n const data = btoa(JSON.stringify(JSON.parse(App.jsonOutput.get())));\n const url = window.location.origin + window.location.pathname + '?q=' + data;\n shareInput.value = url;\n shareInput.style.display = 'inline-block';\n document.body.addEventListener('click', evt => {\n shareInput.style.display = 'none';\n }, { capture: true, once: true });\n shareInput.select();\n document.execCommand('copy');\n Tracker.share();\n };\n return `
        \n
        \n \n
        \n ${Octicon.clippy}\n \n
        \n
        \n
        \n ${Octicon.kebab_horizontal}\n
        \n
        \n
        \n ${Octicon.download}\n \n
        \n
        \n ${Octicon.link}\n
        \n
        \n
        \n
        \n \n
        `;\n};\n","import { App } from '../../App';\nimport { Tracker } from '../../Tracker';\nimport { Octicon } from '../Octicon';\nexport const PreviewPanel = (view, model) => {\n const panel = view.register(el => {\n const canvas = el.querySelector('canvas');\n const redraw = () => {\n const preview = App.preview.get();\n if (preview && preview.path && preview.path.withModel(model).get()) {\n const ctx = canvas.getContext('2d');\n const newState = preview.path.withModel(model).get();\n preview.state = JSON.parse(JSON.stringify(newState));\n const [width, height] = preview.getSize();\n canvas.width = width;\n canvas.height = height;\n const img = ctx.createImageData(width, height);\n preview.draw(model, img);\n ctx.putImageData(img, 0, 0);\n }\n else {\n App.preview.set(null);\n }\n };\n const updatePreview = () => {\n var _a, _b;\n redraw();\n view.mount(el.querySelector('.panel-controls'), `\n ${(_b = (_a = App.preview.get()) === null || _a === void 0 ? void 0 : _a.menu(view, redraw)) !== null && _b !== void 0 ? _b : ''}\n
        {\n Tracker.hidePreview();\n App.preview.set(null);\n })}\">\n ${Octicon.x}\n
        `, false);\n };\n model.addListener({\n invalidated: redraw\n });\n App.preview.watchRun((value) => {\n if (value) {\n value.redraw = redraw;\n updatePreview();\n }\n }, 'preview-panel');\n let dragStart;\n el.addEventListener('mousedown', evt => {\n dragStart = [evt.offsetX, evt.offsetY];\n });\n el.addEventListener('mousemove', evt => {\n var _a, _b;\n if (dragStart === undefined)\n return;\n if ((_a = App.preview.get()) === null || _a === void 0 ? void 0 : _a.onDrag) {\n const [width, height] = App.preview.get().getSize();\n const dx = (evt.offsetX - dragStart[0]) * width / canvas.clientWidth;\n const dy = (evt.offsetY - dragStart[1]) * height / canvas.clientHeight;\n if (!(dx === 0 && dy === 0)) {\n (_b = App.preview.get()) === null || _b === void 0 ? void 0 : _b.onDrag(dx, dy);\n redraw();\n }\n }\n dragStart = [evt.offsetX, evt.offsetY];\n });\n el.addEventListener('mouseup', evt => {\n dragStart = undefined;\n });\n });\n return `
        \n
        \n \n
        `;\n};\n","import { relativePath } from '@mcschema/core';\nimport { App } from '../App';\nimport { walk } from './walk';\nexport const customValidation = walk({\n base() { },\n map({ config }, path, value) {\n var _a, _b, _c;\n if (((_a = config.validation) === null || _a === void 0 ? void 0 : _a.validator) === 'block_state_map') {\n const block = relativePath(path, config.validation.params.id).get();\n const errors = path.getModel().errors;\n const requiredProps = (_c = ((_b = App.blockStateRegistry[block]) !== null && _b !== void 0 ? _b : {}).properties) !== null && _c !== void 0 ? _c : {};\n const existingKeys = Object.keys(value !== null && value !== void 0 ? value : {});\n Object.keys(requiredProps).forEach(p => {\n if (!existingKeys.includes(p)) {\n if (path.last() === 'Properties') {\n errors.add(path, 'error.block_state.missing_property', p);\n }\n }\n else if (!requiredProps[p].includes(value[p])) {\n errors.add(path.push(p), 'error.invalid_enum_option', value[p]);\n }\n });\n }\n },\n});\n","export const walk = (hook) => (Object.assign(Object.assign({}, hook), { choice(params, path, value, ...args) {\n var _a;\n ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base)(params, path, value, ...args);\n params.switchNode.hook(this, path, value, ...args);\n },\n list(params, path, value, ...args) {\n var _a;\n ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base)(params, path, value, ...args);\n if (!Array.isArray(value))\n return;\n value.forEach((e, i) => params.children.hook(this, path.push(i), e, ...args));\n },\n map(params, path, value, ...args) {\n var _a;\n ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base)(params, path, value, ...args);\n if (typeof value !== 'object')\n return;\n Object.keys(value).forEach(f => params.children.hook(this, path.push(f), value[f], ...args));\n },\n object(params, path, value, ...args) {\n var _a;\n ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base)(params, path, value, ...args);\n if (value === null || typeof value !== 'object')\n return;\n const activeFields = params.getActiveFields(path);\n Object.keys(activeFields)\n .filter(f => activeFields[f].enabled(path))\n .forEach(f => {\n activeFields[f].hook(this, path.push(f), value[f], ...args);\n });\n } }));\n","import { App, checkVersion, Models } from '../App';\nimport { Header } from '../components/Header';\nimport { SplitGroup } from '../components/SplitGroup';\nimport { Errors } from '../components/Errors';\nimport { TreePanel } from '../components/panels/TreePanel';\nimport { SourcePanel } from '../components/panels/SourcePanel';\nimport { PreviewPanel } from '../components/panels/PreviewPanel';\nimport { customValidation } from '../hooks/customValidation';\nimport { ModelPath, Path } from '@mcschema/core';\nexport const Generator = (view) => {\n const model = Models[App.model.get().id];\n model.listeners = [];\n const getSideContent = () => {\n return App.preview.get() ?\n SplitGroup(view, { direction: 'vertical', sizes: [60, 40] }, [\n SourcePanel(view, model),\n PreviewPanel(view, model)\n ])\n : SourcePanel(view, model);\n };\n const validatePreview = () => {\n var _a;\n const preview = App.preview.get();\n const path = (_a = preview === null || preview === void 0 ? void 0 : preview.path) === null || _a === void 0 ? void 0 : _a.withModel(model);\n if (!(path && path.get() && (preview === null || preview === void 0 ? void 0 : preview.active(path)))) {\n App.preview.set(null);\n }\n };\n model.addListener({\n invalidated: () => {\n validatePreview();\n model.schema.hook(customValidation, new ModelPath(model, new Path()), model.data, model.errors);\n }\n });\n App.schemasLoaded.watch((value) => {\n if (value) {\n model.validate();\n model.invalidate();\n validatePreview();\n }\n }, 'generator');\n App.localesLoaded.watch((value) => {\n if (value && App.schemasLoaded.get()) {\n model.invalidate();\n }\n }, 'generator');\n App.version.watchRun((value) => {\n const minVersion = App.model.get().minVersion;\n if (minVersion && !checkVersion(value, minVersion)) {\n App.version.set(minVersion);\n }\n }, 'generator');\n const sideContent = view.register(el => {\n App.preview.watch((value, oldValue) => {\n if (!value || !oldValue) {\n view.mount(el, getSideContent(), false);\n }\n }, 'generator');\n });\n const homeLink = typeof App.model.get().category === 'string' ? `/${App.model.get().category}/` : undefined;\n return `${Header(view, `${App.model.get().name} Generator`, homeLink)}\n
        \n ${SplitGroup(view, { direction: \"horizontal\", sizes: [66, 34] }, [\n TreePanel(view, model),\n `
        ${getSideContent()}
        `\n ])}\n
        \n ${Errors(view, model)}`;\n};\n","import { App } from '../App';\nimport { locale } from '../Locales';\nimport { Octicon } from './Octicon';\nimport { Toggle } from './Toggle';\nimport { htmlEncode } from '../Utils';\nimport { Tracker } from '../Tracker';\nexport const Errors = (view, model) => {\n const getContent = () => {\n if (App.jsonError.get()) {\n return `
        \n
        \n ${htmlEncode(App.jsonError.get())}\n
        \n
        \n
        \n ${Octicon.issue_opened}\n
        `;\n }\n if (model.errors.count() === 0)\n return '';\n return `${App.errorsVisible.get() ? `\n
        \n ${model.errors.getAll().map(e => `\n
        \n ${e.path.toString()}\n -\n ${htmlEncode(locale(e.error, e.params))}\n
        \n `).join('')}\n
        \n ` : ''}\n ${Toggle(view, [[true, 'chevron_down'], [false, 'issue_opened']], App.errorsVisible, Tracker.toggleErrors)}`;\n };\n const errors = view.register(el => {\n model.addListener({\n errors() {\n view.mount(el, getContent(), false);\n }\n });\n App.jsonError.watch(() => {\n view.mount(el, getContent(), false);\n });\n App.errorsVisible.watch(() => {\n view.mount(el, getContent(), false);\n }, 'errors');\n });\n return `\n
        \n ${getContent()}\n
        `;\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { App, checkVersion, Models } from './App';\nimport { View } from './views/View';\nimport { Home } from './views/Home';\nimport { NotFound } from './views/NotFound';\nimport { FieldSettings } from './views/FieldSettings';\nimport { Generator } from './views/Generator';\nimport { locale } from './Locales';\nimport { Tracker } from './Tracker';\nimport config from '../config.json';\nconst categories = config.models.filter(m => m.category === true);\nconst router = () => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b;\n localStorage.length;\n const urlParts = location.pathname.split('/').filter(e => e);\n const urlParams = new URLSearchParams(location.search);\n console.debug(`[router] ${urlParts.join('/')}`);\n const target = document.getElementById('app');\n let title = locale('title.home');\n let renderer = (view) => '';\n let panel = 'home';\n if (urlParts.length === 0) {\n App.model.set({ id: '', name: 'Data Pack', category: true, minVersion: '1.15' });\n renderer = Home;\n }\n else if (urlParts[0] === 'settings' && urlParts[1] === 'fields') {\n panel = 'settings';\n renderer = FieldSettings;\n }\n else if (urlParts.length === 1 && categories.map(m => m.id).includes(urlParts[0])) {\n App.model.set(categories.find(m => m.id === urlParts[0]));\n renderer = Home;\n }\n else {\n panel = 'tree';\n const model = (_a = config.models.find(m => m.id === urlParts.join('/'))) !== null && _a !== void 0 ? _a : null;\n App.model.set(model);\n if (model) {\n if (urlParams.has('q')) {\n try {\n const data = atob((_b = urlParams.get('q')) !== null && _b !== void 0 ? _b : '');\n Models[model.id].reset(JSON.parse(data));\n }\n catch (e) { }\n }\n renderer = Generator;\n title = locale('title.generator', [locale(model.id)]);\n }\n else {\n renderer = NotFound;\n }\n }\n console.debug(`[router] Renderer=${renderer.name}`);\n const versions = config.versions\n .filter(v => { var _a; return checkVersion(v.id, (_a = App.model.get()) === null || _a === void 0 ? void 0 : _a.minVersion); })\n .map(v => v.id).join(', ');\n document.title = `${title} Minecraft ${versions}`;\n console.debug(`[router] Title=${title} Versions=${versions}`);\n App.mobilePanel.set(panel);\n const view = new View();\n view.mount(target, renderer(view), true);\n console.debug(`[router] Done!`);\n});\nwindow.addEventListener(\"popstate\", router);\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n console.debug(`[DOMContentLoaded] LocalStorage=${'localStorage' in window} Caches=${'caches' in window}`);\n document.body.addEventListener(\"click\", e => {\n if (e.target instanceof Element\n && e.target.hasAttribute('data-link')\n && e.target.hasAttribute('href')) {\n e.preventDefault();\n const target = e.target.getAttribute('href');\n console.debug(`[data-link] ${target}`);\n Tracker.pageview(target);\n history.pushState(null, '', target);\n router();\n }\n });\n router();\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/locales/de.json b/locales/de.json deleted file mode 100644 index 0fcda4db..00000000 --- a/locales/de.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"Kriterium","advancement.display":"Darstellung","advancement.display.announce_to_chat":"Im Chat bekanntgeben","advancement.display.background":"Hintergrund","advancement.display.description":"Beschreibung","advancement.display.frame":"Rahmen","advancement.display.frame.challenge":"Herausforderung","advancement.display.frame.goal":"Ziel","advancement.display.frame.task":"Aufgabe","advancement.display.help":"Wenn vorhanden, wird der Fortschritt in einem Fortschrittstab angezeigt.","advancement.display.hidden":"Versteckt","advancement.display.icon":"Icon","advancement.display.icon.item":"Icon-Gegenstands-ID","advancement.display.icon.nbt":"Icon-Gegenstandsdaten","advancement.display.show_toast":"Toast anzeigen","advancement.display.title":"Titel","advancement.parent":"Vorheriger Fortschritt","advancement.rewards":"Belohnungen","advancement.rewards.experience":"Erfahrungspunkte","advancement.rewards.function":"Funktion","advancement.rewards.loot":"Beutetabellen","advancement.rewards.recipes":"Rezepte","advancement_trigger.bee_nest_destroyed":"Bienennest zerstört","advancement_trigger.bred_animals":"Tiere gepaart","advancement_trigger.brewed_potion":"Tränke gebraut","advancement_trigger.changed_dimension":"Dimension gewechselt","advancement_trigger.channeled_lightning":"Blitze Entladen","advancement_trigger.construct_beacon":"Leuchtfeuer gebaut","advancement_trigger.consume_item":"Gegenstand konsumiert","advancement_trigger.cured_zombie_villager":"Dorfbewohnerzombie geheilt","advancement_trigger.effects_changed":"Statuseffekte verändert","advancement_trigger.enchanted_item":"Gegenstand verzaubert","advancement_trigger.enter_block":"Block betreten","advancement_trigger.entity_hurt_player":"Spieler verletzt","advancement_trigger.entity_killed_player":"Spieler getötet","advancement_trigger.filled_bucket":"Eimer gefüllt","advancement_trigger.fishing_rod_hooked":"Etwas geangelt","advancement_trigger.hero_of_the_village":"Held des Dorfes","advancement_trigger.impossible":"Unmöglich","advancement_trigger.inventory_changed":"Inventar verändert","advancement_trigger.item_durability_changed":"Gegenstandshaltbarkeit verändert","advancement_trigger.item_used_on_block":"Gegenstand auf Block angewendet","advancement_trigger.killed_by_crossbow":"Durch Armbrust getötet","advancement_trigger.levitation":"Schwebekraft","advancement_trigger.location":"Ort betreten","advancement_trigger.nether_travel":"Nether-Reise","advancement_trigger.placed_block":"Block platziert","advancement_trigger.player_generates_container_loot":"Spieler generiert Beute für Behälter","advancement_trigger.player_hurt_entity":"Spieler verletzt Objekt","advancement_trigger.player_killed_entity":"Spieler tötet Objekt","advancement_trigger.recipe_unlocked":"Rezept freigeschaltet","advancement_trigger.safely_harvest_honey":"Sichere Honiggewinnung","advancement_trigger.shot_crossbow":"Armbrust abgefeuert","advancement_trigger.slept_in_bed":"In Bett geschlafen","advancement_trigger.slide_down_block":"Block herunterrutschen","advancement_trigger.summoned_entity":"Objekt beschworen","advancement_trigger.tame_animal":"Tier gezähmt","advancement_trigger.target_hit":"Ziel getroffen","advancement_trigger.thrown_item_picked_up_by_entity":"Objekt hebt fallengelassensen Gegenstand auf","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Enderauge verwendet","advancement_trigger.used_totem":"Totem verwendet","advancement_trigger.villager_trade":"Mit Dorfbewohner gehandelt","advancement_trigger.voluntary_exile":"Freiwilliges Exil","attribute.generic_armor":"Rüstung","attribute.generic_armor_toughness":"Rüstungshärte","attribute.generic_attack_damage":"Angriffsschaden","attribute.generic_attack_knockback":"Angriffsrückstoß","attribute.generic_attack_speed":"Angriffsgeschwindigkeit","attribute.generic_flying_speed":"Fluggeschwindigkeit","attribute.generic_follow_range":"Verfolgungsreichweite","attribute.generic_knockback_resistance":"Rückstoßwiderstand","attribute.generic_luck":"Glück","attribute.generic_max_health":"Maximale Gesundheit","attribute.generic_movement_speed":"Laufgeschwindigkeit","attribute.horse.jump_strength":"Sprungkraft","attribute.zombie.spawn_reinforcements":"Unterstützung rufen","attribute_modifier.amount":"Menge","attribute_modifier.attribute":"Attribut","attribute_modifier.name":"Name","attribute_modifier.operation":"Operation","attribute_modifier.operation.addition":"Addition","attribute_modifier.operation.multiply_base":"Basiswert multiplizieren","attribute_modifier.operation.multiply_total":"Gesamtwert multiplizieren","attribute_modifier.slot":"Slots","badge.experimental":"Experimentell","badge.unstable":"Unsicher","biome.carvers":"Borer","biome.carvers.air":"Luft","biome.carvers.liquid":"Flüssigkeit","biome.category":"Kategorie","biome.creature_spawn_probability":"Spawnwahrscheinlichkeit des Wesens","biome.depth":"Tiefe","biome.downfall":"Niederschlag","biome.effects":"Effekte","biome.effects.additions_sound":"Zusätzliches Geräusch","biome.effects.additions_sound.sound":"Geräusch","biome.effects.additions_sound.tick_chance":"Wahrscheinlichkeit per Tick","biome.effects.ambient_sound":"Ungebungsgeräusch","biome.effects.fog_color":"Nebelfarbe","biome.effects.foliage_color":"Blattfarbe","biome.effects.grass_color":"Grasfarbe","biome.effects.grass_color_modifier":"Grasfabmodifikator","biome.effects.grass_color_modifier.dark_forest":"Dichter Wald","biome.effects.grass_color_modifier.none":"Keiner","biome.effects.grass_color_modifier.swamp":"Sumpf","biome.effects.mood_sound":"Stimmungsgeräusch","biome.effects.mood_sound.block_search_extent":"Blocksuchentfernung","biome.effects.mood_sound.offset":"Verschiebung","biome.effects.mood_sound.sound":"Geräusch","biome.effects.mood_sound.tick_delay":"Verzögerung in Ticks","biome.effects.music":"Musik","biome.effects.music.max_delay":"Maximale Verzögerung","biome.effects.music.min_delay":"Minimale Verzögerung","biome.effects.music.replace_current_music":"Aktuelle Musik ersetzen","biome.effects.music.sound":"Geräusch","biome.effects.particle":"Partikel","biome.effects.particle.options":"Optionen","biome.effects.particle.options.type":"Partikelart","biome.effects.particle.probability":"Wahrscheinlichkeit","biome.effects.sky_color":"Himmelsfarbe","biome.effects.water_color":"Wasserfarbe","biome.effects.water_fog_color":"Wassernebelfarbe","biome.features":"Merkmale","biome.features.entry":"Schritt %0%","biome.features.entry.entry":"Merkmal","biome.player_spawn_friendly":"Weltspawn möglich","biome.player_spawn_friendly.help":"Wenn „true“, wird der Weltspawn in diesem Biom bevorzugt.","biome.precipitation":"Witterung","biome.precipitation.none":"Keine","biome.precipitation.rain":"Regen","biome.precipitation.snow":"Schnee","biome.scale":"Skalierung","biome.spawn_costs":"Spawnkosten","biome.spawn_costs.charge":"Ladung","biome.spawn_costs.energy_budget":"Energiebudget","biome.spawners":"Spawner","biome.spawners.ambient":"Atmosphäre","biome.spawners.creature":"Kreatur","biome.spawners.entry":"Spawn","biome.spawners.entry.maxCount":"Maximale Anzahl","biome.spawners.entry.minCount":"Minimale Anzahl","biome.spawners.entry.type":"Typ","biome.spawners.entry.weight":"Gewichtung","biome.spawners.misc":"Verschiedene","biome.spawners.monster":"Monster","biome.spawners.water_ambient":"Wasseratmosphäre","biome.spawners.water_creature":"Wasserkreatur","biome.starts":"Strukturanfänge","biome.starts.entry":"Struktur","biome.starts.help":"Liste konfigurierter Strukturmerkmale","biome.surface_builder":"Oberflächengestalter","biome.temperature":"Temperatur","biome.temperature_modifier":"Temperaturmodifikator","biome.temperature_modifier.frozen":"Gefroren","biome.temperature_modifier.none":"Keiner","block.block":"Block-ID","block.nbt":"Blockdaten","block.state":"Blockzustand","block.tag":"Block-Aliasdaten","block_placer.column_placer.extra_size":"Extra Größe","block_placer.column_placer.min_size":"Minimale Größe","block_placer.type":"Typ","block_state.Name":"Name","block_state.Properties":"Eigenschaften","block_state_provider.rotated_block_provider.state":"Zustand","block_state_provider.simple_state_provider.state":"Zustand","block_state_provider.type":"Typ","block_state_provider.weighted_state_provider.entries":"Einträge","block_state_provider.weighted_state_provider.entries.entry.data":"Zustand","block_state_provider.weighted_state_provider.entries.entry.weight":"Gewichtung","carver.config":"Konfiguration","carver.config.probability":"Wahrscheinlichkeit","carver.type":"Typ","children":"Kinder","children.entry":"Eintrag","condition.alternative.terms":"Bedingungen","condition.block_state_property.block":"Block","condition.block_state_property.properties":"Blockzustand","condition.condition":"Bedingung","condition.damage_source":"Schadensquelle","condition.entity_properties.entity":"Objekt","condition.entity_scores.entity":"Objekt","condition.entity_scores.scores":"Punktestände","condition.entry":"Prädikat","condition.inverted.term":"Bedingung","condition.item":"Gegenstand","condition.killed_by_player.inverse":"Invertiert","condition.list":"Mehrere","condition.location":"Ort","condition.location_check.offsetX":"X-Verschiebung","condition.location_check.offsetY":"Y-Verschiebung","condition.location_check.offsetZ":"Z-Verschiebung","condition.object":"Einfach","condition.random_chance.chance":"Wahrscheinlichkeit","condition.random_chance_with_looting.chance":"Wahrscheinlichkeit","condition.random_chance_with_looting.looting_multiplier":"Plüderungsmultiplikator","condition.reference.name":"Prädikatname","condition.table_bonus.chances":"Wahrscheinlichkeiten","condition.table_bonus.chances.entry":"Wahrscheinlichkeit","condition.table_bonus.enchantment":"Verzauberung","condition.time_check.period":"Zeitraum","condition.time_check.period.help":"Wenn vorhanden, wird der Restwert von der Zeit geteilt durch diesen Wert gebildet. Wenn beispielsweise dieser Wert auf 24000 gesetzt wird, wird der Zeitwert auf Tagen operieren.","condition.time_check.value":"Wert","condition.weather_check.raining":"Regen","condition.weather_check.thundering":"Gewitter","conditions":"Bedingungen","conditions.entry":"Bedingung","conditions.list":"Bedingungen","conditions.object":"Veraltet","copy_source.block_entity":"Blockobjekt","copy_source.killer":"Mörder","copy_source.killer_player":"Mörderspieler","copy_source.this":"Selbst","criterion.bee_nest_destroyed.block":"Block","criterion.bee_nest_destroyed.num_bees_inside":"Anzahl Bienen","criterion.bred_animals.child":"Kind","criterion.bred_animals.parent":"Mutter","criterion.bred_animals.partner":"Vater","criterion.brewed_potion.potion":"Trank","criterion.changed_dimension.from":"Von","criterion.changed_dimension.to":"Nach","criterion.channeled_lightning.victims":"Getroffene","criterion.channeled_lightning.victims.entry":"Objekt","criterion.conditions":"Bedingungen","criterion.construct_beacon.beacon_level":"Pyramidenhöhe","criterion.consume_item.item":"Gegenstand","criterion.cured_zombie_villager.villager":"Dorfbewohner","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Statuseffekte","criterion.enchanted_item.item":"Gegenstand","criterion.enchanted_item.levels":"Erfahrungslevel","criterion.enter_block.block":"Block","criterion.enter_block.state":"Zustände","criterion.entity_hurt_player.damage":"Schaden","criterion.entity_killed_player.entity":"Quellobjekt","criterion.entity_killed_player.killing_blow":"Todesschlag","criterion.filled_bucket.item":"Gegenstand","criterion.fishing_rod_hooked.entity":"Gezogenes Objekt","criterion.fishing_rod_hooked.item":"Gegenstand","criterion.hero_of_the_village.location":"Ort","criterion.inventory_changed.items":"Gegenstände","criterion.inventory_changed.items.entry":"Gegenstand","criterion.inventory_changed.slots":"Slots","criterion.inventory_changed.slots.empty":"Leere Slots","criterion.inventory_changed.slots.full":"Volle Slots","criterion.inventory_changed.slots.occupied":"Belegte Slots","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Haltbarkeit","criterion.item_durability_changed.item":"Gegenstand","criterion.item_used_on_block.item":"Gegenstand","criterion.item_used_on_block.location":"Ort","criterion.killed_by_crossbow.unique_entity_types":"Anzahl einzigartiger Objekttypen","criterion.killed_by_crossbow.victims":"Getroffene","criterion.killed_by_crossbow.victims.entry":"Objekt","criterion.levitation.distance":"Distanz","criterion.levitation.duration":"Dauer","criterion.location.location":"Ort","criterion.nether_travel.distance":"Distanz","criterion.nether_travel.entered":"Startort","criterion.nether_travel.exited":"Zielort","criterion.placed_block.block":"Block","criterion.placed_block.item":"Gegenstand","criterion.placed_block.location":"Ort","criterion.placed_block.state":"Zustände","criterion.player":"Spieler","criterion.player_generates_container_loot.loot_table":"Beutetabelle","criterion.player_hurt_entity.damage":"Schaden","criterion.player_hurt_entity.entity":"Opferobjekt","criterion.player_killed_entity.entity":"Opferobjekt","criterion.player_killed_entity.killing_blow":"Todesschlag","criterion.recipe_unlocked.recipe":"Rezept","criterion.rod":"Angel","criterion.shot_crossbow.item":"Gegenstand","criterion.slept_in_bed.location":"Ort","criterion.slide_down_block.block":"Block","criterion.summoned_entity.entity":"Objekt","criterion.tame_animal.entity":"Tier","criterion.target_hit.projectile":"Geschoss","criterion.target_hit.shooter":"Schütze","criterion.target_hit.signal_strength":"Signalstärke","criterion.thrown_item_picked_up_by_entity.entity":"Objekt","criterion.thrown_item_picked_up_by_entity.item":"Gegenstand","criterion.trigger":"Auslöser","criterion.used_ender_eye.distance":"Distanz","criterion.used_totem.item":"Totem-Gegenstand","criterion.villager_trade.item":"Gekaufter Gegenstand","criterion.villager_trade.villager":"Dorfbewohner","criterion.voluntary_exile.location":"Ort","damage.blocked":"Geblocked","damage.dealt":"Schaden zugefügt","damage.source_entity":"Schadensverursacherobjekt","damage.taken":"Schaden genommen","damage.type":"Schadensart","damage_source.bypasses_armor":"Rüstung umgehen","damage_source.bypasses_invulnerability":"Leere","damage_source.bypasses_magic":"Hunger","damage_source.direct_entity":"Direktes Schadensquellobjekt","damage_source.is_explosion":"Explosion","damage_source.is_fire":"Feuer","damage_source.is_lightning":"Blitzschlag","damage_source.is_magic":"Magie","damage_source.is_projectile":"Geschoss","damage_source.source_entity":"Schadensverurscherobjekt","decorator.carving_mask.step":"Generierungsschritt","decorator.config":"Konfiguration","decorator.count.count":"Anzahl","decorator.count_extra.count":"Anzahl","decorator.count_extra.extra_chance":"Zusätzliche Wahrscheinlichkeit","decorator.count_extra.extra_count":"Zusätzliche Anzahl","decorator.count_multilayer.count":"Anzahl","decorator.count_noise.above_noise":"Oberhalb des Rauschens","decorator.count_noise.below_noise":"Unterhalb des Rauschens","decorator.count_noise.noise_level":"Rauschlevel","decorator.count_noise_biased.noise_factor":"Rauschfaktor","decorator.count_noise_biased.noise_offset":"Rauschverschiebung","decorator.count_noise_biased.noise_to_count_ratio":"Verhältnis von Rauschen zu Anzahl","decorator.decorated.inner":"Innerer","decorator.decorated.outer":"Äußérer","decorator.depth_average.baseline":"Grundlinie","decorator.depth_average.spread":"Ausbreitung","decorator.glowstone.count":"Anzahl","decorator.type":"Typ","dimension":"Dimension","dimension.generator":"Generator","dimension.generator.biome_source":"Biomquelle","dimension.overworld":"Oberwelt","dimension.the_end":"Das Ende","dimension.the_nether":"Der Nether","dimension.type":"Dimensionstyp","dimension.type.object":"Benutzerdefiniert","dimension.type.string":"Vorlage","dimension_type.ambient_light":"Umgebungslicht","dimension_type.ambient_light.help":"Wert zwischen 0 und 1.","dimension_type.bed_works":"Bett funktioniert","dimension_type.coordinate_scale":"Koordinatenskalierung","dimension_type.effects":"Effekte","dimension_type.effects.overworld":"Oberwelt","dimension_type.effects.the_end":"Das Ende","dimension_type.effects.the_nether":"Der Nether","dimension_type.fixed_time":"Feste Zeit","dimension_type.fixed_time.help":"Wenn dieser Wert gesetzt ist, ist die Zeit an diesem Wert für diese Dimension angehalten und die Sonne bzw. der Mond bleiben an derselben Stelle.","dimension_type.has_ceiling":"Hat Decke","dimension_type.has_raids":"Hat Überfälle","dimension_type.has_skylight":"Hat Tageslicht","dimension_type.infiniburn":"Dauerbrenner","dimension_type.logical_height":"Logische Höhe","dimension_type.name":"Name","dimension_type.natural":"Natürlich","dimension_type.natural.help":"Wenn „true“, erzeugen Nether-Portale zombifizierte Piglins. Wenn „false“, rotieren Kompasse und Uhren zufällig.","dimension_type.piglin_safe":"Piglinsicher","dimension_type.respawn_anchor_works":"Seelenanker funktioniert","dimension_type.ultrawarm":"Superwarm","dimension_type.ultrawarm.help":"Wenn „true“, verdampft Wasser und Schwämme trocknen.","distance.absolute":"Absolut","distance.horizontal":"Horizontal","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Wasseraffinität","enchantment.bane_of_arthropods":"Nemesis der Gliederfüßer","enchantment.binding_curse":"Fluch der Bindung","enchantment.blast_protection":"Explosionsschutz","enchantment.channeling":"Entladung","enchantment.depth_strider":"Wasserläufer","enchantment.efficiency":"Effizienz","enchantment.enchantment":"Verzauberung","enchantment.feather_falling":"Federfall","enchantment.fire_aspect":"Verbrennung","enchantment.fire_protection":"Feuerschutz","enchantment.flame":"Flamme","enchantment.fortune":"Glück","enchantment.frost_walker":"Eisläufer","enchantment.impaling":"Harpune","enchantment.infinity":"Unendlichkeit","enchantment.knockback":"Rückstoß","enchantment.levels":"Level","enchantment.looting":"Plünderung","enchantment.loyalty":"Treue","enchantment.luck_of_the_sea":"Glück des Meeres","enchantment.lure":"Köder","enchantment.mending":"Reparatur","enchantment.multishot":"Mehrfachschuss","enchantment.piercing":"Durchschuss","enchantment.power":"Stärke","enchantment.projectile_protection":"Schusssicher","enchantment.protection":"Schutz","enchantment.punch":"Schlag","enchantment.quick_charge":"Schnellladen","enchantment.respiration":"Atmung","enchantment.riptide":"Sog","enchantment.sharpness":"Schärfe","enchantment.silk_touch":"Behutsamkeit","enchantment.smite":"Bann","enchantment.sweeping":"Schwungkraft","enchantment.thorns":"Dornen","enchantment.unbreaking":"Haltbarkeit","enchantment.vanishing_curse":"Fluch des Verschwindens","entity.distance":"Distanz","entity.effects":"Statuseffekte","entity.equipment":"Ausrüstung","entity.fishing_hook":"Angelhaken","entity.fishing_hook.in_open_water":"In offenem Gewässer","entity.flags":"Markierungen","entity.isBaby":"Baby","entity.isOnFire":"Brennt","entity.isSneaking":"Schleicht","entity.isSprinting":"Rennt","entity.isSwimming":"Schwimmt","entity.location":"Ort","entity.nbt":"NBT-Daten","entity.player":"Spieler","entity.targeted_entity":"Ausgewältes Objekt","entity.team":"Team","entity.type":"Objekt","entity.vehicle":"Gefährt","entity_source.killer":"Mörder","entity_source.killer_player":"Mörderspieler","entity_source.this":"Selbst","entry":"Eintrag","error":"Fehler","error.expected_boolean":"Wahrheitswer erwartet","error.expected_integer":"Ganzzahl erwartet","error.expected_json":"JSON erwartet","error.expected_list":"Array erwartet","error.expected_number":"Zahl erwartet","error.expected_object":"Objekt erwartet","error.expected_range":"Wertebereich erwartet","error.expected_string":"Zeichenkette erwartet","error.expected_uniform_int":"Gleichmäßige Verteilung erwartet","error.invalid_binomial":"Binomialverteilung wird in diesem Wertebereich nicht unterstützt","error.invalid_empty_list":"Array darf nicht leer sein","error.invalid_empty_string":"Zeichenkette darf nicht leer sein","error.invalid_enum_option":"Ungültige Option „%0%“","error.invalid_exact":"Dieser Wertebereich unterstützt keine Konstante","error.invalid_number_range.between":"Zahl zwischen %0% und %1% erwartet","error.invalid_pattern":"Zeichenkette ist ungültig: %0%","error.recipe.invalid_key":"Schlüssel darf nur ein einzelnes Zeichen sein","error.separation_smaller_spacing":"Aufteilung muss kleiner als Abstand sein","false":"Falsch","feature.bamboo.probability":"Wahrscheinlichkeit","feature.basalt_columns.height":"Höhe","feature.basalt_columns.reach":"Reichweite","feature.block_pile.state_provider":"Zustanderzeuger","feature.config":"Konfiguration","feature.decorated.decorator":"Dekorator","feature.decorated.feature":"Merkmal","feature.delta_feature.contents":"Inhalte","feature.delta_feature.rim":"Rand","feature.delta_feature.rim_size":"Randgröße","feature.delta_feature.size":"Größe","feature.disk.half_height":"Halbe Höhe","feature.disk.radius":"Radius","feature.disk.state":"Zustand","feature.disk.targets":"Ziele","feature.disk.targets.entry":"Zustand","feature.emerald_ore.state":"Zustand","feature.emerald_ore.target":"Ziel","feature.end_gateway.exact":"Exakt","feature.end_gateway.exit":"Ausgang","feature.end_spike.crystal_beam_target":"Kristallstrahlziel","feature.end_spike.crystal_invulnerable":"Endkristall Unzerstörbar","feature.end_spike.spikes":"Zacken","feature.end_spike.spikes.entry":"Zacken","feature.end_spike.spikes.entry.centerX":"X Mitte","feature.end_spike.spikes.entry.centerZ":"Z Mitte","feature.end_spike.spikes.entry.guarded":"Eisengitterkäfig","feature.end_spike.spikes.entry.height":"Höhe","feature.end_spike.spikes.entry.radius":"Radius","feature.fill_layer.height":"Höhe","feature.fill_layer.state":"Zustand","feature.flower.blacklist":"Blacklist","feature.flower.block_placer":"Blackplatzierer","feature.flower.can_replace":"Kann Ersetzen","feature.flower.need_water":"Benötigt Wasser","feature.flower.project":"Projizieren","feature.flower.state_provider":"Zustandserzeuger","feature.flower.tries":"Versuche","feature.flower.whitelist":"Whitelist","feature.flower.xspread":"X Ausbreitung","feature.flower.yspread":"Y Ausbreitung","feature.flower.zspread":"Z Ausbreitung","feature.forest_rock.state":"Zustand","feature.huge_brown_mushroom.cap_provider":"Schirmerzeuger","feature.huge_brown_mushroom.foliage_radius":"Schirmradius","feature.huge_brown_mushroom.stem_provider":"Stielerzeuger","feature.huge_fungus.decor_state":"Dekoration","feature.huge_fungus.hat_state":"Schirm","feature.huge_fungus.planted":"Gepflanzt","feature.huge_fungus.stem_state":"Stiel","feature.huge_fungus.valid_base_block":"Erlaubter Untergrund","feature.huge_red_mushroom.cap_provider":"Schirmerzeuger","feature.huge_red_mushroom.foliage_radius":"Schirmradius","feature.huge_red_mushroom.stem_provider":"Stielerzeuger","feature.ice_patch.half_height":"Halbe Höhe","feature.ice_patch.radius":"Radius","feature.ice_patch.state":"Zustand","feature.ice_patch.targets":"Ziele","feature.ice_patch.targets.entry":"Zustand","feature.iceberg.state":"Zustand","feature.lake.state":"Zustand","feature.nether_forest_vegetation.state_provider":"Zustanderzeuger","feature.netherrack_replace_blobs.radius":"Radius","feature.netherrack_replace_blobs.state":"Zustand","feature.netherrack_replace_blobs.target":"Ziel","feature.no_surface_ore.size":"Größe","feature.no_surface_ore.state":"Zustand","feature.no_surface_ore.target":"Ziel","feature.object":"Benutzerdefiniert","feature.ore.size":"Größe","feature.random_boolean_selector.feature_false":"Merkmal 1","feature.random_boolean_selector.feature_true":"Merkmal 2","feature.random_patch.blacklist":"Blacklist","feature.random_patch.block_placer":"Blockplatzierer","feature.random_patch.can_replace":"Kann Ersetzen","feature.random_patch.need_water":"Benötigt Wasser","feature.random_patch.project":"Projizieren","feature.random_patch.state_provider":"Zustanderzeuger","feature.random_patch.tries":"Versuche","feature.random_patch.whitelist":"Whitelist","feature.random_patch.xspread":"X Ausbreitung","feature.random_patch.yspread":"Y Ausbreitung","feature.random_patch.zspread":"Z Ausbreitung","feature.random_selector.default":"Standard","feature.random_selector.features":"Merkmale","feature.random_selector.features.entry":"Merkmal","feature.random_selector.features.entry.chance":"Wahrscheinlichkeit","feature.random_selector.features.entry.feature":"Merkmal","feature.sea_pickle.count":"Anzahl","feature.seegrass.probability":"Wahrscheinlichkeit","feature.simple_block.place_in":"Innerhalb platzieren","feature.simple_block.place_in.entry":"Zustand","feature.simple_block.place_on":"Platzieren auf","feature.simple_block.place_on.entry":"Zustand","feature.simple_block.place_under":"Unterhalb platzieren","feature.simple_block.place_under.entry":"Zustand","feature.simple_block.to_place":"Zu platzieren","feature.simple_random_selector.features":"Merkmale","feature.simple_random_selector.features.entry":"Merkmal","feature.spring_feature.hole_count":"Menge Löcher","feature.spring_feature.required_block_below":"Benötigt block unterhalb","feature.spring_feature.rock_count":"Menge Fels","feature.spring_feature.state":"Zustand","feature.spring_feature.valid_blocks":"Erlaubte Blöcke","feature.string":"Referenz","feature.tree.decorators":"Dekoratoren","feature.tree.decorators.entry":"Baumdekorator","feature.tree.foliage_placer":"Blattplatzierer","feature.tree.heightmap":"Höhenfeld","feature.tree.ignore_vines":"Ranken ignorieren","feature.tree.leaves_provider":"Blattblockerzeuger","feature.tree.max_water_depth":"Maximale Wassertiefe","feature.tree.minimum_size":"Minimale Größe","feature.tree.minimum_size.limit":"Limit","feature.tree.minimum_size.lower_size":"Untere Größe","feature.tree.minimum_size.middle_size":"Mittlere Größe","feature.tree.minimum_size.min_clipped_height":"Minimale Größe","feature.tree.minimum_size.type":"Minimale Größe","feature.tree.minimum_size.upper_limit":"Obere Grenze","feature.tree.minimum_size.upper_size":"Obere Größe","feature.tree.trunk_placer":"Stammplatzierer","feature.tree.trunk_provider":"Stammblockerzeuger","feature.type":"Typ","fluid.fluid":"Flüssigkeits-ID","fluid.state":"Flüssigkeitszustand","fluid.tag":"Flüssigkeitsaliasdaten","fluid_state.Name":"Name","fluid_state.Properties":"Eigenschaften","foliage_placer.crown_height":"Kronenhöhe","foliage_placer.height":"Höhe","foliage_placer.offset":"Verschiebung","foliage_placer.radius":"Radius","foliage_placer.trunk_height":"Stammhöhe","foliage_placer.type":"Typ","function.apply_bonus.enchantment":"Verzauberung","function.apply_bonus.formula":"Formel","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial mit Bonusmenge","function.apply_bonus.formula.ore_drops":"Erzdrops","function.apply_bonus.formula.uniform_bonus_count":"Gleichmäßige Verteilung mit Bonusmenge","function.apply_bonus.parameters":"Parameter","function.apply_bonus.parameters.bonusMultiplier":"Muliplikator","function.apply_bonus.parameters.extra":"Bonusmenge","function.apply_bonus.parameters.probability":"Wahrscheinlichkeit","function.copy_name.source":"Quelle","function.copy_nbt.ops":"NBT-Operationen","function.copy_nbt.ops.entry":"Operation","function.copy_nbt.source":"Quelle","function.copy_state.block":"Block","function.copy_state.properties":"Eigenschaften","function.copy_state.properties.entry":"Eigenschaft","function.enchant_randomly.enchantments":"Optionale Verzauberungen","function.enchant_randomly.enchantments.entry":"Verzauberung","function.enchant_with_levels.levels":"Level","function.enchant_with_levels.treasure":"Schatz","function.exploration_map.decoration":"Dekoration","function.exploration_map.destination":"Ziel","function.exploration_map.search_radius":"Suchradius (Chunks)","function.exploration_map.skip_existing_chunks":"Bereits generierte Chunks ignorieren","function.exploration_map.zoom":"Zoom","function.fill_player_head.entity":"Objekt","function.function":"Funktion","function.limit_count.limit":"Grenze","function.looting_enchant.count":"Anzahl","function.looting_enchant.limit":"Grenze","function.set_attributes.modifiers":"Modifikatoren","function.set_attributes.modifiers.entry":"Modifikator","function.set_contents.entries":"Inhalte","function.set_contents.entries.entry":"Eintrag","function.set_count.count":"Anzahl","function.set_damage.damage":"Schaden","function.set_data.data":"Daten","function.set_loot_table.name":"Beutetabellenname","function.set_loot_table.seed":"Seed","function.set_lore.entity":"Objekt","function.set_lore.lore":"Beschreibung","function.set_lore.lore.entry":"Zeile","function.set_lore.replace":"Ersetzen","function.set_name.entity":"Objekt","function.set_name.name":"Name","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Statuseffekte","function.set_stew_effect.effects.entry":"Statuseffekt","function.set_stew_effect.effects.entry.duration":"Wirkungsdauer","function.set_stew_effect.effects.entry.type":"Effekt","functions":"Funktionen","functions.entry":"Funktion","gamemode.adventure":"Abenteuer","gamemode.creative":"Kreativ","gamemode.spectator":"Zuschauer","gamemode.survival":"Überleben","generation_step.air":"Luft","generation_step.liquid":"Flüssigkeit","generator.biome_source.altitude_noise":"Höhenrauschen","generator.biome_source.biome":"Biom","generator.biome_source.biomes":"Biome","generator.biome_source.humidity_noise":"Feuchtigkeitsrauschen","generator.biome_source.large_biomes":"Große Biome","generator.biome_source.legacy_biome_init_layer":"Veraltete Biominitierungsschicht","generator.biome_source.preset":"Biomvorlage","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Skalierung","generator.biome_source.seed":"Biom-Seed","generator.biome_source.temperature_noise":"Temperaturrauschen","generator.biome_source.type":"Biomquelle","generator.biome_source.weirdness_noise":"Merkwürdigkeitsrauschen","generator.seed":"Dimensions-Seed","generator.settings":"Generatoreneinstellungen","generator.settings.biome":"Biom","generator.settings.lakes":"Seen","generator.settings.layers":"Schichten","generator.settings.layers.entry":"Schicht","generator.settings.layers.entry.block":"Block-ID","generator.settings.layers.entry.height":"Höhe","generator.settings.object":"Benutzerdefiniert","generator.settings.presets.amplified":"Zerküftet","generator.settings.presets.caves":"Höhlen","generator.settings.presets.end":"Ende","generator.settings.presets.floating_islands":"Schwebende Inseln","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Oberwelt","generator.settings.string":"Vorlage","generator.settings.structures":"Strukturen","generator.settings.structures.stronghold":"Festung","generator.settings.structures.stronghold.count":"Menge","generator.settings.structures.stronghold.distance":"Distanz","generator.settings.structures.stronghold.spread":"Ausbreitung","generator.settings.structures.structures":"Strukturen","generator.type":"Generatortyp","generator_biome.biome":"Biom","generator_biome.parameters":"Parameter","generator_biome.parameters.altitude":"Höhenlage","generator_biome.parameters.help":"Diese Parameter entscheiden die Platzierung des Bioms. Jedes Biom braucht eine einzigartige Kombination. Biome mit ähnlichen Werten generieren näher beieinander.","generator_biome.parameters.humidity":"Feuchtigkeit","generator_biome.parameters.offset":"Versatz","generator_biome.parameters.temperature":"Temperatur","generator_biome.parameters.weirdness":"Merkwürdigkeit","generator_biome_noise.amplitudes":"Amplituden","generator_biome_noise.amplitudes.entry":"Oktave %0%","generator_biome_noise.firstOctave":"Erste Oktave","generator_structure.salt":"Salt","generator_structure.separation":"Aufteilung","generator_structure.separation.help":"Die minimale Distanz in Chunks zwischen zwei Strukturen. Muss kleiner als Abstand sein.","generator_structure.spacing":"Abstand","generator_structure.spacing.help":"Die durchschnittliche Distanz swischen zwei Strukturen dieses Typs.","heightmap_type.MOTION_BLOCKING":"Bewegungsblokierend","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"Bewegungsblockierend (Keine Blätter)","heightmap_type.OCEAN_FLOOR":"Ozeangrund","heightmap_type.OCEAN_FLOOR_WG":"Ozeangrund (Weltgenerierung)","heightmap_type.WORLD_SURFACE":"Weltoberfläsche","heightmap_type.WORLD_SURFACE_WG":"Weltoberfläsche (Weltgenerierung)","hide_source":"Quelltext verstecken","item.count":"Menge","item.durability":"Haltbarkeit","item.enchantments":"Verzauberungen","item.enchantments.entry":"Verzauberung","item.item":"Gegenstands-ID","item.nbt":"Gegenstandsdaten","item.potion":"Trank","item.tag":"Gegenstandsaliasdaten","key.advancements":"Fortschritte","key.attack":"Angreifen/Abbauen","key.back":"Rückwärts","key.chat":"Chat","key.command":"Befehlszeile öffnen","key.drop":"Gegenstand fallen lassen","key.forward":"Vorwärts","key.fullscreen":"Vollbild wechseln","key.hotbar.1":"Schnellzugriff 1","key.hotbar.2":"Schnellzugriff 2","key.hotbar.3":"Schnellzugriff 3","key.hotbar.4":"Schnellzugriff 4","key.hotbar.5":"Schnellzugriff 5","key.hotbar.6":"Schnellzugriff 6","key.hotbar.7":"Schnellzugriff 7","key.hotbar.8":"Schnellzugriff 8","key.hotbar.9":"Schnellzugriff 9","key.inventory":"Inventar öffnen/schließen","key.jump":"Springen","key.left":"Links","key.loadToolbarActivator":"Schnellzugriffsleiste laden","key.pickItem":"Block auswählen","key.playerlist":"Spieler auflisten","key.right":"Rechts","key.saveToolbarActivator":"Schnellzugriffsleiste speichern","key.screenshot":"Screenshot","key.smoothCamera":"Kameraverhalten wechseln","key.sneak":"Schleichen","key.spectatorOutlines":"Spieler hervorheben (Zuschauer)","key.sprint":"Sprinten","key.swapOffhand":"Gegenstand mit Zweithand tauschen","key.togglePerspective":"Perspektive wechseln","key.use":"Benutzen/Platzieren","location.biome":"Biom","location.block":"Block","location.dimension":"Dimension","location.feature":"Merkmal","location.fluid":"Flüssigkeit","location.light":"Licht","location.light.light":"Sichtbares Lichtlevel","location.position":"Position","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Verraucht","loot_condition_type.alternative":"Alternative","loot_condition_type.block_state_property":"Blockeigenschaften","loot_condition_type.damage_source_properties":"Schadensquelle","loot_condition_type.entity_properties":"Objekteigenschaften","loot_condition_type.entity_scores":"Objektpunktestände","loot_condition_type.inverted":"Invertiert","loot_condition_type.killed_by_player":"Getötet","loot_condition_type.location_check":"Ort","loot_condition_type.match_tool":"Werkzeugeigenschaften","loot_condition_type.random_chance":"Zufällig","loot_condition_type.random_chance_with_looting":"Zufällig mit Plünderung","loot_condition_type.reference":"Referenz","loot_condition_type.survives_explosion":"Überlebt Explosion","loot_condition_type.table_bonus":"Tabellenbonus","loot_condition_type.time_check":"Zeit","loot_condition_type.weather_check":"Wetter","loot_entry.dynamic.name":"Name","loot_entry.item.name":"Name","loot_entry.loot_table.name":"Beutetabellenname","loot_entry.quality":"Qualität","loot_entry.tag.expand":"Erweitern","loot_entry.tag.expand.help":"Wenn „false“ werden alle Gegenstände aus den Aliasdaten verwendet. Wenn „false“ wird ein Gegenstand aus den Aliasdaten zufällig ausgewählt.","loot_entry.tag.name":"Name des Gegenstandsaliases","loot_entry.type":"Typ","loot_entry.weight":"Gewichtung","loot_function_type.apply_bonus":"Bonus anwenden","loot_function_type.copy_name":"Namen kopieren","loot_function_type.copy_nbt":"NBT-Daten kopieren","loot_function_type.copy_state":"Blockzustände kopieren","loot_function_type.enchant_randomly":"Zufällig verzaubern","loot_function_type.enchant_with_levels":"Mit Leveln verzaubern","loot_function_type.exploration_map":"Entdeckerkarteneigenschaften","loot_function_type.explosion_decay":"Explosionsverfall","loot_function_type.fill_player_head":"Spielerkopf erzeugen","loot_function_type.furnace_smelt":"Ofen schmelzen","loot_function_type.limit_count":"Stapelgröße limitieren","loot_function_type.looting_enchant":"Plünderungsverzauberung","loot_function_type.set_attributes":"Attribute setzen","loot_function_type.set_contents":"Inhalte setzen","loot_function_type.set_count":"Anzahl setzen","loot_function_type.set_damage":"Schaden setzen","loot_function_type.set_data":"Daten setzen","loot_function_type.set_loot_table":"Beutetabelle setzen","loot_function_type.set_lore":"Gegenstandsbeschreibung setzen","loot_function_type.set_name":"Name setzen","loot_function_type.set_nbt":"NBT setzen","loot_function_type.set_stew_effect":"Suppeneffekt setzen","loot_pool.bonus_rolls":"Bonusausschüttungen","loot_pool.entries":"Einträge","loot_pool.entries.entry":"Eintrag","loot_pool.rolls":"Ausschüttungen","loot_pool.rolls.help":"Wie oft ein Eintrag aus diesem Beutetopf ausgewält wird.","loot_pool_entry_type.alternatives":"Alternativen","loot_pool_entry_type.alternatives.help":"Wält den ersten Eintrag aus der Liste aus, dessen Bedingung erfüllt ist.","loot_pool_entry_type.dynamic":"Dynamisch","loot_pool_entry_type.dynamic.help":"Erzeugt blockspezifischen Loot.","loot_pool_entry_type.empty":"Leer","loot_pool_entry_type.empty.help":"Ein leerer Eintrag. Kann verwendet werden, um einen Beutetopf zu einer gewissen Wahrscheinlichkeit nichts ausschütten zu lassen.","loot_pool_entry_type.group":"Gruppe","loot_pool_entry_type.group.help":"Grupiert mehrere Einträge und führt alle Einträge aus, wenn die eigene Bedingung erfüllt ist.","loot_pool_entry_type.item":"Gegenstand","loot_pool_entry_type.item.help":"Ein Eintrag mit einem einzelnen Gegenstand.","loot_pool_entry_type.loot_table":"Beutetabelle","loot_pool_entry_type.loot_table.help":"Ein Eintrag, der eine andere Beutetabelle ausschüttet.","loot_pool_entry_type.sequence":"Sequenz","loot_pool_entry_type.sequence.help":"Schüttet alle Kindeinträge aus, bis die Bedingung eines Eintrages fehlschlägt.","loot_pool_entry_type.tag":"Gegenstandsaliasdaten","loot_pool_entry_type.tag.help":"Ein Eintrag, der aus einem Gegenstandsaliasdatum Gegenstände ausschüttet.","loot_table.pools":"Beutetöpfe","loot_table.pools.entry":"Beutetopf","luck_based":"Glücksbasiert","nbt_operation.op":"Operation","nbt_operation.op.append":"Anhängen","nbt_operation.op.merge":"Zusammenfügen","nbt_operation.op.replace":"Ersetzen","nbt_operation.source":"Quelle","nbt_operation.target":"Ziel","noise_settings.bedrock_floor_position":"Grundgestein-Bodenpositionierung","noise_settings.bedrock_floor_position.help":"Position des Grundgesteinbodens. Höhere Zahlen versetzen ihn nach oben.","noise_settings.bedrock_roof_position":"Grundgestein-Deckenpositionierung","noise_settings.bedrock_roof_position.help":"Positionierung der Grundgesteindecke relativ zur Höhe der Dimension. Höhere Zahlen versetzen die Decke nach unten.","noise_settings.biome":"Biom","noise_settings.default_block":"Standardblock","noise_settings.default_fluid":"Standardflüssigkeit","noise_settings.disable_mob_generation":"Mobgenerieung deaktivieren","noise_settings.disable_mob_generation.help":"Wenn „true“, werden keine Kreaturen während der Weltgenerierung erzeugt.","noise_settings.name":"Name","noise_settings.noise":"Rauscheinstellungen","noise_settings.noise.amplified":"Zerklüftet","noise_settings.noise.bottom_slide":"Untere Schicht","noise_settings.noise.bottom_slide.offset":"Verschiebung der unteren Schicht","noise_settings.noise.bottom_slide.size":"Größe der unteren Schicht","noise_settings.noise.bottom_slide.target":"Ziel der unteren Schicht","noise_settings.noise.density_factor":"Dichtigkeitsfaktor","noise_settings.noise.density_offset":"Dichtigkeitsverschiebung","noise_settings.noise.height":"Höhe","noise_settings.noise.island_noise_override":"Insel-Rauschüberschreibung","noise_settings.noise.island_noise_override.help":"Wenn „true“, wird das Terrain wie im Ende mit einer größeren Insel in der Mitte und mehr Inseln weiter weg generiert.","noise_settings.noise.random_density_offset":"Zufällige Dichtigkeitsverschiebung","noise_settings.noise.sampling":"Abtastung","noise_settings.noise.sampling.xz_factor":"XZ-Faktor","noise_settings.noise.sampling.xz_scale":"XZ-Skalierung","noise_settings.noise.sampling.y_factor":"Y-Faktor","noise_settings.noise.sampling.y_scale":"Y-Skalierung","noise_settings.noise.simplex_surface_noise":"Simplex-Oberflächenrauschen","noise_settings.noise.size_horizontal":"Horizontale Größe","noise_settings.noise.size_vertical":"Vertikale Größe","noise_settings.noise.top_slide":"Obere Schicht","noise_settings.noise.top_slide.offset":"Verschiebung der oberen Schicht","noise_settings.noise.top_slide.size":"Größe der oberen Schicht","noise_settings.noise.top_slide.target":"Ziel der oberen Schicht","noise_settings.sea_level":"Meeresspiegel","noise_settings.structures":"Strukturen","noise_settings.structures.stronghold":"Festung","noise_settings.structures.stronghold.count":"Anzahl","noise_settings.structures.stronghold.distance":"Distanz","noise_settings.structures.stronghold.spread":"Ausbreitung","noise_settings.structures.structures":"Strukturen","player.advancements":"Fortschritte","player.advancements.entry":"Fortschritt","player.gamemode":"Spielmodus","player.level":"Erfahrungslevel","player.recipes":"Rezepte","player.stats":"Statistiken","player.stats.entry":"Statistik","pos_rule_test.always_true":"Immer „true“","pos_rule_test.axis":"Achse","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.axis.z":"Z","pos_rule_test.axis_aligned_linear_pos":"Achsenangepasste lineare Position","pos_rule_test.linear_pos":"Lineare Position","pos_rule_test.max_chance":"Maximale Wahrscheinlichkeit","pos_rule_test.max_dist":"Maximale Distanz","pos_rule_test.min_chance":"Minimale Wahrscheinlichkeit","pos_rule_test.min_dist":"Minimale Distanz","pos_rule_test.predicate_type":"Typ","processor.block_age.mossiness":"Moosigkeit","processor.block_ignore.blocks":"Blöcke","processor.block_ignore.blocks.entry":"Zustand","processor.block_rot.integrity":"Integrität","processor.gravity.heightmap":"Höhenfeld","processor.gravity.offset":"Verschiebung","processor.processor_type":"Typ","processor.rule.rules":"Regeln","processor.rule.rules.entry":"Regel","processor_list.processors":"Prozessoren","processor_list.processors.entry":"Prozessor","processor_rule.input_predicate":"Eingabenprädikat","processor_rule.location_predicate":"Ortsprädikat","processor_rule.output_nbt":"Ausgabe-NBT","processor_rule.output_state":"Ausgabeprädikat","processor_rule.position_predicate":"Positionsprädikat","processors.object":"Benutzerdefiniert","processors.string":"Referenz","range.binomial":"Binomialverteilung","range.max":"Maximum","range.min":"Minimum","range.n":"n","range.number":"Exakte Zahl","range.object":"Wertebereich","range.p":"p","range.uniform":"Gleichmäßige Verteilung","requirements":"Vorraussetzungen","rule_test.always_true":"Immer  „true“","rule_test.block":"Block","rule_test.block_match":"Blockvergleich","rule_test.block_state":"Zustand","rule_test.blockstate_match":"Blockzustandsvergleich","rule_test.predicate_type":"Typ","rule_test.probability":"Wahrscheinlichkeit","rule_test.random_block_match":"Zufälliger Blockvergleich","rule_test.random_blockstate_match":"Zufälliger Blockzustandsvergleich","rule_test.tag":"Aliasdaten","rule_test.tag_match":"Aliasdatenvergleich","slot.chest":"Truhe","slot.feet":"Schuhe","slot.head":"Kopfbedeckung","slot.legs":"Hose","slot.mainhand":"Haupthand","slot.offhand":"Nebenhand","statistic.stat":"Statistik","statistic.type":"Typ","statistic.type.broken":"Zerstört","statistic.type.crafted":"Hergestellt","statistic.type.custom":"Sonstige","statistic.type.dropped":"Fallen gelassen","statistic.type.killed":"Getötet","statistic.type.killedByTeam":"Von Team getötet","statistic.type.killed_by":"Getötet von","statistic.type.mined":"Abgebaut","statistic.type.picked_up":"Aufgehoben","statistic.type.teamkill":"Team getötet","statistic.type.used":"Verwendet","statistic.value":"Wert","status_effect.ambient":"Pastellfarben","status_effect.amplifier":"Stärke","status_effect.duration":"Wirkungsdauer","status_effect.visible":"Sichtbar","structure_feature.biome_temp":"Biomtemperatur","structure_feature.biome_temp.cold":"Kalt","structure_feature.biome_temp.warm":"Warm","structure_feature.cluster_probability":"Anhäufungswahrscheinlichkeit","structure_feature.config":"Konfiguration","structure_feature.is_beached":"Gestranded","structure_feature.large_probability":"Große Wahrscheinlichkeit","structure_feature.portal_type":"Portalart","structure_feature.portal_type.desert":"Wüste","structure_feature.portal_type.jungle":"Dschungel","structure_feature.portal_type.mountain":"Berg","structure_feature.portal_type.nether":"Nether","structure_feature.portal_type.ocean":"Ozean","structure_feature.portal_type.standard":"Standard","structure_feature.portal_type.swamp":"Sumpf","structure_feature.probability":"Wahrscheinlichkeit","structure_feature.size":"Größe","structure_feature.start_pool":"Anfangstopf","structure_feature.type":"Typ","structure_feature.type.mesa":"Tafelberge","structure_feature.type.normal":"Normal","surface_builder.config":"Konfiguration","surface_builder.top_material":"Oberes Material","surface_builder.type":"Typ","surface_builder.under_material":"Unteres Material","surface_builder.underwater_material":"Unterwassermaterial","table.type":"Typ","table.type.block":"Block","table.type.chest":"Truhe","table.type.empty":"Leer","table.type.entity":"Objekt","table.type.fishing":"Angeln","table.type.generic":"Sonstiges","tag.replace":"Ersetzen","tag.values":"Werte","template_element.element_type":"Typ","template_element.elements":"Elemente","template_element.feature":"Merkmal","template_element.location":"Ort","template_element.processors":"Prozessoren","template_element.projection":"Projektion","template_element.projection.rigid":"Reichhaltig","template_element.projection.terrain_matching":"Terrainanpassung","template_pool.elements":"Elemente","template_pool.elements.entry":"Element","template_pool.elements.entry.element":"Element","template_pool.elements.entry.weight":"Gewichtung","template_pool.fallback":"Rückfall","template_pool.name":"Name","text_component":"JSON-Text","text_component.boolean":"Wahrheitswert","text_component.list":"Array","text_component.number":"Zahl","text_component.object":"Objekt","text_component.string":"Zeichenkette","text_component_object.block":"Block","text_component_object.bold":"Fett","text_component_object.clickEvent":"Klickevent","text_component_object.clickEvent.action":"Aktion","text_component_object.clickEvent.action.change_page":"Seite wechseln","text_component_object.clickEvent.action.copy_to_clipboard":"In die Zwichenablage kopieren","text_component_object.clickEvent.action.open_file":"Datei öffnen","text_component_object.clickEvent.action.open_url":"Link folgen","text_component_object.clickEvent.action.run_command":"Befehl ausführen","text_component_object.clickEvent.action.suggest_command":"Befehl vorschlagen","text_component_object.clickEvent.value":"Wert","text_component_object.color":"Farbe","text_component_object.entity":"Objekt","text_component_object.extra":"Zusatz","text_component_object.font":"Schriftart","text_component_object.hoverEvent":"Tooltip","text_component_object.hoverEvent.action":"Aktion","text_component_object.hoverEvent.action.show_entity":"Objekt-Tooltip","text_component_object.hoverEvent.action.show_item":"Gegenstandstooltip","text_component_object.hoverEvent.action.show_text":"JSON-Text-Tooltip","text_component_object.hoverEvent.contents":"Inhalte","text_component_object.hoverEvent.value":"Wert","text_component_object.insertion":"Einfügung","text_component_object.interpret":"Interpretieren","text_component_object.italic":"Kursiv","text_component_object.keybind":"Tastenkombination","text_component_object.nbt":"NBT","text_component_object.obfuscated":"Verschleiert","text_component_object.score":"Punktestand","text_component_object.score.name":"Name","text_component_object.score.objective":"Ziel","text_component_object.score.value":"Wert","text_component_object.selector":"Zielauswahl","text_component_object.storage":"NBT-Speicher","text_component_object.strikethrough":"Durchgestrichen","text_component_object.text":"Normaler Text","text_component_object.translate":"Übersetzbarer Text","text_component_object.underlined":"Unterstrichen","text_component_object.with":"Ersetzuingstexte für Übersetzung","tree_decorator.alter_ground.provider":"Zustandserzeuger","tree_decorator.beehive.probability":"Wahrscheinlichkeit","tree_decorator.cocoa.probability":"Wahrscheinlichkeit","tree_decorator.type":"Typ","true":"Wahr","trunk_placer.base_height":"Basishöhe","trunk_placer.height_rand_a":"Zufallshöhe A","trunk_placer.height_rand_b":"Zufallshöhe B","trunk_placer.type":"Typ","uniform_int.base":"Basis","uniform_int.number":"Exakte Zahl","uniform_int.object":"Zahl aus gleichmäßiger Verteilung","uniform_int.spread":"Ausbreitung","unset":"Zurücksetzen","world.bonus_chest":"Bonustruhe generieren","world.generate_features":"Merkmale generieren","world.seed":"Seed","world_settings.bonus_chest":"Bonustruhe erzeugen","world_settings.dimensions":"Dimensionen","world_settings.generate_features":"Merkmale generieren","world_settings.seed":"Weltseed","worldgen.warning":"Dieses Feature ist extrem experimentell. Es kann sich jederzeit in zukünftigen Versionen ändern. Spielabstürze beim Erstellen von Welten sind nicht ausgeschlossen.","worldgen/biome_source.checkerboard":"Schachbrettmuster","worldgen/biome_source.checkerboard.help":"Biome generieren in einem Schachbrettmuster.","worldgen/biome_source.fixed":"Festgesetzt","worldgen/biome_source.fixed.help":"Ein Biom für die ganze Welt.","worldgen/biome_source.multi_noise":"Mehrfachrauschen","worldgen/biome_source.multi_noise.help":"Rauschbasierte Chunkgenerierung mit konfigurierbaren Parametern.","worldgen/biome_source.the_end":"Das Ende","worldgen/biome_source.the_end.help":"Biomverteilung für das Ende.","worldgen/biome_source.vanilla_layered":"Vanilla Geschichtet","worldgen/biome_source.vanilla_layered.help":"Schichtenmodellbasierte Biomgenerierung für die Oberwelt.","worldgen/block_placer_type.column_placer":"Säule","worldgen/block_placer_type.double_plant_placer":"2-Block-Pflanze","worldgen/block_placer_type.simple_block_placer":"Einfach","worldgen/block_state_provider_type.forest_flower_provider":"Blumenwald","worldgen/block_state_provider_type.plain_flower_provider":"Ebenenblumen","worldgen/block_state_provider_type.rotated_block_provider":"Rotierter Block","worldgen/block_state_provider_type.simple_state_provider":"Einfacher Zustand","worldgen/block_state_provider_type.weighted_state_provider":"Gewichteter Zustand","worldgen/carver.canyon":"Schlucht","worldgen/carver.cave":"Höhle","worldgen/carver.nether_cave":"Netherhöhle","worldgen/carver.underwater_canyon":"Unterwasserschlucht","worldgen/carver.underwater_cave":"Unterwasser Höhle","worldgen/chunk_generator.debug":"Debug-Welt","worldgen/chunk_generator.flat":"Superflach","worldgen/chunk_generator.noise":"Standard","worldgen/feature_size_type.three_layers_feature_size":"Drei Schichten","worldgen/feature_size_type.two_layers_feature_size":"Zwei Schichten","worldgen/foliage_placer_type.acacia_foliage_placer":"Akazie","worldgen/foliage_placer_type.blob_foliage_placer":"Kugel","worldgen/foliage_placer_type.bush_foliage_placer":"Busch","worldgen/foliage_placer_type.dark_oak_foliage_placer":"Schwarzeiche","worldgen/foliage_placer_type.fancy_foliage_placer":"Verzweigt","worldgen/foliage_placer_type.jungle_foliage_placer":"Dschungel","worldgen/foliage_placer_type.mega_pine_foliage_placer":"Riesenkiefer","worldgen/foliage_placer_type.pine_foliage_placer":"Kiefer","worldgen/foliage_placer_type.spruce_foliage_placer":"Fichte","worldgen/structure_pool_element.empty_pool_element":"Leer","worldgen/structure_pool_element.feature_pool_element":"Merkmal","worldgen/structure_pool_element.legacy_single_pool_element":"Veraltetes „Einfach“","worldgen/structure_pool_element.list_pool_element":"Liste","worldgen/structure_pool_element.single_pool_element":"Einfach","worldgen/structure_processor.blackstone_replace":"Schwarzsteinersetzung","worldgen/structure_processor.block_age":"Blockalter","worldgen/structure_processor.block_ignore":"Blöcke ignorieren","worldgen/structure_processor.block_rot":"Blockverfall","worldgen/structure_processor.gravity":"Schwerkraft","worldgen/structure_processor.jigsaw_replacement":"Verbundblock Ersetzung","worldgen/structure_processor.lava_submerged_block":"Unter Lava liegender Block","worldgen/structure_processor.nop":"Nichts","worldgen/structure_processor.rule":"Regel","worldgen/tree_decorator_type.alter_ground":"Bodenveränderung","worldgen/tree_decorator_type.beehive":"Bienennest","worldgen/tree_decorator_type.cocoa":"Kakao","worldgen/tree_decorator_type.leave_vine":"Blattranken","worldgen/tree_decorator_type.trunk_vine":"Stammranken","worldgen/trunk_placer_type.dark_oak_trunk_placer":"Schwarzeiche","worldgen/trunk_placer_type.fancy_trunk_placer":"Verzweigt","worldgen/trunk_placer_type.forking_trunk_placer":"Akazie","worldgen/trunk_placer_type.giant_trunk_placer":"Riesig","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"Riesendschungel","worldgen/trunk_placer_type.straight_trunk_placer":"Gerade","worldgen/template-pool":"Vorlagenauswahl","worldgen/surface-builder":"Oberflächengestalter","worldgen/structure-feature":"Strukturmekrmal","worldgen/processor-list":"Prozessorliste","worldgen/noise-settings":"Rauscheinstellungen","worldgen/feature":"Merkmal","worldgen/carver":"Borer","worldgen/biome":"Biom","preview":"Visualisieren","title.home":"Datenpaketgeneratoren","title.generator":"%0%-Generator","share":"Teilen","reset":"Zurücksetzen","predicate":"Prädikat","loot-table":"Beutetabelle","language":"Sprache","download":"Herunterladen","dimension-type":"Dimensionstyp","copy":"Kopieren","advancement":"Fortschritt"} \ No newline at end of file diff --git a/locales/en.json b/locales/en.json deleted file mode 100644 index fba006b1..00000000 --- a/locales/en.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"Criteria","advancement.display":"Display","advancement.display.announce_to_chat":"Announce To Chat","advancement.display.background":"Background","advancement.display.description":"Description","advancement.display.frame":"Frame","advancement.display.frame.challenge":"Challenge","advancement.display.frame.goal":"Goal","advancement.display.frame.task":"Task","advancement.display.help":"If present, advancement will be visible in the advancement tabs.","advancement.display.hidden":"Hidden","advancement.display.icon":"Icon","advancement.display.icon.item":"Icon Item","advancement.display.icon.nbt":"Icon NBT","advancement.display.show_toast":"Show Toast","advancement.display.title":"Title","advancement.parent":"Parent Advancement","advancement.rewards":"Rewards","advancement.rewards.experience":"Experience","advancement.rewards.function":"Function","advancement.rewards.loot":"Loot Tables","advancement.rewards.recipes":"Recipes","advancement_trigger.bee_nest_destroyed":"Bee Nest Destroyed","advancement_trigger.bred_animals":"Bred Animals","advancement_trigger.brewed_potion":"Brewed Potion","advancement_trigger.changed_dimension":"Changed Dimension","advancement_trigger.channeled_lightning":"Channeled Lightning","advancement_trigger.construct_beacon":"Construct Beacon","advancement_trigger.consume_item":"Consume Item","advancement_trigger.cured_zombie_villager":"Cured Zombie Villager","advancement_trigger.effects_changed":"Effects Changed","advancement_trigger.enchanted_item":"Enchanted Item","advancement_trigger.enter_block":"Enter Block","advancement_trigger.entity_hurt_player":"Entity Hurt Player","advancement_trigger.entity_killed_player":"Entity Killed Player","advancement_trigger.filled_bucket":"Filled Bucket","advancement_trigger.fishing_rod_hooked":"Fishing Rod Hooked","advancement_trigger.hero_of_the_village":"Hero Of The Village","advancement_trigger.impossible":"Impossible","advancement_trigger.inventory_changed":"Inventory Changed","advancement_trigger.item_durability_changed":"Item Durability Changed","advancement_trigger.item_used_on_block":"Item Used On Block","advancement_trigger.killed_by_crossbow":"Killed By Crossbow","advancement_trigger.levitation":"Levitation","advancement_trigger.location":"Location","advancement_trigger.nether_travel":"Nether Travel","advancement_trigger.placed_block":"Placed Block","advancement_trigger.player_generates_container_loot":"Player Generates Container Loot","advancement_trigger.player_hurt_entity":"Player Hurt Entity","advancement_trigger.player_killed_entity":"Player Killed Entity","advancement_trigger.recipe_unlocked":"Recipe Unlocked","advancement_trigger.safely_harvest_honey":"Safely Harvest Honey","advancement_trigger.shot_crossbow":"Shot Crossbow","advancement_trigger.slept_in_bed":"Slept In Bed","advancement_trigger.slide_down_block":"Slide Down Block","advancement_trigger.summoned_entity":"Summoned Entity","advancement_trigger.tame_animal":"Tame Animal","advancement_trigger.target_hit":"Target Hit","advancement_trigger.thrown_item_picked_up_by_entity":"Thrown Item Picked Up By Entity","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Used Ender Eye","advancement_trigger.used_totem":"Used Totem","advancement_trigger.villager_trade":"Villager Trade","advancement_trigger.voluntary_exile":"Voluntary Exile","attribute.generic_armor":"Armor","attribute.generic_armor_toughness":"Armor Toughness","attribute.generic_attack_damage":"Attack Damage","attribute.generic_attack_knockback":"Attack Knockback","attribute.generic_attack_speed":"Attack Speed","attribute.generic_flying_speed":"Flying Speed","attribute.generic_follow_range":"Follow Range","attribute.generic_knockback_resistance":"Knockback Resistance","attribute.generic_luck":"Luck","attribute.generic_max_health":"Max Health","attribute.generic_movement_speed":"Movement Speed","attribute.horse.jump_strength":"Jump Strength","attribute.zombie.spawn_reinforcements":"Spawn Reinforcements","attribute_modifier.amount":"Amount","attribute_modifier.attribute":"Attribute","attribute_modifier.name":"Name","attribute_modifier.operation":"Operation","attribute_modifier.operation.addition":"Addition","attribute_modifier.operation.multiply_base":"Multiply Base","attribute_modifier.operation.multiply_total":"Multiply Total","attribute_modifier.slot":"Slots","attribute_modifier.slot.list":"Multiple","attribute_modifier.slot.string":"Single","badge.experimental":"Experimental","badge.unstable":"Unstable","biome.carvers":"Carvers","biome.carvers.air":"Air","biome.carvers.liquid":"Liquid","biome.category":"Category","biome.creature_spawn_probability":"Creature Spawn Probability","biome.depth":"Depth","biome.depth.help":"Raises or lowers the terrain. Positive values are considered land and negative are oceans.","biome.downfall":"Downfall","biome.effects":"Effects","biome.effects.additions_sound":"Additions Sound","biome.effects.additions_sound.sound":"Sound","biome.effects.additions_sound.tick_chance":"Tick Chance","biome.effects.ambient_sound":"Ambient Sound","biome.effects.fog_color":"Fog Color","biome.effects.foliage_color":"Foliage Color","biome.effects.grass_color":"Grass Color","biome.effects.grass_color_modifier":"Grass Color Modifier","biome.effects.grass_color_modifier.dark_forest":"Dark Forest","biome.effects.grass_color_modifier.none":"None","biome.effects.grass_color_modifier.swamp":"Swamp","biome.effects.mood_sound":"Mood Sound","biome.effects.mood_sound.block_search_extent":"Block Search Extent","biome.effects.mood_sound.offset":"Offset","biome.effects.mood_sound.sound":"Sound","biome.effects.mood_sound.tick_delay":"Tick Delay","biome.effects.music":"Music","biome.effects.music.max_delay":"Max Delay","biome.effects.music.min_delay":"Min Delay","biome.effects.music.replace_current_music":"Replace Current Music","biome.effects.music.sound":"Sound","biome.effects.particle":"Particle","biome.effects.particle.options":"Options","biome.effects.particle.options.type":"Particle Type","biome.effects.particle.probability":"Probability","biome.effects.sky_color":"Sky Color","biome.effects.water_color":"Water Color","biome.effects.water_fog_color":"Water Fog Color","biome.features":"Features","biome.features.entry":"Step %0%","biome.features.entry.entry":"Feature","biome.player_spawn_friendly":"Player Spawn Friendly","biome.player_spawn_friendly.help":"If true, the world spawn will be preferred in this biome.","biome.precipitation":"Precipitation","biome.precipitation.none":"None","biome.precipitation.rain":"Rain","biome.precipitation.snow":"Snow","biome.scale":"Scale","biome.scale.help":"Vertically stretches the terrain. Lower values produce flatter terrain.","biome.spawn_costs":"Spawn Costs","biome.spawn_costs.charge":"Charge","biome.spawn_costs.energy_budget":"Energy Budget","biome.spawners":"Spawners","biome.spawners.ambient":"Ambient","biome.spawners.creature":"Creature","biome.spawners.entry":"Spawn","biome.spawners.entry.maxCount":"Max Count","biome.spawners.entry.minCount":"Min Count","biome.spawners.entry.type":"Type","biome.spawners.entry.weight":"Weight","biome.spawners.misc":"Miscellaneous","biome.spawners.monster":"Monster","biome.spawners.water_ambient":"Water Ambient","biome.spawners.water_creature":"Water Creature","biome.starts":"Structure Starts","biome.starts.entry":"Structure","biome.starts.help":"List of configured structure features.","biome.surface_builder":"Surface Builder","biome.temperature":"Temperature","biome.temperature_modifier":"Temperature Modifier","biome.temperature_modifier.frozen":"Frozen","biome.temperature_modifier.none":"None","block.block":"Block ID","block.nbt":"NBT","block.state":"Block State","block.tag":"Block Tag","block_placer.column_placer.extra_size":"Extra Size","block_placer.column_placer.min_size":"Min Size","block_placer.type":"Type","block_state.Name":"Name","block_state.Properties":"Properties","block_state_provider.rotated_block_provider.state":"State","block_state_provider.simple_state_provider.state":"State","block_state_provider.type":"Type","block_state_provider.weighted_state_provider.entries":"Entries","block_state_provider.weighted_state_provider.entries.entry.data":"State","block_state_provider.weighted_state_provider.entries.entry.weight":"Weight","carver.config":"Config","carver.config.canyon.bottom_inclusive":"Bottom Inclusive","carver.config.canyon.top_inclusive":"Top Inclusive","carver.config.canyon.y_scale":"Y Scale","carver.config.canyon.distanceFactor":"Distance Factor","carver.config.canyon.vertical_rotation":"Vertical Rotation","carver.config.canyon.thickness":"Thickness","carver.config.canyon.width_smoothness":"Width Smoothness","carver.config.canyon.horizontal_radius_factor":"Horizontal Radius Factor","carver.config.canyon.vertical_radius_default_factor":"Vertical Radius Default Factor","carver.config.canyon.vertical_radius_center_factor":"Vertical Radius Center Factor","carver.config.debug_settings":"Debug Settings","carver.config.debug_settings.debug_mode":"Debug Mode","carver.config.debug_settings.air_state":"Air State","carver.config.probability":"Probability","carver.type":"Type","children":"Children","children.entry":"Entry","condition.alternative.terms":"Terms","condition.block_state_property.block":"Block","condition.block_state_property.properties":"Block State","condition.condition":"Condition","condition.damage_source":"Damage Source","condition.entity_properties.entity":"Entity","condition.entity_scores.entity":"Entity","condition.entity_scores.scores":"Scores","condition.entry":"Predicate","condition.inverted.term":"Term","condition.item":"Item","condition.killed_by_player.inverse":"Inverted","condition.list":"Multiple","condition.location":"Location","condition.location_check.offsetX":"X Offset","condition.location_check.offsetY":"Y Offset","condition.location_check.offsetZ":"Z Offset","condition.object":"Single","condition.random_chance.chance":"Chance","condition.random_chance_with_looting.chance":"Chance","condition.random_chance_with_looting.looting_multiplier":"Looting Multiplier","condition.reference.name":"Predicate Name","condition.table_bonus.chances":"Chances","condition.table_bonus.chances.entry":"Chance","condition.table_bonus.enchantment":"Enchantment","condition.time_check.period":"Period","condition.time_check.period.help":"If present, time will be modulo-divided by this value. For example, if set to 24000, value will operate on a time period of days.","condition.time_check.value":"Value","condition.value_check.range":"Range","condition.value_check.value":"Value","condition.weather_check.raining":"Raining","condition.weather_check.thundering":"Thundering","conditions":"Conditions","conditions.entry":"Condition","conditions.list":"Conditions","conditions.object":"Legacy","copy_source.block_entity":"Block Entity","copy_source.direct_killer":"Direct Killer","copy_source.killer":"Killer","copy_source.killer_player":"Killer Player","copy_source.this":"This","criterion.bee_nest_destroyed.block":"Block","criterion.bee_nest_destroyed.num_bees_inside":"Number of Bees Inside","criterion.bred_animals.child":"Child","criterion.bred_animals.parent":"Parent","criterion.bred_animals.partner":"Partner","criterion.brewed_potion.potion":"Potion","criterion.changed_dimension.from":"From","criterion.changed_dimension.to":"To","criterion.channeled_lightning.victims":"Victims","criterion.channeled_lightning.victims.entry":"Entity","criterion.conditions":"Conditions","criterion.construct_beacon.beacon_level":"Pyramid Level","criterion.consume_item.item":"Item","criterion.cured_zombie_villager.villager":"Villager","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Effects","criterion.enchanted_item.item":"Item","criterion.enchanted_item.levels":"XP Level","criterion.enter_block.block":"Block","criterion.enter_block.state":"States","criterion.entity_hurt_player.damage":"Damage","criterion.entity_killed_player.entity":"Source Entity","criterion.entity_killed_player.killing_blow":"Killing Blow","criterion.filled_bucket.item":"Item","criterion.fishing_rod_hooked.entity":"Pulled Entity","criterion.fishing_rod_hooked.item":"Item","criterion.hero_of_the_village.location":"Location","criterion.inventory_changed.items":"Items","criterion.inventory_changed.items.entry":"Item","criterion.inventory_changed.slots":"Slots","criterion.inventory_changed.slots.empty":"Slots Empty","criterion.inventory_changed.slots.full":"Slots Full","criterion.inventory_changed.slots.occupied":"Slots Occupied","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Durability","criterion.item_durability_changed.item":"Item","criterion.item_used_on_block.item":"Item","criterion.item_used_on_block.location":"Location","criterion.killed_by_crossbow.unique_entity_types":"Amount of Unique Entity Types","criterion.killed_by_crossbow.victims":"Victims","criterion.killed_by_crossbow.victims.entry":"Entity","criterion.levitation.distance":"Distance","criterion.levitation.duration":"Duration","criterion.location.location":"Location","criterion.nether_travel.distance":"Distance","criterion.nether_travel.entered":"Entered Location","criterion.nether_travel.exited":"Exited Location","criterion.placed_block.block":"Block","criterion.placed_block.item":"Item","criterion.placed_block.location":"Location","criterion.placed_block.state":"States","criterion.player":"Player","criterion.player_generates_container_loot.loot_table":"Loot Table","criterion.player_hurt_entity.damage":"Damage","criterion.player_hurt_entity.entity":"Victim Entity","criterion.player_killed_entity.entity":"Victim Entity","criterion.player_killed_entity.killing_blow":"Killing Blow","criterion.recipe_unlocked.recipe":"Recipe","criterion.rod":"Rod","criterion.safely_harvest_honey.block":"Block","criterion.safely_harvest_honey.item":"Item","criterion.shot_crossbow.item":"Item","criterion.slept_in_bed.location":"Location","criterion.slide_down_block.block":"Block","criterion.summoned_entity.entity":"Entity","criterion.tame_animal.entity":"Animal","criterion.target_hit.projectile":"Projectile","criterion.target_hit.shooter":"Shooter","criterion.target_hit.signal_strength":"Signal Strength","criterion.thrown_item_picked_up_by_entity.entity":"Entity","criterion.thrown_item_picked_up_by_entity.item":"Item","criterion.trigger":"Trigger","criterion.used_ender_eye.distance":"Distance","criterion.used_totem.item":"Totem Item","criterion.villager_trade.item":"Purchased Item","criterion.villager_trade.villager":"Villager","criterion.voluntary_exile.location":"Location","damage.blocked":"Blocked","damage.dealt":"Damage Dealt","damage.source_entity":"Source Entity","damage.taken":"Damage Taken","damage.type":"Damage Type","damage_source.bypasses_armor":"Bypass Armor","damage_source.bypasses_invulnerability":"Void","damage_source.bypasses_magic":"Starvation","damage_source.direct_entity":"Direct Entity","damage_source.is_explosion":"Explosion","damage_source.is_fire":"Fire","damage_source.is_lightning":"Lightning","damage_source.is_magic":"Magic","damage_source.is_projectile":"Projectile","damage_source.source_entity":"Source Entity","decorator.carving_mask.step":"Generation Step","decorator.config":"Config","decorator.count.count":"Count","decorator.count_extra.count":"Count","decorator.count_extra.extra_chance":"Extra Chance","decorator.count_extra.extra_count":"Extra Count","decorator.count_multilayer.count":"Count","decorator.count_noise.above_noise":"Above Noise","decorator.count_noise.below_noise":"Below Noise","decorator.count_noise.noise_level":"Noise Level","decorator.count_noise_biased.noise_factor":"Noise Factor","decorator.count_noise_biased.noise_offset":"Noise Offset","decorator.count_noise_biased.noise_to_count_ratio":"Noise To Count Ratio","decorator.decorated.inner":"Inner","decorator.decorated.outer":"Outer","decorator.depth_average.baseline":"Baseline","decorator.depth_average.spread":"Spread","decorator.glowstone.count":"Count","decorator.range.bottom_inclusive":"Bottom Inclusive","decorator.range.top_inclusive":"Top Inclusive","decorator.range_biased_to_bottom.bottom_inclusive":"Bottom Inclusive","decorator.range_biased_to_bottom.top_inclusive":"Top Inclusive","decorator.range_biased_to_bottom.cutoff":"Cutoff","decorator.range_very_biased_to_bottom.bottom_inclusive":"Bottom Inclusive","decorator.range_very_biased_to_bottom.top_inclusive":"Top Inclusive","decorator.range_very_biased_to_bottom.cutoff":"Cutoff","decorator.type":"Type","dimension":"Dimension","dimension.generator":"Generator","dimension.generator.biome_source":"Biome Source","dimension.overworld":"Overworld","dimension.the_end":"The End","dimension.the_nether":"The Nether","dimension.type":"Dimension Type","dimension.type.object":"Custom","dimension.type.string":"Preset","dimension_type.ambient_light":"Ambient Light","dimension_type.ambient_light.help":"How much ambient light there is. Should be a value between 0.0 and 1.0.","dimension_type.bed_works":"Bed Works","dimension_type.bed_works.help":"If true, players can use beds to set their spawn and advance time. If false, beds will blow up when used.","dimension_type.coordinate_scale":"Coordinate Scale","dimension_type.coordinate_scale.help":"Multiplier applied to coordinates when traveling between dimensions using a nether portal or /execute in.","dimension_type.effects":"Effects","dimension_type.effects.help":"Sky effects","dimension_type.effects.overworld":"Overworld","dimension_type.effects.the_end":"The End","dimension_type.effects.the_nether":"The Nether","dimension_type.fixed_time":"Fixed Time","dimension_type.fixed_time.help":"Setting this value will keep the sun in a fixed position.","dimension_type.has_ceiling":"Has Ceiling","dimension_type.has_ceiling.help":"Affects the weather, map items and respawning rules.","dimension_type.has_raids":"Has Raids","dimension_type.has_raids.help":"If true, players with the Bad Omen effect can cause a raid.","dimension_type.has_skylight":"Has Skylight","dimension_type.has_skylight.help":"Affects the weather, lighting engine and respawning rules.","dimension_type.height":"Height","dimension_type.height.help":"The total height in which blocks can exist. Max Y = Min Y + Height.","dimension_type.infiniburn":"Infiniburn","dimension_type.infiniburn.help":"Block tag defining what blocks keep fire infinitely burning.","dimension_type.logical_height":"Logical Height","dimension_type.logical_height.help":"Portals can't spawn and chorus fruit can't teleport players above this height.","dimension_type.min_y":"Min Y","dimension_type.min_y.help":"The minimum height in which blocks can exist.","dimension_type.name":"Name","dimension_type.natural":"Natural","dimension_type.natural.help":"If true, portals will spawn zombified piglins. If false, compasses and clocks spin randomly.","dimension_type.piglin_safe":"Piglin Safe","dimension_type.piglin_safe.help":"If false, piglins will shake and convert to zombified piglins.","dimension_type.respawn_anchor_works":"Respawn Anchor Works","dimension_type.respawn_anchor_works.help":"If true, players can charge and use respawn anchors to set their spawn. If false, respawn anchors will blow up when used.","dimension_type.ultrawarm":"Ultrawarm","dimension_type.ultrawarm.help":"If true, water will evaporate and sponges will dry.","distance.absolute":"Absolute","distance.horizontal":"Horizontal","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Aqua Affinity","enchantment.bane_of_arthropods":"Bane of Arthropods","enchantment.binding_curse":"Curse of Binding","enchantment.blast_protection":"Blast Protection","enchantment.channeling":"Channeling","enchantment.depth_strider":"Depth Strider","enchantment.efficiency":"Efficiency","enchantment.enchantment":"Enchantment","enchantment.feather_falling":"Feather Falling","enchantment.fire_aspect":"Fire Aspect","enchantment.fire_protection":"Fire Protection","enchantment.flame":"Flame","enchantment.fortune":"Fortune","enchantment.frost_walker":"Frost Walker","enchantment.impaling":"Impaling","enchantment.infinity":"Infinity","enchantment.knockback":"Knockback","enchantment.levels":"Levels","enchantment.looting":"Looting","enchantment.loyalty":"Loyalty","enchantment.luck_of_the_sea":"Luck of the Sea","enchantment.lure":"Lure","enchantment.mending":"Mending","enchantment.multishot":"Multishot","enchantment.piercing":"Piercing","enchantment.power":"Power","enchantment.projectile_protection":"Projectile Protection","enchantment.protection":"Protection","enchantment.punch":"Punch","enchantment.quick_charge":"Quick Charge","enchantment.respiration":"Respiration","enchantment.riptide":"Riptide","enchantment.sharpness":"Sharpness","enchantment.silk_touch":"Silk Touch","enchantment.smite":"Smite","enchantment.sweeping":"Sweeping Edge","enchantment.thorns":"Thorns","enchantment.unbreaking":"Unbreaking","enchantment.vanishing_curse":"Curse of Vanishing","entity.distance":"Distance","entity.effects":"Effects","entity.equipment":"Equipment","entity.fishing_hook":"Fishing Hook","entity.fishing_hook.in_open_water":"In Open Water","entity.flags":"Flags","entity.isBaby":"Baby","entity.isOnFire":"On Fire","entity.isSneaking":"Sneaking","entity.isSprinting":"Sprinting","entity.isSwimming":"Swimming","entity.location":"Location","entity.nbt":"NBT","entity.player":"Player","entity.targeted_entity":"Targeted Entity","entity.team":"Team","entity.type":"Entity","entity.vehicle":"Vehicle","entity_source.direct_killer":"Direct Killer","entity_source.killer":"Killer","entity_source.killer_player":"Killer Player","entity_source.this":"This","entry":"Entry","error":"Error","error.expected_boolean":"Expected a boolean","error.expected_integer":"Expected an integer","error.expected_json":"Expected JSON","error.expected_list":"Expected an array","error.expected_number":"Expected a number","error.expected_object":"Expected an object","error.expected_range":"Expected a range","error.expected_string":"Expected a string","error.expected_uniform_int":"Expected a uniform int","error.height_multiple":"Height has to be multiple of %0%","error.invalid_binomial":"Range cannot use the binomial type","error.invalid_empty_list":"Array cannot be empty","error.invalid_empty_string":"String cannot be empty","error.invalid_enum_option":"Invalid option \"%0%\"","error.invalid_exact":"Range cannot use the constant type","error.invalid_pattern":"String is not valid: %0%","error.invalid_list_range.exact":"Expected a list with length %1%","error.invalid_list_range.larger":"List length %0% is larger than maximum %1%","error.invalid_list_range.smaller":"List length %0% is smaller than minimum %1%","error.invalid_number_range.between":"Expected a number between %1% and %2%","error.invalid_number_range.larger":"Value %0% is larger than maximum %1%","error.invalid_number_range.smaller":"Value %0% is smaller than minimum %1%","error.logical_height":"Logical height cannot be higher than height","error.min_y_multiple":"Min Y has to be a multiple of %0%","error.min_y_plus_height":"Min Y + height cannot be higher than %0%","error.recipe.invalid_key":"only single character is allowed as a key","error.separation_smaller_spacing":"Separation has to be smaller than spacing","false":"False","feature.bamboo.probability":"Probability","feature.basalt_columns.height":"Height","feature.basalt_columns.reach":"Reach","feature.block_pile.state_provider":"State Provider","feature.config":"Config","feature.decorated.decorator":"Decorator","feature.decorated.feature":"Feature","feature.delta_feature.contents":"Contents","feature.delta_feature.rim":"Rim","feature.delta_feature.rim_size":"Rim Size","feature.delta_feature.size":"Size","feature.disk.half_height":"Half Height","feature.disk.radius":"Radius","feature.disk.state":"State","feature.disk.targets":"Targets","feature.disk.targets.entry":"State","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center":"Far Dripstone Chance","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center.help":"Chance of a dripstone column at the max distance from the center.","feature.dripstone_cluster.density":"Density","feature.dripstone_cluster.dripstone_block_layer_thickness":"Block Layer Thickness","feature.dripstone_cluster.floor_to_ceiling_search_range":"Search Range","feature.dripstone_cluster.floor_to_ceiling_search_range.help":"Floor to ceiling search range.","feature.dripstone_cluster.height":"Height","feature.dripstone_cluster.height_deviation":"Height Deviation","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column":"Column Chance Distance","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column.help":"Max distance from the center affecting the chance of dripstone columns.","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias":"Height Bias Distance","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias.help":"Max distance from the center affecting the height bias.","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff":"Max Height Difference","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff.help":"Max height difference between the stalagmite and stalactite.","feature.dripstone_cluster.radius":"Radius","feature.dripstone_cluster.wetness":"Wetness","feature.dripstone_cluster.wetness_deviation":"Wetness Deviation","feature.dripstone_cluster.wetness_mean":"Wetness Mean","feature.emerald_ore.state":"State","feature.emerald_ore.target":"Target","feature.end_gateway.exact":"Exact","feature.end_gateway.exit":"Exit","feature.end_spike.crystal_beam_target":"Crystal Beam Target","feature.end_spike.crystal_invulnerable":"Crystal Invulnerable","feature.end_spike.spikes":"Spikes","feature.end_spike.spikes.entry":"Spike","feature.end_spike.spikes.entry.centerX":"Center X","feature.end_spike.spikes.entry.centerZ":"Center Z","feature.end_spike.spikes.entry.guarded":"Guarded","feature.end_spike.spikes.entry.height":"Height","feature.end_spike.spikes.entry.radius":"Radius","feature.fill_layer.height":"Height","feature.fill_layer.state":"State","feature.flower.blacklist":"Blacklist","feature.flower.block_placer":"Block Placer","feature.flower.can_replace":"Can Replace","feature.flower.need_water":"Need Water","feature.flower.project":"Project","feature.flower.state_provider":"State Provider","feature.flower.tries":"Tries","feature.flower.whitelist":"Whitelist","feature.flower.xspread":"X Spread","feature.flower.yspread":"Y Spread","feature.flower.zspread":"Z Spread","feature.forest_rock.state":"State","feature.glow_lichen.can_be_placed_on":"Can Be Placed On","feature.glow_lichen.can_be_placed_on.entry":"Block State","feature.glow_lichen.can_place_on_ceiling":"Can Place On Ceiling","feature.glow_lichen.can_place_on_floor":"Can Place On Floor","feature.glow_lichen.can_place_on_wall":"Can Place On Wall","feature.glow_lichen.chance_of_spreading":"Chance Of Spreading","feature.glow_lichen.search_range":"Search Range","feature.huge_brown_mushroom.cap_provider":"Cap Provider","feature.huge_brown_mushroom.foliage_radius":"Foliage Radius","feature.huge_brown_mushroom.stem_provider":"Stem Provider","feature.huge_fungus.decor_state":"Decoration","feature.huge_fungus.hat_state":"Hat","feature.huge_fungus.planted":"Planted","feature.huge_fungus.stem_state":"Stem","feature.huge_fungus.valid_base_block":"Valid Base","feature.huge_red_mushroom.cap_provider":"Cap Provider","feature.huge_red_mushroom.foliage_radius":"Foliage Radius","feature.huge_red_mushroom.stem_provider":"Stem Provider","feature.ice_patch.half_height":"Half Height","feature.ice_patch.radius":"Radius","feature.ice_patch.state":"State","feature.ice_patch.targets":"Targets","feature.ice_patch.targets.entry":"State","feature.iceberg.state":"State","feature.lake.state":"State","feature.large_dripstone.column_radius":"Column Radius","feature.large_dripstone.floor_to_ceiling_search_range":"Search Range","feature.large_dripstone.floor_to_ceiling_search_range.help":"Floor to ceiling search range.","feature.large_dripstone.height_scale":"Height Scale","feature.large_dripstone.max_column_radius_to_cave_height_ratio":"Radius to Cave Height Ratio","feature.large_dripstone.min_bluntness_for_wind":"Min Bluntness for Wind","feature.large_dripstone.min_radius_for_wind":"Min Radius for Wind","feature.large_dripstone.stalactite_bluntness":"Stalactite Bluntness","feature.large_dripstone.stalagmite_bluntness":"Stalagmite Bluntness","feature.large_dripstone.wind_speed":"Wind Speed","feature.nether_forest_vegetation.state_provider":"State Provider","feature.netherrack_replace_blobs.radius":"Radius","feature.netherrack_replace_blobs.state":"State","feature.netherrack_replace_blobs.target":"Target","feature.no_surface_ore.size":"Size","feature.no_surface_ore.state":"State","feature.no_surface_ore.target":"Target","feature.object":"Custom","feature.ore.discard_chance_on_air_exposure":"Discard Chance On Air Exposure","feature.ore.size":"Size","feature.ore.targets":"Targets","feature.ore.targets.entry.target":"Target","feature.ore.targets.entry.state":"State","feature.scattered_ore.discard_chance_on_air_exposure":"Discard Chance On Air Exposure","feature.scattered_ore.size":"Size","feature.scattered_ore.targets":"Targets","feature.scattered_ore.targets.entry.target":"Target","feature.scattered_ore.targets.entry.state":"State","feature.random_boolean_selector.feature_false":"Feature 1","feature.random_boolean_selector.feature_true":"Feature 2","feature.random_patch.blacklist":"Blacklist","feature.random_patch.block_placer":"Block Placer","feature.random_patch.can_replace":"Can Replace","feature.random_patch.need_water":"Need Water","feature.random_patch.project":"Project","feature.random_patch.state_provider":"State Provider","feature.random_patch.tries":"Tries","feature.random_patch.whitelist":"Whitelist","feature.random_patch.xspread":"X Spread","feature.random_patch.yspread":"Y Spread","feature.random_patch.zspread":"Z Spread","feature.random_selector.default":"Default","feature.random_selector.features":"Features","feature.random_selector.features.entry":"Feature","feature.random_selector.features.entry.chance":"Chance","feature.random_selector.features.entry.feature":"Feature","feature.sea_pickle.count":"Count","feature.seegrass.probability":"Probability","feature.simple_block.place_in":"Place In","feature.simple_block.place_in.entry":"State","feature.simple_block.place_on":"Place On","feature.simple_block.place_on.entry":"State","feature.simple_block.place_under":"Place Under","feature.simple_block.place_under.entry":"State","feature.simple_block.to_place":"To Place","feature.simple_random_selector.features":"Features","feature.simple_random_selector.features.entry":"Feature","feature.small_dripstone.chance_of_taller_dripstone":"Chance of Taller Dripstone","feature.small_dripstone.empty_space_search_radius":"Empty Space Search Radius","feature.small_dripstone.max_offset_from_origin":"Max Offset from Origin","feature.small_dripstone.max_placements":"Max Placements","feature.spring_feature.hole_count":"Hole Count","feature.spring_feature.required_block_below":"Required Block Below","feature.spring_feature.rock_count":"Rock Count","feature.spring_feature.state":"State","feature.spring_feature.valid_blocks":"Valid Blocks","feature.string":"Reference","feature.tree.decorators":"Decorators","feature.tree.decorators.entry":"Tree Decorator","feature.tree.foliage_placer":"Foliage Placer","feature.tree.heightmap":"Heightmap","feature.tree.ignore_vines":"Ignore Vines","feature.tree.leaves_provider":"Leaves Provider","feature.tree.max_water_depth":"Max Water Depth","feature.tree.minimum_size":"Minimum Size","feature.tree.minimum_size.limit":"Limit","feature.tree.minimum_size.lower_size":"Lower Size","feature.tree.minimum_size.middle_size":"Middle Size","feature.tree.minimum_size.min_clipped_height":"Min Clipped Height","feature.tree.minimum_size.type":"Minimum Size","feature.tree.minimum_size.upper_limit":"Upper Limit","feature.tree.minimum_size.upper_size":"Upper Size","feature.tree.trunk_placer":"Trunk Placer","feature.tree.trunk_provider":"Trunk Provider","feature.type":"Type","float_provider.base":"Base","float_provider.deviation":"Deviation","float_provider.mean":"Mean","float_provider.min":"Min","float_provider.max":"Max","float_provider.plateau":"Plateau","float_provider.spread":"Spread","float_provider.type.number":"Constant","float_provider.type.constant":"Constant+","float_provider.type.uniform":"Uniform","float_provider.type.clamped_normal":"Clamped Normal","float_provider.type.trapezoid":"Trapezoid","float_provider.value":"Value","fluid.fluid":"Fluid ID","fluid.state":"Fluid State","fluid.tag":"Fluid Tag","fluid_state.Name":"Name","fluid_state.Properties":"Properties","foliage_placer.crown_height":"Crown Height","foliage_placer.height":"Height","foliage_placer.offset":"Offset","foliage_placer.radius":"Radius","foliage_placer.trunk_height":"Trunk Height","foliage_placer.type":"Type","function.apply_bonus.enchantment":"Enchantment","function.apply_bonus.formula":"Formula","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial with Bonus Count","function.apply_bonus.formula.ore_drops":"Ore Drops","function.apply_bonus.formula.uniform_bonus_count":"Uniform Bonus Count","function.apply_bonus.parameters":"Parameters","function.apply_bonus.parameters.bonusMultiplier":"Multiplier","function.apply_bonus.parameters.extra":"Extra","function.apply_bonus.parameters.probability":"Probability","function.copy_name.source":"Source","function.copy_nbt.ops":"NBT Operations","function.copy_nbt.ops.entry":"Operation","function.copy_nbt.source":"Source","function.copy_state.block":"Block","function.copy_state.properties":"Properties","function.copy_state.properties.entry":"Property","function.enchant_randomly.enchantments":"Optional Enchantments","function.enchant_randomly.enchantments.entry":"Enchantment","function.enchant_with_levels.levels":"Levels","function.enchant_with_levels.treasure":"Treasure","function.exploration_map.decoration":"Decoration","function.exploration_map.destination":"Destination","function.exploration_map.search_radius":"Search Radius (Chunks)","function.exploration_map.skip_existing_chunks":"Skip Existing Chunks","function.exploration_map.zoom":"Zoom","function.fill_player_head.entity":"Entity","function.function":"Function","function.limit_count.limit":"Limit","function.list":"Multiple","function.looting_enchant.count":"Count","function.looting_enchant.limit":"Limit","function.object":"Single","function.set_attributes.modifiers":"Modifiers","function.set_attributes.modifiers.entry":"Modifier","function.set_banner_pattern.append":"Append","function.set_banner_pattern.patterns":"Patterns","function.set_contents.entries":"Contents","function.set_contents.entries.entry":"Entry","function.set_count.add":"Add","function.set_count.add.help":"If true, change will be relative to current item count","function.set_count.count":"Count","function.set_damage.add":"Add","function.set_damage.add.help":"If true, change will be relative to current damage","function.set_damage.damage":"Damage","function.set_data.data":"Data","function.set_enchantments.add":"Add","function.set_enchantments.add.help":"If true, change will be relative to current level","function.set_enchantments.enchantments":"Enchantments","function.set_loot_table.name":"Loot Table Name","function.set_loot_table.seed":"Seed","function.set_lore.entity":"Entity","function.set_lore.lore":"Lore","function.set_lore.lore.entry":"Line","function.set_lore.replace":"Replace","function.set_name.entity":"Entity","function.set_name.name":"Name","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Effects","function.set_stew_effect.effects.entry":"Effect","function.set_stew_effect.effects.entry.duration":"Duration","function.set_stew_effect.effects.entry.type":"Type","functions":"Functions","functions.entry":"Function","gamemode.adventure":"Adventure","gamemode.creative":"Creative","gamemode.spectator":"Spectator","gamemode.survival":"Survival","generation_step.air":"Air","generation_step.liquid":"Liquid","generator.biome_source.altitude_noise":"Altitude Noise","generator.biome_source.biome":"Biome","generator.biome_source.biomes":"Biomes","generator.biome_source.humidity_noise":"Humidity Noise","generator.biome_source.large_biomes":"Large Biomes","generator.biome_source.legacy_biome_init_layer":"Legacy Biome Init Layer","generator.biome_source.preset":"Biomes Preset","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Scale","generator.biome_source.seed":"Biomes Seed","generator.biome_source.temperature_noise":"Temperature Noise","generator.biome_source.type":"Biome Source","generator.biome_source.weirdness_noise":"Weirdness Noise","generator.seed":"Dimension Seed","generator.settings":"Generator Settings","generator.settings.biome":"Biome","generator.settings.lakes":"Lakes","generator.settings.layers":"Layers","generator.settings.layers.entry":"Layer","generator.settings.layers.entry.block":"Block ID","generator.settings.layers.entry.height":"Height","generator.settings.object":"Custom","generator.settings.presets.amplified":"Amplified","generator.settings.presets.caves":"Caves","generator.settings.presets.end":"End","generator.settings.presets.floating_islands":"Floating Islands","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Overworld","generator.settings.string":"Preset","generator.settings.structures":"Structures","generator.settings.structures.stronghold":"Stronghold","generator.settings.structures.stronghold.count":"Count","generator.settings.structures.stronghold.distance":"Distance","generator.settings.structures.stronghold.spread":"Spread","generator.settings.structures.structures":"Structures","generator.type":"Generator Type","generator_biome.biome":"Biome","generator_biome.parameters":"Parameters","generator_biome.parameters.altitude":"Altitude","generator_biome.parameters.help":"These parameters determine the placement of the biome. Every biome must have a unique combination of them. Biomes with similar values will generate next to each other.","generator_biome.parameters.humidity":"Humidity","generator_biome.parameters.offset":"Offset","generator_biome.parameters.temperature":"Temperature","generator_biome.parameters.weirdness":"Weirdness","generator_biome_noise.amplitudes":"Amplitudes","generator_biome_noise.amplitudes.entry":"Octave %0%","generator_biome_noise.firstOctave":"First Octave","generator_structure.salt":"Salt","generator_structure.separation":"Separation","generator_structure.separation.help":"The minumum distance in chunks between two structures of this type.","generator_structure.spacing":"Spacing","generator_structure.spacing.help":"The average distance in chunks between two structures of this type.","heightmap_type.MOTION_BLOCKING":"Motion Blocking","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"Motion Blocking (No Leaves)","heightmap_type.OCEAN_FLOOR":"Ocean Floor","heightmap_type.OCEAN_FLOOR_WG":"Ocean Floor (World Gen)","heightmap_type.WORLD_SURFACE":"World Surface","heightmap_type.WORLD_SURFACE_WG":"World Surface (World Gen)","hide_source":"Hide Source","item.count":"Count","item.durability":"Durability","item.enchantments":"Enchantments","item.enchantments.entry":"Enchantment","item.item":"Item ID","item.nbt":"NBT","item.potion":"Potion","item.tag":"Item Tag","key.advancements":"Advancements","key.attack":"Attack/Destroy","key.back":"Walk Backwards","key.chat":"Open Chat","key.command":"Open Command","key.drop":"Drop Selected Item","key.forward":"Walk Forwards","key.fullscreen":"Toggle Fullscreen","key.hotbar.1":"Hotbar Slot 1","key.hotbar.2":"Hotbar Slot 2","key.hotbar.3":"Hotbar Slot 3","key.hotbar.4":"Hotbar Slot 4","key.hotbar.5":"Hotbar Slot 5","key.hotbar.6":"Hotbar Slot 6","key.hotbar.7":"Hotbar Slot 7","key.hotbar.8":"Hotbar Slot 8","key.hotbar.9":"Hotbar Slot 9","key.inventory":"Open/Close Inventory","key.jump":"Jump","key.left":"Strafe Left","key.loadToolbarActivator":"Load Toolbar Activator","key.pickItem":"Pick Block","key.playerlist":"List Players","key.right":"Strafe Right","key.saveToolbarActivator":"Save Toolbar Activator","key.screenshot":"Take Screenshot","key.smoothCamera":"Toggle Cinematic Camera","key.sneak":"Sneak","key.spectatorOutlines":"Highlight Players (Spectators)","key.sprint":"Sprint","key.swapOffhand":"Swap Item With Offhand","key.togglePerspective":"Toggle Perspective","key.use":"Use Item/Place Block","location.biome":"Biome","location.block":"Block","location.dimension":"Dimension","location.feature":"Feature","location.fluid":"Fluid","location.light":"Light","location.light.light":"Visible Light Level","location.position":"Position","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Smokey","loot_condition_type.alternative":"Alternative","loot_condition_type.block_state_property":"Block State Properties","loot_condition_type.damage_source_properties":"Damage Source Properties","loot_condition_type.entity_properties":"Entity Properties","loot_condition_type.entity_scores":"Entity Scores","loot_condition_type.inverted":"Inverted","loot_condition_type.killed_by_player":"Killed by Player","loot_condition_type.location_check":"Location Check","loot_condition_type.match_tool":"Match Tool","loot_condition_type.random_chance":"Random Chance","loot_condition_type.random_chance_with_looting":"Random Chance with Looting","loot_condition_type.reference":"Reference","loot_condition_type.survives_explosion":"Survives Explosion","loot_condition_type.table_bonus":"Table Bonus","loot_condition_type.time_check":"Time Check","loot_condition_type.value_check":"Value Check","loot_condition_type.weather_check":"Weather Check","loot_entry.dynamic.name":"Name","loot_entry.item.name":"Name","loot_entry.loot_table.name":"Loot Table Name","loot_entry.quality":"Quality","loot_entry.tag.expand":"Expand","loot_entry.tag.expand.help":"If false, entry will return all contents of tag, otherwise entry will behave as multiple item entries.","loot_entry.tag.name":"Item Tag Name","loot_entry.type":"Type","loot_entry.weight":"Weight","loot_function_type.apply_bonus":"Apply Bonus","loot_function_type.copy_name":"Copy Name","loot_function_type.copy_nbt":"Copy NBT","loot_function_type.copy_state":"Copy Block States","loot_function_type.enchant_randomly":"Enchant Randomly","loot_function_type.enchant_with_levels":"Enchant With Levels","loot_function_type.exploration_map":"Exploration Map Properties","loot_function_type.explosion_decay":"Explosion Decay","loot_function_type.fill_player_head":"Fill Player Head","loot_function_type.furnace_smelt":"Furnace Smelt","loot_function_type.limit_count":"Limit Count","loot_function_type.looting_enchant":"Looting Enchant","loot_function_type.set_attributes":"Set Attributes","loot_function_type.set_banner_pattern":"Set Banner Pattern","loot_function_type.set_contents":"Set Contents","loot_function_type.set_count":"Set Count","loot_function_type.set_damage":"Set Damage","loot_function_type.set_data":"Set Data","loot_function_type.set_enchantments":"Set Enchantments","loot_function_type.set_loot_table":"Set Loot Table","loot_function_type.set_lore":"Set Lore","loot_function_type.set_name":"Set Name","loot_function_type.set_nbt":"Set NBT","loot_function_type.set_stew_effect":"Set Stew Effect","loot_pool.bonus_rolls":"Bonus Rolls","loot_pool.entries":"Entries","loot_pool.entries.entry":"Entry","loot_pool.rolls":"Rolls","loot_pool.rolls.help":"The amount of entries that are randomly chosen.","loot_pool_entry_type.alternatives":"Alternatives","loot_pool_entry_type.alternatives.help":"Tests conditions of the child entries and executes the first that can run.","loot_pool_entry_type.dynamic":"Dynamic","loot_pool_entry_type.dynamic.help":"Gets block specific drops.","loot_pool_entry_type.empty":"Empty","loot_pool_entry_type.empty.help":"Adds nothing to the pool.","loot_pool_entry_type.group":"Group","loot_pool_entry_type.group.help":"Executes all child entries when own conditions pass.","loot_pool_entry_type.item":"Item","loot_pool_entry_type.item.help":"Adds a single item.","loot_pool_entry_type.loot_table":"Loot Table","loot_pool_entry_type.loot_table.help":"Adds the contents of another loot table.","loot_pool_entry_type.sequence":"Sequence","loot_pool_entry_type.sequence.help":"Executes child entries until the first one that can't run due to conditions.","loot_pool_entry_type.tag":"Item Tag","loot_pool_entry_type.tag.help":"Adds the contents of an item tag.","loot_table.pools":"Pools","loot_table.pools.entry":"Pool","loot_table.type":"Type","luck_based":"Luck-based","nbt_operation.op":"Operation","nbt_operation.op.append":"Append","nbt_operation.op.merge":"Merge","nbt_operation.op.replace":"Replace","nbt_operation.source":"Source","nbt_operation.target":"Target","nbt_provider.source":"Source","nbt_provider.target":"Target","nbt_provider.type":"Type","nbt_provider.type.context":"Context+","nbt_provider.type.storage":"Storage","nbt_provider.type.string":"Context","noise_settings.aquifers_enabled":"Aquifers Enabled","noise_settings.bedrock_floor_position":"Bedrock Floor Position","noise_settings.bedrock_floor_position.help":"Position of the bedrock floor. Higher numbers move the floor up.","noise_settings.bedrock_roof_position":"Bedrock Roof Position","noise_settings.bedrock_roof_position.help":"Relative position of the bedrock roof starting at the world height. Higher numbers move the roof down.","noise_settings.biome":"Biome","noise_settings.deepslate_enabled":"Deepslate Enabled","noise_settings.default_block":"Default Block","noise_settings.default_fluid":"Default Fluid","noise_settings.disable_mob_generation":"Disable Mob Generation","noise_settings.disable_mob_generation.help":"If true, mobs will not spawn during generation.","noise_settings.name":"Name","noise_settings.noise":"Noise Options","noise_settings.noise_caves_enabled":"Noise Caves Enabled","noise_settings.noise.amplified":"Amplified","noise_settings.noise.bottom_slide":"Bottom Slide","noise_settings.noise.bottom_slide.help":"Adds or removes terrain at the bottom of the world. Does nothing when size is 0.","noise_settings.noise.bottom_slide.offset":"Offset","noise_settings.noise.bottom_slide.offset.help":"Defines an range of 'Offset * Size Vertical * 4' blocks at the bottom of the world where the density is set to the target.","noise_settings.noise.bottom_slide.size":"Size","noise_settings.noise.bottom_slide.size.help":"Defines a range of 'Size * Size Vertical * 4' blocks where the existing density and target are interpolated.","noise_settings.noise.bottom_slide.target":"Target","noise_settings.noise.bottom_slide.target.help":"The target density. Positive values add terrain and negative values remove terrain.","noise_settings.noise.density_factor":"Density Factor","noise_settings.noise.density_factor.help":"Determines how much the height influences the terrain. Positive values produce land at the bottom. Values close to 0 produce uniform cave-like terrain.","noise_settings.noise.density_offset":"Density Offset","noise_settings.noise.density_offset.help":"Affects the average terrain height. A value of 0 produces terrain land height at half the height. Positive values raise the height.","noise_settings.noise.height":"Height","noise_settings.noise.height.help":"The total height where blocks can generate. Max Y = Min Y + Height.","noise_settings.noise.island_noise_override":"Island Noise Override","noise_settings.noise.island_noise_override.help":"If true, terrain will be shaped like islands similar to the end.","noise_settings.noise.min_y":"Min Y","noise_settings.noise.min_y.help":"The minimum height where blocks start generating.","noise_settings.noise.random_density_offset":"Random Density Offset","noise_settings.noise.sampling":"Sampling","noise_settings.noise.sampling.xz_factor":"XZ Factor","noise_settings.noise.sampling.xz_scale":"XZ Scale","noise_settings.noise.sampling.y_factor":"Y Factor","noise_settings.noise.sampling.y_scale":"Y Scale","noise_settings.noise.simplex_surface_noise":"Simplex Surface Noise","noise_settings.noise.size_horizontal":"Size Horizontal","noise_settings.noise.size_vertical":"Size Vertical","noise_settings.noise.top_slide":"Top Slide","noise_settings.noise.top_slide.help":"Adds or removes terrain at the top of the world. Does nothing when size is 0.","noise_settings.noise.top_slide.offset":"Offset","noise_settings.noise.top_slide.offset.help":"Defines an range of 'Offset * Size Vertical * 4' blocks at the top of the world where the density is set to the target.","noise_settings.noise.top_slide.size":"Size","noise_settings.noise.top_slide.size.help":"Defines a range of 'Size * Size Vertical * 4' blocks where the existing density and target are interpolated.","noise_settings.noise.top_slide.target":"Target","noise_settings.noise.top_slide.target.help":"The target density. Positive values add terrain and negative values remove terrain.","noise_settings.sea_level":"Sea Level","noise_settings.structures":"Structures","noise_settings.structures.stronghold":"Stronghold","noise_settings.structures.stronghold.count":"Count","noise_settings.structures.stronghold.distance":"Distance","noise_settings.structures.stronghold.spread":"Spread","noise_settings.structures.structures":"Structures","number_provider.max":"Max","number_provider.min":"Min","number_provider.n":"N","number_provider.p":"P","number_provider.scale":"Scale","number_provider.score":"Objective","number_provider.target":"Target","number_provider.type":"Type","number_provider.type.binomial":"Binomial","number_provider.type.constant":"Constant+","number_provider.type.number":"Constant","number_provider.type.object":"Uniform","number_provider.type.score":"Score","number_provider.type.uniform":"Uniform+","number_provider.value":"Number","player.advancements":"Advancements","player.advancements.entry":"Advancement","player.gamemode":"Game Mode","player.level":"XP Level","player.recipes":"Recipes","player.stats":"Statistics","player.stats.entry":"Statistic","pos_rule_test.always_true":"Always True","pos_rule_test.axis":"Axis","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.axis.z":"Z","pos_rule_test.axis_aligned_linear_pos":"Axis Aligned Linear Pos","pos_rule_test.linear_pos":"Linear Pos","pos_rule_test.max_chance":"Max Chance","pos_rule_test.max_dist":"Max Dist","pos_rule_test.min_chance":"Min Chance","pos_rule_test.min_dist":"Min Dist","pos_rule_test.predicate_type":"Type","processor.block_age.mossiness":"Mossiness","processor.block_ignore.blocks":"Blocks","processor.block_ignore.blocks.entry":"State","processor.block_rot.integrity":"Integrity","processor.gravity.heightmap":"Heightmap","processor.gravity.offset":"Offset","processor.processor_type":"Type","processor.rule.rules":"Rules","processor.rule.rules.entry":"Rule","processor_list.processors":"Processors","processor_list.processors.entry":"Processor","processor_rule.input_predicate":"Input Predicate","processor_rule.location_predicate":"Location Predicate","processor_rule.output_nbt":"Output NBT","processor_rule.output_state":"Output State","processor_rule.position_predicate":"Position Predicate","processors.object":"Custom","processors.string":"Reference","range.binomial":"Binomial","range.max":"Max","range.min":"Min","range.n":"N","range.number":"Exact","range.object":"Range","range.p":"P","range.type":"Type","range.uniform":"Uniform","requirements":"Requirements","rule_test.always_true":"Always True","rule_test.block":"Block","rule_test.block_match":"Block Match","rule_test.block_state":"State","rule_test.blockstate_match":"Block State Match","rule_test.predicate_type":"Type","rule_test.probability":"Probability","rule_test.random_block_match":"Random Block Match","rule_test.random_blockstate_match":"Random Block State Match","rule_test.tag":"Tag","rule_test.tag_match":"Tag Match","score_provider.name":"Name","score_provider.target":"Target","score_provider.type":"Type","score_provider.type.context":"Context+","score_provider.type.fixed":"Fixed","score_provider.type.string":"Context","slot.chest":"Chest","slot.feet":"Feet","slot.head":"Head","slot.legs":"Legs","slot.mainhand":"Mainhand","slot.offhand":"Offhand","statistic.stat":"Statistic","statistic.type":"Type","statistic.type.broken":"Broken","statistic.type.crafted":"Crafted","statistic.type.custom":"Custom","statistic.type.dropped":"Dropped","statistic.type.killed":"Killed","statistic.type.killedByTeam":"Killed By Team","statistic.type.killed_by":"Killed By","statistic.type.mined":"Mined","statistic.type.picked_up":"Picked Up","statistic.type.teamkill":"Killed Team","statistic.type.used":"Used","statistic.value":"Value","status_effect.ambient":"Ambient","status_effect.amplifier":"Amplifier","status_effect.duration":"Duration","status_effect.visible":"Visible","structure_feature.biome_temp":"Biome Temperature","structure_feature.biome_temp.cold":"Cold","structure_feature.biome_temp.warm":"Warm","structure_feature.cluster_probability":"Cluster Probability","structure_feature.config":"Config","structure_feature.is_beached":"Is Beached","structure_feature.large_probability":"Large Probability","structure_feature.portal_type":"Portal Type","structure_feature.portal_type.desert":"Desert","structure_feature.portal_type.jungle":"Jungle","structure_feature.portal_type.mountain":"Mountain","structure_feature.portal_type.nether":"Nether","structure_feature.portal_type.ocean":"Ocean","structure_feature.portal_type.standard":"Standard","structure_feature.portal_type.swamp":"Swamp","structure_feature.probability":"Probability","structure_feature.size":"Size","structure_feature.start_pool":"Start Pool","structure_feature.type":"Type","structure_feature.type.mesa":"Mesa","structure_feature.type.normal":"Normal","surface_builder.config":"Config","surface_builder.top_material":"Top Material","surface_builder.type":"Type","surface_builder.under_material":"Under Material","surface_builder.underwater_material":"Underwater Material","table.type":"Type","table.type.block":"Block","table.type.chest":"Chest","table.type.empty":"Empty","table.type.entity":"Entity","table.type.fishing":"Fishing","table.type.generic":"Generic","tag.replace":"Replace","tag.values":"Values","template_element.element_type":"Type","template_element.elements":"Elements","template_element.feature":"Feature","template_element.location":"Location","template_element.processors":"Processors","template_element.projection":"Projection","template_element.projection.rigid":"Rigid","template_element.projection.terrain_matching":"Terrain Matching","template_pool.elements":"Elements","template_pool.elements.entry":"Element","template_pool.elements.entry.element":"Element","template_pool.elements.entry.weight":"Weight","template_pool.fallback":"Fallback","template_pool.name":"Name","text_component":"Text Component","text_component.boolean":"Boolean","text_component.list":"Array","text_component.number":"Number","text_component.object":"Object","text_component.object.text":"Plain Text","text_component.object.translation":"Translated Text","text_component.object.score":"Score Value","text_component.object.selector":"Entity Name","text_component.object.keybind":"Keybind","text_component.object.nbt":"NBT Value","text_component.string":"String","text_component_object.block":"Block","text_component_object.bold":"Bold","text_component_object.clickEvent":"Click Event","text_component_object.clickEvent.action":"Action","text_component_object.clickEvent.action.change_page":"Change Page","text_component_object.clickEvent.action.copy_to_clipboard":"Copy To Clipboard","text_component_object.clickEvent.action.open_file":"Open File","text_component_object.clickEvent.action.open_url":"Open Url","text_component_object.clickEvent.action.run_command":"Run Command","text_component_object.clickEvent.action.suggest_command":"Suggest Command","text_component_object.clickEvent.value":"Value","text_component_object.color":"Color","text_component_object.entity":"Entity","text_component_object.extra":"Extra","text_component_object.font":"Font","text_component_object.hoverEvent":"Hover Event","text_component_object.hoverEvent.action":"Action","text_component_object.hoverEvent.action.show_entity":"Show Entity","text_component_object.hoverEvent.action.show_item":"Show Item","text_component_object.hoverEvent.action.show_text":"Show Text","text_component_object.hoverEvent.contents":"Contents","text_component_object.hoverEvent.value":"Value","text_component_object.insertion":"Insertion","text_component_object.interpret":"Interpret","text_component_object.italic":"Italic","text_component_object.keybind":"Keybind","text_component_object.nbt":"NBT","text_component_object.obfuscated":"Obfuscated","text_component_object.score":"Score","text_component_object.score.name":"Name","text_component_object.score.objective":"Objective","text_component_object.score.value":"Value","text_component_object.selector":"Selector","text_component_object.storage":"Storage","text_component_object.strikethrough":"Strikethrough","text_component_object.text":"Text","text_component_object.translate":"Translate","text_component_object.underlined":"Underlined","text_component_object.with":"With","tree_decorator.alter_ground.provider":"State Provider","tree_decorator.beehive.probability":"Probability","tree_decorator.cocoa.probability":"Probability","tree_decorator.type":"Type","true":"True","trunk_placer.base_height":"Base Height","trunk_placer.height_rand_a":"Height Random A","trunk_placer.height_rand_b":"Height Random B","trunk_placer.type":"Type","uniform_int.base":"Base","uniform_int.number":"Constant","uniform_int.object":"Uniform","uniform_int.spread":"Spread","unset":"Unset","update.pack_format":"Update the pack_format to %0%","vertical_anchor.absolute":"Absolute","vertical_anchor.above_bottom":"Above Bottom","vertical_anchor.below_top":"Below Top","world.bonus_chest":"Spawn Bonus Chest","world.generate_features":"Generate Features","world.seed":"Seed","world_settings.bonus_chest":"Spawn Bonus Chest","world_settings.dimensions":"Dimensions","world_settings.generate_features":"Generate Features","world_settings.seed":"World Seed","worldgen.warning":"This feature is highly experimental and unstable. It can change in future versions. Expect the game to crash when creating worlds.","worldgen/biome_source.checkerboard":"Checkerboard","worldgen/biome_source.checkerboard.help":"Biomes generate in a checkerboard chunk pattern.","worldgen/biome_source.fixed":"Fixed","worldgen/biome_source.fixed.help":"One biome for the whole world.","worldgen/biome_source.multi_noise":"Multi Noise","worldgen/biome_source.multi_noise.help":"Custom biome distribution with configurable parameters.","worldgen/biome_source.the_end":"The End","worldgen/biome_source.the_end.help":"Biome distribution for the End.","worldgen/biome_source.vanilla_layered":"Vanilla Layered","worldgen/biome_source.vanilla_layered.help":"Biome distribution for the Overworld.","worldgen/block_placer_type.column_placer":"Column","worldgen/block_placer_type.double_plant_placer":"Double Plant","worldgen/block_placer_type.simple_block_placer":"Simple","worldgen/block_state_provider_type.forest_flower_provider":"Flower Forest","worldgen/block_state_provider_type.plain_flower_provider":"Plain Flower","worldgen/block_state_provider_type.rotated_block_provider":"Rotated Block","worldgen/block_state_provider_type.simple_state_provider":"Simple State","worldgen/block_state_provider_type.weighted_state_provider":"Weighted State","worldgen/carver.canyon":"Canyon","worldgen/carver.cave":"Cave","worldgen/carver.nether_cave":"Nether Cave","worldgen/carver.underwater_canyon":"Underwater Canyon","worldgen/carver.underwater_cave":"Underwater Cave","worldgen/chunk_generator.debug":"Debug World","worldgen/chunk_generator.flat":"Superflat","worldgen/chunk_generator.noise":"Default","worldgen/feature_size_type.three_layers_feature_size":"Three Layers","worldgen/feature_size_type.two_layers_feature_size":"Two Layers","worldgen/foliage_placer_type.acacia_foliage_placer":"Acacia","worldgen/foliage_placer_type.blob_foliage_placer":"Blob","worldgen/foliage_placer_type.bush_foliage_placer":"Bush","worldgen/foliage_placer_type.dark_oak_foliage_placer":"Dark Oak","worldgen/foliage_placer_type.fancy_foliage_placer":"Fancy","worldgen/foliage_placer_type.jungle_foliage_placer":"Jungle","worldgen/foliage_placer_type.mega_pine_foliage_placer":"Mega Pine","worldgen/foliage_placer_type.pine_foliage_placer":"Pine","worldgen/foliage_placer_type.spruce_foliage_placer":"Spruce","worldgen/structure_pool_element.empty_pool_element":"Empty","worldgen/structure_pool_element.feature_pool_element":"Feature","worldgen/structure_pool_element.legacy_single_pool_element":"Legacy Single","worldgen/structure_pool_element.list_pool_element":"List","worldgen/structure_pool_element.single_pool_element":"Single","worldgen/structure_processor.blackstone_replace":"Blackstone Replace","worldgen/structure_processor.block_age":"Block Age","worldgen/structure_processor.block_ignore":"Block Ignore","worldgen/structure_processor.block_rot":"Block Rot","worldgen/structure_processor.gravity":"Gravity","worldgen/structure_processor.jigsaw_replacement":"Jigsaw Replacement","worldgen/structure_processor.lava_submerged_block":"Lava Submerged Block","worldgen/structure_processor.nop":"Nothing","worldgen/structure_processor.rule":"Rule","worldgen/tree_decorator_type.alter_ground":"Alter Ground","worldgen/tree_decorator_type.beehive":"Beehive","worldgen/tree_decorator_type.cocoa":"Cocoa","worldgen/tree_decorator_type.leave_vine":"Leave Vine","worldgen/tree_decorator_type.trunk_vine":"Trunk Vine","worldgen/trunk_placer_type.dark_oak_trunk_placer":"Dark Oak","worldgen/trunk_placer_type.fancy_trunk_placer":"Fancy","worldgen/trunk_placer_type.forking_trunk_placer":"Forking","worldgen/trunk_placer_type.giant_trunk_placer":"Giant","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"Mega Jungle","worldgen/trunk_placer_type.straight_trunk_placer":"Straight","advancement":"Advancement","button.add":"Add","button.collapse":"Collapse","button.expand":"Expand","button.remove":"Remove","copy":"Copy","dimension-type":"Dimension Type","download":"Download","error.block_state.missing_property":"Missing block property \"%0%\"","fields":"Fields","github":"GitHub","home":"Home","item-modifier":"Item Modifier","language":"Language","loot-table":"Loot Table","maximize":"Maximize","minimize":"Minimize","not_found.description":"The page you were looking for does not exist.","predicate":"Predicate","redo":"Redo","reset":"Reset","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","title.generator":"%0% Generator","title.home":"Data Pack Generators","presets":"Presets","preview":"Visualize","preview.show_density":"Show Density","preview.scale":"Scale","preview.depth":"Depth","preview.width":"Width","undo":"Undo","world":"World Settings","worldgen/biome":"Biome","worldgen/carver":"Carver","worldgen/feature":"Feature","worldgen/noise-settings":"Noise Settings","worldgen/processor-list":"Processor List","worldgen/structure-feature":"Structure Feature","worldgen/surface-builder":"Surface Builder","worldgen/template-pool":"Template Pool"} \ No newline at end of file diff --git a/locales/fr.json b/locales/fr.json deleted file mode 100644 index d4a9c843..00000000 --- a/locales/fr.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"Critères","advancement.display":"Affichage","advancement.display.announce_to_chat":"Annoncer dans le chat","advancement.display.background":"Fond","advancement.display.description":"Description","advancement.display.frame":"Cadre","advancement.display.frame.challenge":"Défi","advancement.display.frame.goal":"But","advancement.display.frame.task":"Tâche","advancement.display.help":"Si présent, le progrès sera visible dans le menu des progrès","advancement.display.hidden":"Caché","advancement.display.icon":"Icône","advancement.display.icon.item":"Objet de l'icône","advancement.display.icon.nbt":"Données NBT de l'icône","advancement.display.show_toast":"Afficher un toast","advancement.display.title":"Titre","advancement.parent":"Progrès parent","advancement.rewards":"Récompenses","advancement.rewards.experience":"Expérience","advancement.rewards.function":"Fonction","advancement.rewards.loot":"Tables de butin","advancement.rewards.recipes":"Recettes","advancement_trigger.bee_nest_destroyed":"Détruire une ruche","advancement_trigger.bred_animals":"Faire se reproduire des animaux","advancement_trigger.brewed_potion":"Préparer une potion","advancement_trigger.changed_dimension":"Changer de dimension","advancement_trigger.channeled_lightning":"Canaliser la foudre","advancement_trigger.construct_beacon":"Construire une balise","advancement_trigger.consume_item":"Consommer un objet","advancement_trigger.cured_zombie_villager":"Soigner un villageois zombie","advancement_trigger.effects_changed":"Effets changés","advancement_trigger.enchanted_item":"Enchanter un objet","advancement_trigger.enter_block":"Entrer dans un bloc","advancement_trigger.entity_hurt_player":"Prendre des dégâts","advancement_trigger.entity_killed_player":"Se faire tuer par une entité","advancement_trigger.filled_bucket":"Remplire un seau","advancement_trigger.fishing_rod_hooked":"Tirer une canne à pêche","advancement_trigger.hero_of_the_village":"Héros du village","advancement_trigger.impossible":"Impossible","advancement_trigger.inventory_changed":"Inventaire changé","advancement_trigger.item_durability_changed":"Durabilité d'un objet changée","advancement_trigger.item_used_on_block":"Interagir avec un bloc","advancement_trigger.killed_by_crossbow":"Etre tué par arbalète","advancement_trigger.levitation":"Lévitation","advancement_trigger.location":"Position","advancement_trigger.nether_travel":"Transport par le Nether","advancement_trigger.placed_block":"Placer un bloc","advancement_trigger.player_generates_container_loot":"Générer le butin d'un récipient","advancement_trigger.player_hurt_entity":"Endommager une entité","advancement_trigger.player_killed_entity":"Tuer une entité","advancement_trigger.recipe_unlocked":"Débloquer une recette","advancement_trigger.safely_harvest_honey":"Récolter du miel en sécurité","advancement_trigger.shot_crossbow":"Tirer avec une arbalète","advancement_trigger.slept_in_bed":"Dormir dans un lit","advancement_trigger.slide_down_block":"Glisser le long d'un bloc","advancement_trigger.summoned_entity":"Faire apparaître une entité","advancement_trigger.tame_animal":"Dompter une entité","advancement_trigger.target_hit":"Cible touchée","advancement_trigger.thrown_item_picked_up_by_entity":"Objet jeté puis ramassé par une entité","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Utiliser un oeil du néant","advancement_trigger.used_totem":"Utiliser un totem","advancement_trigger.villager_trade":"Commercer avec un villageois","advancement_trigger.voluntary_exile":"Exil volontaire","attribute.generic_armor":"Armure","attribute.generic_armor_toughness":"Robustesse de l'armure","attribute.generic_attack_damage":"Dégâts","attribute.generic_attack_knockback":"Recul","attribute.generic_attack_speed":"Vitesse d'attaque","attribute.generic_flying_speed":"Vitesse de vol","attribute.generic_follow_range":"Rayon de suivi","attribute.generic_knockback_resistance":"Résistance au recul","attribute.generic_luck":"Chance","attribute.generic_max_health":"Vie maximale","attribute.generic_movement_speed":"Vitesse de déplacement","attribute.horse.jump_strength":"Puissance de saut","attribute.zombie.spawn_reinforcements":"Probabilité d'apparition de renforcements","attribute_modifier.amount":"Quantité","attribute_modifier.attribute":"Attribut","attribute_modifier.name":"Nom","attribute_modifier.operation":"Opération","attribute_modifier.operation.addition":"Addition","attribute_modifier.operation.multiply_base":"Multiplier la base","attribute_modifier.operation.multiply_total":"Multiplier le total","attribute_modifier.slot":"Case","attribute_modifier.slot.list":"Plusieurs","attribute_modifier.slot.string":"Un seul","badge.experimental":"Expérimental","badge.unstable":"Instable","biome.carvers":"Grottes","biome.carvers.air":"Air","biome.carvers.liquid":"Liquide","biome.category":"Catégorie","biome.creature_spawn_probability":"Probabilité d'apparition de créatures","biome.depth":"Profondeur","biome.depth.help":"Élever ou abaisser le terrain. Les valeurs positives sont considérées comme le sol et négatives comme les océans.","biome.downfall":"Chute","biome.effects":"Effets","biome.effects.additions_sound":"Sons supplémentaires","biome.effects.additions_sound.sound":"Son","biome.effects.ambient_sound":"Son ambient","biome.effects.fog_color":"Couleur du brouillard","biome.effects.foliage_color":"Couleur du feuillage","biome.effects.grass_color":"Couleur de l'herbe","biome.effects.grass_color_modifier.dark_forest":"Forêt Noire","biome.effects.grass_color_modifier.none":"Aucun","biome.effects.grass_color_modifier.swamp":"Marais","biome.effects.mood_sound":"Son d'ambiance","biome.effects.mood_sound.offset":"Décalage","biome.effects.mood_sound.sound":"Son","biome.effects.mood_sound.tick_delay":"Retard de tick","biome.effects.music":"Musique","biome.effects.music.max_delay":"Délai maximal","biome.effects.music.min_delay":"Délai minimal","biome.effects.music.replace_current_music":"Remplacer la musique courante","biome.effects.music.sound":"Son","biome.effects.particle":"Particule","biome.effects.particle.options":"Options","biome.effects.particle.options.type":"Type de particule","biome.effects.particle.probability":"Probabilité","biome.effects.sky_color":"Couleur du ciel","biome.effects.water_color":"Couleur de l'eau","biome.effects.water_fog_color":"Couleur du brouillard de l'eau","biome.features":"Caractéristiques","biome.features.entry":"Etape %0%","biome.features.entry.entry":"Fonctionnalité","biome.player_spawn_friendly":"Apparition du joueur possible","biome.player_spawn_friendly.help":"Si vrai, le point d'apparition du monde sera de préférence dans ce biome.","biome.precipitation":"Précipitation","biome.precipitation.none":"Aucun","biome.precipitation.rain":"Pluie","biome.precipitation.snow":"Neige","biome.scale":"Échelle","biome.scale.help":"Étend verticalement le terrain. De petites valeurs produisent un terrain plat.","biome.spawn_costs":"Coûts d'apparition","biome.spawn_costs.charge":"Charge","biome.spawn_costs.energy_budget":"Budget énergétique","biome.spawners":"Générateurs","biome.spawners.ambient":"Ambiant","biome.spawners.creature":"Créature","biome.spawners.entry":"Apparition","biome.spawners.entry.maxCount":"Nombre maximal","biome.spawners.entry.minCount":"Nombre minimal","biome.spawners.entry.type":"Type","biome.spawners.entry.weight":"Poids","biome.spawners.misc":"Divers","biome.spawners.monster":"Monstre","biome.spawners.water_ambient":"Eau ambiante","biome.spawners.water_creature":"Créatures aquatiques","biome.starts":"Début de la structure","biome.starts.entry":"Structure","biome.starts.help":"Liste des caractéristiques des structures configurées.","biome.surface_builder":"Générateur de la surface","biome.temperature":"Température","biome.temperature_modifier":"Modificateur de la température","biome.temperature_modifier.frozen":"Congelé","biome.temperature_modifier.none":"Aucun","block.block":"ID du bloc","block.nbt":"Données NBT","block.state":"Etat du bloc","block.tag":"Tag de blocs","block_placer.column_placer.extra_size":"Taille supplémentaire","block_placer.column_placer.min_size":"Taille minimale","block_placer.type":"Type","block_state.Name":"Nom","block_state.Properties":"Propriétés","block_state_provider.rotated_block_provider.state":"État","block_state_provider.simple_state_provider.state":"État","block_state_provider.type":"Type","block_state_provider.weighted_state_provider.entries":"Entrées","block_state_provider.weighted_state_provider.entries.entry.data":"État","block_state_provider.weighted_state_provider.entries.entry.weight":"Poids","carver.config":"Configuration","carver.config.probability":"Probabilité","carver.type":"Type","children":"Enfants","children.entry":"Entrée","condition.alternative.terms":"Termes","condition.block_state_property.block":"Bloc","condition.block_state_property.properties":"Etat de bloc","condition.condition":"Condition","condition.damage_source":"Source de dégâts","condition.entity_properties.entity":"Entité","condition.entity_scores.entity":"Entité","condition.entity_scores.scores":"Scores","condition.entry":"Prédicat","condition.inverted.term":"Terme","condition.item":"Objet","condition.killed_by_player.inverse":"Inversé","condition.list":"Multiples","condition.location":"Position","condition.location_check.offsetX":"Décalage sur l'axe X","condition.location_check.offsetY":"Décalage sur l'axe Y","condition.location_check.offsetZ":"Décalage sur l'axe Z","condition.object":"Simple","condition.random_chance.chance":"Chance","condition.random_chance_with_looting.chance":"Chance","condition.random_chance_with_looting.looting_multiplier":"Multiplicateur butin","condition.reference.name":"Nom du prédicat","condition.table_bonus.chances":"Chances","condition.table_bonus.chances.entry":"Chance","condition.table_bonus.enchantment":"Enchantement","condition.time_check.period":"Période","condition.time_check.period.help":"Si présent, le temps sera le reste de la division entière du vrai temps par cette value (modulo). Par exemple, si spécifié à 24000, la valeur sera opérée sur une période de la journée.","condition.time_check.value":"Valeur","condition.weather_check.raining":"Pluie","condition.weather_check.thundering":"Foudre","conditions":"Conditions","conditions.entry":"Condition","conditions.list":"Conditions","conditions.object":"Legacy","copy_source.block_entity":"Entité de bloc","copy_source.direct_killer":"Tueur direct","copy_source.killer":"Tueur","copy_source.killer_player":"Joueur tueur","copy_source.this":"Cette entité","criterion.bee_nest_destroyed.block":"Bloc","criterion.bee_nest_destroyed.num_bees_inside":"Nombre d'abeilles à l'intérieur","criterion.bred_animals.child":"Enfant","criterion.bred_animals.parent":"Parent","criterion.bred_animals.partner":"Partenaire","criterion.brewed_potion.potion":"Potion","criterion.changed_dimension.from":"Source","criterion.changed_dimension.to":"Destination","criterion.channeled_lightning.victims":"Victimes","criterion.channeled_lightning.victims.entry":"Entité","criterion.conditions":"Conditions","criterion.construct_beacon.beacon_level":"Niveau de la pyramide","criterion.consume_item.item":"Objet","criterion.cured_zombie_villager.villager":"Villageois","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Effets","criterion.enchanted_item.item":"Objet","criterion.enchanted_item.levels":"Niveau d'expérience","criterion.enter_block.block":"Bloc","criterion.enter_block.state":"Etats","criterion.entity_hurt_player.damage":"Dégâts","criterion.entity_killed_player.entity":"Entité source","criterion.entity_killed_player.killing_blow":"Coup de grâce","criterion.filled_bucket.item":"Objet","criterion.fishing_rod_hooked.entity":"Entité tirée","criterion.fishing_rod_hooked.item":"Objet","criterion.hero_of_the_village.location":"Position","criterion.inventory_changed.items":"Objets","criterion.inventory_changed.items.entry":"Objet","criterion.inventory_changed.slots":"Cases","criterion.inventory_changed.slots.empty":"Cases vides","criterion.inventory_changed.slots.full":"Cases pleines","criterion.inventory_changed.slots.occupied":"Cases occupées","criterion.item_durability_changed.delta":"Différence","criterion.item_durability_changed.durability":"Durabilité","criterion.item_durability_changed.item":"Objet","criterion.item_used_on_block.item":"Objet","criterion.item_used_on_block.location":"Position","criterion.killed_by_crossbow.unique_entity_types":"Nombre de types d'entité d'uniques","criterion.killed_by_crossbow.victims":"Victimes","criterion.killed_by_crossbow.victims.entry":"Entité","criterion.levitation.distance":"Distance","criterion.levitation.duration":"Durée","criterion.location.location":"Position","criterion.nether_travel.distance":"Distance","criterion.nether_travel.entered":"Position entrée","criterion.nether_travel.exited":"Position quittée","criterion.placed_block.block":"Bloc","criterion.placed_block.item":"Objet","criterion.placed_block.location":"Position","criterion.placed_block.state":"Etats","criterion.player":"Joueur","criterion.player_generates_container_loot.loot_table":"Table de butins","criterion.player_hurt_entity.damage":"Dégâts","criterion.player_hurt_entity.entity":"Entité victime","criterion.player_killed_entity.entity":"Entité victime","criterion.player_killed_entity.killing_blow":"Coup de grâce","criterion.recipe_unlocked.recipe":"Recette","criterion.rod":"Canne à pêche","criterion.shot_crossbow.item":"Objet","criterion.slept_in_bed.location":"Position","criterion.slide_down_block.block":"Bloc","criterion.summoned_entity.entity":"Entité","criterion.tame_animal.entity":"Animal","criterion.target_hit.projectile":"Projectile","criterion.target_hit.shooter":"Tireur","criterion.target_hit.signal_strength":"Force du signal","criterion.thrown_item_picked_up_by_entity.entity":"Entité","criterion.thrown_item_picked_up_by_entity.item":"Objet","criterion.trigger":"Déclencheur","criterion.used_ender_eye.distance":"Distance","criterion.used_totem.item":"Totem","criterion.villager_trade.item":"Objet acheté","criterion.villager_trade.villager":"Villageois","criterion.voluntary_exile.location":"Position","damage.blocked":"Bloqué","damage.dealt":"Dégâts infligés","damage.source_entity":"Entité source","damage.taken":"Dégâts reçus","damage.type":"Type de dégâts","damage_source.bypasses_armor":"Traverse l'armure","damage_source.bypasses_invulnerability":"Vide","damage_source.bypasses_magic":"Famine","damage_source.direct_entity":"Entité directe","damage_source.is_explosion":"Explosion","damage_source.is_fire":"Feu","damage_source.is_lightning":"Foudre","damage_source.is_magic":"Magie","damage_source.is_projectile":"Projectile","damage_source.source_entity":"Entité source","decorator.carving_mask.step":"Étape de génération","decorator.config":"Configuration","decorator.count.count":"Taille de la pile","decorator.count_extra.count":"Taille de la pile","decorator.count_extra.extra_chance":"Chance supplémentaire","decorator.count_extra.extra_count":"Taille de la pile supplémentaire","decorator.count_multilayer.count":"Taille de la pile","dimension":"Dimension","dimension.generator":"Générateur","dimension.generator.biome_source":"Source de biomes","dimension.overworld":"Surface","dimension.the_end":"End","dimension.the_nether":"Nether","dimension.type":"Type de dimension","dimension.type.object":"Custom","dimension.type.string":"Préréglage","dimension_type.ambient_light":"Lumière ambiante","dimension_type.ambient_light.help":"Valeur entre 0 et 1","dimension_type.bed_works":"Lit fonctionnel","dimension_type.fixed_time":"Temps constant","dimension_type.fixed_time.help":"Définir cette valeur va fixer le soleil à une position constante","dimension_type.has_ceiling":"Plafond","dimension_type.has_raids":"A des raids","dimension_type.has_skylight":"Lumière du jour","dimension_type.infiniburn":"Infinibrûle","dimension_type.logical_height":"Hauteur logique","dimension_type.name":"Nom","dimension_type.natural":"Naturel","dimension_type.natural.help":"Si vrai, les portails font apparaître des piglins zombifiés. Si faux, les boussoles tournent sans cible.","dimension_type.piglin_safe":"Sûr pour les piglins","dimension_type.respawn_anchor_works":"Ancre de réapparition fonctionnelle","dimension_type.ultrawarm":"Ultra-chaud","dimension_type.ultrawarm.help":"Si vrai, l'eau s'évapore et les éponges se sèchent","distance.absolute":"Absolue","distance.horizontal":"Horizontale","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Affinité aquatique","enchantment.bane_of_arthropods":"Fléau des arthropodes","enchantment.binding_curse":"Malédiction du lien éternel","enchantment.blast_protection":"Protection contre les explosions","enchantment.channeling":"Canalisation","enchantment.depth_strider":"Agilité aquatique","enchantment.efficiency":"Efficacité","enchantment.enchantment":"Enchantement","enchantment.feather_falling":"Chute amortie","enchantment.fire_aspect":"Aura de feu","enchantment.fire_protection":"Protection contre le feu","enchantment.flame":"Flamme","enchantment.fortune":"Fortune","enchantment.frost_walker":"Semelles givrantes","enchantment.impaling":"Empalement","enchantment.infinity":"Infinité","enchantment.knockback":"Recul","enchantment.levels":"Niveaux","enchantment.looting":"Butin","enchantment.loyalty":"Loyauté","enchantment.luck_of_the_sea":"Chance de la mer","enchantment.lure":"Appât","enchantment.mending":"Raccommodage","enchantment.multishot":"Tir multiple","enchantment.piercing":"Perforation","enchantment.power":"Puissance","enchantment.projectile_protection":"Protection contre les projectiles","enchantment.protection":"Protection","enchantment.punch":"Frappe","enchantment.quick_charge":"Charge rapide","enchantment.respiration":"Apnée","enchantment.riptide":"Impulsion","enchantment.sharpness":"Tranchant","enchantment.silk_touch":"Toucher de soie","enchantment.smite":"Châtiment","enchantment.sweeping":"Affilage","enchantment.thorns":"Epines","enchantment.unbreaking":"Solidité","enchantment.vanishing_curse":"Malédiction de la disparition","entity.distance":"Distance","entity.effects":"Effets","entity.equipment":"Equipement","entity.fishing_hook":"Hameçon","entity.fishing_hook.in_open_water":"En eau libre","entity.flags":"Options","entity.isBaby":"Bébé","entity.isOnFire":"En feu","entity.isSneaking":"Accroupi","entity.isSprinting":"En course","entity.isSwimming":"En nage","entity.location":"Position","entity.nbt":"Données NBT","entity.player":"Joueur","entity.targeted_entity":"Entité ciblée","entity.team":"Equipe","entity.type":"Entité","entity.vehicle":"Véhicule","entity_source.killer":"Tueur","entity_source.killer_player":"Joueur tueur","entity_source.this":"Cette entité","entry":"Entrée","error":"Erreur","error.expected_boolean":"Booléen attendu","error.expected_integer":"Nombre entier attendu","error.expected_json":"JSON attendu","error.expected_list":"Tableau attendu","error.expected_number":"Nombre attendu","error.expected_object":"Objet attendu","error.expected_range":"Intervalle attendu","error.expected_string":"Chaîne de caractères attendue","error.expected_uniform_int":"Entier uniforme attendu","error.invalid_binomial":"L'intervalle ne peut pas utiliser le type binomial","error.invalid_empty_list":"Le tableau ne peut pas être vide","error.invalid_empty_string":"La chaîne de caractères ne peut pas être vide","error.invalid_enum_option":"Option \"%0%\" invalide","error.invalid_exact":"L'intervalle ne peut pas utiliser le type constante","error.invalid_number_range.between":"Nombre entre %0% et %1% attendu","error.invalid_pattern":"La chaîne de caractères n'est pas valide : %0%","error.recipe.invalid_key":"Un seul caractère est autorisé comme clé","false":"Faux","feature.object":"Custom","feature.simple_random_selector.features.entry":"Fonctionnalité","feature.string":"Référence","fluid.fluid":"ID du fluide","fluid.state":"Etat du fluide","fluid.tag":"Tag de fluides","function.apply_bonus.enchantment":"Enchantement","function.apply_bonus.formula":"Formule","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial avec taille de pile bonus","function.apply_bonus.formula.ore_drops":"Récompenses de minerais","function.apply_bonus.formula.uniform_bonus_count":"Compte bonus uniforme","function.apply_bonus.parameters":"Paramètres","function.apply_bonus.parameters.bonusMultiplier":"Multiplicateur","function.apply_bonus.parameters.extra":"Extra","function.apply_bonus.parameters.probability":"Probabilité","function.copy_name.source":"Source","function.copy_nbt.ops":"Opérations NBT","function.copy_nbt.ops.entry":"Opération","function.copy_nbt.source":"Source","function.copy_state.block":"Bloc","function.copy_state.properties":"Propriétés","function.copy_state.properties.entry":"Propriété","function.enchant_randomly.enchantments":"Enchantements facultatifs","function.enchant_randomly.enchantments.entry":"Enchantement","function.enchant_with_levels.levels":"Niveaux","function.enchant_with_levels.treasure":"Trésor","function.exploration_map.decoration":"Décoration","function.exploration_map.destination":"Destination","function.exploration_map.search_radius":"Rayon de recherche (tronçons)","function.exploration_map.skip_existing_chunks":"Omettre les tronçons existants","function.exploration_map.zoom":"Zoomer","function.fill_player_head.entity":"Entité","function.function":"Fonction","function.limit_count.limit":"Limite","function.looting_enchant.count":"Taille de la pile","function.looting_enchant.limit":"Limite","function.set_attributes.modifiers":"Modificateurs","function.set_attributes.modifiers.entry":"Modificateur","function.set_contents.entries":"Contenus","function.set_contents.entries.entry":"Entrée","function.set_count.count":"Compte","function.set_damage.damage":"Dégâts","function.set_data.data":"Données","function.set_loot_table.name":"Nom de la table de butin","function.set_loot_table.seed":"Graine","function.set_lore.entity":"Entité","function.set_lore.lore":"Description","function.set_lore.lore.entry":"Ligne","function.set_lore.replace":"Remplacer","function.set_name.entity":"Entité","function.set_name.name":"Nom","function.set_nbt.tag":"Données NBT","function.set_stew_effect.effects":"Effets","function.set_stew_effect.effects.entry":"Effet","function.set_stew_effect.effects.entry.duration":"Durée","function.set_stew_effect.effects.entry.type":"Effet","functions":"Fonctions","functions.entry":"Fonction","gamemode.adventure":"Aventure","gamemode.creative":"Créatif","gamemode.spectator":"Spectateur","gamemode.survival":"Survie","generator.biome_source.biome":"Biome","generator.biome_source.biomes":"Biomes","generator.biome_source.large_biomes":"Biomes larges","generator.biome_source.legacy_biome_init_layer":"Couche d'initialisation des biomes (legacy)","generator.biome_source.preset":"Préréglage des biomes","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Echelle","generator.biome_source.seed":"Graine des biomes","generator.biome_source.type":"Source de biomes","generator.seed":"Graine de la dimension","generator.settings":"Paramètres du générateur","generator.settings.biome":"Biome","generator.settings.lakes":"Lacs","generator.settings.layers":"Couches","generator.settings.layers.entry":"Couche","generator.settings.layers.entry.block":"ID du bloc","generator.settings.layers.entry.height":"Hauteur","generator.settings.object":"Custom","generator.settings.presets.amplified":"Amplifié","generator.settings.presets.caves":"Grottes","generator.settings.presets.end":"End","generator.settings.presets.floating_islands":"Iles volantes","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Surface","generator.settings.string":"Préréglage","generator.settings.structures":"Structures","generator.settings.structures.stronghold":"Forteresse","generator.settings.structures.stronghold.count":"Compte","generator.settings.structures.stronghold.distance":"Distance","generator.settings.structures.stronghold.spread":"Envergure","generator.settings.structures.structures":"Structures","generator.type":"Type de générateur","generator_biome.biome":"Biome","generator_biome.parameters":"Paramètres","generator_biome.parameters.altitude":"Altitude","generator_biome.parameters.help":"Ces paramètres déterminent le placement du biome. Chaque biome doit avoir une combinaison unique. Des biomes avec des valeurs presque similaires vont se générer côte à côte.","generator_biome.parameters.humidity":"Humidité","generator_biome.parameters.offset":"Décalage","generator_biome.parameters.temperature":"Température","generator_biome.parameters.weirdness":"Etrangeté","generator_structure.salt":"Sel","generator_structure.separation":"Séparation","generator_structure.spacing":"Espacement","hide_source":"Cacher la source","item.count":"Taille de la pile","item.durability":"Durabilité","item.enchantments":"Enchantements","item.enchantments.entry":"Enchantement","item.item":"ID de l'objet","item.nbt":"Données NBT","item.potion":"Potion","item.tag":"Tag d'objets","key.advancements":"Progrès","key.attack":"Attaquer/Détruire","key.back":"Reculer","key.chat":"Ouvrir le tchat","key.command":"Entrer une commande","key.drop":"Jeter l'objet sélectionné","key.forward":"Avancer","key.fullscreen":"Basculer en mode plein écran","key.hotbar.1":"1ère case de la barre d'action","key.hotbar.2":"2ème case de la barre d'action","key.hotbar.3":"3ème case de la barre d'action","key.hotbar.4":"4ème case de la barre d'action","key.hotbar.5":"5ème case de la barre d'action","key.hotbar.6":"6ème case de la barre d'action","key.hotbar.7":"7ème case de la barre d'action","key.hotbar.8":"8ème case de la barre d'action","key.hotbar.9":"9ème case de la barre d'action","key.inventory":"Ouvrir/fermer l'inventaire","key.jump":"Sauter","key.left":"Aller à gauche","key.loadToolbarActivator":"Charger une barre d'action","key.pickItem":"Choisir le bloc","key.playerlist":"Afficher la liste des joueurs","key.right":"Aller à droite","key.saveToolbarActivator":"Sauvegarder la barre d'action","key.screenshot":"Prendre une capture d'écran","key.smoothCamera":"Basculer en mode cinématique","key.sneak":"S'accroupir","key.spectatorOutlines":"Mettre en évidence les joueurs","key.sprint":"Courir","key.swapOffhand":"Échanger l'item avec la main secondaire","key.togglePerspective":"Changer de point de vue","key.use":"Utiliser un objet/Placer un bloc","location.biome":"Biome","location.block":"Bloc","location.dimension":"Dimension","location.feature":"Fonctionnalité","location.fluid":"Fluide","location.light":"Lumière","location.light.light":"Niveau de lumière visible","location.position":"Position","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Fumant","loot_condition_type.alternative":"Alternatif (OU)","loot_condition_type.block_state_property":"Propriétés du bloc","loot_condition_type.damage_source_properties":"Source de dégâts","loot_condition_type.entity_properties":"Propriétés de l'entité","loot_condition_type.entity_scores":"Scores de l'entité","loot_condition_type.inverted":"Inversé (NON)","loot_condition_type.killed_by_player":"Tué par un joueur","loot_condition_type.location_check":"Position","loot_condition_type.match_tool":"Propriétés de l'outil","loot_condition_type.random_chance":"Probabilité aléatoire","loot_condition_type.random_chance_with_looting":"Probabilité aléatoire avec butin","loot_condition_type.reference":"Référence","loot_condition_type.survives_explosion":"Survit l'explosion","loot_condition_type.table_bonus":"Bonus d'enchantement","loot_condition_type.time_check":"Temps","loot_condition_type.weather_check":"Météo","loot_entry.dynamic.name":"Nom","loot_entry.item.name":"Nom","loot_entry.loot_table.name":"Nom de la table de butin","loot_entry.quality":"Qualité","loot_entry.tag.expand":"Etendre","loot_entry.tag.expand.help":"Si faux, l'entrée retournera tous les contenus du tag, sinon l'entrée se comportera comme plusieurs entrées objet","loot_entry.tag.name":"Nom du tag d'objets","loot_entry.type":"Type","loot_entry.weight":"Poids","loot_function_type.apply_bonus":"Appliquer un bonus","loot_function_type.copy_name":"Copier le nom","loot_function_type.copy_nbt":"Copier les données NBT","loot_function_type.copy_state":"Copier les états du bloc","loot_function_type.enchant_randomly":"Enchanter aléatoirement","loot_function_type.enchant_with_levels":"Enchanter avec des niveaux","loot_function_type.exploration_map":"Propriétés de la carte d'exploration","loot_function_type.explosion_decay":"Destruction par explosion","loot_function_type.fill_player_head":"Compléter la tête du joueur","loot_function_type.furnace_smelt":"Fondre dans un four","loot_function_type.limit_count":"Limiter la taille de la pile","loot_function_type.looting_enchant":"Appliquer l'enchantement butin","loot_function_type.set_attributes":"Définir les attributs","loot_function_type.set_contents":"Définir les contenus","loot_function_type.set_count":"Définir la taille de la pile","loot_function_type.set_damage":"Définir les dégâts","loot_function_type.set_data":"Set Data","loot_function_type.set_loot_table":"Définir la table de butin","loot_function_type.set_lore":"Définir la description","loot_function_type.set_name":"Définir nom","loot_function_type.set_nbt":"Définir les données NBT","loot_function_type.set_stew_effect":"Définir l'effet du ragoût","loot_pool.bonus_rolls":"Tirages bonus","loot_pool.entries":"Entrées","loot_pool.entries.entry":"Entrée","loot_pool.rolls":"Tirages","loot_pool.rolls.help":"Le nombre d'entrées tirées au sort","loot_pool_entry_type.alternatives":"Alternatives","loot_pool_entry_type.alternatives.help":"Teste des conditions des entrées enfant et exécute la première qui peut être exécutée","loot_pool_entry_type.dynamic":"Dynamique","loot_pool_entry_type.dynamic.help":"Retourne des récompenses spécifiques au bloc","loot_pool_entry_type.empty":"Vide","loot_pool_entry_type.empty.help":"Ne rajoute rien à la poule","loot_pool_entry_type.group":"Groupe","loot_pool_entry_type.group.help":"Exécute toutes les entrées enfant quand les conditions de cette entrée sont vérifiées","loot_pool_entry_type.item":"Objet","loot_pool_entry_type.item.help":"Ajoute un objet","loot_pool_entry_type.loot_table":"Table de butin","loot_pool_entry_type.loot_table.help":"Ajoute les contenus d'une autre table de butin","loot_pool_entry_type.sequence":"Suite","loot_pool_entry_type.sequence.help":"Exécute les entrées enfant jursqu'à la première dont les conditions ne sont pas vérifiées","loot_pool_entry_type.tag":"Tag d'objets","loot_table.pools":"Poules","loot_table.pools.entry":"Poule","luck_based":"Basé sur la chance","nbt_operation.op":"Opération","nbt_operation.op.append":"Rajouter","nbt_operation.op.merge":"Fusionner","nbt_operation.op.replace":"Remplacer","nbt_operation.source":"Source","nbt_operation.target":"Cible","noise_settings.bedrock_floor_position":"Hauteur du plancher en bedrock","noise_settings.bedrock_floor_position.help":"Position du plancher de bedrock. Des valeurs plus élevées déplacent le plafond vers le haut.","noise_settings.bedrock_roof_position":"Hauteur du plafond en bedrock","noise_settings.bedrock_roof_position.help":"Position du plafond de bedrock par rapport à la hauteur du monde. Des valeurs plus élevées déplacent le plafond vers le bas.","noise_settings.default_block":"Bloc par défaut","noise_settings.default_fluid":"Fluide par défaut","noise_settings.disable_mob_generation":"Désactiver la génération des créatures","noise_settings.disable_mob_generation.help":"Si vrai, les créatures n'apparaîtront pas pendant la génération","noise_settings.noise":"Paramètres du bruit","noise_settings.noise.amplified":"Amplifié","noise_settings.noise.bottom_slide":"Glissement en bas","noise_settings.noise.bottom_slide.offset":"Décalage","noise_settings.noise.bottom_slide.size":"Taille","noise_settings.noise.bottom_slide.target":"Cible","noise_settings.noise.density_factor":"Facteur de densité","noise_settings.noise.density_offset":"Décalage de densité","noise_settings.noise.height":"Hauteur","noise_settings.noise.island_noise_override":"Génération d'une île centrale","noise_settings.noise.island_noise_override.help":"Si vrai, le terrain se génère comme dans l'End avec une île plus large au centre et plus d'îles plus loin","noise_settings.noise.random_density_offset":"Décalage aléatoire de densité","noise_settings.noise.sampling":"Echantillonage","noise_settings.noise.sampling.xz_factor":"Facteur horizontal","noise_settings.noise.sampling.xz_scale":"Echelle horizontale","noise_settings.noise.sampling.y_factor":"Facteur vertical","noise_settings.noise.sampling.y_scale":"Echelle verticale","noise_settings.noise.simplex_surface_noise":"Bruit simplex à la surface","noise_settings.noise.size_horizontal":"Taille horizontale","noise_settings.noise.size_vertical":"Taille verticale","noise_settings.noise.top_slide":"Glissement en haut","noise_settings.noise.top_slide.offset":"Décalage","noise_settings.noise.top_slide.size":"Taille","noise_settings.noise.top_slide.target":"Cible","noise_settings.sea_level":"Niveau de la mer","player.advancements":"Progrès","player.advancements.entry":"Progrès","player.gamemode":"Mode de jeu","player.level":"Niveau d'expérience","player.recipes":"Recettes","player.stats":"Statistiques","player.stats.entry":"Statistique","processors.object":"Custom","processors.string":"Référence","range.binomial":"Binomial","range.max":"Max","range.min":"Min","range.n":"n","range.number":"Exact","range.object":"Intervalle","range.p":"p","range.uniform":"Uniforme","requirements":"Conditions requises","slot.chest":"Torse","slot.feet":"Pieds","slot.head":"Tête","slot.legs":"Jambes","slot.mainhand":"Main principale","slot.offhand":"Seconde main","statistic.stat":"Statistique","statistic.type":"Type","statistic.type.broken":"Cassé","statistic.type.crafted":"Crafté","statistic.type.custom":"Custom","statistic.type.dropped":"Jeté","statistic.type.killed":"Tué","statistic.type.killedByTeam":"Tué par l'équipe","statistic.type.killed_by":"Tué par","statistic.type.mined":"Miné","statistic.type.picked_up":"Ramassé","statistic.type.teamkill":"Tué dans l'équipe","statistic.type.used":"Utilisé","statistic.value":"Valeur","status_effect.ambient":"Ambiant","status_effect.amplifier":"Amplificateur","status_effect.duration":"Durée","status_effect.visible":"Visible","table.type":"Type","table.type.block":"Bloc","table.type.chest":"Coffre","table.type.empty":"Vide","table.type.entity":"Entité","table.type.fishing":"Pêche","table.type.generic":"Générique","tag.replace":"Remplacer","tag.values":"Valeurs","text_component":"Composant de texte","text_component.boolean":"Booléen","text_component.list":"Tableau","text_component.number":"Nombre","text_component.object":"Objet","text_component.string":"Chaîne de caractères","text_component_object.block":"Bloc","text_component_object.bold":"Gras","text_component_object.clickEvent":"Événement de clic","text_component_object.clickEvent.action":"Action","text_component_object.clickEvent.action.change_page":"Changer de page","text_component_object.clickEvent.action.copy_to_clipboard":"Copier dans le presse-papiers","text_component_object.clickEvent.action.open_file":"Ouvrir un fichier","text_component_object.clickEvent.action.open_url":"Ouvrir une URL","text_component_object.clickEvent.action.run_command":"Exécuter une commande","text_component_object.clickEvent.action.suggest_command":"Suggérer une commande","text_component_object.clickEvent.value":"Valeur","text_component_object.color":"Couleur","text_component_object.entity":"Entité","text_component_object.extra":"Extra","text_component_object.font":"Police","text_component_object.hoverEvent":"Événement de survol","text_component_object.hoverEvent.action":"Action","text_component_object.hoverEvent.action.show_entity":"Afficher une entité","text_component_object.hoverEvent.action.show_item":"Afficher un objet","text_component_object.hoverEvent.action.show_text":"Afficher du texte","text_component_object.hoverEvent.contents":"Contenus","text_component_object.hoverEvent.value":"Valeur","text_component_object.insertion":"Insertion","text_component_object.interpret":"Interpréter","text_component_object.italic":"Italique","text_component_object.keybind":"Combinaison de touche","text_component_object.nbt":"Données NBT","text_component_object.obfuscated":"Obfusqué","text_component_object.score":"Score","text_component_object.score.name":"Nom","text_component_object.score.objective":"Objectif","text_component_object.score.value":"Valeur","text_component_object.selector":"Sélecteur","text_component_object.storage":"Stockage","text_component_object.strikethrough":"Barré","text_component_object.text":"Texte brut","text_component_object.translate":"Texte traduisible","text_component_object.underlined":"Sous-titré","text_component_object.with":"Traduire avec","true":"Vrai","uniform_int.base":"Base","uniform_int.number":"Exact","uniform_int.object":"Uniforme","uniform_int.spread":"Envergure","unset":"Indéfini","world.bonus_chest":"Générer un coffre bonus","world.generate_features":"Générer des fonctionnalités","world.seed":"Graine","world_settings.dimensions":"Dimensions","worldgen.warning":"Cette fonctionnalité est hautement expérimentale et instable. Elle peut changer dans des versions futures. Attends-toi à des crash quand tu crées des mondes.","worldgen/biome_source.checkerboard":"Échiquier","worldgen/biome_source.fixed":"Fixe","worldgen/biome_source.multi_noise":"Multi bruit","worldgen/biome_source.the_end":"End","worldgen/biome_source.vanilla_layered":"Vanilla par couches","worldgen/chunk_generator.debug":"Monde de débogage","worldgen/chunk_generator.flat":"Monde plat","worldgen/chunk_generator.noise":"Par défaut","advancement":"Progrès","copy":"Copie","dimension-type":"Type de dimension","download":"Télécharger","language":"Langage","loot-table":"Table de butin","predicate":"Prédicat","reset":"Réinitialiser","share":"Partager","title.generator":"Générateur de %0%","title.home":"Générateur de data-pack","preview":"Visualiser","world":"Paramètres du monde","worldgen/biome":"Biome","worldgen/carver":"Sculpteur","worldgen/feature":"Caractéristiques","worldgen/noise-settings":"Paramètres de forme du terrain","worldgen/processor-list":"Liste de processeurs","worldgen/structure-feature":"Fonctionnalités de structures","worldgen/surface-builder":"Générateur de la surface","worldgen/template-pool":"Pool modèle"} \ No newline at end of file diff --git a/locales/it.json b/locales/it.json deleted file mode 100644 index c61a8407..00000000 --- a/locales/it.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement":"Avanzamento","copy":"Copia","dimension":"Dimensione","dimension-type":"Tipo di Dimensione","download":"Scarica","fields":"Campi","item-modifier":"Modificatore d'Oggetti","language":"Lingua","loot-table":"Tavola del Bottino","predicate":"Predica","redo":"Rifai"} \ No newline at end of file diff --git a/locales/ja.json b/locales/ja.json deleted file mode 100644 index 8e049ca9..00000000 --- a/locales/ja.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"条件","advancement.display":"表示","advancement.display.announce_to_chat":"達成した際チャットに表示する","advancement.display.background":"背景","advancement.display.description":"説明","advancement.display.frame":"枠","advancement.display.frame.challenge":"挑戦","advancement.display.frame.goal":"目標","advancement.display.frame.task":"進捗","advancement.display.help":"Displayオブジェクトが存在する場合、この進捗が進捗タブに表示されます。","advancement.display.hidden":"達成するまで非表示にする","advancement.display.icon":"アイコン","advancement.display.icon.item":"アイコンのアイテム","advancement.display.icon.nbt":"アイコンのNBT","advancement.display.show_toast":"達成した際トーストを表示する","advancement.display.title":"タイトル","advancement.parent":"親となる進捗","advancement.rewards":"報酬","advancement.rewards.experience":"経験値","advancement.rewards.function":"関数","advancement.rewards.loot":"ルートテーブル","advancement.rewards.recipes":"レシピ","advancement_trigger.bee_nest_destroyed":"ミツバチの巣を破壊したとき","advancement_trigger.bred_animals":"動物を繁殖させたとき","advancement_trigger.brewed_potion":"醸造台からポーションを取り出したとき","advancement_trigger.changed_dimension":"ディメンションを移動したとき","advancement_trigger.channeled_lightning":"エンティティに召雷を当てた時","advancement_trigger.construct_beacon":"ビーコンの構築をしたとき","advancement_trigger.consume_item":"アイテムを消費したとき","advancement_trigger.cured_zombie_villager":"村人ゾンビを治療したとき","advancement_trigger.effects_changed":"効果を付与もしくは除去されたとき","advancement_trigger.enchanted_item":"アイテムをエンチャントしたとき","advancement_trigger.enter_block":"ブロックに立ったとき","advancement_trigger.entity_hurt_player":"エンティティからダメージを受けたとき","advancement_trigger.entity_killed_player":"エンティティに倒されたとき","advancement_trigger.filled_bucket":"バケツを満たしたとき","advancement_trigger.fishing_rod_hooked":"釣り竿でアイテムを取る/エンティティを引っ張ったとき","advancement_trigger.hero_of_the_village":"襲撃から村を守ったとき","advancement_trigger.impossible":"不可能","advancement_trigger.inventory_changed":"インベントリを変更したとき","advancement_trigger.item_durability_changed":"アイテムの耐久値が更新されたとき","advancement_trigger.item_used_on_block":"ブロックに対してアイテムを使用したとき","advancement_trigger.killed_by_crossbow":"クロスボウで倒したとき","advancement_trigger.levitation":"浮遊したとき","advancement_trigger.location":"位置","advancement_trigger.nether_travel":"ネザーに行って帰ってきたとき","advancement_trigger.placed_block":"ブロックを設置したとき","advancement_trigger.player_generates_container_loot":"ルートテーブルが設定されたコンテナの中身を生成したとき","advancement_trigger.player_hurt_entity":"エンティティにダメージを与えたとき","advancement_trigger.player_killed_entity":"エンティティを倒したとき","advancement_trigger.recipe_unlocked":"レシピを解禁したとき","advancement_trigger.safely_harvest_honey":"蜂蜜を安全に収穫したとき","advancement_trigger.shot_crossbow":"クロスボウを撃ったとき","advancement_trigger.slept_in_bed":"ベッドで寝たとき","advancement_trigger.slide_down_block":"ブロックを滑り落ちたとき","advancement_trigger.summoned_entity":"エンティティを召喚したとき","advancement_trigger.tame_animal":"動物を飼いならしたとき","advancement_trigger.target_hit":"的に当てたとき","advancement_trigger.thrown_item_picked_up_by_entity":"投げたアイテムをエンティティが拾ったとき","advancement_trigger.tick":"ティック","advancement_trigger.used_ender_eye":"エンダーアイを使用したとき","advancement_trigger.used_totem":"トーテムを使用したとき","advancement_trigger.villager_trade":"村人と取引したとき","advancement_trigger.voluntary_exile":"襲撃が始まったとき","attribute.generic_armor":"防具","attribute.generic_armor_toughness":"防具強度","attribute.generic_attack_damage":"攻撃力","attribute.generic_attack_knockback":"ノックバック","attribute.generic_attack_speed":"攻撃速度","attribute.generic_flying_speed":"飛行速度","attribute.generic_follow_range":"Mob の追跡範囲","attribute.generic_knockback_resistance":"ノックバック耐性","attribute.generic_luck":"幸運","attribute.generic_max_health":"最大体力","attribute.generic_movement_speed":"移動速度","attribute.horse.jump_strength":"ウマの跳躍力","attribute.zombie.spawn_reinforcements":"ゾンビの増援","attribute_modifier.amount":"補正値","attribute_modifier.attribute":"属性","attribute_modifier.name":"名前","attribute_modifier.operation":"計算方式","attribute_modifier.operation.addition":"加算","attribute_modifier.operation.multiply_base":"基礎乗算","attribute_modifier.operation.multiply_total":"乗算","attribute_modifier.slot":"スロット","attribute_modifier.slot.list":"複数","attribute_modifier.slot.string":"単体","badge.experimental":"実験段階","badge.unstable":"不安定","biome.carvers":"地形彫刻","biome.carvers.air":"空気","biome.carvers.liquid":"液体","biome.category":"カテゴリ","biome.creature_spawn_probability":"Mobの出現確率","biome.depth":"深度","biome.depth.help":"地形の高さを調整します。正の値は陸地とみなされ、負の値は海とみなされます。","biome.downfall":"Downfall (草/葉の色,火の延焼の速度等に影響を与えます)","biome.effects":"環境効果","biome.effects.additions_sound":"追加の音","biome.effects.additions_sound.sound":"音","biome.effects.ambient_sound":"環境音","biome.effects.fog_color":"霧の色","biome.effects.foliage_color":"葉の色","biome.effects.grass_color":"草の色","biome.effects.grass_color_modifier":"草の色の補正","biome.effects.grass_color_modifier.dark_forest":"暗い森","biome.effects.grass_color_modifier.none":"無し","biome.effects.grass_color_modifier.swamp":"湿地帯","biome.effects.mood_sound":"雰囲気の音","biome.effects.mood_sound.offset":"オフセット","biome.effects.mood_sound.sound":"音","biome.effects.mood_sound.tick_delay":"ティック遅延","biome.effects.music":"音楽","biome.effects.music.max_delay":"最大遅延","biome.effects.music.min_delay":"最小遅延","biome.effects.music.replace_current_music":"現在の音楽を上書きする","biome.effects.music.sound":"音","biome.effects.particle":"パーティクル","biome.effects.particle.options":"オプション","biome.effects.particle.options.type":"パーティクルのタイプ","biome.effects.particle.probability":"確率","biome.effects.sky_color":"空の色","biome.effects.water_color":"水の色","biome.effects.water_fog_color":"水中の霧の色","biome.features":"生成物","biome.features.entry":"ステップ","biome.features.entry.entry":"特徴","biome.player_spawn_friendly":"バイオームにスポーン出来るか否か","biome.player_spawn_friendly.help":"trueの場合、このバイオームではワールドスポーンが優先されます","biome.precipitation":"雨の種類","biome.precipitation.none":"無し","biome.precipitation.rain":"雨","biome.precipitation.snow":"雪","biome.scale":"スケール","biome.scale.help":"垂直方向に地形を伸ばします。値が低いほど平坦な地形になります。","biome.spawners":"スポナー","biome.spawners.entry":"スポーン","biome.spawners.entry.maxCount":"最大数","biome.spawners.entry.minCount":"最小数","biome.spawners.entry.type":"種類","biome.spawners.entry.weight":"抽選確率","biome.starts":"ストラクチャー","biome.starts.entry":"ストラクチャー","biome.starts.help":"構成された生成物のストラクチャーのリスト","biome.surface_builder":"地表生成","biome.temperature":"気温","biome.temperature_modifier":"気温補正","biome.temperature_modifier.frozen":"凍結","biome.temperature_modifier.none":"無し","block.block":"ブロックID","block.nbt":"NBT","block.state":"Block State","block.tag":"ブロックタグ","block_placer.column_placer.extra_size":"エクストラサイズ","block_placer.column_placer.min_size":"最小サイズ","block_placer.type":"種類","block_state.Name":"名前","block_state.Properties":"プロパティ","block_state_provider.rotated_block_provider.state":"状態","block_state_provider.simple_state_provider.state":"状態","block_state_provider.type":"種類","block_state_provider.weighted_state_provider.entries":"項目","block_state_provider.weighted_state_provider.entries.entry.data":"状態","block_state_provider.weighted_state_provider.entries.entry.weight":"抽選確率","carver.config":"設定","carver.config.probability":"確率","carver.type":"種類","children":"子","children.entry":"項目","condition.alternative.terms":"条件","condition.block_state_property.block":"ブロック","condition.block_state_property.properties":"Block State","condition.condition":"条件","condition.damage_source":"ダメージの要因","condition.entity_properties.entity":"エンティティ","condition.entity_scores.entity":"エンティティ","condition.entity_scores.scores":"スコア","condition.entry":"条件","condition.inverted.term":"条件","condition.item":"アイテム","condition.killed_by_player.inverse":"反転","condition.list":"複数","condition.location":"位置","condition.location_check.offsetX":"X 補正","condition.location_check.offsetY":"Y 補正","condition.location_check.offsetZ":"Z 補正","condition.object":"単一","condition.random_chance.chance":"確率","condition.random_chance_with_looting.chance":"確率","condition.random_chance_with_looting.looting_multiplier":"ドロップ増加倍率","condition.reference.name":"条件名","condition.table_bonus.chances":"確率","condition.table_bonus.chances.entry":"確率","condition.table_bonus.enchantment":"エンチャント","condition.time_check.period":"期間","condition.time_check.period.help":"存在する場合、時間はこの値で剰余算されます。 たとえば、24000に設定されている場合、値は日数の期間で変化します。","condition.time_check.value":"値","condition.weather_check.raining":"降雨","condition.weather_check.thundering":"雷雨","conditions":"条件","conditions.entry":"条件","conditions.list":"条件","conditions.object":"旧版","copy_source.block_entity":"ブロックエンティティ","copy_source.direct_killer":"直接的な要因のエンティティ","copy_source.killer":"殺したエンティティ","copy_source.killer_player":"殺したプレイヤー","copy_source.this":"自身","criterion.bee_nest_destroyed.block":"ブロック","criterion.bee_nest_destroyed.num_bees_inside":"ミツバチの巣に居たミツバチの数","criterion.bred_animals.child":"子","criterion.bred_animals.parent":"親","criterion.bred_animals.partner":"パートナー","criterion.brewed_potion.potion":"ポーション","criterion.changed_dimension.from":"移動元","criterion.changed_dimension.to":"移動先","criterion.channeled_lightning.victims":"犠牲者","criterion.channeled_lightning.victims.entry":"エンティティ","criterion.conditions":"条件","criterion.construct_beacon.beacon_level":"ビーコンのレベル","criterion.consume_item.item":"アイテム","criterion.cured_zombie_villager.villager":"村人","criterion.cured_zombie_villager.zombie":"ゾンビ","criterion.effects_changed.effects":"効果","criterion.enchanted_item.item":"アイテム","criterion.enchanted_item.levels":"経験値レベル","criterion.enter_block.block":"ブロック","criterion.enter_block.state":"ブロックの状態","criterion.entity_hurt_player.damage":"ダメージ","criterion.entity_killed_player.entity":"死亡する要因となったエンティティ","criterion.entity_killed_player.killing_blow":"最後の一撃","criterion.filled_bucket.item":"アイテム","criterion.fishing_rod_hooked.entity":"引っ張られたエンティティ","criterion.fishing_rod_hooked.item":"アイテム","criterion.hero_of_the_village.location":"位置","criterion.inventory_changed.items":"アイテム","criterion.inventory_changed.items.entry":"アイテム","criterion.inventory_changed.slots":"スロット","criterion.inventory_changed.slots.empty":"空のスロットの数","criterion.inventory_changed.slots.full":"完全にスタックされたスロットの数","criterion.inventory_changed.slots.occupied":"占有されているスロットの数","criterion.item_durability_changed.delta":"差","criterion.item_durability_changed.durability":"耐久値","criterion.item_durability_changed.item":"アイテム","criterion.item_used_on_block.item":"アイテム","criterion.item_used_on_block.location":"位置","criterion.killed_by_crossbow.unique_entity_types":"エンティティ種の数","criterion.killed_by_crossbow.victims":"犠牲者","criterion.killed_by_crossbow.victims.entry":"エンティティ","criterion.levitation.distance":"距離","criterion.levitation.duration":"持続時間","criterion.location.location":"位置","criterion.nether_travel.distance":"距離","criterion.nether_travel.entered":"入った位置","criterion.nether_travel.exited":"出た位置","criterion.placed_block.block":"ブロック","criterion.placed_block.item":"アイテム","criterion.placed_block.location":"位置","criterion.placed_block.state":"ブロックの状態","criterion.player":"プレイヤー","criterion.player_generates_container_loot.loot_table":"ルートテーブル","criterion.player_hurt_entity.damage":"ダメージ","criterion.player_hurt_entity.entity":"ダメージを受けたエンティティ","criterion.player_killed_entity.entity":"ダメージを受けたエンティティ","criterion.player_killed_entity.killing_blow":"最後の一撃","criterion.recipe_unlocked.recipe":"レシピ","criterion.rod":"釣り竿","criterion.shot_crossbow.item":"アイテム","criterion.slept_in_bed.location":"位置","criterion.slide_down_block.block":"ブロック","criterion.summoned_entity.entity":"エンティティ","criterion.tame_animal.entity":"動物","criterion.target_hit.projectile":"飛び道具","criterion.target_hit.shooter":"射手","criterion.target_hit.signal_strength":"信号の強度","criterion.thrown_item_picked_up_by_entity.entity":"エンティティ","criterion.thrown_item_picked_up_by_entity.item":"アイテム","criterion.trigger":"トリガー","criterion.used_ender_eye.distance":"距離","criterion.used_totem.item":"トーテムアイテム","criterion.villager_trade.item":"購入したアイテム","criterion.villager_trade.villager":"村人","criterion.voluntary_exile.location":"位置","damage.blocked":"防御","damage.dealt":"与ダメージ","damage.source_entity":"要因のエンティティ","damage.taken":"非ダメージ","damage.type":"ダメージの種類","damage_source.bypasses_armor":"防御貫通","damage_source.bypasses_invulnerability":"奈落","damage_source.bypasses_magic":"空腹","damage_source.direct_entity":"直接的な要因のエンティティ","damage_source.is_explosion":"爆発","damage_source.is_fire":"炎上","damage_source.is_lightning":"雷","damage_source.is_magic":"魔法","damage_source.is_projectile":"飛び道具","damage_source.source_entity":"要因のエンティティ","decorator.carving_mask.step":"生成ステップ","decorator.config":"設定","decorator.count.count":"数量","decorator.count_extra.count":"数量","decorator.count_extra.extra_chance":"数量が追加される確率","decorator.count_extra.extra_count":"追加数量","decorator.count_multilayer.count":"数量","decorator.count_noise.above_noise":"閾値以上のノイズ","decorator.count_noise.below_noise":"閾値未満のノイズ","decorator.count_noise.noise_level":"ノイズレベル","decorator.count_noise_biased.noise_factor":"ノイズ係数","decorator.count_noise_biased.noise_offset":"ノイズオフセット","decorator.count_noise_biased.noise_to_count_ratio":"ノイズ対数量比","decorator.decorated.inner":"内側","decorator.decorated.outer":"外側","decorator.depth_average.baseline":"基準線","decorator.depth_average.spread":"拡散","decorator.glowstone.count":"個数","decorator.type":"種類","dimension":"ディメンション (Dimension)","dimension.generator":"ジェネレーター","dimension.generator.biome_source":"バイオームの生成法則","dimension.overworld":"オーバーワールド","dimension.the_end":"ジ・エンド","dimension.the_nether":"ネザー","dimension.type":"ディメンションタイプ","dimension.type.object":"カスタム","dimension.type.string":"プリセット","dimension_type.ambient_light":"環境光レベル","dimension_type.ambient_light.help":"0 ~ 1の範囲の値","dimension_type.bed_works":"ベッドが使用機能か否か","dimension_type.coordinate_scale":"座標のスケール","dimension_type.effects":"環境効果","dimension_type.effects.overworld":"オーバーワールド","dimension_type.effects.the_end":"ジ・エンド","dimension_type.effects.the_nether":"ネザー","dimension_type.fixed_time":"時間の固定","dimension_type.fixed_time.help":"この値を設定すると、太陽の位置が固定されます。","dimension_type.has_ceiling":"天井","dimension_type.has_raids":"襲撃","dimension_type.has_skylight":"天井光","dimension_type.infiniburn":"無限に燃焼するブロック","dimension_type.logical_height":"Logical Height","dimension_type.name":"名前","dimension_type.natural":"自然","dimension_type.natural.help":"trueの場合、ポータルはゾンビピグリンを生成します。 falseの場合、コンパスと時計がランダムに回転します。","dimension_type.piglin_safe":"ピグリンがゾンビ化するか否か","dimension_type.respawn_anchor_works":"リスポーンアンカーが使用可能か否か","dimension_type.ultrawarm":"灼熱","dimension_type.ultrawarm.help":"trueの場合、水が蒸発しスポンジが乾燥します。","distance.absolute":"絶対距離","distance.horizontal":"水平距離","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"水中採掘","enchantment.bane_of_arthropods":"虫特効","enchantment.binding_curse":"束縛の呪い","enchantment.blast_protection":"爆発耐性","enchantment.channeling":"召雷","enchantment.depth_strider":"水中歩行","enchantment.efficiency":"効率強化","enchantment.enchantment":"エンチャント","enchantment.feather_falling":"落下耐性","enchantment.fire_aspect":"火属性","enchantment.fire_protection":"火炎耐性","enchantment.flame":"フレイム","enchantment.fortune":"幸運","enchantment.frost_walker":"氷渡り","enchantment.impaling":"水生特効","enchantment.infinity":"無限","enchantment.knockback":"ノックバック","enchantment.levels":"レベル","enchantment.looting":"ドロップ増加","enchantment.loyalty":"忠誠","enchantment.luck_of_the_sea":"宝釣り","enchantment.lure":"入れ食い","enchantment.mending":"修繕","enchantment.multishot":"拡散","enchantment.piercing":"貫通","enchantment.power":"射撃ダメージ増加","enchantment.projectile_protection":"飛び道具耐性","enchantment.protection":"ダメージ軽減","enchantment.punch":"パンチ","enchantment.quick_charge":"高速装填","enchantment.respiration":"水中呼吸","enchantment.riptide":"激流","enchantment.sharpness":"ダメージ増加","enchantment.silk_touch":"シルクタッチ","enchantment.smite":"アンデッド特効","enchantment.sweeping":"範囲ダメージ増加","enchantment.thorns":"棘の鎧","enchantment.unbreaking":"耐久力","enchantment.vanishing_curse":"消滅の呪い","entity.distance":"距離","entity.effects":"効果","entity.equipment":"装備","entity.fishing_hook":"浮き","entity.fishing_hook.in_open_water":"開けた水か否か","entity.flags":"フラグ","entity.isBaby":"子供","entity.isOnFire":"炎上","entity.isSneaking":"スニーク","entity.isSprinting":"ダッシュ","entity.isSwimming":"水泳","entity.location":"位置","entity.nbt":"NBT","entity.player":"プレイヤー","entity.targeted_entity":"狙われているエンティティ","entity.team":"チーム","entity.type":"エンティティ","entity.vehicle":"乗り物","entity_source.direct_killer":"直接的な要因のエンティティ","entity_source.killer":"殺したエンティティ","entity_source.killer_player":"殺したプレイヤー","entity_source.this":"自身","entry":"項目","error":"エラー","error.expected_boolean":"boolean型が必要です","error.expected_integer":"int型が必要です","error.expected_json":"JSONが必要です","error.expected_list":"配列が必要です","error.expected_number":"数値が必要です","error.expected_object":"オブジェクトが必要です","error.expected_range":"範囲が必要です","error.expected_string":"文字列が必要です","error.expected_uniform_int":"均一な整数が必要です","error.invalid_binomial":"範囲は二項分布型を使用できません","error.invalid_empty_list":"配列は空にできません","error.invalid_empty_string":"文字列を空には出来ません","error.invalid_enum_option":"\"%0%\"は無効なオプションです","error.invalid_exact":"範囲は定数型を使用できません","error.invalid_number_range.between":"%0% ~ %1%の範囲の数値が必要です","error.invalid_pattern":"%0%は有効な文字列ではありません","error.recipe.invalid_key":"キーとして使用できるのは1文字のみです","false":"False","feature.bamboo.probability":"確率","feature.basalt_columns.height":"高度","feature.basalt_columns.reach":"リーチ","feature.block_pile.state_provider":"状態の提供元","feature.config":"設定","feature.decorated.decorator":"装飾処理","feature.decorated.feature":"生成物","feature.delta_feature.contents":"内容","feature.delta_feature.rim":"周縁","feature.delta_feature.rim_size":"周縁のサイズ","feature.delta_feature.size":"サイズ","feature.disk.half_height":"半分の高さ","feature.disk.radius":"半径","feature.disk.state":"状態","feature.disk.targets":"目標","feature.disk.targets.entry":"状態","feature.emerald_ore.state":"状態","feature.emerald_ore.target":"目標","feature.end_gateway.exact":"正確に移動するか否か","feature.end_gateway.exit":"移動先の座標","feature.end_spike.crystal_beam_target":"ビームの目標座標","feature.end_spike.crystal_invulnerable":"クリスタルが無敵か否か","feature.end_spike.spikes":"黒曜石の柱","feature.end_spike.spikes.entry":"黒曜石の柱","feature.end_spike.spikes.entry.centerX":"中心のX座標","feature.end_spike.spikes.entry.centerZ":"中心のZ座標","feature.end_spike.spikes.entry.guarded":"鉄格子で囲われているか否か","feature.end_spike.spikes.entry.height":"高度","feature.end_spike.spikes.entry.radius":"半径","feature.fill_layer.height":"高度","feature.fill_layer.state":"状態","feature.flower.blacklist":"ブラックリスト","feature.flower.block_placer":"ブロック設置処理","feature.flower.can_replace":"上書き可能か否か","feature.flower.need_water":"水が必要か否か","feature.flower.project":"投影されるか否か","feature.flower.state_provider":"状態の提供元","feature.flower.tries":"試行回数","feature.flower.whitelist":"ホワイトリスト","feature.flower.xspread":"X軸の拡散量","feature.flower.yspread":"Y軸の拡散量","feature.flower.zspread":"Z軸の拡散量","feature.forest_rock.state":"状態","feature.huge_brown_mushroom.cap_provider":"笠の提供元","feature.huge_brown_mushroom.foliage_radius":"笠の大きさ","feature.huge_brown_mushroom.stem_provider":"柄の提供元","feature.huge_fungus.decor_state":"装飾","feature.huge_fungus.hat_state":"笠","feature.huge_fungus.planted":"植えられたか否か","feature.huge_fungus.stem_state":"柄","feature.huge_fungus.valid_base_block":"有効な地面のブロック","feature.huge_red_mushroom.cap_provider":"笠の提供元","feature.huge_red_mushroom.foliage_radius":"笠の大きさ","feature.huge_red_mushroom.stem_provider":"柄の提供元","feature.ice_patch.half_height":"半分の高さ","feature.ice_patch.radius":"半径","feature.ice_patch.state":"状態","feature.ice_patch.targets":"目標","feature.ice_patch.targets.entry":"状態","feature.iceberg.state":"状態","feature.lake.state":"状態","feature.nether_forest_vegetation.state_provider":"状態の提供元","feature.netherrack_replace_blobs.radius":"半径","feature.netherrack_replace_blobs.state":"状態","feature.netherrack_replace_blobs.target":"目標","feature.no_surface_ore.size":"サイズ","feature.no_surface_ore.state":"状態","feature.no_surface_ore.target":"目標","feature.object":"カスタム","feature.ore.size":"サイズ","feature.random_boolean_selector.feature_false":"生成物1","feature.random_boolean_selector.feature_true":"生成物2","feature.random_patch.blacklist":"ブラックリスト","feature.random_patch.block_placer":"ブロック設置処理","feature.random_patch.can_replace":"上書き可能か否か","feature.random_patch.need_water":"水が必要か否か","feature.random_patch.project":"投影されるか否か","feature.random_patch.state_provider":"状態の提供元","feature.random_patch.tries":"試行回数","feature.random_patch.whitelist":"ホワイトリスト","feature.random_patch.xspread":"X軸の拡散量","feature.random_patch.yspread":"Y軸の拡散量","feature.random_patch.zspread":"Z軸の拡散量","feature.random_selector.default":"デフォルト","feature.random_selector.features":"生成物","feature.random_selector.features.entry":"生成物","feature.random_selector.features.entry.chance":"確率","feature.random_selector.features.entry.feature":"生成物","feature.sea_pickle.count":"数量","feature.seegrass.probability":"確率","feature.simple_block.place_in":"上書きされるブロック","feature.simple_block.place_in.entry":"状態","feature.simple_block.place_on":"下のブロック","feature.simple_block.place_on.entry":"状態","feature.simple_block.place_under":"上のブロック","feature.simple_block.place_under.entry":"状態","feature.simple_block.to_place":"設置するブロック","feature.simple_random_selector.features":"生成物","feature.simple_random_selector.features.entry":"生成物","feature.spring_feature.hole_count":"くぼみの数","feature.spring_feature.required_block_below":"下に必要なブロック","feature.spring_feature.rock_count":"岩の数","feature.spring_feature.state":"状態","feature.spring_feature.valid_blocks":"有効なブロック","feature.string":"生成物の参照","feature.tree.decorators":"デコレータ","feature.tree.decorators.entry":"ツリーデコレータ","feature.tree.foliage_placer":"葉の配置","feature.tree.heightmap":"高度マップ","feature.tree.ignore_vines":"ツタを無視するか否か","feature.tree.leaves_provider":"葉の提供元","feature.tree.max_water_depth":"樹が生成される最大水深","feature.tree.minimum_size":"最小サイズ","feature.tree.minimum_size.limit":"制限","feature.tree.minimum_size.lower_size":"下限サイズ","feature.tree.minimum_size.middle_size":"中部のサイズ","feature.tree.minimum_size.type":"最小サイズ","feature.tree.minimum_size.upper_limit":"上限","feature.tree.minimum_size.upper_size":"上限サイズ","feature.tree.trunk_placer":"木の幹の設置処理","feature.tree.trunk_provider":"木の幹の提供元","feature.type":"種類","fluid.fluid":"液体ID","fluid.state":"液体の状態","fluid.tag":"液体タグ","fluid_state.Name":"名前","fluid_state.Properties":"プロパティ","foliage_placer.crown_height":"樹木の天蓋の高さ","foliage_placer.height":"高度","foliage_placer.offset":"オフセット","foliage_placer.radius":"半径","foliage_placer.trunk_height":"木の幹の高さ","foliage_placer.type":"種類","function.apply_bonus.enchantment":"エンチャント","function.apply_bonus.formula":"計算式","function.apply_bonus.formula.binomial_with_bonus_count":"二項分布","function.apply_bonus.formula.ore_drops":"鉱石ドロップ","function.apply_bonus.formula.uniform_bonus_count":"均一分布","function.apply_bonus.parameters":"パラメーター","function.apply_bonus.parameters.bonusMultiplier":"倍率","function.apply_bonus.parameters.extra":"追加の値","function.apply_bonus.parameters.probability":"確率","function.copy_name.source":"ソース","function.copy_nbt.ops":"NBT操作","function.copy_nbt.ops.entry":"操作","function.copy_nbt.source":"ソース","function.copy_state.block":"ブロック","function.copy_state.properties":"プロパティ","function.copy_state.properties.entry":"プロパティ","function.enchant_randomly.enchantments":"任意のエンチャント","function.enchant_randomly.enchantments.entry":"エンチャント","function.enchant_with_levels.levels":"レベル","function.enchant_with_levels.treasure":"トレジャーエンチャント","function.exploration_map.decoration":"目的地のアイコン","function.exploration_map.destination":"目的地","function.exploration_map.search_radius":"目的地を検索する半径 (チャンク)","function.exploration_map.skip_existing_chunks":"生成済みチャンクを検索しない","function.exploration_map.zoom":"ズーム","function.fill_player_head.entity":"エンティティ","function.function":"関数","function.limit_count.limit":"制限","function.looting_enchant.count":"個数","function.looting_enchant.limit":"上限","function.set_attributes.modifiers":"補正","function.set_attributes.modifiers.entry":"補正","function.set_contents.entries":"内容","function.set_contents.entries.entry":"項目","function.set_count.count":"個数","function.set_damage.damage":"耐久","function.set_data.data":"データ","function.set_loot_table.name":"ルートテーブル名","function.set_loot_table.seed":"シード値","function.set_lore.entity":"エンティティ","function.set_lore.lore":"説明文","function.set_lore.lore.entry":"行","function.set_lore.replace":"上書き","function.set_name.entity":"エンティティ","function.set_name.name":"名前","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"効果","function.set_stew_effect.effects.entry":"効果","function.set_stew_effect.effects.entry.duration":"持続時間","function.set_stew_effect.effects.entry.type":"効果","functions":"関数","functions.entry":"関数","gamemode.adventure":"アドベンチャー","gamemode.creative":"クリエイティブ","gamemode.spectator":"スペクテイター","gamemode.survival":"サバイバル","generation_step.air":"空気","generation_step.liquid":"液体","generator.biome_source.altitude_noise":"高度のノイズ","generator.biome_source.biome":"バイオーム","generator.biome_source.biomes":"バイオーム","generator.biome_source.humidity_noise":"湿度のノイズ","generator.biome_source.large_biomes":"大きなバイオーム","generator.biome_source.legacy_biome_init_layer":"旧バイオーム初期化レイヤー","generator.biome_source.preset":"バイオームプリセット","generator.biome_source.preset.nether":"ネザー","generator.biome_source.scale":"スケール","generator.biome_source.seed":"バイオームのシード値","generator.biome_source.temperature_noise":"気温のノイズ","generator.biome_source.type":"バイオームの生成法則","generator.biome_source.weirdness_noise":"奇妙さのノイズ","generator.seed":"ディメンションのシード値","generator.settings":"ジェネレーターの設定","generator.settings.biome":"バイオーム","generator.settings.lakes":"湖","generator.settings.layers":"レイヤー","generator.settings.layers.entry":"レイヤー","generator.settings.layers.entry.block":"ブロックID","generator.settings.layers.entry.height":"高度","generator.settings.object":"カスタム","generator.settings.presets.amplified":"巨大化","generator.settings.presets.caves":"洞窟","generator.settings.presets.end":"エンド","generator.settings.presets.floating_islands":"浮島","generator.settings.presets.nether":"ネザー","generator.settings.presets.overworld":"オーバーワールド","generator.settings.string":"プリセット","generator.settings.structures":"ストラクチャー","generator.settings.structures.stronghold":"要塞","generator.settings.structures.stronghold.count":"数量","generator.settings.structures.stronghold.distance":"距離","generator.settings.structures.stronghold.spread":"拡散","generator.settings.structures.structures":"ストラクチャー","generator.type":"ジェネレーターのタイプ","generator_biome.biome":"バイオーム","generator_biome.parameters":"パラメーター","generator_biome.parameters.altitude":"海抜","generator_biome.parameters.help":"これらのパラメータによって、バイオームの配置が決まります。すべてのバイオームは、これらの組み合わせが一意でなければなりません。似たような値を持つバイオームは隣り合って生成されます。","generator_biome.parameters.humidity":"湿度","generator_biome.parameters.offset":"オフセット","generator_biome.parameters.temperature":"気温","generator_biome.parameters.weirdness":"奇妙さ","generator_biome_noise.amplitudes":"広大さ","generator_biome_noise.amplitudes.entry":"オクターブ %0%","generator_structure.separation":"間隔","hide_source":"ソースを隠す","item.count":"個数","item.durability":"耐久値","item.enchantments":"エンチャント","item.enchantments.entry":"エンチャント","item.item":"アイテムID","item.nbt":"NBT","item.potion":"ポーション","item.tag":"アイテムタグ","key.advancements":"進捗","key.attack":"攻撃する/壊す","key.back":"後退","key.chat":"チャットを開く","key.command":"コマンドラインを開く","key.drop":"アイテムを捨てる","key.forward":"前進","key.fullscreen":"フルスクリーンの切り替え","key.hotbar.1":"ホットバースロット 1","key.hotbar.2":"ホットバースロット 2","key.hotbar.3":"ホットバースロット 3","key.hotbar.4":"ホットバースロット 4","key.hotbar.5":"ホットバースロット 5","key.hotbar.6":"ホットバースロット 6","key.hotbar.7":"ホットバースロット 7","key.hotbar.8":"ホットバースロット 8","key.hotbar.9":"ホットバースロット 9","key.inventory":"インベントリの開閉","key.jump":"ジャンプ","key.left":"左","key.loadToolbarActivator":"ツールバーの読み込み","key.pickItem":"ブロック選択","key.playerlist":"プレイヤーリストの表示","key.right":"右","key.saveToolbarActivator":"ツールバーの保存","key.screenshot":"スクリーンショットの撮影","key.smoothCamera":"カメラ動作の切り替え","key.sneak":"スニーク","key.spectatorOutlines":"プレイヤーの強調表示(スペクテイター)","key.sprint":"ダッシュ","key.swapOffhand":"持っているアイテムの切り替え","key.togglePerspective":"視点の切り替え","key.use":"アイテムの使用/ブロックの設置","location.biome":"バイオーム","location.block":"ブロック","location.dimension":"ディメンション","location.feature":"生成物","location.fluid":"液体","location.light":"光源","location.position":"位置","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","loot_condition_type.block_state_property":"ブロックのプロパティ","loot_condition_type.damage_source_properties":"ダメージの要因","loot_condition_type.entity_properties":"エンティティのプロパティ","loot_condition_type.entity_scores":"エンティティのスコア","loot_condition_type.inverted":"反転","loot_condition_type.location_check":"位置","loot_condition_type.match_tool":"ツールのプロパティ","loot_condition_type.random_chance":"ランダムな確率","loot_condition_type.random_chance_with_looting":"ランダムな確率 (ドロップ増加の影響を受ける)","loot_condition_type.reference":"条件の参照","loot_condition_type.time_check":"時間","loot_condition_type.weather_check":"天候","loot_entry.dynamic.name":"名前","loot_entry.item.name":"名前","loot_entry.loot_table.name":"ルートテーブル名","loot_entry.quality":"品質","loot_entry.tag.expand":"広げる","loot_entry.tag.name":"アイテムタグの名前","loot_entry.type":"種類","loot_entry.weight":"抽選確率","loot_function_type.copy_name":"名前のコピー","loot_function_type.copy_nbt":"NBTのコピー","loot_function_type.copy_state":"Block Stateのコピー","loot_function_type.enchant_randomly":"ランダムなエンチャント","loot_function_type.enchant_with_levels":"レベルからのエンチャント","loot_function_type.exploration_map":"探検家の地図のプロパティ","loot_function_type.furnace_smelt":"製錬","loot_function_type.limit_count":"個数制限","loot_function_type.looting_enchant":"ドロップ増加による個数補正","loot_function_type.set_attributes":"属性の設定","loot_function_type.set_contents":"内容の設定","loot_function_type.set_count":"個数の設定","loot_function_type.set_damage":"耐久値の設定","loot_function_type.set_data":"データの設定","loot_function_type.set_loot_table":"ルートテーブルの設定","loot_function_type.set_lore":"説明文の設定","loot_function_type.set_name":"名前の設定","loot_function_type.set_nbt":"NBTの設定","loot_function_type.set_stew_effect":"シチューの効果の設定","loot_pool.bonus_rolls":"ボーナス抽選数","loot_pool.entries":"エントリー","loot_pool.entries.entry":"項目","loot_pool.rolls":"抽選数","loot_pool_entry_type.dynamic":"動的","loot_pool_entry_type.empty":"空","loot_pool_entry_type.group":"グループ","loot_pool_entry_type.item":"アイテム","loot_pool_entry_type.loot_table":"ルートテーブル","loot_pool_entry_type.sequence":"順序","loot_pool_entry_type.tag":"アイテムタグ","nbt_operation.op":"操作方法","nbt_operation.op.append":"追加","nbt_operation.op.merge":"併合","nbt_operation.op.replace":"上書き","nbt_operation.source":"ソース","nbt_operation.target":"目標","noise_settings.name":"名前","player.advancements":"進捗","player.advancements.entry":"進捗","player.gamemode":"ゲームモード","player.level":"経験値レベル","player.recipes":"レシピ","player.stats":"統計値","player.stats.entry":"統計値","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.predicate_type":"種類","processor.block_ignore.blocks.entry":"状態","processor.processor_type":"種類","requirements":"必要条件","rule_test.block":"ブロック","rule_test.block_state":"状態","rule_test.predicate_type":"種類","rule_test.probability":"確率","slot.chest":"胴体","slot.feet":"足","slot.head":"頭","slot.legs":"脚","slot.mainhand":"利き手","slot.offhand":"オフハンド","statistic.stat":"統計値","statistic.type":"種類","statistic.type.broken":"壊した回数","statistic.type.crafted":"作った回数","statistic.type.custom":"カスタム","statistic.type.dropped":"捨てた回数","status_effect.ambient":"ビーコン効果","status_effect.amplifier":"効果レベル","status_effect.duration":"持続時間","status_effect.visible":"パーティクル表示","structure_feature.biome_temp":"バイオームの気温","structure_feature.probability":"確率","structure_feature.type":"種類","surface_builder.type":"種類","table.type":"種類","table.type.block":"ブロック","table.type.chest":"チェスト","table.type.empty":"空","table.type.entity":"エンティティ","table.type.fishing":"釣り","table.type.generic":"汎用","tag.replace":"上書き","template_element.element_type":"種類","template_pool.name":"名前","text_component_object.block":"ブロック","text_component_object.bold":"太字","text_component_object.clickEvent":"クリックイベント","text_component_object.clickEvent.action.change_page":"ページへの移動","text_component_object.clickEvent.action.copy_to_clipboard":"クリップボードへのコピー","text_component_object.clickEvent.action.open_file":"ファイルを開く","text_component_object.clickEvent.action.open_url":"ウェブサイトを開く","text_component_object.clickEvent.action.run_command":"コマンドを実行","text_component_object.clickEvent.action.suggest_command":"コマンドを提案","text_component_object.color":"カラー","text_component_object.entity":"要素","text_component_object.score.name":"名前","tree_decorator.beehive.probability":"確率","tree_decorator.cocoa.probability":"確率","tree_decorator.type":"種類","true":"true","trunk_placer.type":"種類","worldgen/chunk_generator.noise":"デフォルト","advancement":"進捗 (Advancement)","copy":"コピー","dimension-type":"ディメンションタイプ (Dimension Type)","download":"ダウンロード","language":"言語設定","loot-table":"ルートテーブル (Loot Table)","predicate":"条件 (Predicate)","reset":"リセット","share":"共有","title.generator":"%0%ジェネレーター","title.home":"データパックジェネレーター","preview":"可視化","world":"ワールド設定 (World Settings)","worldgen/biome":"バイオーム (Biome)","worldgen/carver":"地形彫刻 (Carver)","worldgen/feature":"生成物 (Feature)","worldgen/noise-settings":"ノイズ設定 (Noise Settings)","worldgen/processor-list":"プロセッサリスト (Processor List)","worldgen/structure-feature":"ストラクチャー生成物 (Structure Feature)","worldgen/surface-builder":"地形生成 (Surface Builder)","worldgen/template-pool":"テンプレートプール (Template Pool)"} \ No newline at end of file diff --git a/locales/pl.json b/locales/pl.json deleted file mode 100644 index 318ad3e9..00000000 --- a/locales/pl.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"Kryteria","advancement.display":"Wyświetlanie","advancement.display.announce_to_chat":"Ogłoś Na Czacie","advancement.display.background":"Tło","advancement.display.description":"Opis","advancement.display.frame":"Ramka","advancement.display.frame.challenge":"Wyzwanie","advancement.display.frame.goal":"Cel","advancement.display.frame.task":"Zadanie","advancement.display.help":"Jeżeli obecne, postęp będzie widoczny w zakładkach postępów.","advancement.display.hidden":"Ukryty","advancement.display.icon":"Ikona","advancement.display.icon.item":"Przedmiot Ikony","advancement.display.icon.nbt":"NBT Ikony","advancement.display.show_toast":"Pokaż Powiadomienie","advancement.display.title":"Tytuł","advancement.parent":"Rodzic Postępu","advancement.rewards":"Nagrody","advancement.rewards.experience":"Doświadczenie","advancement.rewards.function":"Funkcja","advancement.rewards.loot":"Tabele Łupów","advancement.rewards.recipes":"Przepisy","advancement_trigger.bee_nest_destroyed":"Zniszczono Ul","advancement_trigger.bred_animals":"Rozmnożono zwierzęta","advancement_trigger.brewed_potion":"Stworzono Miksturę","advancement_trigger.changed_dimension":"Zmieniono Wymiar","advancement_trigger.channeled_lightning":"Porażenie Przekierowaniem","advancement_trigger.construct_beacon":"Skonstruowano Magiczną Latarnię","advancement_trigger.consume_item":"Użyto Przedmiot","advancement_trigger.cured_zombie_villager":"Uleczono Wieśniaka Zombie","advancement_trigger.effects_changed":"Zmieniono Efekty","advancement_trigger.enchanted_item":"Zaklęto Przedmiot","advancement_trigger.enter_block":"Wejście W Blok","advancement_trigger.entity_hurt_player":"Byt Zranił Gracza","advancement_trigger.entity_killed_player":"Byt Zabił Gracza","advancement_trigger.filled_bucket":"Napełniono Wiadro","advancement_trigger.fishing_rod_hooked":"Ściągnięto Żyłkę","advancement_trigger.hero_of_the_village":"Bohater Wioski","advancement_trigger.impossible":"Niemożliwy","advancement_trigger.inventory_changed":"Zmieniono Ekwipunek","advancement_trigger.item_durability_changed":"Zmieniono Wytrzymałość Przedmiotu","advancement_trigger.item_used_on_block":"Użyto Przedmiotu Na Bloku","advancement_trigger.killed_by_crossbow":"Zabity Przez Kuszę","advancement_trigger.levitation":"Lewitacja","advancement_trigger.location":"Lokacja","advancement_trigger.nether_travel":"Podróż W Netherze","advancement_trigger.placed_block":"Postawiono Blok","advancement_trigger.player_generates_container_loot":"Gracz Wygenerował Łup Konteneru","advancement_trigger.player_hurt_entity":"Gracz Zranił Byt","advancement_trigger.player_killed_entity":"Gracz Zabił Byt","advancement_trigger.recipe_unlocked":"Odblokowano Przepis","advancement_trigger.safely_harvest_honey":"Bezpiecznie Zebrano Miód","advancement_trigger.shot_crossbow":"Wystrzelono Z Kuszy","advancement_trigger.slept_in_bed":"Przespano Się W Łóżku","advancement_trigger.slide_down_block":"Ześlizgnięto Się Po Bloku","advancement_trigger.summoned_entity":"Przyzwano Byt","advancement_trigger.tame_animal":"Oswojono Zwierzę","advancement_trigger.target_hit":"Trafiono Cel","advancement_trigger.thrown_item_picked_up_by_entity":"Wyrzucony Przedmiot Podniósł Byt","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Użyto Oka Kresu","advancement_trigger.used_totem":"Użyto Totemu","advancement_trigger.villager_trade":"Handlowano Z Wieśniakiem","advancement_trigger.voluntary_exile":"Wygnanie Na Żądanie","attribute.generic_armor":"Zbroja","attribute.generic_armor_toughness":"Wytrzymałość Zbroi","attribute.generic_attack_damage":"Obrażenia Ataku","attribute.generic_attack_knockback":"Odepchnięcie Ataku","attribute.generic_attack_speed":"Szybkość Ataku","attribute.generic_flying_speed":"Prędkość Latania","attribute.generic_follow_range":"Zasięg Podążania","attribute.generic_knockback_resistance":"Odporność Na Odpychanie","attribute.generic_luck":"Szczęście","attribute.generic_max_health":"Maksymalne Zdrowie","attribute.generic_movement_speed":"Prędkość Poruszania Się","attribute.horse.jump_strength":"Siła Skoku","attribute.zombie.spawn_reinforcements":"Przyzywanie Posiłków","attribute_modifier.amount":"Ilość","attribute_modifier.attribute":"Atrybut","attribute_modifier.name":"Nazwa","attribute_modifier.operation":"Działanie","attribute_modifier.operation.addition":"Dodawanie","attribute_modifier.operation.multiply_base":"Mnożenie Bazy","attribute_modifier.operation.multiply_total":"Mnożenie Całości","attribute_modifier.slot":"Sloty","attribute_modifier.slot.list":"Wiele","attribute_modifier.slot.string":"Jeden","badge.experimental":"Eksperymentalne","badge.unstable":"Niestabilne","biome.carvers":"Rzeźbiarze","biome.carvers.air":"Powietrze","biome.carvers.liquid":"Ciecze","biome.category":"Kategoria","biome.creature_spawn_probability":"Prawdopodobieństwo Pojawiania Się Bytów","biome.depth":"Głębokość","biome.depth.help":"Wznosi lub obniża teren. Dodatnie wartości to lądy, a ujemne to oceany.","biome.downfall":"Spadek","biome.effects":"Efekty","biome.effects.additions_sound":"Dodatki Dźwiękowe","biome.effects.additions_sound.sound":"Dźwięk","biome.effects.additions_sound.tick_chance":"Szansa W Ticku","biome.effects.ambient_sound":"Dźwięk Otoczenia","biome.effects.fog_color":"Kolor Mgły","biome.effects.foliage_color":"Kolor Roślinności","biome.effects.grass_color":"Kolor Trawy","biome.effects.grass_color_modifier":"Modyfikator Koloru Trawy","biome.effects.grass_color_modifier.dark_forest":"Ciemny Las","biome.effects.grass_color_modifier.none":"Żaden","biome.effects.grass_color_modifier.swamp":"Bagno","biome.effects.mood_sound":"Nastrojowy Dźwięk","biome.effects.mood_sound.block_search_extent":"Zakres Szukania Bloku","biome.effects.mood_sound.offset":"Przesunięcie","biome.effects.mood_sound.sound":"Dźwięk","biome.effects.mood_sound.tick_delay":"Opóźnienie Ticku","biome.effects.music":"Muzyka","biome.effects.music.max_delay":"Maksymalne Opóźnienie","biome.effects.music.min_delay":"Minimalne Opóźnienie","biome.effects.music.replace_current_music":"Zastąp Bieżącą Muzykę","biome.effects.music.sound":"Dźwięk","biome.effects.particle":"Cząsteczka","biome.effects.particle.options":"Opcje","biome.effects.particle.options.type":"Typ Cząsteczki","biome.effects.particle.probability":"Prawdopodobieństwo","biome.effects.sky_color":"Kolor Nieba","biome.effects.water_color":"Kolor Wody","biome.effects.water_fog_color":"Kolor Mgły Wody","biome.features":"Aspekty","biome.features.entry":"Krok %0%","biome.features.entry.entry":"Aspekt","biome.player_spawn_friendly":"Przyjazny Spawnowi Gracza","biome.player_spawn_friendly.help":"Jeżeli prawdziwe, spawn świata będzie preferował ten biom.","biome.precipitation":"Opad","biome.precipitation.none":"Żaden","biome.precipitation.rain":"Deszcz","biome.precipitation.snow":"Śnieg","biome.scale":"Skala","biome.scale.help":"Rozciąga teren pionowo. Niższe wartości produkują bardziej płaski teren.","biome.spawn_costs":"Koszty Spawnu","biome.spawn_costs.charge":"Koszt","biome.spawn_costs.energy_budget":"Budżet Energii","biome.spawners":"Spawnery","biome.spawners.ambient":"Pasywne","biome.spawners.creature":"Stworzenia","biome.spawners.entry":"Spawn","biome.spawners.entry.maxCount":"Maksymalna Liczba","biome.spawners.entry.minCount":"Minimalna Liczba","biome.spawners.entry.type":"Typ","biome.spawners.entry.weight":"Waga","biome.spawners.misc":"Rozmaite","biome.spawners.monster":"Potwór","biome.spawners.water_ambient":"Wodne Pasywne","biome.spawners.water_creature":"Wodne Stworzenia","biome.starts":"Początek Struktury","biome.starts.entry":"Struktura","biome.starts.help":"Lista skonfigurowanych aspektów struktury.","biome.surface_builder":"Konstruktor Powierzchni","biome.temperature":"Temperatura","biome.temperature_modifier":"Modyfikator Temperatury","biome.temperature_modifier.frozen":"Zamarznięty","biome.temperature_modifier.none":"Żaden","block.block":"ID Bloku","block.nbt":"NBT","block.state":"Stan Bloku","block.tag":"Tag Bloku","block_placer.column_placer.extra_size":"Ekstra Rozmiar","block_placer.column_placer.min_size":"Minimalny Rozmiar","block_placer.type":"Typ","block_state.Name":"Nazwa","block_state.Properties":"Właściwości","block_state_provider.rotated_block_provider.state":"Stan","block_state_provider.simple_state_provider.state":"Stan","block_state_provider.type":"Typ","block_state_provider.weighted_state_provider.entries":"Wpisy","block_state_provider.weighted_state_provider.entries.entry.data":"Stan","block_state_provider.weighted_state_provider.entries.entry.weight":"Waga","carver.config":"Konfiguracja","carver.config.probability":"Prawdopodobieństwo","carver.type":"Typ","children":"Dzieci","children.entry":"Wpis","condition.alternative.terms":"Warunki","condition.block_state_property.block":"Blok","condition.block_state_property.properties":"Stan Bloku","condition.condition":"Warunek","condition.damage_source":"Źródło Obrażeń","condition.entity_properties.entity":"Byt","condition.entity_scores.entity":"Byt","condition.entity_scores.scores":"Wyniki","condition.entry":"Predicate","condition.inverted.term":"Warunek","condition.item":"Przedmiot","condition.killed_by_player.inverse":"Odwrócony","condition.list":"Wiele","condition.location":"Lokacja","condition.location_check.offsetX":"Przesunięcie X","condition.location_check.offsetY":"Przesunięcie Y","condition.location_check.offsetZ":"Przesunięcie Z","condition.object":"Proste","condition.random_chance.chance":"Szansa","condition.random_chance_with_looting.chance":"Szansa","condition.random_chance_with_looting.looting_multiplier":"Mnożnik Grabieży","condition.reference.name":"Nazwa Predicate","condition.table_bonus.chances":"Szanse","condition.table_bonus.chances.entry":"Szansa","condition.table_bonus.enchantment":"Zaklęcie","condition.time_check.period":"Okres","condition.time_check.period.help":"Jeżeli obecne, czas będzie podzielony modulo przez tą wartość. Na przykład, jeżeli będzie ustawiony na 24000, wartość będzie operować na okresie czasu dni.","condition.time_check.value":"Wartość","condition.weather_check.raining":"Pada Deszcz","condition.weather_check.thundering":"Walą Pioruny","conditions":"Warunki","conditions.entry":"Warunek","conditions.list":"Warunki","conditions.object":"Legacy","copy_source.block_entity":"Byt Bloku","copy_source.direct_killer":"Bezpośredni Zabójca","copy_source.killer":"Zabójca","copy_source.killer_player":"Gracz Zabójca","copy_source.this":"To","criterion.bee_nest_destroyed.block":"Blok","criterion.bee_nest_destroyed.num_bees_inside":"Liczba Pszczół Wewnątrz","criterion.bred_animals.child":"Dziecko","criterion.bred_animals.parent":"Rodzic","criterion.bred_animals.partner":"Partner","criterion.brewed_potion.potion":"Mikstura","criterion.changed_dimension.from":"Z","criterion.changed_dimension.to":"Do","criterion.channeled_lightning.victims":"Ofiary","criterion.channeled_lightning.victims.entry":"Byt","criterion.conditions":"Warunki","criterion.construct_beacon.beacon_level":"Poziom Piramidy","criterion.consume_item.item":"Przedmiot","criterion.cured_zombie_villager.villager":"Wieśniak","criterion.cured_zombie_villager.zombie":"Zombie","criterion.effects_changed.effects":"Efekty","criterion.enchanted_item.item":"Przedmiot","criterion.enchanted_item.levels":"Poziom XP","criterion.enter_block.block":"Blok","criterion.enter_block.state":"Stany","criterion.entity_hurt_player.damage":"Obrażenia","criterion.entity_killed_player.entity":"Byt Źródłowy","criterion.entity_killed_player.killing_blow":"Zabójczy Cios","criterion.filled_bucket.item":"Przedmiot","criterion.fishing_rod_hooked.entity":"Przyciągnięty Byt","criterion.fishing_rod_hooked.item":"Przedmiot","criterion.hero_of_the_village.location":"Lokacja","criterion.inventory_changed.items":"Przedmioty","criterion.inventory_changed.items.entry":"Przedmiot","criterion.inventory_changed.slots":"Sloty","criterion.inventory_changed.slots.empty":"Puste Sloty","criterion.inventory_changed.slots.full":"Pełne Sloty","criterion.inventory_changed.slots.occupied":"Zajęte Sloty","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Wytrzymałość","criterion.item_durability_changed.item":"Przedmiot","criterion.item_used_on_block.item":"Przedmiot","criterion.item_used_on_block.location":"Lokacja","criterion.killed_by_crossbow.unique_entity_types":"Ilość Unikalnych Typów Bytów","criterion.killed_by_crossbow.victims":"Ofiary","criterion.killed_by_crossbow.victims.entry":"Byt","criterion.levitation.distance":"Dystans","criterion.levitation.duration":"Czas Trwania","criterion.location.location":"Lokacja","criterion.nether_travel.distance":"Dystans","criterion.nether_travel.entered":"Wejście Do Lokacji","criterion.nether_travel.exited":"Wyjście Z Lokacji","criterion.placed_block.block":"Blok","criterion.placed_block.item":"Przedmiot","criterion.placed_block.location":"Lokacja","criterion.placed_block.state":"Stany","criterion.player":"Gracz","criterion.player_generates_container_loot.loot_table":"Tabela Łupów","criterion.player_hurt_entity.damage":"Obrażenia","criterion.player_hurt_entity.entity":"Byt Ofiara","criterion.player_killed_entity.entity":"Byt Ofiara","criterion.player_killed_entity.killing_blow":"Zabójczy Cios","criterion.recipe_unlocked.recipe":"Przepis","criterion.rod":"Pałka","criterion.shot_crossbow.item":"Przedmiot","criterion.slept_in_bed.location":"Lokacja","criterion.slide_down_block.block":"Blok","criterion.summoned_entity.entity":"Byt","criterion.tame_animal.entity":"Zwierzę","criterion.target_hit.projectile":"Pocisk","criterion.target_hit.shooter":"Strzelec","criterion.target_hit.signal_strength":"Siła Sygnału","criterion.thrown_item_picked_up_by_entity.entity":"Byt","criterion.thrown_item_picked_up_by_entity.item":"Przedmiot","criterion.trigger":"Wyzwalacz","criterion.used_ender_eye.distance":"Dystans","criterion.used_totem.item":"Przedmiot Totem","criterion.villager_trade.item":"Kupiono Przedmiot","criterion.villager_trade.villager":"Wieśniak","criterion.voluntary_exile.location":"Lokacja","damage.blocked":"Zablokowane","damage.dealt":"Zadane Obrażenia","damage.source_entity":"Byt Źródłowy","damage.taken":"Otrzymane Obrażenia","damage.type":"Typ Obrażeń","damage_source.bypasses_armor":"Omijające Zbroję","damage_source.bypasses_invulnerability":"Pustka","damage_source.bypasses_magic":"Głód","damage_source.direct_entity":"Bezpośredni Byt","damage_source.is_explosion":"Eksplozja","damage_source.is_fire":"Ogień","damage_source.is_lightning":"Piorun","damage_source.is_magic":"Magia","damage_source.is_projectile":"Pocisk","damage_source.source_entity":"Byt Źródłowy","decorator.carving_mask.step":"Krok Generacji","decorator.config":"Konfiguracja","decorator.count.count":"Ilość","decorator.count_extra.count":"Ilość","decorator.count_extra.extra_chance":"Ekstra Szansa","decorator.count_extra.extra_count":"Ekstra Ilość","decorator.count_multilayer.count":"Ilość","decorator.count_noise.above_noise":"Powyżej Szumu","decorator.count_noise.below_noise":"Poniżej Szumu","decorator.count_noise.noise_level":"Poziom Szumu","decorator.count_noise_biased.noise_factor":"Czynnik Szumu","decorator.count_noise_biased.noise_offset":"Przesunięcie Szumu","decorator.count_noise_biased.noise_to_count_ratio":"Stosunek Szumu Do Ilości","decorator.decorated.inner":"Wewnętrzny","decorator.decorated.outer":"Zewnętrzny","decorator.depth_average.baseline":"Linia Bazowa","decorator.depth_average.spread":"Szerokość","decorator.glowstone.count":"Ilość","decorator.type":"Typ","dimension":"Wymiar","dimension.generator":"Generator","dimension.generator.biome_source":"Źródło Biomu","dimension.overworld":"Powierzchnia","dimension.the_end":"Kres","dimension.the_nether":"Nether","dimension.type":"Typ Wymiaru","dimension.type.object":"Własne","dimension.type.string":"Preset","dimension_type.ambient_light":"Światło Otoczenia","dimension_type.ambient_light.help":"Wartość pomiędzy 0 i 1.","dimension_type.bed_works":"Łóżko Działa","dimension_type.coordinate_scale":"Skalowanie Koordynatów","dimension_type.effects":"Efekty","dimension_type.effects.overworld":"Powierzchnia","dimension_type.effects.the_end":"Kres","dimension_type.effects.the_nether":"Nether","dimension_type.fixed_time":"Niezmienny Czas","dimension_type.fixed_time.help":"To ustawienie sprawi że słońce nie będzie się ruszać.","dimension_type.has_ceiling":"Ma Sufit","dimension_type.has_raids":"Ma Najazdy","dimension_type.has_skylight":"Ma Światło Nieba","dimension_type.infiniburn":"Infiniburn","dimension_type.logical_height":"Logiczna Wysokość","dimension_type.name":"Nazwa","dimension_type.natural":"Naturalny","dimension_type.natural.help":"Jeżeli prawdziwe, portale będą przyzywać zombifikowane pigliny. Jeżeli fałszywe, kompasy i zegarki będą kręcić się losowo.","dimension_type.piglin_safe":"Bezpieczny Dla Piglinów","dimension_type.respawn_anchor_works":"Kotwica Odrodzenia","dimension_type.ultrawarm":"Ultraciepły","dimension_type.ultrawarm.help":"Jeżeli prawdziwe, woda będzie wyparowywać i gąbki będą wysychać.","distance.absolute":"Absolutny","distance.horizontal":"Poziomy","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Wydajność Pod Wodą","enchantment.bane_of_arthropods":"Zmora Stawonogó","enchantment.binding_curse":"Klątwa Wiązania","enchantment.blast_protection":"Ochrona Od Wybuchów","enchantment.channeling":"Porażenie","enchantment.depth_strider":"Głębinowy Wędrowiec","enchantment.efficiency":"Wydajność","enchantment.enchantment":"Zaklęcie","enchantment.feather_falling":"Powolne Opadanie","enchantment.fire_aspect":"Zaklęty Ogień","enchantment.fire_protection":"Ochrona Przed Ogniem","enchantment.flame":"Płomień","enchantment.fortune":"Szczęście","enchantment.frost_walker":"Mroźny Piechur","enchantment.impaling":"Przebicie","enchantment.infinity":"Nieskończoność","enchantment.knockback":"Odrzut","enchantment.levels":"Poziomy","enchantment.looting":"Grabież","enchantment.loyalty":"Lojalność","enchantment.luck_of_the_sea":"Morska Fortuna","enchantment.lure":"Przynęta","enchantment.mending":"Naprawa","enchantment.multishot":"Wielostrzał","enchantment.piercing":"Przeszycie","enchantment.power":"Moc","enchantment.projectile_protection":"Ochrona Przed Pociskami","enchantment.protection":"Ochrona","enchantment.punch":"Uderzenie","enchantment.quick_charge":"Szybkie Przeładowanie","enchantment.respiration":"Oddychanie","enchantment.riptide":"Torpeda","enchantment.sharpness":"Ostrość","enchantment.silk_touch":"Jedwabny Dotyk","enchantment.smite":"Pogromca Nieumarłych","enchantment.sweeping":"Szerokie Ostrze","enchantment.thorns":"Ciernie","enchantment.unbreaking":"Niezniszczalność","enchantment.vanishing_curse":"Klątwa Znikania","entity.distance":"Dystans","entity.effects":"Efekty","entity.equipment":"Ekwipunek","entity.fishing_hook":"Spławik","entity.fishing_hook.in_open_water":"Na Otwartej Wodzie","entity.flags":"Flagi","entity.isBaby":"Dziecko","entity.isOnFire":"Pali Się","entity.isSneaking":"Skrada się","entity.isSprinting":"Biega","entity.isSwimming":"Pływa","entity.location":"Lokacja","entity.nbt":"NBT","entity.player":"Gracz","entity.targeted_entity":"Byt Docelowy","entity.team":"Drużyna","entity.type":"Byt","entity.vehicle":"Pojazd","entity_source.direct_killer":"Bezpośredni Zabójca","entity_source.killer":"Zabójca","entity_source.killer_player":"Gracz Zabójca","entity_source.this":"To","entry":"Wpis","error":"Błąd","error.expected_boolean":"Oczekiwano wartości prawda lub fałsz","error.expected_integer":"Oczekiwano liczby całkowitej","error.expected_json":"Oczekiwano JSON","error.expected_list":"Oczekiwano listy","error.expected_number":"Oczekiwano liczby","error.expected_object":"Oczekiwano obiektu","error.expected_range":"Oczekiwano zakresu","error.expected_string":"Oczekiwano wartości string","error.expected_uniform_int":"Oczekiwano jednolitej liczby całkowitej","error.invalid_binomial":"Zasięg nie może użyć typu dwumianowego","error.invalid_empty_list":"Lista nie może być pusta","error.invalid_empty_string":"String nie może być pusty","error.invalid_enum_option":"Niepoprawna opcja \"%0%\"","error.invalid_exact":"Zasięg nie może używać stałego typu","error.invalid_number_range.between":"Oczekiwano liczby między %0% a %1%","error.invalid_pattern":"String jest niepoprawny: %0%","error.recipe.invalid_key":"tylko pojedynczy znak jest dozwolony jako klucz","error.separation_smaller_spacing":"Rozdzielenie musi być mniejsze niż spacjowanie","false":"Fałsz","feature.bamboo.probability":"Prawdopodobieństwo","feature.basalt_columns.height":"Wysokość","feature.basalt_columns.reach":"Zasięg","feature.block_pile.state_provider":"Dostawca Stanu","feature.config":"Konfiguracja","feature.decorated.decorator":"Dekorator","feature.decorated.feature":"Aspekt","feature.delta_feature.contents":"Zawartość","feature.delta_feature.rim":"Brzeg","feature.delta_feature.rim_size":"Wielkość Brzegu","feature.delta_feature.size":"Rozmiar","feature.disk.half_height":"Pół Wysokości","feature.disk.radius":"Promień","feature.disk.state":"Stan","feature.disk.targets":"Cele","feature.disk.targets.entry":"Stan","feature.emerald_ore.state":"Stan","feature.emerald_ore.target":"Cel","feature.end_gateway.exact":"Dokładne","feature.end_gateway.exit":"Wyjście","feature.end_spike.crystal_beam_target":"Cel Wiązki Kryształu","feature.end_spike.crystal_invulnerable":"Niezniszczalny Kryształ","feature.end_spike.spikes":"Kolce","feature.end_spike.spikes.entry":"Kolec","feature.end_spike.spikes.entry.centerX":"Środek X","feature.end_spike.spikes.entry.centerZ":"Środek Z","feature.end_spike.spikes.entry.guarded":"Broniący","feature.end_spike.spikes.entry.height":"Wysokość","feature.end_spike.spikes.entry.radius":"Promień","feature.fill_layer.height":"Wysokość","feature.fill_layer.state":"Stan","feature.flower.blacklist":"Czarna Lista","feature.flower.block_placer":"Stawiacz Bloków","feature.flower.can_replace":"Może Podmienić","feature.flower.need_water":"Potrzebuje Wody","feature.flower.project":"Project","feature.flower.state_provider":"Dostawca Stanu","feature.flower.tries":"Próby","feature.flower.whitelist":"Biała Lista","feature.flower.xspread":"Rozsiew X","feature.flower.yspread":"Rozsiew Y","feature.flower.zspread":"Rozsiew Z","feature.forest_rock.state":"Stan","feature.huge_brown_mushroom.cap_provider":"Dostawca Limitu","feature.huge_brown_mushroom.foliage_radius":"Promień Roślinności","feature.huge_brown_mushroom.stem_provider":"Dostawca Trzonu","feature.huge_fungus.decor_state":"Dekoracja","feature.huge_fungus.hat_state":"Kapelusz","feature.huge_fungus.planted":"Zasadzony","feature.huge_fungus.stem_state":"Trzon","feature.huge_fungus.valid_base_block":"Prawidłowa Powierzchnia","feature.huge_red_mushroom.cap_provider":"Dostawca Limitu","feature.huge_red_mushroom.foliage_radius":"Promień Roślinności","feature.huge_red_mushroom.stem_provider":"Dostawca Nóżki","feature.ice_patch.half_height":"Połowa Wysokości","feature.ice_patch.radius":"Promień","feature.ice_patch.state":"Stan","feature.ice_patch.targets":"Cele","feature.ice_patch.targets.entry":"Stan","feature.iceberg.state":"Stan","feature.lake.state":"Stan","feature.nether_forest_vegetation.state_provider":"Dostawca Stanu","feature.netherrack_replace_blobs.radius":"Promień","feature.netherrack_replace_blobs.state":"Stan","feature.netherrack_replace_blobs.target":"Cel","feature.no_surface_ore.size":"Rozmiar","feature.no_surface_ore.state":"Stan","feature.no_surface_ore.target":"Cel","feature.object":"Własny","feature.ore.size":"Rozmiar","feature.random_boolean_selector.feature_false":"Aspekt 1","feature.random_boolean_selector.feature_true":"Aspekt 2","feature.random_patch.blacklist":"Czarna Lista","feature.random_patch.block_placer":"Stawiacz Bloków","feature.random_patch.can_replace":"Może Zastąpić","feature.random_patch.need_water":"Potrzebuje Wody","feature.random_patch.project":"Project","feature.random_patch.state_provider":"Dostawca Stanu","feature.random_patch.tries":"Próby","feature.random_patch.whitelist":"Biała Lista","feature.random_patch.xspread":"Rozsiew X","feature.random_patch.yspread":"Rozsiew Y","feature.random_patch.zspread":"Rozsiew Z","feature.random_selector.default":"Domyślne","feature.random_selector.features":"Aspekty","feature.random_selector.features.entry":"Aspekt","feature.random_selector.features.entry.chance":"Szansa","feature.random_selector.features.entry.feature":"Aspekt","feature.sea_pickle.count":"Ilość","feature.seegrass.probability":"Prawdopodobieństwo","feature.simple_block.place_in":"Wstaw W","feature.simple_block.place_in.entry":"Stan","feature.simple_block.place_on":"Wstaw Na","feature.simple_block.place_on.entry":"Stan","feature.simple_block.place_under":"Wstaw Pod","feature.simple_block.place_under.entry":"Stan","feature.simple_block.to_place":"Wstawiać","feature.simple_random_selector.features":"Aspekty","feature.simple_random_selector.features.entry":"Aspekt","feature.spring_feature.hole_count":"Liczba Dziur","feature.spring_feature.required_block_below":"Potrzebuje Bloku Poniżej","feature.spring_feature.rock_count":"Ilość Skał","feature.spring_feature.state":"Stan","feature.spring_feature.valid_blocks":"Prawidłowe Bloki","feature.string":"Odniesienie","feature.tree.decorators":"Dekoratory","feature.tree.decorators.entry":"Dekorator Drzew","feature.tree.foliage_placer":"Stawiacz Roślinności","feature.tree.heightmap":"Mapa Wysokości","feature.tree.ignore_vines":"Ignoruj Pnącza","feature.tree.leaves_provider":"Dostawca Liści","feature.tree.max_water_depth":"Maksymalna Głębokość Wody","feature.tree.minimum_size":"Minimalny Rozmiar","feature.tree.minimum_size.limit":"Limit","feature.tree.minimum_size.lower_size":"Mniejszy Rozmiar","feature.tree.minimum_size.middle_size":"Średni Rozmiar","feature.tree.minimum_size.min_clipped_height":"Minimalna Wysokość","feature.tree.minimum_size.type":"Minimalny Rozmiar","feature.tree.minimum_size.upper_limit":"Górna Granica","feature.tree.minimum_size.upper_size":"Górny Rozmiar","feature.tree.trunk_placer":"Stawiacz Pni","feature.tree.trunk_provider":"Dostawca Pni","feature.type":"Typ","fluid.fluid":"ID Płynu","fluid.state":"Stan Płynu","fluid.tag":"Tag Płynu","fluid_state.Name":"Nazwa","fluid_state.Properties":"Właściwości","foliage_placer.crown_height":"Wysokość Korony","foliage_placer.height":"Wysokość","foliage_placer.offset":"Przesunięcie","foliage_placer.radius":"Promień","foliage_placer.trunk_height":"Wysokość Pnia","foliage_placer.type":"Typ","function.apply_bonus.enchantment":"Zaklęcie","function.apply_bonus.formula":"Wzór","function.apply_bonus.formula.binomial_with_bonus_count":"Dwumian z Ilością Bonusową","function.apply_bonus.formula.ore_drops":"Drop Z Rud","function.apply_bonus.formula.uniform_bonus_count":"Jednolity Bonus","function.apply_bonus.parameters":"Parametry","function.apply_bonus.parameters.bonusMultiplier":"Mnożnik","function.apply_bonus.parameters.extra":"Dodatkowe","function.apply_bonus.parameters.probability":"Prawdopodobieństwo","function.copy_name.source":"Źródło","function.copy_nbt.ops":"Działania NBT","function.copy_nbt.ops.entry":"Działanie","function.copy_nbt.source":"Źródło","function.copy_state.block":"Blok","function.copy_state.properties":"Właściwości","function.copy_state.properties.entry":"Własność","function.enchant_randomly.enchantments":"Opcjonalne Zaklęcia","function.enchant_randomly.enchantments.entry":"Zaklęcie","function.enchant_with_levels.levels":"Poziomy","function.enchant_with_levels.treasure":"Skarb","function.exploration_map.decoration":"Dekoracja","function.exploration_map.destination":"Miejsce Docelowe","function.exploration_map.search_radius":"Promien Wyszukiwania (W Chunkach)","function.exploration_map.skip_existing_chunks":"Pomiń Istniejące Chunki","function.exploration_map.zoom":"Powiększenie","function.fill_player_head.entity":"Byt","function.function":"Funkcja","function.limit_count.limit":"Limit","function.looting_enchant.count":"Ilość","function.looting_enchant.limit":"Limit","function.set_attributes.modifiers":"Modyfikatory","function.set_attributes.modifiers.entry":"Modyfikator","function.set_contents.entries":"Zawartość","function.set_contents.entries.entry":"Wpis","function.set_count.count":"Ilość","function.set_damage.damage":"Obrażenia","function.set_data.data":"Data","function.set_loot_table.name":"Nazwa Tabeli Łupów","function.set_loot_table.seed":"Seed","function.set_lore.entity":"Byt","function.set_lore.lore":"Lore","function.set_lore.lore.entry":"Linijka","function.set_lore.replace":"Zamień","function.set_name.entity":"Byt","function.set_name.name":"Nazwa","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Efekty","function.set_stew_effect.effects.entry":"Efekt","function.set_stew_effect.effects.entry.duration":"Długość","function.set_stew_effect.effects.entry.type":"Efekt","functions":"Funkcje","functions.entry":"Funkcja","gamemode.adventure":"Przygodowy","gamemode.creative":"Kreatywny","gamemode.spectator":"Spektator","gamemode.survival":"Przetrwania","generation_step.air":"Powietrze","generation_step.liquid":"Płyn","generator.biome_source.altitude_noise":"Szum Wysokości","generator.biome_source.biome":"Biom","generator.biome_source.biomes":"Biomy","generator.biome_source.humidity_noise":"Szum Wilgotności","generator.biome_source.large_biomes":"Duże Biomy","generator.biome_source.legacy_biome_init_layer":"Warstwa Inicjująca Biom Legacy","generator.biome_source.preset":"Presety Biomów","generator.biome_source.preset.nether":"Nether","generator.biome_source.scale":"Skala","generator.biome_source.seed":"Seed Biomów","generator.biome_source.temperature_noise":"Szum Temperatury","generator.biome_source.type":"Źródło Biomów","generator.biome_source.weirdness_noise":"Szum Dziwności","generator.seed":"Seed Wymiarów","generator.settings":"Ustawienia Generatora","generator.settings.biome":"Biom","generator.settings.lakes":"Jeziora","generator.settings.layers":"Warstwy","generator.settings.layers.entry":"Warstwa","generator.settings.layers.entry.block":"ID Bloku","generator.settings.layers.entry.height":"Wysokość","generator.settings.object":"Własne","generator.settings.presets.amplified":"Powiększony","generator.settings.presets.caves":"Jaskinie","generator.settings.presets.end":"Kres","generator.settings.presets.floating_islands":"Latające Wyspy","generator.settings.presets.nether":"Nether","generator.settings.presets.overworld":"Powierzchnia","generator.settings.string":"Preset","generator.settings.structures":"Struktury","generator.settings.structures.stronghold":"Lochy","generator.settings.structures.stronghold.count":"Ilość","generator.settings.structures.stronghold.distance":"Dystans","generator.settings.structures.stronghold.spread":"Rozsiew","generator.settings.structures.structures":"Struktury","generator.type":"Typ Generatora","generator_biome.biome":"Biom","generator_biome.parameters":"Parametry","generator_biome.parameters.altitude":"Wysokość","generator_biome.parameters.help":"Te parametry ustalają umieszczenie biomu. Każdy biom musi posiadać ich unikalną kombinację. Biomy z podobnymi wartościami wygenerują się blisko siebie.","generator_biome.parameters.humidity":"Wilgotność","generator_biome.parameters.offset":"Przesunięcie","generator_biome.parameters.temperature":"Temperatura","generator_biome.parameters.weirdness":"Dziwność","generator_biome_noise.amplitudes":"Amplitudy","generator_biome_noise.amplitudes.entry":"Oktawa %0%","generator_biome_noise.firstOctave":"Pierwsza Oktawa","generator_structure.salt":"Sól","generator_structure.separation":"Rozdzielenie","generator_structure.separation.help":"Minimalny dystans, w chunkach, pomiędzy dwiema strukturami tego typu.","generator_structure.spacing":"Spacjowanie","generator_structure.spacing.help":"Średni dystans, w chunkach, pomiędzy dwiema strukturami tego typu.","heightmap_type.MOTION_BLOCKING":"Blokowanie Ruchu","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"Blokowanie Ruchu (Bez Liści)","heightmap_type.OCEAN_FLOOR":"Podłoże Oceanu","heightmap_type.OCEAN_FLOOR_WG":"Podłoże Oceanu (Generator Świata)","heightmap_type.WORLD_SURFACE":"Powierzchnia Świata","heightmap_type.WORLD_SURFACE_WG":"Powierzchnia Świata (Generator Świata)","hide_source":"Ukryj Źródło","item.count":"Ilość","item.durability":"Wytrzymałość","item.enchantments":"Zaklęcia","item.enchantments.entry":"Zaklęcie","item.item":"ID Przedmiotu","item.nbt":"NBT","item.potion":"Mikstura","item.tag":"Tag Przedmiotu","key.advancements":"Postępy","key.attack":"Atak/Niszczenie","key.back":"Idź Do Tyłu","key.chat":"Otwórz Czat","key.command":"Napisz Komendę","key.drop":"Upuść Trzymany Przedmiot","key.forward":"Idź Do Przodu","key.fullscreen":"Przełącz Pełny Ekran","key.hotbar.1":"Slot Paska 1","key.hotbar.2":"Slot Paska 2","key.hotbar.3":"Slot Paska 3","key.hotbar.4":"Slot Paska 4","key.hotbar.5":"Slot Paska 5","key.hotbar.6":"Slot Paska 6","key.hotbar.7":"Slot Paska 7","key.hotbar.8":"Slot Paska 8","key.hotbar.9":"Slot Paska 9","key.inventory":"Otwórz/Zamknij Ekwipunek","key.jump":"Skok","key.left":"Idź W Lewo","key.loadToolbarActivator":"Załaduj Okienko Toolbar'ów","key.pickItem":"Wybierz Blok","key.playerlist":"Lista Graczy","key.right":"Idź W Prawo","key.saveToolbarActivator":"Zapisz Okienko Toolbar'ów","key.screenshot":"Zrób Screnshot","key.smoothCamera":"Włącz Płynną Kamerę","key.sneak":"Skradanie","key.spectatorOutlines":"Podświetl Graczy (Jako Spektator)","key.sprint":"Sprint","key.swapOffhand":"Zmień Przedmiot Z Drugą Ręką","key.togglePerspective":"Przełącz Kamerę","key.use":"Użyj Przedmiotu/Postaw Blok","location.biome":"Biom","location.block":"Blok","location.dimension":"Wymiar","location.feature":"Aspekt","location.fluid":"Płyn","location.light":"Światło","location.light.light":"Widzialny Poziom Światła","location.position":"Pozycja","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Zadymione","loot_condition_type.alternative":"Alternatywa","loot_condition_type.block_state_property":"Właściwości Bloku","loot_condition_type.damage_source_properties":"Źródło Obrażeń","loot_condition_type.entity_properties":"Właściwości Bytu","loot_condition_type.entity_scores":"Wyniki Bytu","loot_condition_type.inverted":"Odwrócone","loot_condition_type.killed_by_player":"Zabity przez Gracza","loot_condition_type.location_check":"Lokacja","loot_condition_type.match_tool":"Właściwości Narzędzia","loot_condition_type.random_chance":"Losowa Szansa","loot_condition_type.random_chance_with_looting":"Losowa Szansa z Grabieżą","loot_condition_type.reference":"Odniesienie","loot_condition_type.survives_explosion":"Przetrwa Wybuch","loot_condition_type.table_bonus":"Bonus Tabeli","loot_condition_type.time_check":"Czas","loot_condition_type.weather_check":"Pogoda","loot_entry.dynamic.name":"Nazwa","loot_entry.item.name":"Nazwa","loot_entry.loot_table.name":"Nazwa Tabeli Łupów","loot_entry.quality":"Jakość","loot_entry.tag.expand":"Rozwiń","loot_entry.tag.expand.help":"Jeżeli fałszywe, wpis zwróci całą zawartość tagu, w innym przypadku wpis zachowa się jak wiele wpisów przedmiotów.","loot_entry.tag.name":"Nazwa Tagu Przedmiotów","loot_entry.type":"Typ","loot_entry.weight":"Waga","loot_function_type.apply_bonus":"Dodaj Bonus","loot_function_type.copy_name":"Skopiuj Nazwę","loot_function_type.copy_nbt":"Skopiuj NBT","loot_function_type.copy_state":"Skopiuj Stany Bloku","loot_function_type.enchant_randomly":"Losowe Zaklinanie","loot_function_type.enchant_with_levels":"Zaklnij Poziomami","loot_function_type.exploration_map":"Właściwości Mapy Odkrywczej","loot_function_type.explosion_decay":"Zanik Wybuchu","loot_function_type.fill_player_head":"Wstaw Głowę Gracza","loot_function_type.furnace_smelt":"Przepal Piecem","loot_function_type.limit_count":"Limit Ilości","loot_function_type.looting_enchant":"Zaklęcie Grabieży","loot_function_type.set_attributes":"Ustaw Atrybuty","loot_function_type.set_contents":"Ustaw Zawartość","loot_function_type.set_count":"Ustaw Ilość","loot_function_type.set_damage":"Ustaw Damage","loot_function_type.set_data":"Ustaw Data","loot_function_type.set_loot_table":"Ustaw Tabelę Łupów","loot_function_type.set_lore":"Ustaw Lore","loot_function_type.set_name":"Ustaw Nazwę","loot_function_type.set_nbt":"Ustaw NBT","loot_function_type.set_stew_effect":"Ustaw Efekt Potrawki","loot_pool.bonus_rolls":"Dodatkowe Wybory","loot_pool.entries":"Wpisy","loot_pool.entries.entry":"Wpis","loot_pool.rolls":"Wybory","loot_pool.rolls.help":"Ilość wpisów które będą losowo wybierane.","loot_pool_entry_type.alternatives":"Alternatywy","loot_pool_entry_type.alternatives.help":"Sprawdza warunki wpisów dzieci i wykonuje pierwsze które je spełnia.","loot_pool_entry_type.dynamic":"Dynamiczne","loot_pool_entry_type.dynamic.help":"Pobiera drop specyficzny dla bloku.","loot_pool_entry_type.empty":"Puste","loot_pool_entry_type.empty.help":"Nic nie dodaje do puli.","loot_pool_entry_type.group":"Grupa","loot_pool_entry_type.group.help":"Wykonuje wszytkie wpisy dzieci gdy jej warunki są spełnione.","loot_pool_entry_type.item":"Przedmiot","loot_pool_entry_type.item.help":"Dodaje pojedynczy przedmiot.","loot_pool_entry_type.loot_table":"Tabela Łupów","loot_pool_entry_type.loot_table.help":"Dodaje zawartość innej tabeli łupów.","loot_pool_entry_type.sequence":"Sekwencja","loot_pool_entry_type.sequence.help":"Wykonuje wpisy dzieci dopóki pierwszy z nich nie spełnia warunków.","loot_pool_entry_type.tag":"Tag Przedmiotów","loot_pool_entry_type.tag.help":"Dodaje zawartość tagu przedmiotów.","loot_table.pools":"Pule","loot_table.pools.entry":"Pula","luck_based":"Zależy Od Szczęścia","nbt_operation.op":"Działanie","nbt_operation.op.append":"Dodaj","nbt_operation.op.merge":"Połącz","nbt_operation.op.replace":"Zamień","nbt_operation.source":"Źródło","nbt_operation.target":"Cel","noise_settings.bedrock_floor_position":"Pozycja Bedrockowego Podłoża","noise_settings.bedrock_floor_position.help":"Pozycja podłoża skały macierzystej. Większe liczby przesuwają podłogę w górę.","noise_settings.bedrock_roof_position":"Pozycja Bedrockowego Sufitu","noise_settings.bedrock_roof_position.help":"Relatywna pozycja sufitu skały macierzystej, zaczynając od wysokości świata. Większe liczby przesuwają sufit w dół.","noise_settings.biome":"Biom","noise_settings.default_block":"Domyślny Blok","noise_settings.default_fluid":"Domyślny Płyn","noise_settings.disable_mob_generation":"Wyłącz Generowanie Mobów","noise_settings.disable_mob_generation.help":"Jeżeli prawdziwe, moby nie będą pojawiać się podczas generacji.","noise_settings.name":"Nazwa","noise_settings.noise":"Opcje Szumu","noise_settings.noise.amplified":"Powiększony","noise_settings.noise.bottom_slide":"Przesuń Dół","noise_settings.noise.bottom_slide.help":"Dodaje lub usuwa teren na dole świata. Nic nie robi gdy rozmiar jest ustawiony na 0.","noise_settings.noise.bottom_slide.offset":"Przesunięcie","noise_settings.noise.bottom_slide.size":"Rozmiar","noise_settings.noise.bottom_slide.target":"Cel","noise_settings.noise.density_factor":"Współczynnik Gęstości","noise_settings.noise.density_factor.help":"Ustala jak bardzo wysokość wpływa na teren. Dodanie wartości stawiają ląd na dole. Wartości bliskie 0 produkują jednolity teren.","noise_settings.noise.density_offset":"Przesunięcie Gęstości","noise_settings.noise.density_offset.help":"Wpływa na średnią wysokość ladu. Wartość 0 produkuje średnią wysokość lądu na połowie wysokości. Dodatnie wartości zwiększają wysokość.","noise_settings.noise.height":"Wysokość","noise_settings.noise.island_noise_override":"Nadpisz Szum Wysp","noise_settings.noise.island_noise_override.help":"Gdy prawdziwe, teren wygeneruje się tak jak Kres, z jedną większą wyspą na środku i z wieloma wyspami na zewnątrz.","noise_settings.noise.random_density_offset":"Losowe Przesunięcie Gęstości","noise_settings.noise.sampling":"Próbkowanie","noise_settings.noise.sampling.xz_factor":"Czynnik XZ","noise_settings.noise.sampling.xz_scale":"Skala XZ","noise_settings.noise.sampling.y_factor":"Czynnik Y","noise_settings.noise.sampling.y_scale":"Skala Y","noise_settings.noise.simplex_surface_noise":"Szum Powierzchni Sympleksu","noise_settings.noise.size_horizontal":"Rozmiar Poziomy","noise_settings.noise.size_vertical":"Rozmiar Pionowy","noise_settings.noise.top_slide":"Górne Przesunięcie","noise_settings.noise.top_slide.help":"Dodaje lub usuwa teren na górze świata. Nic nie robi gdy rozmiar jest równy 0.","noise_settings.noise.top_slide.offset":"Przesunięcie","noise_settings.noise.top_slide.size":"Rozmiar","noise_settings.noise.top_slide.target":"Cel","noise_settings.sea_level":"Poziom Morza","noise_settings.structures":"Struktury","noise_settings.structures.stronghold":"Loch","noise_settings.structures.stronghold.count":"Ilość","noise_settings.structures.stronghold.distance":"Dystans","noise_settings.structures.stronghold.spread":"Rozsiew","noise_settings.structures.structures":"Struktury","player.advancements":"Postępy","player.advancements.entry":"Postęp","player.gamemode":"Tryb Gry","player.level":"Poziom XP","player.recipes":"Przepisy","player.stats":"Statystyki","player.stats.entry":"Statystyka","pos_rule_test.always_true":"Zawsze Prawdziwe","pos_rule_test.axis":"Oś","pos_rule_test.axis.x":"X","pos_rule_test.axis.y":"Y","pos_rule_test.axis.z":"Z","pos_rule_test.axis_aligned_linear_pos":"Wyrównana Do Osi Pozycja Liniowa","pos_rule_test.linear_pos":"Pozycja Liniowa","pos_rule_test.max_chance":"Maksymalna Szansa","pos_rule_test.max_dist":"Maksymalny Dystans","pos_rule_test.min_chance":"Minimalna Szansa","pos_rule_test.min_dist":"Minimalny Dystans","pos_rule_test.predicate_type":"Typ","processor.block_age.mossiness":"Mchowość","processor.block_ignore.blocks":"Bloki","processor.block_ignore.blocks.entry":"Stan","processor.block_rot.integrity":"Integralność","processor.gravity.heightmap":"Mapa Wysokości","processor.gravity.offset":"Przesunięcie","processor.processor_type":"Typ","processor.rule.rules":"Zasady","processor.rule.rules.entry":"Zasada","processor_list.processors":"Procesory","processor_list.processors.entry":"Procesor","processor_rule.input_predicate":"Predicate Wejściowy","processor_rule.location_predicate":"Predicate Lokacji","processor_rule.output_nbt":"Wyjściowe NBT","processor_rule.output_state":"Wyjściowy Stan","processor_rule.position_predicate":"Predicate Pozycji","processors.object":"Własne","processors.string":"Odniesienie","range.binomial":"Dwumianowy","range.max":"Maks","range.min":"Min","range.n":"n","range.number":"Dokładne","range.object":"Zasięg","range.p":"p","range.uniform":"Jednolity","requirements":"Wymagania","rule_test.always_true":"Zawsze Prawda","rule_test.block":"Blok","rule_test.block_match":"Blok Zgadza Się","rule_test.block_state":"Stan","rule_test.blockstate_match":"Stan Bloku Zgadza Się","rule_test.predicate_type":"Typ","rule_test.probability":"Prawdopodobieństwo","rule_test.random_block_match":"Losowy Blok Zgadza SIę","rule_test.random_blockstate_match":"Stan Losowego Bloku Zgadza Się","rule_test.tag":"Tag","rule_test.tag_match":"Tag Zgadza SIę","slot.chest":"Skrzynia","slot.feet":"Stopy","slot.head":"Głowa","slot.legs":"Nogi","slot.mainhand":"Główna Ręka","slot.offhand":"Druga Ręka","statistic.stat":"Statystyka","statistic.type":"Typ","statistic.type.broken":"Zepsute","statistic.type.crafted":"Zcraftowane","statistic.type.custom":"Własne","statistic.type.dropped":"Upuszczone","statistic.type.killed":"Zabite","statistic.type.killedByTeam":"Zabite Przez Drużynę","statistic.type.killed_by":"Zabite Przez","statistic.type.mined":"Wykopane","statistic.type.picked_up":"Podniesione","statistic.type.teamkill":"Zabito Drużynę","statistic.type.used":"Użyte","statistic.value":"Wartość","status_effect.ambient":"Pasywny","status_effect.amplifier":"Poziom","status_effect.duration":"Długość","status_effect.visible":"Widoczny","structure_feature.biome_temp":"Temperatura Biomu","structure_feature.biome_temp.cold":"Zimny","structure_feature.biome_temp.warm":"Ciepły","structure_feature.cluster_probability":"Prawdopodobieństwo Skupiska","structure_feature.config":"Konfiguracja","structure_feature.is_beached":"Jest Na Plaży","structure_feature.large_probability":"Duże Prawdopodobieństwo","structure_feature.portal_type":"Typ Portalu","structure_feature.portal_type.desert":"Pustynia","structure_feature.portal_type.jungle":"Dżungla","structure_feature.portal_type.mountain":"Góra","structure_feature.portal_type.nether":"Nether","structure_feature.portal_type.ocean":"Ocean","structure_feature.portal_type.standard":"Standardowy","structure_feature.portal_type.swamp":"Bagno","structure_feature.probability":"Prawdopodobieństwo","structure_feature.size":"Rozmiar","structure_feature.start_pool":"Pula Startowa","structure_feature.type":"Typ","structure_feature.type.mesa":"Mesa","structure_feature.type.normal":"Normalne","surface_builder.config":"Konfiguracja","surface_builder.top_material":"Materiał Na Górze","surface_builder.type":"Typ","surface_builder.under_material":"Materiał Pod Spodem","surface_builder.underwater_material":"Podwodny Materiał","table.type":"Typ","table.type.block":"Blok","table.type.chest":"Skrzynia","table.type.empty":"Pusty","table.type.entity":"Byt","table.type.fishing":"Łowienie","table.type.generic":"Zwykły","tag.replace":"Zastąp","tag.values":"Wartości","template_element.element_type":"Typ","template_element.elements":"Części","template_element.feature":"Aspekt","template_element.location":"Lokacja","template_element.processors":"Procesory","template_element.projection":"Projekcja","template_element.projection.rigid":"Sztywny","template_element.projection.terrain_matching":"Dopasowywanie Terenów","template_pool.elements":"Części","template_pool.elements.entry":"Część","template_pool.elements.entry.element":"Część","template_pool.elements.entry.weight":"Waga","template_pool.fallback":"Rezerwa","template_pool.name":"Nazwa","text_component":"Text Component","text_component.boolean":"Boolean","text_component.list":"Lista","text_component.number":"Liczba","text_component.object":"Obiekt","text_component.string":"String","text_component_object.block":"Blok","text_component_object.bold":"Pogrubiony","text_component_object.clickEvent":"Zdarzenie Przy Kliknięciu","text_component_object.clickEvent.action":"Akcja","text_component_object.clickEvent.action.change_page":"Zmień Stronę","text_component_object.clickEvent.action.copy_to_clipboard":"Skopiuj Do Schowka","text_component_object.clickEvent.action.open_file":"Otwórz Plik","text_component_object.clickEvent.action.open_url":"Otwórz URL","text_component_object.clickEvent.action.run_command":"Wykonaj Komendę","text_component_object.clickEvent.action.suggest_command":"Sugeruj Komendę","text_component_object.clickEvent.value":"Wartosć","text_component_object.color":"Kolor","text_component_object.entity":"Byt","text_component_object.extra":"Extra","text_component_object.font":"Czcionka","text_component_object.hoverEvent":"Zdarzenie Przy Najechaniu","text_component_object.hoverEvent.action":"Akcja","text_component_object.hoverEvent.action.show_entity":"Pokaż Byt","text_component_object.hoverEvent.action.show_item":"Pokaż Przedmiot","text_component_object.hoverEvent.action.show_text":"Pokaż Tekst","text_component_object.hoverEvent.contents":"Zawartość","text_component_object.hoverEvent.value":"Wartość","text_component_object.insertion":"Insertion","text_component_object.interpret":"Interpretuj","text_component_object.italic":"Pochylony","text_component_object.keybind":"Klawisz","text_component_object.nbt":"NBT","text_component_object.obfuscated":"Efekt Matrixa","text_component_object.score":"Wynik","text_component_object.score.name":"Nazwa","text_component_object.score.objective":"Cel","text_component_object.score.value":"Wartość","text_component_object.selector":"Selektor","text_component_object.storage":"Storage","text_component_object.strikethrough":"Przekreślenie","text_component_object.text":"Tekst","text_component_object.translate":"Tłumaczony Tekst","text_component_object.underlined":"Podkreślenie","text_component_object.with":"Tłumacz Z","tree_decorator.alter_ground.provider":"Dostawca Stanu","tree_decorator.beehive.probability":"Prawdopodobieństwo","tree_decorator.cocoa.probability":"Prawdopodobieństwo","tree_decorator.type":"Typ","true":"Prawda","trunk_placer.base_height":"Bazowa Wysokość","trunk_placer.height_rand_a":"Losowa Wysokość A","trunk_placer.height_rand_b":"Losowa Wysokość B","trunk_placer.type":"Typ","uniform_int.base":"Baza","uniform_int.number":"Dokładne","uniform_int.object":"Jednolite","uniform_int.spread":"Rozsiew","unset":"Nieustawione","world.bonus_chest":"Postaw Skrzynkę Bonusową","world.generate_features":"Generuj Aspekty","world.seed":"Seed","world_settings.bonus_chest":"Postaw Skrzynkę Bonusową","world_settings.dimensions":"Wymiary","world_settings.generate_features":"Generuj Aspekty","world_settings.seed":"Seed Świata","worldgen.warning":"Ta funkcja jest wysoce eksperymentalna i niestabilna. Może zmienić się w przyszłych wersjach. Spodziewaj się crash'ów podczas tworzenia światów.","worldgen/biome_source.checkerboard":"Szachownica","worldgen/biome_source.checkerboard.help":"Biomy generują się w szachownicy.","worldgen/biome_source.fixed":"Stały","worldgen/biome_source.fixed.help":"Jeden biom na cały świat.","worldgen/biome_source.multi_noise":"Multi Szum","worldgen/biome_source.multi_noise.help":"Własne rozstawienie biomów z konfigurowalnymi parametrami.","worldgen/biome_source.the_end":"Kres","worldgen/biome_source.the_end.help":"Dystrybucja biomów dla Kresu.","worldgen/biome_source.vanilla_layered":"Vanilla Warstwowy","worldgen/biome_source.vanilla_layered.help":"Dystrybucja biomów dla Powierzchni.","worldgen/block_placer_type.column_placer":"Kolumna","worldgen/block_placer_type.double_plant_placer":"Podwójna Roślina","worldgen/block_placer_type.simple_block_placer":"Prosty","worldgen/block_state_provider_type.forest_flower_provider":"Kwiecisty Las","worldgen/block_state_provider_type.plain_flower_provider":"Kwiecista Równina","worldgen/block_state_provider_type.rotated_block_provider":"Obrócony Blok","worldgen/block_state_provider_type.simple_state_provider":"Prosty Stan","worldgen/block_state_provider_type.weighted_state_provider":"Ważony Stan","worldgen/carver.canyon":"Kanion","worldgen/carver.cave":"Jaskinia","worldgen/carver.nether_cave":"Netherowa Jaskina","worldgen/carver.underwater_canyon":"Podwodny Kanion","worldgen/carver.underwater_cave":"Podwodna Jaskinia","worldgen/chunk_generator.debug":"Świat Debugowy","worldgen/chunk_generator.flat":"Superpłaski","worldgen/chunk_generator.noise":"Domyślny","worldgen/feature_size_type.three_layers_feature_size":"Trzy Warstwy","worldgen/feature_size_type.two_layers_feature_size":"Dwie Warstwy","worldgen/foliage_placer_type.acacia_foliage_placer":"Akacja","worldgen/foliage_placer_type.blob_foliage_placer":"Blob","worldgen/foliage_placer_type.bush_foliage_placer":"Krzak","worldgen/foliage_placer_type.dark_oak_foliage_placer":"Ciemny Dąb","worldgen/foliage_placer_type.fancy_foliage_placer":"Ozdobny","worldgen/foliage_placer_type.jungle_foliage_placer":"Dżunglowy","worldgen/foliage_placer_type.mega_pine_foliage_placer":"Mega Sosnowy","worldgen/foliage_placer_type.pine_foliage_placer":"Sosnowy","worldgen/foliage_placer_type.spruce_foliage_placer":"Świerkowy","worldgen/structure_pool_element.empty_pool_element":"Pusty","worldgen/structure_pool_element.feature_pool_element":"Aspekt","worldgen/structure_pool_element.legacy_single_pool_element":"Pojedynczy Legacy","worldgen/structure_pool_element.list_pool_element":"Lista","worldgen/structure_pool_element.single_pool_element":"Pojedynczy","worldgen/structure_processor.blackstone_replace":"Zamień Czernit","worldgen/structure_processor.block_age":"Wiek Bloku","worldgen/structure_processor.block_ignore":"Ignoruj Blok","worldgen/structure_processor.block_rot":"Gnicie Bloku","worldgen/structure_processor.gravity":"Grawitacja","worldgen/structure_processor.jigsaw_replacement":"Zamiana Puzzli","worldgen/structure_processor.lava_submerged_block":"Blok Zanurzony W Lawie","worldgen/structure_processor.nop":"Nic","worldgen/structure_processor.rule":"Zasada","worldgen/tree_decorator_type.alter_ground":"Zmień Ziemię","worldgen/tree_decorator_type.beehive":"Ul","worldgen/tree_decorator_type.cocoa":"Kakao","worldgen/tree_decorator_type.leave_vine":"Zostaw Pnącza","worldgen/tree_decorator_type.trunk_vine":"Pnącza Na Pniu","worldgen/trunk_placer_type.dark_oak_trunk_placer":"Ciemny Dąb","worldgen/trunk_placer_type.fancy_trunk_placer":"Ozdobny","worldgen/trunk_placer_type.forking_trunk_placer":"Rozwidlenie","worldgen/trunk_placer_type.giant_trunk_placer":"Gigantyczny","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"Mega Jungla","worldgen/trunk_placer_type.straight_trunk_placer":"Prosty","advancement":"Postęp","copy":"Kopiuj","dimension-type":"Typ Wymiaru","download":"Pobierz","language":"Język","loot-table":"Tabela Łupów","predicate":"Predicate","reset":"Reset","share":"Podziel się","title.generator":"Generator %0%","title.home":"Generatory Data Packów","preview":"Wizualizuj","world":"Ustawienia Świata","worldgen/biome":"Biom","worldgen/carver":"Rzeźbiarz","worldgen/feature":"Aspekt","worldgen/noise-settings":"Ustawienia Szumu","worldgen/processor-list":"Lista Procesorów","worldgen/structure-feature":"Aspekt Struktury","worldgen/surface-builder":"Konstruktor Powierzchni","worldgen/template-pool":"Pula Szablonów"} \ No newline at end of file diff --git a/locales/pt.json b/locales/pt.json deleted file mode 100644 index 4f68d55f..00000000 --- a/locales/pt.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"Critério","advancement.display":"Exibição","advancement.display.announce_to_chat":"Anunciar no Bate-papo","advancement.display.background":"Segundo Plano","advancement.display.description":"Descrição","advancement.display.frame":"Quadro","advancement.display.frame.challenge":"Desafio","advancement.display.frame.goal":"Objetivo","advancement.display.frame.task":"Tarefa","advancement.display.help":"Se presente, o avanço será visível nas guias de avanço.","advancement.display.hidden":"Escondido","advancement.display.icon":"Ícone","advancement.display.icon.item":"Ícone do Item","advancement.display.icon.nbt":"Ícone do NBT","advancement.display.show_toast":"Mostrar Respostas","advancement.display.title":"Título","advancement.parent":"Conquistas dos Parentes","advancement.rewards":"Prêmios","advancement.rewards.experience":"Experiência","advancement.rewards.function":"Função","advancement.rewards.loot":"Tabelas de Pilhagem","advancement.rewards.recipes":"Receitas","advancement_trigger.bee_nest_destroyed":"Ninho de abelha destruído","advancement_trigger.bred_animals":"Animais Reproduzidos","advancement_trigger.brewed_potion":"Poção Fabricada","advancement_trigger.changed_dimension":"Dimensão Alterada","advancement_trigger.channeled_lightning":"Raio Gerado","advancement_trigger.construct_beacon":"Construir Sinalizador","advancement_trigger.consume_item":"Consumir Item","advancement_trigger.cured_zombie_villager":"Aldeão Zumbi Curado","advancement_trigger.effects_changed":"Efeitos Alterados","advancement_trigger.enchanted_item":"Item Encantado","advancement_trigger.enter_block":"Inserir Block","advancement_trigger.entity_hurt_player":"Entidade Ferida por Jogador","advancement_trigger.entity_killed_player":"Entidade Morta por Jogador","advancement_trigger.filled_bucket":"Balde Enchido","advancement_trigger.fishing_rod_hooked":"Vara de Pesca Enganchada","advancement_trigger.hero_of_the_village":"Herói da Vila","advancement_trigger.impossible":"Impossível","advancement_trigger.inventory_changed":"Inventário Alterado","advancement_trigger.item_durability_changed":"Duração do Item Alterado","advancement_trigger.item_used_on_block":"Item Usado No Bloco","advancement_trigger.killed_by_crossbow":"Morto por Besta","advancement_trigger.levitation":"Levitação","advancement_trigger.location":"Localização","advancement_trigger.nether_travel":"Viagem ao Mundo Inferior","advancement_trigger.placed_block":"Colo","advancement_trigger.player_hurt_entity":"Bloco Colocado","advancement_trigger.player_killed_entity":"Jogador Morto por Entidade","advancement_trigger.recipe_unlocked":"Receita Desbloqueada","advancement_trigger.safely_harvest_honey":"Colher Mel com Segurança","advancement_trigger.shot_crossbow":"Atirar com Besta","advancement_trigger.slept_in_bed":"Dormido na Cama","advancement_trigger.slide_down_block":"Deslize em Bloco","advancement_trigger.summoned_entity":"Invocar Entidade","advancement_trigger.tame_animal":"Domar Animal","advancement_trigger.tick":"Tick","advancement_trigger.used_ender_eye":"Olho do Ender usado","advancement_trigger.used_totem":"Totem Usado","advancement_trigger.villager_trade":"Comércio de Aldeões","advancement_trigger.voluntary_exile":"Exílio Voluntário","attribute.generic_armor":"Armadura","attribute.generic_armor_toughness":"Dureza da Armadura","attribute.generic_attack_damage":"Dano de Ataque","attribute.generic_attack_knockback":"Repulsão","attribute.generic_attack_speed":"Velocidade de Ataque","attribute.generic_flying_speed":"Velocidade de Voo","attribute.generic_follow_range":"Distância de Perseguição","attribute.generic_knockback_resistance":"Resistência de Repulsão","attribute.generic_luck":"Sorte","attribute.generic_max_health":"Vida Máxima","attribute.generic_movement_speed":"Velocidade de Movimento","attribute.horse.jump_strength":"Força do Salto","attribute.zombie.spawn_reinforcements":"Spawn para Reforços","attribute_modifier.amount":"Quantidade","attribute_modifier.attribute":"Atibuto","attribute_modifier.name":"Nome","attribute_modifier.operation":"Operação","attribute_modifier.operation.addition":"Adição","attribute_modifier.operation.multiply_base":"Multiplicação Base","attribute_modifier.operation.multiply_total":"Multiplicação Total","attribute_modifier.slot":"Slot","attribute_modifier.slot.list":"Múltiplos","attribute_modifier.slot.string":"Único","badge.experimental":"Experimental","badge.unstable":"Instável","biome.category":"Categoria","biome.creature_spawn_probability":"Probabilidade de Geração de Criatura","biome.depth":"Profundidade","biome.depth.help":"Aumenta ou diminui o terreno. Valores positivos são considerados terra e negativos são oceanos.","biome.effects":"Efeitos","biome.effects.additions_sound":"Som de Adições","biome.effects.additions_sound.sound":"Som","biome.effects.additions_sound.tick_chance":"Chance de Tick","biome.effects.ambient_sound":"Som Ambiente","biome.effects.fog_color":"Cor da Névoa","biome.effects.foliage_color":"Cor da Folhagem","biome.effects.grass_color":"Cor da Grama","biome.effects.grass_color_modifier":"Modificador da Cor da Grama","biome.effects.grass_color_modifier.none":"Nenhum","biome.effects.grass_color_modifier.swamp":"Pântano","biome.effects.mood_sound.sound":"Som","biome.effects.mood_sound.tick_delay":"Demora do Tick","biome.effects.music":"Música","biome.effects.music.max_delay":"Demora Máxima","biome.effects.music.min_delay":"Demora Mínima","biome.effects.music.replace_current_music":"Substituir Música Atual","biome.effects.music.sound":"Som","biome.effects.particle":"Partícula","biome.effects.particle.options":"Opções","biome.effects.particle.options.type":"Tipo da Partícula","biome.effects.particle.probability":"Probabilidade","biome.effects.sky_color":"Cor do Céu","biome.effects.water_color":"Cor da Água","biome.effects.water_fog_color":"Cor da Névoa da Água","biome.features":"Características","biome.features.entry.entry":"Característica","biome.player_spawn_friendly.help":"Se verdadeiro, o local de nascimento do mundo será mais provável de ser nesse bioma.","biome.precipitation":"Precipitação","biome.precipitation.none":"Nenhum","biome.precipitation.rain":"Chuva","biome.precipitation.snow":"Neve","biome.scale":"Escala","biome.scale.help":"Estica verticalmente o terreno. Valores menores produzem terrenos mais planos.","biome.spawners":"Geradores","biome.spawners.ambient":"Ambiente","biome.spawners.creature":"Criatura","biome.spawners.entry.maxCount":"Quantidade Máxima","biome.spawners.entry.minCount":"Quantidade Mínima","biome.spawners.entry.type":"Tipo","biome.spawners.entry.weight":"Peso","biome.spawners.misc":"Diversos","biome.spawners.monster":"Monstro","biome.spawners.water_ambient":"Ambiente Aquático","biome.spawners.water_creature":"Criatura Aquática","biome.starts.help":"Lista de características de estruturas configuradas.","biome.temperature":"Temperatura","biome.temperature_modifier":"Modificador da Temperatura","biome.temperature_modifier.frozen":"Congelado","biome.temperature_modifier.none":"Nenhum","block.block":"ID do Bloco","block.nbt":"NBT","block.state":"Estados do Bloco","block.tag":"Tag do Bloco","block_placer.column_placer.min_size":"Tamanho Mínimo","block_placer.type":"Tipo","block_state.Name":"Nome","block_state.Properties":"Propriedades","block_state_provider.rotated_block_provider.state":"Estado","block_state_provider.simple_state_provider.state":"Estado","block_state_provider.type":"Tipo","block_state_provider.weighted_state_provider.entries":"Entradas","block_state_provider.weighted_state_provider.entries.entry.data":"Estado","block_state_provider.weighted_state_provider.entries.entry.weight":"Peso","carver.config":"Configuração","carver.config.probability":"Probabilidade","carver.type":"Tipo","children.entry":"Entrada","condition.alternative.terms":"Termos","condition.block_state_property.block":"Bloco","condition.block_state_property.properties":"Estado do Bloco","condition.condition":"Condição","condition.damage_source":"Fonte do Dano","condition.entity_properties.entity":"Entidade","condition.entity_scores.entity":"Entidade","condition.entity_scores.scores":"Pontos","condition.entry":"Predicado","condition.inverted.term":"Termo","condition.item":"Item","condition.killed_by_player.inverse":"Inverter","condition.list":"Múltiplo","condition.location":"Localização","condition.location_check.offsetX":"Deslocamento X","condition.location_check.offsetY":"Deslocamento Y","condition.location_check.offsetZ":"Deslocamento Z","condition.object":"Simples","condition.random_chance.chance":"Chance","condition.random_chance_with_looting.chance":"Chance","condition.random_chance_with_looting.looting_multiplier":"Multiplicador de Pilhagem","condition.reference.name":"Nome do Predicado","condition.table_bonus.chances":"Chances","condition.table_bonus.chances.entry":"Chance","condition.table_bonus.enchantment":"Encantamento","condition.time_check.period":"Período","condition.time_check.period.help":"Se presente, o tempo será dividido em módulo por esse valor. Por exemplo, se definido como 24000, o valor funcionará em um período de dias.","condition.time_check.value":"Valor","condition.weather_check.raining":"Chovendo","condition.weather_check.thundering":"Trovejando","conditions":"Condições","conditions.entry":"Condição","conditions.list":"Condições","copy_source.block_entity":"Bloco Entidade","copy_source.direct_killer":"Assassino Direto","copy_source.killer":"Assassino","criterion.bee_nest_destroyed.block":"Bloco","criterion.bee_nest_destroyed.num_bees_inside":"Número de Abelhas Dentro","criterion.bred_animals.child":"Filho","criterion.bred_animals.parent":"Parente","criterion.bred_animals.partner":"Parceiro","criterion.brewed_potion.potion":"Poção","criterion.changed_dimension.from":"Do","criterion.changed_dimension.to":"Para","criterion.channeled_lightning.victims":"Vítimas","criterion.channeled_lightning.victims.entry":"Entidade","criterion.conditions":"Condição","criterion.construct_beacon.beacon_level":"Nível da Pirâmide","criterion.consume_item.item":"Item","criterion.cured_zombie_villager.villager":"Aldeão","criterion.cured_zombie_villager.zombie":"Zumbi","criterion.effects_changed.effects":"Efeitos","criterion.enchanted_item.item":"Item","criterion.enchanted_item.levels":"Nível de XP","criterion.enter_block.block":"Bloco","criterion.enter_block.state":"Estados","criterion.entity_hurt_player.damage":"Dano","criterion.entity_killed_player.entity":"Origem da Entidade","criterion.entity_killed_player.killing_blow":"Matando Golpe","criterion.filled_bucket.item":"Item","criterion.fishing_rod_hooked.entity":"Entidade Puxada","criterion.fishing_rod_hooked.item":"Item","criterion.hero_of_the_village.location":"Localização","criterion.inventory_changed.items":"Itens","criterion.inventory_changed.items.entry":"Item","criterion.inventory_changed.slots":"Slots","criterion.inventory_changed.slots.empty":"Slots vazios","criterion.inventory_changed.slots.full":"Slots cheios","criterion.inventory_changed.slots.occupied":"Slots Ocupados","criterion.item_durability_changed.delta":"Delta","criterion.item_durability_changed.durability":"Durabilidade","criterion.item_durability_changed.item":"Item","criterion.item_used_on_block.item":"Item","criterion.item_used_on_block.location":"Localização","criterion.killed_by_crossbow.unique_entity_types":"Quantidade de Tipos de Entidade Exclusivas","criterion.killed_by_crossbow.victims":"Vítimas","criterion.killed_by_crossbow.victims.entry":"Entidade","criterion.levitation.distance":"Distância","criterion.levitation.duration":"Duração","criterion.location.location":"Localização","criterion.nether_travel.distance":"Distância","criterion.player_hurt_entity.entity":"Vítima da Entidade","criterion.recipe_unlocked.recipe":"Receita","criterion.rod":"Vara","criterion.summoned_entity.entity":"Entidade","criterion.trigger":"Gatilho","damage.blocked":"Bloqueado","damage.dealt":"Dano Causado","damage.taken":"Dano Recebido","damage.type":"Tipo de Dano","damage_source.bypasses_armor":"Ignorar Armadura","damage_source.bypasses_invulnerability":"Vazio","damage_source.bypasses_magic":"Morrer de Fome","damage_source.direct_entity":"Indicação da Entidade","damage_source.is_explosion":"Explozão","damage_source.is_fire":"Fogo","damage_source.is_lightning":"Raio","damage_source.is_magic":"Mágica","damage_source.is_projectile":"Projétil","damage_source.source_entity":"Origem da entidade","dimension.overworld":"Mundo","dimension.the_end":"O fim","dimension.the_nether":"O Inferno","distance.absolute":"Absoluto","distance.horizontal":"Horizontal","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Afiação aquática","enchantment.bane_of_arthropods":"Maldição dos Artrópodes","enchantment.binding_curse":"Maldição da Vinculação","enchantment.blast_protection":"Proteção Contra Explosões","enchantment.channeling":"Canalização","enchantment.depth_strider":"Passos Profundos","enchantment.efficiency":"Eficiência","enchantment.feather_falling":"Queda Suave","enchantment.fire_aspect":"Aspecto de Fogo","enchantment.fire_protection":"Proteção contra Fogo","enchantment.flame":"Chama","enchantment.fortune":"Fortuna","enchantment.frost_walker":"Passos Gelados","enchantment.impaling":"Empalamento","enchantment.infinity":"Infinidade","enchantment.knockback":"Repulsão","enchantment.levels":"Níveis","enchantment.looting":"Saque","enchantment.loyalty":"Lealdade","enchantment.luck_of_the_sea":"Sorte do Mar","enchantment.lure":"Isca","enchantment.mending":"Remendo","enchantment.multishot":"Tiro múltiplo","enchantment.piercing":"Perfuração","enchantment.power":"Força","enchantment.projectile_protection":"Proteção Contra Projéteis","enchantment.protection":"Proteção","enchantment.punch":"Impacto","enchantment.quick_charge":"Carga Rápida","enchantment.respiration":"Respiração","enchantment.riptide":"Correnteza","enchantment.sharpness":"Afiação","enchantment.silk_touch":"Toque Suave","enchantment.smite":"Julgamento","enchantment.sweeping":"Alcance","enchantment.thorns":"Espinhos","enchantment.unbreaking":"Inquebrável","enchantment.vanishing_curse":"Maldição do Desaparecimento","entity.distance":"Distância","entity.effects":"Efeitos","entity.equipment":"Equipamento","entity.flags":"Bandeiras","entity.isBaby":"Bebê","entity.isOnFire":"Em chamas","entity.isSneaking":"Agachado","entity.isSprinting":"Correndo","entity.isSwimming":"Nadando","entity.location":"Localização","entity.nbt":"NBT","entity.player":"Jogador","entity.team":"Time","entity.type":"Entidade","entity_source.killer":"Assassino","entity_source.killer_player":"Jogador Assassino","entity_source.this":"Este","error":"Erro","false":"Falso","fluid.fluid":"ID do Fluido","fluid.state":"Estados do Fluido","fluid.tag":"Tag do Fluido","function.apply_bonus.enchantment":"Encantamento","function.apply_bonus.formula":"Fórmula","function.apply_bonus.formula.binomial_with_bonus_count":"Binomial com Quantidade Bônus","function.apply_bonus.formula.ore_drops":"Drop de Minério","function.apply_bonus.formula.uniform_bonus_count":"Quantidade Bônus Uniforme","function.apply_bonus.parameters.bonusMultiplier":"Multiplicador","function.apply_bonus.parameters.extra":"Extra","function.apply_bonus.parameters.probability":"Probabilidade","function.copy_name.source":"Origem","function.copy_state.block":"Bloco","function.copy_state.properties":"Propriedades","function.enchant_randomly.enchantments":"Encantamentos Opcionais","function.enchant_with_levels.levels":"Nívels","function.enchant_with_levels.treasure":"Tesouro","function.exploration_map.decoration":"Decoração","function.exploration_map.destination":"Destinatino","function.exploration_map.search_radius":"Raio de Busca (Chunks)","function.exploration_map.skip_existing_chunks":"Ignorar Chunks Existentes","function.exploration_map.zoom":"Zoom","function.function":"Função","function.looting_enchant.limit":"Limite","function.set_count.count":"Contagem","function.set_damage.damage":"Dano","function.set_data.data":"Dado","function.set_lore.lore":"SubNome","function.set_lore.replace":"Substituir","function.set_name.entity":"Entidade","function.set_name.name":"Nome","function.set_nbt.tag":"NBT","function.set_stew_effect.effects.entry.duration":"Duração","function.set_stew_effect.effects.entry.type":"Efeito","gamemode.adventure":"Aventura","gamemode.creative":"Criativo","gamemode.spectator":"Espectador","gamemode.survival":"Sobrevivência","hide_source":"Ocultar Origem","item.count":"Quantidade","item.durability":"Durabilidade","item.enchantments.entry":"Encantamentos","item.item":"ID do Item","item.nbt":"NBT","item.potion":"Porção","item.tag":"Tag do Item","location.biome":"Bioma","location.block":"Bloco","location.dimension":"Dimensão","location.feature":"Característica","location.fluid":"Fluido","location.light":"Luz","location.light.light":"Nível da Luz Visível","location.position":"Posição","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","loot_condition_type.alternative":"Alternativo (OU)","loot_condition_type.block_state_property":"Propriedade do Bloco","loot_condition_type.damage_source_properties":"Fonte do Dano","loot_condition_type.entity_properties":"Propriedade da Entidade","loot_condition_type.entity_scores":"Pontos da Entidade","loot_condition_type.inverted":"Invertido (NÃO)","loot_condition_type.killed_by_player":"Morto por Jogador","loot_condition_type.location_check":"Localização","loot_condition_type.match_tool":"Propriedade da Ferramenta","loot_condition_type.random_chance":"Chance aleatória","loot_condition_type.random_chance_with_looting":"Chance aleatória com Pilhagem","loot_condition_type.reference":"Referência","loot_condition_type.survives_explosion":"Sobrevive à Explosão","loot_condition_type.table_bonus":"Bônus de Mesa","loot_condition_type.time_check":"Tempo","loot_condition_type.weather_check":"Clima","loot_entry.item.name":"Nome","loot_entry.quality":"Qualidade","loot_entry.tag.expand":"Expandir","loot_entry.tag.expand.help":"Se desabilitado, a entrada retornará todo o conteúdo da tag, caso contrário, a entrada se comportará como várias entradas de itens","loot_entry.type":"Tipo","loot_entry.weight":"Peso","loot_function_type.apply_bonus":"Aplicar Bônus","loot_function_type.copy_name":"Copiar Nome","loot_function_type.copy_nbt":"Copiar NBT","loot_function_type.copy_state":"Copiar Estado do Bloco","loot_function_type.enchant_randomly":"Encantamento Aleatório","loot_function_type.enchant_with_levels":"Encantamento com Nível","loot_function_type.exploration_map":"Propriedades do Mapa de Exploração","loot_function_type.explosion_decay":"Decaimento da Explosão","loot_function_type.fill_player_head":"Completar com Cabeça de Jogador","loot_function_type.furnace_smelt":"Forno fundido","loot_function_type.limit_count":"Limite de Quantidade","loot_function_type.looting_enchant":"Encantamento Pilhagem","loot_function_type.set_attributes":"Definir Atributos","loot_function_type.set_contents":"Definir Conteúdos","loot_function_type.set_count":"Definir Quantidades","loot_function_type.set_damage":"Definir Dano","loot_function_type.set_data":"Definir Dados","loot_function_type.set_lore":"Definir SubNome","loot_function_type.set_name":"Definir Nome","loot_function_type.set_nbt":"Definir NBT","loot_function_type.set_stew_effect":"Definir Efeito da Porção","loot_pool.bonus_rolls":"Rodadas Bônus","loot_pool.rolls":"Rodadas","loot_pool.rolls.help":"A quantidade de entradas escolhidas aleatoriamente","loot_pool_entry_type.alternatives":"Alternativas","loot_pool_entry_type.alternatives.help":"Tests condições das entradas filhas e executa a primeira que pode ser executada","loot_pool_entry_type.dynamic":"Dinâmica","loot_pool_entry_type.dynamic.help":"Obtém drops específicas do bloco","loot_pool_entry_type.empty":"Vazio","loot_pool_entry_type.empty.help":"Não adiciona nada ao pool","loot_pool_entry_type.group":"Grupo","loot_pool_entry_type.group.help":"Executa todas as entradas filhas quando as próprias condições passam","loot_pool_entry_type.item":"Item","loot_pool_entry_type.item.help":"Adiciona um único item","loot_pool_entry_type.loot_table":"Tabela de Itens","loot_pool_entry_type.loot_table.help":"Adiciona o conteúdo de outra tabela de itens","loot_pool_entry_type.sequence":"Sequência","loot_pool_entry_type.sequence.help":"Executa entradas filhas até a primeira que não pode ser executada devido as condições","loot_pool_entry_type.tag":"Tag do Item","luck_based":"Baseado na Sorte","nbt_operation.op":"Operação","nbt_operation.op.append":"Acrescentar","nbt_operation.op.merge":"Mesclar","nbt_operation.op.replace":"Substituir","nbt_operation.source":"Origem","nbt_operation.target":"Alvo","player.advancements":"Conquistas","player.gamemode":"Modo de Jogo","player.level":"Nível de EXP","player.recipes":"Receitas","player.stats":"Estatísticas","range.binomial":"Binomial","range.max":"Máximo","range.min":"Mínimo","range.n":"n","range.number":"Exato","range.object":"Alcance","range.p":"p","range.uniform":"Uniforme","requirements":"Exigências","slot.chest":"Baú","slot.feet":"Pé","slot.head":"Cabeça","slot.legs":"Pernas","slot.mainhand":"Mão Principal","slot.offhand":"Mão Oposta à Principal","statistic.stat":"Estatística","statistic.type":"Tipo","statistic.type.broken":"Quebrado","statistic.type.crafted":"Craftado","statistic.type.custom":"Personalizado","statistic.type.dropped":"Dropado","statistic.type.killed":"Morto","statistic.type.killedByTeam":"Porto por Time","statistic.type.killed_by":"Morto por","statistic.type.mined":"Minerado","statistic.type.picked_up":"Pegou","statistic.type.teamkill":"Time Morto","statistic.type.used":"Usado","statistic.value":"Valor","status_effect.ambient":"Ambiente","status_effect.amplifier":"Amplificado","status_effect.duration":"Duração","status_effect.visible":"Visível","table.type":"Tipo","table.type.block":"Bloco","table.type.chest":"Baú","table.type.empty":"Vazio","table.type.entity":"Entidade","table.type.fishing":"Pescaria","table.type.generic":"Genérico","true":"Verdadeiro","unset":"Desativar"} \ No newline at end of file diff --git a/locales/ru.json b/locales/ru.json deleted file mode 100644 index 7559a1a2..00000000 --- a/locales/ru.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"Условие","advancement.display":"Отображение","advancement.display.announce_to_chat":"Сообщение в чате","advancement.display.background":"Фон","advancement.display.description":"Описание","advancement.display.frame":"Рамка","advancement.display.frame.challenge":"Испытание","advancement.display.frame.goal":"Цель","advancement.display.frame.task":"Обычная","advancement.display.help":"Если указано, достижение будет отображаться в интерфейсе достижений.","advancement.display.hidden":"Скрыто","advancement.display.icon":"Значок","advancement.display.icon.item":"Предмет значка","advancement.display.icon.nbt":"NBT значка","advancement.display.show_toast":"Всплывающее уведомление","advancement.display.title":"Заголовок","advancement.parent":"Предок","advancement.rewards":"Награды","advancement.rewards.experience":"Опыт","advancement.rewards.function":"Функция","advancement.rewards.loot":"Таблицы достижений","advancement.rewards.recipes":"Рецепты","advancement_trigger.bee_nest_destroyed":"Разрушил пчелиное гнездо","advancement_trigger.bred_animals":"Свёл животных","advancement_trigger.brewed_potion":"Сварил зелье","advancement_trigger.changed_dimension":"Сменил измерение","advancement_trigger.channeled_lightning":"Поразил «Громовержцем»","advancement_trigger.construct_beacon":"Построил маяк","advancement_trigger.consume_item":"Съел/Выпил предмет","advancement_trigger.cured_zombie_villager":"Излечил зомби-крестьянина","advancement_trigger.effects_changed":"Эффекты изменены","advancement_trigger.enchanted_item":"Зачаровал предмет","advancement_trigger.enter_block":"Находится в блоке","advancement_trigger.entity_hurt_player":"Получил урон","advancement_trigger.entity_killed_player":"Убит сущностью","advancement_trigger.filled_bucket":"Наполнил ведро","advancement_trigger.fishing_rod_hooked":"Подцепил крючком","advancement_trigger.hero_of_the_village":"Герой деревни","advancement_trigger.impossible":"Невозможный","advancement_trigger.inventory_changed":"Инвентарь изменён","advancement_trigger.item_durability_changed":"Прочность предмета изменена","advancement_trigger.item_used_on_block":"Использовал предмет на блоке","advancement_trigger.killed_by_crossbow":"Убил арбалетом","advancement_trigger.levitation":"Левитация","advancement_trigger.location":"Местоположение","advancement_trigger.nether_travel":"Переместился через Незер","advancement_trigger.placed_block":"Поставил блок","advancement_trigger.player_generates_container_loot":"Сгенерировал содержимое блока","advancement_trigger.player_hurt_entity":"Нанёс урон","advancement_trigger.player_killed_entity":"Убил сущность","advancement_trigger.recipe_unlocked":"Разблокировал рецепт","advancement_trigger.safely_harvest_honey":"Безопасно собрал мёд","advancement_trigger.shot_crossbow":"Выстрелил из арбалета","advancement_trigger.slept_in_bed":"Лёг на кровать","advancement_trigger.slide_down_block":"Скользит вниз по блоку","advancement_trigger.summoned_entity":"Призвал сущность","advancement_trigger.tame_animal":"Приручил животное","advancement_trigger.target_hit":"Попадание","advancement_trigger.thrown_item_picked_up_by_entity":"Выкинутый предмет подобран сущностью","advancement_trigger.tick":"Такт","advancement_trigger.used_ender_eye":"Использовал око Эндера","advancement_trigger.used_totem":"Использовал тотем","advancement_trigger.villager_trade":"Поторговал с крестьянином","advancement_trigger.voluntary_exile":"Вызвал рейд","attribute.generic_armor":"Броня","attribute.generic_armor_toughness":"Твёрдость брони","attribute.generic_attack_damage":"Урон","attribute.generic_attack_knockback":"Отбрасывание","attribute.generic_attack_speed":"Скорость атаки","attribute.generic_flying_speed":"Скорость полёта","attribute.generic_follow_range":"Диапазон преследования моба","attribute.generic_knockback_resistance":"Сопротивление отбрасыванию","attribute.generic_luck":"Удача","attribute.generic_max_health":"Максимальное здоровье","attribute.generic_movement_speed":"Скорость","attribute.horse.jump_strength":"Сила прыжка лошади","attribute.zombie.spawn_reinforcements":"Подкрепление зомби","attribute_modifier.amount":"Количество","attribute_modifier.attribute":"Атрибут","attribute_modifier.name":"Название","attribute_modifier.operation":"Действие","attribute_modifier.operation.addition":"Прибавление","attribute_modifier.operation.multiply_base":"Умножение базового","attribute_modifier.operation.multiply_total":"Умножение общего","attribute_modifier.slot":"Ячейки","attribute_modifier.slot.list":"Несколько","attribute_modifier.slot.string":"Одна","badge.experimental":"Экспериментальный","badge.unstable":"Нестабильный","biome.carvers":"Полости","biome.carvers.air":"Воздух","biome.carvers.liquid":"Жидкость","biome.category":"Категория","biome.creature_spawn_probability":"Шанс появления пассивных мобов","biome.depth":"Глубина","biome.depth.help":"Поднимает или опускает рельеф местности. Положительные значения считаются сушей, а отрицательные — океанами.","biome.downfall":"Влажность","biome.effects":"Эффекты","biome.effects.additions_sound":"Дополнительные звуки","biome.effects.additions_sound.sound":"Звук","biome.effects.additions_sound.tick_chance":"Шанс за такт","biome.effects.ambient_sound":"Звук окружения","biome.effects.fog_color":"Цвет тумана","biome.effects.foliage_color":"Цвет листьев","biome.effects.grass_color":"Цвет травы","biome.effects.grass_color_modifier":"Модификатор цвета травы","biome.effects.grass_color_modifier.dark_forest":"Тёмный лес","biome.effects.grass_color_modifier.none":"Нет","biome.effects.grass_color_modifier.swamp":"Болото","biome.effects.mood_sound":"Пещерный звук","biome.effects.mood_sound.block_search_extent":"Радиус поиска позиции","biome.effects.mood_sound.offset":"Смещение","biome.effects.mood_sound.sound":"Звук","biome.effects.mood_sound.tick_delay":"Задержка в тактах","biome.effects.music":"Музыка","biome.effects.music.max_delay":"Максимальная задержка","biome.effects.music.min_delay":"Минимальная задержка","biome.effects.music.replace_current_music":"Замена играющей музыки","biome.effects.music.sound":"Звук","biome.effects.particle":"Частица","biome.effects.particle.options":"Параметры","biome.effects.particle.options.type":"Тип частицы","biome.effects.particle.probability":"Шанс","biome.effects.sky_color":"Цвет неба","biome.effects.water_color":"Цвет воды","biome.effects.water_fog_color":"Цвет подводного тумана","biome.features":"Натуральные структуры","biome.features.entry":"Шаг %0%","biome.features.entry.entry":"Структура","biome.player_spawn_friendly":"Дружественное появление игрока","biome.player_spawn_friendly.help":"Если «Да», точка появления в мире предпочтительно будет в этом биоме.","biome.precipitation":"Осадки","biome.precipitation.none":"Нет","biome.precipitation.rain":"Дождь","biome.precipitation.snow":"Снег","biome.scale":"Масштаб","biome.scale.help":"Растягивает местность по вертикали. Чем меньше значение, тем ровнее местность.","biome.spawn_costs":"Цена Появления","biome.spawn_costs.charge":"Заряд","biome.spawn_costs.energy_budget":"Бюджет Энергии","biome.spawners":"Появление мобов","biome.spawners.ambient":"Окружение","biome.spawners.creature":"Пассивные","biome.spawners.entry":"Появление","biome.spawners.entry.maxCount":"Максимальное количество","biome.spawners.entry.minCount":"Минимальное количество","biome.spawners.entry.type":"Тип","biome.spawners.entry.weight":"Вес","biome.spawners.misc":"Другие","biome.spawners.monster":"Монстр","biome.spawners.water_ambient":"Водное окружение","biome.spawners.water_creature":"Водные пассивные","biome.starts":"Начала строений","biome.starts.entry":"Строение","biome.starts.help":"Список настроенных структур.","biome.surface_builder":"Построитель поверхности","biome.temperature":"Температура","biome.temperature_modifier":"Модификатор температуры","biome.temperature_modifier.frozen":"Мороз","biome.temperature_modifier.none":"Нет","block.block":"ID блока","block.nbt":"NBT","block.state":"Состояние блока","block.tag":"Тег блоков","block_placer.column_placer.extra_size":"Дополнительный размер","block_placer.column_placer.min_size":"Минимальный размер","block_placer.type":"Тип","block_state.Name":"Блок","block_state.Properties":"Свойства","block_state_provider.rotated_block_provider.state":"Состояние","block_state_provider.simple_state_provider.state":"Состояние","block_state_provider.type":"Тип","block_state_provider.weighted_state_provider.entries":"Элементы","block_state_provider.weighted_state_provider.entries.entry.data":"Состояние","block_state_provider.weighted_state_provider.entries.entry.weight":"Вес","carver.config":"Параметры","carver.config.probability":"Шанс","carver.type":"Тип","children":"Потомки","children.entry":"Элемент","condition.alternative.terms":"Условия","condition.block_state_property.block":"Блок","condition.block_state_property.properties":"Состояние блока","condition.condition":"Условие","condition.damage_source":"Повреждение","condition.entity_properties.entity":"Сущность","condition.entity_scores.entity":"Сущность","condition.entity_scores.scores":"Счёты","condition.entry":"Предикат","condition.inverted.term":"Выражение","condition.item":"Предмет","condition.killed_by_player.inverse":"Инвертировать","condition.list":"Несколько","condition.location":"Местоположение","condition.location_check.offsetX":"Смещение по X","condition.location_check.offsetY":"Смещение по Y","condition.location_check.offsetZ":"Смещение по Z","condition.object":"Простой","condition.random_chance.chance":"Шанс","condition.random_chance_with_looting.chance":"Шанс","condition.random_chance_with_looting.looting_multiplier":"Множитель «Добычи»","condition.reference.name":"ID предиката","condition.table_bonus.chances":"Шансы","condition.table_bonus.chances.entry":"Шанс","condition.table_bonus.enchantment":"Чары","condition.time_check.period":"Период","condition.time_check.period.help":"Если задан, время будет получено взятием остатка от деления времени на заданный период.","condition.time_check.value":"Значение","condition.value_check.value":"Значение","condition.weather_check.raining":"Дождь","condition.weather_check.thundering":"Гроза","conditions":"Условия","conditions.entry":"Условие","conditions.list":"Условия","conditions.object":"Устаревший","copy_source.block_entity":"Блок-сущность","copy_source.direct_killer":"Убийца-причина урона","copy_source.killer":"Убийца","copy_source.killer_player":"Игрок-убийца","copy_source.this":"Текущая сущность","criterion.bee_nest_destroyed.block":"Блок","criterion.bee_nest_destroyed.num_bees_inside":"Пчёл внутри","criterion.bred_animals.child":"Потомок","criterion.bred_animals.parent":"Предок","criterion.bred_animals.partner":"Партнёр","criterion.brewed_potion.potion":"Зелье","criterion.changed_dimension.from":"Откуда","criterion.changed_dimension.to":"Куда","criterion.channeled_lightning.victims":"Жертвы","criterion.channeled_lightning.victims.entry":"Сущность","criterion.conditions":"Условия","criterion.construct_beacon.beacon_level":"Уровень конструкции","criterion.consume_item.item":"Предмет","criterion.cured_zombie_villager.villager":"Крестьянин","criterion.cured_zombie_villager.zombie":"Зомби","criterion.effects_changed.effects":"Эффект","criterion.enchanted_item.item":"Предмет","criterion.enchanted_item.levels":"Уровень","criterion.enter_block.block":"Блок","criterion.enter_block.state":"Состояние","criterion.entity_hurt_player.damage":"Урон","criterion.entity_killed_player.entity":"Сущность-источник","criterion.entity_killed_player.killing_blow":"Смертельный удар","criterion.filled_bucket.item":"Предмет","criterion.fishing_rod_hooked.entity":"Подтянутая сущность","criterion.fishing_rod_hooked.item":"Предмет","criterion.hero_of_the_village.location":"Местоположение","criterion.inventory_changed.items":"Предметы","criterion.inventory_changed.items.entry":"Предмет","criterion.inventory_changed.slots":"Ячейки","criterion.inventory_changed.slots.empty":"Пустых ячеек","criterion.inventory_changed.slots.full":"Полных ячеек","criterion.inventory_changed.slots.occupied":"Занятых ячеек","criterion.item_durability_changed.delta":"Разница","criterion.item_durability_changed.durability":"Прочность","criterion.item_durability_changed.item":"Предмет","criterion.item_used_on_block.item":"Предмет","criterion.item_used_on_block.location":"Местоположение","criterion.killed_by_crossbow.unique_entity_types":"Уникальных типов сущностей","criterion.killed_by_crossbow.victims":"Жертвы","criterion.killed_by_crossbow.victims.entry":"Сущность","criterion.levitation.distance":"Расстояние","criterion.levitation.duration":"Длительность","criterion.location.location":"Местоположение","criterion.nether_travel.distance":"Расстояние","criterion.nether_travel.entered":"Местоположение входа","criterion.nether_travel.exited":"Местоположение выхода","criterion.placed_block.block":"Блок","criterion.placed_block.item":"Предмет","criterion.placed_block.location":"Местоположение","criterion.placed_block.state":"Состояние","criterion.player":"Игрок","criterion.player_generates_container_loot.loot_table":"Таблица добычи","criterion.player_hurt_entity.damage":"Урон","criterion.player_hurt_entity.entity":"Сущность-жертва","criterion.player_killed_entity.entity":"Сущность-жертва","criterion.player_killed_entity.killing_blow":"Смертельный удар","criterion.recipe_unlocked.recipe":"Рецепт","criterion.rod":"Удочка","criterion.safely_harvest_honey.block":"Блок","criterion.safely_harvest_honey.item":"Предмет","criterion.shot_crossbow.item":"Предмет","criterion.slept_in_bed.location":"Местоположение","criterion.slide_down_block.block":"Блок","criterion.summoned_entity.entity":"Сущность","criterion.tame_animal.entity":"Животное","criterion.target_hit.projectile":"Снаряд","criterion.target_hit.shooter":"Стрелок","criterion.target_hit.signal_strength":"Мощность сигнала","criterion.thrown_item_picked_up_by_entity.entity":"Сущность","criterion.thrown_item_picked_up_by_entity.item":"Предмет","criterion.trigger":"Триггер","criterion.used_ender_eye.distance":"Расстояние","criterion.used_totem.item":"Предмет тотема","criterion.villager_trade.item":"Купленный предмет","criterion.villager_trade.villager":"Крестьянин","criterion.voluntary_exile.location":"Местоположение","damage.blocked":"Заблокирован","damage.dealt":"Нанесённый урон","damage.source_entity":"Сущность-источник","damage.taken":"Полученный урон","damage.type":"Тип урона","damage_source.bypasses_armor":"Обход брони","damage_source.bypasses_invulnerability":"Бездна","damage_source.bypasses_magic":"Голод","damage_source.direct_entity":"Сущность-причина урона","damage_source.is_explosion":"Взрыв","damage_source.is_fire":"Огонь","damage_source.is_lightning":"Молния","damage_source.is_magic":"Магия","damage_source.is_projectile":"Снаряд","damage_source.source_entity":"Сущность-источник урона","decorator.carving_mask.step":"Этап генерации","decorator.config":"Параметры","decorator.count.count":"Количество","decorator.count_extra.count":"Количество","decorator.count_extra.extra_chance":"Дополнительный шанс","decorator.count_extra.extra_count":"Дополнительное количество","decorator.count_multilayer.count":"Количество","decorator.count_noise.above_noise":"Верхний шум","decorator.count_noise.below_noise":"Нижний шум","decorator.count_noise.noise_level":"Уровень шума","decorator.count_noise_biased.noise_factor":"Множитель шума","decorator.count_noise_biased.noise_offset":"Смещение шума","decorator.count_noise_biased.noise_to_count_ratio":"Соотношение шума к количеству","decorator.decorated.inner":"Внутренний","decorator.decorated.outer":"Внешний","decorator.depth_average.baseline":"Начальное значение","decorator.depth_average.spread":"Распространение","decorator.glowstone.count":"Количество","decorator.type":"Тип","dimension":"Измерение","dimension.generator":"Генератор","dimension.generator.biome_source":"Источник Биомов","dimension.overworld":"Обычный мир","dimension.the_end":"Энд","dimension.the_nether":"Незер","dimension.type":"Параметры измерения","dimension.type.object":"Особенный","dimension.type.string":"Предустановка","dimension_type.ambient_light":"Свет окружения","dimension_type.ambient_light.help":"Значение от 0 до 1.","dimension_type.bed_works":"Работает Кровать","dimension_type.bed_works.help":"Если значение установлено в true, игроки могут использовать кровати для того, чтобы устанавливать свою точку возрождения и продвинуться во времени. Если значение установлено в false, кровать будут взрываться при использовании.","dimension_type.coordinate_scale":"Масштаб координат","dimension_type.coordinate_scale.help":"Множитель, который применяется к координатам при перемезении между измерениями через портал или при помощи команды /execute.","dimension_type.effects":"Эффекты","dimension_type.effects.help":"Эффекты неба","dimension_type.effects.overworld":"Верхний Мир","dimension_type.effects.the_end":"Край","dimension_type.effects.the_nether":"Ад","dimension_type.fixed_time":"Фиксированное время","dimension_type.fixed_time.help":"При указании значения солнце будет находится в фиксированном положении.","dimension_type.has_ceiling":"Есть крыша из бедрока","dimension_type.has_raids":"Имеет Рейды","dimension_type.has_skylight":"Есть свет неба","dimension_type.infiniburn":"Вечногорящие блоки","dimension_type.logical_height":"Логичная Высота","dimension_type.name":"Название","dimension_type.natural":"Земное","dimension_type.natural.help":"Если «Да», из порталов будут появляться зомбифицированные пиглины. Если «Нет», компас и часы будут крутиться случайным образом.","dimension_type.piglin_safe":"Пиглины не превращаются в зомби","dimension_type.respawn_anchor_works":"Якорь Возрождения Работает","dimension_type.ultrawarm":"Горячее","dimension_type.ultrawarm.help":"Определяет, испаряется ли вода и высыхают ли губки.","distance.absolute":"Абсолютное","distance.horizontal":"Горизонтальное","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"Подводник","enchantment.bane_of_arthropods":"Бич членистоногих","enchantment.binding_curse":"Проклятие несъёмности","enchantment.blast_protection":"Взрывоустойчивость","enchantment.channeling":"Громовержец","enchantment.depth_strider":"Подводная ходьба","enchantment.efficiency":"Эффективность","enchantment.enchantment":"Зачарование","enchantment.feather_falling":"Невесомость","enchantment.fire_aspect":"Заговор огня","enchantment.fire_protection":"Огнеупорность","enchantment.flame":"Горящая стрела","enchantment.fortune":"Удача","enchantment.frost_walker":"Ледоход","enchantment.impaling":"Пронзатель","enchantment.infinity":"Бесконечность","enchantment.knockback":"Отдача","enchantment.levels":"Уровень","enchantment.looting":"Добыча","enchantment.loyalty":"Верность","enchantment.luck_of_the_sea":"Везучий рыбак","enchantment.lure":"Приманка","enchantment.mending":"Починка","enchantment.multishot":"Тройной выстрел","enchantment.piercing":"Пронзающая стрела","enchantment.power":"Сила","enchantment.projectile_protection":"Защита от снарядов","enchantment.protection":"Защита","enchantment.punch":"Откидывание","enchantment.quick_charge":"Быстрая перезарядка","enchantment.respiration":"Подводное дыхание","enchantment.riptide":"Тягун","enchantment.sharpness":"Острота","enchantment.silk_touch":"Шёлковое касание","enchantment.smite":"Небесная кара","enchantment.sweeping":"Разящий клинок","enchantment.thorns":"Шипы","enchantment.unbreaking":"Прочность","enchantment.vanishing_curse":"Проклятие утраты","entity.distance":"Расстояние","entity.effects":"Эффекты","entity.equipment":"Снаряжение","entity.fishing_hook":"Поплавок","entity.fishing_hook.in_open_water":"В открытой воде","entity.flags":"Состояние","entity.isBaby":"Ребёнок","entity.isOnFire":"Горит","entity.isSneaking":"Крадётся","entity.isSprinting":"Бежит","entity.isSwimming":"Плывёт","entity.location":"Местоположение","entity.nbt":"NBT","entity.player":"Игрок","entity.targeted_entity":"Целевая сущность","entity.team":"Команда","entity.type":"Сущность","entity.vehicle":"Транспорт","entity_source.killer":"Убийца","entity_source.killer_player":"Игрок-убийца","entity_source.this":"Текущая","entry":"Элемент","error":"Ошибка","error.expected_boolean":"Ожидался логический тип данных (Boolean)","error.expected_integer":"Ожидалось целое число (Integer)","error.expected_json":"Ожидался JSON","error.expected_list":"Ожидался массив (Array)","error.expected_number":"Ожидалось число","error.expected_object":"Ожидался объект","error.expected_range":"Ожидался диапазон","error.expected_string":"Ожидалась строка","error.expected_uniform_int":"Ожидалось целое число (Uniform integer)","error.invalid_binomial":"Диапазон не может быть биноминального типа","error.invalid_empty_list":"Массив не может быть пустым","error.invalid_empty_string":"Строка не может быть пустой","error.invalid_enum_option":"Неверное значение \"%0%\"","error.invalid_exact":"Диапазон не может быть константой","error.invalid_number_range.between":"Ожидалось число в промежутке от %0% до %1%","error.invalid_pattern":"Неверная строка: %0%","error.recipe.invalid_key":"только один символ разрешён как ключ","false":"Нет","feature.block_pile.state_provider":"Состояние","feature.config":"Настройки","feature.flower.blacklist":"Чёрный Список","feature.flower.block_placer":"Размещатель Блоков","feature.flower.can_replace":"Может заменить","feature.flower.need_water":"Нужна Вода","feature.flower.project":"Проект","feature.flower.state_provider":"Состояние","feature.flower.tries":"Попыток","feature.flower.whitelist":"Белый Список","feature.flower.xspread":"Распространение X","feature.flower.yspread":"Распространение Y","feature.flower.zspread":"Распространение Z","feature.object":"Особенный","feature.random_patch.blacklist":"Чёрный Список","feature.random_patch.block_placer":"Размещение Блоков","feature.random_patch.can_replace":"Может Заменить","feature.random_patch.need_water":"Требуется Вода","feature.random_patch.project":"Направленно","feature.random_patch.state_provider":"Состояние","feature.random_patch.tries":"Попыток","feature.random_patch.whitelist":"Белый Список","feature.random_patch.xspread":"Распространение X","feature.random_patch.yspread":"Распространение Y","feature.random_patch.zspread":"Распространение Z","feature.simple_random_selector.features.entry":"Структура","feature.string":"Упоминание","feature.tree.decorators":"Декораторы","feature.tree.decorators.entry":"Декоратор Деревьев","feature.tree.foliage_placer":"Распределение листьев","feature.tree.heightmap":"Карта Высоты","feature.tree.ignore_vines":"Игнорировать Лианы","feature.tree.leaves_provider":"Листья","feature.tree.max_water_depth":"Максимальная Глубина Воды","feature.tree.minimum_size":"Минимальный Размер","feature.tree.minimum_size.limit":"Лимит","feature.tree.minimum_size.lower_size":"Низкий Размер","feature.tree.minimum_size.middle_size":"Средний Размер","feature.tree.minimum_size.type":"Минимальный Размер","feature.tree.minimum_size.upper_limit":"Верхняя Граница","feature.tree.minimum_size.upper_size":"Высокий Размер","feature.tree.trunk_placer":"Распределение Обрезки","feature.tree.trunk_provider":"Обрезание Деревьев","feature.type":"Тип","fluid.fluid":"ID жидкости","fluid.state":"Состояние жидкости","fluid.tag":"Тег жидкостей","function.apply_bonus.enchantment":"Зачарование","function.apply_bonus.formula":"Формула","function.apply_bonus.formula.binomial_with_bonus_count":"Биноминальное распределение с Бонусным количеством","function.apply_bonus.formula.ore_drops":"Дроп руд","function.apply_bonus.formula.uniform_bonus_count":"Равномерное распределение с бонусным количеством","function.apply_bonus.parameters":"Параметры","function.apply_bonus.parameters.bonusMultiplier":"Множитель","function.apply_bonus.parameters.extra":"Дополнительное значение","function.apply_bonus.parameters.probability":"Вероятность","function.copy_name.source":"Источник","function.copy_nbt.ops":"Операции с NBT","function.copy_nbt.ops.entry":"Операция","function.copy_nbt.source":"Источник","function.copy_state.block":"Блок","function.copy_state.properties":"Свойства","function.copy_state.properties.entry":"Свойство","function.enchant_randomly.enchantments":"Необязательные зачарования","function.enchant_randomly.enchantments.entry":"Зачарование","function.enchant_with_levels.levels":"Уровень","function.enchant_with_levels.treasure":"Зачарования-сокровища","function.exploration_map.decoration":"Значок","function.exploration_map.destination":"Назначение","function.exploration_map.search_radius":"Радиус поиска (в чанках)","function.exploration_map.skip_existing_chunks":"Не искать в существующих чанках","function.exploration_map.zoom":"Уровень приближения","function.fill_player_head.entity":"Сущность","function.function":"Функция","function.limit_count.limit":"Лимит","function.looting_enchant.count":"Количество","function.looting_enchant.limit":"Лимит","function.set_attributes.modifiers":"Модификаторы","function.set_attributes.modifiers.entry":"Модификатор","function.set_contents.entries":"Содержание","function.set_contents.entries.entry":"Элемент","function.set_count.count":"Количество","function.set_damage.damage":"Повреждение","function.set_data.data":"Данные","function.set_loot_table.name":"Название Таблицы дропа","function.set_loot_table.seed":"Сид","function.set_lore.entity":"Сущность","function.set_lore.lore":"Описание","function.set_lore.lore.entry":"Строка","function.set_lore.replace":"Заменить","function.set_name.entity":"Сущность","function.set_name.name":"Название","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"Эффекты","function.set_stew_effect.effects.entry":"Эффект","function.set_stew_effect.effects.entry.duration":"Длительность","function.set_stew_effect.effects.entry.type":"Эффект","functions":"Функции","functions.entry":"Функция","gamemode.adventure":"Приключение","gamemode.creative":"Творческий","gamemode.spectator":"Наблюдатель","gamemode.survival":"Выживание","generator.biome_source.biome":"Биом","generator.biome_source.biomes":"Биомы","generator.biome_source.large_biomes":"Большие биомы","generator.biome_source.legacy_biome_init_layer":"Старый слой инициализации биомов","generator.biome_source.preset":"Шаблон биомов","generator.biome_source.preset.nether":"Ад","generator.biome_source.scale":"Масштаб","generator.biome_source.seed":"Ключ генератора биомов","generator.biome_source.type":"Источник биомов","generator.seed":"Ключ генератора измерения","generator.settings":"Настройки генератора","generator.settings.biome":"Биом","generator.settings.lakes":"Озёра","generator.settings.layers":"Слои","generator.settings.layers.entry":"Слой","generator.settings.layers.entry.block":"ID блока","generator.settings.layers.entry.height":"Высота","generator.settings.object":"Особенный","generator.settings.presets.amplified":"Расширенный","generator.settings.presets.caves":"Пещеры","generator.settings.presets.end":"Край","generator.settings.presets.floating_islands":"Парящие острова","generator.settings.presets.nether":"Ад","generator.settings.presets.overworld":"Верхний мир","generator.settings.string":"Шаблон","generator.settings.structures":"Структуры","generator.settings.structures.stronghold":"Крепость (Портал в Край)","generator.settings.structures.stronghold.count":"Количество","generator.settings.structures.stronghold.distance":"Расстояние","generator.settings.structures.stronghold.spread":"Распределение","generator.settings.structures.structures":"Структуры","generator.type":"Тип генератора","generator_biome.biome":"Биом","generator_biome.parameters":"Параметры","generator_biome.parameters.altitude":"Альтитуда","generator_biome.parameters.help":"Эти параметры определяют расположение биома. Каждый биом должен иметь уникальную комбинацию параметров. Биомы с похожими значениями будут генерироваться рядом.","generator_biome.parameters.humidity":"Влажность","generator_biome.parameters.offset":"Смещение","generator_biome.parameters.temperature":"Температура","generator_biome.parameters.weirdness":"Странность","generator_structure.salt":"Соль","generator_structure.separation":"Изоляция","generator_structure.separation.help":"Минимальное расстояние в чанках между двумя структурами этого типа. Должно быть меньше чем интервал.","generator_structure.spacing":"Интервал","generator_structure.spacing.help":"Среднее расстояние в чанках между двумя структурами этого типа.","hide_source":"Скрыть источник","item.count":"Количество","item.durability":"Прочность","item.enchantments":"Зачарования","item.enchantments.entry":"Чары","item.item":"ID предмета","item.nbt":"NBT","item.potion":"Зелье","item.tag":"Тег предметов","key.advancements":"Достижения","key.attack":"Атаковать/Разрушить","key.back":"Идти назад","key.chat":"Открыть чат","key.command":"Открыть команды","key.drop":"Выбросить выбранный предмет","key.forward":"Идти вперёд","key.fullscreen":"Включить полноэкранный режим","key.hotbar.1":"Слот быстрого доступа 1","key.hotbar.2":"Слот быстрого доступа 2","key.hotbar.3":"Слот быстрого доступа 3","key.hotbar.4":"Слот быстрого доступа 4","key.hotbar.5":"Слот быстрого доступа 5","key.hotbar.6":"Слот быстрого доступа 6","key.hotbar.7":"Слот быстрого доступа 7","key.hotbar.8":"Слот быстрого доступа 8","key.hotbar.9":"Слот быстрого доступа 9","key.inventory":"Открыть/Закрыть инвентарь","key.jump":"Прыжок","key.left":"Идти влево","key.loadToolbarActivator":"Клавиша загрузки панели быстрого доступа","key.pickItem":"Выбрать блок","key.playerlist":"Список игроков","key.right":"Идти вправо","key.saveToolbarActivator":"Клавиша сохранения панели быстрого доступа","key.screenshot":"Сделать снимок экрана","key.smoothCamera":"Включить плавную камеру","key.sneak":"Присесть","key.spectatorOutlines":"Подсветить игроков (Режим наблюдателя)","key.sprint":"Бег","key.swapOffhand":"Переложить предмет в руках","key.togglePerspective":"Сменить перспективу","key.use":"Использовать предмет/Поставить блок","location.biome":"Биом","location.block":"Блок","location.dimension":"Измерение","location.feature":"Строение","location.fluid":"Жидкость","location.light":"Освещённость","location.light.light":"Уровень освещённости","location.position":"Позиция","location.position.x":"X","location.position.y":"Y","location.position.z":"Z","location.smokey":"Задымлённое","loot_condition_type.alternative":"Альтернатива (ИЛИ)","loot_condition_type.block_state_property":"Свойства блока","loot_condition_type.damage_source_properties":"Источник урона","loot_condition_type.entity_properties":"Свойства сущности","loot_condition_type.entity_scores":"Счёты сущности","loot_condition_type.inverted":"Инвертирование (НЕ)","loot_condition_type.killed_by_player":"Убит игроком","loot_condition_type.location_check":"Местоположение","loot_condition_type.match_tool":"Свойства инструмента","loot_condition_type.random_chance":"Случайность","loot_condition_type.random_chance_with_looting":"Случайность с «Добычей»","loot_condition_type.reference":"Предикат","loot_condition_type.survives_explosion":"Переживает взрыв","loot_condition_type.table_bonus":"Бонус таблицы","loot_condition_type.time_check":"Время","loot_condition_type.weather_check":"Погода","loot_entry.dynamic.name":"Название","loot_entry.item.name":"ID","loot_entry.loot_table.name":"Название Таблицы добычи","loot_entry.quality":"Качество","loot_entry.tag.expand":"Отдельно","loot_entry.tag.expand.help":"Если отдельно, то действует как множество записей каждого предмета из тега, иначе возвращает всё содержимое тега.","loot_entry.tag.name":"Название Тега предмета","loot_entry.type":"Тип","loot_entry.weight":"Вес","loot_function_type.apply_bonus":"Применить бонус","loot_function_type.copy_name":"Скопировать название","loot_function_type.copy_nbt":"Скопировать NBT","loot_function_type.copy_state":"Скопировать состояния блока","loot_function_type.enchant_randomly":"Наложить случайные чары","loot_function_type.enchant_with_levels":"Наложить чары с уровнем","loot_function_type.exploration_map":"Задать свойства карты исследователя","loot_function_type.explosion_decay":"Разрушить взрывом","loot_function_type.fill_player_head":"Задать скин голове игрока","loot_function_type.furnace_smelt":"Расплавить в печи","loot_function_type.limit_count":"Ограничить количество","loot_function_type.looting_enchant":"Применить чары «Добыча»","loot_function_type.set_attributes":"Задать атрибуты","loot_function_type.set_contents":"Задать содержимое","loot_function_type.set_count":"Задать количество","loot_function_type.set_damage":"Задать повреждение","loot_function_type.set_data":"Задать данные","loot_function_type.set_loot_table":"Установить Таблицу добычи","loot_function_type.set_lore":"Задать описание","loot_function_type.set_name":"Задать название","loot_function_type.set_nbt":"Задать NBT","loot_function_type.set_stew_effect":"Задать эффект загадочного рагу","loot_pool.bonus_rolls":"Бонусных бросков","loot_pool.entries":"Элементы","loot_pool.entries.entry":"Элемент","loot_pool.rolls":"Бросков","loot_pool.rolls.help":"Количество раз выбора случайной записи.","loot_pool_entry_type.alternatives":"Альтернатива","loot_pool_entry_type.alternatives.help":"Выбирает первую дочернюю запись, у которой выполняется условие.","loot_pool_entry_type.dynamic":"Динамический","loot_pool_entry_type.dynamic.help":"Возвращает особое содержимое блока.","loot_pool_entry_type.empty":"Ничего","loot_pool_entry_type.empty.help":"Возвращает пустую запись.","loot_pool_entry_type.group":"Группа","loot_pool_entry_type.group.help":"Выбирает все дочерние записи, у которых выполняются условия.","loot_pool_entry_type.item":"Предмет","loot_pool_entry_type.item.help":"Возвращает один предмет.","loot_pool_entry_type.loot_table":"Таблица добычи","loot_pool_entry_type.loot_table.help":"Возвращает содержимое другой таблицы добычи.","loot_pool_entry_type.sequence":"Последовательность","loot_pool_entry_type.sequence.help":"Выбирает все дочерние записи до первой записи, у которой условия не выполняются.","loot_pool_entry_type.tag":"Тег предметов","loot_pool_entry_type.tag.help":"Возвращает содержимое тега предметов.","loot_table.pools":"Пулы","loot_table.pools.entry":"Пул","luck_based":"Основано на удаче","nbt_operation.op":"Действие","nbt_operation.op.append":"Добавление","nbt_operation.op.merge":"Объединение","nbt_operation.op.replace":"Замена","nbt_operation.source":"Источник","nbt_operation.target":"Цель","noise_settings.bedrock_floor_position":"Высота нижнего слоя коренной породы","noise_settings.bedrock_floor_position.help":"Положение нижнего уровня бедрока. Чем больше число, тем выше уровень.","noise_settings.bedrock_roof_position":"Высота верхнего слоя коренной породы","noise_settings.bedrock_roof_position.help":"Положение верхнего уровня бедрока относительно верха мира. Чем больше число, тем ниже уровень.","noise_settings.default_block":"Стандартный блок","noise_settings.default_fluid":"Стандартная жидкость","noise_settings.disable_mob_generation":"Отключить генерацию мобов","noise_settings.disable_mob_generation.help":"Определяет, появляются ли мобы во время генерации.","noise_settings.noise":"Параметры шума","noise_settings.noise.amplified":"Расширенный","noise_settings.noise.bottom_slide":"Низ кривой","noise_settings.noise.bottom_slide.offset":"Смещение низа кривой","noise_settings.noise.bottom_slide.size":"Размер низа кривой","noise_settings.noise.bottom_slide.target":"Значение низа кривой","noise_settings.noise.density_factor":"Множитель плотности","noise_settings.noise.density_offset":"Смещение плотности","noise_settings.noise.height":"Высота","noise_settings.noise.island_noise_override":"Переопределение островным шумом","noise_settings.noise.island_noise_override.help":"Если «Да», ландшафт будет генерироваться как в Энде: один большой остров в центре и много островов вдали от него.","noise_settings.noise.random_density_offset":"Случайное смещение плотности","noise_settings.noise.sampling":"Координатный масштаб","noise_settings.noise.sampling.xz_factor":"Множитель шума по X, Z","noise_settings.noise.sampling.xz_scale":"Уровень шума по X, Z","noise_settings.noise.sampling.y_factor":"Множитель шума по Y","noise_settings.noise.sampling.y_scale":"Уровень шума по Y","noise_settings.noise.simplex_surface_noise":"Симплекс-шум поверхности","noise_settings.noise.size_horizontal":"Размер по горизонтали","noise_settings.noise.size_vertical":"Размер по вертикали","noise_settings.noise.top_slide":"Верх кривой","noise_settings.noise.top_slide.offset":"Смещение верха кривой","noise_settings.noise.top_slide.size":"Размер верха кривой","noise_settings.noise.top_slide.target":"Значение верха кривой","noise_settings.sea_level":"Уровень моря","player.advancements":"Достижение","player.advancements.entry":"Достижение","player.gamemode":"Игровой режим","player.level":"Уровень опыта","player.recipes":"Рецепты","player.stats":"Статистика","player.stats.entry":"Статистика","processors.object":"Особенный","processors.string":"Упоминание","range.binomial":"Биномиальное распределение","range.max":"Макс.","range.min":"Мин.","range.n":"n","range.number":"Число","range.object":"Диапазон","range.p":"p","range.uniform":"Равномерное распределение","requirements":"Требуются","slot.chest":"Тело","slot.feet":"Стопы","slot.head":"Голова","slot.legs":"Ноги","slot.mainhand":"Ведущая рука","slot.offhand":"Вторая рука","statistic.stat":"Статистика","statistic.type":"Тип","statistic.type.broken":"Сломано","statistic.type.crafted":"Создано","statistic.type.custom":"Пользовательский","statistic.type.dropped":"Выброшено","statistic.type.killed":"Убито","statistic.type.killedByTeam":"Был убит командой","statistic.type.killed_by":"Был убит","statistic.type.mined":"Вскопано","statistic.type.picked_up":"Подобрано","statistic.type.teamkill":"Убито из команды","statistic.type.used":"Использовано","statistic.value":"Значение","status_effect.ambient":"Из окружения","status_effect.amplifier":"Уровень","status_effect.duration":"Длительность","status_effect.visible":"Видимый","table.type":"Тип","table.type.block":"Блок","table.type.chest":"Сундук","table.type.empty":"Ничего","table.type.entity":"Сущность","table.type.fishing":"Рыбалка","table.type.generic":"Общий","tag.replace":"Заменить","tag.values":"Значения","text_component":"Текстовый компонент","text_component.boolean":"Логический тип","text_component.list":"Список","text_component.number":"Число","text_component.object":"Объект","text_component.string":"Строка","text_component_object.block":"Блок","text_component_object.bold":"Жирный","text_component_object.clickEvent":"Действие по нажатию","text_component_object.clickEvent.action":"Действие","text_component_object.clickEvent.action.change_page":"Сменить страницу","text_component_object.clickEvent.action.copy_to_clipboard":"Скопировать в буфер обмена","text_component_object.clickEvent.action.open_file":"Открыть файл","text_component_object.clickEvent.action.open_url":"Открыть ссылку","text_component_object.clickEvent.action.run_command":"Выполнить команду","text_component_object.clickEvent.action.suggest_command":"Предложить команду","text_component_object.clickEvent.value":"Значение","text_component_object.color":"Цвет","text_component_object.entity":"Сущность","text_component_object.extra":"Дополнительно","text_component_object.font":"Шрифт","text_component_object.hoverEvent":"Действие по наведению","text_component_object.hoverEvent.action":"Действие","text_component_object.hoverEvent.action.show_entity":"Показать сущность","text_component_object.hoverEvent.action.show_item":"Показать предмет","text_component_object.hoverEvent.action.show_text":"Показать текст","text_component_object.hoverEvent.contents":"Содержимое","text_component_object.hoverEvent.value":"Значение","text_component_object.insertion":"Вставка","text_component_object.interpret":"Интерпретировать","text_component_object.italic":"Курсив","text_component_object.keybind":"Назначенная клавиша","text_component_object.nbt":"Данные сущности (NBT)","text_component_object.obfuscated":"Обфусцированный","text_component_object.score":"Счёт","text_component_object.score.name":"Имя","text_component_object.score.objective":"Счёт","text_component_object.score.value":"Значение","text_component_object.selector":"Селектор","text_component_object.storage":"Хранилище","text_component_object.strikethrough":"Зачёркнутый","text_component_object.text":"Простой текст","text_component_object.translate":"Переводимый текст","text_component_object.underlined":"Подчёркнутый","text_component_object.with":"Перевести с","true":"Да","uniform_int.base":"Начальное значение","uniform_int.number":"Точное","uniform_int.object":"Случайное число в промежутке","uniform_int.spread":"Распределение","unset":"Не задано","world.bonus_chest":"Бонусный сундук","world.generate_features":"Генерация строений","world.seed":"Ключ генератора мира","worldgen.warning":"Эта функция экспериментальная и крайне нестабильная. Она может измениться в будущих версиях. Есть вероятность, что произойдёт сбой игры при создании мира.","worldgen/biome_source.checkerboard":"Шахматный","worldgen/biome_source.checkerboard.help":"Биомы генерируются в шахматном порядке чанков.","worldgen/biome_source.fixed":"Один биом","worldgen/biome_source.fixed.help":"Один биом на весь мир.","worldgen/biome_source.multi_noise":"Множественный шум","worldgen/biome_source.multi_noise.help":"Распределение особых биомов с настраиваемыми параметрами.","worldgen/biome_source.the_end":"Энд","worldgen/biome_source.the_end.help":"Распределение биомов в Краю.","worldgen/biome_source.vanilla_layered":"Стандартный","worldgen/biome_source.vanilla_layered.help":"Распределение биомов в Верхнем мире.","worldgen/chunk_generator.debug":"Режим отладки","worldgen/chunk_generator.flat":"Суперплоскость","worldgen/chunk_generator.noise":"По умолчанию","advancement":"Достижение","copy":"Копировать","dimension-type":"Тип измерения","download":"Скачать","fields":"Поля","item-modifier":"Модификатор предмета","language":"Язык","loot-table":"Таблица добычи","predicate":"Предикат","preview":"Визуализировать","preview.depth":"Глубина","preview.scale":"Размер","preview.show_density":"Показать плотность","preview.width":"Ширина","redo":"Повторить","reset":"Сбросить","settings.fields.description":"Настройка дополнительных полей","settings.fields.name":"Название","settings.fields.path":"Контекст","share":"Поделиться","title.generator":"Генератор «%0%»","title.home":"Генератор наборов данных","undo":"Отменить","world":"Настройки мира","worldgen/biome":"Биом","worldgen/carver":"«Разрезатель»","worldgen/feature":"Особенность","worldgen/noise-settings":"Настройки шума","worldgen/processor-list":"Список процессоров","worldgen/structure-feature":"Особенности структур","worldgen/surface-builder":"Генерация плоскости","worldgen/template-pool":"Пул шаблонов"} \ No newline at end of file diff --git a/locales/sk.json b/locales/sk.json deleted file mode 100644 index 20d7b8b8..00000000 --- a/locales/sk.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement":"Pokrok","button.add":"Pridať","button.collapse":"Skryť","button.expand":"Zobraziť","button.remove":"Vymazať","copy":"Kopírovať","dimension-type":"Typ dimenzie","dimension":"Dimenzia","download":"Stiahnuť","error.block_state.missing_property":"Chýba údaj kocky \"%0%\"","fields":"Polia","github":"GitHub","home":"Domov","item-modifier":"Úprava itemov","language":"Jazyk","loot-table":"Zoznam lupov","maximize":"Maximalizovať","minimize":"Minimalizovať","not_found.description":"Stránka ktorú ste vyhľadali neexistuje.","predicate":"Predikát","redo":"Znovu","reset":"Resetovať","settings":"Nastavenia","settings.fields.description":"Prispôsobiť nastavenia pokročilých polí","settings.fields.path":"Kontext","settings.fields.name":"Meno","share":"Zdieľať","title.generator":"%0% Generátor","title.home":"Data Packové Generátory","presets":"Prednastavenia","preview":"Vizualizovať","preview.show_density":"Zobraziť hustotu","preview.scale":"Veľkosť","preview.depth":"Hĺbka","preview.width":"Šírka","undo":"Späť","world":"Nastavenia sveta","worldgen/biome":"Bióm","worldgen/carver":"Carver","worldgen/feature":"Doplnky","worldgen/noise-settings":"Nastavenia šumu","worldgen/processor-list":"Zoznam procesorov","worldgen/structure-feature":"Doplnky štruktúr","worldgen/surface-builder":"Povrchový staviteľ","worldgen/template-pool":"Súbor šablon"} \ No newline at end of file diff --git a/locales/zh-cn.json b/locales/zh-cn.json deleted file mode 100644 index db96d982..00000000 --- a/locales/zh-cn.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"判据","advancement.display":"显示","advancement.display.announce_to_chat":"在聊天栏提示","advancement.display.background":"背景","advancement.display.description":"描述","advancement.display.frame":"框架类型","advancement.display.frame.challenge":"挑战","advancement.display.frame.goal":"目标","advancement.display.frame.task":"任务","advancement.display.help":"如果存在,该进度将会在进度界面中显示。","advancement.display.hidden":"隐藏","advancement.display.icon":"图标","advancement.display.icon.item":"图标物品","advancement.display.icon.nbt":"图标物品 NBT","advancement.display.show_toast":"显示右上角提示信息","advancement.display.title":"标题","advancement.parent":"父进度","advancement.rewards":"奖励","advancement.rewards.experience":"经验","advancement.rewards.function":"函数","advancement.rewards.loot":"战利品表","advancement.rewards.recipes":"配方","advancement_trigger.bee_nest_destroyed":"摧毁蜂巢","advancement_trigger.bred_animals":"繁殖动物","advancement_trigger.brewed_potion":"酿造药水","advancement_trigger.changed_dimension":"改变维度","advancement_trigger.channeled_lightning":"引雷魔咒击杀实体","advancement_trigger.construct_beacon":"构建信标结构","advancement_trigger.consume_item":"消耗物品","advancement_trigger.cured_zombie_villager":"治愈僵尸村民","advancement_trigger.effects_changed":"状态效果改变","advancement_trigger.enchanted_item":"附魔物品","advancement_trigger.enter_block":"进入方块","advancement_trigger.entity_hurt_player":"实体伤害玩家","advancement_trigger.entity_killed_player":"实体击杀玩家","advancement_trigger.filled_bucket":"填充桶","advancement_trigger.fishing_rod_hooked":"钓鱼竿勾住东西","advancement_trigger.hero_of_the_village":"村庄英雄","advancement_trigger.impossible":"不可达成","advancement_trigger.inventory_changed":"物品栏改变","advancement_trigger.item_durability_changed":"物品耐久度改变","advancement_trigger.item_used_on_block":"对方块使用物品","advancement_trigger.killed_by_crossbow":"使用弩箭击杀","advancement_trigger.levitation":"漂浮","advancement_trigger.location":"位置","advancement_trigger.nether_travel":"下界旅行","advancement_trigger.placed_block":"放置方块","advancement_trigger.player_generates_container_loot":"玩家生成容器战利品","advancement_trigger.player_hurt_entity":"玩家伤害实体","advancement_trigger.player_killed_entity":"玩家击杀实体","advancement_trigger.recipe_unlocked":"配方解锁","advancement_trigger.safely_harvest_honey":"安全地采集蜂蜜","advancement_trigger.shot_crossbow":"使用弩","advancement_trigger.slept_in_bed":"睡觉","advancement_trigger.slide_down_block":"从蜂蜜块滑下","advancement_trigger.summoned_entity":"召唤实体","advancement_trigger.tame_animal":"驯服动物","advancement_trigger.target_hit":"击中标靶","advancement_trigger.thrown_item_picked_up_by_entity":"丢出的物品被实体捡起","advancement_trigger.tick":"刻","advancement_trigger.used_ender_eye":"使用末影之眼","advancement_trigger.used_totem":"使用不死图腾","advancement_trigger.villager_trade":"村民交易","advancement_trigger.voluntary_exile":"引发袭击","attribute.generic_armor":"盔甲防御点数","attribute.generic_armor_toughness":"盔甲韧性","attribute.generic_attack_damage":"普通攻击伤害","attribute.generic_attack_knockback":"击退距离","attribute.generic_attack_speed":"攻击速度","attribute.generic_flying_speed":"飞行速度","attribute.generic_follow_range":"追踪范围","attribute.generic_knockback_resistance":"击退抗性","attribute.generic_luck":"幸运","attribute.generic_max_health":"最大生命值","attribute.generic_movement_speed":"移动速度","attribute.horse.jump_strength":"弹跳力","attribute.zombie.spawn_reinforcements":"连带生成新僵尸的可能性","attribute_modifier.amount":"数额","attribute_modifier.attribute":"属性","attribute_modifier.name":"名称","attribute_modifier.operation":"运算模式","attribute_modifier.operation.addition":"加减数额","attribute_modifier.operation.multiply_base":"乘上数额","attribute_modifier.operation.multiply_total":"乘上(数额 + 1)","attribute_modifier.slot":"栏位","attribute_modifier.slot.list":"多个","attribute_modifier.slot.string":"单个","badge.experimental":"实验性","badge.unstable":"不稳定","biome.carvers":"地形雕刻器","biome.carvers.air":"空气","biome.carvers.liquid":"液体","biome.category":"分类","biome.creature_spawn_probability":"生物生成几率","biome.depth":"深度","biome.depth.help":"使地形抬升或下沉。正值被认为是陆地,负值被认为是海洋。","biome.downfall":"降雨(此参数用来控制草、树叶的颜色、火的蔓延速度等)","biome.effects":"环境效果","biome.effects.additions_sound":"附加音效","biome.effects.additions_sound.sound":"声音","biome.effects.additions_sound.tick_chance":"每刻播放的概率","biome.effects.ambient_sound":"环境音效","biome.effects.fog_color":"迷雾颜色","biome.effects.foliage_color":"树叶颜色","biome.effects.grass_color":"草的颜色","biome.effects.grass_color_modifier":"草颜色修饰子","biome.effects.grass_color_modifier.dark_forest":"黑森林","biome.effects.grass_color_modifier.none":"无","biome.effects.grass_color_modifier.swamp":"沼泽","biome.effects.mood_sound":"氛围音效","biome.effects.mood_sound.block_search_extent":"播放位置搜索半径","biome.effects.mood_sound.offset":"偏移","biome.effects.mood_sound.sound":"音效","biome.effects.mood_sound.tick_delay":"刻延时","biome.effects.music":"音乐","biome.effects.music.max_delay":"最大延时","biome.effects.music.min_delay":"最小延时","biome.effects.music.replace_current_music":"替换当前音乐","biome.effects.music.sound":"音效","biome.effects.particle":"粒子","biome.effects.particle.options":"选项","biome.effects.particle.options.type":"粒子类型","biome.effects.particle.probability":"概率","biome.effects.sky_color":"天空颜色","biome.effects.water_color":"水的颜色","biome.effects.water_fog_color":"水中迷雾颜色","biome.features":"地物","biome.features.entry":"步骤 %0%","biome.features.entry.entry":"地物","biome.player_spawn_friendly":"玩家生成偏好","biome.player_spawn_friendly.help":"若为 true,世界出生点会优先选定在此生物群系内。","biome.precipitation":"降雨量","biome.precipitation.none":"无","biome.precipitation.rain":"雨","biome.precipitation.snow":"雪","biome.scale":"规模","biome.scale.help":"竖直方向上拉伸地形。值越小,地形越平整。","biome.spawn_costs":"生成代价","biome.spawn_costs.charge":"电荷量","biome.spawn_costs.energy_budget":"电势预算","biome.spawners":"生成器","biome.spawners.ambient":"环境生物","biome.spawners.creature":"生物(非怪物)","biome.spawners.entry":"生成","biome.spawners.entry.maxCount":"最大数量","biome.spawners.entry.minCount":"最小数量","biome.spawners.entry.type":"类型","biome.spawners.entry.weight":"权重","biome.spawners.misc":"杂项","biome.spawners.monster":"怪物","biome.spawners.water_ambient":"水下环境生物","biome.spawners.water_creature":"水生生物","biome.starts":"起始结构","biome.starts.entry":"结构","biome.starts.help":"配置过的结构地物的列表。","biome.surface_builder":"地表生成器","biome.temperature":"温度","biome.temperature_modifier":"温度修饰子","biome.temperature_modifier.frozen":"冰冻","biome.temperature_modifier.none":"无","block.block":"方块 ID","block.nbt":"NBT","block.state":"方块状态","block.tag":"方块标签","block_placer.column_placer.extra_size":"额外尺寸","block_placer.column_placer.min_size":"最小尺寸","block_placer.type":"类型","block_state.Name":"名称","block_state.Properties":"属性","block_state_provider.rotated_block_provider.state":"状态","block_state_provider.simple_state_provider.state":"状态","block_state_provider.type":"类型","block_state_provider.weighted_state_provider.entries":"项目","block_state_provider.weighted_state_provider.entries.entry.data":"状态","block_state_provider.weighted_state_provider.entries.entry.weight":"权重","carver.config":"配置","carver.config.probability":"概率","carver.type":"类型","children":"子","children.entry":"项目","condition.alternative.terms":"子条件","condition.block_state_property.block":"方块","condition.block_state_property.properties":"方块状态","condition.condition":"条件","condition.damage_source":"伤害源","condition.entity_properties.entity":"实体","condition.entity_scores.entity":"实体","condition.entity_scores.scores":"分数","condition.entry":"谓词","condition.inverted.term":"条件","condition.item":"物品","condition.killed_by_player.inverse":"取反","condition.list":"多个","condition.location":"位置","condition.location_check.offsetX":"X 坐标偏移","condition.location_check.offsetY":"Y 坐标偏移","condition.location_check.offsetZ":"Z 坐标偏移","condition.object":"单个","condition.random_chance.chance":"几率","condition.random_chance_with_looting.chance":"几率","condition.random_chance_with_looting.looting_multiplier":"每级抢夺魔咒增加的数","condition.reference.name":"Predicate 文件 ID","condition.table_bonus.chances":"几率","condition.table_bonus.chances.entry":"几率","condition.table_bonus.enchantment":"附魔","condition.time_check.period":"周期","condition.time_check.period.help":"可选。如果指定,在比较前会先将游戏的时间以该数取模(例如,如果设置为 24000,指定的值将会被运算为一天中的时间)。","condition.time_check.value":"值","condition.value_check.range":"范围","condition.value_check.value":"值","condition.weather_check.raining":"下雨","condition.weather_check.thundering":"雷雨","conditions":"条件","conditions.entry":"条件","conditions.list":"条件","conditions.object":"旧版","copy_source.block_entity":"方块实体","copy_source.direct_killer":"直接击杀实体","copy_source.killer":"击杀实体","copy_source.killer_player":"击杀玩家","copy_source.this":"自身","criterion.bee_nest_destroyed.block":"方块","criterion.bee_nest_destroyed.num_bees_inside":"内部蜜蜂的数量","criterion.bred_animals.child":"幼体","criterion.bred_animals.parent":"父或母","criterion.bred_animals.partner":"配偶","criterion.brewed_potion.potion":"药水 ID","criterion.changed_dimension.from":"出发维度","criterion.changed_dimension.to":"到达维度","criterion.channeled_lightning.victims":"受害实体","criterion.channeled_lightning.victims.entry":"实体","criterion.conditions":"条件","criterion.construct_beacon.beacon_level":"金字塔等级","criterion.consume_item.item":"物品","criterion.cured_zombie_villager.villager":"村民","criterion.cured_zombie_villager.zombie":"僵尸","criterion.effects_changed.effects":"状态效果","criterion.enchanted_item.item":"物品","criterion.enchanted_item.levels":"经验等级","criterion.enter_block.block":"方块","criterion.enter_block.state":"方块状态","criterion.entity_hurt_player.damage":"伤害","criterion.entity_killed_player.entity":"源实体","criterion.entity_killed_player.killing_blow":"伤害类型","criterion.filled_bucket.item":"物品","criterion.fishing_rod_hooked.entity":"被拉的实体","criterion.fishing_rod_hooked.item":"物品","criterion.hero_of_the_village.location":"位置","criterion.inventory_changed.items":"物品","criterion.inventory_changed.items.entry":"物品","criterion.inventory_changed.slots":"栏位","criterion.inventory_changed.slots.empty":"空栏位的数量","criterion.inventory_changed.slots.full":"用满栏位的数量","criterion.inventory_changed.slots.occupied":"已用栏位的数量","criterion.item_durability_changed.delta":"差值","criterion.item_durability_changed.durability":"耐久度","criterion.item_durability_changed.item":"物品","criterion.item_used_on_block.item":"物品","criterion.item_used_on_block.location":"位置","criterion.killed_by_crossbow.unique_entity_types":"实体种类的数量","criterion.killed_by_crossbow.victims":"受害实体","criterion.killed_by_crossbow.victims.entry":"实体","criterion.levitation.distance":"距离","criterion.levitation.duration":"持续时间","criterion.location.location":"位置","criterion.nether_travel.distance":"距离","criterion.nether_travel.entered":"进入位置","criterion.nether_travel.exited":"退出位置","criterion.placed_block.block":"方块","criterion.placed_block.item":"物品","criterion.placed_block.location":"位置","criterion.placed_block.state":"方块状态","criterion.player":"玩家","criterion.player_generates_container_loot.loot_table":"战利品表","criterion.player_hurt_entity.damage":"伤害","criterion.player_hurt_entity.entity":"受害实体","criterion.player_killed_entity.entity":"受害实体","criterion.player_killed_entity.killing_blow":"伤害类型","criterion.recipe_unlocked.recipe":"配方","criterion.rod":"钓鱼竿","criterion.safely_harvest_honey.block":"方块","criterion.safely_harvest_honey.item":"物品","criterion.shot_crossbow.item":"物品","criterion.slept_in_bed.location":"位置","criterion.slide_down_block.block":"方块","criterion.summoned_entity.entity":"实体","criterion.tame_animal.entity":"动物","criterion.target_hit.projectile":"弹射物","criterion.target_hit.shooter":"射击者","criterion.target_hit.signal_strength":"信号强度","criterion.thrown_item_picked_up_by_entity.entity":"实体","criterion.thrown_item_picked_up_by_entity.item":"物品","criterion.trigger":"触发器","criterion.used_ender_eye.distance":"距离","criterion.used_totem.item":"图腾物品","criterion.villager_trade.item":"购得物品","criterion.villager_trade.villager":"村民","criterion.voluntary_exile.location":"位置","damage.blocked":"是否被阻挡","damage.dealt":"应当受到伤害","damage.source_entity":"源实体","damage.taken":"实际受到伤害","damage.type":"伤害类型","damage_source.bypasses_armor":"破甲","damage_source.bypasses_invulnerability":"虚空","damage_source.bypasses_magic":"饥饿","damage_source.direct_entity":"直接来源实体","damage_source.is_explosion":"爆炸","damage_source.is_fire":"燃烧","damage_source.is_lightning":"雷击","damage_source.is_magic":"魔法","damage_source.is_projectile":"弹射物","damage_source.source_entity":"根本来源实体","decorator.carving_mask.step":"生成步骤","decorator.config":"配置","decorator.count.count":"数量","decorator.count_extra.count":"数量","decorator.count_extra.extra_chance":"额外几率","decorator.count_extra.extra_count":"额外数量","decorator.count_multilayer.count":"数量","decorator.count_noise.above_noise":"阈值上噪声","decorator.count_noise.below_noise":"阈值下噪声","decorator.count_noise.noise_level":"噪声等级","decorator.count_noise_biased.noise_factor":"噪声因子","decorator.count_noise_biased.noise_offset":"噪声偏移量","decorator.count_noise_biased.noise_to_count_ratio":"噪数比","decorator.decorated.inner":"内部","decorator.decorated.outer":"外部","decorator.depth_average.baseline":"基线","decorator.depth_average.spread":"扩散","decorator.glowstone.count":"数量","decorator.type":"类型","dimension":"维度","dimension.generator":"生成器","dimension.generator.biome_source":"生物群系源","dimension.overworld":"主世界","dimension.the_end":"末路之地","dimension.the_nether":"下界","dimension.type":"维度类型","dimension.type.object":"自定义","dimension.type.string":"预设","dimension_type.ambient_light":"环境光","dimension_type.ambient_light.help":"有多少环境光。应为 0.0 与 1.0 之间的值。","dimension_type.bed_works":"床有效","dimension_type.bed_works.help":"若为true,玩家可以使用床来设置重生点并跳过夜晚。若为false,则使用床会爆炸。","dimension_type.coordinate_scale":"坐标缩放","dimension_type.coordinate_scale.help":"在维度间传送时(使用下界传送门或 /execute in )对坐标使用的缩放倍数。","dimension_type.effects":"环境效果","dimension_type.effects.help":"天空效果","dimension_type.effects.overworld":"主世界","dimension_type.effects.the_end":"末路之地","dimension_type.effects.the_nether":"下界","dimension_type.fixed_time":"固定时间","dimension_type.fixed_time.help":"设定该值会导致太阳处于某一固定位置。","dimension_type.has_ceiling":"具有天花板","dimension_type.has_ceiling.help":"影响天气,地图物品和重生规则。","dimension_type.has_raids":"生成袭击","dimension_type.has_raids.help":"若为true,拥有不祥之兆效果的玩家会导致袭击。","dimension_type.has_skylight":"具有天空光照","dimension_type.has_skylight.help":"影响天气,光照引擎和重生规则。","dimension_type.height":"高度","dimension_type.infiniburn":"无限燃烧方块","dimension_type.infiniburn.help":"定义能够使火在其上永久燃烧的方块标签。","dimension_type.logical_height":"合规高度","dimension_type.logical_height.help":"在此高度以上,传送门不会生成,紫颂果也不再能传送玩家。","dimension_type.min_y":"最小高度","dimension_type.name":"名称","dimension_type.natural":"自然","dimension_type.natural.help":"如果设置为 true,传送门中会生成僵尸猪灵。如果设置为 false,指南针与钟会不断随机旋转。","dimension_type.piglin_safe":"猪灵不转换","dimension_type.piglin_safe.help":"若为false,猪灵会开始颤抖并转化为僵尸猪灵。","dimension_type.respawn_anchor_works":"重生锚有效","dimension_type.respawn_anchor_works.help":"若为true,玩家可以充能并使用重生锚以设置重生点。若为false,使用重生锚会爆炸。","dimension_type.ultrawarm":"极热","dimension_type.ultrawarm.help":"如果设置为 true,水会蒸发且海绵会变干。","distance.absolute":"绝对距离","distance.horizontal":"水平距离","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"水下速掘","enchantment.bane_of_arthropods":"节肢杀手","enchantment.binding_curse":"绑定诅咒","enchantment.blast_protection":"爆炸保护","enchantment.channeling":"引雷","enchantment.depth_strider":"深海探索者","enchantment.efficiency":"效率","enchantment.enchantment":"魔咒","enchantment.feather_falling":"摔落保护","enchantment.fire_aspect":"火焰附加","enchantment.fire_protection":"火焰保护","enchantment.flame":"火矢","enchantment.fortune":"时运","enchantment.frost_walker":"冰霜行者","enchantment.impaling":"穿刺","enchantment.infinity":"无限","enchantment.knockback":"击退","enchantment.levels":"等级","enchantment.looting":"抢夺","enchantment.loyalty":"忠诚","enchantment.luck_of_the_sea":"海之眷顾","enchantment.lure":"饵钓","enchantment.mending":"经验修补","enchantment.multishot":"多重射击","enchantment.piercing":"穿透","enchantment.power":"力量","enchantment.projectile_protection":"弹射物保护","enchantment.protection":"保护","enchantment.punch":"冲击","enchantment.quick_charge":"快速装填","enchantment.respiration":"水下呼吸","enchantment.riptide":"激流","enchantment.sharpness":"锋利","enchantment.silk_touch":"精准采集","enchantment.smite":"亡灵杀手","enchantment.sweeping":"横扫之刃","enchantment.thorns":"荆棘","enchantment.unbreaking":"耐久","enchantment.vanishing_curse":"消失诅咒","entity.distance":"到执行位置的距离","entity.effects":"状态效果","entity.equipment":"装备","entity.fishing_hook":"浮漂","entity.fishing_hook.in_open_water":"位于开阔水域","entity.flags":"实体特质","entity.isBaby":"是幼体","entity.isOnFire":"正在着火","entity.isSneaking":"正在潜行","entity.isSprinting":"正在疾跑","entity.isSwimming":"正在游泳","entity.location":"位置","entity.nbt":"NBT","entity.player":"玩家","entity.targeted_entity":"目标实体","entity.team":"队伍","entity.type":"实体","entity.vehicle":"载具","entity_source.direct_killer":"直接击杀实体","entity_source.killer":"击杀者","entity_source.killer_player":"击杀者玩家","entity_source.this":"自身","entry":"项目","error":"错误","error.expected_boolean":"期望一个布尔值","error.expected_integer":"期望一个整型数字","error.expected_json":"期望 JSON","error.expected_list":"期望一个数组","error.expected_number":"期望一个数字","error.expected_object":"期望一个对象","error.expected_range":"期望一个范围","error.expected_string":"期望一个字符串","error.expected_uniform_int":"期望一个均匀分布整数","error.height_multiple":"高度必须是%0%的倍数","error.invalid_binomial":"不能使用二项分布型的范围","error.invalid_empty_list":"不能使用空数组","error.invalid_empty_string":"不能使用空字符串","error.invalid_enum_option":"选项“%0%”无效","error.invalid_exact":"不能使用常数型的范围","error.invalid_list_range.exact":"期望一个长度为 %1% 的列表","error.invalid_list_range.larger":"列表的长度 %0% 比最大值 %1% 大","error.invalid_list_range.smaller":"列表的长度 %0% 比最小值 %1% 小","error.invalid_number_range.between":"期望一个位于 %0% 与 %1% 之间的数字","error.invalid_number_range.larger":"值 %0% 比最大值 %1% 大","error.invalid_number_range.smaller":"值 %0% 比最小值 %1% 小","error.invalid_pattern":"字符串无效:%0%","error.logical_height":"合规高度不能高于高度","error.min_y_multiple":"最小高度必须是%0%的倍数","error.min_y_plus_height":"最小高度 + 高度(Min Y + height)不能高于%0%","error.recipe.invalid_key":"只能使用单个字符作为键","error.separation_smaller_spacing":"间隔(separation)的值必须小于空位(spacing)","false":"否","feature.bamboo.probability":"概率","feature.basalt_columns.height":"高度","feature.basalt_columns.reach":"范围","feature.block_pile.state_provider":"状态声明","feature.config":"配置","feature.decorated.decorator":"装饰器","feature.decorated.feature":"地物","feature.delta_feature.contents":"三角洲内部方块","feature.delta_feature.rim":"三角洲边缘方块","feature.delta_feature.rim_size":"边缘尺寸","feature.delta_feature.size":"尺寸","feature.disk.half_height":"半高","feature.disk.radius":"半径","feature.disk.state":"状态","feature.disk.targets":"目标","feature.disk.targets.entry":"状态","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center":"远处滴水石生成几率","feature.dripstone_cluster.chance_of_dripstone_column_at_max_distance_from_center.help":"滴水石柱在离中心最大距离处的生成几率。","feature.dripstone_cluster.density":"密度","feature.dripstone_cluster.dripstone_block_layer_thickness":"方块层厚度","feature.dripstone_cluster.floor_to_ceiling_search_range":"搜索范围","feature.dripstone_cluster.floor_to_ceiling_search_range.help":"地板至天花板的搜索范围。","feature.dripstone_cluster.height":"高度","feature.dripstone_cluster.height_deviation":"高度偏差","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column":"石柱几率距离","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column.help":"影响滴水石柱生成几率的离中心的最大距离。","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias":"高度偏差距离","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias.help":"影响高度偏差的离中心的最大距离。","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff":"最大高度差","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff.help":"石笋和钟乳石的最大高度差。","feature.dripstone_cluster.radius":"半径","feature.dripstone_cluster.wetness":"湿度","feature.dripstone_cluster.wetness_deviation":"湿度偏差","feature.dripstone_cluster.wetness_mean":"湿度平均值","feature.emerald_ore.state":"状态","feature.emerald_ore.target":"目标","feature.end_gateway.exact":"精确传送","feature.end_gateway.exit":"出口位置","feature.end_spike.crystal_beam_target":"末影水晶光柱目标","feature.end_spike.crystal_invulnerable":"末影水晶无敌状态","feature.end_spike.spikes":"末地黑曜石柱","feature.end_spike.spikes.entry":"末地黑曜石柱","feature.end_spike.spikes.entry.centerX":"中心 X 坐标","feature.end_spike.spikes.entry.centerZ":"中心 Z 坐标","feature.end_spike.spikes.entry.guarded":"铁栏杆保护","feature.end_spike.spikes.entry.height":"高度","feature.end_spike.spikes.entry.radius":"半径","feature.fill_layer.height":"高度","feature.fill_layer.state":"状态","feature.flower.blacklist":"黑名单","feature.flower.block_placer":"方块放置器","feature.flower.can_replace":"可替代","feature.flower.need_water":"需要水","feature.flower.project":"投影","feature.flower.state_provider":"状态声明","feature.flower.tries":"尝试次数","feature.flower.whitelist":"白名单","feature.flower.xspread":"X轴扩散","feature.flower.yspread":"Y轴扩散","feature.flower.zspread":"Z轴扩散","feature.forest_rock.state":"状态","feature.huge_brown_mushroom.cap_provider":"菌盖声明","feature.huge_brown_mushroom.foliage_radius":"菌盖大小","feature.huge_brown_mushroom.stem_provider":"菌柄声明","feature.huge_fungus.decor_state":"装饰","feature.huge_fungus.hat_state":"顶部","feature.huge_fungus.planted":"是否已种植","feature.huge_fungus.stem_state":"菌柄","feature.huge_fungus.valid_base_block":"有效底部方块","feature.huge_red_mushroom.cap_provider":"菌盖声明","feature.huge_red_mushroom.foliage_radius":"菌盖大小","feature.huge_red_mushroom.stem_provider":"菌柄声明","feature.ice_patch.half_height":"半高","feature.ice_patch.radius":"半径","feature.ice_patch.state":"状态","feature.ice_patch.targets":"目标","feature.ice_patch.targets.entry":"状态","feature.iceberg.state":"状态","feature.lake.state":"状态","feature.large_dripstone.column_radius":"石柱半径","feature.large_dripstone.floor_to_ceiling_search_range":"搜索范围","feature.large_dripstone.floor_to_ceiling_search_range.help":"地板至天花板的搜索范围。","feature.large_dripstone.height_scale":"高度比例","feature.large_dripstone.max_column_radius_to_cave_height_ratio":"半径与洞穴高度比","feature.large_dripstone.min_bluntness_for_wind":"风的最小钝度","feature.large_dripstone.min_radius_for_wind":"风的最小半径","feature.large_dripstone.stalactite_bluntness":"钟乳石钝度","feature.large_dripstone.stalagmite_bluntness":"石笋钝度","feature.large_dripstone.wind_speed":"风速","feature.nether_forest_vegetation.state_provider":"状态声明","feature.netherrack_replace_blobs.radius":"半径","feature.netherrack_replace_blobs.state":"状态","feature.netherrack_replace_blobs.target":"目标","feature.no_surface_ore.size":"尺寸","feature.no_surface_ore.state":"状态","feature.no_surface_ore.target":"目标","feature.object":"自定义","feature.ore.size":"尺寸","feature.random_boolean_selector.feature_false":"地物 1","feature.random_boolean_selector.feature_true":"地物 2","feature.random_patch.blacklist":"黑名单","feature.random_patch.block_placer":"方块放置器","feature.random_patch.can_replace":"可替代","feature.random_patch.need_water":"需要水","feature.random_patch.project":"投影","feature.random_patch.state_provider":"状态声明","feature.random_patch.tries":"尝试次数","feature.random_patch.whitelist":"白名单","feature.random_patch.xspread":"X轴扩散","feature.random_patch.yspread":"Y轴扩散","feature.random_patch.zspread":"Z轴扩散","feature.random_selector.default":"默认","feature.random_selector.features":"地物","feature.random_selector.features.entry":"地物","feature.random_selector.features.entry.chance":"几率","feature.random_selector.features.entry.feature":"地物","feature.sea_pickle.count":"数量","feature.seegrass.probability":"概率","feature.simple_block.place_in":"将要放置的位置的方块","feature.simple_block.place_in.entry":"状态","feature.simple_block.place_on":"下方的方块","feature.simple_block.place_on.entry":"状态","feature.simple_block.place_under":"上方的方块","feature.simple_block.place_under.entry":"状态","feature.simple_block.to_place":"将要放置的方块","feature.simple_random_selector.features":"地物","feature.simple_random_selector.features.entry":"地物","feature.small_dripstone.chance_of_taller_dripstone":"更高的滴水石的生成几率","feature.small_dripstone.empty_space_search_radius":"空域搜索半径","feature.small_dripstone.max_offset_from_origin":"距来源的最大偏移","feature.small_dripstone.max_placements":"最大放置","feature.spring_feature.hole_count":"坑洞数量","feature.spring_feature.required_block_below":"下方需要方块","feature.spring_feature.rock_count":"岩石数量","feature.spring_feature.state":"状态","feature.spring_feature.valid_blocks":"有效方块","feature.string":"引用","feature.tree.decorators":"装饰器","feature.tree.decorators.entry":"树装饰器","feature.tree.foliage_placer":"树叶放置器","feature.tree.heightmap":"高度图","feature.tree.ignore_vines":"忽略藤蔓","feature.tree.leaves_provider":"树叶方块声明","feature.tree.max_water_depth":"树生成的最大水深","feature.tree.minimum_size":"最小尺寸","feature.tree.minimum_size.limit":"限制","feature.tree.minimum_size.lower_size":"下部尺寸","feature.tree.minimum_size.middle_size":"中部尺寸","feature.tree.minimum_size.min_clipped_height":"最小剪裁高度","feature.tree.minimum_size.type":"最小尺寸","feature.tree.minimum_size.upper_limit":"上部限制","feature.tree.minimum_size.upper_size":"上部尺寸","feature.tree.trunk_placer":"树干放置器","feature.tree.trunk_provider":"树干方块声明","feature.type":"类型","fluid.fluid":"流体 ID","fluid.state":"流体状态","fluid.tag":"流体标签","fluid_state.Name":"名称","fluid_state.Properties":"属性","foliage_placer.crown_height":"树冠高度","foliage_placer.height":"高度","foliage_placer.offset":"偏移","foliage_placer.radius":"半径","foliage_placer.trunk_height":"树干高度","foliage_placer.type":"类型","function.apply_bonus.enchantment":"附魔","function.apply_bonus.formula":"公式","function.apply_bonus.formula.binomial_with_bonus_count":"带奖励数量的二项分布","function.apply_bonus.formula.ore_drops":"矿物掉落","function.apply_bonus.formula.uniform_bonus_count":"带奖励数量的均匀分布","function.apply_bonus.parameters":"参数","function.apply_bonus.parameters.bonusMultiplier":"乘数","function.apply_bonus.parameters.extra":"额外值","function.apply_bonus.parameters.probability":"概率","function.copy_name.source":"源","function.copy_nbt.ops":"NBT 操作","function.copy_nbt.ops.entry":"操作","function.copy_nbt.source":"源","function.copy_state.block":"方块","function.copy_state.properties":"方块状态","function.copy_state.properties.entry":"属性","function.enchant_randomly.enchantments":"可选附魔","function.enchant_randomly.enchantments.entry":"魔咒","function.enchant_with_levels.levels":"等级","function.enchant_with_levels.treasure":"宝藏型魔咒","function.exploration_map.decoration":"图标","function.exploration_map.destination":"目标","function.exploration_map.search_radius":"搜寻半径","function.exploration_map.skip_existing_chunks":"跳过已生成区块","function.exploration_map.zoom":"缩放等级","function.fill_player_head.entity":"实体","function.function":"函数","function.limit_count.limit":"限额","function.list":"多个","function.looting_enchant.count":"数量","function.looting_enchant.limit":"限制","function.object":"单个","function.set_attributes.modifiers":"属性修饰符","function.set_attributes.modifiers.entry":"属性修饰符","function.set_banner_pattern.append":"添加","function.set_banner_pattern.patterns":"图案","function.set_contents.entries":"内容物","function.set_contents.entries.entry":"项目","function.set_count.add":"加上","function.set_count.add.help":"若为true,将会相对于目前的物品数量更改","function.set_count.count":"数量","function.set_damage.add":"加上","function.set_damage.add.help":"若为true,将会相对于目前的损伤值更改","function.set_damage.damage":"损伤值","function.set_data.data":"数据值","function.set_enchantments.add":"加上","function.set_enchantments.add.help":"若为true,将会相对于目前的等级更改","function.set_enchantments.enchantments":"魔咒","function.set_loot_table.name":"战利品表名","function.set_loot_table.seed":"种子","function.set_lore.entity":"实体","function.set_lore.lore":"物品描述","function.set_lore.lore.entry":"一行","function.set_lore.replace":"覆盖","function.set_name.entity":"实体","function.set_name.name":"名称","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"状态效果","function.set_stew_effect.effects.entry":"效果种类","function.set_stew_effect.effects.entry.duration":"持续时间","function.set_stew_effect.effects.entry.type":"效果种类","functions":"函数","functions.entry":"函数","gamemode.adventure":"冒险模式","gamemode.creative":"创造模式","gamemode.spectator":"旁观模式","gamemode.survival":"生存模式","generation_step.air":"空气","generation_step.liquid":"液体","generator.biome_source.altitude_noise":"高度噪声","generator.biome_source.biome":"生物群系","generator.biome_source.biomes":"生物群系","generator.biome_source.humidity_noise":"湿度噪声","generator.biome_source.large_biomes":"巨型生物群系","generator.biome_source.legacy_biome_init_layer":"旧版生物群系初始层","generator.biome_source.preset":"生物群系预设","generator.biome_source.preset.nether":"下界","generator.biome_source.scale":"缩放","generator.biome_source.seed":"生物群系种子","generator.biome_source.temperature_noise":"温度噪声","generator.biome_source.type":"生物群系源","generator.biome_source.weirdness_noise":"奇异度噪声","generator.seed":"维度种子","generator.settings":"生成器设置","generator.settings.biome":"生物群系","generator.settings.lakes":"湖","generator.settings.layers":"层","generator.settings.layers.entry":"层","generator.settings.layers.entry.block":"方块 ID","generator.settings.layers.entry.height":"高度","generator.settings.object":"自定义","generator.settings.presets.amplified":"放大化","generator.settings.presets.caves":"洞穴","generator.settings.presets.end":"末地","generator.settings.presets.floating_islands":"浮岛","generator.settings.presets.nether":"下界","generator.settings.presets.overworld":"主世界","generator.settings.string":"预设","generator.settings.structures":"结构","generator.settings.structures.stronghold":"要塞","generator.settings.structures.stronghold.count":"数量","generator.settings.structures.stronghold.distance":"距离","generator.settings.structures.stronghold.spread":"扩散度","generator.settings.structures.structures":"结构","generator.type":"生成器类型","generator_biome.biome":"生物群系","generator_biome.parameters":"参数","generator_biome.parameters.altitude":"海拔","generator_biome.parameters.help":"这些参数决定了该生物群系被生成时的位置。每个生物群系都必须拥有不同的设置组合。设置相近的生物群系会生成在一起。","generator_biome.parameters.humidity":"湿度","generator_biome.parameters.offset":"偏移","generator_biome.parameters.temperature":"温度","generator_biome.parameters.weirdness":"奇异度","generator_biome_noise.amplitudes":"振幅","generator_biome_noise.amplitudes.entry":"倍频 %0%","generator_biome_noise.firstOctave":"主倍频","generator_structure.salt":"盐值","generator_structure.separation":"间隔","generator_structure.separation.help":"以区块为单位该种类的两种结构之间的最小距离。","generator_structure.spacing":"空位","generator_structure.spacing.help":"该种类的两种结构间的平均距离。","heightmap_type.MOTION_BLOCKING":"阻止实体移动层","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"阻止实体移动层(不含树叶)","heightmap_type.OCEAN_FLOOR":"海床层","heightmap_type.OCEAN_FLOOR_WG":"海床层(世界生成)","heightmap_type.WORLD_SURFACE":"地表层","heightmap_type.WORLD_SURFACE_WG":"地表层(世界生成)","hide_source":"隐藏源代码","item.count":"数量","item.durability":"耐久度","item.enchantments":"魔咒","item.enchantments.entry":"附魔","item.item":"名称","item.nbt":"NBT","item.potion":"药水","item.tag":"标签","key.advancements":"进度","key.attack":"攻击/摧毁","key.back":"向后移动","key.chat":"打开聊天栏","key.command":"输入命令","key.drop":"丢弃所选物品","key.forward":"向前移动","key.fullscreen":"全屏显示切换","key.hotbar.1":"快捷栏 1","key.hotbar.2":"快捷栏 2","key.hotbar.3":"快捷栏 3","key.hotbar.4":"快捷栏 4","key.hotbar.5":"快捷栏 5","key.hotbar.6":"快捷栏 6","key.hotbar.7":"快捷栏 7","key.hotbar.8":"快捷栏 8","key.hotbar.9":"快捷栏 9","key.inventory":"开启/关闭物品栏","key.jump":"跳跃","key.left":"向左","key.loadToolbarActivator":"加载物品工具栏","key.pickItem":"选取方块","key.playerlist":"玩家列表","key.right":"向右","key.saveToolbarActivator":"保存物品工具栏","key.screenshot":"截图","key.smoothCamera":"切换电影视角","key.sneak":"潜行","key.spectatorOutlines":"高亮玩家(旁观者)","key.sprint":"疾跑","key.swapOffhand":"与副手交换物品","key.togglePerspective":"切换视角","key.use":"使用物品/放置方块","location.biome":"生物群系","location.block":"方块","location.dimension":"维度","location.feature":"地物","location.fluid":"流体","location.light":"光照","location.light.light":"可见光等级","location.position":"位置","location.position.x":"X 坐标","location.position.y":"Y 坐标","location.position.z":"Z 坐标","location.smokey":"烟熏","loot_condition_type.alternative":"析取范式(或)","loot_condition_type.block_state_property":"方块状态属性","loot_condition_type.damage_source_properties":"伤害源属性","loot_condition_type.entity_properties":"实体属性","loot_condition_type.entity_scores":"实体分数","loot_condition_type.inverted":"取反(非)","loot_condition_type.killed_by_player":"被玩家击杀","loot_condition_type.location_check":"检查位置","loot_condition_type.match_tool":"匹配工具","loot_condition_type.random_chance":"随机概率","loot_condition_type.random_chance_with_looting":"受抢夺魔咒影响的随机概率","loot_condition_type.reference":"引用 predicate 文件","loot_condition_type.survives_explosion":"未被爆炸破坏","loot_condition_type.table_bonus":"附魔奖励","loot_condition_type.time_check":"检查时间","loot_condition_type.value_check":"检查值","loot_condition_type.weather_check":"检查天气","loot_entry.dynamic.name":"名称","loot_entry.item.name":"名称","loot_entry.loot_table.name":"战利品表名","loot_entry.quality":"每级幸运对权重的影响","loot_entry.tag.expand":"展开","loot_entry.tag.expand.help":"如果为 false,该项目将返回指定物品标签的全部内容;否则将会从中随机抽取一个返回。","loot_entry.tag.name":"物品标签名","loot_entry.type":"类型","loot_entry.weight":"权重","loot_function_type.apply_bonus":"应用奖励公式","loot_function_type.copy_name":"复制方块实体显示名","loot_function_type.copy_nbt":"复制 NBT","loot_function_type.copy_state":"复制方块状态","loot_function_type.enchant_randomly":"随机附魔","loot_function_type.enchant_with_levels":"给予等价于经验等级的随机魔咒","loot_function_type.exploration_map":"设置探险家地图","loot_function_type.explosion_decay":"爆炸损耗","loot_function_type.fill_player_head":"填充玩家头颅","loot_function_type.furnace_smelt":"熔炉熔炼","loot_function_type.limit_count":"限制堆叠数量","loot_function_type.looting_enchant":"根据抢夺魔咒调整物品数量","loot_function_type.set_attributes":"设置属性","loot_function_type.set_banner_pattern":"设置旗帜图案","loot_function_type.set_contents":"设置内容物","loot_function_type.set_count":"设置物品数量","loot_function_type.set_damage":"设置损伤值","loot_function_type.set_data":"设置数据值","loot_function_type.set_enchantments":"设置魔咒","loot_function_type.set_loot_table":"设置战利品表","loot_function_type.set_lore":"设置物品描述","loot_function_type.set_name":"设置物品名","loot_function_type.set_nbt":"设置 NBT","loot_function_type.set_stew_effect":"设置迷之炖菜状态效果","loot_pool.bonus_rolls":"每级幸运增加的抽取次数","loot_pool.entries":"项目","loot_pool.entries.entry":"项目","loot_pool.rolls":"抽取次数","loot_pool.rolls.help":"随机抽取的项目数。","loot_pool_entry_type.alternatives":"析取范式","loot_pool_entry_type.alternatives.help":"获取第一个满足条件的子项目。","loot_pool_entry_type.dynamic":"动态","loot_pool_entry_type.dynamic.help":"获取特定方块的特定掉落物。","loot_pool_entry_type.empty":"空","loot_pool_entry_type.empty.help":"不向随机池中加入任何物品。","loot_pool_entry_type.group":"组","loot_pool_entry_type.group.help":"从所有满足条件的子项目中随机抽取一个。","loot_pool_entry_type.item":"物品","loot_pool_entry_type.item.help":"加入一种物品。","loot_pool_entry_type.loot_table":"战利品表","loot_pool_entry_type.loot_table.help":"加入另一个战利品表的内容。","loot_pool_entry_type.sequence":"序列","loot_pool_entry_type.sequence.help":"从第一个不满足条件的子项目之前的所有子项目中随机抽取一个。","loot_pool_entry_type.tag":"物品标签","loot_pool_entry_type.tag.help":"添加一个物品标签的内容。","loot_table.pools":"随机池","loot_table.pools.entry":"随机池","loot_table.type":"类型","luck_based":"受幸运等级影响","nbt_operation.op":"操作类型","nbt_operation.op.append":"追加","nbt_operation.op.merge":"合并","nbt_operation.op.replace":"替换","nbt_operation.source":"复制源","nbt_operation.target":"复制目标","nbt_provider.source":"来源","nbt_provider.target":"目标","nbt_provider.type":"类型","nbt_provider.type.context":"上下文+","nbt_provider.type.storage":"命令存储","nbt_provider.type.string":"上下文","noise_settings.bedrock_floor_position":"基岩地板位置","noise_settings.bedrock_floor_position.help":"基岩地板的位置。数字越大地板越靠上。","noise_settings.bedrock_roof_position":"基岩天花板位置","noise_settings.bedrock_roof_position.help":"基岩天花板从世界高度开始计算的相对位置。数字越大天花板越靠下。","noise_settings.biome":"生物群系","noise_settings.default_block":"默认方块","noise_settings.default_fluid":"默认流体","noise_settings.disable_mob_generation":"禁用生物生成","noise_settings.disable_mob_generation.help":"如果设置为 true,生成世界时不会生成生物。","noise_settings.name":"名称","noise_settings.noise":"噪声选项","noise_settings.noise.amplified":"放大化","noise_settings.noise.bottom_slide":"底部曲线","noise_settings.noise.bottom_slide.help":"改变世界底部曲线。底部曲线大小(size)为0时没有效果。","noise_settings.noise.bottom_slide.offset":"偏移","noise_settings.noise.bottom_slide.size":"大小","noise_settings.noise.bottom_slide.target":"目标","noise_settings.noise.density_factor":"密度因子","noise_settings.noise.density_factor.help":"决定高度影响地形的程度。正值在底部产生陆地。接近0的值产生均匀的地形。","noise_settings.noise.density_offset":"密度偏移","noise_settings.noise.density_offset.help":"影响平均陆地高度。设为0将使平均陆地高度变为高度(height)的一半。设为正值将抬升高度。","noise_settings.noise.height":"高度","noise_settings.noise.island_noise_override":"岛屿噪声覆盖","noise_settings.noise.island_noise_override.help":"如果设置为 true,生成的地形会像末地一样在中心有一个大岛、外部有许多小岛。","noise_settings.noise.min_y":"最小高度","noise_settings.noise.random_density_offset":"随机密度偏移","noise_settings.noise.sampling":"采样","noise_settings.noise.sampling.xz_factor":"XZ 因子","noise_settings.noise.sampling.xz_scale":"XZ 缩放","noise_settings.noise.sampling.y_factor":"Y 因子","noise_settings.noise.sampling.y_scale":"Y 缩放","noise_settings.noise.simplex_surface_noise":"单纯形表面噪声","noise_settings.noise.size_horizontal":"水平大小","noise_settings.noise.size_vertical":"垂直大小","noise_settings.noise.top_slide":"顶部曲线","noise_settings.noise.top_slide.help":"改变世界顶部曲线。顶部曲线大小(Size)为0时没有效果。","noise_settings.noise.top_slide.offset":"偏移","noise_settings.noise.top_slide.size":"大小","noise_settings.noise.top_slide.target":"目标","noise_settings.sea_level":"海平面","noise_settings.structures":"结构","noise_settings.structures.stronghold":"要塞","noise_settings.structures.stronghold.count":"数量","noise_settings.structures.stronghold.distance":"距离","noise_settings.structures.stronghold.spread":"分散","noise_settings.structures.structures":"结构","number_provider.max":"最大值","number_provider.min":"最小值","number_provider.n":"N","number_provider.p":"P","number_provider.scale":"缩放","number_provider.score":"记分项","number_provider.target":"目标","number_provider.type":"类型","number_provider.type.binomial":"二项分布","number_provider.type.constant":"常数+","number_provider.type.number":"常数","number_provider.type.object":"均匀分布","number_provider.type.score":"分数","number_provider.type.uniform":"均匀分布+","number_provider.value":"数字","player.advancements":"进度","player.advancements.entry":"进度","player.gamemode":"游戏模式","player.level":"经验等级","player.recipes":"配方","player.stats":"统计","player.stats.entry":"统计","pos_rule_test.always_true":"总是为真","pos_rule_test.axis":"轴","pos_rule_test.axis.x":"X 轴","pos_rule_test.axis.y":"Y 轴","pos_rule_test.axis.z":"Z 轴","pos_rule_test.axis_aligned_linear_pos":"轴对齐线性插值坐标","pos_rule_test.linear_pos":"线性插值坐标","pos_rule_test.max_chance":"最大几率","pos_rule_test.max_dist":"最大距离","pos_rule_test.min_chance":"最小几率","pos_rule_test.min_dist":"最小距离","pos_rule_test.predicate_type":"类型","processor.block_age.mossiness":"苔藓度","processor.block_ignore.blocks":"方块","processor.block_ignore.blocks.entry":"状态","processor.block_rot.integrity":"完整性","processor.gravity.heightmap":"高度图","processor.gravity.offset":"偏移","processor.processor_type":"类型","processor.rule.rules":"规则","processor.rule.rules.entry":"规则","processor_list.processors":"处理器","processor_list.processors.entry":"处理器","processor_rule.input_predicate":"输入方块处理谓词","processor_rule.location_predicate":"结构生成前位置方块处理谓词","processor_rule.output_nbt":"输出 NBT","processor_rule.output_state":"输出方块状态","processor_rule.position_predicate":"位置方块处理谓词","processors.object":"自定义","processors.string":"引用","range.binomial":"二项分布","range.max":"最大值","range.min":"最小值","range.n":"N","range.number":"精确值","range.object":"范围","range.p":"P","range.type":"类型","range.uniform":"均匀分布","requirements":"应当达成","rule_test.always_true":"总是为真","rule_test.block":"方块","rule_test.block_match":"方块匹配","rule_test.block_state":"状态","rule_test.blockstate_match":"方块状态匹配","rule_test.predicate_type":"类型","rule_test.probability":"概率","rule_test.random_block_match":"方块随机匹配","rule_test.random_blockstate_match":"方块状态随机匹配","rule_test.tag":"标签","rule_test.tag_match":"标签匹配","score_provider.name":"名称","score_provider.target":"目标","score_provider.type":"类型","score_provider.type.context":"上下文+","score_provider.type.fixed":"固定","score_provider.type.string":"上下文","slot.chest":"胸部","slot.feet":"脚部","slot.head":"头部","slot.legs":"腿部","slot.mainhand":"主手","slot.offhand":"副手","statistic.stat":"统计","statistic.type":"类型","statistic.type.broken":"用坏","statistic.type.crafted":"合成","statistic.type.custom":"Custom(其他)","statistic.type.dropped":"掉落","statistic.type.killed":"击杀","statistic.type.killedByTeam":"被队伍击杀","statistic.type.killed_by":"被击杀","statistic.type.mined":"挖掘","statistic.type.picked_up":"捡起","statistic.type.teamkill":"击杀队伍","statistic.type.used":"使用","statistic.value":"值","status_effect.ambient":"是否为信标施加","status_effect.amplifier":"等级","status_effect.duration":"持续时间","status_effect.visible":"是否可见","structure_feature.biome_temp":"生物群系温度","structure_feature.biome_temp.cold":"寒冷","structure_feature.biome_temp.warm":"温暖","structure_feature.cluster_probability":"成簇概率","structure_feature.config":"配置","structure_feature.is_beached":"是否搁浅","structure_feature.large_probability":"大型概率","structure_feature.portal_type":"传送门类型","structure_feature.portal_type.desert":"沙漠","structure_feature.portal_type.jungle":"丛林","structure_feature.portal_type.mountain":"山","structure_feature.portal_type.nether":"下界","structure_feature.portal_type.ocean":"海洋","structure_feature.portal_type.standard":"基本","structure_feature.portal_type.swamp":"沼泽","structure_feature.probability":"概率","structure_feature.size":"尺寸","structure_feature.start_pool":"起始池","structure_feature.type":"类型","structure_feature.type.mesa":"恶地","structure_feature.type.normal":"普通","surface_builder.config":"配置","surface_builder.top_material":"顶部材料","surface_builder.type":"类型","surface_builder.under_material":"下层材料","surface_builder.underwater_material":"水下材料","table.type":"战利品表类型","table.type.block":"方块","table.type.chest":"箱子","table.type.empty":"空","table.type.entity":"实体","table.type.fishing":"钓鱼","table.type.generic":"通用","tag.replace":"覆盖","tag.values":"值","template_element.element_type":"类型","template_element.elements":"元素","template_element.feature":"地物","template_element.location":"结构的命名空间 ID","template_element.processors":"处理器","template_element.projection":"投影","template_element.projection.rigid":"直接生成","template_element.projection.terrain_matching":"匹配地形","template_pool.elements":"元素","template_pool.elements.entry":"元素","template_pool.elements.entry.element":"元素","template_pool.elements.entry.weight":"权重","template_pool.fallback":"回落池","template_pool.name":"名称","text_component":"文本组件","text_component.boolean":"布尔值","text_component.list":"数组","text_component.number":"数字","text_component.object":"对象","text_component.object.keybind":"键位绑定","text_component.object.nbt":"NBT值","text_component.object.score":"分数值","text_component.object.selector":"实体名称","text_component.object.text":"纯文本","text_component.object.translation":"翻译文本","text_component.string":"字符串","text_component_object.block":"方块","text_component_object.bold":"粗体","text_component_object.clickEvent":"点击事件","text_component_object.clickEvent.action":"行为","text_component_object.clickEvent.action.change_page":"翻页","text_component_object.clickEvent.action.copy_to_clipboard":"复制到剪贴板","text_component_object.clickEvent.action.open_file":"打开文件","text_component_object.clickEvent.action.open_url":"打开链接","text_component_object.clickEvent.action.run_command":"运行命令","text_component_object.clickEvent.action.suggest_command":"建议命令","text_component_object.clickEvent.value":"值","text_component_object.color":"颜色","text_component_object.entity":"实体","text_component_object.extra":"附加","text_component_object.font":"字体","text_component_object.hoverEvent":"悬浮事件","text_component_object.hoverEvent.action":"行为","text_component_object.hoverEvent.action.show_entity":"显示实体","text_component_object.hoverEvent.action.show_item":"显示物品","text_component_object.hoverEvent.action.show_text":"显示文字","text_component_object.hoverEvent.contents":"内容","text_component_object.hoverEvent.value":"值","text_component_object.insertion":"插入","text_component_object.interpret":"解析","text_component_object.italic":"斜体","text_component_object.keybind":"键位","text_component_object.nbt":"NBT","text_component_object.obfuscated":"混淆","text_component_object.score":"分数","text_component_object.score.name":"名称","text_component_object.score.objective":"记分项","text_component_object.score.value":"值","text_component_object.selector":"选择器","text_component_object.storage":"储存","text_component_object.strikethrough":"删除线","text_component_object.text":"文本","text_component_object.translate":"可翻译文本","text_component_object.underlined":"下划线","text_component_object.with":"以之翻译","tree_decorator.alter_ground.provider":"状态声明","tree_decorator.beehive.probability":"概率","tree_decorator.cocoa.probability":"概率","tree_decorator.type":"类型","true":"是","trunk_placer.base_height":"基础高度","trunk_placer.height_rand_a":"水平随机高度","trunk_placer.height_rand_b":"竖直随机高度","trunk_placer.type":"类型","uniform_int.base":"基值","uniform_int.number":"常数","uniform_int.object":"均匀分布","uniform_int.spread":"扩散","unset":"未指定","update.pack_format":"将pack_format升级到%0%","world.bonus_chest":"生成奖励箱","world.generate_features":"生成结构","world.seed":"种子","world_settings.bonus_chest":"生成奖励箱","world_settings.dimensions":"维度","world_settings.generate_features":"生成地物","world_settings.seed":"世界种子","worldgen.warning":"本特性为高度实验性的特性,很不稳定,在未来的版本中随时会有变动。请做好游戏在创建世界时崩溃的准备。","worldgen/biome_source.checkerboard":"棋盘","worldgen/biome_source.checkerboard.help":"以棋盘状区块图案生成的生物群系。","worldgen/biome_source.fixed":"固定","worldgen/biome_source.fixed.help":"整个世界只有单一生物群系。","worldgen/biome_source.multi_noise":"多重噪声","worldgen/biome_source.multi_noise.help":"可配置参数的自定义生物群系分布。","worldgen/biome_source.the_end":"末地","worldgen/biome_source.the_end.help":"末地的生物群系分布。","worldgen/biome_source.vanilla_layered":"原版分层","worldgen/biome_source.vanilla_layered.help":"主世界的生物群系分布。","worldgen/block_placer_type.column_placer":"柱状","worldgen/block_placer_type.double_plant_placer":"双层植物","worldgen/block_placer_type.simple_block_placer":"简单","worldgen/block_state_provider_type.forest_flower_provider":"繁花森林方块状态声明","worldgen/block_state_provider_type.plain_flower_provider":"平原花方块状态声明","worldgen/block_state_provider_type.rotated_block_provider":"旋转方块状态声明","worldgen/block_state_provider_type.simple_state_provider":"简单方块状态声明","worldgen/block_state_provider_type.weighted_state_provider":"加权方块状态声明","worldgen/carver.canyon":"峡谷","worldgen/carver.cave":"洞穴","worldgen/carver.nether_cave":"下界洞穴","worldgen/carver.underwater_canyon":"水下峡谷","worldgen/carver.underwater_cave":"水下洞穴","worldgen/chunk_generator.debug":"调试世界","worldgen/chunk_generator.flat":"超平坦","worldgen/chunk_generator.noise":"默认","worldgen/feature_size_type.three_layers_feature_size":"三层","worldgen/feature_size_type.two_layers_feature_size":"两层","worldgen/foliage_placer_type.acacia_foliage_placer":"金合欢","worldgen/foliage_placer_type.blob_foliage_placer":"橡树/白桦","worldgen/foliage_placer_type.bush_foliage_placer":"金字塔形","worldgen/foliage_placer_type.dark_oak_foliage_placer":"深色橡树","worldgen/foliage_placer_type.fancy_foliage_placer":"球形","worldgen/foliage_placer_type.jungle_foliage_placer":"丛林","worldgen/foliage_placer_type.mega_pine_foliage_placer":"双层稀疏云杉","worldgen/foliage_placer_type.pine_foliage_placer":"稀疏云杉","worldgen/foliage_placer_type.spruce_foliage_placer":"云杉","worldgen/structure_pool_element.empty_pool_element":"空","worldgen/structure_pool_element.feature_pool_element":"地物","worldgen/structure_pool_element.legacy_single_pool_element":"单个(旧版)","worldgen/structure_pool_element.list_pool_element":"列表","worldgen/structure_pool_element.single_pool_element":"单个","worldgen/structure_processor.blackstone_replace":"替代黑石","worldgen/structure_processor.block_age":"做旧方块","worldgen/structure_processor.block_ignore":"忽略方块","worldgen/structure_processor.block_rot":"随机移除方块","worldgen/structure_processor.gravity":"重力","worldgen/structure_processor.jigsaw_replacement":"拼图替换","worldgen/structure_processor.lava_submerged_block":"熔岩湮没方块","worldgen/structure_processor.nop":"无","worldgen/structure_processor.rule":"规则","worldgen/tree_decorator_type.alter_ground":"地面方块替换","worldgen/tree_decorator_type.beehive":"蜂箱","worldgen/tree_decorator_type.cocoa":"可可果","worldgen/tree_decorator_type.leave_vine":"树叶藤蔓","worldgen/tree_decorator_type.trunk_vine":"树干藤蔓","worldgen/trunk_placer_type.dark_oak_trunk_placer":"深色橡木型","worldgen/trunk_placer_type.fancy_trunk_placer":"多分叉型","worldgen/trunk_placer_type.forking_trunk_placer":"单分叉型","worldgen/trunk_placer_type.giant_trunk_placer":"2×2竖直型","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"大丛林木型","worldgen/trunk_placer_type.straight_trunk_placer":"竖直型","advancement":"进度","copy":"复制","dimension-type":"维度类型","download":"下载","fields":"字段","item-modifier":"物品修饰器","language":"语言","loot-table":"战利品表","predicate":"断言","preview":"可视化","preview.depth":"深度","preview.scale":"比例","preview.show_density":"显示密度","preview.width":"宽度","redo":"重做","reset":"重置","settings.fields.description":"自定义高级字段设置","settings.fields.name":"名称","settings.fields.path":"上下文","share":"分享","title.generator":"%0% 生成器","title.home":"数据包生成器","undo":"撤销","world":"世界设置","worldgen/biome":"生物群系","worldgen/carver":"地形雕刻器","worldgen/feature":"地物","worldgen/noise-settings":"噪声设置","worldgen/processor-list":"处理器列表","worldgen/structure-feature":"结构地物","worldgen/surface-builder":"地表生成器","worldgen/template-pool":"模板池"} \ No newline at end of file diff --git a/locales/zh-tw.json b/locales/zh-tw.json deleted file mode 100644 index 4d48e53e..00000000 --- a/locales/zh-tw.json +++ /dev/null @@ -1 +0,0 @@ -{"advancement.criteria":"準則","advancement.display":"顯示","advancement.display.announce_to_chat":"在聊天欄提示","advancement.display.background":"背景","advancement.display.description":"描述","advancement.display.frame":"框架類型","advancement.display.frame.challenge":"挑戰","advancement.display.frame.goal":"目標","advancement.display.frame.task":"進度","advancement.display.help":"若存在,該進度會在進度介面中展示。","advancement.display.hidden":"隱藏","advancement.display.icon":"圖示","advancement.display.icon.item":"圖示物品","advancement.display.icon.nbt":"圖示物品 NBT","advancement.display.show_toast":"顯示右上角提示訊息","advancement.display.title":"標題","advancement.parent":"父進度","advancement.rewards":"獎勵","advancement.rewards.experience":"經驗","advancement.rewards.function":"函數","advancement.rewards.loot":"戰利品表","advancement.rewards.recipes":"配方","advancement_trigger.bee_nest_destroyed":"摧毀蜂窩","advancement_trigger.bred_animals":"繁殖動物","advancement_trigger.brewed_potion":"釀製藥水","advancement_trigger.changed_dimension":"改變維度","advancement_trigger.channeled_lightning":"喚雷附魔擊殺實體","advancement_trigger.construct_beacon":"構建烽火台結構","advancement_trigger.consume_item":"消耗物品","advancement_trigger.cured_zombie_villager":"治療殭屍村民","advancement_trigger.effects_changed":"狀態效果改變","advancement_trigger.enchanted_item":"附魔物品","advancement_trigger.enter_block":"進入方塊","advancement_trigger.entity_hurt_player":"實體傷害玩家","advancement_trigger.entity_killed_player":"實體殺死玩家","advancement_trigger.filled_bucket":"填滿鐵桶","advancement_trigger.fishing_rod_hooked":"釣竿勾住東西","advancement_trigger.hero_of_the_village":"村莊英雄","advancement_trigger.impossible":"不可達成","advancement_trigger.inventory_changed":"物品欄改變","advancement_trigger.item_durability_changed":"物品耐久度改變","advancement_trigger.item_used_on_block":"對方塊使用物品","advancement_trigger.killed_by_crossbow":"使用弩箭擊殺","advancement_trigger.levitation":"懸浮","advancement_trigger.location":"位置","advancement_trigger.nether_travel":"地獄旅行","advancement_trigger.placed_block":"放置方塊","advancement_trigger.player_generates_container_loot":"玩家生成容器戰利品","advancement_trigger.player_hurt_entity":"玩家傷害實體","advancement_trigger.player_killed_entity":"玩家殺死實體","advancement_trigger.recipe_unlocked":"配方解鎖","advancement_trigger.safely_harvest_honey":"安全地採集蜂蜜","advancement_trigger.shot_crossbow":"使用弩","advancement_trigger.slept_in_bed":"睡覺","advancement_trigger.slide_down_block":"從蜂蜜塊上滑下","advancement_trigger.summoned_entity":"召喚實體","advancement_trigger.tame_animal":"馴服動物","advancement_trigger.target_hit":"擊中標靶","advancement_trigger.thrown_item_picked_up_by_entity":"丟出的物品被實體撿起","advancement_trigger.tick":"刻","advancement_trigger.used_ender_eye":"使用終界之眼","advancement_trigger.used_totem":"使用不死圖騰","advancement_trigger.villager_trade":"村民交易","advancement_trigger.voluntary_exile":"引發突襲","attribute.generic_armor":"盔甲防禦點數","attribute.generic_armor_toughness":"盔甲強度","attribute.generic_attack_damage":"普通攻擊傷害","attribute.generic_attack_knockback":"擊退距離","attribute.generic_attack_speed":"攻擊速度","attribute.generic_flying_speed":"飛行速度","attribute.generic_follow_range":"追蹤範圍","attribute.generic_knockback_resistance":"抗擊退","attribute.generic_luck":"幸運","attribute.generic_max_health":"最高生命值","attribute.generic_movement_speed":"移動速度","attribute.horse.jump_strength":"跳躍力","attribute.zombie.spawn_reinforcements":"殭屍增援可能性","attribute_modifier.amount":"數量","attribute_modifier.attribute":"屬性","attribute_modifier.name":"名稱","attribute_modifier.operation":"運算模式","attribute_modifier.operation.addition":"加減數量","attribute_modifier.operation.multiply_base":"乘上數量","attribute_modifier.operation.multiply_total":"乘上(數量 + 1)","attribute_modifier.slot":"欄位","attribute_modifier.slot.list":"多個","attribute_modifier.slot.string":"單個","badge.experimental":"實驗性","badge.unstable":"不穩定","biome.carvers":"地形雕刻器","biome.carvers.air":"空氣","biome.carvers.liquid":"液體","biome.category":"分類","biome.creature_spawn_probability":"生物生成機率","biome.depth":"深度","biome.depth.help":"使地形抬升或下沉。正值被認為是陸地,負值被認為是海洋。","biome.downfall":"降水(此引數控制草/樹葉的顏色與火的蔓延速度)","biome.effects":"環境效果","biome.effects.additions_sound":"附加音效","biome.effects.additions_sound.sound":"音效","biome.effects.additions_sound.tick_chance":"每刻播放的機率","biome.effects.ambient_sound":"環境音效","biome.effects.fog_color":"迷霧顏色","biome.effects.foliage_color":"樹葉顏色","biome.effects.grass_color":"草的顏色","biome.effects.grass_color_modifier":"草顏色修飾子","biome.effects.grass_color_modifier.dark_forest":"黑森林","biome.effects.grass_color_modifier.none":"無","biome.effects.grass_color_modifier.swamp":"沼澤","biome.effects.mood_sound":"氛圍音效","biome.effects.mood_sound.block_search_extent":"播放位置搜尋半徑","biome.effects.mood_sound.offset":"偏移","biome.effects.mood_sound.sound":"音效","biome.effects.mood_sound.tick_delay":"刻延時","biome.effects.music":"音樂","biome.effects.music.max_delay":"最大延時","biome.effects.music.min_delay":"最小延時","biome.effects.music.replace_current_music":"替換當前音樂","biome.effects.music.sound":"音效","biome.effects.particle":"粒子","biome.effects.particle.options":"選項","biome.effects.particle.options.type":"粒子類型","biome.effects.particle.probability":"概率","biome.effects.sky_color":"天空顏色","biome.effects.water_color":"水的顏色","biome.effects.water_fog_color":"水中迷霧顏色","biome.features":"地物","biome.features.entry":"步驟 %0%","biome.features.entry.entry":"地物","biome.player_spawn_friendly":"玩家生成偏好","biome.player_spawn_friendly.help":"若為 true,世界出生點會優先選定在此生態域內。","biome.precipitation":"降雨量","biome.precipitation.none":"無","biome.precipitation.rain":"雨","biome.precipitation.snow":"雪","biome.scale":"規模","biome.scale.help":"豎直方向上拉伸地形。值越小,地形越平整。","biome.spawn_costs":"生成代價","biome.spawn_costs.charge":"電荷量","biome.spawn_costs.energy_budget":"電勢預算","biome.spawners":"生成器","biome.spawners.ambient":"環境生物","biome.spawners.creature":"生物(非怪物)","biome.spawners.entry":"生成","biome.spawners.entry.maxCount":"最大數量","biome.spawners.entry.minCount":"最小數量","biome.spawners.entry.type":"類型","biome.spawners.entry.weight":"權重","biome.spawners.misc":"雜項","biome.spawners.monster":"怪物","biome.spawners.water_ambient":"水下環境生物","biome.spawners.water_creature":"水生生物","biome.starts":"起始結構","biome.starts.entry":"結構","biome.starts.help":"配置過的結構地物的列表。","biome.surface_builder":"地表生成器","biome.temperature":"溫度","biome.temperature_modifier":"溫度修飾子","biome.temperature_modifier.frozen":"冰凍","biome.temperature_modifier.none":"無","block.block":"方塊 ID","block.nbt":"NBT","block.state":"方塊狀態","block.tag":"方塊標籤","block_placer.column_placer.extra_size":"額外尺寸","block_placer.column_placer.min_size":"最小尺寸","block_placer.type":"類型","block_state.Name":"名稱","block_state.Properties":"屬性","block_state_provider.rotated_block_provider.state":"狀態","block_state_provider.simple_state_provider.state":"狀態","block_state_provider.type":"類型","block_state_provider.weighted_state_provider.entries":"項目","block_state_provider.weighted_state_provider.entries.entry.data":"狀態","block_state_provider.weighted_state_provider.entries.entry.weight":"權重","carver.config":"配置","carver.config.probability":"概率","carver.type":"類型","children":"子","children.entry":"項目","condition.alternative.terms":"子條件","condition.block_state_property.block":"方塊","condition.block_state_property.properties":"方塊狀態","condition.condition":"條件","condition.damage_source":"傷害來源","condition.entity_properties.entity":"實體","condition.entity_scores.entity":"實體","condition.entity_scores.scores":"分數","condition.entry":"述詞","condition.inverted.term":"條件","condition.item":"物品","condition.killed_by_player.inverse":"取反","condition.list":"多個","condition.location":"位置","condition.location_check.offsetX":"X 座標偏移","condition.location_check.offsetY":"Y 座標偏移","condition.location_check.offsetZ":"Z 座標偏移","condition.object":"單個","condition.random_chance.chance":"機率","condition.random_chance_with_looting.chance":"機率","condition.random_chance_with_looting.looting_multiplier":"每等級掠奪附魔增加的數","condition.reference.name":"述詞 ID","condition.table_bonus.chances":"機率","condition.table_bonus.chances.entry":"機率","condition.table_bonus.enchantment":"附魔","condition.time_check.period":"週期","condition.time_check.period.help":"可選。若指定,在比較前會先將遊戲的時間以該數取模(例如,若設定為 24000,指定的值將會被運算為一天中的時間)。","condition.time_check.value":"值","condition.value_check.range":"範圍","condition.value_check.value":"值","condition.weather_check.raining":"下雨","condition.weather_check.thundering":"雷雨","conditions":"條件","conditions.entry":"條件","conditions.list":"條件","conditions.object":"舊版","copy_source.block_entity":"方塊實體","copy_source.direct_killer":"直接擊殺實體","copy_source.killer":"擊殺實體","copy_source.killer_player":"擊殺玩家","copy_source.this":"自身","criterion.bee_nest_destroyed.block":"方塊","criterion.bee_nest_destroyed.num_bees_inside":"內部蜜蜂的數量","criterion.bred_animals.child":"幼體","criterion.bred_animals.parent":"父或母","criterion.bred_animals.partner":"配偶","criterion.brewed_potion.potion":"藥水 ID","criterion.changed_dimension.from":"出發維度","criterion.changed_dimension.to":"到達維度","criterion.channeled_lightning.victims":"受害實體","criterion.channeled_lightning.victims.entry":"實體","criterion.conditions":"條件","criterion.construct_beacon.beacon_level":"金字塔等級","criterion.consume_item.item":"物品","criterion.cured_zombie_villager.villager":"村民","criterion.cured_zombie_villager.zombie":"殭屍","criterion.effects_changed.effects":"狀態效果","criterion.enchanted_item.item":"物品","criterion.enchanted_item.levels":"經驗等級","criterion.enter_block.block":"方塊","criterion.enter_block.state":"方塊狀態","criterion.entity_hurt_player.damage":"傷害","criterion.entity_killed_player.entity":"源實體","criterion.entity_killed_player.killing_blow":"傷害類型","criterion.filled_bucket.item":"物品","criterion.fishing_rod_hooked.entity":"被拉的實體","criterion.fishing_rod_hooked.item":"物品","criterion.hero_of_the_village.location":"位置","criterion.inventory_changed.items":"物品","criterion.inventory_changed.items.entry":"物品","criterion.inventory_changed.slots":"欄位","criterion.inventory_changed.slots.empty":"空欄位的數量","criterion.inventory_changed.slots.full":"滿欄位的數量","criterion.inventory_changed.slots.occupied":"已用欄位的數量","criterion.item_durability_changed.delta":"差值","criterion.item_durability_changed.durability":"耐久度","criterion.item_durability_changed.item":"物品","criterion.item_used_on_block.item":"物品","criterion.item_used_on_block.location":"位置","criterion.killed_by_crossbow.unique_entity_types":"實體種類的數量","criterion.killed_by_crossbow.victims":"受害實體","criterion.killed_by_crossbow.victims.entry":"實體","criterion.levitation.distance":"距離","criterion.levitation.duration":"維持時間","criterion.location.location":"位置","criterion.nether_travel.distance":"距離","criterion.nether_travel.entered":"進入位置","criterion.nether_travel.exited":"退出位置","criterion.placed_block.block":"方塊","criterion.placed_block.item":"物品","criterion.placed_block.location":"位置","criterion.placed_block.state":"方塊狀態","criterion.player":"玩家","criterion.player_generates_container_loot.loot_table":"戰利品表","criterion.player_hurt_entity.damage":"傷害","criterion.player_hurt_entity.entity":"受害實體","criterion.player_killed_entity.entity":"受害實體","criterion.player_killed_entity.killing_blow":"傷害類型","criterion.recipe_unlocked.recipe":"配方","criterion.rod":"釣竿","criterion.safely_harvest_honey.block":"方塊","criterion.safely_harvest_honey.item":"物品","criterion.shot_crossbow.item":"物品","criterion.slept_in_bed.location":"位置","criterion.slide_down_block.block":"方塊","criterion.summoned_entity.entity":"實體","criterion.tame_animal.entity":"動物","criterion.target_hit.projectile":"投射物","criterion.target_hit.shooter":"射擊者","criterion.target_hit.signal_strength":"訊號強度","criterion.thrown_item_picked_up_by_entity.entity":"實體","criterion.thrown_item_picked_up_by_entity.item":"物品","criterion.trigger":"觸發器","criterion.used_ender_eye.distance":"距離","criterion.used_totem.item":"圖騰物品","criterion.villager_trade.item":"購得物品","criterion.villager_trade.villager":"村民","criterion.voluntary_exile.location":"位置","damage.blocked":"是否被阻擋","damage.dealt":"應當受到傷害","damage.source_entity":"源實體","damage.taken":"實際受到傷害","damage.type":"傷害類型","damage_source.bypasses_armor":"破甲","damage_source.bypasses_invulnerability":"虛空","damage_source.bypasses_magic":"飢餓","damage_source.direct_entity":"直接來源實體","damage_source.is_explosion":"爆炸","damage_source.is_fire":"燃燒","damage_source.is_lightning":"雷擊","damage_source.is_magic":"魔法","damage_source.is_projectile":"投射物","damage_source.source_entity":"根本來源實體","decorator.carving_mask.step":"生成步驟","decorator.config":"配置","decorator.count.count":"數量","decorator.count_extra.count":"數量","decorator.count_extra.extra_chance":"額外機率","decorator.count_extra.extra_count":"額外數量","decorator.count_multilayer.count":"數量","decorator.count_noise.above_noise":"閾值上噪聲","decorator.count_noise.below_noise":"閾值下噪聲","decorator.count_noise.noise_level":"噪聲等級","decorator.count_noise_biased.noise_factor":"噪聲因子","decorator.count_noise_biased.noise_offset":"噪聲偏移量","decorator.count_noise_biased.noise_to_count_ratio":"噪數比","decorator.decorated.inner":"內部","decorator.decorated.outer":"外部","decorator.depth_average.baseline":"基準線","decorator.depth_average.spread":"擴散","decorator.glowstone.count":"數量","decorator.type":"類型","dimension":"維度","dimension.generator":"生成器","dimension.generator.biome_source":"生態域源","dimension.overworld":"主世界","dimension.the_end":"終末之界","dimension.the_nether":"地獄","dimension.type":"維度類型","dimension.type.object":"自訂","dimension.type.string":"預設","dimension_type.ambient_light":"環境光","dimension_type.ambient_light.help":"位於 0 與 1 之間的值。","dimension_type.bed_works":"床有效","dimension_type.bed_works.help":"若為 true,玩家可以使用床來設定重生點並跳過夜晚。若為 false,則使用床會爆炸。","dimension_type.coordinate_scale":"座標縮放","dimension_type.coordinate_scale.help":"在維度間傳送時(使用地獄傳送門或 /execute in)對座標使用的縮放倍數。","dimension_type.effects":"環境效果","dimension_type.effects.help":"天空效果","dimension_type.effects.overworld":"主世界","dimension_type.effects.the_end":"終末之界","dimension_type.effects.the_nether":"地獄","dimension_type.fixed_time":"固定時間","dimension_type.fixed_time.help":"設定該值會導致太陽處在某一固定位置。","dimension_type.has_ceiling":"具有天花板","dimension_type.has_ceiling.help":"影響天氣,地圖物品和重生規則。","dimension_type.has_raids":"生成突襲","dimension_type.has_raids.help":"若為 true,擁有不祥之兆效果的玩家會導致突襲。","dimension_type.has_skylight":"具有天空光照","dimension_type.has_skylight.help":"影響天氣,光照引擎和重生規則。","dimension_type.height":"高度","dimension_type.infiniburn":"無盡燃燒方塊","dimension_type.infiniburn.help":"定義能夠使火在其上永久燃燒的方塊標籤。","dimension_type.logical_height":"合規高度","dimension_type.logical_height.help":"在此高度以上,傳送門不會生成,歌萊果也不再能傳送玩家。","dimension_type.min_y":"最小高度","dimension_type.name":"名稱","dimension_type.natural":"自然","dimension_type.natural.help":"若設定為 true,傳送門中會生成殭屍化豬布林。若設定為 false,指南針與時鐘會不斷隨機旋轉。","dimension_type.piglin_safe":"豬布林不轉換","dimension_type.piglin_safe.help":"若為 false,豬布林會開始顫抖並轉化為殭屍化豬布林。","dimension_type.respawn_anchor_works":"重生錨有效","dimension_type.respawn_anchor_works.help":"若為 true,玩家可以充能並使用重生錨來設定重生點。若為 false,使用重生錨會爆炸。","dimension_type.ultrawarm":"極熱","dimension_type.ultrawarm.help":"若設定為 true,水會蒸發且海綿會變乾。","distance.absolute":"絕對距離","distance.horizontal":"水平距離","distance.x":"X","distance.y":"Y","distance.z":"Z","enchantment.aqua_affinity":"親水性","enchantment.bane_of_arthropods":"節肢剋星","enchantment.binding_curse":"綁定詛咒","enchantment.blast_protection":"爆炸保護","enchantment.channeling":"喚雷","enchantment.depth_strider":"深海漫遊","enchantment.efficiency":"效率","enchantment.enchantment":"附魔","enchantment.feather_falling":"輕盈","enchantment.fire_aspect":"燃燒","enchantment.fire_protection":"火焰保護","enchantment.flame":"火焰","enchantment.fortune":"幸運","enchantment.frost_walker":"冰霜行者","enchantment.impaling":"魚叉","enchantment.infinity":"無限","enchantment.knockback":"擊退","enchantment.levels":"等級","enchantment.looting":"掠奪","enchantment.loyalty":"忠誠","enchantment.luck_of_the_sea":"海洋的祝福","enchantment.lure":"魚餌","enchantment.mending":"修補","enchantment.multishot":"分裂箭矢","enchantment.piercing":"貫穿","enchantment.power":"強力","enchantment.projectile_protection":"投射物保護","enchantment.protection":"保護","enchantment.punch":"衝擊","enchantment.quick_charge":"快速上弦","enchantment.respiration":"水中呼吸","enchantment.riptide":"波濤","enchantment.sharpness":"鋒利","enchantment.silk_touch":"絲綢之觸","enchantment.smite":"不死剋星","enchantment.sweeping":"橫掃之刃","enchantment.thorns":"尖刺","enchantment.unbreaking":"耐久","enchantment.vanishing_curse":"消失詛咒","entity.distance":"到執行位置的距離","entity.effects":"狀態效果","entity.equipment":"裝備","entity.fishing_hook":"浮標","entity.fishing_hook.in_open_water":"位於開闊水域","entity.flags":"實體特徵","entity.isBaby":"是幼體","entity.isOnFire":"正在著火","entity.isSneaking":"正在潛行","entity.isSprinting":"正在疾走","entity.isSwimming":"正在游泳","entity.location":"位置","entity.nbt":"NBT","entity.player":"玩家","entity.targeted_entity":"目標實體","entity.team":"隊伍","entity.type":"實體","entity.vehicle":"載具","entity_source.direct_killer":"直接擊殺實體","entity_source.killer":"擊殺者","entity_source.killer_player":"擊殺者玩家","entity_source.this":"自身","entry":"項目","error":"錯誤","error.expected_boolean":"期望一個布林值","error.expected_integer":"期望一個整數","error.expected_json":"期望 JSON","error.expected_list":"期望一個陣列","error.expected_number":"期望一個數字","error.expected_object":"期望一個物件","error.expected_range":"期望一個範圍","error.expected_string":"期望一個字串","error.expected_uniform_int":"期望一個均勻分布整數","error.height_multiple":"高度必須是 %0% 的倍數","error.invalid_binomial":"不能使用二項分布型的範圍","error.invalid_empty_list":"不能使用空陣列","error.invalid_empty_string":"不能使用空字串","error.invalid_enum_option":"選項「%0%」無效","error.invalid_exact":"不能使用常數型的範圍","error.invalid_list_range.exact":"期望一個長度為 %1% 的串列","error.invalid_list_range.larger":"串列長度 %0% 比最大值 %1% 大","error.invalid_list_range.smaller":"串列長度 %0% 比最小值 %1% 小","error.invalid_number_range.between":"期望一個位於 %0% 與 %1% 之間的數字","error.invalid_number_range.larger":"值 %0% 比最大值 %1% 大","error.invalid_number_range.smaller":"值 %0% 比最小值 %1% 小","error.invalid_pattern":"字串無效:%0%","error.logical_height":"合規高度不能高於高度","error.min_y_multiple":"最小高度必須是 %0% 的倍數","error.min_y_plus_height":"最小高度 + 高度(Min Y + Height)不能高於 %0%","error.recipe.invalid_key":"只能使用單個字元作為鍵","error.separation_smaller_spacing":"間隔(separation)的值必須小於空位(spacing)","false":"否","feature.bamboo.probability":"概率","feature.basalt_columns.height":"高度","feature.basalt_columns.reach":"範圍","feature.block_pile.state_provider":"狀態聲明","feature.config":"配置","feature.decorated.decorator":"裝飾器","feature.decorated.feature":"地物","feature.delta_feature.contents":"三角洲內部方塊","feature.delta_feature.rim":"三角洲邊緣方塊","feature.delta_feature.rim_size":"邊緣尺寸","feature.delta_feature.size":"尺寸","feature.disk.half_height":"半高","feature.disk.radius":"半徑","feature.disk.state":"狀態","feature.disk.targets":"目標","feature.disk.targets.entry":"狀態","feature.dripstone_cluster.density":"密度","feature.dripstone_cluster.dripstone_block_layer_thickness":"方塊層厚度","feature.dripstone_cluster.floor_to_ceiling_search_range":"搜尋範圍","feature.dripstone_cluster.floor_to_ceiling_search_range.help":"地板至天花板的搜尋範圍。","feature.dripstone_cluster.height":"高度","feature.dripstone_cluster.height_deviation":"高度偏差","feature.dripstone_cluster.max_distance_from_center_affecting_chance_of_dripstone_column":"石柱機率距離","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias":"高度偏差距離","feature.dripstone_cluster.max_distance_from_center_affecting_height_bias.help":"影響高度偏差的離中心的最大距離。","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff":"最大高度差","feature.dripstone_cluster.max_stalagmite_stalactite_height_diff.help":"石筍和鐘乳石的最大高度差。","feature.dripstone_cluster.radius":"半徑","feature.dripstone_cluster.wetness":"溼度","feature.dripstone_cluster.wetness_deviation":"溼度偏差","feature.dripstone_cluster.wetness_mean":"溼度平均值","feature.emerald_ore.state":"狀態","feature.emerald_ore.target":"目標","feature.end_gateway.exact":"精確傳送","feature.end_gateway.exit":"出口位置","feature.end_spike.crystal_beam_target":"終界水晶光柱目標","feature.end_spike.crystal_invulnerable":"終界水晶無敵狀態","feature.end_spike.spikes":"終界黑曜石柱","feature.end_spike.spikes.entry":"終界黑曜石柱","feature.end_spike.spikes.entry.centerX":"中心 X 座標","feature.end_spike.spikes.entry.centerZ":"中心 Z 座標","feature.end_spike.spikes.entry.guarded":"鐵柵欄保護","feature.end_spike.spikes.entry.height":"高度","feature.end_spike.spikes.entry.radius":"半徑","feature.fill_layer.height":"高度","feature.fill_layer.state":"狀態","feature.flower.blacklist":"黑名單","feature.flower.block_placer":"方塊放置器","feature.flower.can_replace":"可取代","feature.flower.need_water":"需要水","feature.flower.project":"投影","feature.flower.state_provider":"狀態聲明","feature.flower.tries":"嘗試次數","feature.flower.whitelist":"白名單","feature.flower.xspread":"X 軸擴散","feature.flower.yspread":"Y 軸擴散","feature.flower.zspread":"Z 軸擴散","feature.forest_rock.state":"狀態","feature.huge_brown_mushroom.cap_provider":"菌蓋聲明","feature.huge_brown_mushroom.foliage_radius":"菌蓋大小","feature.huge_brown_mushroom.stem_provider":"菌柄聲明","feature.huge_fungus.decor_state":"裝飾","feature.huge_fungus.hat_state":"頂部","feature.huge_fungus.planted":"已種植","feature.huge_fungus.stem_state":"蕈柄","feature.huge_fungus.valid_base_block":"有效底部方塊","feature.huge_red_mushroom.cap_provider":"菌蓋聲明","feature.huge_red_mushroom.foliage_radius":"菌蓋大小","feature.huge_red_mushroom.stem_provider":"菌柄聲明","feature.ice_patch.half_height":"半高","feature.ice_patch.radius":"半徑","feature.ice_patch.state":"狀態","feature.ice_patch.targets":"目標","feature.ice_patch.targets.entry":"狀態","feature.iceberg.state":"狀態","feature.lake.state":"狀態","feature.large_dripstone.column_radius":"石柱半徑","feature.large_dripstone.floor_to_ceiling_search_range":"搜尋範圍","feature.large_dripstone.floor_to_ceiling_search_range.help":"地板至天花板的搜尋範圍。","feature.large_dripstone.height_scale":"高度比例","feature.large_dripstone.max_column_radius_to_cave_height_ratio":"半徑與洞穴高度比","feature.large_dripstone.min_bluntness_for_wind":"風的最小鈍度","feature.large_dripstone.min_radius_for_wind":"風的最小半徑","feature.large_dripstone.stalactite_bluntness":"鐘乳石鈍度","feature.large_dripstone.stalagmite_bluntness":"石筍鈍度","feature.large_dripstone.wind_speed":"風速","feature.nether_forest_vegetation.state_provider":"狀態聲明","feature.netherrack_replace_blobs.radius":"半徑","feature.netherrack_replace_blobs.state":"狀態","feature.netherrack_replace_blobs.target":"目標","feature.no_surface_ore.size":"尺寸","feature.no_surface_ore.state":"狀態","feature.no_surface_ore.target":"目標","feature.object":"自訂","feature.ore.size":"尺寸","feature.random_boolean_selector.feature_false":"地物 1","feature.random_boolean_selector.feature_true":"地物 2","feature.random_patch.blacklist":"黑名單","feature.random_patch.block_placer":"方塊放置器","feature.random_patch.can_replace":"可取代","feature.random_patch.need_water":"需要水","feature.random_patch.project":"投影","feature.random_patch.state_provider":"狀態聲明","feature.random_patch.tries":"嘗試次數","feature.random_patch.whitelist":"白名單","feature.random_patch.xspread":"X 軸擴散","feature.random_patch.yspread":"Y 軸擴散","feature.random_patch.zspread":"Z 軸擴散","feature.random_selector.default":"預設","feature.random_selector.features":"地物","feature.random_selector.features.entry":"地物","feature.random_selector.features.entry.chance":"機率","feature.random_selector.features.entry.feature":"地物","feature.sea_pickle.count":"數量","feature.seegrass.probability":"概率","feature.simple_block.place_in":"將要放置的位置的方塊","feature.simple_block.place_in.entry":"狀態","feature.simple_block.place_on":"下方的方塊","feature.simple_block.place_on.entry":"狀態","feature.simple_block.place_under":"上方的方塊","feature.simple_block.place_under.entry":"狀態","feature.simple_block.to_place":"將要放置的方塊","feature.simple_random_selector.features":"地物","feature.simple_random_selector.features.entry":"地物","feature.small_dripstone.empty_space_search_radius":"空域搜尋半徑","feature.small_dripstone.max_offset_from_origin":"距來源的最大偏移","feature.small_dripstone.max_placements":"最大放置","feature.spring_feature.hole_count":"坑洞數量","feature.spring_feature.required_block_below":"下方需要方塊","feature.spring_feature.rock_count":"岩石數量","feature.spring_feature.state":"狀態","feature.spring_feature.valid_blocks":"有效方塊","feature.string":"參照","feature.tree.decorators":"裝飾器","feature.tree.decorators.entry":"樹裝飾器","feature.tree.foliage_placer":"樹葉放置器","feature.tree.heightmap":"高度圖","feature.tree.ignore_vines":"忽略藤蔓","feature.tree.leaves_provider":"樹葉方塊聲明","feature.tree.max_water_depth":"樹生成的最大水深","feature.tree.minimum_size":"最小尺寸","feature.tree.minimum_size.limit":"限制","feature.tree.minimum_size.lower_size":"下部尺寸","feature.tree.minimum_size.middle_size":"中部尺寸","feature.tree.minimum_size.min_clipped_height":"最小剪裁高度","feature.tree.minimum_size.type":"最小尺寸","feature.tree.minimum_size.upper_limit":"上部限制","feature.tree.minimum_size.upper_size":"上部尺寸","feature.tree.trunk_placer":"樹幹放置器","feature.tree.trunk_provider":"樹幹方塊聲明","feature.type":"類型","fluid.fluid":"流體 ID","fluid.state":"流體狀態","fluid.tag":"流體標籤","fluid_state.Name":"名稱","fluid_state.Properties":"屬性","foliage_placer.crown_height":"樹冠高度","foliage_placer.height":"高度","foliage_placer.offset":"偏移","foliage_placer.radius":"半徑","foliage_placer.trunk_height":"樹幹高度","foliage_placer.type":"類型","function.apply_bonus.enchantment":"附魔","function.apply_bonus.formula":"公式","function.apply_bonus.formula.binomial_with_bonus_count":"帶獎勵數量的二項分布","function.apply_bonus.formula.ore_drops":"礦物掉落","function.apply_bonus.formula.uniform_bonus_count":"帶獎勵數量的均勻分布","function.apply_bonus.parameters":"引數","function.apply_bonus.parameters.bonusMultiplier":"乘數","function.apply_bonus.parameters.extra":"額外值","function.apply_bonus.parameters.probability":"概率","function.copy_name.source":"源","function.copy_nbt.ops":"NBT 操作","function.copy_nbt.ops.entry":"操作","function.copy_nbt.source":"源","function.copy_state.block":"方塊","function.copy_state.properties":"方塊狀態","function.copy_state.properties.entry":"屬性","function.enchant_randomly.enchantments":"可選附魔","function.enchant_randomly.enchantments.entry":"附魔","function.enchant_with_levels.levels":"等級","function.enchant_with_levels.treasure":"寶藏型附魔","function.exploration_map.decoration":"圖示","function.exploration_map.destination":"目標","function.exploration_map.search_radius":"搜尋半徑","function.exploration_map.skip_existing_chunks":"跳過已生成區塊","function.exploration_map.zoom":"縮放等級","function.fill_player_head.entity":"實體","function.function":"函數","function.limit_count.limit":"限額","function.list":"多個","function.looting_enchant.count":"數量","function.looting_enchant.limit":"限制","function.object":"單個","function.set_attributes.modifiers":"屬性修飾符","function.set_attributes.modifiers.entry":"屬性修飾符","function.set_banner_pattern.append":"追加","function.set_banner_pattern.patterns":"圖案","function.set_contents.entries":"內容物","function.set_contents.entries.entry":"項目","function.set_count.add":"加上","function.set_count.add.help":"若為 true,將會相對於目前的物品數量更改","function.set_count.count":"數量","function.set_damage.add":"加上","function.set_damage.add.help":"若為 true,將會相對於目前的損傷值更改","function.set_damage.damage":"損傷值","function.set_data.data":"資料值","function.set_enchantments.add":"加上","function.set_enchantments.add.help":"若為 true,將會相對於目前的等級更改","function.set_enchantments.enchantments":"附魔","function.set_loot_table.name":"戰利品表名","function.set_loot_table.seed":"種子碼","function.set_lore.entity":"實體","function.set_lore.lore":"物品描述","function.set_lore.lore.entry":"一行","function.set_lore.replace":"覆蓋","function.set_name.entity":"實體","function.set_name.name":"名稱","function.set_nbt.tag":"NBT","function.set_stew_effect.effects":"狀態效果","function.set_stew_effect.effects.entry":"效果種類","function.set_stew_effect.effects.entry.duration":"維持時間","function.set_stew_effect.effects.entry.type":"效果種類","functions":"函數","functions.entry":"函數","gamemode.adventure":"冒險模式","gamemode.creative":"創造模式","gamemode.spectator":"旁觀者模式","gamemode.survival":"生存模式","generation_step.air":"空氣","generation_step.liquid":"液體","generator.biome_source.altitude_noise":"高度噪聲","generator.biome_source.biome":"生態域","generator.biome_source.biomes":"生態域","generator.biome_source.humidity_noise":"溼度噪聲","generator.biome_source.large_biomes":"大型生態域","generator.biome_source.legacy_biome_init_layer":"舊版生態域初始層","generator.biome_source.preset":"生態域預設","generator.biome_source.preset.nether":"地獄","generator.biome_source.scale":"縮放","generator.biome_source.seed":"生態域種子碼","generator.biome_source.temperature_noise":"溫度噪聲","generator.biome_source.type":"生態域源","generator.biome_source.weirdness_noise":"扭曲度噪聲","generator.seed":"維度種子碼","generator.settings":"生成器設定","generator.settings.biome":"生態域","generator.settings.lakes":"湖","generator.settings.layers":"層","generator.settings.layers.entry":"層","generator.settings.layers.entry.block":"方塊 ID","generator.settings.layers.entry.height":"高度","generator.settings.object":"自訂","generator.settings.presets.amplified":"巨大化","generator.settings.presets.caves":"洞穴","generator.settings.presets.end":"終界","generator.settings.presets.floating_islands":"浮空島嶼","generator.settings.presets.nether":"地獄","generator.settings.presets.overworld":"主世界","generator.settings.string":"預設","generator.settings.structures":"結構","generator.settings.structures.stronghold":"要塞","generator.settings.structures.stronghold.count":"數量","generator.settings.structures.stronghold.distance":"距離","generator.settings.structures.stronghold.spread":"擴散度","generator.settings.structures.structures":"結構","generator.type":"生成器類型","generator_biome.biome":"生態域","generator_biome.parameters":"引數","generator_biome.parameters.altitude":"海拔","generator_biome.parameters.help":"這些引數決定了該生態域的生成位置。每個生態域都必須擁有不同的設定組合。設定相近的生態域會生成在一起。","generator_biome.parameters.humidity":"溼度","generator_biome.parameters.offset":"偏移","generator_biome.parameters.temperature":"溫度","generator_biome.parameters.weirdness":"扭曲度","generator_biome_noise.amplitudes":"振幅","generator_biome_noise.amplitudes.entry":"倍頻 %0%","generator_biome_noise.firstOctave":"主倍頻","generator_structure.salt":"鹽值","generator_structure.separation":"間隔","generator_structure.separation.help":"以區塊為單位的此種類的兩個結構之間的最小距離。","generator_structure.spacing":"空位","generator_structure.spacing.help":"以區塊為單位的此種類的兩種結構之間的平均距離。","heightmap_type.MOTION_BLOCKING":"阻擋實體移動層","heightmap_type.MOTION_BLOCKING_NO_LEAVES":"阻擋實體移動層(不含樹葉)","heightmap_type.OCEAN_FLOOR":"海床層","heightmap_type.OCEAN_FLOOR_WG":"海床層(世界生成)","heightmap_type.WORLD_SURFACE":"地表層","heightmap_type.WORLD_SURFACE_WG":"地表層(世界生成)","hide_source":"隱藏原始碼","item.count":"數量","item.durability":"耐久度","item.enchantments":"附魔","item.enchantments.entry":"附魔","item.item":"名稱","item.nbt":"NBT","item.potion":"藥水","item.tag":"標籤","key.advancements":"進度","key.attack":"攻擊/破壞","key.back":"後退","key.chat":"開啟聊天欄","key.command":"開啟指令視窗","key.drop":"丟棄已選擇的物品","key.forward":"前進","key.fullscreen":"切換全螢幕","key.hotbar.1":"快捷欄 1","key.hotbar.2":"快捷欄 2","key.hotbar.3":"快捷欄 3","key.hotbar.4":"快捷欄 4","key.hotbar.5":"快捷欄 5","key.hotbar.6":"快捷欄 6","key.hotbar.7":"快捷欄 7","key.hotbar.8":"快捷欄 8","key.hotbar.9":"快捷欄 9","key.inventory":"開啟/關閉物品欄","key.jump":"跳躍","key.left":"往左","key.loadToolbarActivator":"載入工具列","key.pickItem":"選取方塊","key.playerlist":"列出玩家","key.right":"往右","key.saveToolbarActivator":"儲存工具列","key.screenshot":"擷取螢幕畫面","key.smoothCamera":"切換視角平滑移動","key.sneak":"潛行","key.spectatorOutlines":"標示玩家(旁觀者)","key.sprint":"跑步","key.swapOffhand":"交換兩手物品","key.togglePerspective":"切換視角","key.use":"使用物品/放置方塊","location.biome":"生態域","location.block":"方塊","location.dimension":"維度","location.feature":"地物","location.fluid":"流體","location.light":"光照","location.light.light":"可見光等級","location.position":"位置","location.position.x":"X 座標","location.position.y":"Y 座標","location.position.z":"Z 座標","location.smokey":"煙燻","loot_condition_type.alternative":"析取範式(或)","loot_condition_type.block_state_property":"方塊屬性","loot_condition_type.damage_source_properties":"傷害來源","loot_condition_type.entity_properties":"實體屬性","loot_condition_type.entity_scores":"實體分數","loot_condition_type.inverted":"取反(非)","loot_condition_type.killed_by_player":"被玩家殺死","loot_condition_type.location_check":"檢查位置","loot_condition_type.match_tool":"工具是否符合","loot_condition_type.random_chance":"隨機概率","loot_condition_type.random_chance_with_looting":"受掠奪附魔影響的隨機概率","loot_condition_type.reference":"參照述詞檔案","loot_condition_type.survives_explosion":"未被爆炸破壞","loot_condition_type.table_bonus":"附魔獎勵","loot_condition_type.time_check":"檢查時間","loot_condition_type.value_check":"檢查值","loot_condition_type.weather_check":"檢查天氣","loot_entry.dynamic.name":"名稱","loot_entry.item.name":"名稱","loot_entry.loot_table.name":"戰利品表名","loot_entry.quality":"每等級幸運對權重的影響","loot_entry.tag.expand":"展開","loot_entry.tag.expand.help":"若為 false,該項目將會返回指定物品標籤的全部內容;否則將會從中隨機抽取一個返回。","loot_entry.tag.name":"物品標籤名","loot_entry.type":"類型","loot_entry.weight":"權重","loot_function_type.apply_bonus":"應用獎勵公式","loot_function_type.copy_name":"複製方塊實體顯示名","loot_function_type.copy_nbt":"複製 NBT","loot_function_type.copy_state":"複製方塊狀態","loot_function_type.enchant_randomly":"隨機附魔","loot_function_type.enchant_with_levels":"給予等價于經驗等級的隨機附魔","loot_function_type.exploration_map":"設定探險家地圖","loot_function_type.explosion_decay":"爆炸損耗","loot_function_type.fill_player_head":"填充玩家頭顱","loot_function_type.furnace_smelt":"熔爐熔煉","loot_function_type.limit_count":"限制堆疊數量","loot_function_type.looting_enchant":"根據掠奪附魔調整物品數量","loot_function_type.set_attributes":"設定屬性","loot_function_type.set_banner_pattern":"設定旗幟圖案","loot_function_type.set_contents":"設定內容物","loot_function_type.set_count":"設定物品數量","loot_function_type.set_damage":"設定損傷值","loot_function_type.set_data":"設定資料值","loot_function_type.set_enchantments":"設定附魔","loot_function_type.set_loot_table":"設定戰利品表","loot_function_type.set_lore":"設定物品描述","loot_function_type.set_name":"設定物品名","loot_function_type.set_nbt":"設定 NBT","loot_function_type.set_stew_effect":"設定可疑的燉湯狀態效果","loot_pool.bonus_rolls":"每等級幸運增加的抽取次數","loot_pool.entries":"項目","loot_pool.entries.entry":"項目","loot_pool.rolls":"抽取次數","loot_pool.rolls.help":"隨機抽取的項目數。","loot_pool_entry_type.alternatives":"析取範式","loot_pool_entry_type.alternatives.help":"獲取第一個滿足條件的子項目。","loot_pool_entry_type.dynamic":"動態","loot_pool_entry_type.dynamic.help":"獲取特定方塊的特定掉落物。","loot_pool_entry_type.empty":"空","loot_pool_entry_type.empty.help":"不向隨機池中加入任何物品。","loot_pool_entry_type.group":"組","loot_pool_entry_type.group.help":"從所有滿足條件的子項目中隨機抽取一個。","loot_pool_entry_type.item":"物品","loot_pool_entry_type.item.help":"加入一種物品。","loot_pool_entry_type.loot_table":"戰利品表","loot_pool_entry_type.loot_table.help":"加入另一個戰利品表的內容。","loot_pool_entry_type.sequence":"序列","loot_pool_entry_type.sequence.help":"從第一個不滿足條件的子項目之前的所有子項目中隨機抽取一個。","loot_pool_entry_type.tag":"物品標籤","loot_pool_entry_type.tag.help":"添加一個物品標籤的內容。","loot_table.pools":"隨機池","loot_table.pools.entry":"隨機池","loot_table.type":"類型","luck_based":"受幸運等級影響","nbt_operation.op":"操作類型","nbt_operation.op.append":"追加","nbt_operation.op.merge":"合併","nbt_operation.op.replace":"替換","nbt_operation.source":"複製源","nbt_operation.target":"複製目標","nbt_provider.source":"來源","nbt_provider.target":"目標","nbt_provider.type":"類型","nbt_provider.type.context":"上下文+","nbt_provider.type.storage":"指令容器","nbt_provider.type.string":"上下文","noise_settings.bedrock_floor_position":"基岩地板位置","noise_settings.bedrock_floor_position.help":"基岩地板的位置。數字越大地板越靠上。","noise_settings.bedrock_roof_position":"基岩天花板位置","noise_settings.bedrock_roof_position.help":"基岩天花板從世界高度開始計算的相對位置。數字越大天花板越靠下。","noise_settings.biome":"生態域","noise_settings.default_block":"預設方塊","noise_settings.default_fluid":"預設流體","noise_settings.disable_mob_generation":"禁用生物生成","noise_settings.disable_mob_generation.help":"若設為 true,生成世界時不會生成生物。","noise_settings.name":"名稱","noise_settings.noise":"噪聲選項","noise_settings.noise.amplified":"巨大化","noise_settings.noise.bottom_slide":"底部曲線","noise_settings.noise.bottom_slide.help":"改變世界底部曲線。當底部曲線大小(Size)為 0 時不起作用。","noise_settings.noise.bottom_slide.offset":"偏移","noise_settings.noise.bottom_slide.size":"大小","noise_settings.noise.bottom_slide.target":"目標","noise_settings.noise.density_factor":"密度因子","noise_settings.noise.density_factor.help":"決定高度影響地形的程度。正值在底部產生陸地。接近於 0 的值產生均勻的地形。","noise_settings.noise.density_offset":"密度偏移","noise_settings.noise.density_offset.help":"影響平均陸地高度。設定為 0 將使平均陸地高度變為高度(height)的一半。設定為正值將抬升高度。","noise_settings.noise.height":"高度","noise_settings.noise.island_noise_override":"島嶼噪聲覆蓋","noise_settings.noise.island_noise_override.help":"若設為 true,生成的地形會像終界一樣在中心有一個大島嶼,外部有許多小島嶼。","noise_settings.noise.min_y":"最小高度","noise_settings.noise.random_density_offset":"隨機密度偏移","noise_settings.noise.sampling":"取樣","noise_settings.noise.sampling.xz_factor":"XZ 因子","noise_settings.noise.sampling.xz_scale":"XZ 縮放","noise_settings.noise.sampling.y_factor":"Y 因子","noise_settings.noise.sampling.y_scale":"Y 縮放","noise_settings.noise.simplex_surface_noise":"單體表面噪聲","noise_settings.noise.size_horizontal":"水平大小","noise_settings.noise.size_vertical":"垂直大小","noise_settings.noise.top_slide":"頂部曲線","noise_settings.noise.top_slide.help":"改變世界頂部曲線。當頂部曲線大小(Size)為 0 時不起作用。","noise_settings.noise.top_slide.offset":"偏移","noise_settings.noise.top_slide.size":"大小","noise_settings.noise.top_slide.target":"目標","noise_settings.sea_level":"海平面","noise_settings.structures":"結構","noise_settings.structures.stronghold":"要塞","noise_settings.structures.stronghold.count":"數量","noise_settings.structures.stronghold.distance":"距離","noise_settings.structures.stronghold.spread":"分散","noise_settings.structures.structures":"結構","number_provider.max":"最大值","number_provider.min":"最小值","number_provider.n":"N","number_provider.p":"P","number_provider.scale":"縮放","number_provider.score":"計分板目標","number_provider.target":"目標","number_provider.type":"類型","number_provider.type.binomial":"二項分布","number_provider.type.constant":"常數+","number_provider.type.number":"常數","number_provider.type.object":"均勻分布","number_provider.type.score":"分數","number_provider.type.uniform":"均勻分布+","number_provider.value":"數字","player.advancements":"進度","player.advancements.entry":"進度","player.gamemode":"遊戲模式","player.level":"經驗等級","player.recipes":"配方","player.stats":"統計","player.stats.entry":"統計","pos_rule_test.always_true":"總是為真","pos_rule_test.axis":"軸","pos_rule_test.axis.x":"X 軸","pos_rule_test.axis.y":"Y 軸","pos_rule_test.axis.z":"Z 軸","pos_rule_test.axis_aligned_linear_pos":"軸對齊線性插值座標","pos_rule_test.linear_pos":"線性插值座標","pos_rule_test.max_chance":"最大機率","pos_rule_test.max_dist":"最大距離","pos_rule_test.min_chance":"最小機率","pos_rule_test.min_dist":"最小距離","pos_rule_test.predicate_type":"類型","processor.block_age.mossiness":"青苔度","processor.block_ignore.blocks":"方塊","processor.block_ignore.blocks.entry":"狀態","processor.block_rot.integrity":"完整性","processor.gravity.heightmap":"高度圖","processor.gravity.offset":"偏移","processor.processor_type":"類型","processor.rule.rules":"規則","processor.rule.rules.entry":"規則","processor_list.processors":"處理器","processor_list.processors.entry":"處理器","processor_rule.input_predicate":"輸入方塊處理述詞","processor_rule.location_predicate":"結構生成前位置方塊處理述詞","processor_rule.output_nbt":"輸出 NBT","processor_rule.output_state":"輸出方塊狀態","processor_rule.position_predicate":"位置方塊處理述詞","processors.object":"自訂","processors.string":"參照","range.binomial":"二項分布","range.max":"最大值","range.min":"最小值","range.n":"N","range.number":"精確值","range.object":"範圍","range.p":"P","range.type":"類型","range.uniform":"均勻分布","requirements":"應當達成","rule_test.always_true":"總是為真","rule_test.block":"方塊","rule_test.block_match":"方塊匹配","rule_test.block_state":"狀態","rule_test.blockstate_match":"方塊狀態匹配","rule_test.predicate_type":"類型","rule_test.probability":"概率","rule_test.random_block_match":"方塊隨機匹配","rule_test.random_blockstate_match":"方塊狀態隨機匹配","rule_test.tag":"標籤","rule_test.tag_match":"標籤匹配","score_provider.name":"名稱","score_provider.target":"目標","score_provider.type":"類型","score_provider.type.context":"上下文+","score_provider.type.fixed":"固定","score_provider.type.string":"上下文","slot.chest":"胸部","slot.feet":"腳部","slot.head":"頭部","slot.legs":"腿部","slot.mainhand":"慣用手","slot.offhand":"非慣用手","statistic.stat":"統計","statistic.type":"類型","statistic.type.broken":"損壞","statistic.type.crafted":"合成","statistic.type.custom":"Custom(其他)","statistic.type.dropped":"掉落","statistic.type.killed":"擊殺","statistic.type.killedByTeam":"被隊伍擊殺","statistic.type.killed_by":"被擊殺","statistic.type.mined":"挖掘","statistic.type.picked_up":"撿起","statistic.type.teamkill":"擊殺隊伍","statistic.type.used":"使用","statistic.value":"值","status_effect.ambient":"是否為烽火台施加","status_effect.amplifier":"等級","status_effect.duration":"維持時間","status_effect.visible":"是否可見","structure_feature.biome_temp":"生態域溫度","structure_feature.biome_temp.cold":"寒冷","structure_feature.biome_temp.warm":"溫暖","structure_feature.cluster_probability":"成簇概率","structure_feature.config":"配置","structure_feature.is_beached":"是否擱淺","structure_feature.large_probability":"大型概率","structure_feature.portal_type":"傳送門類型","structure_feature.portal_type.desert":"沙漠","structure_feature.portal_type.jungle":"叢林","structure_feature.portal_type.mountain":"山","structure_feature.portal_type.nether":"地獄","structure_feature.portal_type.ocean":"海洋","structure_feature.portal_type.standard":"基本","structure_feature.portal_type.swamp":"沼澤","structure_feature.probability":"概率","structure_feature.size":"尺寸","structure_feature.start_pool":"起始池","structure_feature.type":"類型","structure_feature.type.mesa":"惡地","structure_feature.type.normal":"普通","surface_builder.config":"配置","surface_builder.top_material":"頂層材料","surface_builder.type":"類型","surface_builder.under_material":"下層材料","surface_builder.underwater_material":"水下材料","table.type":"戰利品表類型","table.type.block":"方塊","table.type.chest":"儲物箱","table.type.empty":"空","table.type.entity":"實體","table.type.fishing":"釣魚","table.type.generic":"通用","tag.replace":"覆蓋","tag.values":"值","template_element.element_type":"類型","template_element.elements":"元素","template_element.feature":"地物","template_element.location":"結構的命名空間 ID","template_element.processors":"處理器","template_element.projection":"投影","template_element.projection.rigid":"直接生成","template_element.projection.terrain_matching":"匹配地形","template_pool.elements":"元素","template_pool.elements.entry":"元素","template_pool.elements.entry.element":"元素","template_pool.elements.entry.weight":"權重","template_pool.fallback":"回落池","template_pool.name":"名稱","text_component":"聊天組合","text_component.boolean":"布林值","text_component.list":"陣列","text_component.number":"數字","text_component.object":"物件","text_component.object.keybind":"鍵位綁定","text_component.object.nbt":"NBT 值","text_component.object.score":"分數值","text_component.object.selector":"實體名稱","text_component.object.text":"純文字","text_component.object.translation":"翻譯文字","text_component.string":"字串","text_component_object.block":"方塊","text_component_object.bold":"粗體","text_component_object.clickEvent":"點擊事件","text_component_object.clickEvent.action":"行為","text_component_object.clickEvent.action.change_page":"翻頁","text_component_object.clickEvent.action.copy_to_clipboard":"複製到剪貼簿","text_component_object.clickEvent.action.open_file":"打開檔案","text_component_object.clickEvent.action.open_url":"打開 URL","text_component_object.clickEvent.action.run_command":"執行指令","text_component_object.clickEvent.action.suggest_command":"建議指令","text_component_object.clickEvent.value":"值","text_component_object.color":"顏色","text_component_object.entity":"實體","text_component_object.extra":"附加","text_component_object.font":"字型","text_component_object.hoverEvent":"懸浮事件","text_component_object.hoverEvent.action":"行為","text_component_object.hoverEvent.action.show_entity":"顯示實體","text_component_object.hoverEvent.action.show_item":"顯示物品","text_component_object.hoverEvent.action.show_text":"顯示文字","text_component_object.hoverEvent.contents":"內容","text_component_object.hoverEvent.value":"值","text_component_object.insertion":"插入","text_component_object.interpret":"解析","text_component_object.italic":"斜體","text_component_object.keybind":"鍵位","text_component_object.nbt":"NBT","text_component_object.obfuscated":"混淆","text_component_object.score":"分數","text_component_object.score.name":"名稱","text_component_object.score.objective":"計分板目標","text_component_object.score.value":"值","text_component_object.selector":"選擇器","text_component_object.storage":"容器","text_component_object.strikethrough":"刪除線","text_component_object.text":"文字","text_component_object.translate":"可翻譯文字","text_component_object.underlined":"下劃線","text_component_object.with":"以之翻譯","tree_decorator.alter_ground.provider":"狀態聲明","tree_decorator.beehive.probability":"概率","tree_decorator.cocoa.probability":"概率","tree_decorator.type":"類型","true":"是","trunk_placer.base_height":"基礎高度","trunk_placer.height_rand_a":"水平隨機高度","trunk_placer.height_rand_b":"豎直隨機高度","trunk_placer.type":"類型","uniform_int.base":"基礎值","uniform_int.number":"常數","uniform_int.object":"均勻分布","uniform_int.spread":"擴散","unset":"未指定","update.pack_format":"將 pack_format 升級至 %0%","world.bonus_chest":"生成獎勵箱","world.generate_features":"生成結構","world.seed":"種子碼","world_settings.bonus_chest":"生成獎勵箱","world_settings.dimensions":"維度","world_settings.generate_features":"生成地物","world_settings.seed":"世界種子碼","worldgen.warning":"本特性為高度實驗性的特性,很不穩定,在未來的版本中隨時會有變動。請做好遊戲在創建世界時崩潰的準備。","worldgen/biome_source.checkerboard":"棋盤","worldgen/biome_source.checkerboard.help":"以棋盤狀區塊圖案生成的生態域。","worldgen/biome_source.fixed":"固定","worldgen/biome_source.fixed.help":"整個世界只有單一生態域。","worldgen/biome_source.multi_noise":"多重噪聲","worldgen/biome_source.multi_noise.help":"可設定參數的自訂生態域分布。","worldgen/biome_source.the_end":"終界","worldgen/biome_source.the_end.help":"終界的生態域分布。","worldgen/biome_source.vanilla_layered":"原版分層","worldgen/biome_source.vanilla_layered.help":"主世界的生態域分布。","worldgen/block_placer_type.column_placer":"柱狀","worldgen/block_placer_type.double_plant_placer":"雙層植物","worldgen/block_placer_type.simple_block_placer":"簡單","worldgen/block_state_provider_type.forest_flower_provider":"繁花森林方塊狀態聲明","worldgen/block_state_provider_type.plain_flower_provider":"平原花方塊狀態聲明","worldgen/block_state_provider_type.rotated_block_provider":"旋轉方塊狀態聲明","worldgen/block_state_provider_type.simple_state_provider":"簡單方塊狀態聲明","worldgen/block_state_provider_type.weighted_state_provider":"加權方塊狀態聲明","worldgen/carver.canyon":"峽谷","worldgen/carver.cave":"洞穴","worldgen/carver.nether_cave":"地獄洞穴","worldgen/carver.underwater_canyon":"水下峽谷","worldgen/carver.underwater_cave":"水下洞穴","worldgen/chunk_generator.debug":"除錯世界","worldgen/chunk_generator.flat":"超平坦","worldgen/chunk_generator.noise":"預設","worldgen/feature_size_type.three_layers_feature_size":"三層","worldgen/feature_size_type.two_layers_feature_size":"兩層","worldgen/foliage_placer_type.acacia_foliage_placer":"相思樹","worldgen/foliage_placer_type.blob_foliage_placer":"橡樹/白樺","worldgen/foliage_placer_type.bush_foliage_placer":"金字塔形","worldgen/foliage_placer_type.dark_oak_foliage_placer":"黑橡樹","worldgen/foliage_placer_type.fancy_foliage_placer":"球形","worldgen/foliage_placer_type.jungle_foliage_placer":"叢林","worldgen/foliage_placer_type.mega_pine_foliage_placer":"雙層稀疏雲杉","worldgen/foliage_placer_type.pine_foliage_placer":"稀疏雲杉","worldgen/foliage_placer_type.spruce_foliage_placer":"雲杉","worldgen/structure_pool_element.empty_pool_element":"空","worldgen/structure_pool_element.feature_pool_element":"地物","worldgen/structure_pool_element.legacy_single_pool_element":"單個(舊版)","worldgen/structure_pool_element.list_pool_element":"串列","worldgen/structure_pool_element.single_pool_element":"單個","worldgen/structure_processor.blackstone_replace":"取代黑石","worldgen/structure_processor.block_age":"做舊方塊","worldgen/structure_processor.block_ignore":"忽略方塊","worldgen/structure_processor.block_rot":"隨機移除方塊","worldgen/structure_processor.gravity":"重力","worldgen/structure_processor.jigsaw_replacement":"拼圖取代","worldgen/structure_processor.lava_submerged_block":"熔岩湮沒方塊","worldgen/structure_processor.nop":"無","worldgen/structure_processor.rule":"規則","worldgen/tree_decorator_type.alter_ground":"地面方塊替換","worldgen/tree_decorator_type.beehive":"蜂箱","worldgen/tree_decorator_type.cocoa":"可可果","worldgen/tree_decorator_type.leave_vine":"樹葉藤蔓","worldgen/tree_decorator_type.trunk_vine":"樹幹藤蔓","worldgen/trunk_placer_type.dark_oak_trunk_placer":"黑橡樹型","worldgen/trunk_placer_type.fancy_trunk_placer":"多分叉型","worldgen/trunk_placer_type.forking_trunk_placer":"單分叉型","worldgen/trunk_placer_type.giant_trunk_placer":"2×2 豎直型","worldgen/trunk_placer_type.mega_jungle_trunk_placer":"大叢林木型","worldgen/trunk_placer_type.straight_trunk_placer":"豎直型","advancement":"進度","copy":"複製","dimension-type":"維度類型","download":"下載","fields":"欄位","item-modifier":"物品修飾器","language":"語言","loot-table":"戰利品表","predicate":"述詞","preview":"可視化","preview.depth":"深度","preview.scale":"比例","preview.show_density":"顯示密度","preview.width":"寬度","redo":"重做","reset":"重設","settings.fields.description":"客製化進階欄位設定","settings.fields.name":"名稱","settings.fields.path":"上下文","share":"分享","title.generator":"%0% 生成器","title.home":"資料包生成器","undo":"復原","world":"世界設定","worldgen/biome":"生態域","worldgen/carver":"地形雕刻器","worldgen/feature":"地物","worldgen/noise-settings":"噪聲設定","worldgen/processor-list":"處理器列表","worldgen/structure-feature":"結構地物","worldgen/surface-builder":"地表生成器","worldgen/template-pool":"模板池"} \ No newline at end of file diff --git a/loot-table/index.html b/loot-table/index.html index 8fa9ef0d..82ba9f99 100644 --- a/loot-table/index.html +++ b/loot-table/index.html @@ -1,12 +1,31 @@ -Loot Table Generator Minecraft 1.15, 1.16, 1.17
        \ No newline at end of file + + + + + + + Loot Table Generator Minecraft 1.15, 1.16, 1.17 + + + + + + + +
        + + + diff --git a/predicate/index.html b/predicate/index.html index e2496fc8..5f6c38ce 100644 --- a/predicate/index.html +++ b/predicate/index.html @@ -1,12 +1,31 @@ -Predicate Generator Minecraft 1.15, 1.16, 1.17
        \ No newline at end of file + + + + + + + Predicate Generator Minecraft 1.15, 1.16, 1.17 + + + + + + + +
        + + + diff --git a/settings/fields/index.html b/settings/fields/index.html deleted file mode 100644 index 6f440e04..00000000 --- a/settings/fields/index.html +++ /dev/null @@ -1,12 +0,0 @@ -Data Pack Generators Minecraft 1.15, 1.16, 1.17
        \ No newline at end of file diff --git a/sitemap.txt b/sitemap.txt deleted file mode 100644 index 0a279abe..00000000 --- a/sitemap.txt +++ /dev/null @@ -1,16 +0,0 @@ -https://misode.github.io -https://misode.github.io/loot-table/ -https://misode.github.io/predicate/ -https://misode.github.io/item-modifier/ -https://misode.github.io/advancement/ -https://misode.github.io/dimension/ -https://misode.github.io/dimension-type/ -https://misode.github.io/world/ -https://misode.github.io/worldgen/ -https://misode.github.io/worldgen/biome/ -https://misode.github.io/worldgen/carver/ -https://misode.github.io/worldgen/feature/ -https://misode.github.io/worldgen/noise-settings/ -https://misode.github.io/worldgen/structure-feature/ -https://misode.github.io/worldgen/processor-list/ -https://misode.github.io/worldgen/template-pool/ diff --git a/styles/global.css b/styles/global.css deleted file mode 100644 index 0649a20e..00000000 --- a/styles/global.css +++ /dev/null @@ -1,764 +0,0 @@ -:root { - --background: #ffffff; - --text: #000000; - --nav: #343a40; - --nav-hover: #565d64; - --nav-faded: #9fa2a7; - --nav-faded-hover: #bcbfc3; - --selection: rgba(103, 134, 221, 0.6); - --border: #cccccc; - --nav-menu: #ffffff83; - --btn-background: #1f2020a6; - --btn-hover: #5d5f5fa6; - --btn-text: #ffffff; - --btn-active: #a5e77a; - --errors-background: #f13000c5; - --errors-text: #000000cc; - - --style-transition: 0.3s; -} - -:root[data-theme=dark] { - --background: #222222; - --text: #ffffff; - --nav: #91908f; - --nav-hover: #b4b3b0; - --nav-faded: #4d4c4c; - --nav-faded-hover: #6e6e6e; - --border: #3d3d3d; - --nav-menu: #00000083; - --btn-background: #0a0a0aa6; - --btn-hover: #383838a6; - --errors-text: #ffffffcc; -} - -* { - box-sizing: border-box; - margin: 0; - padding: 0; -} - -a svg { - pointer-events: none; -} - -body { - font-size: 18px; - font-family: Arial, Helvetica, sans-serif; - overflow-x: hidden; - background-color: var(--background); - transition: background-color var(--style-transition); -} - -header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px; - width: 100%; - height: 56px; - z-index: 5; - background-color: var(--background); - border-bottom: 2px solid var(--border); - transition: border-color var(--style-transition), background-color var(--style-transition); -} - -body[data-panel="home"] header, -body[data-panel="settings"] header { - position: fixed; -} - -.header-title { - display: flex; - align-items: center; -} - -.header-title h2 { - color: var(--nav); - transition: color var(--style-transition); -} - -.home-link { - margin: 0 8px 0 0; - height: 32px; - fill: var(--nav); - transition: fill var(--style-transition); -} - -.home-link svg { - width: 32px; - height: 32px; - padding: 2px; -} - -.panel-toggles { - display: none; -} - -nav ul { - display: flex; - align-items: center; -} - -.panel-toggles > *, -nav li { - display: flex; - align-items: center; - cursor: pointer; - margin: 0 16px; - user-select: none; -} - -.panel-toggles > *:hover svg, -.home-link:hover svg, -header .toggle:hover svg, -nav li:hover svg { - fill: var(--nav-hover); -} - -nav > .toggle { - display: none; -} - -nav li.dimmed svg { - fill: var(--nav-faded); -} - -nav li.dimmed:hover svg { - fill: var(--nav-faded-hover); -} - -.panel-toggles svg, -nav > .toggle svg, -nav li > *, -nav li svg { - width: 24px; - height: 24px; - fill: var(--nav); - transition: fill var(--style-transition); -} - -nav > .toggle span { - color: var(--nav); - margin-left: 5px; -} - -.dropdown { - position: relative; -} - -.dropdown > * { - position: absolute; - width: 24px; - height: 24px; -} - -.dropdown > *:not(select) { - pointer-events: none; -} - -.dropdown select { - cursor: pointer; - border: none; - background: none; - color: transparent; - outline: none; -} - -.dropdown option { - color: var(--text); - background-color: var(--background); - font-size: 130%; - border: none; -} - -.content { - display: flex; - height: calc(100vh - 56px); - overflow-y: hidden; - color: var(--text); - fill: var(--text); -} - -.split-group { - display: flex; - width: 100%; - height: 100%; -} - -.split-group.vertical { - flex-direction: column; -} - -.panel { - position: relative; - height: 100%; - overflow: hidden; -} - -.tree { - display: flow-root; - padding: 44px 16px 50vh; - height: 100%; - overflow: auto; -} - -.source { - width: 100%; - height: 100%; - padding: 32px 8px; - border: none; - white-space: pre; - overflow-wrap: normal; - overflow-x: auto; - tab-size: 4; - -moz-tab-size: 4; - -o-tab-size: 4; - -webkit-tab-size: 4; - outline: none; - resize: none; - background-color: var(--background); - color: var(--text); - transition: background-color var(--style-transition), color var(--style-transition) -} - -.source::selection { - background-color: var(--selection); -} - -.panel-controls { - display: flex; - position: absolute; - right: 22px; - top: 5px;; - z-index: 1; -} - -.preview-panel .panel-controls { - justify-content: flex-end; - width: 100%; - right: 0; - padding: 0 5px; - opacity: 0; - transition: opacity 0.1s; - pointer-events: none; -} - -.preview-panel .panel-controls > * { - pointer-events: initial; -} - -.preview-panel:hover .panel-controls { - opacity: 1; -} - -.panel-controls > *:not(:last-child) { - margin-right: 5px; -} - -.panel-menu:not(.no-relative) { - position: relative; -} - -.panel-menu > .btn { - height: 100%; -} - -.panel-menu-list { - display: none; - flex-direction: column; - position: absolute; - right: 0; - top: 100%; - margin-top: 5px; -} - -.panel-menu .btn.active ~ .panel-menu-list { - display: flex; -} - -.panel-controls input { - margin-right: 5px; - background: var(--background); - color: var(--text); - font-size: 17px; - border: none; - transition: background-color var(--style-transition), color var(--style-transition); -} - -.panel-controls input::selection { - background-color: var(--selection); -} - -.btn.preview-scale { - display: block; - width: 25%; - text-align: center; - border-bottom: 2px solid #fff; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - -.gutter { - border-color: var(--border) !important; - transition: border-color var(--style-transition); -} - -.gutter.gutter-vertical { - border-top: 2px solid; - border-bottom: 2px solid; - cursor: ns-resize; -} - -.gutter.gutter-horizontal { - border-left: 2px solid; - border-right: 2px solid; - cursor: ew-resize; -} - -.preview-panel canvas { - width: 100%; - height: 100%; - background-color: var(--nav-faded); - display: block; - cursor: crosshair; - image-rendering: optimizeSpeed; - image-rendering: -moz-crisp-edges; - image-rendering: -webkit-optimize-contrast; - image-rendering: -o-crisp-edges; - image-rendering: pixelated; - -ms-interpolation-mode: nearest-neighbor; -} - -.btn { - display: flex; - align-items: center; - border: none; - border-radius: 3px; - height: 33px; - padding: 7px 11px; - cursor: pointer; - user-select: none; - outline: none; - font-size: 1rem; - white-space: nowrap; - background-color: var(--btn-background); - color: var(--btn-text); - fill: var(--btn-text); - transition: background-color var(--style-transition); -} - -.btn:not(.input):hover { - background-color: var(--btn-hover); -} - -.btn svg:not(:last-child) { - margin-right: 5px; -} - -.btn-group .btn:not(:last-child) { - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} - -.panel-menu .result-list .btn:first-child, -.btn-group .btn:not(:first-child) { - border-top-right-radius: 0px; - border-top-left-radius: 0px; -} - -.btn.check, -.btn.selected { - fill: var(--btn-active); - color: var(--btn-active); -} - -.btn.input { - cursor: initial; -} - -.btn input { - margin-left: 5px; - width: 100px; -} - -.btn.btn.large-input { - padding: 5px; - padding-left: 11px; -} - -.btn.large-input input { - width: 100%; - height: 100%; - margin-right: 0; -} - -.btn a { - color: var(--btn-text); - text-decoration: none; -} - -.panel-menu .result-list { - display: block; - width: 380px; - height: unset; - overflow-y: auto; - overflow-x: hidden; - - max-height: 240px; -} - -.panel-menu.disabled { - display: none; - margin-right: 0; -} - -.errors { - position: fixed; - display: flex; - bottom: 17px; - right: 17px; - margin: 5px; - border-radius: 3px; - background-color: var(--errors-background); - color: var(--errors-text); - fill: var(--errors-text); - transition: fill var(--style-transition); -} - -.error { - display: flex; - align-items: center; - padding: 7px; -} - -.error span:not(:last-child) { - padding-right: 11px; -} - -.errors .toggle { - padding: 6px; - width: 36px; - height: 36px; - cursor: pointer; - user-select: none; -} - -.errors svg { - width: 24px; - height: 24px; -} - -.home { - display: flex; - padding: 20px; - padding-top: 71px; -} - -.home.center { - flex-direction: column; - align-items: center; - color: var(--nav); -} - -.home.center p { - padding-bottom: 20px; - text-align: center; - font-size: 20px; -} - -.generators-list { - display: flex; - flex-direction: column; - margin: 0 20px; - list-style-type: none; -} - -.generators-card { - margin: 5px 0; - padding: 8px 15px; - cursor: pointer; - user-select: none; - text-decoration: none; - text-transform: capitalize; - border-radius: 3px; - background-color: var(--nav-faded); - color: var(--text); - fill: var(--text); - display: flex; - align-items: center; - justify-content: space-between; - transition: background-color 0.2s; - transition: margin 0.2s; -} - -.generators-card * { - pointer-events: none; -} - -.generators-card:hover, -.generators-card.selected { - background-color: var(--nav-faded-hover); - margin-left: 8px; - margin-right: -8px; -} - -.generators-card svg { - margin-left: 10px; -} - -.settings { - padding: 20px; - padding-top: 71px; -} - -.settings p { - color: var(--nav); - padding: 8px; - border-bottom: 2px solid var(--border); - transition: border-color var(--style-transition), color var(--style-transition); -} - -.field-list { - width: 100%; - border-collapse: collapse; - list-style-type: none; -} - -.field-list li { - display: flex; - justify-content: space-between; - padding: 4px 0; - border-bottom: 1px solid var(--border); - transition: border-color var(--style-transition); -} - -.field-prop { - display: inline-flex; - align-items: center; - max-width: 100%; - margin: 4px; -} - -.field-prop > label, -.field-prop > input { - height: 34px; - color: var(--text); - margin-right: -1px; - border: 1px solid; - border-color: var(--nav-faded-hover); - transition: all var(--style-transition); -} - -.field-prop label { - padding: 0 9px; - line-height: 1.94rem; - background-color: var(--node-background-label); - white-space: nowrap; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} - -.field-prop input { - width: 100%; - line-height: 1.6rem; - background-color: var(--node-background-input); - color: var(--text); - padding-left: 9px; - font-size: 18px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} - -.field-prop svg { - padding: 4px; - margin: 0 4px; - height: 28px; - width: 28px; - fill: var(--nav); - cursor: pointer; -} - -.field-prop .hidden svg { - fill: #be4b2e; -} - -.field-prop .dimmed svg { - fill: var(--nav-faded); -} - -.spinner { - margin: 40px auto 0; - width: 80px; - height: 80px; -} - -.spinner:after { - content: ""; - display: block; - width: 64px; - height: 64px; - margin: 8px; - border-radius: 50%; - border: 6px solid var(--border); - border-color: var(--border) transparent var(--border) transparent; - animation: spinner 1.2s linear infinite, fadein 0.4s; - transition: border-color var(--style-transition); -} - -.very-large { - font-size: 80px; - font-weight: 100; -} - -@keyframes spinner { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -@keyframes fadein { - from { - opacity: 0; - } - to { - opacity: 1; - } -} - -/* MEDIUM */ -@media screen and (max-width: 580px) { - header { - position: fixed; - } - - .panel-toggles { - display: flex; - } - - body nav ul { - display: none; - } - - body[data-panel="home"] header { - flex-direction: column; - align-items: flex-start; - height: 92px; - } - body[data-panel="home"] nav { - align-self: flex-end; - } - - body[data-panel="home"] nav ul { - display: flex; - } - - .content { - padding-top: 56px; - } - - .content { - height: unset; - min-height: 100%; - } - - textarea.source { - height: calc(100vh - 56px); - } - - .gutter { - display: none; - } - - .content-output, - .tree-panel { - width: 100% !important; - } - - .source-panel, - .preview-panel, - .preview-panel canvas { - height: 100% !important; - } - - .tree-panel .panel-controls { - top: 61px; - right: 5px; - position: fixed; - } - - .btn.btn.large-input, - .panel-menu .result-list { - width: calc(100vw - 10px); - } - - .tree-panel, - .content-output, - .source-panel, - .preview-panel { - display: none; - } - - body[data-panel="tree"] .tree-panel, - body[data-panel="source"] .source-panel, - body[data-panel="source"] .content-output, - body[data-panel="preview"] .preview-panel, - body[data-panel="preview"] .content-output { - display: block; - } - - .home { - padding: 107px 5px 5px; - justify-content: center; - } - - .field-list li { - flex-direction: column; - } - - .field-prop { - width: 100%; - } - - .field-prop input { - width: 100%; - } -} - -/* SMALL */ -@media screen and (max-width: 650px) { - body[data-panel="tree"] .header-title h2, - body[data-panel="source"] .header-title h2, - body[data-panel="preview"] .header-title h2 { - font-size: 22px; - } -} - -/* EXTRA SMALL */ -@media screen and (max-width: 480px) { - .header-title h2 { - font-size: 22px; - } - - body[data-panel="tree"] .header-title h2, - body[data-panel="source"] .header-title h2, - body[data-panel="preview"] .header-title h2 { - font-size: 18px; - } - - body[data-panel="preview"] .preview-panel .panel-controls { - opacity: 1; - } - - .generators-list { - margin: 0 15px; - } - - .home:not(.center) .generators-card { - font-size: 14px; - padding: 8px; - } -} diff --git a/styles/nodes.css b/styles/nodes.css deleted file mode 100644 index fa31300e..00000000 --- a/styles/nodes.css +++ /dev/null @@ -1,420 +0,0 @@ -:root { - --node-border: #bcbfc3; - --node-background-label: #e4e4e4; - --node-background-input: #ffffff; - --node-text: #000000; - --node-selected: #f0e65e; - --node-selected-border: #b9a327; - --node-add: #9bd464; - --node-add-border: #498d09; - --node-remove: #e76f51; - --node-remove-border: #be4b2e; - --node-indent-border: #b9b9b9; - --node-popup-background: #1f2020e6; - --node-popup-text: #dadada; - --node-popup-text-dimmed: #b4b4b4; - --category-predicate: #65b5b8; - --category-predicate-border: #187e81; - --category-predicate-background: #95c5c7; - --category-function: #979fa7; - --category-function-border: #788086; - --category-function-background: #dce0e4; - --category-pool: #76b865; - --category-pool-border: #398118; - --category-pool-background: #b1d6a6; -} - -:root[data-theme=dark] { - --node-border: #4e4e4e; - --node-background-label: #1b1b1b; - --node-background-input: #272727; - --node-text: #dadada; - --node-selected: #ad9715; - --node-selected-border: #8d7a0d; - --node-add: #5a961e; - --node-add-border: #3b6e0c; - --node-remove: #b64023; - --node-remove-border: #7e1d05; - --node-indent-border: #454749; - --node-popup-background: #0a0a0ae6; - --node-popup-text: #dadada; - --node-popup-text-dimmed: #b4b4b4; - --category-predicate: #306163; - --category-predicate-border: #224849; - --category-predicate-background: #1d3333; - --category-function: #838383; - --category-function-border: #6b6b6b; - --category-function-background: #414141; - --category-pool: #386330; - --category-pool-border: #2e4922; - --category-pool-background: #21331d; -} - -/* Node headers */ - -.node-header { - display: inline-flex; - position: relative; - align-items: center; - width: 100%; -} - -.node-header > * { - height: 34px; - border: 1px solid; - color: var(--node-text); - border-color: var(--node-border); - transition: all var(--style-transition); -} - -.node-header > label { - padding: 0 9px; - line-height: 1.94rem; - white-space: nowrap; - user-select: none; - background-color: var(--node-background-label); -} - -.node-header > input { - font-size: 18px; - padding-left: 9px; - background-color: var(--node-background-input); -} - -.node-header > input[type="color"] { - padding: 0 2px; -} - -.node-header > select { - font-size: 18px; - padding-left: 6px; - background-color: var(--node-background-input); -} - -.node-header > button { - font-size: 18px; - padding: 0 9px; - line-height: 1.94rem; - white-space: nowrap; - user-select: none; - cursor: pointer; - background-color: var(--node-background-input); -} - -.object-node > .node-header > .collapse { - cursor: pointer; -} - -/** Rounded corners */ - -.node-header > .node-icon { - order: 1; -} - -.node-header > *:first-child, -.node-header > .node-icon + * { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} - -.node-header > *:last-child, -.node-header > input[list]:nth-last-child(2) { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} - -.node-header > * { - margin-right: -1px; -} - -.object-node:not(.no-body) > .node-header > *:first-child, -.map-node > .node-header > *:first-child, -.list-node > .node-header > *:first-child { - border-top-left-radius: 8px; - border-bottom-left-radius: 0; -} - -/* Buttons */ - -button.selected { - background-color: var(--node-selected); - border-color: var(--node-selected-border); -} - -.collapse svg { - fill: var(--node-text); - transition: fill var(--style-transition); -} - -.collapse.closed, -button.add { - background-color: var(--node-add); - border-color: var(--node-add-border); -} - -.collapse.open, -button.remove { - background-color: var(--node-remove); - border-color: var(--node-remove-border); -} - -.node-header > button svg { - display: inline-block; - position: relative; - top: 2px; - fill: var(--node-text); - transition: fill var(--style-transition); -} - -.node-header > button.collapse:last-child, -.node-header > button.add:last-child { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} - -.node-icon { - border: none; - position: relative; - display: inline-block; -} - -.node-icon .icon-popup { - visibility: hidden; - width: 240px; - background-color: var(--node-popup-background); - color: var(--node-popup-text); - text-align: center; - border-radius: 6px; - padding: 8px 4px; - position: absolute; - z-index: 1; - top: 125%; - left: 50%; - margin-left: -120px; -} - -.node-icon .icon-popup::after { - content: ""; - position: absolute; - bottom: 100%; - left: 50%; - margin-left: -3px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent var(--node-popup-background) transparent; -} - -.node-icon:hover .icon-popup, -.node-icon .icon-popup.show { - visibility: visible; -} - -.node-icon svg { - height: 34px; - width: 34px; - min-width: 34px; - margin-left: 6px; - cursor: pointer; - transition: fill var(--style-transition); -} - -.node-icon.node-help svg { - fill: var(--node-border); -} - -.node-icon.node-error svg { - fill: var(--node-remove); -} - -.node-menu { - position: absolute; - left: 0; - top: 100%; - width: min-content; - margin-top: 4px; - margin-left: 4px; - z-index: 1; - color: var(--node-popup-text); - font-size: 16px; - border-radius: 3px; - background-color: var(--node-popup-background); -} - -.node-menu::after { - content: ""; - position: absolute; - bottom: 100%; - left: 0; - margin-left: 6px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent var(--node-popup-background) transparent; -} - -.menu-item { - padding: 4px; - display: flex; - align-items: center; - white-space: normal; -} - -.menu-item > * { - margin-right: 4px; -} - -.menu-item .btn { - padding: 8px; -} - -span.menu-item { - padding: 4px 8px; -} - -.menu-item-context { - color: var(--node-popup-text-dimmed); -} - -/* Node body and list entry */ - -.node { - margin-bottom: 4px; -} - -.node-body > .node:first-child { - margin-top: 4px; -} - -.node:last-child { - margin-bottom: 0; -} - -.node-body { - border-left: 3px solid var(--node-indent-border); - transition: border-color var(--style-transition); -} - -.node-body { - display: flex; - flex-direction: column; - padding-left: 18px; -} - -.node-entry > .object-node > .node-body { - padding-left: 0; -} - -.node-entry > .object-node > .node-body > .node > .node-body { - border-left: none; -} - -.node-entry > .object-node > .node-body > .node > .node-header > .node-icon + *, -.node-entry > .object-node > .node-body > .node > .node-header > *:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left: none; -} - -.node-entry { - display: flex; - flex-direction: column; - margin-top: 4px; -} - -.node-entry > .object-node[data-category], -.node-entry > .list-node[data-category], -.node-entry > .map-node[data-category] { - width: 100%; - min-width: max-content; - padding: 5px; - padding-left: 0px; - margin-top: 8px; - border: 2px solid var(--node-border); - border-radius: 3px; - transition: background-color var(--style-transition); -} - -.node-entry:first-child > .object-node[data-category], -.node-entry:first-child > .list-node[data-category], -.node-entry:first-child > .map-node[data-category] { - margin-top: 4px; -} - -.node-entry > .object-node[data-category] > .node-header > .node-icon + *, -.node-entry > .object-node[data-category] > .node-header > *:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left: none; -} - -.node-entry > .object-node[data-category] > .node-body, -.node-entry > .list-node[data-category] > .node-body, -.node-entry > .map-node[data-category] > .node-body { - border: none; -} - -/* Node type specifics */ - -.range-node select { - width: 25px; -} - -.number-node input, -.range-node input { - width: 100px; -} - -/* Color categories */ - -[data-category=predicate] > .node-header > label, -[data-category=predicate] > .node-body > .node > .node-header > label { - background-color: var(--category-predicate) !important; -} - -[data-category=predicate] > .node-body, -[data-category=predicate] > .node-header > label, -[data-category=predicate] > .node-body > .node > .node-header > *:not(.selected) { - border-color: var(--category-predicate-border) !important; -} - -.node-entry > .node.object-node[data-category=predicate], -.node-entry > .node.list-node[data-category=predicate], -.node-entry > .node.map-node[data-category=predicate] { - background-color: var(--category-predicate-background); - border-color: var(--category-predicate-border); -} - -[data-category=function] > .node-header > label, -[data-category=function] > .node-body > .node > .node-header > label { - background-color: var(--category-function) !important; -} - -[data-category=function] > .node-body, -[data-category=function] > .node-header > label, -[data-category=function] > .node-body > .node > .node-header > *:not(.selected) { - border-color: var(--category-function-border) !important; -} - -.node-entry > .node.object-node[data-category=function], -.node-entry > .node.list-node[data-category=function], -.node-entry > .node.map-node[data-category=function] { - background-color: var(--category-function-background); - border-color: var(--category-function-border); -} - -[data-category=pool] > .node-header > label, -[data-category=pool] > .node-body > .node > .node-header > label { - background-color: var(--category-pool) !important; -} - -[data-category=pool] > .node-body, -[data-category=pool] > .node-header > label, -[data-category=pool] > .node-body > .node > .node-header > *:not(.selected) { - border-color: var(--category-pool-border) !important; -} - -.node-entry > .node.object-node[data-category=pool], -.node-entry > .node.list-node[data-category=pool], -.node-entry > .node.map-node[data-category=pool] { - background-color: var(--category-pool-background); - border-color: var(--category-pool-border); -} diff --git a/world/index.html b/world/index.html index bad5928c..79540c4f 100644 --- a/world/index.html +++ b/world/index.html @@ -1,12 +1,31 @@ -World Settings Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + World Settings Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/biome/index.html b/worldgen/biome/index.html index 9246cd0c..f0bc5e65 100644 --- a/worldgen/biome/index.html +++ b/worldgen/biome/index.html @@ -1,12 +1,31 @@ -Biome Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Biome Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/carver/index.html b/worldgen/carver/index.html index cec4f377..ba6dace6 100644 --- a/worldgen/carver/index.html +++ b/worldgen/carver/index.html @@ -1,12 +1,31 @@ -Carver Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Carver Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/feature/index.html b/worldgen/feature/index.html index 93bf7d30..3a75cf23 100644 --- a/worldgen/feature/index.html +++ b/worldgen/feature/index.html @@ -1,12 +1,31 @@ -Feature Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Feature Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/index.html b/worldgen/index.html index e96c4baf..1426056d 100644 --- a/worldgen/index.html +++ b/worldgen/index.html @@ -1,12 +1,31 @@ -Worldgen Generators Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Worldgen Generators Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/noise-settings/index.html b/worldgen/noise-settings/index.html index df088dac..40e3dcf7 100644 --- a/worldgen/noise-settings/index.html +++ b/worldgen/noise-settings/index.html @@ -1,12 +1,31 @@ -Noise Settings Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Noise Settings Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/processor-list/index.html b/worldgen/processor-list/index.html index c9bc82f8..71e44afd 100644 --- a/worldgen/processor-list/index.html +++ b/worldgen/processor-list/index.html @@ -1,12 +1,31 @@ -Processor List Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Processor List Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/structure-feature/index.html b/worldgen/structure-feature/index.html index 185632c1..5d4fca1d 100644 --- a/worldgen/structure-feature/index.html +++ b/worldgen/structure-feature/index.html @@ -1,12 +1,31 @@ -Structure Feature Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Structure Feature Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/surface-builder/index.html b/worldgen/surface-builder/index.html index cc4e75a1..d71c4fc2 100644 --- a/worldgen/surface-builder/index.html +++ b/worldgen/surface-builder/index.html @@ -1,12 +1,31 @@ -Surface Builder Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Surface Builder Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + + diff --git a/worldgen/template-pool/index.html b/worldgen/template-pool/index.html index e77ae3c0..d3d58514 100644 --- a/worldgen/template-pool/index.html +++ b/worldgen/template-pool/index.html @@ -1,12 +1,31 @@ -Template Pool Generator Minecraft 1.16, 1.17
        \ No newline at end of file + + + + + + + Template Pool Generator Minecraft 1.16, 1.17 + + + + + + + +
        + + +