Fixed OmegaArmour client-server-side issue.

This commit is contained in:
WayofTime 2015-01-23 07:53:40 -05:00
parent 468734125a
commit 882b54d892
4 changed files with 57 additions and 2 deletions

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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

View file

@ -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();
}