package WayofTime.alchemicalWizardry.common.tileEntity; import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigm; import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancementCost; import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancementPotency; import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancementPower; public class TESpellEnhancementBlock extends TESpellBlock { @Override protected void applySpellChange(SpellParadigm parad) { int i = -1; switch (this.enhancementType()) { case 0: i = parad.getBufferedEffectPower(); break; case 1: i = parad.getBufferedEffectCost(); break; case 2: i = parad.getBufferedEffectPotency(); break; } if (i != -1 && i < this.getLimit()) { parad.applyEnhancement(getSpellEnhancement()); } else if (i < this.getLimit()) { this.doBadStuff(); } } public SpellEnhancement getSpellEnhancement() { int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); switch (meta) { case 0: case 1: case 2: case 3: case 4: return new SpellEnhancementPower(); case 5: case 6: case 7: case 8: case 9: return new SpellEnhancementCost(); case 10: case 11: case 12: case 13: case 14: return new SpellEnhancementPotency(); } return new SpellEnhancementCost(); } public int getLimit() { int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); switch (meta) { case 0: return 1; case 1: return 2; case 2: return 3; case 3: return 4; case 4: return 5; case 5: return 1; case 6: return 2; case 7: return 3; case 8: return 4; case 9: return 5; case 10: return 1; case 11: return 2; case 12: return 3; case 13: return 4; case 14: return 5; } return 0; } public int enhancementType() //0 is power, 1 is cost, 2 is potency { int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); switch (meta) { case 0: case 1: case 2: case 3: case 4: return 0; case 5: case 6: case 7: case 8: case 9: return 1; case 10: case 11: case 12: case 13: case 14: return 2; } return 1; } public void doBadStuff() { } @Override public String getResourceLocationForMeta(int meta) { switch (meta) { case 0: return "alchemicalwizardry:textures/models/SpellEnhancementPower1.png"; case 1: return "alchemicalwizardry:textures/models/SpellEnhancementPower2.png"; case 2: return "alchemicalwizardry:textures/models/SpellEnhancementPower3.png"; case 5: return "alchemicalwizardry:textures/models/SpellEnhancementCost1.png"; case 6: return "alchemicalwizardry:textures/models/SpellEnhancementCost2.png"; case 7: return "alchemicalwizardry:textures/models/SpellEnhancementCost3.png"; case 10: return "alchemicalwizardry:textures/models/SpellEnhancementPotency1.png"; case 11: return "alchemicalwizardry:textures/models/SpellEnhancementPotency2.png"; case 12: return "alchemicalwizardry:textures/models/SpellEnhancementPotency3.png"; } return "alchemicalwizardry:textures/models/SpellEnhancementPower1.png"; } }