@Override
@Nonnull
public ItemStack getCraftingResult(InventoryCrafting inv) {
int lanolinCount = 0;
ItemStack craftStack = null;
for(int i = 0; i < inv.getSizeInventory(); i++){
ItemStack tempStack = inv.getStackInSlot(i);
if(tempStack.getItem().getRegistryName().equals(ModItems.itemLanolin.getRegistryName()))
lanolinCount++;
else if(ItemLanolin.canCraftWith(tempStack) && craftStack == null) {
craftStack = tempStack.copy();
}
else if(tempStack != ItemStack.EMPTY)
return ItemStack.EMPTY;
}
if (craftStack == ItemStack.EMPTY || !ItemLanolin.canCraftWith(craftStack)) {
return ItemStack.EMPTY;
}
// Copy Existing NBT
if(craftStack.hasTagCompound()) {
if(craftStack.getTagCompound().hasKey("lanolin")){
// Increase existing lanolin count
lanolinCount += craftStack.getTagCompound().getInteger("lanolin");
}
}
if(craftStack.getItem() instanceof ItemArmor)
craftStack.setTagInfo("lanolin", new NBTTagByte((byte) clamp(lanolinCount,0, Config.MAX_LANOLIN_ARMOR)));
else if(craftStack.getItem() instanceof ItemTool)
craftStack.setTagInfo("lanolin", new NBTTagByte((byte) clamp(lanolinCount,0, Config.MAX_LANOLIN_TOOLS)));
else // Unconfigured item, that passed
craftStack.setTagInfo("lanolin", new NBTTagByte((byte) clamp(lanolinCount,0, 15)));
return craftStack;
}
RecipeLanolinFactory.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:Lanolin
作者:
评论列表
文章目录