You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
2.4 KiB
128 lines
2.4 KiB
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') |
|
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 |
|
|
|
|