Port to 26.2
This commit is contained in:
parent
8ce76261ac
commit
23e7992b2d
File diff suppressed because one or more lines are too long
@ -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
@ -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
@ -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
@ -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}
|
||||
@ -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}
|
||||
@ -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}
|
||||
@ -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"]
|
||||
@ -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
@ -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}
|
||||
1
assets/meta_data_type/26_2_meta_data_type.json
Normal file
1
assets/meta_data_type/26_2_meta_data_type.json
Normal 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}
|
||||
@ -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]}}
|
||||
1
assets/packet/26_2_packets.json
Normal file
1
assets/packet/26_2_packets.json
Normal file
File diff suppressed because one or more lines are too long
@ -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
@ -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
1
assets/registry/26_2_synced_registries.json
Normal file
1
assets/registry/26_2_synced_registries.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -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
1
assets/tags/26_2_tags.json
Normal file
1
assets/tags/26_2_tags.json
Normal file
File diff suppressed because one or more lines are too long
1
assets/tracked_data/26_2_tracked_data.json
Normal file
1
assets/tracked_data/26_2_tracked_data.json
Normal 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}
|
||||
BIN
assets/viabackwards/data/mappings-26.2to26.1.nbt
Normal file
BIN
assets/viabackwards/data/mappings-26.2to26.1.nbt
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -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}
|
||||
14
pumpkin-codegen/Cargo.lock
generated
14
pumpkin-codegen/Cargo.lock
generated
@ -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",
|
||||
|
||||
@ -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)]
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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 {}) }
|
||||
}
|
||||
|
||||
@ -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),
|
||||
});
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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)| {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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) });
|
||||
|
||||
@ -675,4 +675,4 @@ pub fn build() -> TokenStream {
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 ---
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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 },
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
@ -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
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
@ -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),
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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
@ -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
@ -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
@ -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,
|
||||
|
||||
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
@ -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",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
@ -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
@ -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()
|
||||
}
|
||||
|
||||
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
@ -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
Loading…
Reference in New Issue
Block a user