128 lines
2.4 KiB
Python
128 lines
2.4 KiB
Python
import json
|
|
|
|
with open('minecraft_data/registries.json') as f:
|
|
ITEMS = json.load(f)['minecraft:item']['entries']
|
|
|
|
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',
|
|
]
|
|
|
|
SHOVELS = [
|
|
'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',
|
|
]
|
|
|
|
SAPLINGS = [
|
|
'oak_sapling',
|
|
'spruce_sapling',
|
|
'birch_sapling',
|
|
'jungle_sapling',
|
|
'acacia_sapling',
|
|
'dark_oak_sapling',
|
|
]
|
|
|
|
FOOD = [
|
|
'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',
|
|
]
|
|
|
|
|
|
def get_set(ids):
|
|
result = set()
|
|
for item_name in ids:
|
|
result.add(ITEMS['minecraft:'+item_name]['protocol_id'])
|
|
return result
|
|
|
|
BED_IDS = get_set(BEDS)
|
|
SHOVEL_IDS = get_set(SHOVELS)
|
|
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:', '')
|
|
|
|
|
|
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')
|
|
WHEAT_SEEDS_ID = get_id('wheat_seeds')
|
|
BEETROOT_SEEDS_ID = get_id('beetroot_seeds')
|
|
PUMPKIN_ID = get_id('pumpkin')
|
|
|
|
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
|
|
|