Begin port to 26.3: movement

This commit is contained in:
Tanner
2026-11-03 22:48:15 +00:00
parent 891f14b988
commit 59c76471f2
23 changed files with 30692 additions and 478 deletions
+22 -49
View File
@@ -1,10 +1,13 @@
from mosfet.info import items
import json
"""Minecraft 26.3 entity registry data and legacy mob selectors."""
from mosfet.info import items, mcdata
with open('minecraft_data/registries.json') as f:
MOBS = json.load(f)['minecraft:entity_type']['entries']
MOBS = {
'minecraft:' + name: dict(entity, protocol_id=entity['id'])
for name, entity in mcdata.mcd.entities.items()
}
VILLAGER = MOBS['minecraft:villager']['protocol_id']
VILLAGER = 93
# Villager profession enum values remain the protocol's 0-based profession IDs.
ARMORER = 1
BUTCHER = 2
CARTOGRAPHER = 3
@@ -23,53 +26,23 @@ WEAPONSMITH = 14
TRADES = {
ARMORER: [items.IRON_INGOT_ID],
BUTCHER: [items.BERRIES_ID],
FARMER: [items.PUMPKIN_ID, items.WHEAT_ID, items.POTATO_ID, items.CARROT_ID, items.BEETROOT_ID],
FARMER: [items.PUMPKIN_ID, items.WHEAT_ID, items.POTATO_ID,
items.CARROT_ID, items.BEETROOT_ID],
TOOLSMITH: [items.IRON_INGOT_ID],
WEAPONSMITH: [items.IRON_INGOT_ID],
}
EVIL = [
'blaze',
'cave_spider',
'creeper',
'drowned',
'elder_guardian',
'ender_dragon',
'enderman',
'endermite',
'evoker',
'ghast',
'giant',
'guardian',
'hoglin',
'husk',
'illusioner',
'magma_cube',
'phantom',
'piglin',
'piglin_brute',
'pillager',
'ravager',
'shulker',
'silverfish',
'skeleton',
'skeleton_horse',
'slime',
'spider',
'stray',
'vex',
'vindicator',
'witch',
'wither',
'zoglin',
'zombie',
'zombie_villager',
'blaze', 'cave_spider', 'creeper', 'drowned', 'elder_guardian',
'ender_dragon', 'enderman', 'endermite', 'evoker', 'ghast', 'giant',
'guardian', 'hoglin', 'husk', 'illusioner', 'magma_cube', 'phantom',
'piglin', 'piglin_brute', 'pillager', 'ravager', 'shulker', 'silverfish',
'skeleton', 'skeleton_horse', 'slime', 'spider', 'stray', 'vex',
'vindicator', 'witch', 'wither', 'zoglin', 'zombie', 'zombie_villager',
]
EVIL_IDS = set()
for mob_name in EVIL:
EVIL_IDS.add(MOBS['minecraft:'+mob_name]['protocol_id'])
MOB_NAMES = {}
for mob_name, mob in MOBS.items():
MOB_NAMES[MOBS[mob_name]['protocol_id']] = mob_name.replace('minecraft:', '')
EVIL_IDS = {
MOBS['minecraft:' + name]['protocol_id']
for name in EVIL if 'minecraft:' + name in MOBS
}
MOB_NAMES = {entity['protocol_id']: name.removeprefix('minecraft:')
for name, entity in MOBS.items()}