BloodMagic/1.7.10/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpellEnhancementBlock.java
2014-10-13 22:33:20 +02:00

164 lines
4.5 KiB
Java

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";
}
}