From 882b54d892b0178500e6a9bb7067db5ad6251576 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Fri, 23 Jan 2015 07:53:40 -0500 Subject: [PATCH] Fixed OmegaArmour client-server-side issue. --- .../api/RoutingFocusLogicIgnMeta.java | 12 ++++++++ .../api/RoutingFocusLogicMatchNBT.java | 11 +++++++ .../common/items/armour/OmegaArmour.java | 7 +++-- .../items/routing/OutputRoutingFocus.java | 29 +++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicIgnMeta.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicMatchNBT.java diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicIgnMeta.java b/src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicIgnMeta.java new file mode 100644 index 00000000..69b11006 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicIgnMeta.java @@ -0,0 +1,12 @@ +package WayofTime.alchemicalWizardry.api; + +import net.minecraft.item.ItemStack; + +public class RoutingFocusLogicIgnMeta extends RoutingFocusLogic +{ + @Override + public boolean doesItemMatch(boolean previous, ItemStack keyStack, ItemStack checkedStack) + { + return previous || (keyStack != null ? checkedStack != null && keyStack.getItem() == checkedStack.getItem() : false); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicMatchNBT.java b/src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicMatchNBT.java new file mode 100644 index 00000000..64db64ab --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/RoutingFocusLogicMatchNBT.java @@ -0,0 +1,11 @@ +package WayofTime.alchemicalWizardry.api; + +import net.minecraft.item.ItemStack; + +public class RoutingFocusLogicMatchNBT extends RoutingFocusLogic +{ + public boolean doesItemMatch(boolean previous, ItemStack keyStack, ItemStack checkedStack) + { + return previous && (keyStack != null ? checkedStack != null && keyStack.getItem() == checkedStack.getItem() && (keyStack.getItem().getHasSubtypes() ? keyStack.getItemDamage() == checkedStack.getItemDamage() : true) && keyStack.areItemStackTagsEqual(keyStack, checkedStack) : false); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java index bf098045..98c37478 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java @@ -110,12 +110,15 @@ public abstract class OmegaArmour extends BoundArmour return "alchemicalwizardry:models/armor/OmegaWater.png"; } + @SideOnly(Side.CLIENT) public abstract ModelBiped getChestModel(); - + @SideOnly(Side.CLIENT) public abstract ModelBiped getLegsModel(); - + @SideOnly(Side.CLIENT) ModelBiped model1 = null; + @SideOnly(Side.CLIENT) ModelBiped model2 = null; + @SideOnly(Side.CLIENT) ModelBiped model = null; @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/routing/OutputRoutingFocus.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/routing/OutputRoutingFocus.java index 32edb10f..fae7980a 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/routing/OutputRoutingFocus.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/routing/OutputRoutingFocus.java @@ -1,14 +1,18 @@ package WayofTime.alchemicalWizardry.common.items.routing; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import WayofTime.alchemicalWizardry.api.RoutingFocusLogic; +import WayofTime.alchemicalWizardry.api.RoutingFocusLogicIgnMeta; +import WayofTime.alchemicalWizardry.api.RoutingFocusLogicMatchNBT; import WayofTime.alchemicalWizardry.api.RoutingFocusLogicModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class OutputRoutingFocus extends RoutingFocus { + IIcon modItemIcon; public OutputRoutingFocus() { super(); @@ -19,6 +23,7 @@ public class OutputRoutingFocus extends RoutingFocus public void registerIcons(IIconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:OutputRoutingFocus"); + this.modItemIcon = iconRegister.registerIcon("AlchemicalWizardry:OutputRoutingFocusModItems"); } @SideOnly(Side.CLIENT) @@ -28,10 +33,30 @@ public class OutputRoutingFocus extends RoutingFocus { case 0: return this.itemIcon; + case 1: + return this.modItemIcon; } return this.itemIcon; } + @Override + public String getUnlocalizedName(ItemStack itemStack) + { + String addedString = ""; + + switch(itemStack.getItemDamage()) + { + case 0: + addedString = "default"; + break; + case 1: + addedString = "modItem"; + break; + } + + return super.getUnlocalizedName() + "." + addedString; + } + public RoutingFocusLogic getLogic(int damage) { switch(damage) @@ -40,6 +65,10 @@ public class OutputRoutingFocus extends RoutingFocus return new RoutingFocusLogic(); case 1: return new RoutingFocusLogicModItems(); + case 2: + return new RoutingFocusLogicIgnMeta(); + case 3: + return new RoutingFocusLogicMatchNBT(); } return new RoutingFocusLogic(); }