блок может быть itemStack, достаточно сравнивать id, пример тому регистрация крафтов блока через id блока.Вот так можно)Вот только, как туда блок присобачить? в itemStack нет метода для блоков (getBlock()). Только предметы
код 1.7.10, в 1.6.4 такого нетItem.getItemFromBlock(Blocks.obsidian)
Iterator<IRecipe> removerRecipes = CraftingManager.getInstance().getRecipeList().iterator();
while (removerRecipes.hasNext()) {
ItemStack itemStack = removerRecipes.next().getRecipeOutput();
if (itemStack != null && itemStack.itemID == Block.planks.blockID) {
removerRecipes.remove();
}
}
Без использования сторонних модов. Чтобы лично мой мод заменял крафт.Minetweaker ?
List<IRecipe> recipeData = CraftingManager.getInstance().getRecipeList();
for(IRecipe item : recipeData) {
ItemStack item2 = item.getRecipeOutput();
if(item2 != null && item2.itemID == Block.bedrock.blockID) {
}
}
При запуске мода (FMLPostInitializationEvent) собираешь лист со всеми рецептами, и уже через for или iterator.
Примерно должно выглядеть так, могу ошибкаться
Iterator<IRecipe> removerRecipes = CraftingManager.getInstance().getRecipeList().iterator();
while (removerRecipes.hasNext())
{
ItemStack itemStack = removerRecipes.next().getRecipeOutput();
if(itemStack != null && itemStack.getItem() == Item.bed)
{
removerRecipes.remove();
}
}
в версии 1.6.4 итем не равен блоку. а ItemStack только для предметов. Ну или я туплюА зачем тебе нужен блок? Ты получаешь итем блока, от которого уже получаешь рецепт крафта. Его и удаляешь
нету такого метода в Item. (Уже пробовал, ещё до сообщения)Item.getItemFromBlock(Blocks.obsidian)
блок может быть itemStack, достаточно сравнивать id, пример тому регистрация крафтов блока через id блока.Вот так можно)Вот только, как туда блок присобачить? в itemStack нет метода для блоков (getBlock()). Только предметы
код 1.7.10, в 1.6.4 такого нетItem.getItemFromBlock(Blocks.obsidian)
Iterator<IRecipe> removerRecipes = CraftingManager.getInstance().getRecipeList().iterator();
while (removerRecipes.hasNext()) {
ItemStack itemStack = removerRecipes.next().getRecipeOutput();
if (itemStack != null && itemStack.itemID == Block.planks.blockID) {
removerRecipes.remove();
}
}
Спасибо. Были такие мысли, но как-то не догадался.блок может быть itemStack, достаточно сравнивать id, пример тому регистрация крафтов блока через id блока.