Begin port to 26.3: movement
This commit is contained in:
+32
-69
@@ -1,78 +1,45 @@
|
||||
import json
|
||||
"""Minecraft 26.3 item registry data and automation selectors."""
|
||||
from mosfet.info import mcdata
|
||||
|
||||
with open('minecraft_data/registries.json') as f:
|
||||
ITEMS = json.load(f)['minecraft:item']['entries']
|
||||
ITEMS = {
|
||||
'minecraft:' + name: dict(item, protocol_id=item['id'])
|
||||
for name, item in mcdata.mcd.items.items()
|
||||
}
|
||||
|
||||
BEDS = [
|
||||
'white_bed',
|
||||
'orange_bed',
|
||||
'magenta_bed',
|
||||
'light_blue_bed',
|
||||
'yellow_bed',
|
||||
'lime_bed',
|
||||
'pink_bed',
|
||||
'gray_bed',
|
||||
'light_gray_bed',
|
||||
'cyan_bed',
|
||||
'purple_bed',
|
||||
'blue_bed',
|
||||
'brown_bed',
|
||||
'green_bed',
|
||||
'red_bed',
|
||||
'black_bed',
|
||||
'white_bed', 'orange_bed', 'magenta_bed', 'light_blue_bed',
|
||||
'yellow_bed', 'lime_bed', 'pink_bed', 'gray_bed', 'light_gray_bed',
|
||||
'cyan_bed', 'purple_bed', 'blue_bed', 'brown_bed', 'green_bed',
|
||||
'red_bed', 'black_bed',
|
||||
]
|
||||
|
||||
SHOVELS = [
|
||||
'wooden_shovel',
|
||||
'stone_shovel',
|
||||
'golden_shovel',
|
||||
'iron_shovel',
|
||||
'diamond_shovel',
|
||||
'netherite_shovel',
|
||||
'wooden_shovel', 'stone_shovel', 'golden_shovel', 'iron_shovel',
|
||||
'diamond_shovel', 'netherite_shovel',
|
||||
]
|
||||
|
||||
AXES = [
|
||||
'wooden_axe',
|
||||
'stone_axe',
|
||||
'golden_axe',
|
||||
'iron_axe',
|
||||
'diamond_axe',
|
||||
'netherite_axe',
|
||||
'wooden_axe', 'stone_axe', 'golden_axe', 'iron_axe',
|
||||
'diamond_axe', 'netherite_axe',
|
||||
]
|
||||
|
||||
SAPLINGS = [
|
||||
'oak_sapling',
|
||||
'spruce_sapling',
|
||||
'birch_sapling',
|
||||
'jungle_sapling',
|
||||
'acacia_sapling',
|
||||
'dark_oak_sapling',
|
||||
name for name in mcdata.mcd.blocks
|
||||
if name.endswith('_sapling') or name.endswith('_propagule')
|
||||
]
|
||||
|
||||
FOOD = [
|
||||
'cooked_porkchop',
|
||||
'cooked_beef',
|
||||
'bread',
|
||||
'cooked_chicken',
|
||||
'cooked_cod',
|
||||
'cooked_salmon',
|
||||
'cooked_porkchop', 'cooked_beef', 'bread', 'cooked_chicken',
|
||||
'cooked_cod', 'cooked_salmon',
|
||||
]
|
||||
|
||||
LOGS = [
|
||||
'oak_log',
|
||||
'spruce_log',
|
||||
'birch_log',
|
||||
'jungle_log',
|
||||
'acacia_log',
|
||||
'dark_oak_log',
|
||||
name for name in mcdata.mcd.blocks
|
||||
if name.endswith(('_log', '_wood', '_stem', '_hyphae'))
|
||||
]
|
||||
|
||||
|
||||
def get_set(ids):
|
||||
result = set()
|
||||
for item_name in ids:
|
||||
result.add(ITEMS['minecraft:'+item_name]['protocol_id'])
|
||||
return result
|
||||
def get_set(names):
|
||||
return {
|
||||
ITEMS['minecraft:' + name]['protocol_id']
|
||||
for name in names if 'minecraft:' + name in ITEMS
|
||||
}
|
||||
|
||||
|
||||
BED_IDS = get_set(BEDS)
|
||||
SHOVEL_IDS = get_set(SHOVELS)
|
||||
@@ -80,23 +47,22 @@ AXE_IDS = get_set(AXES)
|
||||
FOOD_IDS = get_set(FOOD)
|
||||
SAPLING_IDS = get_set(SAPLINGS)
|
||||
LOG_IDS = get_set(LOGS)
|
||||
|
||||
ITEM_NAMES = {}
|
||||
for item_name, item in ITEMS.items():
|
||||
ITEM_NAMES[ITEMS[item_name]['protocol_id']] = item_name.replace('minecraft:', '')
|
||||
ITEM_NAMES = {item['protocol_id']: name.removeprefix('minecraft:')
|
||||
for name, item in ITEMS.items()}
|
||||
|
||||
|
||||
def get_id(name):
|
||||
return ITEMS['minecraft:' + name]['protocol_id']
|
||||
|
||||
|
||||
def get_name(idx):
|
||||
return ITEM_NAMES[idx]
|
||||
|
||||
|
||||
CHEST_ID = get_id('chest')
|
||||
GAPPLE_ID = get_id('enchanted_golden_apple')
|
||||
SAND_ID = get_id('sand')
|
||||
NETHERWART_ID = get_id('nether_wart')
|
||||
|
||||
CARROT_ID = get_id('carrot')
|
||||
POTATO_ID = get_id('potato')
|
||||
WHEAT_ID = get_id('wheat')
|
||||
@@ -104,25 +70,22 @@ WHEAT_SEEDS_ID = get_id('wheat_seeds')
|
||||
BEETROOT_SEEDS_ID = get_id('beetroot_seeds')
|
||||
PUMPKIN_ID = get_id('pumpkin')
|
||||
BEETROOT_ID = get_id('beetroot')
|
||||
|
||||
EMERALD_ID = get_id('emerald')
|
||||
BERRIES_ID = get_id('sweet_berries')
|
||||
IRON_INGOT_ID = get_id('iron_ingot')
|
||||
|
||||
|
||||
INIT_NEEDED_ITEMS = BED_IDS | FOOD_IDS
|
||||
INIT_NEEDED_ITEMS.add(CHEST_ID)
|
||||
|
||||
NEEDED_ITEMS = INIT_NEEDED_ITEMS
|
||||
|
||||
INIT_WANTED_ITEMS = set()
|
||||
WANTED_ITEMS = INIT_WANTED_ITEMS
|
||||
|
||||
|
||||
def set_needed(items):
|
||||
global NEEDED_ITEMS
|
||||
NEEDED_ITEMS = INIT_NEEDED_ITEMS | items
|
||||
|
||||
|
||||
def set_wanted(items):
|
||||
global WANTED_ITEMS
|
||||
WANTED_ITEMS = INIT_WANTED_ITEMS | items
|
||||
|
||||
|
||||
Reference in New Issue
Block a user