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 energy values of Solderer items (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
|
||||
- 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 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 mode = IFilterable.WHITELIST;
|
||||
|
@@ -58,13 +58,19 @@ public class ItemHandlerUpgrade extends ItemHandlerBase {
|
||||
}
|
||||
|
||||
public int getFortuneLevel() {
|
||||
int maxFortune = 0;
|
||||
|
||||
for (int i = 0; i < getSlots(); ++i) {
|
||||
if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_FORTUNE) {
|
||||
return ItemUpgrade.getFortuneLevel(getStackInSlot(i));
|
||||
if (!getStackInSlot(i).isEmpty()) {
|
||||
int fortune = ItemUpgrade.getFortuneLevel(getStackInSlot(i));
|
||||
|
||||
if (fortune > maxFortune) {
|
||||
maxFortune = fortune;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return maxFortune;
|
||||
}
|
||||
|
||||
public int getItemInteractCount() {
|
||||
|
@@ -1,12 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.NonNullList;
|
||||
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_INTERDIMENSIONAL = 5;
|
||||
public static final int TYPE_SILK_TOUCH = 6;
|
||||
public static final int TYPE_FORTUNE = 7;
|
||||
|
||||
private static final String NBT_FORTUNE = "Fortune";
|
||||
public static final int TYPE_FORTUNE_1 = 7;
|
||||
public static final int TYPE_FORTUNE_2 = 8;
|
||||
public static final int TYPE_FORTUNE_3 = 9;
|
||||
|
||||
public ItemUpgrade() {
|
||||
super("upgrade");
|
||||
@@ -33,15 +31,15 @@ public class ItemUpgrade extends ItemBase {
|
||||
|
||||
@Override
|
||||
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
|
||||
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
|
||||
super.addInformation(stack, world, tooltip, flag);
|
||||
|
||||
if (stack.getItemDamage() == TYPE_FORTUNE) {
|
||||
tooltip.add(I18n.format("enchantment.lootBonusDigger") + " " + I18n.format("enchantment.level." + ItemUpgrade.getFortuneLevel(stack)));
|
||||
if (getFortuneLevel(stack) > 0) {
|
||||
tooltip.add(I18n.format("enchantment.lootBonusDigger") + " " + I18n.format("enchantment.level." + getFortuneLevel(stack)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,28 +49,19 @@ public class ItemUpgrade extends ItemBase {
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i <= 6; ++i) {
|
||||
for (int i = 0; i <= 9; ++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) {
|
||||
ItemStack stack = new ItemStack(RSItems.UPGRADE, 1, TYPE_FORTUNE);
|
||||
stack.setTagCompound(new NBTTagCompound());
|
||||
stack.getTagCompound().setInteger(NBT_FORTUNE, level);
|
||||
return stack;
|
||||
}
|
||||
|
||||
public static int getFortuneLevel(ItemStack stack) {
|
||||
if (stack != null && stack.getItemDamage() == ItemUpgrade.TYPE_FORTUNE) {
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
|
||||
if (tag.hasKey(ItemUpgrade.NBT_FORTUNE)) {
|
||||
return tag.getInteger(ItemUpgrade.NBT_FORTUNE);
|
||||
public static int getFortuneLevel(@Nullable ItemStack stack) {
|
||||
if (stack != null) {
|
||||
if (stack.getMetadata() == TYPE_FORTUNE_1) {
|
||||
return 1;
|
||||
} else if (stack.getMetadata() == TYPE_FORTUNE_2) {
|
||||
return 2;
|
||||
} else if (stack.getMetadata() == TYPE_FORTUNE_3) {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,8 +82,10 @@ public class ItemUpgrade extends ItemBase {
|
||||
return RS.INSTANCE.config.interdimensionalUpgradeUsage;
|
||||
case TYPE_SILK_TOUCH:
|
||||
return RS.INSTANCE.config.silkTouchUpgradeUsage;
|
||||
case TYPE_FORTUNE:
|
||||
return RS.INSTANCE.config.fortuneUpgradeUsagePerFortune * ItemUpgrade.getFortuneLevel(stack);
|
||||
case TYPE_FORTUNE_1:
|
||||
case TYPE_FORTUNE_2:
|
||||
case TYPE_FORTUNE_3:
|
||||
return RS.INSTANCE.config.fortuneUpgradeUsagePerFortune * getFortuneLevel(stack);
|
||||
default:
|
||||
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_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_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.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.6.name=Silk Touch 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:filter.name=Filter
|
||||
item.refinedstorage:network_card.name=Network Card
|
||||
|
@@ -1,8 +1,5 @@
|
||||
{
|
||||
"result": {
|
||||
"nbt": {
|
||||
"Fortune": 1
|
||||
},
|
||||
"item": "refinedstorage:upgrade",
|
||||
"data": 7
|
||||
},
|
||||
|
@@ -1,10 +1,7 @@
|
||||
{
|
||||
"result": {
|
||||
"nbt": {
|
||||
"Fortune": 2
|
||||
},
|
||||
"item": "refinedstorage:upgrade",
|
||||
"data": 7
|
||||
"data": 8
|
||||
},
|
||||
"duration": 250,
|
||||
"rows": [
|
||||
|
@@ -1,10 +1,7 @@
|
||||
{
|
||||
"result": {
|
||||
"nbt": {
|
||||
"Fortune": 3
|
||||
},
|
||||
"item": "refinedstorage:upgrade",
|
||||
"data": 7
|
||||
"data": 9
|
||||
},
|
||||
"duration": 250,
|
||||
"rows": [
|
||||
|
Reference in New Issue
Block a user