Как определить совместимые чары для пользовательского подкласса ItemTool в модах Minecraft? - PullRequest
0 голосов
/ 07 августа 2020

Я думал, что молоток был бы хорошим мультитулом, что объясняет переопределения. У меня вопрос: как я могу определить список совместимых чар для этого нового класса инструментов? Например, мечи принимают sharpness, но не protection. Не расширяя другой класс, например ItemAxe, как я могу выбрать разрешенные чары для этого нового инструмента?

private class ItemHammer extends ItemTool {
    public ItemHammer(ToolMaterial material, String name) {
        super(3, material, null);
        GameRegistry.registerItem(this.setUnlocalizedName(name).setCreativeTab(TABHAMMERMOD).setTextureName(MODID+":"+name), name);
    }
    @Override public boolean func_150897_b(Block block) {
        return block.getHarvestLevel(0) <= this.toolMaterial.getHarvestLevel();
    }
    @Override public float func_150893_a(ItemStack stack, Block block) {
        return this.efficiencyOnProperMaterial;
    }
}

Например, чары топора: unbreaking, silk touch, fortune, и efficiency и sharpness/bane of arthropods/smite. Как я могу определить чары молота, например, я не знаю, unbreaking, efficiency, fortune и looting. Также мне нужно сообщить игре, какие чары для какого нового инструмента, если я добавлю новые эксклюзивные чары молота, чтобы они не были бесполезными. Я пытался исследовать в течение добрых 20 минут и вернулся с пустыми руками. Делаю моды на 1.7.10. То, что я спрашиваю, очень просто, я очень смущен, почему никто никогда не спрашивал, как это сделать раньше.

ОБНОВЛЕНИЕ: Я нашел это . Это полезно? Я так не думаю. Позор. Связанный вопрос (третья сторона) кажется правильным, но я не понимаю, как какой-либо из ответов будет sh то, что я хочу.

Также

Правильный способ НЕ использовать onUpdate, но в первую очередь добавить стек с чарами на creativeTab.

Внезапно меня заставляют скептически относиться к другим ответам.

...