The Fortune Upgrade doesn't use NBT anymore to store the fortune level
This commit is contained in:
		@@ -4,6 +4,7 @@
 | 
				
			|||||||
- Added Project E integration for the External Storage on the Transmutation Table (raoulvdberge)
 | 
					- Added Project E integration for the External Storage on the Transmutation Table (raoulvdberge)
 | 
				
			||||||
- Added Project E integration for the energy values of Solderer items (raoulvdberge)
 | 
					- Added Project E integration for the energy values of Solderer items (raoulvdberge)
 | 
				
			||||||
- Fixed network not disconnecting when Controller is broken (raoulvdberge)
 | 
					- Fixed network not disconnecting when Controller is broken (raoulvdberge)
 | 
				
			||||||
 | 
					- The Fortune Upgrade doesn't use NBT anymore to store the fortune level (raoulvdberge)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 1.5.17
 | 
					### 1.5.17
 | 
				
			||||||
- Re-added support for OpenComputers (raoulvdberge)
 | 
					- Re-added support for OpenComputers (raoulvdberge)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,7 +56,7 @@ public class NetworkNodeDestructor extends NetworkNode implements IComparable, I
 | 
				
			|||||||
    private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ItemHandlerListenerNetworkNode(this));
 | 
					    private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ItemHandlerListenerNetworkNode(this));
 | 
				
			||||||
    private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
 | 
					    private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE);
 | 
					    private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE_1, ItemUpgrade.TYPE_FORTUNE_2, ItemUpgrade.TYPE_FORTUNE_3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
 | 
					    private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
 | 
				
			||||||
    private int mode = IFilterable.WHITELIST;
 | 
					    private int mode = IFilterable.WHITELIST;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -58,13 +58,19 @@ public class ItemHandlerUpgrade extends ItemHandlerBase {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public int getFortuneLevel() {
 | 
					    public int getFortuneLevel() {
 | 
				
			||||||
 | 
					        int maxFortune = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (int i = 0; i < getSlots(); ++i) {
 | 
					        for (int i = 0; i < getSlots(); ++i) {
 | 
				
			||||||
            if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_FORTUNE) {
 | 
					            if (!getStackInSlot(i).isEmpty()) {
 | 
				
			||||||
                return ItemUpgrade.getFortuneLevel(getStackInSlot(i));
 | 
					                int fortune = ItemUpgrade.getFortuneLevel(getStackInSlot(i));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (fortune > maxFortune) {
 | 
				
			||||||
 | 
					                    maxFortune = fortune;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return 0;
 | 
					        return maxFortune;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public int getItemInteractCount() {
 | 
					    public int getItemInteractCount() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,10 @@
 | 
				
			|||||||
package com.raoulvdberge.refinedstorage.item;
 | 
					package com.raoulvdberge.refinedstorage.item;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.raoulvdberge.refinedstorage.RS;
 | 
					import com.raoulvdberge.refinedstorage.RS;
 | 
				
			||||||
import com.raoulvdberge.refinedstorage.RSItems;
 | 
					 | 
				
			||||||
import net.minecraft.client.resources.I18n;
 | 
					import net.minecraft.client.resources.I18n;
 | 
				
			||||||
import net.minecraft.client.util.ITooltipFlag;
 | 
					import net.minecraft.client.util.ITooltipFlag;
 | 
				
			||||||
import net.minecraft.creativetab.CreativeTabs;
 | 
					import net.minecraft.creativetab.CreativeTabs;
 | 
				
			||||||
import net.minecraft.item.ItemStack;
 | 
					import net.minecraft.item.ItemStack;
 | 
				
			||||||
import net.minecraft.nbt.NBTTagCompound;
 | 
					 | 
				
			||||||
import net.minecraft.util.NonNullList;
 | 
					import net.minecraft.util.NonNullList;
 | 
				
			||||||
import net.minecraft.world.World;
 | 
					import net.minecraft.world.World;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -20,9 +18,9 @@ public class ItemUpgrade extends ItemBase {
 | 
				
			|||||||
    public static final int TYPE_STACK = 4;
 | 
					    public static final int TYPE_STACK = 4;
 | 
				
			||||||
    public static final int TYPE_INTERDIMENSIONAL = 5;
 | 
					    public static final int TYPE_INTERDIMENSIONAL = 5;
 | 
				
			||||||
    public static final int TYPE_SILK_TOUCH = 6;
 | 
					    public static final int TYPE_SILK_TOUCH = 6;
 | 
				
			||||||
    public static final int TYPE_FORTUNE = 7;
 | 
					    public static final int TYPE_FORTUNE_1 = 7;
 | 
				
			||||||
 | 
					    public static final int TYPE_FORTUNE_2 = 8;
 | 
				
			||||||
    private static final String NBT_FORTUNE = "Fortune";
 | 
					    public static final int TYPE_FORTUNE_3 = 9;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public ItemUpgrade() {
 | 
					    public ItemUpgrade() {
 | 
				
			||||||
        super("upgrade");
 | 
					        super("upgrade");
 | 
				
			||||||
@@ -33,15 +31,15 @@ public class ItemUpgrade extends ItemBase {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean hasEffect(ItemStack stack) {
 | 
					    public boolean hasEffect(ItemStack stack) {
 | 
				
			||||||
        return stack.getMetadata() == TYPE_SILK_TOUCH || stack.getMetadata() == TYPE_FORTUNE;
 | 
					        return stack.getMetadata() == TYPE_SILK_TOUCH || getFortuneLevel(stack) > 0;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
 | 
					    public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
 | 
				
			||||||
        super.addInformation(stack, world, tooltip, flag);
 | 
					        super.addInformation(stack, world, tooltip, flag);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (stack.getItemDamage() == TYPE_FORTUNE) {
 | 
					        if (getFortuneLevel(stack) > 0) {
 | 
				
			||||||
            tooltip.add(I18n.format("enchantment.lootBonusDigger") + " " + I18n.format("enchantment.level." + ItemUpgrade.getFortuneLevel(stack)));
 | 
					            tooltip.add(I18n.format("enchantment.lootBonusDigger") + " " + I18n.format("enchantment.level." + getFortuneLevel(stack)));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -51,28 +49,19 @@ public class ItemUpgrade extends ItemBase {
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (int i = 0; i <= 6; ++i) {
 | 
					        for (int i = 0; i <= 9; ++i) {
 | 
				
			||||||
            items.add(new ItemStack(this, 1, i));
 | 
					            items.add(new ItemStack(this, 1, i));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        for (int j = 1; j <= 3; ++j) {
 | 
					 | 
				
			||||||
            items.add(initializeForFortune(j));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static ItemStack initializeForFortune(int level) {
 | 
					    public static int getFortuneLevel(@Nullable ItemStack stack) {
 | 
				
			||||||
        ItemStack stack = new ItemStack(RSItems.UPGRADE, 1, TYPE_FORTUNE);
 | 
					        if (stack != null) {
 | 
				
			||||||
        stack.setTagCompound(new NBTTagCompound());
 | 
					            if (stack.getMetadata() == TYPE_FORTUNE_1) {
 | 
				
			||||||
        stack.getTagCompound().setInteger(NBT_FORTUNE, level);
 | 
					                return 1;
 | 
				
			||||||
        return stack;
 | 
					            } else if (stack.getMetadata() == TYPE_FORTUNE_2) {
 | 
				
			||||||
    }
 | 
					                return 2;
 | 
				
			||||||
 | 
					            } else if (stack.getMetadata() == TYPE_FORTUNE_3) {
 | 
				
			||||||
    public static int getFortuneLevel(ItemStack stack) {
 | 
					                return 3;
 | 
				
			||||||
        if (stack != null && stack.getItemDamage() == ItemUpgrade.TYPE_FORTUNE) {
 | 
					 | 
				
			||||||
            NBTTagCompound tag = stack.getTagCompound();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (tag.hasKey(ItemUpgrade.NBT_FORTUNE)) {
 | 
					 | 
				
			||||||
                return tag.getInteger(ItemUpgrade.NBT_FORTUNE);
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -93,8 +82,10 @@ public class ItemUpgrade extends ItemBase {
 | 
				
			|||||||
                return RS.INSTANCE.config.interdimensionalUpgradeUsage;
 | 
					                return RS.INSTANCE.config.interdimensionalUpgradeUsage;
 | 
				
			||||||
            case TYPE_SILK_TOUCH:
 | 
					            case TYPE_SILK_TOUCH:
 | 
				
			||||||
                return RS.INSTANCE.config.silkTouchUpgradeUsage;
 | 
					                return RS.INSTANCE.config.silkTouchUpgradeUsage;
 | 
				
			||||||
            case TYPE_FORTUNE:
 | 
					            case TYPE_FORTUNE_1:
 | 
				
			||||||
                return RS.INSTANCE.config.fortuneUpgradeUsagePerFortune * ItemUpgrade.getFortuneLevel(stack);
 | 
					            case TYPE_FORTUNE_2:
 | 
				
			||||||
 | 
					            case TYPE_FORTUNE_3:
 | 
				
			||||||
 | 
					                return RS.INSTANCE.config.fortuneUpgradeUsagePerFortune * getFortuneLevel(stack);
 | 
				
			||||||
            default:
 | 
					            default:
 | 
				
			||||||
                return 0;
 | 
					                return 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -193,7 +193,9 @@ public class ProxyClient extends ProxyCommon {
 | 
				
			|||||||
        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_STACK, new ModelResourceLocation("refinedstorage:stack_upgrade", "inventory"));
 | 
					        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_STACK, new ModelResourceLocation("refinedstorage:stack_upgrade", "inventory"));
 | 
				
			||||||
        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_INTERDIMENSIONAL, new ModelResourceLocation("refinedstorage:interdimensional_upgrade", "inventory"));
 | 
					        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_INTERDIMENSIONAL, new ModelResourceLocation("refinedstorage:interdimensional_upgrade", "inventory"));
 | 
				
			||||||
        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_SILK_TOUCH, new ModelResourceLocation("refinedstorage:silk_touch_upgrade", "inventory"));
 | 
					        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_SILK_TOUCH, new ModelResourceLocation("refinedstorage:silk_touch_upgrade", "inventory"));
 | 
				
			||||||
        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_FORTUNE, new ModelResourceLocation("refinedstorage:fortune_upgrade", "inventory"));
 | 
					        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_FORTUNE_1, new ModelResourceLocation("refinedstorage:fortune_upgrade", "inventory"));
 | 
				
			||||||
 | 
					        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_FORTUNE_2, new ModelResourceLocation("refinedstorage:fortune_upgrade", "inventory"));
 | 
				
			||||||
 | 
					        ModelLoader.setCustomModelResourceLocation(RSItems.UPGRADE, ItemUpgrade.TYPE_FORTUNE_3, new ModelResourceLocation("refinedstorage:fortune_upgrade", "inventory"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CABLE), 0, new ModelResourceLocation("refinedstorage:cable", "inventory"));
 | 
					        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CABLE), 0, new ModelResourceLocation("refinedstorage:cable", "inventory"));
 | 
				
			||||||
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.MACHINE_CASING), 0, new ModelResourceLocation("refinedstorage:machine_casing", "inventory"));
 | 
					        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.MACHINE_CASING), 0, new ModelResourceLocation("refinedstorage:machine_casing", "inventory"));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -268,6 +268,8 @@ item.refinedstorage:upgrade.4.name=Stack Upgrade
 | 
				
			|||||||
item.refinedstorage:upgrade.5.name=Interdimensional Upgrade
 | 
					item.refinedstorage:upgrade.5.name=Interdimensional Upgrade
 | 
				
			||||||
item.refinedstorage:upgrade.6.name=Silk Touch Upgrade
 | 
					item.refinedstorage:upgrade.6.name=Silk Touch Upgrade
 | 
				
			||||||
item.refinedstorage:upgrade.7.name=Fortune Upgrade
 | 
					item.refinedstorage:upgrade.7.name=Fortune Upgrade
 | 
				
			||||||
 | 
					item.refinedstorage:upgrade.8.name=Fortune Upgrade
 | 
				
			||||||
 | 
					item.refinedstorage:upgrade.9.name=Fortune Upgrade
 | 
				
			||||||
item.refinedstorage:storage_housing.name=Storage Housing
 | 
					item.refinedstorage:storage_housing.name=Storage Housing
 | 
				
			||||||
item.refinedstorage:filter.name=Filter
 | 
					item.refinedstorage:filter.name=Filter
 | 
				
			||||||
item.refinedstorage:network_card.name=Network Card
 | 
					item.refinedstorage:network_card.name=Network Card
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "result": {
 | 
					  "result": {
 | 
				
			||||||
    "nbt": {
 | 
					 | 
				
			||||||
      "Fortune": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "item": "refinedstorage:upgrade",
 | 
					    "item": "refinedstorage:upgrade",
 | 
				
			||||||
    "data": 7
 | 
					    "data": 7
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "result": {
 | 
					  "result": {
 | 
				
			||||||
    "nbt": {
 | 
					 | 
				
			||||||
      "Fortune": 2
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "item": "refinedstorage:upgrade",
 | 
					    "item": "refinedstorage:upgrade",
 | 
				
			||||||
    "data": 7
 | 
					    "data": 8
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "duration": 250,
 | 
					  "duration": 250,
 | 
				
			||||||
  "rows": [
 | 
					  "rows": [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "result": {
 | 
					  "result": {
 | 
				
			||||||
    "nbt": {
 | 
					 | 
				
			||||||
      "Fortune": 3
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "item": "refinedstorage:upgrade",
 | 
					    "item": "refinedstorage:upgrade",
 | 
				
			||||||
    "data": 7
 | 
					    "data": 9
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "duration": 250,
 | 
					  "duration": 250,
 | 
				
			||||||
  "rows": [
 | 
					  "rows": [
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user