Port to 26.2

This commit is contained in:
Alexander Medvedev 2026-06-20 20:07:31 +02:00
parent 8ce76261ac
commit 23e7992b2d
149 changed files with 127521 additions and 5993680 deletions

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"armor":{"id":0,"default_value":0.0},"armor_toughness":{"id":1,"default_value":0.0},"attack_damage":{"id":2,"default_value":2.0},"attack_knockback":{"id":3,"default_value":0.0},"attack_speed":{"id":4,"default_value":4.0},"block_break_speed":{"id":5,"default_value":1.0},"block_interaction_range":{"id":6,"default_value":4.5},"burning_time":{"id":7,"default_value":1.0},"camera_distance":{"id":8,"default_value":4.0},"explosion_knockback_resistance":{"id":9,"default_value":0.0},"entity_interaction_range":{"id":10,"default_value":3.0},"fall_damage_multiplier":{"id":11,"default_value":1.0},"flying_speed":{"id":12,"default_value":0.4},"follow_range":{"id":13,"default_value":32.0},"gravity":{"id":14,"default_value":0.08},"jump_strength":{"id":15,"default_value":0.41999998688697815},"knockback_resistance":{"id":16,"default_value":0.0},"luck":{"id":17,"default_value":0.0},"max_absorption":{"id":18,"default_value":0.0},"max_health":{"id":19,"default_value":20.0},"mining_efficiency":{"id":20,"default_value":0.0},"movement_efficiency":{"id":21,"default_value":0.0},"movement_speed":{"id":22,"default_value":0.7},"oxygen_bonus":{"id":23,"default_value":0.0},"safe_fall_distance":{"id":24,"default_value":3.0},"scale":{"id":25,"default_value":1.0},"sneaking_speed":{"id":26,"default_value":0.3},"spawn_reinforcements":{"id":27,"default_value":0.0},"step_height":{"id":28,"default_value":0.6},"submerged_mining_speed":{"id":29,"default_value":0.2},"sweeping_damage_ratio":{"id":30,"default_value":0.0},"tempt_range":{"id":31,"default_value":10.0},"water_movement_efficiency":{"id":32,"default_value":0.0},"waypoint_transmit_range":{"id":33,"default_value":0.0},"waypoint_receive_range":{"id":34,"default_value":0.0}}
{"air_drag_modifier":{"id":0,"default_value":1.0},"armor":{"id":1,"default_value":0.0},"armor_toughness":{"id":2,"default_value":0.0},"attack_damage":{"id":3,"default_value":2.0},"attack_knockback":{"id":4,"default_value":0.0},"attack_speed":{"id":5,"default_value":4.0},"below_name_distance":{"id":6,"default_value":10.0},"block_break_speed":{"id":7,"default_value":1.0},"block_interaction_range":{"id":8,"default_value":4.5},"bounciness":{"id":9,"default_value":0.0},"burning_time":{"id":10,"default_value":1.0},"camera_distance":{"id":11,"default_value":4.0},"explosion_knockback_resistance":{"id":12,"default_value":0.0},"entity_interaction_range":{"id":13,"default_value":3.0},"fall_damage_multiplier":{"id":14,"default_value":1.0},"flying_speed":{"id":15,"default_value":0.4},"follow_range":{"id":16,"default_value":32.0},"friction_modifier":{"id":17,"default_value":1.0},"gravity":{"id":18,"default_value":0.08},"jump_strength":{"id":19,"default_value":0.41999998688697815},"knockback_resistance":{"id":20,"default_value":0.0},"luck":{"id":21,"default_value":0.0},"max_absorption":{"id":22,"default_value":0.0},"max_health":{"id":23,"default_value":20.0},"mining_efficiency":{"id":24,"default_value":0.0},"movement_efficiency":{"id":25,"default_value":0.0},"movement_speed":{"id":26,"default_value":0.7},"name_tag_distance":{"id":27,"default_value":64.0},"oxygen_bonus":{"id":28,"default_value":0.0},"safe_fall_distance":{"id":29,"default_value":3.0},"scale":{"id":30,"default_value":1.0},"sneaking_speed":{"id":31,"default_value":0.3},"spawn_reinforcements":{"id":32,"default_value":0.0},"step_height":{"id":33,"default_value":0.6},"submerged_mining_speed":{"id":34,"default_value":0.2},"sweeping_damage_ratio":{"id":35,"default_value":0.0},"tempt_range":{"id":36,"default_value":10.0},"water_movement_efficiency":{"id":37,"default_value":0.0},"waypoint_transmit_range":{"id":38,"default_value":0.0},"waypoint_receive_range":{"id":39,"default_value":0.0}}

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"578":0.85,"424":0.65,"52":0.3,"268":0.65,"259":0.3,"262":0.3,"249":0.65,"1374":0.3,"188":0.3,"231":0.65,"51":0.3,"1289":0.3,"190":0.3,"244":0.65,"527":0.65,"525":0.65,"1229":0.65,"267":0.3,"143":0.3,"1086":1.0,"1110":0.3,"255":0.5,"239":0.65,"57":0.3,"528":0.65,"184":0.3,"1108":0.3,"261":0.3,"411":0.5,"257":0.5,"235":0.65,"242":0.65,"204":0.3,"186":0.3,"953":0.65,"894":0.65,"211":0.3,"210":0.3,"183":0.3,"53":0.3,"50":0.3,"205":0.65,"238":0.65,"1286":0.3,"245":0.85,"1288":0.65,"232":0.65,"388":0.85,"251":0.65,"206":0.85,"1103":0.85,"203":0.65,"410":0.65,"212":0.65,"185":0.3,"258":0.3,"209":0.3,"1378":0.65,"389":0.85,"1107":0.5,"530":0.65,"243":0.65,"187":0.3,"247":0.65,"505":0.85,"192":0.5,"240":0.65,"1375":0.3,"1228":0.65,"237":0.65,"56":0.3,"55":0.3,"1120":0.65,"54":0.3,"189":0.3,"256":0.5,"1242":1.0,"1287":0.3,"266":0.65,"1230":0.85,"358":0.65,"253":0.65,"229":0.65,"241":0.65,"248":0.65,"390":0.65,"252":0.65,"236":0.65,"246":0.85,"49":0.3,"1028":0.5,"250":0.65,"341":0.5,"529":0.5,"1066":0.65,"182":0.3,"254":0.5,"342":0.3,"269":0.3,"264":0.3,"412":0.5,"526":0.65,"234":0.65,"265":0.3,"577":0.85,"954":0.85,"263":0.65,"1109":0.3,"233":0.65,"208":0.3,"952":0.3,"191":0.3,"357":0.65,"202":0.3,"260":0.3}
{"278":0.65,"1271":1.0,"81":0.3,"260":0.65,"1318":0.3,"258":0.65,"282":0.5,"369":0.3,"239":0.65,"385":0.65,"261":0.65,"552":0.65,"237":0.3,"296":0.3,"283":0.5,"1056":0.5,"217":0.3,"209":0.3,"80":0.3,"268":0.65,"291":0.3,"368":0.5,"384":0.65,"1114":1.0,"259":0.65,"1317":0.65,"1094":0.65,"275":0.65,"556":0.5,"285":0.3,"277":0.65,"262":0.65,"1131":0.85,"77":0.3,"604":0.85,"280":0.65,"213":0.3,"284":0.5,"267":0.65,"76":0.3,"605":0.85,"211":0.3,"265":0.65,"236":0.3,"289":0.3,"84":0.3,"272":0.85,"274":0.65,"233":0.85,"214":0.3,"271":0.65,"273":0.85,"292":0.3,"437":0.65,"1259":0.85,"288":0.3,"1138":0.3,"553":0.65,"555":0.65,"266":0.65,"82":0.3,"263":0.65,"1257":0.65,"1316":0.3,"295":0.65,"294":0.3,"1136":0.3,"416":0.85,"219":0.5,"1258":0.65,"980":0.65,"1137":0.3,"981":0.85,"281":0.5,"1135":0.5,"230":0.65,"212":0.3,"415":0.85,"279":0.65,"83":0.3,"210":0.3,"1315":0.3,"79":0.3,"287":0.3,"451":0.65,"229":0.3,"438":0.5,"270":0.65,"557":0.65,"293":0.65,"232":0.65,"286":0.3,"235":0.3,"238":0.3,"231":0.3,"269":0.65,"215":0.3,"216":0.3,"1148":0.65,"78":0.3,"439":0.5,"276":0.65,"554":0.65,"921":0.65,"979":0.3,"1405":0.3,"264":0.65,"256":0.65,"1408":0.65,"170":0.3,"1404":0.3,"417":0.65,"532":0.85,"218":0.3,"290":0.65}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"minecraft:custom_data":0,"minecraft:max_stack_size":1,"minecraft:max_damage":2,"minecraft:damage":3,"minecraft:unbreakable":4,"minecraft:use_effects":5,"minecraft:custom_name":6,"minecraft:minimum_attack_charge":7,"minecraft:damage_type":8,"minecraft:item_name":9,"minecraft:item_model":10,"minecraft:lore":11,"minecraft:rarity":12,"minecraft:enchantments":13,"minecraft:can_place_on":14,"minecraft:can_break":15,"minecraft:attribute_modifiers":16,"minecraft:custom_model_data":17,"minecraft:tooltip_display":18,"minecraft:repair_cost":19,"minecraft:creative_slot_lock":20,"minecraft:enchantment_glint_override":21,"minecraft:intangible_projectile":22,"minecraft:food":23,"minecraft:consumable":24,"minecraft:use_remainder":25,"minecraft:use_cooldown":26,"minecraft:damage_resistant":27,"minecraft:tool":28,"minecraft:weapon":29,"minecraft:attack_range":30,"minecraft:enchantable":31,"minecraft:equippable":32,"minecraft:repairable":33,"minecraft:glider":34,"minecraft:tooltip_style":35,"minecraft:death_protection":36,"minecraft:blocks_attacks":37,"minecraft:piercing_weapon":38,"minecraft:kinetic_weapon":39,"minecraft:swing_animation":40,"minecraft:additional_trade_cost":41,"minecraft:stored_enchantments":42,"minecraft:dye":43,"minecraft:dyed_color":44,"minecraft:map_color":45,"minecraft:map_id":46,"minecraft:map_decorations":47,"minecraft:map_post_processing":48,"minecraft:charged_projectiles":49,"minecraft:bundle_contents":50,"minecraft:potion_contents":51,"minecraft:potion_duration_scale":52,"minecraft:suspicious_stew_effects":53,"minecraft:writable_book_content":54,"minecraft:written_book_content":55,"minecraft:trim":56,"minecraft:debug_stick_state":57,"minecraft:entity_data":58,"minecraft:bucket_entity_data":59,"minecraft:block_entity_data":60,"minecraft:instrument":61,"minecraft:provides_trim_material":62,"minecraft:ominous_bottle_amplifier":63,"minecraft:jukebox_playable":64,"minecraft:provides_banner_patterns":65,"minecraft:recipes":66,"minecraft:lodestone_tracker":67,"minecraft:firework_explosion":68,"minecraft:fireworks":69,"minecraft:profile":70,"minecraft:note_block_sound":71,"minecraft:banner_patterns":72,"minecraft:base_color":73,"minecraft:pot_decorations":74,"minecraft:container":75,"minecraft:block_state":76,"minecraft:bees":77,"minecraft:lock":78,"minecraft:container_loot":79,"minecraft:break_sound":80,"minecraft:villager/variant":81,"minecraft:wolf/variant":82,"minecraft:wolf/sound_variant":83,"minecraft:wolf/collar":84,"minecraft:fox/variant":85,"minecraft:salmon/size":86,"minecraft:parrot/variant":87,"minecraft:tropical_fish/pattern":88,"minecraft:tropical_fish/base_color":89,"minecraft:tropical_fish/pattern_color":90,"minecraft:mooshroom/variant":91,"minecraft:rabbit/variant":92,"minecraft:pig/variant":93,"minecraft:pig/sound_variant":94,"minecraft:cow/variant":95,"minecraft:cow/sound_variant":96,"minecraft:chicken/variant":97,"minecraft:chicken/sound_variant":98,"minecraft:zombie_nautilus/variant":99,"minecraft:frog/variant":100,"minecraft:horse/variant":101,"minecraft:painting/variant":102,"minecraft:llama/variant":103,"minecraft:axolotl/variant":104,"minecraft:cat/variant":105,"minecraft:cat/sound_variant":106,"minecraft:cat/collar":107,"minecraft:sheep/color":108,"minecraft:shulker/color":109}
{"minecraft:custom_data":0,"minecraft:max_stack_size":1,"minecraft:max_damage":2,"minecraft:damage":3,"minecraft:unbreakable":4,"minecraft:use_effects":5,"minecraft:custom_name":6,"minecraft:minimum_attack_charge":7,"minecraft:damage_type":8,"minecraft:item_name":9,"minecraft:item_model":10,"minecraft:lore":11,"minecraft:rarity":12,"minecraft:enchantments":13,"minecraft:can_place_on":14,"minecraft:can_break":15,"minecraft:attribute_modifiers":16,"minecraft:custom_model_data":17,"minecraft:tooltip_display":18,"minecraft:repair_cost":19,"minecraft:creative_slot_lock":20,"minecraft:enchantment_glint_override":21,"minecraft:intangible_projectile":22,"minecraft:food":23,"minecraft:consumable":24,"minecraft:use_remainder":25,"minecraft:use_cooldown":26,"minecraft:damage_resistant":27,"minecraft:tool":28,"minecraft:weapon":29,"minecraft:attack_range":30,"minecraft:enchantable":31,"minecraft:equippable":32,"minecraft:repairable":33,"minecraft:glider":34,"minecraft:tooltip_style":35,"minecraft:death_protection":36,"minecraft:blocks_attacks":37,"minecraft:piercing_weapon":38,"minecraft:kinetic_weapon":39,"minecraft:swing_animation":40,"minecraft:additional_trade_cost":41,"minecraft:stored_enchantments":42,"minecraft:dye":43,"minecraft:dyed_color":44,"minecraft:map_color":45,"minecraft:map_id":46,"minecraft:map_decorations":47,"minecraft:map_post_processing":48,"minecraft:charged_projectiles":49,"minecraft:bundle_contents":50,"minecraft:potion_contents":51,"minecraft:potion_duration_scale":52,"minecraft:suspicious_stew_effects":53,"minecraft:writable_book_content":54,"minecraft:written_book_content":55,"minecraft:trim":56,"minecraft:debug_stick_state":57,"minecraft:entity_data":58,"minecraft:bucket_entity_data":59,"minecraft:block_entity_data":60,"minecraft:instrument":61,"minecraft:provides_trim_material":62,"minecraft:ominous_bottle_amplifier":63,"minecraft:jukebox_playable":64,"minecraft:provides_banner_patterns":65,"minecraft:recipes":66,"minecraft:lodestone_tracker":67,"minecraft:firework_explosion":68,"minecraft:fireworks":69,"minecraft:profile":70,"minecraft:note_block_sound":71,"minecraft:banner_patterns":72,"minecraft:base_color":73,"minecraft:pot_decorations":74,"minecraft:container":75,"minecraft:block_state":76,"minecraft:bees":77,"minecraft:sulfur_cube_content":78,"minecraft:lock":79,"minecraft:container_loot":80,"minecraft:break_sound":81,"minecraft:villager/variant":82,"minecraft:wolf/variant":83,"minecraft:wolf/sound_variant":84,"minecraft:wolf/collar":85,"minecraft:fox/variant":86,"minecraft:salmon/size":87,"minecraft:parrot/variant":88,"minecraft:tropical_fish/pattern":89,"minecraft:tropical_fish/base_color":90,"minecraft:tropical_fish/pattern_color":91,"minecraft:mooshroom/variant":92,"minecraft:rabbit/variant":93,"minecraft:pig/variant":94,"minecraft:pig/sound_variant":95,"minecraft:cow/variant":96,"minecraft:cow/sound_variant":97,"minecraft:chicken/variant":98,"minecraft:chicken/sound_variant":99,"minecraft:zombie_nautilus/variant":100,"minecraft:frog/variant":101,"minecraft:horse/variant":102,"minecraft:painting/variant":103,"minecraft:llama/variant":104,"minecraft:axolotl/variant":105,"minecraft:cat/variant":106,"minecraft:cat/sound_variant":107,"minecraft:cat/collar":108,"minecraft:sheep/color":109,"minecraft:shulker/color":110}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"JUMP":1,"KINETIC_HIT":2,"DEATH":3,"START_ATTACKING":4,"STOP_ATTACKING":5,"TAMING_FAILED":6,"TAMING_SUCCEEDED":7,"SHAKE_WETNESS":8,"USE_ITEM_COMPLETE":9,"EAT_GRASS":10,"OFFER_FLOWER":11,"LOVE_HEARTS":12,"VILLAGER_ANGRY":13,"VILLAGER_HAPPY":14,"WITCH_HAT_MAGIC":15,"ZOMBIE_CONVERTING":16,"FIREWORKS_EXPLODE":17,"IN_LOVE_HEARTS":18,"SQUID_ANIM_SYNCH":19,"SILVERFISH_MERGE_ANIM":20,"GUARDIAN_ATTACK_SOUND":21,"REDUCED_DEBUG_INFO":22,"FULL_DEBUG_INFO":23,"PERMISSION_LEVEL_ALL":24,"PERMISSION_LEVEL_MODERATORS":25,"PERMISSION_LEVEL_GAMEMASTERS":26,"PERMISSION_LEVEL_ADMINS":27,"PERMISSION_LEVEL_OWNERS":28,"FISHING_ROD_REEL_IN":31,"ARMORSTAND_WOBBLE":32,"STOP_OFFER_FLOWER":34,"PROTECTED_FROM_DEATH":35,"DOLPHIN_LOOKING_FOR_TREASURE":38,"RAVAGER_STUNNED":39,"TRUSTING_FAILED":40,"TRUSTING_SUCCEEDED":41,"VILLAGER_SWEAT":42,"FOX_EAT":45,"TELEPORT":46,"MAINHAND_BREAK":47,"OFFHAND_BREAK":48,"HEAD_BREAK":49,"CHEST_BREAK":50,"LEGS_BREAK":51,"FEET_BREAK":52,"HONEY_SLIDE":53,"HONEY_JUMP":54,"SWAP_HANDS":55,"CANCEL_SHAKE_WETNESS":56,"START_RAM":58,"END_RAM":59,"POOF":60,"TENDRILS_SHIVER":61,"SONIC_CHARGE":62,"SNIFFER_DIGGING_SOUND":63,"ARMADILLO_PEEK":64,"BODY_BREAK":65,"SHAKE":66,"DROWN_PARTICLES":67,"SADDLE_BREAK":68,"RAVAGER_ROARED":69}
{"JUMP":1,"KINETIC_HIT":2,"DEATH":3,"START_ATTACKING":4,"STOP_ATTACKING":5,"TAMING_FAILED":6,"TAMING_SUCCEEDED":7,"SHAKE_WETNESS":8,"USE_ITEM_COMPLETE":9,"EAT_GRASS":10,"OFFER_FLOWER":11,"LOVE_HEARTS":12,"VILLAGER_ANGRY":13,"VILLAGER_HAPPY":14,"WITCH_HAT_MAGIC":15,"ZOMBIE_CONVERTING":16,"FIREWORKS_EXPLODE":17,"IN_LOVE_HEARTS":18,"SQUID_ANIM_SYNCH":19,"SILVERFISH_MERGE_ANIM":20,"GUARDIAN_ATTACK_SOUND":21,"REDUCED_DEBUG_INFO":22,"FULL_DEBUG_INFO":23,"PERMISSION_LEVEL_ALL":24,"PERMISSION_LEVEL_MODERATORS":25,"PERMISSION_LEVEL_GAMEMASTERS":26,"PERMISSION_LEVEL_ADMINS":27,"PERMISSION_LEVEL_OWNERS":28,"FISHING_ROD_REEL_IN":31,"ARMORSTAND_WOBBLE":32,"STOP_OFFER_FLOWER":34,"PROTECTED_FROM_DEATH":35,"DOLPHIN_LOOKING_FOR_TREASURE":38,"RAVAGER_STUNNED":39,"TRUSTING_FAILED":40,"TRUSTING_SUCCEEDED":41,"VILLAGER_SWEAT":42,"FOX_EAT":45,"TELEPORT":46,"MAINHAND_BREAK":47,"OFFHAND_BREAK":48,"HEAD_BREAK":49,"CHEST_BREAK":50,"LEGS_BREAK":51,"FEET_BREAK":52,"HONEY_SLIDE":53,"HONEY_JUMP":54,"SWAP_HANDS":55,"CANCEL_SHAKE_WETNESS":56,"START_RAM":58,"END_RAM":59,"POOF":60,"TENDRILS_SHIVER":61,"SONIC_CHARGE":62,"SNIFFER_DIGGING_SOUND":63,"ARMADILLO_PEEK":64,"BODY_BREAK":65,"SHAKE":66,"DROWN_PARTICLES":67,"SADDLE_BREAK":68,"RAVAGER_ROARED":69,"TNT_PRIME":70}

View File

@ -1 +1 @@
{"241":433,"53":417,"240":432,"253":922,"239":431,"341":440,"238":430,"49":413,"249":437,"270":793,"229":423,"56":420,"245":412,"251":920,"55":419,"231":1165,"232":1166,"206":1149,"236":428,"235":427,"243":435,"205":1148,"54":418,"233":425,"248":438,"244":436,"250":919,"230":424,"203":422,"242":434,"207":439,"50":414,"234":426,"51":415,"57":421,"237":429,"252":921,"52":416}
{"232":1176,"84":421,"368":440,"264":429,"259":1194,"257":424,"270":435,"79":416,"276":437,"258":1193,"268":433,"272":412,"76":413,"83":420,"271":436,"77":414,"261":426,"265":430,"230":422,"275":438,"297":793,"266":431,"81":418,"234":439,"82":419,"280":922,"269":434,"279":921,"256":423,"262":427,"267":432,"80":417,"277":919,"78":415,"278":920,"233":1177,"263":428,"260":425}

View File

@ -1 +1 @@
{"1015":20000,"83":16000,"1117":2400,"897":1600,"898":1600,"141":300,"178":300,"154":300,"165":300,"140":300,"177":300,"155":300,"166":300,"134":300,"171":300,"148":300,"159":300,"138":300,"175":300,"152":300,"163":300,"136":300,"173":300,"150":300,"161":300,"137":300,"174":300,"151":300,"162":300,"135":300,"172":300,"149":300,"160":300,"142":300,"179":300,"156":300,"167":300,"139":300,"176":300,"153":300,"164":300,"147":300,"170":300,"36":300,"37":300,"38":300,"39":300,"40":300,"42":300,"43":300,"44":300,"45":300,"41":300,"48":300,"442":300,"443":300,"444":300,"445":300,"446":300,"448":300,"449":300,"450":300,"451":300,"447":300,"452":300,"271":150,"272":150,"273":150,"274":150,"275":150,"277":150,"278":150,"279":150,"280":150,"276":150,"281":150,"806":300,"804":300,"808":300,"809":300,"805":300,"802":300,"803":300,"810":300,"811":300,"807":300,"768":300,"769":300,"770":300,"771":300,"772":300,"774":300,"775":300,"776":300,"777":300,"773":300,"306":300,"307":300,"308":300,"309":300,"311":300,"312":300,"313":300,"314":300,"315":300,"316":300,"345":300,"349":300,"351":300,"352":300,"346":300,"347":300,"348":300,"353":300,"354":300,"350":300,"826":300,"824":300,"828":300,"829":300,"825":300,"822":300,"823":300,"830":300,"831":300,"827":300,"749":300,"318":300,"319":300,"731":300,"344":300,"332":300,"746":300,"333":300,"742":300,"1267":300,"1268":300,"1269":300,"1270":300,"1271":300,"1272":300,"1273":300,"1274":300,"1275":300,"1276":300,"1277":300,"1278":300,"1279":300,"1280":300,"1281":300,"1282":300,"895":300,"1054":300,"336":300,"989":200,"990":200,"991":200,"993":200,"992":200,"995":200,"996":200,"997":200,"998":200,"994":200,"1001":800,"1002":800,"1003":800,"1005":800,"1006":800,"1004":800,"1007":800,"1008":800,"1009":800,"1010":800,"913":200,"912":200,"1297":200,"916":200,"915":200,"914":200,"781":200,"782":200,"783":200,"784":200,"785":200,"787":200,"788":200,"789":200,"790":200,"786":200,"864":1200,"866":1200,"868":1200,"870":1200,"872":1200,"876":1200,"878":1200,"880":1200,"882":1200,"874":1200,"865":1200,"867":1200,"869":1200,"871":1200,"873":1200,"877":1200,"879":1200,"881":1200,"883":1200,"875":1200,"213":100,"214":100,"215":100,"216":100,"217":100,"218":100,"219":100,"220":100,"221":100,"222":100,"223":100,"224":100,"225":100,"226":100,"227":100,"228":100,"752":100,"753":100,"754":100,"755":100,"756":100,"758":100,"759":100,"760":100,"761":100,"757":100,"947":100,"49":100,"50":100,"51":100,"52":100,"53":100,"55":100,"56":100,"205":100,"206":100,"57":100,"54":100,"893":100,"506":67,"507":67,"508":67,"509":67,"510":67,"511":67,"512":67,"513":67,"514":67,"515":67,"516":67,"517":67,"518":67,"519":67,"520":67,"521":67,"1028":4001,"1340":300,"270":50,"207":100,"209":100,"210":100,"717":50,"1342":300,"1355":300,"1358":300,"1359":300,"1361":300,"1354":300,"143":300,"261":100}
{"1042":20000,"110":16000,"1145":2400,"924":1600,"925":1600,"168":300,"205":300,"181":300,"192":300,"167":300,"204":300,"182":300,"193":300,"161":300,"198":300,"175":300,"186":300,"165":300,"202":300,"179":300,"190":300,"163":300,"200":300,"177":300,"188":300,"164":300,"201":300,"178":300,"189":300,"162":300,"199":300,"176":300,"187":300,"169":300,"206":300,"183":300,"194":300,"166":300,"203":300,"180":300,"191":300,"174":300,"197":300,"63":300,"64":300,"65":300,"66":300,"67":300,"69":300,"70":300,"71":300,"72":300,"68":300,"75":300,"469":300,"470":300,"471":300,"472":300,"473":300,"475":300,"476":300,"477":300,"478":300,"474":300,"479":300,"298":150,"299":150,"300":150,"301":150,"302":150,"304":150,"305":150,"306":150,"307":150,"303":150,"308":150,"833":300,"831":300,"835":300,"836":300,"832":300,"829":300,"830":300,"837":300,"838":300,"834":300,"795":300,"796":300,"797":300,"798":300,"799":300,"801":300,"802":300,"803":300,"804":300,"800":300,"333":300,"334":300,"335":300,"336":300,"338":300,"339":300,"340":300,"341":300,"342":300,"343":300,"372":300,"376":300,"378":300,"379":300,"373":300,"374":300,"375":300,"380":300,"381":300,"377":300,"853":300,"851":300,"855":300,"856":300,"852":300,"849":300,"850":300,"857":300,"858":300,"854":300,"776":300,"345":300,"346":300,"758":300,"371":300,"359":300,"773":300,"360":300,"769":300,"1296":300,"1297":300,"1298":300,"1299":300,"1300":300,"1301":300,"1302":300,"1303":300,"1304":300,"1305":300,"1306":300,"1307":300,"1308":300,"1309":300,"1310":300,"1311":300,"922":300,"1082":300,"363":300,"1016":200,"1017":200,"1018":200,"1020":200,"1019":200,"1022":200,"1023":200,"1024":200,"1025":200,"1021":200,"1028":800,"1029":800,"1030":800,"1032":800,"1033":800,"1031":800,"1034":800,"1035":800,"1036":800,"1037":800,"940":200,"939":200,"1326":200,"943":200,"942":200,"941":200,"808":200,"809":200,"810":200,"811":200,"812":200,"814":200,"815":200,"816":200,"817":200,"813":200,"891":1200,"893":1200,"895":1200,"897":1200,"899":1200,"903":1200,"905":1200,"907":1200,"909":1200,"901":1200,"892":1200,"894":1200,"896":1200,"898":1200,"900":1200,"904":1200,"906":1200,"908":1200,"910":1200,"902":1200,"240":100,"241":100,"242":100,"243":100,"244":100,"245":100,"246":100,"247":100,"248":100,"249":100,"250":100,"251":100,"252":100,"253":100,"254":100,"255":100,"779":100,"780":100,"781":100,"782":100,"783":100,"785":100,"786":100,"787":100,"788":100,"784":100,"974":100,"76":100,"77":100,"78":100,"79":100,"80":100,"82":100,"83":100,"232":100,"233":100,"84":100,"81":100,"920":100,"533":67,"534":67,"535":67,"536":67,"537":67,"538":67,"539":67,"540":67,"541":67,"542":67,"543":67,"544":67,"545":67,"546":67,"547":67,"548":67,"1056":4001,"1370":300,"297":50,"234":100,"236":100,"237":100,"744":50,"1372":300,"1385":300,"1388":300,"1389":300,"1391":300,"1384":300,"170":300,"288":100}

View File

@ -1 +1 @@
["block_activate","block_attach","block_change","block_close","block_deactivate","block_destroy","block_detach","block_open","block_place","container_close","container_open","drink","eat","elytra_glide","entity_damage","entity_die","entity_dismount","entity_interact","entity_mount","entity_place","entity_action","equip","explode","flap","fluid_pickup","fluid_place","hit_ground","instrument_play","item_interact_finish","item_interact_start","jukebox_play","jukebox_stop_play","lightning_strike","note_block_play","prime_fuse","projectile_land","projectile_shoot","sculk_sensor_tendrils_clicking","shear","shriek","splash","step","swim","teleport","unequip","resonate_1","resonate_2","resonate_3","resonate_4","resonate_5","resonate_6","resonate_7","resonate_8","resonate_9","resonate_10","resonate_11","resonate_12","resonate_13","resonate_14","resonate_15"]
["block_activate","block_attach","block_change","block_close","block_deactivate","block_destroy","block_detach","block_open","block_place","bounce","container_close","container_open","drink","eat","elytra_glide","entity_damage","entity_die","entity_dismount","entity_interact","entity_mount","entity_place","entity_action","equip","explode","flap","fluid_pickup","fluid_place","hit_ground","instrument_play","item_interact_finish","item_interact_start","jukebox_play","jukebox_stop_play","lightning_strike","note_block_play","prime_fuse","projectile_land","projectile_shoot","sculk_sensor_tendrils_clicking","shear","shriek","splash","step","swim","teleport","unequip","resonate_1","resonate_2","resonate_3","resonate_4","resonate_5","resonate_6","resonate_7","resonate_8","resonate_9","resonate_10","resonate_11","resonate_12","resonate_13","resonate_14","resonate_15"]

View File

@ -1 +1 @@
{"advance_time":true,"advance_weather":true,"allow_entering_nether_using_portals":true,"block_drops":true,"block_explosion_drop_decay":true,"command_blocks_work":true,"command_block_output":true,"drowning_damage":true,"elytra_movement_check":true,"ender_pearls_vanish_on_death":true,"entity_drops":true,"fall_damage":true,"fire_damage":true,"fire_spread_radius_around_player":128,"forgive_dead_players":true,"freeze_damage":true,"global_sound_events":true,"immediate_respawn":false,"keep_inventory":false,"lava_source_conversion":false,"limited_crafting":false,"locator_bar":true,"log_admin_commands":true,"max_block_modifications":32768,"max_command_forks":65536,"max_command_sequence_length":65536,"max_entity_cramming":24,"max_minecart_speed":8,"max_snow_accumulation_height":1,"mob_drops":true,"mob_explosion_drop_decay":true,"mob_griefing":true,"natural_health_regeneration":true,"player_movement_check":true,"players_nether_portal_creative_delay":0,"players_nether_portal_default_delay":80,"players_sleeping_percentage":100,"projectiles_can_break_blocks":true,"pvp":true,"raids":true,"random_tick_speed":3,"reduced_debug_info":false,"respawn_radius":10,"send_command_feedback":true,"show_advancement_messages":true,"show_death_messages":true,"spawner_blocks_work":true,"spawn_mobs":true,"spawn_monsters":true,"spawn_patrols":true,"spawn_phantoms":true,"spawn_wandering_traders":true,"spawn_wardens":true,"spectators_generate_chunks":true,"spread_vines":true,"tnt_explodes":true,"tnt_explosion_drop_decay":false,"universal_anger":false,"water_source_conversion":true}
{"advance_time":true,"advance_weather":true,"allow_entering_nether_using_portals":true,"block_drops":true,"block_explosion_drop_decay":true,"command_blocks_work":true,"command_block_output":true,"drowning_damage":true,"elytra_movement_check":true,"ender_pearls_vanish_on_death":true,"entity_drops":true,"fall_damage":true,"fire_damage":true,"fire_spread_radius_around_player":{"default":128,"min":-1,"max":2147483647},"forgive_dead_players":true,"freeze_damage":true,"global_sound_events":true,"immediate_respawn":false,"keep_inventory":false,"lava_source_conversion":false,"limited_crafting":false,"locator_bar":true,"log_admin_commands":true,"max_block_modifications":{"default":32768,"min":1,"max":2147483647},"max_command_forks":{"default":65536,"min":0,"max":2147483647},"max_command_sequence_length":{"default":65536,"min":0,"max":2147483647},"max_entity_cramming":{"default":24,"min":0,"max":2147483647},"max_minecart_speed":{"default":8,"min":1,"max":1000},"max_snow_accumulation_height":{"default":1,"min":0,"max":8},"mob_drops":true,"mob_explosion_drop_decay":true,"mob_griefing":true,"natural_health_regeneration":true,"player_movement_check":true,"players_nether_portal_creative_delay":{"default":0,"min":0,"max":2147483647},"players_nether_portal_default_delay":{"default":80,"min":0,"max":2147483647},"players_sleeping_percentage":{"default":100,"min":0,"max":2147483647},"projectiles_can_break_blocks":true,"pvp":true,"raids":true,"random_tick_speed":{"default":3,"min":0,"max":2147483647},"reduced_debug_info":false,"respawn_radius":{"default":10,"min":0,"max":2147483647},"send_command_feedback":true,"show_advancement_messages":true,"show_death_messages":true,"spawner_blocks_work":true,"spawn_mobs":true,"spawn_monsters":true,"spawn_patrols":true,"spawn_phantoms":true,"spawn_wandering_traders":true,"spawn_wardens":true,"spectators_generate_chunks":true,"spread_vines":true,"tnt_explodes":true,"tnt_explosion_drop_decay":false,"universal_anger":false,"water_source_conversion":true}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"11":0,"13":1,"5":2,"blocks":3,"cat":4,"chirp":5,"creator":6,"creator_music_box":7,"far":8,"lava_chicken":9,"mall":10,"mellohi":11,"otherside":12,"pigstep":13,"precipice":14,"relic":15,"stal":16,"strad":17,"tears":18,"wait":19,"ward":20}
{"11":0,"13":1,"5":2,"blocks":3,"bounce":4,"cat":5,"chirp":6,"creator":7,"creator_music_box":8,"far":9,"lava_chicken":10,"mall":11,"mellohi":12,"otherside":13,"pigstep":14,"precipice":15,"relic":16,"stal":17,"strad":18,"tears":19,"wait":20,"ward":21}

View File

@ -0,0 +1 @@
{"byte":0,"int":1,"long":2,"float":3,"string":4,"component":5,"optional_component":6,"item_stack":7,"block_state":14,"optional_block_state":15,"boolean":8,"particle":16,"particles":17,"rotations":9,"block_pos":10,"optional_block_pos":11,"direction":12,"optional_living_entity_reference":13,"optional_global_pos":33,"villager_data":18,"optional_unsigned_int":19,"pose":20,"cat_variant":21,"cat_sound_variant":22,"chicken_variant":30,"chicken_sound_variant":31,"cow_variant":23,"cow_sound_variant":24,"wolf_variant":25,"wolf_sound_variant":26,"frog_variant":27,"pig_variant":28,"pig_sound_variant":29,"zombie_nautilus_variant":32,"painting_variant":34,"armadillo_state":36,"sniffer_state":35,"weathering_copper_state":38,"copper_golem_state":37,"vector3":39,"quaternion":40,"resolvable_profile":41,"humanoid_arm":42}

View File

@ -1 +1 @@
{"minecraft:aquifer_barrier":{"firstOctave":-3,"amplitudes":[1.0]},"minecraft:aquifer_fluid_level_floodedness":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:aquifer_fluid_level_spread":{"firstOctave":-5,"amplitudes":[1.0]},"minecraft:aquifer_lava":{"firstOctave":-1,"amplitudes":[1.0]},"minecraft:badlands_pillar":{"firstOctave":-2,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:badlands_pillar_roof":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:badlands_surface":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0]},"minecraft:calcite":{"firstOctave":-9,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:cave_cheese":{"firstOctave":-8,"amplitudes":[0.5,1.0,2.0,1.0,2.0,1.0,0.0,2.0,0.0]},"minecraft:cave_entrance":{"firstOctave":-7,"amplitudes":[0.4,0.5,1.0]},"minecraft:cave_layer":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:clay_bands_offset":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:continentalness":{"firstOctave":-9,"amplitudes":[1.0,1.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0]},"minecraft:continentalness_large":{"firstOctave":-11,"amplitudes":[1.0,1.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0]},"minecraft:erosion":{"firstOctave":-9,"amplitudes":[1.0,1.0,0.0,1.0,1.0]},"minecraft:erosion_large":{"firstOctave":-11,"amplitudes":[1.0,1.0,0.0,1.0,1.0]},"minecraft:gravel":{"firstOctave":-8,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:gravel_layer":{"firstOctave":-8,"amplitudes":[1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.013333333333333334]},"minecraft:ice":{"firstOctave":-4,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:iceberg_pillar":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:iceberg_pillar_roof":{"firstOctave":-3,"amplitudes":[1.0]},"minecraft:iceberg_surface":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0]},"minecraft:jagged":{"firstOctave":-16,"amplitudes":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]},"minecraft:nether/temperature":{"firstOctave":-7,"amplitudes":[1.0,1.0]},"minecraft:nether/vegetation":{"firstOctave":-7,"amplitudes":[1.0,1.0]},"minecraft:nether_state_selector":{"firstOctave":-4,"amplitudes":[1.0]},"minecraft:nether_wart":{"firstOctave":-3,"amplitudes":[1.0,0.0,0.0,0.9]},"minecraft:netherrack":{"firstOctave":-3,"amplitudes":[1.0,0.0,0.0,0.35]},"minecraft:noodle":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:noodle_ridge_a":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:noodle_ridge_b":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:noodle_thickness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:offset":{"firstOctave":-3,"amplitudes":[1.0,1.0,1.0,0.0]},"minecraft:ore_gap":{"firstOctave":-5,"amplitudes":[1.0]},"minecraft:ore_vein_a":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:ore_vein_b":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:ore_veininess":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:packed_ice":{"firstOctave":-7,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:patch":{"firstOctave":-5,"amplitudes":[1.0,0.0,0.0,0.0,0.0,0.013333333333333334]},"minecraft:pillar":{"firstOctave":-7,"amplitudes":[1.0,1.0]},"minecraft:pillar_rareness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:pillar_thickness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:powder_snow":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:ridge":{"firstOctave":-7,"amplitudes":[1.0,2.0,1.0,0.0,0.0,0.0]},"minecraft:soul_sand_layer":{"firstOctave":-8,"amplitudes":[1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.013333333333333334]},"minecraft:spaghetti_2d":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:spaghetti_2d_elevation":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:spaghetti_2d_modulator":{"firstOctave":-11,"amplitudes":[1.0]},"minecraft:spaghetti_2d_thickness":{"firstOctave":-11,"amplitudes":[1.0]},"minecraft:spaghetti_3d_1":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:spaghetti_3d_2":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:spaghetti_3d_rarity":{"firstOctave":-11,"amplitudes":[1.0]},"minecraft:spaghetti_3d_thickness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:spaghetti_roughness":{"firstOctave":-5,"amplitudes":[1.0]},"minecraft:spaghetti_roughness_modulator":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:surface":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0]},"minecraft:surface_secondary":{"firstOctave":-6,"amplitudes":[1.0,1.0,0.0,1.0]},"minecraft:surface_swamp":{"firstOctave":-2,"amplitudes":[1.0]},"minecraft:temperature":{"firstOctave":-10,"amplitudes":[1.5,0.0,1.0,0.0,0.0,0.0]},"minecraft:temperature_large":{"firstOctave":-12,"amplitudes":[1.5,0.0,1.0,0.0,0.0,0.0]},"minecraft:vegetation":{"firstOctave":-8,"amplitudes":[1.0,1.0,0.0,0.0,0.0,0.0]},"minecraft:vegetation_large":{"firstOctave":-10,"amplitudes":[1.0,1.0,0.0,0.0,0.0,0.0]}}
{"minecraft:aquifer_barrier":{"firstOctave":-3,"amplitudes":[1.0]},"minecraft:aquifer_fluid_level_floodedness":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:aquifer_fluid_level_spread":{"firstOctave":-5,"amplitudes":[1.0]},"minecraft:aquifer_lava":{"firstOctave":-1,"amplitudes":[1.0]},"minecraft:badlands_pillar":{"firstOctave":-2,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:badlands_pillar_roof":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:badlands_surface":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0]},"minecraft:calcite":{"firstOctave":-9,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:cave_cheese":{"firstOctave":-8,"amplitudes":[0.5,1.0,2.0,1.0,2.0,1.0,0.0,2.0,0.0]},"minecraft:cave_entrance":{"firstOctave":-7,"amplitudes":[0.4,0.5,1.0]},"minecraft:cave_layer":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:clay_bands_offset":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:continentalness":{"firstOctave":-9,"amplitudes":[1.0,1.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0]},"minecraft:continentalness_large":{"firstOctave":-11,"amplitudes":[1.0,1.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0]},"minecraft:erosion":{"firstOctave":-9,"amplitudes":[1.0,1.0,0.0,1.0,1.0]},"minecraft:erosion_large":{"firstOctave":-11,"amplitudes":[1.0,1.0,0.0,1.0,1.0]},"minecraft:gravel":{"firstOctave":-8,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:gravel_layer":{"firstOctave":-8,"amplitudes":[1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.013333333333333334]},"minecraft:ice":{"firstOctave":-4,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:iceberg_pillar":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:iceberg_pillar_roof":{"firstOctave":-3,"amplitudes":[1.0]},"minecraft:iceberg_surface":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0]},"minecraft:jagged":{"firstOctave":-16,"amplitudes":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]},"minecraft:nether/temperature":{"firstOctave":-7,"amplitudes":[1.0,1.0]},"minecraft:nether/vegetation":{"firstOctave":-7,"amplitudes":[1.0,1.0]},"minecraft:nether_state_selector":{"firstOctave":-4,"amplitudes":[1.0]},"minecraft:nether_wart":{"firstOctave":-3,"amplitudes":[1.0,0.0,0.0,0.9]},"minecraft:netherrack":{"firstOctave":-3,"amplitudes":[1.0,0.0,0.0,0.35]},"minecraft:noodle":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:noodle_ridge_a":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:noodle_ridge_b":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:noodle_thickness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:offset":{"firstOctave":-3,"amplitudes":[1.0,1.0,1.0,0.0]},"minecraft:ore_gap":{"firstOctave":-5,"amplitudes":[1.0]},"minecraft:ore_vein_a":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:ore_vein_b":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:ore_veininess":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:packed_ice":{"firstOctave":-7,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:patch":{"firstOctave":-5,"amplitudes":[1.0,0.0,0.0,0.0,0.0,0.013333333333333334]},"minecraft:pillar":{"firstOctave":-7,"amplitudes":[1.0,1.0]},"minecraft:pillar_rareness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:pillar_thickness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:powder_snow":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0,1.0]},"minecraft:ridge":{"firstOctave":-7,"amplitudes":[1.0,2.0,1.0,0.0,0.0,0.0]},"minecraft:soul_sand_layer":{"firstOctave":-8,"amplitudes":[1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.013333333333333334]},"minecraft:spaghetti_2d":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:spaghetti_2d_elevation":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:spaghetti_2d_modulator":{"firstOctave":-11,"amplitudes":[1.0]},"minecraft:spaghetti_2d_thickness":{"firstOctave":-11,"amplitudes":[1.0]},"minecraft:spaghetti_3d_1":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:spaghetti_3d_2":{"firstOctave":-7,"amplitudes":[1.0]},"minecraft:spaghetti_3d_rarity":{"firstOctave":-11,"amplitudes":[1.0]},"minecraft:spaghetti_3d_thickness":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:spaghetti_roughness":{"firstOctave":-5,"amplitudes":[1.0]},"minecraft:spaghetti_roughness_modulator":{"firstOctave":-8,"amplitudes":[1.0]},"minecraft:sulfur_cave_gradient":{"firstOctave":-5,"amplitudes":[1.0,0.0,1.0]},"minecraft:surface":{"firstOctave":-6,"amplitudes":[1.0,1.0,1.0]},"minecraft:surface_secondary":{"firstOctave":-6,"amplitudes":[1.0,1.0,0.0,1.0]},"minecraft:surface_swamp":{"firstOctave":-2,"amplitudes":[1.0]},"minecraft:temperature":{"firstOctave":-10,"amplitudes":[1.5,0.0,1.0,0.0,0.0,0.0]},"minecraft:temperature_large":{"firstOctave":-12,"amplitudes":[1.5,0.0,1.0,0.0,0.0,0.0]},"minecraft:vegetation":{"firstOctave":-8,"amplitudes":[1.0,1.0,0.0,0.0,0.0,0.0]},"minecraft:vegetation_large":{"firstOctave":-10,"amplitudes":[1.0,1.0,0.0,0.0,0.0,0.0]}}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
["angry_villager","block","block_marker","bubble","cloud","copper_fire_flame","crit","damage_indicator","dragon_breath","dripping_lava","falling_lava","landing_lava","dripping_water","falling_water","dust","dust_color_transition","effect","elder_guardian","enchanted_hit","enchant","end_rod","entity_effect","explosion_emitter","explosion","gust","small_gust","gust_emitter_large","gust_emitter_small","sonic_boom","falling_dust","firework","fishing","flame","infested","cherry_leaves","pale_oak_leaves","tinted_leaves","sculk_soul","sculk_charge","sculk_charge_pop","soul_fire_flame","soul","flash","happy_villager","composter","heart","instant_effect","item","vibration","trail","pause_mob_growth","reset_mob_growth","item_slime","item_cobweb","item_snowball","large_smoke","lava","mycelium","note","poof","portal","rain","smoke","white_smoke","sneeze","spit","squid_ink","sweep_attack","totem_of_undying","underwater","splash","witch","bubble_pop","current_down","bubble_column_up","nautilus","dolphin","campfire_cosy_smoke","campfire_signal_smoke","dripping_honey","falling_honey","landing_honey","falling_nectar","falling_spore_blossom","ash","crimson_spore","warped_spore","spore_blossom_air","dripping_obsidian_tear","falling_obsidian_tear","landing_obsidian_tear","reverse_portal","white_ash","small_flame","snowflake","dripping_dripstone_lava","falling_dripstone_lava","dripping_dripstone_water","falling_dripstone_water","glow_squid_ink","glow","wax_on","wax_off","electric_spark","scrape","shriek","egg_crack","dust_plume","trial_spawner_detection","trial_spawner_detection_ominous","vault_connection","dust_pillar","ominous_spawning","raid_omen","trial_omen","block_crumble","firefly"]
["angry_villager","block","block_marker","bubble","sulfur_bubbles","noxious_gas","noxious_gas_cloud","geyser","geyser_base","geyser_poof","geyser_plume","cloud","copper_fire_flame","crit","damage_indicator","dragon_breath","dripping_lava","falling_lava","landing_lava","dripping_water","falling_water","dust","dust_color_transition","effect","elder_guardian","enchanted_hit","enchant","end_rod","entity_effect","explosion_emitter","explosion","gust","small_gust","gust_emitter_large","gust_emitter_small","sonic_boom","falling_dust","firework","fishing","flame","infested","cherry_leaves","pale_oak_leaves","tinted_leaves","sculk_soul","sculk_charge","sculk_charge_pop","soul_fire_flame","soul","flash","happy_villager","composter","heart","instant_effect","item","vibration","trail","pause_mob_growth","reset_mob_growth","item_slime","item_cobweb","item_snowball","large_smoke","lava","mycelium","note","poof","portal","rain","smoke","white_smoke","sneeze","spit","squid_ink","sweep_attack","totem_of_undying","underwater","splash","witch","bubble_pop","current_down","bubble_column_up","nautilus","dolphin","campfire_cosy_smoke","campfire_signal_smoke","dripping_honey","falling_honey","landing_honey","falling_nectar","falling_spore_blossom","ash","crimson_spore","warped_spore","spore_blossom_air","dripping_obsidian_tear","falling_obsidian_tear","landing_obsidian_tear","reverse_portal","white_ash","small_flame","snowflake","dripping_dripstone_lava","falling_dripstone_lava","dripping_dripstone_water","falling_dripstone_water","glow_squid_ink","glow","wax_on","wax_off","electric_spark","scrape","shriek","egg_crack","dust_plume","trial_spawner_detection","trial_spawner_detection_ominous","vault_connection","dust_pillar","ominous_spawning","raid_omen","trial_omen","block_crumble","firefly","sulfur_cube_goo"]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"948":893,"1019":1013,"1122":1121,"1252":893,"1290":893,"1341":893,"1382":1121}
{"975":920,"1046":1040,"1150":1149,"1281":920,"1319":920,"1371":920,"1412":1149}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"1131":"chicken","1132":"cow","1133":"pig","1134":"sheep","1135":"camel","1136":"donkey","1137":"horse","1138":"mule","1139":"cat","1140":"parrot","1141":"wolf","1142":"armadillo","1143":"bat","1144":"bee","1145":"fox","1146":"goat","1147":"llama","1148":"ocelot","1149":"panda","1150":"polar_bear","1151":"rabbit","1152":"axolotl","1153":"cod","1154":"dolphin","1155":"frog","1156":"glow_squid","1157":"nautilus","1158":"pufferfish","1159":"salmon","1160":"squid","1161":"tadpole","1162":"tropical_fish","1163":"turtle","1164":"allay","1165":"mooshroom","1166":"sniffer","1167":"copper_golem","1168":"iron_golem","1169":"snow_golem","1170":"trader_llama","1171":"villager","1172":"wandering_trader","1173":"bogged","1174":"camel_husk","1175":"drowned","1176":"husk","1177":"parched","1178":"skeleton","1179":"skeleton_horse","1180":"stray","1181":"wither","1182":"wither_skeleton","1183":"zombie","1184":"zombie_horse","1185":"zombie_nautilus","1186":"zombie_villager","1187":"cave_spider","1188":"spider","1189":"breeze","1190":"creaking","1191":"creeper","1192":"elder_guardian","1193":"guardian","1194":"phantom","1195":"silverfish","1196":"slime","1197":"warden","1198":"witch","1199":"evoker","1200":"pillager","1201":"ravager","1202":"vindicator","1203":"vex","1204":"blaze","1205":"ghast","1206":"happy_ghast","1207":"hoglin","1208":"magma_cube","1209":"piglin","1210":"piglin_brute","1211":"strider","1212":"zoglin","1213":"zombified_piglin","1214":"ender_dragon","1215":"enderman","1216":"endermite","1217":"shulker"}
{"1159":"chicken","1160":"cow","1161":"pig","1162":"sheep","1163":"camel","1164":"donkey","1165":"horse","1166":"mule","1167":"cat","1168":"parrot","1169":"wolf","1170":"armadillo","1171":"bat","1172":"bee","1173":"fox","1174":"goat","1175":"llama","1176":"ocelot","1177":"panda","1178":"polar_bear","1179":"rabbit","1180":"axolotl","1181":"cod","1182":"dolphin","1183":"frog","1184":"glow_squid","1185":"nautilus","1186":"pufferfish","1187":"salmon","1188":"squid","1189":"tadpole","1190":"tropical_fish","1191":"turtle","1192":"allay","1193":"mooshroom","1194":"sniffer","1195":"sulfur_cube","1196":"copper_golem","1197":"iron_golem","1198":"snow_golem","1199":"trader_llama","1200":"villager","1201":"wandering_trader","1202":"bogged","1203":"camel_husk","1204":"drowned","1205":"husk","1206":"parched","1207":"skeleton","1208":"skeleton_horse","1209":"stray","1210":"wither","1211":"wither_skeleton","1212":"zombie","1213":"zombie_horse","1214":"zombie_nautilus","1215":"zombie_villager","1216":"cave_spider","1217":"spider","1218":"breeze","1219":"creaking","1220":"creeper","1221":"elder_guardian","1222":"guardian","1223":"phantom","1224":"silverfish","1225":"slime","1226":"warden","1227":"witch","1228":"evoker","1229":"pillager","1230":"ravager","1231":"vindicator","1232":"vex","1233":"blaze","1234":"ghast","1235":"happy_ghast","1236":"hoglin","1237":"magma_cube","1238":"piglin","1239":"piglin_brute","1240":"strider","1241":"zoglin","1242":"zombified_piglin","1243":"ender_dragon","1244":"enderman","1245":"endermite","1246":"shulker"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"DATA_ID_PADDLE_LEFT":11,"DATA_ID_PADDLE_RIGHT":12,"DATA_ID_BUBBLE_TIME":13,"DATA_ID_HURT":8,"DATA_ID_HURTDIR":9,"DATA_ID_DAMAGE":10,"DATA_SHARED_FLAGS_ID":0,"DATA_AIR_SUPPLY_ID":1,"DATA_CUSTOM_NAME":2,"DATA_CUSTOM_NAME_VISIBLE":3,"DATA_SILENT":4,"DATA_NO_GRAVITY":5,"DATA_POSE":6,"DATA_TICKS_FROZEN":7,"DATA_DANCING":16,"DATA_CAN_DUPLICATE":17,"DATA_MOB_FLAGS_ID":15,"DATA_LIVING_ENTITY_FLAGS":8,"DATA_HEALTH_ID":9,"DATA_EFFECT_PARTICLES":10,"DATA_EFFECT_AMBIENCE_ID":11,"DATA_ARROW_COUNT_ID":12,"DATA_STINGER_COUNT_ID":13,"SLEEPING_POS_ID":14,"DATA_RADIUS":8,"DATA_WAITING":9,"DATA_PARTICLE":10,"ARMADILLO_STATE":18,"DATA_BABY_ID":16,"AGE_LOCKED":17,"DATA_CLIENT_FLAGS":15,"DATA_HEAD_POSE":16,"DATA_BODY_POSE":17,"DATA_LEFT_ARM_POSE":18,"DATA_RIGHT_ARM_POSE":19,"DATA_LEFT_LEG_POSE":20,"DATA_RIGHT_LEG_POSE":21,"ID_EFFECT_COLOR":11,"ID_FLAGS":8,"PIERCE_LEVEL":9,"IN_GROUND":10,"DATA_VARIANT":18,"DATA_PLAYING_DEAD":19,"FROM_BUCKET":16,"DATA_ID_FLAGS":18,"DATA_FLAGS_ID":18,"DATA_ANGER_END_TIME":22,"DATA_BLOCK_STATE_ID":9,"DATA_TRANSFORMATION_INTERPOLATION_START_DELTA_TICKS_ID":8,"DATA_TRANSFORMATION_INTERPOLATION_DURATION_ID":9,"DATA_POS_ROT_INTERPOLATION_DURATION_ID":10,"DATA_TRANSLATION_ID":11,"DATA_SCALE_ID":12,"DATA_LEFT_ROTATION_ID":13,"DATA_RIGHT_ROTATION_ID":14,"DATA_BILLBOARD_RENDER_CONSTRAINTS_ID":15,"DATA_BRIGHTNESS_OVERRIDE_ID":16,"DATA_VIEW_RANGE_ID":17,"DATA_SHADOW_RADIUS_ID":18,"DATA_SHADOW_STRENGTH_ID":19,"DATA_WIDTH_ID":20,"DATA_HEIGHT_ID":21,"DATA_GLOW_COLOR_OVERRIDE_ID":22,"DATA_SHEARED":16,"DASH":20,"LAST_POSE_CHANGE_TICK":20,"DATA_VARIANT_ID":21,"IS_LYING":21,"RELAX_STATE_ONE":22,"DATA_COLLAR_COLOR":21,"DATA_SOUND_VARIANT_ID":24,"DATA_OWNERUUID_ID":19,"DATA_ID_CUSTOM_DISPLAY_BLOCK":11,"DATA_ID_DISPLAY_OFFSET":12,"DATA_WEATHER_STATE":16,"COPPER_GOLEM_STATE":17,"DATA_ID_COMMAND_NAME":13,"DATA_ID_LAST_OUTPUT":14,"CAN_MOVE":16,"IS_ACTIVE":17,"IS_TEARING_DOWN":18,"HOME_POS":19,"DATA_SWELL_DIR":16,"DATA_IS_POWERED":17,"DATA_IS_IGNITED":18,"GOT_FISH":18,"MOISTNESS_LEVEL":19,"DATA_ID_CHEST":19,"DATA_SPECIAL_TYPE_ID":17,"DATA_DROWNED_CONVERSION_ID":18,"DATA_ITEM_STACK":8,"DATA_ID_MOVING":16,"DATA_ID_ATTACK_TARGET":17,"DATA_CARRY_STATE":16,"DATA_CREEPY":17,"DATA_STARED_AT":18,"DATA_PHASE":16,"DATA_BEAM_TARGET":8,"DATA_SHOW_BOTTOM":9,"DATA_SPELL_CASTING_ID":17,"IS_CELEBRATING":16,"DATA_VALUE":8,"DATA_START_POS":8,"DATA_ID_FIREWORKS_ITEM":8,"DATA_ATTACHED_TO_TARGET":9,"DATA_SHOT_AT_ANGLE":10,"DATA_TYPE_ID":18,"DATA_TRUSTED_ID_0":20,"DATA_TRUSTED_ID_1":21,"DATA_TONGUE_TARGET_ID":19,"DATA_ID_FUEL":13,"DATA_IS_CHARGING":16,"IS_LEASH_HOLDER":18,"STAYS_STILL":19,"DATA_ITEM":8,"DATA_ROTATION":10,"DATA_DIRECTION":8,"DATA_DARK_TICKS_REMAINING":18,"DATA_IS_SCREAMING_GOAT":18,"DATA_HAS_LEFT_HORN":19,"DATA_HAS_RIGHT_HORN":20,"DATA_IMMUNE_TO_ZOMBIFICATION":16,"DATA_ID_TYPE_VARIANT":17,"DATA_RESPONSE_ID":10,"DATA_ITEM_STACK_ID":23,"DATA_ITEM_DISPLAY_ID":24,"DATA_STRENGTH_ID":20,"ID_SIZE":18,"DATA_PROFILE":17,"DATA_IMMOVABLE":18,"DATA_DESCRIPTION":19,"DATA_PLAYER_MAIN_HAND":15,"DATA_PLAYER_MODE_CUSTOMISATION":16,"DATA_TYPE":17,"DATA_TRUSTING":18,"DATA_PAINTING_VARIANT_ID":9,"UNHAPPY_COUNTER":18,"SNEEZE_COUNTER":19,"EAT_COUNTER":20,"MAIN_GENE_ID":21,"HIDDEN_GENE_ID":22,"DATA_BOOST_TIME":18,"DATA_IS_CHARGING_CROSSBOW":18,"DATA_IS_DANCING":19,"IS_CHARGING_CROSSBOW":17,"DATA_STANDING_ID":18,"PUFF_STATE":17,"DATA_WOOL_ID":18,"DATA_ATTACH_FACE_ID":16,"DATA_PEEK_ID":17,"DATA_COLOR_ID":18,"DATA_STRAY_CONVERSION_ID":16,"DATA_STATE":18,"DATA_DROP_SEED_AT_TICK":19,"DATA_PUMPKIN_ID":16,"DATA_SUFFOCATING":19,"MAX_FUSE":19,"DATA_TEXT_ID":23,"DATA_LINE_WIDTH_ID":24,"DATA_BACKGROUND_COLOR_ID":25,"DATA_TEXT_OPACITY_ID":26,"DATA_STYLE_FLAGS_ID":27,"DATA_FUSE_ID":8,"ID_LOYALTY":11,"ID_FOIL":12,"HAS_EGG":18,"LAYING_EGG":19,"DATA_VILLAGER_DATA":20,"DATA_VILLAGER_DATA_FINALIZED":21,"DATA_UNHAPPY_COUNTER":18,"CLIENT_ANGER_LEVEL":16,"DATA_USING_ITEM":17,"DATA_TARGET_A":16,"DATA_TARGET_B":17,"DATA_TARGET_C":18,"DATA_ID_INV":19,"DATA_DANGEROUS":8,"DATA_INTERESTED_ID":20,"DATA_CONVERTING_ID":19,"DATA_HOOKED_ENTITY":8,"DATA_BITING":9}

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"SOUND_DISPENSER_DISPENSE":1000,"SOUND_DISPENSER_FAIL":1001,"SOUND_DISPENSER_PROJECTILE_LAUNCH":1002,"SOUND_FIREWORK_SHOOT":1004,"SOUND_EXTINGUISH_FIRE":1009,"SOUND_PLAY_JUKEBOX_SONG":1010,"SOUND_STOP_JUKEBOX_SONG":1011,"SOUND_GHAST_WARNING":1015,"SOUND_GHAST_FIREBALL":1016,"SOUND_DRAGON_FIREBALL":1017,"SOUND_BLAZE_FIREBALL":1018,"SOUND_ZOMBIE_WOODEN_DOOR":1019,"SOUND_ZOMBIE_IRON_DOOR":1020,"SOUND_ZOMBIE_DOOR_CRASH":1021,"SOUND_WITHER_BLOCK_BREAK":1022,"SOUND_WITHER_BOSS_SPAWN":1023,"SOUND_WITHER_BOSS_SHOOT":1024,"SOUND_BAT_LIFTOFF":1025,"SOUND_ZOMBIE_INFECTED":1026,"SOUND_ZOMBIE_CONVERTED":1027,"SOUND_DRAGON_DEATH":1028,"SOUND_ANVIL_BROKEN":1029,"SOUND_ANVIL_USED":1030,"SOUND_ANVIL_LAND":1031,"SOUND_PORTAL_TRAVEL":1032,"SOUND_CHORUS_GROW":1033,"SOUND_CHORUS_DEATH":1034,"SOUND_BREWING_STAND_BREW":1035,"SOUND_END_PORTAL_SPAWN":1038,"SOUND_PHANTOM_BITE":1039,"SOUND_ZOMBIE_TO_DROWNED":1040,"SOUND_HUSK_TO_ZOMBIE":1041,"SOUND_GRINDSTONE_USED":1042,"SOUND_PAGE_TURN":1043,"SOUND_SMITHING_TABLE_USED":1044,"SOUND_POINTED_DRIPSTONE_LAND":1045,"SOUND_DRIP_LAVA_INTO_CAULDRON":1046,"SOUND_DRIP_WATER_INTO_CAULDRON":1047,"SOUND_SKELETON_TO_STRAY":1048,"SOUND_CRAFTER_CRAFT":1049,"SOUND_CRAFTER_FAIL":1050,"SOUND_WIND_CHARGE_SHOOT":1051,"COMPOSTER_FILL":1500,"LAVA_FIZZ":1501,"REDSTONE_TORCH_BURNOUT":1502,"END_PORTAL_FRAME_FILL":1503,"DRIPSTONE_DRIP":1504,"PARTICLES_AND_SOUND_PLANT_GROWTH":1505,"PARTICLES_SHOOT_SMOKE":2000,"PARTICLES_DESTROY_BLOCK":2001,"PARTICLES_SPELL_POTION_SPLASH":2002,"PARTICLES_EYE_OF_ENDER_DEATH":2003,"PARTICLES_MOBBLOCK_SPAWN":2004,"PARTICLES_DRAGON_FIREBALL_SPLASH":2006,"PARTICLES_INSTANT_POTION_SPLASH":2007,"PARTICLES_DRAGON_BLOCK_BREAK":2008,"PARTICLES_WATER_EVAPORATING":2009,"PARTICLES_SHOOT_WHITE_SMOKE":2010,"PARTICLES_BEE_GROWTH":2011,"PARTICLES_TURTLE_EGG_PLACEMENT":2012,"PARTICLES_SMASH_ATTACK":2013,"ANIMATION_END_GATEWAY_SPAWN":3000,"ANIMATION_DRAGON_SUMMON_ROAR":3001,"PARTICLES_ELECTRIC_SPARK":3002,"PARTICLES_AND_SOUND_WAX_ON":3003,"PARTICLES_WAX_OFF":3004,"PARTICLES_SCRAPE":3005,"PARTICLES_SCULK_CHARGE":3006,"PARTICLES_SCULK_SHRIEK":3007,"PARTICLES_AND_SOUND_BRUSH_BLOCK_COMPLETE":3008,"PARTICLES_EGG_CRACK":3009,"PARTICLES_TRIAL_SPAWNER_SPAWN":3011,"PARTICLES_TRIAL_SPAWNER_SPAWN_MOB_AT":3012,"PARTICLES_TRIAL_SPAWNER_DETECT_PLAYER":3013,"ANIMATION_TRIAL_SPAWNER_EJECT_ITEM":3014,"ANIMATION_VAULT_ACTIVATE":3015,"ANIMATION_VAULT_DEACTIVATE":3016,"ANIMATION_VAULT_EJECT_ITEM":3017,"ANIMATION_SPAWN_COBWEB":3018,"PARTICLES_TRIAL_SPAWNER_DETECT_PLAYER_OMINOUS":3019,"PARTICLES_TRIAL_SPAWNER_BECOME_OMINOUS":3020,"PARTICLES_TRIAL_SPAWNER_SPAWN_ITEM":3021}
{"SOUND_DISPENSER_DISPENSE":1000,"SOUND_DISPENSER_FAIL":1001,"SOUND_DISPENSER_PROJECTILE_LAUNCH":1002,"SOUND_FIREWORK_SHOOT":1004,"SOUND_EXTINGUISH_FIRE":1009,"SOUND_PLAY_JUKEBOX_SONG":1010,"SOUND_STOP_JUKEBOX_SONG":1011,"SOUND_GHAST_WARNING":1015,"SOUND_GHAST_FIREBALL":1016,"SOUND_DRAGON_FIREBALL":1017,"SOUND_BLAZE_FIREBALL":1018,"SOUND_ZOMBIE_WOODEN_DOOR":1019,"SOUND_ZOMBIE_IRON_DOOR":1020,"SOUND_ZOMBIE_DOOR_CRASH":1021,"SOUND_WITHER_BLOCK_BREAK":1022,"SOUND_WITHER_BOSS_SPAWN":1023,"SOUND_WITHER_BOSS_SHOOT":1024,"SOUND_BAT_LIFTOFF":1025,"SOUND_ZOMBIE_INFECTED":1026,"SOUND_ZOMBIE_CONVERTED":1027,"SOUND_DRAGON_DEATH":1028,"SOUND_ANVIL_BROKEN":1029,"SOUND_ANVIL_USED":1030,"SOUND_ANVIL_LAND":1031,"SOUND_PORTAL_TRAVEL":1032,"SOUND_CHORUS_GROW":1033,"SOUND_CHORUS_DEATH":1034,"SOUND_BREWING_STAND_BREW":1035,"SOUND_END_PORTAL_SPAWN":1038,"SOUND_PHANTOM_BITE":1039,"SOUND_ZOMBIE_TO_DROWNED":1040,"SOUND_HUSK_TO_ZOMBIE":1041,"SOUND_GRINDSTONE_USED":1042,"SOUND_PAGE_TURN":1043,"SOUND_SMITHING_TABLE_USED":1044,"SOUND_POINTED_DRIPSTONE_LAND":1045,"SOUND_DRIP_LAVA_INTO_CAULDRON":1046,"SOUND_DRIP_WATER_INTO_CAULDRON":1047,"SOUND_SKELETON_TO_STRAY":1048,"SOUND_CRAFTER_CRAFT":1049,"SOUND_CRAFTER_FAIL":1050,"SOUND_WIND_CHARGE_SHOOT":1051,"SOUND_SULFUR_SPIKE_LAND":1052,"COMPOSTER_FILL":1500,"LAVA_FIZZ":1501,"REDSTONE_TORCH_BURNOUT":1502,"END_PORTAL_FRAME_FILL":1503,"DRIPSTONE_DRIP":1504,"PARTICLES_AND_SOUND_PLANT_GROWTH":1505,"PARTICLES_SHOOT_SMOKE":2000,"PARTICLES_DESTROY_BLOCK":2001,"PARTICLES_SPELL_POTION_SPLASH":2002,"PARTICLES_EYE_OF_ENDER_DEATH":2003,"PARTICLES_MOBBLOCK_SPAWN":2004,"PARTICLES_DRAGON_FIREBALL_SPLASH":2006,"PARTICLES_INSTANT_POTION_SPLASH":2007,"PARTICLES_DRAGON_BLOCK_BREAK":2008,"PARTICLES_WATER_EVAPORATING":2009,"PARTICLES_SHOOT_WHITE_SMOKE":2010,"PARTICLES_BEE_GROWTH":2011,"PARTICLES_TURTLE_EGG_PLACEMENT":2012,"PARTICLES_SMASH_ATTACK":2013,"ANIMATION_END_GATEWAY_SPAWN":3000,"ANIMATION_DRAGON_SUMMON_ROAR":3001,"PARTICLES_ELECTRIC_SPARK":3002,"PARTICLES_AND_SOUND_WAX_ON":3003,"PARTICLES_WAX_OFF":3004,"PARTICLES_SCRAPE":3005,"PARTICLES_SCULK_CHARGE":3006,"PARTICLES_SCULK_SHRIEK":3007,"PARTICLES_AND_SOUND_BRUSH_BLOCK_COMPLETE":3008,"PARTICLES_EGG_CRACK":3009,"PARTICLES_TRIAL_SPAWNER_SPAWN":3011,"PARTICLES_TRIAL_SPAWNER_SPAWN_MOB_AT":3012,"PARTICLES_TRIAL_SPAWNER_DETECT_PLAYER":3013,"ANIMATION_TRIAL_SPAWNER_EJECT_ITEM":3014,"ANIMATION_VAULT_ACTIVATE":3015,"ANIMATION_VAULT_DEACTIVATE":3016,"ANIMATION_VAULT_EJECT_ITEM":3017,"ANIMATION_SPAWN_COBWEB":3018,"PARTICLES_TRIAL_SPAWNER_DETECT_PLAYER_OMINOUS":3019,"PARTICLES_TRIAL_SPAWNER_BECOME_OMINOUS":3020,"PARTICLES_TRIAL_SPAWNER_SPAWN_ITEM":3021}

View File

@ -76,9 +76,9 @@ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
[[package]]
name = "bytes"
version = "1.11.1"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593"
[[package]]
name = "cc"
@ -201,9 +201,9 @@ dependencies = [
[[package]]
name = "crypto-bigint"
version = "0.7.3"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3"
checksum = "97bb4a855e3b10f84c4e7e895a7de01db7f9a7b7eb7f73ed9773fd52ac686451"
dependencies = [
"cpubits",
"ctutils",
@ -238,7 +238,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21f41f23de7d24cdbda7f0c4d9c0351f99a4ceb258ef30e5c1927af8987ffe5a"
dependencies = [
"crypto-bigint 0.7.3",
"crypto-bigint 0.7.4",
"libm",
"rand_core 0.10.1",
]
@ -802,7 +802,7 @@ dependencies = [
"base64",
"bytes",
"colored",
"crypto-bigint 0.7.3",
"crypto-bigint 0.7.4",
"ecdsa",
"enum_dispatch",
"md5",
@ -905,7 +905,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30b2aa4ba0d89f73d1e332df05be0eeab8840351c36ca5654341dfdb57bb3caf"
dependencies = [
"const-oid 0.10.2",
"crypto-bigint 0.7.3",
"crypto-bigint 0.7.4",
"crypto-primes",
"digest 0.11.2",
"pkcs1",

View File

@ -33,8 +33,16 @@ pub fn build() -> TokenStream {
.map(|item| (item.name, item.id))
.collect();
let nbt_bytes = fs::read("../assets/bedrock/creative_items.nbt")
.expect("Failed to read bedrock/creative_items.nbt");
let nbt_path = "../assets/bedrock/creative_items.nbt";
if !std::path::Path::new(nbt_path).exists() {
let generated_path = "../pumpkin-data/src/generated/bedrock_creative.rs";
if let Ok(content) = fs::read_to_string(generated_path) {
return content.parse().unwrap_or_else(|_| TokenStream::new());
}
return TokenStream::new();
}
let nbt_bytes = fs::read(nbt_path).expect("Failed to read bedrock/creative_items.nbt");
let mut cursor = Cursor::new(nbt_bytes);
#[derive(serde::Deserialize)]

View File

@ -83,6 +83,41 @@ pub enum MaterialRuleStruct {
Badlands,
}
fn deserialize_string_or_vec<'de, D>(deserializer: D) -> Result<Vec<String>, D::Error>
where
D: serde::Deserializer<'de>,
{
struct StringOrVec;
impl<'de> serde::de::Visitor<'de> for StringOrVec {
type Value = Vec<String>;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("string or list of strings")
}
fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
where
E: serde::de::Error,
{
Ok(vec![value.to_owned()])
}
fn visit_seq<S>(self, mut seq: S) -> Result<Self::Value, S::Error>
where
S: serde::de::SeqAccess<'de>,
{
let mut vec = Vec::new();
while let Some(el) = seq.next_element()? {
vec.push(el);
}
Ok(vec)
}
}
deserializer.deserialize_any(StringOrVec)
}
/// Deserialized surface material condition that gates a material rule.
#[derive(Deserialize)]
#[serde(tag = "type")]
@ -91,6 +126,7 @@ pub enum MaterialConditionStruct {
#[serde(rename = "minecraft:biome")]
Biome {
/// List of biome resource locations to match against.
#[serde(deserialize_with = "deserialize_string_or_vec")]
biome_is: Vec<String>,
},
/// True when a named noise value is within the given range.

View File

@ -437,7 +437,7 @@ pub fn value_to_configured_feature(v: &Value) -> TokenStream {
let tree = value_to_tree_feature(config);
quote! { ConfiguredFeature::Tree(Box::new(#tree)) }
}
"minecraft:pointed_dripstone" => {
"minecraft:pointed_dripstone" | "minecraft:speleothem" => {
let taller = config["chance_of_taller_dripstone"].as_f64().unwrap_or(0.2) as f32;
let dir_spread = config["chance_of_directional_spread"]
.as_f64()
@ -781,9 +781,12 @@ pub fn value_to_configured_feature(v: &Value) -> TokenStream {
"minecraft:bonus_chest" => {
quote! { ConfiguredFeature::BonusChest(crate::generation::feature::features::bonus_chest::BonusChestFeature {}) }
}
"minecraft:dripstone_cluster" => {
"minecraft:dripstone_cluster" | "minecraft:speleothem_cluster" => {
quote! { ConfiguredFeature::DripstoneCluster(crate::generation::feature::features::drip_stone::cluster::DripstoneClusterFeature {}) }
}
"minecraft:sequence" | "minecraft:weighted_random_selector" => {
quote! { ConfiguredFeature::NoOp }
}
"minecraft:large_dripstone" => {
quote! { ConfiguredFeature::LargeDripstone(crate::generation::feature::features::drip_stone::large::LargeDripstoneFeature {}) }
}

View File

@ -944,6 +944,7 @@ pub fn build() -> TokenStream {
"magma_block" => "magma".into(),
"map" => "empty_map".into(),
"melon" => "melon_block".into(),
"music_disc_bounce" => "music_disc_13".into(),
"nether_brick" => "netherbrick".into(),
"nether_bricks" => "nether_brick".into(),
"nether_quartz_ore" => "quartz_ore".into(),
@ -972,6 +973,7 @@ pub fn build() -> TokenStream {
"tipped_arrow" | "spectral_arrow" => "arrow".into(),
"waxed_copper_block" => "waxed_copper".into(),
"zombified_piglin_spawn_egg" => "zombie_pigman_spawn_egg".into(),
n if n.contains("sulfur") => "unknown".into(),
n => {
if n.ends_with("banner") {
"banner".into()
@ -1224,14 +1226,20 @@ pub fn build() -> TokenStream {
for (java_name, mapping) in &be_item_remaps {
let java_const_ident = format_ident!("{}", java_name.to_shouty_snake_case());
let bedrock_id = *bedrock_id_by_key.get(&mapping.identifier).unwrap_or_else(|| {
panic!("Missing bedrock item for identifier: {}", mapping.identifier)
});
let bedrock_id = *bedrock_id_by_key
.get(&mapping.identifier)
.unwrap_or_else(|| {
panic!(
"Missing bedrock item for identifier: {}",
mapping.identifier
)
});
let bedrock_data = mapping.data;
if seen_bedrock_pairs.insert((bedrock_id, bedrock_data)) {
let id_lit = syn::LitInt::new(&bedrock_id.to_string(), proc_macro2::Span::call_site());
let data_lit = syn::LitInt::new(&bedrock_data.to_string(), proc_macro2::Span::call_site());
let data_lit =
syn::LitInt::new(&bedrock_data.to_string(), proc_macro2::Span::call_site());
bedrock_to_java_arms.extend(quote! {
(#id_lit, #data_lit) => Some(&Self::#java_const_ident),
});

View File

@ -53,6 +53,7 @@ pub struct LootPoolStruct {
/// Number of times the pool is rolled.
rolls: LootNumberProviderTypes,
/// Extra rolls granted by luck-related enchantments.
#[serde(default = "default_bonus_rolls")]
bonus_rolls: LootNumberProviderTypes,
/// Conditions that must all pass for this pool to be rolled, if any.
conditions: Option<Vec<LootConditionStruct>>,
@ -60,6 +61,10 @@ pub struct LootPoolStruct {
functions: Option<Vec<LootFunctionStruct>>,
}
fn default_bonus_rolls() -> LootNumberProviderTypes {
LootNumberProviderTypes::Constant(0.0)
}
impl ToTokens for LootPoolStruct {
/// Emits a `LootPool { … }` struct literal token stream for code generation.
fn to_tokens(&self, tokens: &mut TokenStream) {

View File

@ -20,6 +20,7 @@ pub fn build() -> TokenStream {
"1_21_11_meta_data_type.json",
),
(JavaMinecraftVersion::V_26_1, "26_1_meta_data_type.json"),
(JavaMinecraftVersion::V_26_2, "26_2_meta_data_type.json"),
];
let mut handlers_map: BTreeMap<String, BTreeMap<JavaMinecraftVersion, i32>> = BTreeMap::new();

View File

@ -312,35 +312,6 @@ impl UnaryOperation {
}
}
/// Rarity-value mapper used by the `WeirdScaled` density function.
#[derive(Deserialize, Hash, Copy, Clone)]
enum WeirdScaledMapper {
/// Cave-type scaling curve (TYPE2).
#[serde(rename(deserialize = "TYPE2"))]
Caves,
/// Tunnel-type scaling curve (TYPE1).
#[serde(rename(deserialize = "TYPE1"))]
Tunnels,
}
impl WeirdScaledMapper {
/// Emits the token stream for this mapper variant.
fn into_token_stream(self) -> TokenStream {
match self {
Self::Caves => {
quote! {
WeirdScaledMapper::Caves
}
}
Self::Tunnels => {
quote! {
WeirdScaledMapper::Tunnels
}
}
}
}
}
/// Caching or interpolation wrapper applied around an inner density function.
#[derive(Copy, Clone, Deserialize, PartialEq, Eq, Hash)]
enum WrapperType {
@ -418,17 +389,6 @@ struct ShiftedNoiseData {
noise_id: String,
}
/// Deserialized parameters for a weird-scaled-sampler density function.
#[derive(Deserialize, Hash, Clone)]
struct WeirdScaledData {
/// Resource location ID of the noise generator.
#[serde(rename(deserialize = "noise"))]
noise_id: String,
/// The rarity-value mapper that scales the noise output.
#[serde(rename(deserialize = "rarityValueMapper"))]
mapper: WeirdScaledMapper,
}
/// Deserialized parameters for the interpolated noise sampler density function.
#[derive(Deserialize, Hash)]
struct InterpolatedNoiseSamplerData {
@ -630,13 +590,11 @@ enum DensityFunctionRepr {
data: InterpolatedNoiseSamplerData,
},
/// Scales an input density function by a cave/tunnel rarity curve.
#[serde(rename(deserialize = "WeirdScaledSampler"))]
WeirdScaled {
/// The density function to scale.
#[serde(rename(deserialize = "IntervalSelect"))]
IntervalSelect {
input: Box<Self>,
/// Noise ID and mapper type for scaling.
#[serde(flatten)]
data: WeirdScaledData,
thresholds: Box<[HashableF64]>,
functions: Box<[Self]>,
},
/// Wraps an inner function with a caching or interpolation layer.
// The wrapped function is wrapped in a new wrapper at runtime
@ -1008,19 +966,23 @@ impl DensityFunctionRepr {
}
}
}
Self::WeirdScaled { input, data } => {
Self::IntervalSelect {
input,
thresholds,
functions,
} => {
let input_index = input.get_index_for_component(stack, hash_to_index_map);
let noise_id = quote::format_ident!("{}", data.noise_id.to_shouty_snake_case());
let action = data.mapper.into_token_stream();
let functions_indices = functions
.iter()
.map(|f| f.get_index_for_component(stack, hash_to_index_map))
.collect::<Vec<_>>();
let thresholds = thresholds.iter().map(|t| t.0).collect::<Vec<_>>();
quote! {
BaseNoiseFunctionComponent::WeirdScaled {
BaseNoiseFunctionComponent::IntervalSelect {
input_index: #input_index,
data: &WeirdScaledData {
noise_id: DoublePerlinNoiseParameters::#noise_id,
mapper: #action,
},
thresholds: &[#(#thresholds),*],
functions_indices: &[#(#functions_indices),*],
}
}
}
@ -1270,59 +1232,6 @@ pub fn build() -> TokenStream {
pub noise_id: DoublePerlinNoiseParameters,
}
#[derive(Copy, Clone)]
pub enum WeirdScaledMapper {
Caves,
Tunnels,
}
impl WeirdScaledMapper {
#[inline]
#[must_use]
pub const fn max_multiplier(&self) -> f64 {
match self {
Self::Tunnels => 2.0,
Self::Caves => 3.0,
}
}
#[inline]
#[must_use]
#[allow(clippy::too_many_lines)]
pub const fn scale(&self, value: f64) -> f64 {
match self {
Self::Tunnels => {
if value < -0.5 {
0.75
} else if value < 0.0 {
1.0
} else if value < 0.5 {
1.5
} else {
2.0
}
}
Self::Caves => {
if value < -0.75 {
0.5
} else if value < -0.5 {
0.75
} else if value < 0.5 {
1.0
} else if value < 0.75 {
2.0
} else {
3.0
}
}
}
}
}
pub struct WeirdScaledData {
pub noise_id: DoublePerlinNoiseParameters,
pub mapper: WeirdScaledMapper,
}
pub struct InterpolatedNoiseSamplerData {
pub scaled_xz_scale: f64,
@ -1496,9 +1405,10 @@ pub fn build() -> TokenStream {
InterpolatedNoiseSampler {
data: &'static InterpolatedNoiseSamplerData,
},
WeirdScaled {
IntervalSelect {
input_index: usize,
data: &'static WeirdScaledData,
thresholds: &'static [f64],
functions_indices: &'static [usize],
},
// The wrapped function is wrapped in a new wrapper at runtime
Wrapper {

View File

@ -6,7 +6,7 @@ use std::{collections::BTreeMap, fs};
use crate::version::JavaMinecraftVersion;
/// The newest protocol version used as the fallback for unknown versions in `PacketId::to_id`.
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_1;
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_2;
/// Raw deserialization shape for a single versioned packet mapping file.
#[derive(Deserialize)]
@ -34,6 +34,7 @@ pub(crate) fn build() -> TokenStream {
(JavaMinecraftVersion::V_1_21_9, "1_21_9_packets.json"),
(JavaMinecraftVersion::V_1_21_11, "1_21_11_packets.json"),
(JavaMinecraftVersion::V_26_1, "26_1_packets.json"),
(JavaMinecraftVersion::V_26_2, "26_2_packets.json"),
];
// Parse available packet files into a BTreeMap keyed by JavaMinecraftVersion

View File

@ -555,6 +555,9 @@ pub fn value_to_y_offset(v: &Value) -> TokenStream {
/// An `IntProvider` variant token stream; defaults to `IntProvider::Constant(0)` when unrecognized.
pub fn value_to_int_provider(v: &Value) -> TokenStream {
match v {
Value::Null => {
quote! { IntProvider::Constant(0) }
}
Value::Number(n) => {
let val = n.as_i64().unwrap_or(0) as i32;
quote! { IntProvider::Constant(#val) }
@ -611,11 +614,17 @@ pub fn value_to_int_provider(v: &Value) -> TokenStream {
quote! { IntProvider::Object(NormalIntProvider::WeightedList(WeightedListIntProvider { distribution: vec![#(#entries),*] })) }
}
_ => {
panic!("Unknown Int Provider, Seems like Mojang added a new one")
panic!(
"Unknown Int Provider, Seems like Mojang added a new one: {:?}",
v
)
}
}
}
_ => panic!("Unknown Int Provider, Seems like Mojang added a new one"),
_ => panic!(
"Unknown Int Provider, Seems like Mojang added a new one: {:?}",
v
),
}
}

View File

@ -88,7 +88,7 @@ pub struct CookingRecipeStruct {
/// The single ingredient required by this recipe.
ingredient: RecipeIngredientTypes,
/// Number of ticks required to cook this recipe.
cookingtime: i32,
cookingtime: Option<i32>,
/// Experience points awarded when the result is extracted.
experience: f32,
/// The item produced by this recipe.
@ -129,7 +129,12 @@ impl CookingRecipeStruct {
/// # Arguments
/// – `tokens` – the token stream to extend.
/// – `recipe_id` – the pre-generated vanilla-format recipe ID string.
fn to_tokens_with_id(&self, tokens: &mut TokenStream, recipe_id: &str) {
fn to_tokens_with_id(
&self,
tokens: &mut TokenStream,
recipe_id: &str,
default_cookingtime: i32,
) {
let category = match &self.category {
Some(category) => category.to_token_stream(),
None => RecipeCategoryTypes::Misc.to_token_stream(),
@ -140,7 +145,10 @@ impl CookingRecipeStruct {
quote! { None }
};
let ingredient = self.ingredient.to_token_stream();
let cookingtime = self.cookingtime.to_token_stream();
let cookingtime = self
.cookingtime
.unwrap_or(default_cookingtime)
.to_token_stream();
let experience = self.experience.to_token_stream();
let result = self.result.to_token_stream();
@ -168,7 +176,7 @@ impl ToTokens for CookingRecipeStruct {
quote! { None }
};
let ingredient = self.ingredient.to_token_stream();
let cookingtime = self.cookingtime.to_token_stream();
let cookingtime = self.cookingtime.unwrap_or(200).to_token_stream();
let experience = self.experience.to_token_stream();
let result = self.result.to_token_stream();
@ -457,7 +465,7 @@ impl ToTokens for RecipeCategoryTypes {
/// Reads `recipes.json` and emits the complete recipe constants and helpers `TokenStream`.
pub fn build() -> TokenStream {
let recipes_assets: Vec<RecipeTypes> =
let recipes_assets: BTreeMap<String, RecipeTypes> =
serde_json::from_str(&fs::read_to_string("../assets/recipes.json").unwrap())
.expect("Failed to parse recipes.json");
@ -465,12 +473,11 @@ pub fn build() -> TokenStream {
let mut cooking_recipes = Vec::new();
let mut stonecutting_recipes = Vec::new();
for recipe in recipes_assets {
for (recipe_id, recipe) in recipes_assets {
match recipe {
RecipeTypes::Blasting(recipe) => {
let recipe_id = recipe.generate_recipe_id("blasting");
let mut common_cooking_token = TokenStream::new();
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id);
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id, 100);
let blasting_token = quote! {
CookingRecipeType::Blasting (CookingRecipe {
#common_cooking_token
@ -479,9 +486,8 @@ pub fn build() -> TokenStream {
cooking_recipes.push(blasting_token);
}
RecipeTypes::CampfireCooking(recipe) => {
let recipe_id = recipe.generate_recipe_id("campfire_cooking");
let mut common_cooking_token = TokenStream::new();
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id);
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id, 100);
let campfire_token = quote! {
CookingRecipeType::CampfireCooking (CookingRecipe {
#common_cooking_token
@ -502,9 +508,8 @@ pub fn build() -> TokenStream {
crafting_recipes.push(recipe.to_token_stream());
}
RecipeTypes::Smelting(recipe) => {
let recipe_id = recipe.generate_recipe_id("smelting");
let mut common_cooking_token = TokenStream::new();
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id);
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id, 200);
let smelting_token = quote! {
CookingRecipeType::Smelting(CookingRecipe {
#common_cooking_token
@ -515,9 +520,8 @@ pub fn build() -> TokenStream {
RecipeTypes::SmithingTransform => {}
RecipeTypes::SmithingTrim => {}
RecipeTypes::Smoking(recipe) => {
let recipe_id = recipe.generate_recipe_id("smoking");
let mut common_cooking_token = TokenStream::new();
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id);
recipe.to_tokens_with_id(&mut common_cooking_token, &recipe_id, 100);
let smoking_token = quote! {
CookingRecipeType::Smoking(CookingRecipe{
#common_cooking_token

View File

@ -7,7 +7,7 @@ use std::fs;
use crate::version::JavaMinecraftVersion;
/// The newest protocol version whose registry data is used as the fallback for unknown versions.
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_1;
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_2;
/// Generates the `TokenStream` for the `Registry` and `StaticRegistry` structs, version-keyed
/// static registry data, and the `Registry::get_synced` method.
@ -47,6 +47,7 @@ pub(crate) fn build() -> TokenStream {
"1_21_11_synced_registries.json",
),
(JavaMinecraftVersion::V_26_1, "26_1_synced_registries.json"),
(JavaMinecraftVersion::V_26_2, "26_2_synced_registries.json"),
];
let process_version = |path: &str| -> TokenStream {

View File

@ -52,8 +52,13 @@ pub fn build() -> TokenStream {
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
version: JavaMinecraftVersion::V_26_2,
remapper: |first, second| match (first, second) {
(Some(first), Some(second)) => Some(
first
@ -75,7 +80,7 @@ pub fn build() -> TokenStream {
},
};
let all_mappings = remapper.process(&node_1_21_11);
let all_mappings = remapper.process(&node_26_1);
let mut static_values = TokenStream::new();
let mut match_arms = TokenStream::new();

View File

@ -52,8 +52,13 @@ pub fn build() -> TokenStream {
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
version: JavaMinecraftVersion::V_26_2,
remapper: |first, second| match (first, second) {
(Some(first), Some(second)) => Some(
first
@ -71,7 +76,7 @@ pub fn build() -> TokenStream {
},
};
let all_mappings = remapper.process(&node_1_21_11);
let all_mappings = remapper.process(&node_26_1);
let mut static_values = TokenStream::new();
let mut match_arms = TokenStream::new();

View File

@ -54,9 +54,14 @@ pub fn build() -> TokenStream {
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
version: JavaMinecraftVersion::V_26_1,
version: JavaMinecraftVersion::V_26_2,
remapper: |first, second| match (first, second) {
(Some(first), Some(second)) => Some(
first
@ -77,7 +82,7 @@ pub fn build() -> TokenStream {
},
};
let all_mappings = remapper.process(&node_1_21_11);
let all_mappings = remapper.process(&node_26_1);
let mapping_size = all_mappings
.iter()
.flat_map(|(_, mapping)| {

View File

@ -52,8 +52,13 @@ pub fn build() -> TokenStream {
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {
version: JavaMinecraftVersion::V_26_2,
remapper: |first, second| match (first, second) {
(Some(first), Some(second)) => Some(
first
@ -74,7 +79,7 @@ pub fn build() -> TokenStream {
},
};
let all_mappings = remapper.process(&node_1_21_11);
let all_mappings = remapper.process(&node_26_1);
let mut static_values = TokenStream::new();
let mut match_arms = TokenStream::new();
for (ver, mapping) in &all_mappings {

View File

@ -1,8 +1,8 @@
use heck::ToPascalCase;
use indexmap::IndexMap;
use proc_macro2::TokenStream;
use quote::{format_ident, quote};
use serde::Deserialize;
use indexmap::IndexMap;
use heck::ToPascalCase;
#[derive(Deserialize)]
struct CustomStatisticEntry {
@ -37,14 +37,13 @@ pub fn build() -> TokenStream {
category_variants.push(quote! { #category_ident = #category_id });
category_from_id_arms.push(quote! { #category_id => Some(Self::#category_ident) });
let category_name_stripped = category_name.replace("minecraft:", "");
category_from_name_arms.push(quote! { #category_name_stripped => Some(Self::#category_ident) });
category_from_name_arms
.push(quote! { #category_name_stripped => Some(Self::#category_ident) });
if category_name == "minecraft:custom" {
for (stat_name, entry) in &data.entries {
let stat_ident = format_ident!(
"{}",
stat_name.replace("minecraft:", "").to_pascal_case()
);
let stat_ident =
format_ident!("{}", stat_name.replace("minecraft:", "").to_pascal_case());
let stat_id = entry.id;
custom_stat_variants.push(quote! { #stat_ident = #stat_id });
custom_stat_from_id_arms.push(quote! { #stat_id => Some(Self::#stat_ident) });

View File

@ -675,4 +675,4 @@ pub fn build() -> TokenStream {
}
}
)
}
}

View File

@ -68,7 +68,7 @@ impl ToTokens for EnumCreator {
}
/// The newest protocol version whose tag data is served as the latest-version fallback.
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_1;
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_2;
/// Generates the `TokenStream` for the `Tag` type, `RegistryKey` enum, all per-version tag
/// modules, and the `Taggable` trait with its lookup helpers.
@ -88,6 +88,7 @@ pub(crate) fn build() -> TokenStream {
(JavaMinecraftVersion::V_1_21_9, "1_21_9_tags.json"),
(JavaMinecraftVersion::V_1_21_11, "1_21_11_tags.json"),
(JavaMinecraftVersion::V_26_1, "26_1_tags.json"),
(JavaMinecraftVersion::V_26_2, "26_2_tags.json"),
];
// --- Load Global Assets ---

View File

@ -5,7 +5,7 @@ use std::{collections::BTreeMap, fs};
use crate::version::JavaMinecraftVersion;
/// The newest protocol version used as the fallback for unknown versions in `TrackedId::get`.
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_1;
const LATEST_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_26_2;
/// Generates the `TokenStream` for `TrackedId`, `TrackedData`, and all per-entity tracking constants.
pub(crate) fn build() -> TokenStream {
@ -19,6 +19,7 @@ pub(crate) fn build() -> TokenStream {
(JavaMinecraftVersion::V_1_21_9, "1_21_9_tracked_data.json"),
(JavaMinecraftVersion::V_1_21_11, "1_21_11_tracked_data.json"),
(JavaMinecraftVersion::V_26_1, "26_1_tracked_data.json"),
(JavaMinecraftVersion::V_26_2, "26_2_tracked_data.json"),
];
let mut versions = BTreeMap::new();

View File

@ -74,6 +74,7 @@ pub enum JavaMinecraftVersion {
V_1_21_9,
V_1_21_11,
V_26_1,
V_26_2,
}
impl JavaMinecraftVersion {
@ -133,6 +134,7 @@ impl JavaMinecraftVersion {
Self::V_1_21_9 => format_ident!("v1_21_9"),
Self::V_1_21_11 => format_ident!("v1_21_11"),
Self::V_26_1 => format_ident!("v26_1"),
Self::V_26_2 => format_ident!("v26_2"),
}
}
}
@ -191,6 +193,7 @@ impl ToTokens for JavaMinecraftVersion {
Self::V_1_21_9 => quote! { pumpkin_util::version::JavaMinecraftVersion::V_1_21_9 },
Self::V_1_21_11 => quote! { pumpkin_util::version::JavaMinecraftVersion::V_1_21_11 },
Self::V_26_1 => quote! { pumpkin_util::version::JavaMinecraftVersion::V_26_1 },
Self::V_26_2 => quote! { pumpkin_util::version::JavaMinecraftVersion::V_26_2 },
});
}
}

View File

@ -69,7 +69,9 @@ pub fn build_java_mapping() -> String {
);
output.push_str("#[must_use]\n");
output.push_str("pub fn clientbound_java_any_to_wit(any: &dyn Any) -> Option<ClientboundPacket> {\n");
output.push_str(
"pub fn clientbound_java_any_to_wit(any: &dyn Any) -> Option<ClientboundPacket> {\n",
);
process_packets(
"../pumpkin-protocol/src/java/client/play",
&mut output,
@ -141,7 +143,9 @@ pub fn build_bedrock_mapping() -> String {
);
output.push_str("#[must_use]\n");
output.push_str("pub fn clientbound_bedrock_any_to_wit(any: &dyn Any) -> Option<BClientboundPacket> {\n");
output.push_str(
"pub fn clientbound_bedrock_any_to_wit(any: &dyn Any) -> Option<BClientboundPacket> {\n",
);
process_packets(
"../pumpkin-protocol/src/bedrock/client",
&mut output,
@ -199,7 +203,14 @@ fn process_packets(
if path.extension().is_some_and(|ext| ext == "rs")
&& path.file_name().is_some_and(|name| name != "mod.rs")
{
parse_packet_file(&path, output, attr_name, variant_prefix, rust_path_prefix, mode);
parse_packet_file(
&path,
output,
attr_name,
variant_prefix,
rust_path_prefix,
mode,
);
}
}
}
@ -248,7 +259,8 @@ fn parse_packet_file(
if type_ident == "DynamicRecipe" {
if mode == MappingMode::Serialize {
field_inits.push_str(&format!(" {}: &[],\n", field_name));
field_inits
.push_str(&format!(" {}: &[],\n", field_name));
} else {
possible = false; // Cannot handle DynamicRecipe yet
}
@ -263,49 +275,76 @@ fn parse_packet_file(
"String" | "str" => {
if mode == MappingMode::Serialize {
if is_ref {
field_inits.push_str(&format!(" {}: &data.{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: &data.{},\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(" {}: data.{}.clone(),\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: data.{}.clone(),\n",
field_name, wit_field
));
}
} else if mode == MappingMode::Deserialize {
field_inits.push_str(&format!(" {}: p.{}.into(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: p.{}.into(),\n",
wit_field, field_name
));
} else {
// ToWit
field_inits.push_str(&format!(" {}: self.{}.to_string(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: self.{}.to_string(),\n",
wit_field, field_name
));
}
},
}
"VarUInt" => {
if mode == MappingMode::Serialize {
field_inits.push_str(&format!(" {}: pumpkin_protocol::codec::var_uint::VarUInt(data.{}.try_into().unwrap()),\n", field_name, wit_field));
} else if mode == MappingMode::Deserialize {
field_inits.push_str(&format!(" {}: p.{}.0.try_into().unwrap(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: p.{}.0.try_into().unwrap(),\n",
wit_field, field_name
));
} else {
field_inits.push_str(&format!(" {}: self.{}.0.try_into().unwrap(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: self.{}.0.try_into().unwrap(),\n",
wit_field, field_name
));
}
},
}
"TextComponent" => {
if mode == MappingMode::Serialize {
prep_code.push_str(&format!(" let component_{} = pumpkin_util::text::TextComponent::text(data.{}.clone());\n", wit_field, wit_field));
if is_ref {
field_inits.push_str(&format!(" {}: &component_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: &component_{},\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(" {}: component_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: component_{},\n",
field_name, wit_field
));
}
} else if mode == MappingMode::Deserialize {
field_inits.push_str(&format!(" {}: serde_json::to_string(&p.{}).unwrap_or_default(),\n", wit_field, field_name));
} else {
field_inits.push_str(&format!(" {}: serde_json::to_string(&self.{}).unwrap_or_default(),\n", wit_field, field_name));
}
},
}
"BlockPos" => {
if mode == MappingMode::Serialize {
field_inits.push_str(&format!(" {}: pumpkin_util::math::position::BlockPos::new(data.{}.0, data.{}.1, data.{}.2),\n", field_name, wit_field, wit_field, wit_field));
} else if mode == MappingMode::Deserialize {
field_inits.push_str(&format!(" {}: (p.{}.0.x, p.{}.0.y, p.{}.0.z),\n", wit_field, field_name, field_name, field_name));
field_inits.push_str(&format!(
" {}: (p.{}.0.x, p.{}.0.y, p.{}.0.z),\n",
wit_field, field_name, field_name, field_name
));
} else {
field_inits.push_str(&format!(" {}: (self.{}.0.x, self.{}.0.y, self.{}.0.z),\n", wit_field, field_name, field_name, field_name));
}
},
}
"Vector3" => {
if mode == MappingMode::Serialize {
field_inits.push_str(&format!(" {}: pumpkin_util::math::vector3::Vector3::new(data.{}.0 as _, data.{}.1 as _, data.{}.2 as _),\n", field_name, wit_field, wit_field, wit_field));
@ -314,22 +353,34 @@ fn parse_packet_file(
} else {
field_inits.push_str(&format!(" {}: (self.{}.x as _, self.{}.y as _, self.{}.z as _),\n", wit_field, field_name, field_name, field_name));
}
},
}
"Uuid" => {
if mode == MappingMode::Serialize {
if is_slice {
prep_code.push_str(&format!(" let vec_{} = data.{}.iter().map(|u| uuid::Uuid::from_u64_pair(u.high, u.low)).collect::<Vec<_>>();\n", wit_field, wit_field));
if is_ref {
field_inits.push_str(&format!(" {}: &vec_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: &vec_{},\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(" {}: vec_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: vec_{},\n",
field_name, wit_field
));
}
} else {
prep_code.push_str(&format!(" let uuid_{} = uuid::Uuid::from_u64_pair(data.{}.high, data.{}.low);\n", wit_field, wit_field, wit_field));
if is_ref {
field_inits.push_str(&format!(" {}: &uuid_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: &uuid_{},\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(" {}: uuid_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: uuid_{},\n",
field_name, wit_field
));
}
}
} else if mode == MappingMode::Deserialize {
@ -346,30 +397,49 @@ fn parse_packet_file(
field_inits.push_str(&format!(" {}: crate::plugin::loader::wasm::wasm_host::wit::v0_1::pumpkin::plugin::uuid::Uuid {{ high: self.{}.as_u64_pair().1, low: self.{}.as_u64_pair().0 }},\n", wit_field, field_name, field_name));
}
}
},
"i32" | "u32" | "i64" | "u64" | "bool" | "f32" | "f64" | "u8" | "i8" | "u16" | "i16" | "VarInt" => {
}
"i32" | "u32" | "i64" | "u64" | "bool" | "f32" | "f64" | "u8" | "i8"
| "u16" | "i16" | "VarInt" => {
if mode == MappingMode::Serialize {
if is_slice {
if type_ident == "u8" {
if is_ref {
field_inits.push_str(&format!(" {}: &data.{},\n", field_name, wit_field));
} else {
field_inits.push_str(&format!(" {}: data.{}.clone(),\n", field_name, wit_field));
}
if is_ref {
field_inits.push_str(&format!(
" {}: &data.{},\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(
" {}: data.{}.clone(),\n",
field_name, wit_field
));
}
} else if type_ident == "VarInt" {
prep_code.push_str(&format!(" let vec_{}: Vec<VarInt> = data.{}.iter().map(|v| VarInt(*v)).collect();\n", wit_field, wit_field));
if is_ref {
field_inits.push_str(&format!(" {}: &vec_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: &vec_{},\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(" {}: vec_{},\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: vec_{},\n",
field_name, wit_field
));
}
} else {
field_inits.push_str(&format!(" {}: data.{}.iter().map(|v| *v as _).collect(),\n", field_name, wit_field));
}
} else if type_ident == "VarInt" {
field_inits.push_str(&format!(" {}: VarInt(data.{}),\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: VarInt(data.{}),\n",
field_name, wit_field
));
} else {
field_inits.push_str(&format!(" {}: data.{}.try_into().unwrap(),\n", field_name, wit_field));
field_inits.push_str(&format!(
" {}: data.{}.try_into().unwrap(),\n",
field_name, wit_field
));
}
} else if mode == MappingMode::Deserialize {
if is_slice {
@ -379,9 +449,15 @@ fn parse_packet_file(
field_inits.push_str(&format!(" {}: p.{}.iter().map(|v| *v as _).collect(),\n", wit_field, field_name));
}
} else if type_ident == "VarInt" {
field_inits.push_str(&format!(" {}: p.{}.0.try_into().unwrap(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: p.{}.0.try_into().unwrap(),\n",
wit_field, field_name
));
} else {
field_inits.push_str(&format!(" {}: p.{}.try_into().unwrap(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: p.{}.try_into().unwrap(),\n",
wit_field, field_name
));
}
} else {
// ToWit
@ -392,12 +468,18 @@ fn parse_packet_file(
field_inits.push_str(&format!(" {}: self.{}.iter().map(|v| *v as _).collect(),\n", wit_field, field_name));
}
} else if type_ident == "VarInt" {
field_inits.push_str(&format!(" {}: self.{}.0.try_into().unwrap(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: self.{}.0.try_into().unwrap(),\n",
wit_field, field_name
));
} else {
field_inits.push_str(&format!(" {}: self.{}.try_into().unwrap(),\n", wit_field, field_name));
field_inits.push_str(&format!(
" {}: self.{}.try_into().unwrap(),\n",
wit_field, field_name
));
}
}
},
}
_ => {
possible = false;
break;
@ -432,8 +514,8 @@ fn parse_packet_file(
} else if mode == MappingMode::Deserialize {
if rust_path_prefix.contains("java") {
if rust_path_prefix.contains("client") {
// Skip clientbound deserialization for Java for now
continue;
// Skip clientbound deserialization for Java for now
continue;
}
output.push_str(&format!(
" id if id == {}::{}::to_id(version) => {{\n",
@ -448,14 +530,14 @@ fn parse_packet_file(
));
} else {
if rust_path_prefix.contains("client") {
// Skip clientbound deserialization for Bedrock for now
continue;
// Skip clientbound deserialization for Bedrock for now
continue;
}
output.push_str(&format!(
" id if id == <{}::{} as pumpkin_protocol::Packet>::PACKET_ID as i32 => {{\n",
rust_path_prefix, struct_name
));
output.push_str(&format!(
output.push_str(&format!(
" use pumpkin_protocol::BServerPacket;\n"
));
output.push_str(&format!(
@ -474,11 +556,21 @@ fn parse_packet_file(
} else if mode == MappingMode::ToWit {
output.push_str(&format!(
"impl ToWitClientbound{} for {}::{} {{\n",
if rust_path_prefix.contains("java") { "Java" } else { "Bedrock" }, rust_path_prefix, struct_name_with_lt
if rust_path_prefix.contains("java") {
"Java"
} else {
"Bedrock"
},
rust_path_prefix,
struct_name_with_lt
));
output.push_str(&format!(
" fn to_wit(&self) -> {} {{\n",
if rust_path_prefix.contains("java") { "ClientboundPacket" } else { "BClientboundPacket" }
if rust_path_prefix.contains("java") {
"ClientboundPacket"
} else {
"BClientboundPacket"
}
));
output.push_str(&prep_code);
output.push_str(&format!(
@ -494,9 +586,7 @@ fn parse_packet_file(
" if let Some(p) = any.downcast_ref::<{}::{}>() {{\n",
rust_path_prefix, struct_name
));
output.push_str(&format!(
" return Some(p.to_wit());\n"
));
output.push_str(&format!(" return Some(p.to_wit());\n"));
output.push_str(" }\n");
}
}

View File

@ -18,29 +18,32 @@ pub fn map_type(ty: &Type) -> WitType {
"u16" | "i16" => WitType::S32,
"Option" => {
if let syn::PathArguments::AngleBracketed(args) = &last_segment.arguments
&& let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() {
return WitType::option(map_type(inner_ty));
}
&& let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first()
{
return WitType::option(map_type(inner_ty));
}
WitType::String
}
"Box" => {
if let syn::PathArguments::AngleBracketed(args) = &last_segment.arguments
&& let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() {
return map_type(inner_ty);
}
&& let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first()
{
return map_type(inner_ty);
}
WitType::String
}
"Vec" => {
if let syn::PathArguments::AngleBracketed(args) = &last_segment.arguments
&& let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first() {
// Check if the inner type is u8
if let Type::Path(tp) = inner_ty
&& tp.path.segments.last().unwrap().ident == "u8"
{
return WitType::list(WitType::U8);
}
return WitType::list(map_type(inner_ty));
&& let Some(syn::GenericArgument::Type(inner_ty)) = args.args.first()
{
// Check if the inner type is u8
if let Type::Path(tp) = inner_ty
&& tp.path.segments.last().unwrap().ident == "u8"
{
return WitType::list(WitType::U8);
}
return WitType::list(map_type(inner_ty));
}
WitType::String
}
"Vector3" | "BlockPos" => {

File diff suppressed because one or more lines are too long

View File

@ -17,144 +17,164 @@ impl Hash for Attributes {
}
}
impl Attributes {
pub const ARMOR: Self = Self {
pub const AIR_DRAG_MODIFIER: Self = Self {
id: 0,
default_value: 0f64,
default_value: 1f64,
};
pub const ARMOR_TOUGHNESS: Self = Self {
pub const ARMOR: Self = Self {
id: 1,
default_value: 0f64,
};
pub const ATTACK_DAMAGE: Self = Self {
pub const ARMOR_TOUGHNESS: Self = Self {
id: 2,
default_value: 0f64,
};
pub const ATTACK_DAMAGE: Self = Self {
id: 3,
default_value: 2f64,
};
pub const ATTACK_KNOCKBACK: Self = Self {
id: 3,
id: 4,
default_value: 0f64,
};
pub const ATTACK_SPEED: Self = Self {
id: 4,
id: 5,
default_value: 4f64,
};
pub const BLOCK_BREAK_SPEED: Self = Self {
id: 5,
default_value: 1f64,
};
pub const BLOCK_INTERACTION_RANGE: Self = Self {
pub const BELOW_NAME_DISTANCE: Self = Self {
id: 6,
default_value: 4.5f64,
default_value: 10f64,
};
pub const BURNING_TIME: Self = Self {
pub const BLOCK_BREAK_SPEED: Self = Self {
id: 7,
default_value: 1f64,
};
pub const CAMERA_DISTANCE: Self = Self {
pub const BLOCK_INTERACTION_RANGE: Self = Self {
id: 8,
default_value: 4f64,
default_value: 4.5f64,
};
pub const EXPLOSION_KNOCKBACK_RESISTANCE: Self = Self {
pub const BOUNCINESS: Self = Self {
id: 9,
default_value: 0f64,
};
pub const ENTITY_INTERACTION_RANGE: Self = Self {
pub const BURNING_TIME: Self = Self {
id: 10,
default_value: 1f64,
};
pub const CAMERA_DISTANCE: Self = Self {
id: 11,
default_value: 4f64,
};
pub const EXPLOSION_KNOCKBACK_RESISTANCE: Self = Self {
id: 12,
default_value: 0f64,
};
pub const ENTITY_INTERACTION_RANGE: Self = Self {
id: 13,
default_value: 3f64,
};
pub const FALL_DAMAGE_MULTIPLIER: Self = Self {
id: 11,
id: 14,
default_value: 1f64,
};
pub const FLYING_SPEED: Self = Self {
id: 12,
id: 15,
default_value: 0.4f64,
};
pub const FOLLOW_RANGE: Self = Self {
id: 13,
id: 16,
default_value: 32f64,
};
pub const FRICTION_MODIFIER: Self = Self {
id: 17,
default_value: 1f64,
};
pub const GRAVITY: Self = Self {
id: 14,
id: 18,
default_value: 0.08f64,
};
pub const JUMP_STRENGTH: Self = Self {
id: 15,
id: 19,
default_value: 0.41999998688697815f64,
};
pub const KNOCKBACK_RESISTANCE: Self = Self {
id: 16,
default_value: 0f64,
};
pub const LUCK: Self = Self {
id: 17,
default_value: 0f64,
};
pub const MAX_ABSORPTION: Self = Self {
id: 18,
default_value: 0f64,
};
pub const MAX_HEALTH: Self = Self {
id: 19,
default_value: 20f64,
};
pub const MINING_EFFICIENCY: Self = Self {
id: 20,
default_value: 0f64,
};
pub const MOVEMENT_EFFICIENCY: Self = Self {
pub const LUCK: Self = Self {
id: 21,
default_value: 0f64,
};
pub const MOVEMENT_SPEED: Self = Self {
pub const MAX_ABSORPTION: Self = Self {
id: 22,
default_value: 0f64,
};
pub const MAX_HEALTH: Self = Self {
id: 23,
default_value: 20f64,
};
pub const MINING_EFFICIENCY: Self = Self {
id: 24,
default_value: 0f64,
};
pub const MOVEMENT_EFFICIENCY: Self = Self {
id: 25,
default_value: 0f64,
};
pub const MOVEMENT_SPEED: Self = Self {
id: 26,
default_value: 0.7f64,
};
pub const NAME_TAG_DISTANCE: Self = Self {
id: 27,
default_value: 64f64,
};
pub const OXYGEN_BONUS: Self = Self {
id: 23,
id: 28,
default_value: 0f64,
};
pub const SAFE_FALL_DISTANCE: Self = Self {
id: 24,
id: 29,
default_value: 3f64,
};
pub const SCALE: Self = Self {
id: 25,
id: 30,
default_value: 1f64,
};
pub const SNEAKING_SPEED: Self = Self {
id: 26,
id: 31,
default_value: 0.3f64,
};
pub const SPAWN_REINFORCEMENTS: Self = Self {
id: 27,
default_value: 0f64,
};
pub const STEP_HEIGHT: Self = Self {
id: 28,
default_value: 0.6f64,
};
pub const SUBMERGED_MINING_SPEED: Self = Self {
id: 29,
default_value: 0.2f64,
};
pub const SWEEPING_DAMAGE_RATIO: Self = Self {
id: 30,
default_value: 0f64,
};
pub const TEMPT_RANGE: Self = Self {
id: 31,
default_value: 10f64,
};
pub const WATER_MOVEMENT_EFFICIENCY: Self = Self {
id: 32,
default_value: 0f64,
};
pub const WAYPOINT_TRANSMIT_RANGE: Self = Self {
pub const STEP_HEIGHT: Self = Self {
id: 33,
default_value: 0.6f64,
};
pub const SUBMERGED_MINING_SPEED: Self = Self {
id: 34,
default_value: 0.2f64,
};
pub const SWEEPING_DAMAGE_RATIO: Self = Self {
id: 35,
default_value: 0f64,
};
pub const TEMPT_RANGE: Self = Self {
id: 36,
default_value: 10f64,
};
pub const WATER_MOVEMENT_EFFICIENCY: Self = Self {
id: 37,
default_value: 0f64,
};
pub const WAYPOINT_TRANSMIT_RANGE: Self = Self {
id: 38,
default_value: 0f64,
};
pub const WAYPOINT_RECEIVE_RANGE: Self = Self {
id: 34,
id: 39,
default_value: 0f64,
};
}

View File

@ -7088,8 +7088,135 @@ impl Biome {
},
spawn_costs: phf::phf_map! {},
};
pub const SUNFLOWER_PLAINS: Biome = Biome {
pub const SULFUR_CAVES: Biome = Biome {
id: 53,
registry_id: "sulfur_caves",
weather: Weather::new(true, 0.8f32, TemperatureModifier::None, 0.4f32),
features: &[
&[],
&[
crate::placed_feature::PlacedFeature::LakeLavaUnderground,
crate::placed_feature::PlacedFeature::LakeLavaSurface,
crate::placed_feature::PlacedFeature::RootedSulfurSpring,
crate::placed_feature::PlacedFeature::SulfurPool,
],
&[crate::placed_feature::PlacedFeature::AmethystGeode],
&[
crate::placed_feature::PlacedFeature::MonsterRoom,
crate::placed_feature::PlacedFeature::MonsterRoomDeep,
],
&[],
&[],
&[
crate::placed_feature::PlacedFeature::OreDirt,
crate::placed_feature::PlacedFeature::OreGravel,
crate::placed_feature::PlacedFeature::OreGraniteUpper,
crate::placed_feature::PlacedFeature::OreGraniteLower,
crate::placed_feature::PlacedFeature::OreDioriteUpper,
crate::placed_feature::PlacedFeature::OreDioriteLower,
crate::placed_feature::PlacedFeature::OreAndesiteUpper,
crate::placed_feature::PlacedFeature::OreAndesiteLower,
crate::placed_feature::PlacedFeature::OreTuff,
crate::placed_feature::PlacedFeature::OreCoalUpper,
crate::placed_feature::PlacedFeature::OreCoalLower,
crate::placed_feature::PlacedFeature::OreIronUpper,
crate::placed_feature::PlacedFeature::OreIronMiddle,
crate::placed_feature::PlacedFeature::OreIronSmall,
crate::placed_feature::PlacedFeature::OreGold,
crate::placed_feature::PlacedFeature::OreGoldLower,
crate::placed_feature::PlacedFeature::OreRedstone,
crate::placed_feature::PlacedFeature::OreRedstoneLower,
crate::placed_feature::PlacedFeature::OreDiamond,
crate::placed_feature::PlacedFeature::OreDiamondMedium,
crate::placed_feature::PlacedFeature::OreDiamondLarge,
crate::placed_feature::PlacedFeature::OreDiamondBuried,
crate::placed_feature::PlacedFeature::OreLapis,
crate::placed_feature::PlacedFeature::OreLapisBuried,
crate::placed_feature::PlacedFeature::OreCopper,
crate::placed_feature::PlacedFeature::UnderwaterMagma,
crate::placed_feature::PlacedFeature::DiskSand,
crate::placed_feature::PlacedFeature::DiskClay,
crate::placed_feature::PlacedFeature::DiskGravel,
],
&[
crate::placed_feature::PlacedFeature::SulfurSpikeCluster,
crate::placed_feature::PlacedFeature::SulfurSpike,
],
&[
crate::placed_feature::PlacedFeature::SpringWater,
crate::placed_feature::PlacedFeature::SpringLava,
],
&[
crate::placed_feature::PlacedFeature::GlowLichen,
crate::placed_feature::PlacedFeature::PatchTallGrass2,
],
&[crate::placed_feature::PlacedFeature::FreezeTopLayer],
],
creature_spawn_probability: 0.1f32,
spawners: SpawnGroups {
monster: &[
Spawner {
r#type: "minecraft:sulfur_cube",
min_count: 2i32,
max_count: 4i32,
},
Spawner {
r#type: "minecraft:creeper",
min_count: 2i32,
max_count: 2i32,
},
Spawner {
r#type: "minecraft:skeleton",
min_count: 2i32,
max_count: 2i32,
},
Spawner {
r#type: "minecraft:slime",
min_count: 1i32,
max_count: 1i32,
},
Spawner {
r#type: "minecraft:cave_spider",
min_count: 1i32,
max_count: 1i32,
},
Spawner {
r#type: "minecraft:zombie",
min_count: 2i32,
max_count: 2i32,
},
Spawner {
r#type: "minecraft:enderman",
min_count: 1i32,
max_count: 1i32,
},
Spawner {
r#type: "minecraft:witch",
min_count: 1i32,
max_count: 1i32,
},
Spawner {
r#type: "minecraft:zombie_villager",
min_count: 1i32,
max_count: 1i32,
},
],
ambient: &[Spawner {
r#type: "minecraft:bat",
min_count: 8i32,
max_count: 8i32,
}],
axolotls: &[],
creature: &[],
misc: &[],
underground_water_creature: &[],
water_ambient: &[],
water_creature: &[],
},
spawn_costs: phf::phf_map! {},
};
pub const SUNFLOWER_PLAINS: Biome = Biome {
id: 54,
registry_id: "sunflower_plains",
weather: Weather::new(true, 0.8f32, TemperatureModifier::None, 0.4f32),
features: &[
@ -7255,7 +7382,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const SWAMP: Biome = Biome {
id: 54,
id: 55,
registry_id: "swamp",
weather: Weather::new(true, 0.8f32, TemperatureModifier::None, 0.9f32),
features: &[
@ -7425,7 +7552,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const TAIGA: Biome = Biome {
id: 55,
id: 56,
registry_id: "taiga",
weather: Weather::new(true, 0.25f32, TemperatureModifier::None, 0.8f32),
features: &[
@ -7591,7 +7718,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const THE_END: Biome = Biome {
id: 56,
id: 57,
registry_id: "the_end",
weather: Weather::new(false, 0.5f32, TemperatureModifier::None, 0.5f32),
features: &[
@ -7625,7 +7752,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const THE_VOID: Biome = Biome {
id: 57,
id: 58,
registry_id: "the_void",
weather: Weather::new(false, 0.5f32, TemperatureModifier::None, 0.5f32),
features: &[
@ -7655,7 +7782,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const WARM_OCEAN: Biome = Biome {
id: 58,
id: 59,
registry_id: "warm_ocean",
weather: Weather::new(true, 0.5f32, TemperatureModifier::None, 0.5f32),
features: &[
@ -7818,7 +7945,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const WARPED_FOREST: Biome = Biome {
id: 59,
id: 60,
registry_id: "warped_forest",
weather: Weather::new(false, 2f32, TemperatureModifier::None, 0f32),
features: &[
@ -7877,7 +8004,7 @@ impl Biome {
spawn_costs: phf::phf_map! { "enderman" => SpawnCosts { energy_budget : 0.12f64 , charge : 1f64 , } },
};
pub const WINDSWEPT_FOREST: Biome = Biome {
id: 60,
id: 61,
registry_id: "windswept_forest",
weather: Weather::new(true, 0.2f32, TemperatureModifier::None, 0.3f32),
features: &[
@ -8033,7 +8160,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const WINDSWEPT_GRAVELLY_HILLS: Biome = Biome {
id: 61,
id: 62,
registry_id: "windswept_gravelly_hills",
weather: Weather::new(true, 0.2f32, TemperatureModifier::None, 0.3f32),
features: &[
@ -8189,7 +8316,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const WINDSWEPT_HILLS: Biome = Biome {
id: 62,
id: 63,
registry_id: "windswept_hills",
weather: Weather::new(true, 0.2f32, TemperatureModifier::None, 0.3f32),
features: &[
@ -8345,7 +8472,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const WINDSWEPT_SAVANNA: Biome = Biome {
id: 63,
id: 64,
registry_id: "windswept_savanna",
weather: Weather::new(false, 2f32, TemperatureModifier::None, 0f32),
features: &[
@ -8514,7 +8641,7 @@ impl Biome {
spawn_costs: phf::phf_map! {},
};
pub const WOODED_BADLANDS: Biome = Biome {
id: 64,
id: 65,
registry_id: "wooded_badlands",
weather: Weather::new(false, 2f32, TemperatureModifier::None, 0f32),
features: &[
@ -8730,6 +8857,7 @@ impl Biome {
"sparse_jungle" => Some(&Self::SPARSE_JUNGLE),
"stony_peaks" => Some(&Self::STONY_PEAKS),
"stony_shore" => Some(&Self::STONY_SHORE),
"sulfur_caves" => Some(&Self::SULFUR_CAVES),
"sunflower_plains" => Some(&Self::SUNFLOWER_PLAINS),
"swamp" => Some(&Self::SWAMP),
"taiga" => Some(&Self::TAIGA),
@ -8800,18 +8928,19 @@ impl Biome {
50 => Some(&Self::SPARSE_JUNGLE),
51 => Some(&Self::STONY_PEAKS),
52 => Some(&Self::STONY_SHORE),
53 => Some(&Self::SUNFLOWER_PLAINS),
54 => Some(&Self::SWAMP),
55 => Some(&Self::TAIGA),
56 => Some(&Self::THE_END),
57 => Some(&Self::THE_VOID),
58 => Some(&Self::WARM_OCEAN),
59 => Some(&Self::WARPED_FOREST),
60 => Some(&Self::WINDSWEPT_FOREST),
61 => Some(&Self::WINDSWEPT_GRAVELLY_HILLS),
62 => Some(&Self::WINDSWEPT_HILLS),
63 => Some(&Self::WINDSWEPT_SAVANNA),
64 => Some(&Self::WOODED_BADLANDS),
53 => Some(&Self::SULFUR_CAVES),
54 => Some(&Self::SUNFLOWER_PLAINS),
55 => Some(&Self::SWAMP),
56 => Some(&Self::TAIGA),
57 => Some(&Self::THE_END),
58 => Some(&Self::THE_VOID),
59 => Some(&Self::WARM_OCEAN),
60 => Some(&Self::WARPED_FOREST),
61 => Some(&Self::WINDSWEPT_FOREST),
62 => Some(&Self::WINDSWEPT_GRAVELLY_HILLS),
63 => Some(&Self::WINDSWEPT_HILLS),
64 => Some(&Self::WINDSWEPT_SAVANNA),
65 => Some(&Self::WOODED_BADLANDS),
_ => None,
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -3,121 +3,121 @@
#[allow(clippy::too_many_lines, clippy::match_same_arms)]
pub const fn get_composter_increase_chance_from_item_id(item_id: u16) -> Option<f32> {
match item_id {
49 => Some(0.3f32),
50 => Some(0.3f32),
51 => Some(0.3f32),
52 => Some(0.3f32),
53 => Some(0.3f32),
54 => Some(0.3f32),
55 => Some(0.3f32),
56 => Some(0.3f32),
57 => Some(0.3f32),
143 => Some(0.3f32),
182 => Some(0.3f32),
183 => Some(0.3f32),
184 => Some(0.3f32),
185 => Some(0.3f32),
186 => Some(0.3f32),
187 => Some(0.3f32),
188 => Some(0.3f32),
189 => Some(0.3f32),
190 => Some(0.3f32),
191 => Some(0.3f32),
192 => Some(0.5f32),
202 => Some(0.3f32),
203 => Some(0.65f32),
204 => Some(0.3f32),
205 => Some(0.65f32),
206 => Some(0.85f32),
208 => Some(0.3f32),
76 => Some(0.3f32),
77 => Some(0.3f32),
78 => Some(0.3f32),
79 => Some(0.3f32),
80 => Some(0.3f32),
81 => Some(0.3f32),
82 => Some(0.3f32),
83 => Some(0.3f32),
84 => Some(0.3f32),
170 => Some(0.3f32),
209 => Some(0.3f32),
210 => Some(0.3f32),
211 => Some(0.3f32),
212 => Some(0.65f32),
229 => Some(0.65f32),
231 => Some(0.65f32),
212 => Some(0.3f32),
213 => Some(0.3f32),
214 => Some(0.3f32),
215 => Some(0.3f32),
216 => Some(0.3f32),
217 => Some(0.3f32),
218 => Some(0.3f32),
219 => Some(0.5f32),
229 => Some(0.3f32),
230 => Some(0.65f32),
231 => Some(0.3f32),
232 => Some(0.65f32),
233 => Some(0.65f32),
234 => Some(0.65f32),
235 => Some(0.65f32),
236 => Some(0.65f32),
237 => Some(0.65f32),
238 => Some(0.65f32),
233 => Some(0.85f32),
235 => Some(0.3f32),
236 => Some(0.3f32),
237 => Some(0.3f32),
238 => Some(0.3f32),
239 => Some(0.65f32),
240 => Some(0.65f32),
241 => Some(0.65f32),
242 => Some(0.65f32),
243 => Some(0.65f32),
244 => Some(0.65f32),
245 => Some(0.85f32),
246 => Some(0.85f32),
247 => Some(0.65f32),
248 => Some(0.65f32),
249 => Some(0.65f32),
250 => Some(0.65f32),
251 => Some(0.65f32),
252 => Some(0.65f32),
253 => Some(0.65f32),
254 => Some(0.5f32),
255 => Some(0.5f32),
256 => Some(0.5f32),
257 => Some(0.5f32),
258 => Some(0.3f32),
259 => Some(0.3f32),
260 => Some(0.3f32),
261 => Some(0.3f32),
262 => Some(0.3f32),
256 => Some(0.65f32),
258 => Some(0.65f32),
259 => Some(0.65f32),
260 => Some(0.65f32),
261 => Some(0.65f32),
262 => Some(0.65f32),
263 => Some(0.65f32),
264 => Some(0.3f32),
265 => Some(0.3f32),
264 => Some(0.65f32),
265 => Some(0.65f32),
266 => Some(0.65f32),
267 => Some(0.3f32),
267 => Some(0.65f32),
268 => Some(0.65f32),
269 => Some(0.3f32),
341 => Some(0.5f32),
342 => Some(0.3f32),
357 => Some(0.65f32),
358 => Some(0.65f32),
388 => Some(0.85f32),
389 => Some(0.85f32),
390 => Some(0.65f32),
410 => Some(0.65f32),
411 => Some(0.5f32),
412 => Some(0.5f32),
424 => Some(0.65f32),
505 => Some(0.85f32),
525 => Some(0.65f32),
526 => Some(0.65f32),
527 => Some(0.65f32),
528 => Some(0.65f32),
529 => Some(0.5f32),
530 => Some(0.65f32),
577 => Some(0.85f32),
578 => Some(0.85f32),
894 => Some(0.65f32),
952 => Some(0.3f32),
953 => Some(0.65f32),
954 => Some(0.85f32),
1028 => Some(0.5f32),
1066 => Some(0.65f32),
1086 => Some(1f32),
1103 => Some(0.85f32),
1107 => Some(0.5f32),
1108 => Some(0.3f32),
1109 => Some(0.3f32),
1110 => Some(0.3f32),
1120 => Some(0.65f32),
1228 => Some(0.65f32),
1229 => Some(0.65f32),
1230 => Some(0.85f32),
1242 => Some(1f32),
1286 => Some(0.3f32),
1287 => Some(0.3f32),
1288 => Some(0.65f32),
1289 => Some(0.3f32),
1374 => Some(0.3f32),
1375 => Some(0.3f32),
1378 => Some(0.65f32),
269 => Some(0.65f32),
270 => Some(0.65f32),
271 => Some(0.65f32),
272 => Some(0.85f32),
273 => Some(0.85f32),
274 => Some(0.65f32),
275 => Some(0.65f32),
276 => Some(0.65f32),
277 => Some(0.65f32),
278 => Some(0.65f32),
279 => Some(0.65f32),
280 => Some(0.65f32),
281 => Some(0.5f32),
282 => Some(0.5f32),
283 => Some(0.5f32),
284 => Some(0.5f32),
285 => Some(0.3f32),
286 => Some(0.3f32),
287 => Some(0.3f32),
288 => Some(0.3f32),
289 => Some(0.3f32),
290 => Some(0.65f32),
291 => Some(0.3f32),
292 => Some(0.3f32),
293 => Some(0.65f32),
294 => Some(0.3f32),
295 => Some(0.65f32),
296 => Some(0.3f32),
368 => Some(0.5f32),
369 => Some(0.3f32),
384 => Some(0.65f32),
385 => Some(0.65f32),
415 => Some(0.85f32),
416 => Some(0.85f32),
417 => Some(0.65f32),
437 => Some(0.65f32),
438 => Some(0.5f32),
439 => Some(0.5f32),
451 => Some(0.65f32),
532 => Some(0.85f32),
552 => Some(0.65f32),
553 => Some(0.65f32),
554 => Some(0.65f32),
555 => Some(0.65f32),
556 => Some(0.5f32),
557 => Some(0.65f32),
604 => Some(0.85f32),
605 => Some(0.85f32),
921 => Some(0.65f32),
979 => Some(0.3f32),
980 => Some(0.65f32),
981 => Some(0.85f32),
1056 => Some(0.5f32),
1094 => Some(0.65f32),
1114 => Some(1f32),
1131 => Some(0.85f32),
1135 => Some(0.5f32),
1136 => Some(0.3f32),
1137 => Some(0.3f32),
1138 => Some(0.3f32),
1148 => Some(0.65f32),
1257 => Some(0.65f32),
1258 => Some(0.65f32),
1259 => Some(0.85f32),
1271 => Some(1f32),
1315 => Some(0.3f32),
1316 => Some(0.3f32),
1317 => Some(0.65f32),
1318 => Some(0.3f32),
1404 => Some(0.3f32),
1405 => Some(0.3f32),
1408 => Some(0.65f32),
_ => None,
}
}

View File

@ -169,6 +169,7 @@ pub enum ConfiguredFeature {
Pumpkin,
RedMushroom,
RootedAzaleaTree,
RootedSulfurSpring,
SculkPatchAncientCity,
SculkPatchDeepDark,
SculkVein,
@ -187,6 +188,10 @@ pub enum ConfiguredFeature {
SpringWater,
Spruce,
SugarCane,
SulfurPool,
SulfurSpike,
SulfurSpikeCluster,
SulfurSpring,
Sunflower,
SuperBirchBees,
SuperBirchBees0002,
@ -395,6 +400,7 @@ impl ConfiguredFeature {
"pumpkin" => Some(Self::Pumpkin),
"red_mushroom" => Some(Self::RedMushroom),
"rooted_azalea_tree" => Some(Self::RootedAzaleaTree),
"rooted_sulfur_spring" => Some(Self::RootedSulfurSpring),
"sculk_patch_ancient_city" => Some(Self::SculkPatchAncientCity),
"sculk_patch_deep_dark" => Some(Self::SculkPatchDeepDark),
"sculk_vein" => Some(Self::SculkVein),
@ -413,6 +419,10 @@ impl ConfiguredFeature {
"spring_water" => Some(Self::SpringWater),
"spruce" => Some(Self::Spruce),
"sugar_cane" => Some(Self::SugarCane),
"sulfur_pool" => Some(Self::SulfurPool),
"sulfur_spike" => Some(Self::SulfurSpike),
"sulfur_spike_cluster" => Some(Self::SulfurSpikeCluster),
"sulfur_spring" => Some(Self::SulfurSpring),
"sunflower" => Some(Self::Sunflower),
"super_birch_bees" => Some(Self::SuperBirchBees),
"super_birch_bees_0002" => Some(Self::SuperBirchBees0002),
@ -621,6 +631,7 @@ impl ConfiguredFeature {
Self::Pumpkin => "pumpkin",
Self::RedMushroom => "red_mushroom",
Self::RootedAzaleaTree => "rooted_azalea_tree",
Self::RootedSulfurSpring => "rooted_sulfur_spring",
Self::SculkPatchAncientCity => "sculk_patch_ancient_city",
Self::SculkPatchDeepDark => "sculk_patch_deep_dark",
Self::SculkVein => "sculk_vein",
@ -639,6 +650,10 @@ impl ConfiguredFeature {
Self::SpringWater => "spring_water",
Self::Spruce => "spruce",
Self::SugarCane => "sugar_cane",
Self::SulfurPool => "sulfur_pool",
Self::SulfurSpike => "sulfur_spike",
Self::SulfurSpikeCluster => "sulfur_spike_cluster",
Self::SulfurSpring => "sulfur_spring",
Self::Sunflower => "sunflower",
Self::SuperBirchBees => "super_birch_bees",
Self::SuperBirchBees0002 => "super_birch_bees_0002",

File diff suppressed because one or more lines are too long

View File

@ -367,13 +367,21 @@ impl DamageType {
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 41,
};
pub const SULFUR_CUBE_HOT: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
exhaustion: 0.1f32,
effects: Some(DamageEffects::Burning),
message_id: "sulfurCubeHot",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 42,
};
pub const SWEET_BERRY_BUSH: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
exhaustion: 0.1f32,
effects: Some(DamageEffects::Poking),
message_id: "sweetBerryBush",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 42,
id: 43,
};
pub const THORNS: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -381,7 +389,7 @@ impl DamageType {
effects: Some(DamageEffects::Thorns),
message_id: "thorns",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 43,
id: 44,
};
pub const THROWN: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -389,7 +397,7 @@ impl DamageType {
effects: None,
message_id: "thrown",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 44,
id: 45,
};
pub const TRIDENT: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -397,7 +405,7 @@ impl DamageType {
effects: None,
message_id: "trident",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 45,
id: 46,
};
pub const UNATTRIBUTED_FIREBALL: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -405,7 +413,7 @@ impl DamageType {
effects: Some(DamageEffects::Burning),
message_id: "onFire",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 46,
id: 47,
};
pub const WIND_CHARGE: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -413,7 +421,7 @@ impl DamageType {
effects: None,
message_id: "mob",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 47,
id: 48,
};
pub const WITHER: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -421,7 +429,7 @@ impl DamageType {
effects: None,
message_id: "wither",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 48,
id: 49,
};
pub const WITHER_SKULL: DamageType = DamageType {
death_message_type: DeathMessageType::Default,
@ -429,7 +437,7 @@ impl DamageType {
effects: None,
message_id: "witherSkull",
scaling: DamageScaling::WhenCausedByLivingNonPlayer,
id: 49,
id: 50,
};
#[doc = r" Try to parse a damage type from a resource location string."]
pub fn from_name(name: &str) -> Option<Self> {
@ -476,6 +484,7 @@ impl DamageType {
"stalagmite" => Some(Self::STALAGMITE),
"starve" => Some(Self::STARVE),
"sting" => Some(Self::STING),
"sulfur_cube_hot" => Some(Self::SULFUR_CUBE_HOT),
"sweet_berry_bush" => Some(Self::SWEET_BERRY_BUSH),
"thorns" => Some(Self::THORNS),
"thrown" => Some(Self::THROWN),

View File

@ -81,38 +81,39 @@ pub enum DataComponent {
Container = 75u8,
BlockState = 76u8,
Bees = 77u8,
Lock = 78u8,
ContainerLoot = 79u8,
BreakSound = 80u8,
VillagerVariant = 81u8,
WolfVariant = 82u8,
WolfSoundVariant = 83u8,
WolfCollar = 84u8,
FoxVariant = 85u8,
SalmonSize = 86u8,
ParrotVariant = 87u8,
TropicalFishPattern = 88u8,
TropicalFishBaseColor = 89u8,
TropicalFishPatternColor = 90u8,
MooshroomVariant = 91u8,
RabbitVariant = 92u8,
PigVariant = 93u8,
PigSoundVariant = 94u8,
CowVariant = 95u8,
CowSoundVariant = 96u8,
ChickenVariant = 97u8,
ChickenSoundVariant = 98u8,
ZombieNautilusVariant = 99u8,
FrogVariant = 100u8,
HorseVariant = 101u8,
PaintingVariant = 102u8,
LlamaVariant = 103u8,
AxolotlVariant = 104u8,
CatVariant = 105u8,
CatSoundVariant = 106u8,
CatCollar = 107u8,
SheepColor = 108u8,
ShulkerColor = 109u8,
SulfurCubeContent = 78u8,
Lock = 79u8,
ContainerLoot = 80u8,
BreakSound = 81u8,
VillagerVariant = 82u8,
WolfVariant = 83u8,
WolfSoundVariant = 84u8,
WolfCollar = 85u8,
FoxVariant = 86u8,
SalmonSize = 87u8,
ParrotVariant = 88u8,
TropicalFishPattern = 89u8,
TropicalFishBaseColor = 90u8,
TropicalFishPatternColor = 91u8,
MooshroomVariant = 92u8,
RabbitVariant = 93u8,
PigVariant = 94u8,
PigSoundVariant = 95u8,
CowVariant = 96u8,
CowSoundVariant = 97u8,
ChickenVariant = 98u8,
ChickenSoundVariant = 99u8,
ZombieNautilusVariant = 100u8,
FrogVariant = 101u8,
HorseVariant = 102u8,
PaintingVariant = 103u8,
LlamaVariant = 104u8,
AxolotlVariant = 105u8,
CatVariant = 106u8,
CatSoundVariant = 107u8,
CatCollar = 108u8,
SheepColor = 109u8,
ShulkerColor = 110u8,
}
impl DataComponent {
#[must_use]
@ -201,38 +202,39 @@ impl DataComponent {
75u8 => Some(Self::Container),
76u8 => Some(Self::BlockState),
77u8 => Some(Self::Bees),
78u8 => Some(Self::Lock),
79u8 => Some(Self::ContainerLoot),
80u8 => Some(Self::BreakSound),
81u8 => Some(Self::VillagerVariant),
82u8 => Some(Self::WolfVariant),
83u8 => Some(Self::WolfSoundVariant),
84u8 => Some(Self::WolfCollar),
85u8 => Some(Self::FoxVariant),
86u8 => Some(Self::SalmonSize),
87u8 => Some(Self::ParrotVariant),
88u8 => Some(Self::TropicalFishPattern),
89u8 => Some(Self::TropicalFishBaseColor),
90u8 => Some(Self::TropicalFishPatternColor),
91u8 => Some(Self::MooshroomVariant),
92u8 => Some(Self::RabbitVariant),
93u8 => Some(Self::PigVariant),
94u8 => Some(Self::PigSoundVariant),
95u8 => Some(Self::CowVariant),
96u8 => Some(Self::CowSoundVariant),
97u8 => Some(Self::ChickenVariant),
98u8 => Some(Self::ChickenSoundVariant),
99u8 => Some(Self::ZombieNautilusVariant),
100u8 => Some(Self::FrogVariant),
101u8 => Some(Self::HorseVariant),
102u8 => Some(Self::PaintingVariant),
103u8 => Some(Self::LlamaVariant),
104u8 => Some(Self::AxolotlVariant),
105u8 => Some(Self::CatVariant),
106u8 => Some(Self::CatSoundVariant),
107u8 => Some(Self::CatCollar),
108u8 => Some(Self::SheepColor),
109u8 => Some(Self::ShulkerColor),
78u8 => Some(Self::SulfurCubeContent),
79u8 => Some(Self::Lock),
80u8 => Some(Self::ContainerLoot),
81u8 => Some(Self::BreakSound),
82u8 => Some(Self::VillagerVariant),
83u8 => Some(Self::WolfVariant),
84u8 => Some(Self::WolfSoundVariant),
85u8 => Some(Self::WolfCollar),
86u8 => Some(Self::FoxVariant),
87u8 => Some(Self::SalmonSize),
88u8 => Some(Self::ParrotVariant),
89u8 => Some(Self::TropicalFishPattern),
90u8 => Some(Self::TropicalFishBaseColor),
91u8 => Some(Self::TropicalFishPatternColor),
92u8 => Some(Self::MooshroomVariant),
93u8 => Some(Self::RabbitVariant),
94u8 => Some(Self::PigVariant),
95u8 => Some(Self::PigSoundVariant),
96u8 => Some(Self::CowVariant),
97u8 => Some(Self::CowSoundVariant),
98u8 => Some(Self::ChickenVariant),
99u8 => Some(Self::ChickenSoundVariant),
100u8 => Some(Self::ZombieNautilusVariant),
101u8 => Some(Self::FrogVariant),
102u8 => Some(Self::HorseVariant),
103u8 => Some(Self::PaintingVariant),
104u8 => Some(Self::LlamaVariant),
105u8 => Some(Self::AxolotlVariant),
106u8 => Some(Self::CatVariant),
107u8 => Some(Self::CatSoundVariant),
108u8 => Some(Self::CatCollar),
109u8 => Some(Self::SheepColor),
110u8 => Some(Self::ShulkerColor),
_ => None,
}
}
@ -318,6 +320,7 @@ impl DataComponent {
"minecraft:container" => Some(Self::Container),
"minecraft:block_state" => Some(Self::BlockState),
"minecraft:bees" => Some(Self::Bees),
"minecraft:sulfur_cube_content" => Some(Self::SulfurCubeContent),
"minecraft:lock" => Some(Self::Lock),
"minecraft:container_loot" => Some(Self::ContainerLoot),
"minecraft:break_sound" => Some(Self::BreakSound),
@ -435,6 +438,7 @@ impl DataComponent {
Self::Container => "minecraft:container",
Self::BlockState => "minecraft:block_state",
Self::Bees => "minecraft:bees",
Self::SulfurCubeContent => "minecraft:sulfur_cube_content",
Self::Lock => "minecraft:lock",
Self::ContainerLoot => "minecraft:container_loot",
Self::BreakSound => "minecraft:break_sound",

View File

@ -1,5 +1,5 @@
/* This file is generated. Do not edit manually. */
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_20_5: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_20_5: &[u16] = &[
10, 17, 0, 1, 2, 3, 4, 5, 17, 10, 6, 7, 10, 17, 8, 9, 11, 12, 13, 14, 14, 15, 16, 10, 17, 18,
19, 20, 43, 21, 22, 116, 23, 10, 17, 24, 25, 26, 27, 28, 29, 33, 34, 31, 32, 30, 35, 36, 37,
38, 39, 40, 62, 41, 42, 43, 44, 45, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
@ -8,7 +8,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_20_5: &[u16] = &[
97, 96, 98, 99, 100, 10, 17, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 48, 126, 127, 128, 129,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21: &[u16] = &[
10, 17, 0, 1, 2, 3, 4, 5, 17, 10, 6, 7, 10, 17, 8, 9, 11, 12, 13, 14, 14, 15, 16, 10, 17, 18,
19, 20, 43, 21, 22, 116, 23, 10, 17, 24, 25, 26, 27, 28, 29, 33, 34, 31, 32, 30, 35, 36, 37,
38, 39, 40, 62, 41, 42, 43, 44, 45, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
@ -17,7 +17,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21: &[u16] = &[
97, 96, 98, 99, 100, 10, 17, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 48, 126, 127, 128, 129,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_2: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21_2: &[u16] = &[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24,
25, 26, 54, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
@ -27,7 +27,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_2: &[u16] = &[
130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 59, 146, 147,
148, 149,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_4: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21_4: &[u16] = &[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24,
25, 26, 53, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
@ -37,7 +37,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_4: &[u16] = &[
130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 58, 145, 146, 147,
148,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_5: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21_5: &[u16] = &[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24,
25, 26, 53, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
@ -47,7 +47,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_5: &[u16] = &[
130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 58, 146, 147,
148, 149,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_6: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21_6: &[u16] = &[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24,
25, 26, 53, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
@ -57,7 +57,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_6: &[u16] = &[
131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 59, 147, 148,
149, 150,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_7: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21_7: &[u16] = &[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24,
25, 26, 53, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
@ -67,7 +67,7 @@ pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_7: &[u16] = &[
131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 59, 147, 148,
149, 150,
];
pub static ENTITY_ID_REMAP_V_26_1_TO_V_1_21_9: &[u16] = &[
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_21_9: &[u16] = &[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
@ -83,35 +83,35 @@ pub fn remap_entity_id_for_version(
version: pumpkin_util::version::JavaMinecraftVersion,
) -> u16 {
match version {
pumpkin_util::version::JavaMinecraftVersion::V_1_20_5 => ENTITY_ID_REMAP_V_26_1_TO_V_1_20_5
pumpkin_util::version::JavaMinecraftVersion::V_1_20_5 => ENTITY_ID_REMAP_V_26_2_TO_V_1_20_5
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21
pumpkin_util::version::JavaMinecraftVersion::V_1_21 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21_2 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21_2
pumpkin_util::version::JavaMinecraftVersion::V_1_21_2 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21_2
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21_4 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21_4
pumpkin_util::version::JavaMinecraftVersion::V_1_21_4 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21_4
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21_5 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21_5
pumpkin_util::version::JavaMinecraftVersion::V_1_21_5 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21_5
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21_6 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21_6
pumpkin_util::version::JavaMinecraftVersion::V_1_21_6 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21_6
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21_7 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21_7
pumpkin_util::version::JavaMinecraftVersion::V_1_21_7 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21_7
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),
pumpkin_util::version::JavaMinecraftVersion::V_1_21_9 => ENTITY_ID_REMAP_V_26_1_TO_V_1_21_9
pumpkin_util::version::JavaMinecraftVersion::V_1_21_9 => ENTITY_ID_REMAP_V_26_2_TO_V_1_21_9
.get(usize::from(entity_id))
.copied()
.unwrap_or(0),

View File

@ -54,6 +54,7 @@ pub enum EntityStatus {
TamingSucceeded = 7,
Teleport = 46,
TendrilsShiver = 61,
TntPrime = 70,
TrustingFailed = 40,
TrustingSucceeded = 41,
UseItemComplete = 9,

File diff suppressed because it is too large Load Diff

View File

@ -2,44 +2,44 @@
#[must_use]
pub const fn get_potted_item(item_id: u16) -> u16 {
match item_id {
49 => 413,
50 => 414,
51 => 415,
52 => 416,
53 => 417,
54 => 418,
55 => 419,
56 => 420,
57 => 421,
203 => 422,
205 => 1148,
206 => 1149,
207 => 439,
229 => 423,
230 => 424,
231 => 1165,
232 => 1166,
233 => 425,
234 => 426,
235 => 427,
236 => 428,
237 => 429,
238 => 430,
239 => 431,
240 => 432,
241 => 433,
242 => 434,
243 => 435,
244 => 436,
245 => 412,
248 => 438,
249 => 437,
250 => 919,
251 => 920,
252 => 921,
253 => 922,
270 => 793,
341 => 440,
76 => 413,
77 => 414,
78 => 415,
79 => 416,
80 => 417,
81 => 418,
82 => 419,
83 => 420,
84 => 421,
230 => 422,
232 => 1176,
233 => 1177,
234 => 439,
256 => 423,
257 => 424,
258 => 1193,
259 => 1194,
260 => 425,
261 => 426,
262 => 427,
263 => 428,
264 => 429,
265 => 430,
266 => 431,
267 => 432,
268 => 433,
269 => 434,
270 => 435,
271 => 436,
272 => 412,
275 => 438,
276 => 437,
277 => 919,
278 => 920,
279 => 921,
280 => 922,
297 => 793,
368 => 440,
_ => 0,
}
}

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,7 @@ pub enum GameEvent {
BlockDetach,
BlockOpen,
BlockPlace,
Bounce,
ContainerClose,
ContainerOpen,
Drink,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,7 @@ pub enum JukeboxSong {
Id13,
Id5,
Blocks,
Bounce,
Cat,
Chirp,
Creator,
@ -33,6 +34,7 @@ impl JukeboxSong {
"13" => Some(Self::Id13),
"5" => Some(Self::Id5),
"blocks" => Some(Self::Blocks),
"bounce" => Some(Self::Bounce),
"cat" => Some(Self::Cat),
"chirp" => Some(Self::Chirp),
"creator" => Some(Self::Creator),
@ -61,6 +63,7 @@ impl JukeboxSong {
Self::Id13 => "13",
Self::Id5 => "5",
Self::Blocks => "blocks",
Self::Bounce => "bounce",
Self::Cat => "cat",
Self::Chirp => "chirp",
Self::Creator => "creator",
@ -88,23 +91,24 @@ impl JukeboxSong {
Self::Id13 => 1u32,
Self::Id5 => 2u32,
Self::Blocks => 3u32,
Self::Cat => 4u32,
Self::Chirp => 5u32,
Self::Creator => 6u32,
Self::CreatorMusicBox => 7u32,
Self::Far => 8u32,
Self::LavaChicken => 9u32,
Self::Mall => 10u32,
Self::Mellohi => 11u32,
Self::Otherside => 12u32,
Self::Pigstep => 13u32,
Self::Precipice => 14u32,
Self::Relic => 15u32,
Self::Stal => 16u32,
Self::Strad => 17u32,
Self::Tears => 18u32,
Self::Wait => 19u32,
Self::Ward => 20u32,
Self::Bounce => 4u32,
Self::Cat => 5u32,
Self::Chirp => 6u32,
Self::Creator => 7u32,
Self::CreatorMusicBox => 8u32,
Self::Far => 9u32,
Self::LavaChicken => 10u32,
Self::Mall => 11u32,
Self::Mellohi => 12u32,
Self::Otherside => 13u32,
Self::Pigstep => 14u32,
Self::Precipice => 15u32,
Self::Relic => 16u32,
Self::Stal => 17u32,
Self::Strad => 18u32,
Self::Tears => 19u32,
Self::Wait => 20u32,
Self::Ward => 21u32,
}
}
#[doc = r" Returns the comparator output value (0-15) for this song."]
@ -116,6 +120,7 @@ impl JukeboxSong {
Self::Id13 => 1u8,
Self::Id5 => 15u8,
Self::Blocks => 3u8,
Self::Bounce => 0u8,
Self::Cat => 2u8,
Self::Chirp => 4u8,
Self::Creator => 12u8,
@ -144,6 +149,7 @@ impl JukeboxSong {
Self::Id13 => 178u32,
Self::Id5 => 178u32,
Self::Blocks => 345u32,
Self::Bounce => 0u32,
Self::Cat => 185u32,
Self::Chirp => 185u32,
Self::Creator => 176u32,

View File

@ -10,6 +10,7 @@ pub struct MetaDataType {
v1_21_9: i32,
v1_21_11: i32,
v26_1: i32,
v26_2: i32,
}
impl MetaDataType {
pub const ARM: MetaDataType = MetaDataType {
@ -22,6 +23,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: 38i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const ARMADILLO_STATE: MetaDataType = MetaDataType {
v1_21: 28i32,
@ -33,6 +35,7 @@ impl MetaDataType {
v1_21_9: 31i32,
v1_21_11: 32i32,
v26_1: 36i32,
v26_2: 36i32,
};
pub const BLOCK_POS: MetaDataType = MetaDataType {
v1_21: 10i32,
@ -44,6 +47,7 @@ impl MetaDataType {
v1_21_9: 10i32,
v1_21_11: 10i32,
v26_1: 10i32,
v26_2: 10i32,
};
pub const BLOCK_STATE: MetaDataType = MetaDataType {
v1_21: 14i32,
@ -55,6 +59,7 @@ impl MetaDataType {
v1_21_9: 14i32,
v1_21_11: 14i32,
v26_1: 14i32,
v26_2: 14i32,
};
pub const BOOLEAN: MetaDataType = MetaDataType {
v1_21: 8i32,
@ -66,6 +71,7 @@ impl MetaDataType {
v1_21_9: 8i32,
v1_21_11: 8i32,
v26_1: 8i32,
v26_2: 8i32,
};
pub const BYTE: MetaDataType = MetaDataType {
v1_21: 0i32,
@ -77,6 +83,7 @@ impl MetaDataType {
v1_21_9: 0i32,
v1_21_11: 0i32,
v26_1: 0i32,
v26_2: 0i32,
};
pub const CAT_SOUND_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -88,6 +95,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 22i32,
v26_2: 22i32,
};
pub const CAT_VARIANT: MetaDataType = MetaDataType {
v1_21: 22i32,
@ -99,6 +107,7 @@ impl MetaDataType {
v1_21_9: 21i32,
v1_21_11: 21i32,
v26_1: 21i32,
v26_2: 21i32,
};
pub const CHICKEN_SOUND_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -110,6 +119,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 31i32,
v26_2: 31i32,
};
pub const CHICKEN_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -121,6 +131,7 @@ impl MetaDataType {
v1_21_9: 27i32,
v1_21_11: 27i32,
v26_1: 30i32,
v26_2: 30i32,
};
pub const COMPONENT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -132,6 +143,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 5i32,
v26_2: 5i32,
};
pub const COPPER_GOLEM_STATE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -143,6 +155,7 @@ impl MetaDataType {
v1_21_9: 32i32,
v1_21_11: 33i32,
v26_1: 37i32,
v26_2: 37i32,
};
pub const COW_SOUND_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -154,6 +167,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 24i32,
v26_2: 24i32,
};
pub const COW_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -165,6 +179,7 @@ impl MetaDataType {
v1_21_9: 22i32,
v1_21_11: 22i32,
v26_1: 23i32,
v26_2: 23i32,
};
pub const DIRECTION: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -176,6 +191,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 12i32,
v26_2: 12i32,
};
pub const ENTITY_POSE: MetaDataType = MetaDataType {
v1_21: 21i32,
@ -187,6 +203,7 @@ impl MetaDataType {
v1_21_9: 20i32,
v1_21_11: 20i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const FACING: MetaDataType = MetaDataType {
v1_21: 12i32,
@ -198,6 +215,7 @@ impl MetaDataType {
v1_21_9: 12i32,
v1_21_11: 12i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const FLOAT: MetaDataType = MetaDataType {
v1_21: 3i32,
@ -209,6 +227,7 @@ impl MetaDataType {
v1_21_9: 3i32,
v1_21_11: 3i32,
v26_1: 3i32,
v26_2: 3i32,
};
pub const FROG_VARIANT: MetaDataType = MetaDataType {
v1_21: 24i32,
@ -220,6 +239,7 @@ impl MetaDataType {
v1_21_9: 25i32,
v1_21_11: 25i32,
v26_1: 27i32,
v26_2: 27i32,
};
pub const HUMANOID_ARM: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -231,6 +251,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 42i32,
v26_2: 42i32,
};
pub const INT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -242,6 +263,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 1i32,
v26_2: 1i32,
};
pub const INTEGER: MetaDataType = MetaDataType {
v1_21: 1i32,
@ -253,6 +275,7 @@ impl MetaDataType {
v1_21_9: 1i32,
v1_21_11: 1i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const ITEM_STACK: MetaDataType = MetaDataType {
v1_21: 7i32,
@ -264,6 +287,7 @@ impl MetaDataType {
v1_21_9: 7i32,
v1_21_11: 7i32,
v26_1: 7i32,
v26_2: 7i32,
};
pub const LAZY_ENTITY_REFERENCE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -275,6 +299,7 @@ impl MetaDataType {
v1_21_9: 13i32,
v1_21_11: 13i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const LONG: MetaDataType = MetaDataType {
v1_21: 2i32,
@ -286,6 +311,7 @@ impl MetaDataType {
v1_21_9: 2i32,
v1_21_11: 2i32,
v26_1: 2i32,
v26_2: 2i32,
};
pub const NBT_COMPOUND: MetaDataType = MetaDataType {
v1_21: 16i32,
@ -297,6 +323,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const OPTIONAL_BLOCK_POS: MetaDataType = MetaDataType {
v1_21: 11i32,
@ -308,6 +335,7 @@ impl MetaDataType {
v1_21_9: 11i32,
v1_21_11: 11i32,
v26_1: 11i32,
v26_2: 11i32,
};
pub const OPTIONAL_BLOCK_STATE: MetaDataType = MetaDataType {
v1_21: 15i32,
@ -319,6 +347,7 @@ impl MetaDataType {
v1_21_9: 15i32,
v1_21_11: 15i32,
v26_1: 15i32,
v26_2: 15i32,
};
pub const OPTIONAL_COMPONENT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -330,6 +359,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 6i32,
v26_2: 6i32,
};
pub const OPTIONAL_GLOBAL_POS: MetaDataType = MetaDataType {
v1_21: 25i32,
@ -341,6 +371,7 @@ impl MetaDataType {
v1_21_9: 28i32,
v1_21_11: 29i32,
v26_1: 33i32,
v26_2: 33i32,
};
pub const OPTIONAL_INT: MetaDataType = MetaDataType {
v1_21: 20i32,
@ -352,6 +383,7 @@ impl MetaDataType {
v1_21_9: 19i32,
v1_21_11: 19i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const OPTIONAL_LIVING_ENTITY_REFERENCE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -363,6 +395,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 13i32,
v26_2: 13i32,
};
pub const OPTIONAL_TEXT_COMPONENT: MetaDataType = MetaDataType {
v1_21: 6i32,
@ -374,6 +407,7 @@ impl MetaDataType {
v1_21_9: 6i32,
v1_21_11: 6i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const OPTIONAL_UNSIGNED_INT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -385,6 +419,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 19i32,
v26_2: 19i32,
};
pub const OPTIONAL_UUID: MetaDataType = MetaDataType {
v1_21: 13i32,
@ -396,6 +431,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const OXIDATION_LEVEL: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -407,6 +443,7 @@ impl MetaDataType {
v1_21_9: 33i32,
v1_21_11: 34i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const PAINTING_VARIANT: MetaDataType = MetaDataType {
v1_21: 26i32,
@ -418,6 +455,7 @@ impl MetaDataType {
v1_21_9: 29i32,
v1_21_11: 30i32,
v26_1: 34i32,
v26_2: 34i32,
};
pub const PARTICLE: MetaDataType = MetaDataType {
v1_21: 17i32,
@ -429,6 +467,7 @@ impl MetaDataType {
v1_21_9: 16i32,
v1_21_11: 16i32,
v26_1: 16i32,
v26_2: 16i32,
};
pub const PARTICLE_LIST: MetaDataType = MetaDataType {
v1_21: 18i32,
@ -440,6 +479,7 @@ impl MetaDataType {
v1_21_9: 17i32,
v1_21_11: 17i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const PARTICLES: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -451,6 +491,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 17i32,
v26_2: 17i32,
};
pub const PIG_SOUND_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -462,6 +503,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 29i32,
v26_2: 29i32,
};
pub const PIG_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -473,6 +515,7 @@ impl MetaDataType {
v1_21_9: 26i32,
v1_21_11: 26i32,
v26_1: 28i32,
v26_2: 28i32,
};
pub const POSE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -484,6 +527,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 20i32,
v26_2: 20i32,
};
pub const PROFILE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -495,6 +539,7 @@ impl MetaDataType {
v1_21_9: 36i32,
v1_21_11: 37i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const QUATERNION: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -506,6 +551,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 40i32,
v26_2: 40i32,
};
pub const QUATERNION_F: MetaDataType = MetaDataType {
v1_21: 30i32,
@ -517,6 +563,7 @@ impl MetaDataType {
v1_21_9: 35i32,
v1_21_11: 36i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const RESOLVABLE_PROFILE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -528,6 +575,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 41i32,
v26_2: 41i32,
};
pub const ROTATION: MetaDataType = MetaDataType {
v1_21: 9i32,
@ -539,6 +587,7 @@ impl MetaDataType {
v1_21_9: 9i32,
v1_21_11: 9i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const ROTATIONS: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -550,6 +599,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 9i32,
v26_2: 9i32,
};
pub const SNIFFER_STATE: MetaDataType = MetaDataType {
v1_21: 27i32,
@ -561,6 +611,7 @@ impl MetaDataType {
v1_21_9: 30i32,
v1_21_11: 31i32,
v26_1: 35i32,
v26_2: 35i32,
};
pub const STRING: MetaDataType = MetaDataType {
v1_21: 4i32,
@ -572,6 +623,7 @@ impl MetaDataType {
v1_21_9: 4i32,
v1_21_11: 4i32,
v26_1: 4i32,
v26_2: 4i32,
};
pub const TEXT_COMPONENT: MetaDataType = MetaDataType {
v1_21: 5i32,
@ -583,6 +635,7 @@ impl MetaDataType {
v1_21_9: 5i32,
v1_21_11: 5i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const VECTOR3: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -594,6 +647,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 39i32,
v26_2: 39i32,
};
pub const VECTOR_3F: MetaDataType = MetaDataType {
v1_21: 29i32,
@ -605,6 +659,7 @@ impl MetaDataType {
v1_21_9: 34i32,
v1_21_11: 35i32,
v26_1: -1i32,
v26_2: -1i32,
};
pub const VILLAGER_DATA: MetaDataType = MetaDataType {
v1_21: 19i32,
@ -616,6 +671,7 @@ impl MetaDataType {
v1_21_9: 18i32,
v1_21_11: 18i32,
v26_1: 18i32,
v26_2: 18i32,
};
pub const WEATHERING_COPPER_STATE: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -627,6 +683,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: -1i32,
v26_1: 38i32,
v26_2: 38i32,
};
pub const WOLF_SOUND_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -638,6 +695,7 @@ impl MetaDataType {
v1_21_9: 24i32,
v1_21_11: 24i32,
v26_1: 26i32,
v26_2: 26i32,
};
pub const WOLF_VARIANT: MetaDataType = MetaDataType {
v1_21: 23i32,
@ -649,6 +707,7 @@ impl MetaDataType {
v1_21_9: 23i32,
v1_21_11: 23i32,
v26_1: 25i32,
v26_2: 25i32,
};
pub const ZOMBIE_NAUTILUS_VARIANT: MetaDataType = MetaDataType {
v1_21: -1i32,
@ -660,6 +719,7 @@ impl MetaDataType {
v1_21_9: -1i32,
v1_21_11: 28i32,
v26_1: 32i32,
v26_2: 32i32,
};
pub const fn id(&self, version: pumpkin_util::version::JavaMinecraftVersion) -> i32 {
match version {
@ -672,6 +732,7 @@ impl MetaDataType {
pumpkin_util::version::JavaMinecraftVersion::V_1_21_9 => self.v1_21_9,
pumpkin_util::version::JavaMinecraftVersion::V_1_21_11 => self.v1_21_11,
pumpkin_util::version::JavaMinecraftVersion::V_26_1 => self.v26_1,
pumpkin_util::version::JavaMinecraftVersion::V_26_2 => self.v26_2,
_ => -1i32,
}
}

View File

@ -8,7 +8,7 @@ pub struct DoublePerlinNoiseParameters {
pub amplitude: f64,
}
impl DoublePerlinNoiseParameters {
pub const COUNT: usize = 62usize;
pub const COUNT: usize = 63usize;
pub const fn new(
id: usize,
first_octave: i32,
@ -87,6 +87,7 @@ impl DoublePerlinNoiseParameters {
"spaghetti_3d_thickness" => &Self::SPAGHETTI_3D_THICKNESS,
"spaghetti_roughness" => &Self::SPAGHETTI_ROUGHNESS,
"spaghetti_roughness_modulator" => &Self::SPAGHETTI_ROUGHNESS_MODULATOR,
"sulfur_cave_gradient" => &Self::SULFUR_CAVE_GRADIENT,
"surface" => &Self::SURFACE,
"surface_secondary" => &Self::SURFACE_SECONDARY,
"surface_swamp" => &Self::SURFACE_SWAMP,
@ -567,8 +568,16 @@ impl DoublePerlinNoiseParameters {
14613561992896323587u64,
0.8333333333333333f64,
);
pub const SURFACE: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
pub const SULFUR_CAVE_GRADIENT: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
55usize,
-5i32,
&[1f64, 0f64, 1f64],
18337577454901213776u64,
11718438542783181498u64,
1.25f64,
);
pub const SURFACE: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
56usize,
-6i32,
&[1f64, 1f64, 1f64],
5417997184927261100u64,
@ -576,7 +585,7 @@ impl DoublePerlinNoiseParameters {
1.25f64,
);
pub const SURFACE_SECONDARY: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
56usize,
57usize,
-6i32,
&[1f64, 1f64, 0f64, 1f64],
2051559389371867033u64,
@ -584,7 +593,7 @@ impl DoublePerlinNoiseParameters {
1.3333333333333333f64,
);
pub const SURFACE_SWAMP: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
57usize,
58usize,
-2i32,
&[1f64],
14388971182144335831u64,
@ -592,7 +601,7 @@ impl DoublePerlinNoiseParameters {
0.8333333333333333f64,
);
pub const TEMPERATURE: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
58usize,
59usize,
-10i32,
&[1.5f64, 0f64, 1f64, 0f64, 0f64, 0f64],
6664882324328353151u64,
@ -600,7 +609,7 @@ impl DoublePerlinNoiseParameters {
1.25f64,
);
pub const TEMPERATURE_LARGE: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
59usize,
60usize,
-12i32,
&[1.5f64, 0f64, 1f64, 0f64, 0f64, 0f64],
10685635038780148187u64,
@ -608,7 +617,7 @@ impl DoublePerlinNoiseParameters {
1.25f64,
);
pub const VEGETATION: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
60usize,
61usize,
-8i32,
&[1f64, 1f64, 0f64, 0f64, 0f64, 0f64],
9348150263868561038u64,
@ -616,7 +625,7 @@ impl DoublePerlinNoiseParameters {
1.111111111111111f64,
);
pub const VEGETATION_LARGE: DoublePerlinNoiseParameters = DoublePerlinNoiseParameters::new(
61usize,
62usize,
-10i32,
&[1f64, 1f64, 0f64, 0f64, 0f64, 0f64],
8194488175179944705u64,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,13 @@ pub enum Particle {
Block,
BlockMarker,
Bubble,
SulfurBubbles,
NoxiousGas,
NoxiousGasCloud,
Geyser,
GeyserBase,
GeyserPoof,
GeyserPlume,
Cloud,
CopperFireFlame,
Crit,
@ -118,6 +125,7 @@ pub enum Particle {
TrialOmen,
BlockCrumble,
Firefly,
SulfurCubeGoo,
}
impl Particle {
#[doc = r" Try to parse a `Particle` from a resource location string."]
@ -129,6 +137,13 @@ impl Particle {
"block" => Some(Self::Block),
"block_marker" => Some(Self::BlockMarker),
"bubble" => Some(Self::Bubble),
"sulfur_bubbles" => Some(Self::SulfurBubbles),
"noxious_gas" => Some(Self::NoxiousGas),
"noxious_gas_cloud" => Some(Self::NoxiousGasCloud),
"geyser" => Some(Self::Geyser),
"geyser_base" => Some(Self::GeyserBase),
"geyser_poof" => Some(Self::GeyserPoof),
"geyser_plume" => Some(Self::GeyserPlume),
"cloud" => Some(Self::Cloud),
"copper_fire_flame" => Some(Self::CopperFireFlame),
"crit" => Some(Self::Crit),
@ -242,6 +257,7 @@ impl Particle {
"trial_omen" => Some(Self::TrialOmen),
"block_crumble" => Some(Self::BlockCrumble),
"firefly" => Some(Self::Firefly),
"sulfur_cube_goo" => Some(Self::SulfurCubeGoo),
_ => None,
}
}
@ -253,6 +269,13 @@ impl Particle {
Self::Block => "block",
Self::BlockMarker => "block_marker",
Self::Bubble => "bubble",
Self::SulfurBubbles => "sulfur_bubbles",
Self::NoxiousGas => "noxious_gas",
Self::NoxiousGasCloud => "noxious_gas_cloud",
Self::Geyser => "geyser",
Self::GeyserBase => "geyser_base",
Self::GeyserPoof => "geyser_poof",
Self::GeyserPlume => "geyser_plume",
Self::Cloud => "cloud",
Self::CopperFireFlame => "copper_fire_flame",
Self::Crit => "crit",
@ -366,6 +389,7 @@ impl Particle {
Self::TrialOmen => "trial_omen",
Self::BlockCrumble => "block_crumble",
Self::Firefly => "firefly",
Self::SulfurCubeGoo => "sulfur_cube_goo",
}
}
}

View File

@ -201,6 +201,7 @@ pub enum PlacedFeature {
RedMushroomSwamp,
RedMushroomTaiga,
RootedAzaleaTree,
RootedSulfurSpring,
SculkPatchAncientCity,
SculkPatchDeepDark,
SculkVein,
@ -225,6 +226,9 @@ pub enum PlacedFeature {
Spruce,
SpruceChecked,
SpruceOnSnow,
SulfurPool,
SulfurSpike,
SulfurSpikeCluster,
SuperBirchBees,
SuperBirchBees0002,
TallMangroveChecked,
@ -464,6 +468,7 @@ impl PlacedFeature {
"red_mushroom_swamp" => Some(Self::RedMushroomSwamp),
"red_mushroom_taiga" => Some(Self::RedMushroomTaiga),
"rooted_azalea_tree" => Some(Self::RootedAzaleaTree),
"rooted_sulfur_spring" => Some(Self::RootedSulfurSpring),
"sculk_patch_ancient_city" => Some(Self::SculkPatchAncientCity),
"sculk_patch_deep_dark" => Some(Self::SculkPatchDeepDark),
"sculk_vein" => Some(Self::SculkVein),
@ -488,6 +493,9 @@ impl PlacedFeature {
"spruce" => Some(Self::Spruce),
"spruce_checked" => Some(Self::SpruceChecked),
"spruce_on_snow" => Some(Self::SpruceOnSnow),
"sulfur_pool" => Some(Self::SulfurPool),
"sulfur_spike" => Some(Self::SulfurSpike),
"sulfur_spike_cluster" => Some(Self::SulfurSpikeCluster),
"super_birch_bees" => Some(Self::SuperBirchBees),
"super_birch_bees_0002" => Some(Self::SuperBirchBees0002),
"tall_mangrove_checked" => Some(Self::TallMangroveChecked),
@ -727,6 +735,7 @@ impl PlacedFeature {
Self::RedMushroomSwamp => "red_mushroom_swamp",
Self::RedMushroomTaiga => "red_mushroom_taiga",
Self::RootedAzaleaTree => "rooted_azalea_tree",
Self::RootedSulfurSpring => "rooted_sulfur_spring",
Self::SculkPatchAncientCity => "sculk_patch_ancient_city",
Self::SculkPatchDeepDark => "sculk_patch_deep_dark",
Self::SculkVein => "sculk_vein",
@ -751,6 +760,9 @@ impl PlacedFeature {
Self::Spruce => "spruce",
Self::SpruceChecked => "spruce_checked",
Self::SpruceOnSnow => "spruce_on_snow",
Self::SulfurPool => "sulfur_pool",
Self::SulfurSpike => "sulfur_spike",
Self::SulfurSpikeCluster => "sulfur_spike_cluster",
Self::SuperBirchBees => "super_birch_bees",
Self::SuperBirchBees0002 => "super_birch_bees_0002",
Self::TallMangroveChecked => "tall_mangrove_checked",

View File

@ -1319,6 +1319,31 @@ fn build_placed_features()
heightmap: HeightMap::MotionBlocking,
}),
PlacementModifier::Biome(BiomePlacementModifier),
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Constant(64i32),
}),
PlacementModifier::RandomOffset(RandomOffsetPlacementModifier {
xz_spread: IntProvider::Object(NormalIntProvider::Trapezoid(
TrapezoidIntProvider {
min_inclusive: -7i32,
max_inclusive: 7i32,
plateau: 0i32,
},
)),
y_spread: IntProvider::Object(NormalIntProvider::Trapezoid(
TrapezoidIntProvider {
min_inclusive: -3i32,
max_inclusive: 3i32,
plateau: 0i32,
},
)),
}),
PlacementModifier::BlockPredicateFilter(BlockFilterPlacementModifier {
predicate: BlockPredicate::MatchingBlockTag(MatchingBlockTagPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
tag: pumpkin_data::tag::Block::MINECRAFT_AIR,
}),
}),
],
},
);
@ -1585,6 +1610,31 @@ fn build_placed_features()
heightmap: HeightMap::MotionBlocking,
}),
PlacementModifier::Biome(BiomePlacementModifier),
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Constant(64i32),
}),
PlacementModifier::RandomOffset(RandomOffsetPlacementModifier {
xz_spread: IntProvider::Object(NormalIntProvider::Trapezoid(
TrapezoidIntProvider {
min_inclusive: -7i32,
max_inclusive: 7i32,
plateau: 0i32,
},
)),
y_spread: IntProvider::Object(NormalIntProvider::Trapezoid(
TrapezoidIntProvider {
min_inclusive: -3i32,
max_inclusive: 3i32,
plateau: 0i32,
},
)),
}),
PlacementModifier::BlockPredicateFilter(BlockFilterPlacementModifier {
predicate: BlockPredicate::MatchingBlockTag(MatchingBlockTagPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
tag: pumpkin_data::tag::Block::MINECRAFT_AIR,
}),
}),
],
},
);
@ -5928,6 +5978,47 @@ fn build_placed_features()
],
},
);
map.insert(
pumpkin_data::placed_feature::PlacedFeature::RootedSulfurSpring,
PlacedFeature {
feature: Feature::Named(
pumpkin_data::configured_feature::ConfiguredFeature::RootedSulfurSpring,
),
placement: vec![
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Object(NormalIntProvider::Uniform(UniformIntProvider {
min_inclusive: 1i32,
max_inclusive: 2i32,
})),
}),
PlacementModifier::InSquare(SquarePlacementModifier),
PlacementModifier::HeightRange(HeightRangePlacementModifier {
height: HeightProvider::Uniform(UniformHeightProvider {
min_inclusive: YOffset::AboveBottom(AboveBottom { above_bottom: 0i8 }),
max_inclusive: YOffset::Absolute(Absolute { absolute: 256i16 }),
}),
}),
PlacementModifier::EnvironmentScan(EnvironmentScanPlacementModifier {
direction_of_search: BlockDirection::Up,
target_condition: BlockPredicate::Solid(SolidBlockPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
}),
allowed_search_condition: Some(BlockPredicate::MatchingBlockTag(
MatchingBlockTagPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
tag: pumpkin_data::tag::Block::MINECRAFT_AIR,
},
)),
max_steps: 12i32,
}),
PlacementModifier::RandomOffset(RandomOffsetPlacementModifier {
xz_spread: IntProvider::Constant(0i32),
y_spread: IntProvider::Constant(-1i32),
}),
PlacementModifier::Biome(BiomePlacementModifier),
],
},
);
map.insert(
pumpkin_data::placed_feature::PlacedFeature::SculkPatchAncientCity,
PlacedFeature {
@ -6415,6 +6506,123 @@ fn build_placed_features()
],
},
);
map.insert(
pumpkin_data::placed_feature::PlacedFeature::SulfurPool,
PlacedFeature {
feature: Feature::Named(
pumpkin_data::configured_feature::ConfiguredFeature::SulfurPool,
),
placement: vec![
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Constant(256i32),
}),
PlacementModifier::InSquare(SquarePlacementModifier),
PlacementModifier::HeightRange(HeightRangePlacementModifier {
height: HeightProvider::Uniform(UniformHeightProvider {
min_inclusive: YOffset::AboveBottom(AboveBottom { above_bottom: 0i8 }),
max_inclusive: YOffset::Absolute(Absolute { absolute: 256i16 }),
}),
}),
PlacementModifier::BlockPredicateFilter(BlockFilterPlacementModifier {
predicate: BlockPredicate::Solid(SolidBlockPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
}),
}),
PlacementModifier::EnvironmentScan(EnvironmentScanPlacementModifier {
direction_of_search: BlockDirection::Up,
target_condition: BlockPredicate::MatchingBlockTag(MatchingBlockTagPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
tag: pumpkin_data::tag::Block::MINECRAFT_AIR,
}),
allowed_search_condition: None,
max_steps: 32i32,
}),
PlacementModifier::RandomOffset(RandomOffsetPlacementModifier {
xz_spread: IntProvider::Constant(0i32),
y_spread: IntProvider::Constant(-1i32),
}),
PlacementModifier::BlockPredicateFilter(BlockFilterPlacementModifier {
predicate: BlockPredicate::MatchingBlocks(MatchingBlocksBlockPredicate {
offset: OffsetBlocksBlockPredicate { offset: None },
blocks: MatchingBlocksWrapper::Single("minecraft:sulfur".to_string()),
}),
}),
PlacementModifier::Biome(BiomePlacementModifier),
],
},
);
map.insert(
pumpkin_data::placed_feature::PlacedFeature::SulfurSpike,
PlacedFeature {
feature: Feature::Named(
pumpkin_data::configured_feature::ConfiguredFeature::SulfurSpike,
),
placement: vec![
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Object(NormalIntProvider::Uniform(UniformIntProvider {
min_inclusive: 192i32,
max_inclusive: 256i32,
})),
}),
PlacementModifier::InSquare(SquarePlacementModifier),
PlacementModifier::HeightRange(HeightRangePlacementModifier {
height: HeightProvider::Uniform(UniformHeightProvider {
min_inclusive: YOffset::AboveBottom(AboveBottom { above_bottom: 0i8 }),
max_inclusive: YOffset::Absolute(Absolute { absolute: 256i16 }),
}),
}),
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Object(NormalIntProvider::Uniform(UniformIntProvider {
min_inclusive: 1i32,
max_inclusive: 5i32,
})),
}),
PlacementModifier::RandomOffset(RandomOffsetPlacementModifier {
xz_spread: IntProvider::Object(NormalIntProvider::ClampedNormal(
ClampedNormalIntProvider {
mean: 0f32,
deviation: 3f32,
min_inclusive: -10i32,
max_inclusive: 10i32,
},
)),
y_spread: IntProvider::Object(NormalIntProvider::ClampedNormal(
ClampedNormalIntProvider {
mean: 0f32,
deviation: 0.6f32,
min_inclusive: -2i32,
max_inclusive: 2i32,
},
)),
}),
PlacementModifier::Biome(BiomePlacementModifier),
],
},
);
map.insert(
pumpkin_data::placed_feature::PlacedFeature::SulfurSpikeCluster,
PlacedFeature {
feature: Feature::Named(
pumpkin_data::configured_feature::ConfiguredFeature::SulfurSpikeCluster,
),
placement: vec![
PlacementModifier::Count(CountPlacementModifier {
count: IntProvider::Object(NormalIntProvider::Uniform(UniformIntProvider {
min_inclusive: 48i32,
max_inclusive: 96i32,
})),
}),
PlacementModifier::InSquare(SquarePlacementModifier),
PlacementModifier::HeightRange(HeightRangePlacementModifier {
height: HeightProvider::Uniform(UniformHeightProvider {
min_inclusive: YOffset::AboveBottom(AboveBottom { above_bottom: 0i8 }),
max_inclusive: YOffset::Absolute(Absolute { absolute: 256i16 }),
}),
}),
PlacementModifier::Biome(BiomePlacementModifier),
],
},
);
map.insert(
pumpkin_data::placed_feature::PlacedFeature::SuperBirchBees,
PlacedFeature {

View File

@ -3,13 +3,13 @@
#[allow(clippy::match_same_arms)]
pub const fn get_recipe_remainder_id(item_id: u16) -> Option<u16> {
match item_id {
948 => Some(893),
1019 => Some(1013),
1122 => Some(1121),
1252 => Some(893),
1290 => Some(893),
1341 => Some(893),
1382 => Some(1121),
975 => Some(920),
1046 => Some(1040),
1150 => Some(1149),
1281 => Some(920),
1319 => Some(920),
1371 => Some(920),
1412 => Some(1149),
_ => None,
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -230,12 +230,14 @@ pub enum Sound {
ItemBucketEmptyFish,
ItemBucketEmptyLava,
ItemBucketEmptyPowderSnow,
ItemBucketEmptySulfurCube,
ItemBucketEmptyTadpole,
ItemBucketFill,
ItemBucketFillAxolotl,
ItemBucketFillFish,
ItemBucketFillLava,
ItemBucketFillPowderSnow,
ItemBucketFillSulfurCube,
ItemBucketFillTadpole,
ItemBundleDropContents,
ItemBundleInsert,
@ -1033,6 +1035,7 @@ pub enum Sound {
MusicDisc11,
MusicDisc13,
MusicDiscBlocks,
MusicDiscBounce,
MusicDiscCat,
MusicDiscChirp,
MusicDiscFar,
@ -1078,6 +1081,7 @@ pub enum Sound {
MusicOverworldJungle,
MusicOverworldSparseJungle,
MusicOverworldBambooJungle,
MusicOverworldSulfurCaves,
MusicUnderWater,
EntityNautilusAmbient,
EntityNautilusAmbientLand,
@ -1607,6 +1611,12 @@ pub enum Sound {
EntityStrayDeath,
EntityStrayHurt,
EntityStrayStep,
BlockSulfurSpikeBreak,
BlockSulfurSpikeStep,
BlockSulfurSpikePlace,
BlockSulfurSpikeHit,
BlockSulfurSpikeFall,
BlockSulfurSpikeLand,
BlockSweetBerryBushBreak,
BlockSweetBerryBushPlace,
BlockSweetBerryBushPickBerries,
@ -1904,6 +1914,62 @@ pub enum Sound {
ItemSaddleUnequip,
ItemNautilusSaddleUnderwaterEquip,
ItemNautilusSaddleEquip,
BlockSulfurBreak,
BlockSulfurStep,
BlockSulfurPlace,
BlockSulfurHit,
BlockSulfurFall,
BlockPotentSulfurBreak,
BlockPotentSulfurStep,
BlockPotentSulfurPlace,
BlockPotentSulfurHit,
BlockPotentSulfurFall,
BlockPotentSulfurGeyserEruption,
BlockPotentSulfurGeyserEruptionActive,
BlockPotentSulfurGeyserContinuousEruption,
BlockPotentSulfurGeyserContinuousEruptionActive,
BlockCinnabarBreak,
BlockCinnabarStep,
BlockCinnabarPlace,
BlockCinnabarHit,
BlockCinnabarFall,
EntitySulfurCubeAbsorb,
EntitySulfurCubeBounce,
EntitySulfurCubeDeath,
EntitySulfurCubeEject,
EntitySulfurCubeHurt,
EntitySulfurCubeJump,
EntitySulfurCubeRegularHit,
EntitySulfurCubeRegularPush,
EntitySulfurCubeBouncyHit,
EntitySulfurCubeBouncyPush,
EntitySulfurCubeSlowBouncyHit,
EntitySulfurCubeSlowBouncyPush,
EntitySulfurCubeSlowFlatHit,
EntitySulfurCubeSlowFlatPush,
EntitySulfurCubeFastFlatHit,
EntitySulfurCubeFastFlatPush,
EntitySulfurCubeLightHit,
EntitySulfurCubeLightPush,
EntitySulfurCubeFastSlidingHit,
EntitySulfurCubeFastSlidingPush,
EntitySulfurCubeSlowSlidingHit,
EntitySulfurCubeSlowSlidingPush,
EntitySulfurCubeStickyHit,
EntitySulfurCubeStickyPush,
EntitySulfurCubeHighResistanceHit,
EntitySulfurCubeHighResistancePush,
EntitySulfurCubeExplosiveHit,
EntitySulfurCubeExplosivePush,
EntitySulfurCubeHotHit,
EntitySulfurCubeHotPush,
EntitySulfurCubeSquish,
BlockPotentSulfurNoxiousGas,
EntitySmallSulfurCubeDeath,
EntitySmallSulfurCubeHurt,
EntitySmallSulfurCubeJump,
EntitySmallSulfurCubeSquish,
EntitySmallSulfurCubeEat,
}
impl Sound {
pub const NAMES: &[&str] = &[
@ -2135,12 +2201,14 @@ impl Sound {
"item.bucket.empty_fish",
"item.bucket.empty_lava",
"item.bucket.empty_powder_snow",
"item.bucket.empty_sulfur_cube",
"item.bucket.empty_tadpole",
"item.bucket.fill",
"item.bucket.fill_axolotl",
"item.bucket.fill_fish",
"item.bucket.fill_lava",
"item.bucket.fill_powder_snow",
"item.bucket.fill_sulfur_cube",
"item.bucket.fill_tadpole",
"item.bundle.drop_contents",
"item.bundle.insert",
@ -2938,6 +3006,7 @@ impl Sound {
"music_disc.11",
"music_disc.13",
"music_disc.blocks",
"music_disc.bounce",
"music_disc.cat",
"music_disc.chirp",
"music_disc.far",
@ -2983,6 +3052,7 @@ impl Sound {
"music.overworld.jungle",
"music.overworld.sparse_jungle",
"music.overworld.bamboo_jungle",
"music.overworld.sulfur_caves",
"music.under_water",
"entity.nautilus.ambient",
"entity.nautilus.ambient_land",
@ -3512,6 +3582,12 @@ impl Sound {
"entity.stray.death",
"entity.stray.hurt",
"entity.stray.step",
"block.sulfur_spike.break",
"block.sulfur_spike.step",
"block.sulfur_spike.place",
"block.sulfur_spike.hit",
"block.sulfur_spike.fall",
"block.sulfur_spike.land",
"block.sweet_berry_bush.break",
"block.sweet_berry_bush.place",
"block.sweet_berry_bush.pick_berries",
@ -3809,6 +3885,62 @@ impl Sound {
"item.saddle.unequip",
"item.nautilus_saddle_underwater_equip",
"item.nautilus_saddle_equip",
"block.sulfur.break",
"block.sulfur.step",
"block.sulfur.place",
"block.sulfur.hit",
"block.sulfur.fall",
"block.potent_sulfur.break",
"block.potent_sulfur.step",
"block.potent_sulfur.place",
"block.potent_sulfur.hit",
"block.potent_sulfur.fall",
"block.potent_sulfur.geyser_eruption",
"block.potent_sulfur.geyser_eruption_active",
"block.potent_sulfur.geyser_continuous_eruption",
"block.potent_sulfur.geyser_continuous_eruption_active",
"block.cinnabar.break",
"block.cinnabar.step",
"block.cinnabar.place",
"block.cinnabar.hit",
"block.cinnabar.fall",
"entity.sulfur_cube.absorb",
"entity.sulfur_cube.bounce",
"entity.sulfur_cube.death",
"entity.sulfur_cube.eject",
"entity.sulfur_cube.hurt",
"entity.sulfur_cube.jump",
"entity.sulfur_cube.regular.hit",
"entity.sulfur_cube.regular.push",
"entity.sulfur_cube.bouncy.hit",
"entity.sulfur_cube.bouncy.push",
"entity.sulfur_cube.slow_bouncy.hit",
"entity.sulfur_cube.slow_bouncy.push",
"entity.sulfur_cube.slow_flat.hit",
"entity.sulfur_cube.slow_flat.push",
"entity.sulfur_cube.fast_flat.hit",
"entity.sulfur_cube.fast_flat.push",
"entity.sulfur_cube.light.hit",
"entity.sulfur_cube.light.push",
"entity.sulfur_cube.fast_sliding.hit",
"entity.sulfur_cube.fast_sliding.push",
"entity.sulfur_cube.slow_sliding.hit",
"entity.sulfur_cube.slow_sliding.push",
"entity.sulfur_cube.sticky.hit",
"entity.sulfur_cube.sticky.push",
"entity.sulfur_cube.high_resistance.hit",
"entity.sulfur_cube.high_resistance.push",
"entity.sulfur_cube.explosive.hit",
"entity.sulfur_cube.explosive.push",
"entity.sulfur_cube.hot.hit",
"entity.sulfur_cube.hot.push",
"entity.sulfur_cube.squish",
"block.potent_sulfur.noxious_gas",
"entity.small_sulfur_cube.death",
"entity.small_sulfur_cube.hurt",
"entity.small_sulfur_cube.jump",
"entity.small_sulfur_cube.squish",
"entity.small_sulfur_cube.eat",
];
#[allow(clippy::large_stack_arrays)]
const LOOKUP: &[(&str, Self)] = &[
@ -4191,6 +4323,11 @@ impl Sound {
),
("block.chorus_flower.death", Self::BlockChorusFlowerDeath),
("block.chorus_flower.grow", Self::BlockChorusFlowerGrow),
("block.cinnabar.break", Self::BlockCinnabarBreak),
("block.cinnabar.fall", Self::BlockCinnabarFall),
("block.cinnabar.hit", Self::BlockCinnabarHit),
("block.cinnabar.place", Self::BlockCinnabarPlace),
("block.cinnabar.step", Self::BlockCinnabarStep),
("block.cobweb.break", Self::BlockCobwebBreak),
("block.cobweb.fall", Self::BlockCobwebFall),
("block.cobweb.hit", Self::BlockCobwebHit),
@ -4846,6 +4983,31 @@ impl Sound {
("block.portal.ambient", Self::BlockPortalAmbient),
("block.portal.travel", Self::BlockPortalTravel),
("block.portal.trigger", Self::BlockPortalTrigger),
("block.potent_sulfur.break", Self::BlockPotentSulfurBreak),
("block.potent_sulfur.fall", Self::BlockPotentSulfurFall),
(
"block.potent_sulfur.geyser_continuous_eruption",
Self::BlockPotentSulfurGeyserContinuousEruption,
),
(
"block.potent_sulfur.geyser_continuous_eruption_active",
Self::BlockPotentSulfurGeyserContinuousEruptionActive,
),
(
"block.potent_sulfur.geyser_eruption",
Self::BlockPotentSulfurGeyserEruption,
),
(
"block.potent_sulfur.geyser_eruption_active",
Self::BlockPotentSulfurGeyserEruptionActive,
),
("block.potent_sulfur.hit", Self::BlockPotentSulfurHit),
(
"block.potent_sulfur.noxious_gas",
Self::BlockPotentSulfurNoxiousGas,
),
("block.potent_sulfur.place", Self::BlockPotentSulfurPlace),
("block.potent_sulfur.step", Self::BlockPotentSulfurStep),
("block.powder_snow.break", Self::BlockPowderSnowBreak),
("block.powder_snow.fall", Self::BlockPowderSnowFall),
("block.powder_snow.hit", Self::BlockPowderSnowHit),
@ -5041,6 +5203,17 @@ impl Sound {
"block.stone_pressure_plate.click_on",
Self::BlockStonePressurePlateClickOn,
),
("block.sulfur.break", Self::BlockSulfurBreak),
("block.sulfur.fall", Self::BlockSulfurFall),
("block.sulfur.hit", Self::BlockSulfurHit),
("block.sulfur.place", Self::BlockSulfurPlace),
("block.sulfur.step", Self::BlockSulfurStep),
("block.sulfur_spike.break", Self::BlockSulfurSpikeBreak),
("block.sulfur_spike.fall", Self::BlockSulfurSpikeFall),
("block.sulfur_spike.hit", Self::BlockSulfurSpikeHit),
("block.sulfur_spike.land", Self::BlockSulfurSpikeLand),
("block.sulfur_spike.place", Self::BlockSulfurSpikePlace),
("block.sulfur_spike.step", Self::BlockSulfurSpikeStep),
(
"block.suspicious_gravel.break",
Self::BlockSuspiciousGravelBreak,
@ -6326,6 +6499,26 @@ impl Sound {
("entity.slime.jump_small", Self::EntitySlimeJumpSmall),
("entity.slime.squish", Self::EntitySlimeSquish),
("entity.slime.squish_small", Self::EntitySlimeSquishSmall),
(
"entity.small_sulfur_cube.death",
Self::EntitySmallSulfurCubeDeath,
),
(
"entity.small_sulfur_cube.eat",
Self::EntitySmallSulfurCubeEat,
),
(
"entity.small_sulfur_cube.hurt",
Self::EntitySmallSulfurCubeHurt,
),
(
"entity.small_sulfur_cube.jump",
Self::EntitySmallSulfurCubeJump,
),
(
"entity.small_sulfur_cube.squish",
Self::EntitySmallSulfurCubeSquish,
),
("entity.sniffer.death", Self::EntitySnifferDeath),
("entity.sniffer.digging", Self::EntitySnifferDigging),
(
@ -6370,6 +6563,103 @@ impl Sound {
("entity.strider.saddle", Self::EntityStriderSaddle),
("entity.strider.step", Self::EntityStriderStep),
("entity.strider.step_lava", Self::EntityStriderStepLava),
("entity.sulfur_cube.absorb", Self::EntitySulfurCubeAbsorb),
("entity.sulfur_cube.bounce", Self::EntitySulfurCubeBounce),
(
"entity.sulfur_cube.bouncy.hit",
Self::EntitySulfurCubeBouncyHit,
),
(
"entity.sulfur_cube.bouncy.push",
Self::EntitySulfurCubeBouncyPush,
),
("entity.sulfur_cube.death", Self::EntitySulfurCubeDeath),
("entity.sulfur_cube.eject", Self::EntitySulfurCubeEject),
(
"entity.sulfur_cube.explosive.hit",
Self::EntitySulfurCubeExplosiveHit,
),
(
"entity.sulfur_cube.explosive.push",
Self::EntitySulfurCubeExplosivePush,
),
(
"entity.sulfur_cube.fast_flat.hit",
Self::EntitySulfurCubeFastFlatHit,
),
(
"entity.sulfur_cube.fast_flat.push",
Self::EntitySulfurCubeFastFlatPush,
),
(
"entity.sulfur_cube.fast_sliding.hit",
Self::EntitySulfurCubeFastSlidingHit,
),
(
"entity.sulfur_cube.fast_sliding.push",
Self::EntitySulfurCubeFastSlidingPush,
),
(
"entity.sulfur_cube.high_resistance.hit",
Self::EntitySulfurCubeHighResistanceHit,
),
(
"entity.sulfur_cube.high_resistance.push",
Self::EntitySulfurCubeHighResistancePush,
),
("entity.sulfur_cube.hot.hit", Self::EntitySulfurCubeHotHit),
("entity.sulfur_cube.hot.push", Self::EntitySulfurCubeHotPush),
("entity.sulfur_cube.hurt", Self::EntitySulfurCubeHurt),
("entity.sulfur_cube.jump", Self::EntitySulfurCubeJump),
(
"entity.sulfur_cube.light.hit",
Self::EntitySulfurCubeLightHit,
),
(
"entity.sulfur_cube.light.push",
Self::EntitySulfurCubeLightPush,
),
(
"entity.sulfur_cube.regular.hit",
Self::EntitySulfurCubeRegularHit,
),
(
"entity.sulfur_cube.regular.push",
Self::EntitySulfurCubeRegularPush,
),
(
"entity.sulfur_cube.slow_bouncy.hit",
Self::EntitySulfurCubeSlowBouncyHit,
),
(
"entity.sulfur_cube.slow_bouncy.push",
Self::EntitySulfurCubeSlowBouncyPush,
),
(
"entity.sulfur_cube.slow_flat.hit",
Self::EntitySulfurCubeSlowFlatHit,
),
(
"entity.sulfur_cube.slow_flat.push",
Self::EntitySulfurCubeSlowFlatPush,
),
(
"entity.sulfur_cube.slow_sliding.hit",
Self::EntitySulfurCubeSlowSlidingHit,
),
(
"entity.sulfur_cube.slow_sliding.push",
Self::EntitySulfurCubeSlowSlidingPush,
),
("entity.sulfur_cube.squish", Self::EntitySulfurCubeSquish),
(
"entity.sulfur_cube.sticky.hit",
Self::EntitySulfurCubeStickyHit,
),
(
"entity.sulfur_cube.sticky.push",
Self::EntitySulfurCubeStickyPush,
),
("entity.tadpole.death", Self::EntityTadpoleDeath),
("entity.tadpole.flop", Self::EntityTadpoleFlop),
("entity.tadpole.grow_up", Self::EntityTadpoleGrowUp),
@ -6787,6 +7077,10 @@ impl Sound {
"item.bucket.empty_powder_snow",
Self::ItemBucketEmptyPowderSnow,
),
(
"item.bucket.empty_sulfur_cube",
Self::ItemBucketEmptySulfurCube,
),
("item.bucket.empty_tadpole", Self::ItemBucketEmptyTadpole),
("item.bucket.fill", Self::ItemBucketFill),
("item.bucket.fill_axolotl", Self::ItemBucketFillAxolotl),
@ -6796,6 +7090,10 @@ impl Sound {
"item.bucket.fill_powder_snow",
Self::ItemBucketFillPowderSnow,
),
(
"item.bucket.fill_sulfur_cube",
Self::ItemBucketFillSulfurCube,
),
("item.bucket.fill_tadpole", Self::ItemBucketFillTadpole),
("item.bundle.drop_contents", Self::ItemBundleDropContents),
("item.bundle.insert", Self::ItemBundleInsert),
@ -6967,12 +7265,17 @@ impl Sound {
"music.overworld.stony_peaks",
Self::MusicOverworldStonyPeaks,
),
(
"music.overworld.sulfur_caves",
Self::MusicOverworldSulfurCaves,
),
("music.overworld.swamp", Self::MusicOverworldSwamp),
("music.under_water", Self::MusicUnderWater),
("music_disc.11", Self::MusicDisc11),
("music_disc.13", Self::MusicDisc13),
("music_disc.5", Self::MusicDisc5),
("music_disc.blocks", Self::MusicDiscBlocks),
("music_disc.bounce", Self::MusicDiscBounce),
("music_disc.cat", Self::MusicDiscCat),
("music_disc.chirp", Self::MusicDiscChirp),
("music_disc.creator", Self::MusicDiscCreator),
@ -7260,12 +7563,14 @@ impl Sound {
Self::ItemBucketEmptyFish,
Self::ItemBucketEmptyLava,
Self::ItemBucketEmptyPowderSnow,
Self::ItemBucketEmptySulfurCube,
Self::ItemBucketEmptyTadpole,
Self::ItemBucketFill,
Self::ItemBucketFillAxolotl,
Self::ItemBucketFillFish,
Self::ItemBucketFillLava,
Self::ItemBucketFillPowderSnow,
Self::ItemBucketFillSulfurCube,
Self::ItemBucketFillTadpole,
Self::ItemBundleDropContents,
Self::ItemBundleInsert,
@ -8063,6 +8368,7 @@ impl Sound {
Self::MusicDisc11,
Self::MusicDisc13,
Self::MusicDiscBlocks,
Self::MusicDiscBounce,
Self::MusicDiscCat,
Self::MusicDiscChirp,
Self::MusicDiscFar,
@ -8108,6 +8414,7 @@ impl Sound {
Self::MusicOverworldJungle,
Self::MusicOverworldSparseJungle,
Self::MusicOverworldBambooJungle,
Self::MusicOverworldSulfurCaves,
Self::MusicUnderWater,
Self::EntityNautilusAmbient,
Self::EntityNautilusAmbientLand,
@ -8637,6 +8944,12 @@ impl Sound {
Self::EntityStrayDeath,
Self::EntityStrayHurt,
Self::EntityStrayStep,
Self::BlockSulfurSpikeBreak,
Self::BlockSulfurSpikeStep,
Self::BlockSulfurSpikePlace,
Self::BlockSulfurSpikeHit,
Self::BlockSulfurSpikeFall,
Self::BlockSulfurSpikeLand,
Self::BlockSweetBerryBushBreak,
Self::BlockSweetBerryBushPlace,
Self::BlockSweetBerryBushPickBerries,
@ -8934,6 +9247,62 @@ impl Sound {
Self::ItemSaddleUnequip,
Self::ItemNautilusSaddleUnderwaterEquip,
Self::ItemNautilusSaddleEquip,
Self::BlockSulfurBreak,
Self::BlockSulfurStep,
Self::BlockSulfurPlace,
Self::BlockSulfurHit,
Self::BlockSulfurFall,
Self::BlockPotentSulfurBreak,
Self::BlockPotentSulfurStep,
Self::BlockPotentSulfurPlace,
Self::BlockPotentSulfurHit,
Self::BlockPotentSulfurFall,
Self::BlockPotentSulfurGeyserEruption,
Self::BlockPotentSulfurGeyserEruptionActive,
Self::BlockPotentSulfurGeyserContinuousEruption,
Self::BlockPotentSulfurGeyserContinuousEruptionActive,
Self::BlockCinnabarBreak,
Self::BlockCinnabarStep,
Self::BlockCinnabarPlace,
Self::BlockCinnabarHit,
Self::BlockCinnabarFall,
Self::EntitySulfurCubeAbsorb,
Self::EntitySulfurCubeBounce,
Self::EntitySulfurCubeDeath,
Self::EntitySulfurCubeEject,
Self::EntitySulfurCubeHurt,
Self::EntitySulfurCubeJump,
Self::EntitySulfurCubeRegularHit,
Self::EntitySulfurCubeRegularPush,
Self::EntitySulfurCubeBouncyHit,
Self::EntitySulfurCubeBouncyPush,
Self::EntitySulfurCubeSlowBouncyHit,
Self::EntitySulfurCubeSlowBouncyPush,
Self::EntitySulfurCubeSlowFlatHit,
Self::EntitySulfurCubeSlowFlatPush,
Self::EntitySulfurCubeFastFlatHit,
Self::EntitySulfurCubeFastFlatPush,
Self::EntitySulfurCubeLightHit,
Self::EntitySulfurCubeLightPush,
Self::EntitySulfurCubeFastSlidingHit,
Self::EntitySulfurCubeFastSlidingPush,
Self::EntitySulfurCubeSlowSlidingHit,
Self::EntitySulfurCubeSlowSlidingPush,
Self::EntitySulfurCubeStickyHit,
Self::EntitySulfurCubeStickyPush,
Self::EntitySulfurCubeHighResistanceHit,
Self::EntitySulfurCubeHighResistancePush,
Self::EntitySulfurCubeExplosiveHit,
Self::EntitySulfurCubeExplosivePush,
Self::EntitySulfurCubeHotHit,
Self::EntitySulfurCubeHotPush,
Self::EntitySulfurCubeSquish,
Self::BlockPotentSulfurNoxiousGas,
Self::EntitySmallSulfurCubeDeath,
Self::EntitySmallSulfurCubeHurt,
Self::EntitySmallSulfurCubeJump,
Self::EntitySmallSulfurCubeSquish,
Self::EntitySmallSulfurCubeEat,
]
}
}

File diff suppressed because it is too large Load Diff

View File

@ -2,107 +2,108 @@
use crate::entity_type::EntityType;
pub fn entity_from_egg(id: u16) -> Option<&'static EntityType> {
match id {
1131u16 => Some(&EntityType::CHICKEN),
1132u16 => Some(&EntityType::COW),
1133u16 => Some(&EntityType::PIG),
1134u16 => Some(&EntityType::SHEEP),
1135u16 => Some(&EntityType::CAMEL),
1136u16 => Some(&EntityType::DONKEY),
1137u16 => Some(&EntityType::HORSE),
1138u16 => Some(&EntityType::MULE),
1139u16 => Some(&EntityType::CAT),
1140u16 => Some(&EntityType::PARROT),
1141u16 => Some(&EntityType::WOLF),
1142u16 => Some(&EntityType::ARMADILLO),
1143u16 => Some(&EntityType::BAT),
1144u16 => Some(&EntityType::BEE),
1145u16 => Some(&EntityType::FOX),
1146u16 => Some(&EntityType::GOAT),
1147u16 => Some(&EntityType::LLAMA),
1148u16 => Some(&EntityType::OCELOT),
1149u16 => Some(&EntityType::PANDA),
1150u16 => Some(&EntityType::POLAR_BEAR),
1151u16 => Some(&EntityType::RABBIT),
1152u16 => Some(&EntityType::AXOLOTL),
1153u16 => Some(&EntityType::COD),
1154u16 => Some(&EntityType::DOLPHIN),
1155u16 => Some(&EntityType::FROG),
1156u16 => Some(&EntityType::GLOW_SQUID),
1157u16 => Some(&EntityType::NAUTILUS),
1158u16 => Some(&EntityType::PUFFERFISH),
1159u16 => Some(&EntityType::SALMON),
1160u16 => Some(&EntityType::SQUID),
1161u16 => Some(&EntityType::TADPOLE),
1162u16 => Some(&EntityType::TROPICAL_FISH),
1163u16 => Some(&EntityType::TURTLE),
1164u16 => Some(&EntityType::ALLAY),
1165u16 => Some(&EntityType::MOOSHROOM),
1166u16 => Some(&EntityType::SNIFFER),
1167u16 => Some(&EntityType::COPPER_GOLEM),
1168u16 => Some(&EntityType::IRON_GOLEM),
1169u16 => Some(&EntityType::SNOW_GOLEM),
1170u16 => Some(&EntityType::TRADER_LLAMA),
1171u16 => Some(&EntityType::VILLAGER),
1172u16 => Some(&EntityType::WANDERING_TRADER),
1173u16 => Some(&EntityType::BOGGED),
1174u16 => Some(&EntityType::CAMEL_HUSK),
1175u16 => Some(&EntityType::DROWNED),
1176u16 => Some(&EntityType::HUSK),
1177u16 => Some(&EntityType::PARCHED),
1178u16 => Some(&EntityType::SKELETON),
1179u16 => Some(&EntityType::SKELETON_HORSE),
1180u16 => Some(&EntityType::STRAY),
1181u16 => Some(&EntityType::WITHER),
1182u16 => Some(&EntityType::WITHER_SKELETON),
1183u16 => Some(&EntityType::ZOMBIE),
1184u16 => Some(&EntityType::ZOMBIE_HORSE),
1185u16 => Some(&EntityType::ZOMBIE_NAUTILUS),
1186u16 => Some(&EntityType::ZOMBIE_VILLAGER),
1187u16 => Some(&EntityType::CAVE_SPIDER),
1188u16 => Some(&EntityType::SPIDER),
1189u16 => Some(&EntityType::BREEZE),
1190u16 => Some(&EntityType::CREAKING),
1191u16 => Some(&EntityType::CREEPER),
1192u16 => Some(&EntityType::ELDER_GUARDIAN),
1193u16 => Some(&EntityType::GUARDIAN),
1194u16 => Some(&EntityType::PHANTOM),
1195u16 => Some(&EntityType::SILVERFISH),
1196u16 => Some(&EntityType::SLIME),
1197u16 => Some(&EntityType::WARDEN),
1198u16 => Some(&EntityType::WITCH),
1199u16 => Some(&EntityType::EVOKER),
1200u16 => Some(&EntityType::PILLAGER),
1201u16 => Some(&EntityType::RAVAGER),
1202u16 => Some(&EntityType::VINDICATOR),
1203u16 => Some(&EntityType::VEX),
1204u16 => Some(&EntityType::BLAZE),
1205u16 => Some(&EntityType::GHAST),
1206u16 => Some(&EntityType::HAPPY_GHAST),
1207u16 => Some(&EntityType::HOGLIN),
1208u16 => Some(&EntityType::MAGMA_CUBE),
1209u16 => Some(&EntityType::PIGLIN),
1210u16 => Some(&EntityType::PIGLIN_BRUTE),
1211u16 => Some(&EntityType::STRIDER),
1212u16 => Some(&EntityType::ZOGLIN),
1213u16 => Some(&EntityType::ZOMBIFIED_PIGLIN),
1214u16 => Some(&EntityType::ENDER_DRAGON),
1215u16 => Some(&EntityType::ENDERMAN),
1216u16 => Some(&EntityType::ENDERMITE),
1217u16 => Some(&EntityType::SHULKER),
1159u16 => Some(&EntityType::CHICKEN),
1160u16 => Some(&EntityType::COW),
1161u16 => Some(&EntityType::PIG),
1162u16 => Some(&EntityType::SHEEP),
1163u16 => Some(&EntityType::CAMEL),
1164u16 => Some(&EntityType::DONKEY),
1165u16 => Some(&EntityType::HORSE),
1166u16 => Some(&EntityType::MULE),
1167u16 => Some(&EntityType::CAT),
1168u16 => Some(&EntityType::PARROT),
1169u16 => Some(&EntityType::WOLF),
1170u16 => Some(&EntityType::ARMADILLO),
1171u16 => Some(&EntityType::BAT),
1172u16 => Some(&EntityType::BEE),
1173u16 => Some(&EntityType::FOX),
1174u16 => Some(&EntityType::GOAT),
1175u16 => Some(&EntityType::LLAMA),
1176u16 => Some(&EntityType::OCELOT),
1177u16 => Some(&EntityType::PANDA),
1178u16 => Some(&EntityType::POLAR_BEAR),
1179u16 => Some(&EntityType::RABBIT),
1180u16 => Some(&EntityType::AXOLOTL),
1181u16 => Some(&EntityType::COD),
1182u16 => Some(&EntityType::DOLPHIN),
1183u16 => Some(&EntityType::FROG),
1184u16 => Some(&EntityType::GLOW_SQUID),
1185u16 => Some(&EntityType::NAUTILUS),
1186u16 => Some(&EntityType::PUFFERFISH),
1187u16 => Some(&EntityType::SALMON),
1188u16 => Some(&EntityType::SQUID),
1189u16 => Some(&EntityType::TADPOLE),
1190u16 => Some(&EntityType::TROPICAL_FISH),
1191u16 => Some(&EntityType::TURTLE),
1192u16 => Some(&EntityType::ALLAY),
1193u16 => Some(&EntityType::MOOSHROOM),
1194u16 => Some(&EntityType::SNIFFER),
1195u16 => Some(&EntityType::SULFUR_CUBE),
1196u16 => Some(&EntityType::COPPER_GOLEM),
1197u16 => Some(&EntityType::IRON_GOLEM),
1198u16 => Some(&EntityType::SNOW_GOLEM),
1199u16 => Some(&EntityType::TRADER_LLAMA),
1200u16 => Some(&EntityType::VILLAGER),
1201u16 => Some(&EntityType::WANDERING_TRADER),
1202u16 => Some(&EntityType::BOGGED),
1203u16 => Some(&EntityType::CAMEL_HUSK),
1204u16 => Some(&EntityType::DROWNED),
1205u16 => Some(&EntityType::HUSK),
1206u16 => Some(&EntityType::PARCHED),
1207u16 => Some(&EntityType::SKELETON),
1208u16 => Some(&EntityType::SKELETON_HORSE),
1209u16 => Some(&EntityType::STRAY),
1210u16 => Some(&EntityType::WITHER),
1211u16 => Some(&EntityType::WITHER_SKELETON),
1212u16 => Some(&EntityType::ZOMBIE),
1213u16 => Some(&EntityType::ZOMBIE_HORSE),
1214u16 => Some(&EntityType::ZOMBIE_NAUTILUS),
1215u16 => Some(&EntityType::ZOMBIE_VILLAGER),
1216u16 => Some(&EntityType::CAVE_SPIDER),
1217u16 => Some(&EntityType::SPIDER),
1218u16 => Some(&EntityType::BREEZE),
1219u16 => Some(&EntityType::CREAKING),
1220u16 => Some(&EntityType::CREEPER),
1221u16 => Some(&EntityType::ELDER_GUARDIAN),
1222u16 => Some(&EntityType::GUARDIAN),
1223u16 => Some(&EntityType::PHANTOM),
1224u16 => Some(&EntityType::SILVERFISH),
1225u16 => Some(&EntityType::SLIME),
1226u16 => Some(&EntityType::WARDEN),
1227u16 => Some(&EntityType::WITCH),
1228u16 => Some(&EntityType::EVOKER),
1229u16 => Some(&EntityType::PILLAGER),
1230u16 => Some(&EntityType::RAVAGER),
1231u16 => Some(&EntityType::VINDICATOR),
1232u16 => Some(&EntityType::VEX),
1233u16 => Some(&EntityType::BLAZE),
1234u16 => Some(&EntityType::GHAST),
1235u16 => Some(&EntityType::HAPPY_GHAST),
1236u16 => Some(&EntityType::HOGLIN),
1237u16 => Some(&EntityType::MAGMA_CUBE),
1238u16 => Some(&EntityType::PIGLIN),
1239u16 => Some(&EntityType::PIGLIN_BRUTE),
1240u16 => Some(&EntityType::STRIDER),
1241u16 => Some(&EntityType::ZOGLIN),
1242u16 => Some(&EntityType::ZOMBIFIED_PIGLIN),
1243u16 => Some(&EntityType::ENDER_DRAGON),
1244u16 => Some(&EntityType::ENDERMAN),
1245u16 => Some(&EntityType::ENDERMITE),
1246u16 => Some(&EntityType::SHULKER),
_ => None,
}
}
pub fn spawn_egg_ids() -> Box<[u16]> {
[
1131u16, 1132u16, 1133u16, 1134u16, 1135u16, 1136u16, 1137u16, 1138u16, 1139u16, 1140u16,
1141u16, 1142u16, 1143u16, 1144u16, 1145u16, 1146u16, 1147u16, 1148u16, 1149u16, 1150u16,
1151u16, 1152u16, 1153u16, 1154u16, 1155u16, 1156u16, 1157u16, 1158u16, 1159u16, 1160u16,
1161u16, 1162u16, 1163u16, 1164u16, 1165u16, 1166u16, 1167u16, 1168u16, 1169u16, 1170u16,
1171u16, 1172u16, 1173u16, 1174u16, 1175u16, 1176u16, 1177u16, 1178u16, 1179u16, 1180u16,
1181u16, 1182u16, 1183u16, 1184u16, 1185u16, 1186u16, 1187u16, 1188u16, 1189u16, 1190u16,
1191u16, 1192u16, 1193u16, 1194u16, 1195u16, 1196u16, 1197u16, 1198u16, 1199u16, 1200u16,
1201u16, 1202u16, 1203u16, 1204u16, 1205u16, 1206u16, 1207u16, 1208u16, 1209u16, 1210u16,
1211u16, 1212u16, 1213u16, 1214u16, 1215u16, 1216u16, 1217u16,
1159u16, 1160u16, 1161u16, 1162u16, 1163u16, 1164u16, 1165u16, 1166u16, 1167u16, 1168u16,
1169u16, 1170u16, 1171u16, 1172u16, 1173u16, 1174u16, 1175u16, 1176u16, 1177u16, 1178u16,
1179u16, 1180u16, 1181u16, 1182u16, 1183u16, 1184u16, 1185u16, 1186u16, 1187u16, 1188u16,
1189u16, 1190u16, 1191u16, 1192u16, 1193u16, 1194u16, 1195u16, 1196u16, 1197u16, 1198u16,
1199u16, 1200u16, 1201u16, 1202u16, 1203u16, 1204u16, 1205u16, 1206u16, 1207u16, 1208u16,
1209u16, 1210u16, 1211u16, 1212u16, 1213u16, 1214u16, 1215u16, 1216u16, 1217u16, 1218u16,
1219u16, 1220u16, 1221u16, 1222u16, 1223u16, 1224u16, 1225u16, 1226u16, 1227u16, 1228u16,
1229u16, 1230u16, 1231u16, 1232u16, 1233u16, 1234u16, 1235u16, 1236u16, 1237u16, 1238u16,
1239u16, 1240u16, 1241u16, 1242u16, 1243u16, 1244u16, 1245u16, 1246u16,
]
.into()
}

View File

@ -55,165 +55,165 @@ impl TryFrom<i32> for StatisticCategory {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[repr(i32)]
pub enum CustomStatistic {
DamageBlockedByShield = 29i32,
InteractWithBeacon = 46i32,
FallOneCm = 10i32,
OpenChest = 59i32,
PlayTime = 1i32,
WalkOneCm = 6i32,
RaidWin = 72i32,
DamageDealtResisted = 27i32,
CleanArmor = 42i32,
SwimOneCm = 20i32,
HappyGhastOneCm = 17i32,
TalkedToVillager = 37i32,
EnchantItem = 55i32,
Drop = 24i32,
PotFlower = 52i32,
OpenShulkerBox = 61i32,
WalkOnWaterOneCm = 9i32,
InteractWithCampfire = 66i32,
InteractWithFurnace = 57i32,
InteractWithLectern = 65i32,
RaidTrigger = 71i32,
StriderOneCm = 21i32,
CrouchOneCm = 7i32,
EatCakeSlice = 39i32,
PlayRecord = 56i32,
InteractWithCraftingTable = 58i32,
SneakTime = 5i32,
BoatOneCm = 15i32,
DamageResisted = 31i32,
Deaths = 32i32,
TotalWorldTime = 2i32,
PigOneCm = 16i32,
AviateOneCm = 19i32,
Jump = 23i32,
AnimalsBred = 34i32,
InspectHopper = 48i32,
InteractWithBlastFurnace = 63i32,
SprintOneCm = 8i32,
DamageTaken = 28i32,
MobKills = 33i32,
InteractWithCartographyTable = 67i32,
TimeSinceDeath = 3i32,
MinecartOneCm = 14i32,
InteractWithGrindstone = 74i32,
PlayNoteblock = 50i32,
OpenBarrel = 62i32,
NautilusOneCm = 22i32,
CleanShulkerBox = 44i32,
FlyOneCm = 12i32,
PlayerKills = 35i32,
InspectDropper = 47i32,
InteractWithLoom = 68i32,
DamageDealt = 25i32,
InspectDispenser = 49i32,
UseCauldron = 41i32,
TimeSinceRest = 4i32,
InteractWithBrewingstand = 45i32,
InteractWithAnvil = 73i32,
TuneNoteblock = 51i32,
BellRing = 70i32,
FillCauldron = 40i32,
FishCaught = 36i32,
ClimbOneCm = 11i32,
InteractWithSmithingTable = 76i32,
TriggerTrappedChest = 53i32,
InteractWithSmoker = 64i32,
OpenEnderchest = 54i32,
CleanBanner = 43i32,
LeaveGame = 0i32,
SleepInBed = 60i32,
DamageDealtAbsorbed = 26i32,
WalkUnderWaterOneCm = 13i32,
InspectDispenser = 49i32,
PotFlower = 52i32,
TradedWithVillager = 38i32,
InteractWithStonecutter = 69i32,
HorseOneCm = 18i32,
PlayNoteblock = 50i32,
WalkOnWaterOneCm = 9i32,
OpenShulkerBox = 61i32,
DamageResisted = 31i32,
InteractWithLectern = 65i32,
BellRing = 70i32,
UseCauldron = 41i32,
InteractWithAnvil = 73i32,
FallOneCm = 10i32,
PigOneCm = 16i32,
EnchantItem = 55i32,
SleepInBed = 60i32,
FlyOneCm = 12i32,
RaidTrigger = 71i32,
DamageDealtResisted = 27i32,
InteractWithBrewingstand = 45i32,
InspectHopper = 48i32,
PlayRecord = 56i32,
WalkOneCm = 6i32,
CleanArmor = 42i32,
InteractWithCartographyTable = 67i32,
OpenEnderchest = 54i32,
InteractWithFurnace = 57i32,
SwimOneCm = 20i32,
DamageAbsorbed = 30i32,
OpenBarrel = 62i32,
TimeSinceRest = 4i32,
DamageBlockedByShield = 29i32,
NautilusOneCm = 22i32,
TimeSinceDeath = 3i32,
InteractWithBlastFurnace = 63i32,
ClimbOneCm = 11i32,
HappyGhastOneCm = 17i32,
TotalWorldTime = 2i32,
Deaths = 32i32,
InteractWithBeacon = 46i32,
PlayTime = 1i32,
InteractWithCraftingTable = 58i32,
MinecartOneCm = 14i32,
TalkedToVillager = 37i32,
PlayerKills = 35i32,
InteractWithStonecutter = 69i32,
InteractWithSmithingTable = 76i32,
Jump = 23i32,
FillCauldron = 40i32,
RaidWin = 72i32,
TriggerTrappedChest = 53i32,
BoatOneCm = 15i32,
DamageDealtAbsorbed = 26i32,
CleanShulkerBox = 44i32,
TuneNoteblock = 51i32,
InteractWithCampfire = 66i32,
SprintOneCm = 8i32,
InteractWithLoom = 68i32,
FishCaught = 36i32,
InteractWithGrindstone = 74i32,
DamageTaken = 28i32,
InspectDropper = 47i32,
AnimalsBred = 34i32,
WalkUnderWaterOneCm = 13i32,
HorseOneCm = 18i32,
OpenChest = 59i32,
MobKills = 33i32,
SneakTime = 5i32,
EatCakeSlice = 39i32,
CrouchOneCm = 7i32,
InteractWithSmoker = 64i32,
TargetHit = 75i32,
StriderOneCm = 21i32,
LeaveGame = 0i32,
Drop = 24i32,
}
impl CustomStatistic {
#[must_use]
pub const fn from_i32(id: i32) -> Option<Self> {
match id {
29i32 => Some(Self::DamageBlockedByShield),
46i32 => Some(Self::InteractWithBeacon),
10i32 => Some(Self::FallOneCm),
59i32 => Some(Self::OpenChest),
1i32 => Some(Self::PlayTime),
6i32 => Some(Self::WalkOneCm),
72i32 => Some(Self::RaidWin),
27i32 => Some(Self::DamageDealtResisted),
42i32 => Some(Self::CleanArmor),
20i32 => Some(Self::SwimOneCm),
17i32 => Some(Self::HappyGhastOneCm),
37i32 => Some(Self::TalkedToVillager),
55i32 => Some(Self::EnchantItem),
24i32 => Some(Self::Drop),
52i32 => Some(Self::PotFlower),
61i32 => Some(Self::OpenShulkerBox),
9i32 => Some(Self::WalkOnWaterOneCm),
66i32 => Some(Self::InteractWithCampfire),
57i32 => Some(Self::InteractWithFurnace),
65i32 => Some(Self::InteractWithLectern),
71i32 => Some(Self::RaidTrigger),
21i32 => Some(Self::StriderOneCm),
7i32 => Some(Self::CrouchOneCm),
39i32 => Some(Self::EatCakeSlice),
56i32 => Some(Self::PlayRecord),
58i32 => Some(Self::InteractWithCraftingTable),
5i32 => Some(Self::SneakTime),
15i32 => Some(Self::BoatOneCm),
31i32 => Some(Self::DamageResisted),
32i32 => Some(Self::Deaths),
2i32 => Some(Self::TotalWorldTime),
16i32 => Some(Self::PigOneCm),
19i32 => Some(Self::AviateOneCm),
23i32 => Some(Self::Jump),
34i32 => Some(Self::AnimalsBred),
48i32 => Some(Self::InspectHopper),
63i32 => Some(Self::InteractWithBlastFurnace),
8i32 => Some(Self::SprintOneCm),
28i32 => Some(Self::DamageTaken),
33i32 => Some(Self::MobKills),
67i32 => Some(Self::InteractWithCartographyTable),
3i32 => Some(Self::TimeSinceDeath),
14i32 => Some(Self::MinecartOneCm),
74i32 => Some(Self::InteractWithGrindstone),
50i32 => Some(Self::PlayNoteblock),
62i32 => Some(Self::OpenBarrel),
22i32 => Some(Self::NautilusOneCm),
44i32 => Some(Self::CleanShulkerBox),
12i32 => Some(Self::FlyOneCm),
35i32 => Some(Self::PlayerKills),
47i32 => Some(Self::InspectDropper),
68i32 => Some(Self::InteractWithLoom),
25i32 => Some(Self::DamageDealt),
49i32 => Some(Self::InspectDispenser),
41i32 => Some(Self::UseCauldron),
4i32 => Some(Self::TimeSinceRest),
45i32 => Some(Self::InteractWithBrewingstand),
73i32 => Some(Self::InteractWithAnvil),
51i32 => Some(Self::TuneNoteblock),
70i32 => Some(Self::BellRing),
40i32 => Some(Self::FillCauldron),
36i32 => Some(Self::FishCaught),
11i32 => Some(Self::ClimbOneCm),
76i32 => Some(Self::InteractWithSmithingTable),
53i32 => Some(Self::TriggerTrappedChest),
64i32 => Some(Self::InteractWithSmoker),
54i32 => Some(Self::OpenEnderchest),
43i32 => Some(Self::CleanBanner),
0i32 => Some(Self::LeaveGame),
60i32 => Some(Self::SleepInBed),
26i32 => Some(Self::DamageDealtAbsorbed),
13i32 => Some(Self::WalkUnderWaterOneCm),
49i32 => Some(Self::InspectDispenser),
52i32 => Some(Self::PotFlower),
38i32 => Some(Self::TradedWithVillager),
69i32 => Some(Self::InteractWithStonecutter),
18i32 => Some(Self::HorseOneCm),
50i32 => Some(Self::PlayNoteblock),
9i32 => Some(Self::WalkOnWaterOneCm),
61i32 => Some(Self::OpenShulkerBox),
31i32 => Some(Self::DamageResisted),
65i32 => Some(Self::InteractWithLectern),
70i32 => Some(Self::BellRing),
41i32 => Some(Self::UseCauldron),
73i32 => Some(Self::InteractWithAnvil),
10i32 => Some(Self::FallOneCm),
16i32 => Some(Self::PigOneCm),
55i32 => Some(Self::EnchantItem),
60i32 => Some(Self::SleepInBed),
12i32 => Some(Self::FlyOneCm),
71i32 => Some(Self::RaidTrigger),
27i32 => Some(Self::DamageDealtResisted),
45i32 => Some(Self::InteractWithBrewingstand),
48i32 => Some(Self::InspectHopper),
56i32 => Some(Self::PlayRecord),
6i32 => Some(Self::WalkOneCm),
42i32 => Some(Self::CleanArmor),
67i32 => Some(Self::InteractWithCartographyTable),
54i32 => Some(Self::OpenEnderchest),
57i32 => Some(Self::InteractWithFurnace),
20i32 => Some(Self::SwimOneCm),
30i32 => Some(Self::DamageAbsorbed),
62i32 => Some(Self::OpenBarrel),
4i32 => Some(Self::TimeSinceRest),
29i32 => Some(Self::DamageBlockedByShield),
22i32 => Some(Self::NautilusOneCm),
3i32 => Some(Self::TimeSinceDeath),
63i32 => Some(Self::InteractWithBlastFurnace),
11i32 => Some(Self::ClimbOneCm),
17i32 => Some(Self::HappyGhastOneCm),
2i32 => Some(Self::TotalWorldTime),
32i32 => Some(Self::Deaths),
46i32 => Some(Self::InteractWithBeacon),
1i32 => Some(Self::PlayTime),
58i32 => Some(Self::InteractWithCraftingTable),
14i32 => Some(Self::MinecartOneCm),
37i32 => Some(Self::TalkedToVillager),
35i32 => Some(Self::PlayerKills),
69i32 => Some(Self::InteractWithStonecutter),
76i32 => Some(Self::InteractWithSmithingTable),
23i32 => Some(Self::Jump),
40i32 => Some(Self::FillCauldron),
72i32 => Some(Self::RaidWin),
53i32 => Some(Self::TriggerTrappedChest),
15i32 => Some(Self::BoatOneCm),
26i32 => Some(Self::DamageDealtAbsorbed),
44i32 => Some(Self::CleanShulkerBox),
51i32 => Some(Self::TuneNoteblock),
66i32 => Some(Self::InteractWithCampfire),
8i32 => Some(Self::SprintOneCm),
68i32 => Some(Self::InteractWithLoom),
36i32 => Some(Self::FishCaught),
74i32 => Some(Self::InteractWithGrindstone),
28i32 => Some(Self::DamageTaken),
47i32 => Some(Self::InspectDropper),
34i32 => Some(Self::AnimalsBred),
13i32 => Some(Self::WalkUnderWaterOneCm),
18i32 => Some(Self::HorseOneCm),
59i32 => Some(Self::OpenChest),
33i32 => Some(Self::MobKills),
5i32 => Some(Self::SneakTime),
39i32 => Some(Self::EatCakeSlice),
7i32 => Some(Self::CrouchOneCm),
64i32 => Some(Self::InteractWithSmoker),
75i32 => Some(Self::TargetHit),
21i32 => Some(Self::StriderOneCm),
0i32 => Some(Self::LeaveGame),
24i32 => Some(Self::Drop),
_ => None,
}
}

View File

@ -50,10 +50,15 @@ pub struct WeightedEntry {
pub structure: StructureKeys,
pub weight: u32,
}
pub struct ExclusionZone {
pub other_set: &'static str,
pub chunk_count: i32,
}
pub struct StructurePlacement {
pub frequency_reduction_method: Option<FrequencyReductionMethod>,
pub frequency: Option<f32>,
pub salt: u32,
pub exclusion_zone: Option<ExclusionZone>,
pub placement_type: StructurePlacementType,
}
#[derive(Clone, Copy)]
@ -102,6 +107,26 @@ pub enum TerrainAdaptation {
Bury,
Encapsulate,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum StructureType {
Jigsaw,
BuriedTreasure,
DesertPyramid,
EndCity,
Fortress,
Igloo,
JungleTemple,
WoodlandMansion,
Mineshaft,
OceanMonument,
NetherFossil,
OceanRuin,
RuinedPortal,
Shipwreck,
Stronghold,
SwampHut,
Unknown,
}
pub struct Structure {
pub biomes: &'static str,
pub step: GenerationStep,
@ -113,6 +138,8 @@ pub struct Structure {
pub max_distance_from_center: Option<i32>,
pub liquid_settings: Option<&'static str>,
pub dimension_padding: Option<i32>,
pub use_expansion_hack: Option<bool>,
pub structure_type: StructureType,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum GenerationStep {
@ -155,6 +182,8 @@ impl Structure {
max_distance_from_center: Some(116i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(false),
structure_type: StructureType::Jigsaw,
};
pub const BASTION_REMNANT: Self = Structure {
biomes: "#minecraft:has_structure/bastion_remnant",
@ -167,6 +196,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(false),
structure_type: StructureType::Jigsaw,
};
pub const BURIED_TREASURE: Self = Structure {
biomes: "#minecraft:has_structure/buried_treasure",
@ -179,6 +210,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::BuriedTreasure,
};
pub const DESERT_PYRAMID: Self = Structure {
biomes: "#minecraft:has_structure/desert_pyramid",
@ -191,6 +224,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::DesertPyramid,
};
pub const END_CITY: Self = Structure {
biomes: "#minecraft:has_structure/end_city",
@ -203,6 +238,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::EndCity,
};
pub const FORTRESS: Self = Structure {
biomes: "#minecraft:has_structure/nether_fortress",
@ -215,6 +252,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Fortress,
};
pub const IGLOO: Self = Structure {
biomes: "#minecraft:has_structure/igloo",
@ -227,6 +266,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Igloo,
};
pub const JUNGLE_PYRAMID: Self = Structure {
biomes: "#minecraft:has_structure/jungle_temple",
@ -239,6 +280,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::JungleTemple,
};
pub const MANSION: Self = Structure {
biomes: "#minecraft:has_structure/woodland_mansion",
@ -251,6 +294,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::WoodlandMansion,
};
pub const MINESHAFT: Self = Structure {
biomes: "#minecraft:has_structure/mineshaft",
@ -263,6 +308,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Mineshaft,
};
pub const MINESHAFT_MESA: Self = Structure {
biomes: "#minecraft:has_structure/mineshaft_mesa",
@ -275,6 +322,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Mineshaft,
};
pub const MONUMENT: Self = Structure {
biomes: "#minecraft:has_structure/ocean_monument",
@ -287,6 +336,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::OceanMonument,
};
pub const NETHER_FOSSIL: Self = Structure {
biomes: "#minecraft:has_structure/nether_fossil",
@ -299,6 +350,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::NetherFossil,
};
pub const OCEAN_RUIN_COLD: Self = Structure {
biomes: "#minecraft:has_structure/ocean_ruin_cold",
@ -311,6 +364,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::OceanRuin,
};
pub const OCEAN_RUIN_WARM: Self = Structure {
biomes: "#minecraft:has_structure/ocean_ruin_warm",
@ -323,6 +378,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::OceanRuin,
};
pub const PILLAGER_OUTPOST: Self = Structure {
biomes: "#minecraft:has_structure/pillager_outpost",
@ -335,6 +392,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(true),
structure_type: StructureType::Jigsaw,
};
pub const RUINED_PORTAL: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_standard",
@ -347,6 +406,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const RUINED_PORTAL_DESERT: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_desert",
@ -359,6 +420,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const RUINED_PORTAL_JUNGLE: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_jungle",
@ -371,6 +434,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const RUINED_PORTAL_MOUNTAIN: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_mountain",
@ -383,6 +448,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const RUINED_PORTAL_NETHER: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_nether",
@ -395,6 +462,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const RUINED_PORTAL_OCEAN: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_ocean",
@ -407,6 +476,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const RUINED_PORTAL_SWAMP: Self = Structure {
biomes: "#minecraft:has_structure/ruined_portal_swamp",
@ -419,6 +490,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::RuinedPortal,
};
pub const SHIPWRECK: Self = Structure {
biomes: "#minecraft:has_structure/shipwreck",
@ -431,6 +504,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Shipwreck,
};
pub const SHIPWRECK_BEACHED: Self = Structure {
biomes: "#minecraft:has_structure/shipwreck_beached",
@ -443,6 +518,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Shipwreck,
};
pub const STRONGHOLD: Self = Structure {
biomes: "#minecraft:has_structure/stronghold",
@ -455,6 +532,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::Stronghold,
};
pub const SWAMP_HUT: Self = Structure {
biomes: "#minecraft:has_structure/swamp_hut",
@ -467,6 +546,8 @@ impl Structure {
max_distance_from_center: None,
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: None,
structure_type: StructureType::SwampHut,
};
pub const TRAIL_RUINS: Self = Structure {
biomes: "#minecraft:has_structure/trail_ruins",
@ -479,6 +560,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(false),
structure_type: StructureType::Jigsaw,
};
pub const TRIAL_CHAMBERS: Self = Structure {
biomes: "#minecraft:has_structure/trial_chambers",
@ -491,6 +574,8 @@ impl Structure {
max_distance_from_center: Some(116i32),
liquid_settings: Some("ignore_waterlogging"),
dimension_padding: Some(10i32),
use_expansion_hack: Some(false),
structure_type: StructureType::Jigsaw,
};
pub const VILLAGE_DESERT: Self = Structure {
biomes: "#minecraft:has_structure/village_desert",
@ -503,6 +588,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(true),
structure_type: StructureType::Jigsaw,
};
pub const VILLAGE_PLAINS: Self = Structure {
biomes: "#minecraft:has_structure/village_plains",
@ -515,6 +602,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(true),
structure_type: StructureType::Jigsaw,
};
pub const VILLAGE_SAVANNA: Self = Structure {
biomes: "#minecraft:has_structure/village_savanna",
@ -527,6 +616,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(true),
structure_type: StructureType::Jigsaw,
};
pub const VILLAGE_SNOWY: Self = Structure {
biomes: "#minecraft:has_structure/village_snowy",
@ -539,6 +630,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(true),
structure_type: StructureType::Jigsaw,
};
pub const VILLAGE_TAIGA: Self = Structure {
biomes: "#minecraft:has_structure/village_taiga",
@ -551,6 +644,8 @@ impl Structure {
max_distance_from_center: Some(80i32),
liquid_settings: None,
dimension_padding: None,
use_expansion_hack: Some(true),
structure_type: StructureType::Jigsaw,
};
#[must_use]
pub const fn get(key: &StructureKeys) -> &'static Self {
@ -598,6 +693,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 20083232u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 24i32,
separation: 8i32,
@ -614,6 +710,7 @@ impl StructureSet {
frequency_reduction_method: Some(FrequencyReductionMethod::LegacyType2),
frequency: Some(0.01f32),
salt: 0u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 1i32,
separation: 0i32,
@ -630,6 +727,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 14357617u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 32i32,
separation: 8i32,
@ -646,6 +744,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 10387313u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 20i32,
separation: 11i32,
@ -662,6 +761,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 14357618u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 32i32,
separation: 8i32,
@ -678,6 +778,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 14357619u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 32i32,
separation: 8i32,
@ -694,6 +795,7 @@ impl StructureSet {
frequency_reduction_method: Some(FrequencyReductionMethod::LegacyType3),
frequency: Some(0.004f32),
salt: 0u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 1i32,
separation: 0i32,
@ -716,6 +818,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 30084232u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 27i32,
separation: 4i32,
@ -738,6 +841,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 14357921u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 2i32,
separation: 1i32,
@ -754,6 +858,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 10387313u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 32i32,
separation: 5i32,
@ -770,6 +875,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 14357621u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 20i32,
separation: 8i32,
@ -792,6 +898,10 @@ impl StructureSet {
frequency_reduction_method: Some(FrequencyReductionMethod::LegacyType1),
frequency: Some(0.2f32),
salt: 165745296u32,
exclusion_zone: Some(ExclusionZone {
other_set: "minecraft:villages",
chunk_count: 10i32,
}),
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 32i32,
separation: 8i32,
@ -808,6 +918,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 34222645u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 40i32,
separation: 15i32,
@ -850,6 +961,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 165745295u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 24i32,
separation: 4i32,
@ -872,6 +984,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 0u32,
exclusion_zone: None,
placement_type: StructurePlacementType::ConcentricRings(
ConcentricRingsStructurePlacement {
spread: 3i32,
@ -891,6 +1004,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 14357620u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 32i32,
separation: 8i32,
@ -907,6 +1021,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 83469867u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 34i32,
separation: 8i32,
@ -923,6 +1038,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 94251327u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 34i32,
separation: 12i32,
@ -939,6 +1055,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 10387312u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 34i32,
separation: 8i32,
@ -973,6 +1090,7 @@ impl StructureSet {
frequency_reduction_method: None,
frequency: None,
salt: 10387319u32,
exclusion_zone: None,
placement_type: StructurePlacementType::RandomSpread(RandomSpreadStructurePlacement {
spacing: 80i32,
separation: 20i32,

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1582,8 +1582,8 @@ pub const TRADES_FLETCHER_LEVEL_4: &[VillagerTrade] = &[
pub const TRADES_FLETCHER_LEVEL_5: &[VillagerTrade] = &[
VillagerTrade {
wants: VillagerTradeItem {
item: &crate::item::Item::ARROW,
count: 5i32,
item: &crate::item::Item::EMERALD,
count: 2i32,
},
wants_b: None,
gives: VillagerTradeItem {

Some files were not shown because too many files have changed in this diff Show More