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