diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core')
5 files changed, 56 insertions, 55 deletions
diff --git a/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java b/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java index 654d92ff36..9827b0281b 100644 --- a/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java +++ b/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java @@ -93,8 +93,12 @@ public class BaseBauble extends Item implements IBauble{ } public boolean SetBaubleType(BT arg0) { + return SetBaubleType(arg0.getType()); + } + + public boolean SetBaubleType(BaubleType arg0) { BaubleType temp = this.mThisBauble; - this.mThisBauble = arg0.getType(); + this.mThisBauble = arg0; if (this.mThisBauble != temp){ return true; } diff --git a/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java b/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java index 4ba475f4be..ec3d9dca43 100644 --- a/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java +++ b/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java @@ -134,7 +134,7 @@ public class ModularBauble extends BaseBauble{ if ((mStatlevel = ModularArmourUtils.getModifierLevel(stack, Modifiers.BOOST_DAMAGE)) > 0){ list.add(EnumChatFormatting.GRAY+"Damage Boost: "+EnumChatFormatting.DARK_RED+mStatlevel+EnumChatFormatting.GRAY+"/100."); } - + if ((mStatlevel = ModularArmourUtils.getModifierLevel(stack, Modifiers.BOOST_HP)) > 0){ list.add(EnumChatFormatting.GRAY+"Health Boost: "+EnumChatFormatting.RED+mStatlevel+EnumChatFormatting.GRAY+"/100."); } @@ -147,11 +147,11 @@ public class ModularBauble extends BaseBauble{ if ((mStatlevel = ModularArmourUtils.getModifierLevel(stack, Modifiers.BOOST_HOLY)) > 0){ list.add(EnumChatFormatting.GRAY+"Holy Boost: "+EnumChatFormatting.GOLD+mStatlevel+EnumChatFormatting.GRAY+"/100."); } - + //Defence Boost if ((mStatlevel = ModularArmourUtils.getModifierLevel(stack, Modifiers.BOOST_DEF)) > 0){ list.add(EnumChatFormatting.GRAY+"Defence Boost: "+EnumChatFormatting.BLUE+mStatlevel+EnumChatFormatting.GRAY+"/100."); - + if (mStatlevel >= 1){ list.add(EnumChatFormatting.GRAY+"Protected From: "+EnumChatFormatting.BLUE+"Cactus"+EnumChatFormatting.GRAY+"."); } @@ -185,10 +185,10 @@ public class ModularBauble extends BaseBauble{ if (mStatlevel >= 100){ list.add(EnumChatFormatting.GRAY+"Protected From: "+EnumChatFormatting.BLUE+"Void"+EnumChatFormatting.GRAY+"."); } - + } - - + + if (NBTUtils.getBotanicaSoulboundOwner(stack) != null){ if (!NBTUtils.getBotanicaSoulboundOwner(stack).equals("")){ list.add(EnumChatFormatting.GRAY+"Relic Owner: "+EnumChatFormatting.GREEN+NBTUtils.getBotanicaSoulboundOwner(stack)+EnumChatFormatting.GRAY+"."); @@ -384,5 +384,18 @@ public class ModularBauble extends BaseBauble{ } } + private BaubleType mTypeArray[] = new BaubleType[]{ + BaubleType.AMULET, + BaubleType.RING, + BaubleType.BELT + }; + + @Override + public void onWornTick(ItemStack stack, EntityLivingBase player) { + int mTemp = ModularArmourUtils.getBaubleTypeID(stack); + SetBaubleType(ModularArmourUtils.getBaubleByID(mTemp)); + super.onWornTick(stack, player); + } + } diff --git a/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java b/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java index 532f3efcfb..74802beb84 100644 --- a/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java +++ b/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java @@ -9,6 +9,7 @@ import java.util.Map.Entry; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.array.Pair; +import gtPlusPlus.core.util.nbt.ModularArmourUtils; import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT; import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers; import net.minecraft.inventory.IInventory; @@ -25,43 +26,27 @@ public class SlotModularBaubleUpgrades extends Slot{ @Override public boolean isItemValid(final ItemStack itemstack) { boolean isValid = false; - if (itemstack != null){ Utils.LOG_INFO("trying to insert "+itemstack.getDisplayName()); Utils.LOG_INFO("Valid Upgrade count: "+mValidUpgradeList.size()); - if (mValidUpgradeList.containsKey(itemstack)){ - isValid = true; - } - else { - Iterator<Entry<ItemStack, Pair<Modifiers, Integer>>> it = mValidUpgradeList.entrySet().iterator(); - while (it.hasNext()) { - Entry<ItemStack, Pair<Modifiers, Integer>> pair = it.next(); - - if (pair.getKey().getItem() == itemstack.getItem() - && pair.getKey().getItemDamage() == itemstack.getItemDamage()){ - isValid = true; - } - - //Utils.LOG_INFO("Found "+pair.getKey().getDisplayName()+" giving "+pair.getValue().getKey().name()+"."); + + Iterator<Entry<ItemStack, BT>> it = mValidUpgradeListFormChange.entrySet().iterator(); + while (it.hasNext()) { + Entry<ItemStack, BT> pair = it.next(); + if (pair.getKey().getItem() == itemstack.getItem() + && pair.getKey().getItemDamage() == itemstack.getItemDamage()){ + isValid = true; } } - Utils.LOG_INFO("Valid Form Upgrade count: "+mValidUpgradeListFormChange.size()); - if (mValidUpgradeListFormChange.containsKey(itemstack)){ - isValid = true; - } - else { - Iterator<Entry<ItemStack, BT>> it = mValidUpgradeListFormChange.entrySet().iterator(); - while (it.hasNext()) { - Entry<ItemStack, BT> pair = it.next(); - - if (pair.getKey().getItem() == itemstack.getItem() - && pair.getKey().getItemDamage() == itemstack.getItemDamage()){ - isValid = true; - } - - //Utils.LOG_INFO("Found "+pair.getKey().getDisplayName()+" giving "+pair.getValue().name()+"."); + + Iterator<Entry<ItemStack, Pair<Modifiers, Integer>>> it2 = mValidUpgradeList.entrySet().iterator(); + while (it2.hasNext()) { + Entry<ItemStack, Pair<Modifiers, Integer>> pair = it2.next(); + if (pair.getKey().getItem() == itemstack.getItem() + && pair.getKey().getItemDamage() == itemstack.getItemDamage()){ + isValid = true; } - } + } } return isValid; } diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java index 5dd5f57930..2d6082da99 100644 --- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java +++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java @@ -157,27 +157,19 @@ public class TileEntityModularityTable extends TileEntity { public static boolean addUpgrade(ItemStack tStack, ItemStack tBauble){ - if (mValidUpgradeListFormChange.containsKey(tStack)){ - return true; - } - else { Iterator<Entry<ItemStack, BT>> it = mValidUpgradeListFormChange.entrySet().iterator(); while (it.hasNext()) { Entry<ItemStack, BT> pair = it.next(); if (pair.getKey().getItem() == tStack.getItem() && pair.getKey().getItemDamage() == tStack.getItemDamage()){ - ModularArmourUtils.setBaubleType(tBauble, mValidUpgradeListFormChange.get(tStack)); + ModularArmourUtils.setBaubleType(tBauble, mValidUpgradeListFormChange.get(tStack).getThis()); return true; } } - } - if (mValidUpgradeList.containsKey(tStack)){ - return true; - } - else { - Iterator<Entry<ItemStack, Pair<Modifiers, Integer>>> it = mValidUpgradeList.entrySet().iterator(); - while (it.hasNext()) { - Entry<ItemStack, Pair<Modifiers, Integer>> pair = it.next(); + + Iterator<Entry<ItemStack, Pair<Modifiers, Integer>>> it2 = mValidUpgradeList.entrySet().iterator(); + while (it2.hasNext()) { + Entry<ItemStack, Pair<Modifiers, Integer>> pair = it2.next(); if (pair.getKey().getItem() == tStack.getItem() && pair.getKey().getItemDamage() == tStack.getItemDamage()){ Pair<Modifiers, Integer> newPair = pair.getValue(); @@ -185,10 +177,10 @@ public class TileEntityModularityTable extends TileEntity { return true; } } - } - Utils.LOG_INFO("Could not find valid upgrade: "+tStack.getDisplayName()+"."); - Utils.LOG_INFO("Bool1: "+mValidUpgradeListFormChange.containsKey(tStack)); - Utils.LOG_INFO("Bool2: "+mValidUpgradeList.containsKey(tStack)); + + //Utils.LOG_INFO("Could not find valid upgrade: "+tStack.getDisplayName()+"."); + //Utils.LOG_INFO("Bool1: "+mValidUpgradeListFormChange.containsKey(tStack)); + //Utils.LOG_INFO("Bool2: "+mValidUpgradeList.containsKey(tStack)); return false; } diff --git a/src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java b/src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java index 4be8f5dfa2..629dcea636 100644 --- a/src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java +++ b/src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.util.nbt; import baubles.api.BaubleType; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.array.Pair; import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers; import net.minecraft.block.Block.SoundType; @@ -57,6 +58,11 @@ public class ModularArmourUtils { public BaubleType getType(){ return this.mType; } + + public BT getThis(){ + return this; + } + public BaubleType getBaubleByID(int tID){ if (tID == 0){ return BaubleType.AMULET; @@ -108,6 +114,7 @@ public class ModularArmourUtils { } public static void setBaubleType(ItemStack aStack, BT aMod) { + Utils.LOG_INFO("Changing bauble type."); NBTTagCompound tNBT = NBTUtils.getNBT(aStack); if (aMod != null){ tNBT.setInteger("mBaubleType", aMod.getID()); |