aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java25
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java47
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java26
-rw-r--r--src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java7
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());