99 lines
2.9 KiB
Java
99 lines
2.9 KiB
Java
package WayofTime.alchemicalWizardry.common.tileEntity;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.World;
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
|
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigm;
|
|
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmMelee;
|
|
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmProjectile;
|
|
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmSelf;
|
|
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmTool;
|
|
|
|
public class TESpellParadigmBlock extends TESpellBlock
|
|
{
|
|
public SpellParadigm getSpellParadigm()
|
|
{
|
|
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
|
switch(meta)
|
|
{
|
|
case 0: return new SpellParadigmProjectile();
|
|
case 1: return new SpellParadigmSelf();
|
|
case 2: return new SpellParadigmMelee();
|
|
case 3: return new SpellParadigmTool();
|
|
}
|
|
return new SpellParadigmSelf();
|
|
}
|
|
|
|
@Override
|
|
protected void applySpellChange(SpellParadigm parad)
|
|
{
|
|
return;
|
|
}
|
|
|
|
public boolean canInputRecieve()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public void castSpell(World world, EntityPlayer entity, ItemStack spellCasterStack)
|
|
{
|
|
SpellParadigm parad = this.getSpellParadigm();
|
|
this.modifySpellParadigm(parad);
|
|
// if(parad instanceof SpellParadigmSelf)
|
|
// {
|
|
// List<String> stringList = parad.effectList;
|
|
// SpellParadigmSelf spellParadSelf = SpellParadigmSelf.getParadigmForStringArray(stringList);
|
|
// for(String str : stringList)
|
|
// {
|
|
// ChatMessageComponent chat = new ChatMessageComponent();
|
|
// chat.addText(str);
|
|
// entity.sendChatToPlayer(chat);
|
|
// }
|
|
// spellParadSelf.castSpell(world, entity, spellCasterStack);
|
|
// }
|
|
// else if(parad instanceof SpellParadigmProjectile)
|
|
// {
|
|
// List<String> stringList = parad.effectList;
|
|
// SpellParadigmProjectile spellParadSelf = SpellParadigmProjectile.getParadigmForStringArray(stringList);
|
|
// for(String str : stringList)
|
|
// {
|
|
// ChatMessageComponent chat = new ChatMessageComponent();
|
|
// chat.addText(str);
|
|
// entity.sendChatToPlayer(chat);
|
|
// }
|
|
// spellParadSelf.castSpell(world, entity, spellCasterStack);
|
|
// }else
|
|
{
|
|
parad.applyAllSpellEffects();
|
|
parad.castSpell(world, entity, spellCasterStack);
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public String getResourceLocationForMeta(int meta)
|
|
{
|
|
switch(meta)
|
|
{
|
|
case 0: return "alchemicalwizardry:textures/models/SpellParadigmProjectile.png";
|
|
case 1: return "alchemicalwizardry:textures/models/SpellParadigmSelf.png";
|
|
case 2: return "alchemicalwizardry:textures/models/SpellParadigmMelee.png";
|
|
case 3: return "alchemicalwizardry:textures/models/SpellParadigmTool.png";
|
|
}
|
|
return "alchemicalwizardry:textures/models/SpellParadigmProjectile.png";
|
|
}
|
|
|
|
@Override
|
|
public void setInputDirection(ForgeDirection direction)
|
|
{
|
|
|
|
}
|
|
|
|
@Override
|
|
public ForgeDirection getInputDirection()
|
|
{
|
|
return ForgeDirection.UNKNOWN;
|
|
}
|
|
}
|