More code, testing things

This commit is contained in:
WayofTime 2014-01-18 20:29:20 -05:00
parent 9713fdb042
commit 276504acbd
8 changed files with 106 additions and 11 deletions

View file

@ -753,7 +753,7 @@ public class AlchemicalWizardry
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.tennebrae), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Item.coal), new ItemStack(Item.coal), new ItemStack(Block.obsidian), new ItemStack(Item.clay)}, 2); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.tennebrae), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Item.coal), new ItemStack(Item.coal), new ItemStack(Block.obsidian), new ItemStack(Item.clay)}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.magicales), 5, new ItemStack[]{redstoneStack, simpleCatalystStack, new ItemStack(Item.gunpowder), new ItemStack(Item.glowstone), new ItemStack(Item.glowstone)}, 2); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.magicales), 5, new ItemStack[]{redstoneStack, simpleCatalystStack, new ItemStack(Item.gunpowder), new ItemStack(Item.glowstone), new ItemStack(Item.glowstone)}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundanePowerCatalyst), 10, new ItemStack[]{glowstoneDustStack, glowstoneDustStack, glowstoneDustStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack}, 3); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundanePowerCatalyst), 10, new ItemStack[]{glowstoneDustStack, glowstoneDustStack, glowstoneDustStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack}, 3);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundaneLengtheningCatalyst), 15, new ItemStack[]{redstoneStack, redstoneStack, redstoneStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack}, 3); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundaneLengtheningCatalyst), 10, new ItemStack[]{redstoneStack, redstoneStack, redstoneStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack}, 3);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averagePowerCatalyst), 20, new ItemStack[]{new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.standardBindingAgent)}, 4); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averagePowerCatalyst), 20, new ItemStack[]{new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.standardBindingAgent)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averageLengtheningCatalyst), 20, new ItemStack[]{new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.standardBindingAgent)}, 4); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averageLengtheningCatalyst), 20, new ItemStack[]{new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.standardBindingAgent)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.greaterPowerCatalyst), 30, new ItemStack[]{new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.incendium)}, 4); AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.greaterPowerCatalyst), 30, new ItemStack[]{new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.incendium)}, 4);

View file

@ -0,0 +1,9 @@
package WayofTime.alchemicalWizardry.common.spell.complex;
import net.minecraft.entity.Entity;
import net.minecraft.world.World;
public interface IMeleeSpellEntityEffect
{
public void onEntityImpact(World world, Entity entity);
}

View file

@ -0,0 +1,10 @@
package WayofTime.alchemicalWizardry.common.spell.complex;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public interface IMeleeSpellWorldEffect
{
public void onWorldEffect(World world, EntityPlayer entityPlayer);
}

View file

@ -0,0 +1,9 @@
package WayofTime.alchemicalWizardry.common.spell.complex;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
public interface ISelfSpellEffect
{
public void onSelfUse(World world, EntityPlayer player);
}

View file

@ -111,10 +111,10 @@ public abstract class SpellParadigm
} }
} }
return (int)(cost*Math.sqrt(this.bufferedEffectList.size()));
} }
return cost; return getDefaultCost();
} }
public abstract int getDefaultCost(); public abstract int getDefaultCost();

View file

@ -1,12 +1,23 @@
package WayofTime.alchemicalWizardry.common.spell.complex; package WayofTime.alchemicalWizardry.common.spell.complex;
import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; import java.util.ArrayList;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement;
public class SpellParadigmMelee extends SpellParadigm public class SpellParadigmMelee extends SpellParadigm
{ {
private List<IMeleeSpellEntityEffect> entityEffectList;
private List<IMeleeSpellWorldEffect> worldEffectList;
public SpellParadigmMelee()
{
this.entityEffectList = new ArrayList();
this.worldEffectList = new ArrayList();
}
@Override @Override
public void enhanceParadigm(SpellEnhancement enh) public void enhanceParadigm(SpellEnhancement enh)
@ -22,11 +33,25 @@ public class SpellParadigmMelee extends SpellParadigm
} }
public void addEntityEffect(IMeleeSpellEntityEffect eff)
{
if(eff!=null)
{
this.entityEffectList.add(eff);
}
}
public void addWorldEffect(IMeleeSpellWorldEffect eff)
{
if(eff!=null)
{
this.worldEffectList.add(eff);
}
}
@Override @Override
public int getDefaultCost() public int getDefaultCost()
{ {
// TODO Auto-generated method stub
return 0; return 0;
} }
} }

View file

@ -8,6 +8,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.world.World; import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellEffect; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellEffect;
import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement;
@ -24,7 +25,6 @@ public class SpellParadigmProjectile extends SpellParadigm
@Override @Override
public void enhanceParadigm(SpellEnhancement enh) public void enhanceParadigm(SpellEnhancement enh)
{ {
// TODO Auto-generated method stub
} }
@ -34,6 +34,9 @@ public class SpellParadigmProjectile extends SpellParadigm
EntitySpellProjectile proj = new EntitySpellProjectile(world, entityPlayer); EntitySpellProjectile proj = new EntitySpellProjectile(world, entityPlayer);
this.prepareProjectile(proj); this.prepareProjectile(proj);
world.spawnEntityInWorld(proj); world.spawnEntityInWorld(proj);
int cost = this.getTotalCost();
EnergyItems.syphonBatteries(itemStack, entityPlayer, cost);
} }
public static SpellParadigmProjectile getParadigmForStringArray(List<String> stringList) public static SpellParadigmProjectile getParadigmForStringArray(List<String> stringList)
@ -91,10 +94,25 @@ public class SpellParadigmProjectile extends SpellParadigm
proj.setRicochetMax(ricochetMax); proj.setRicochetMax(ricochetMax);
} }
public void addImpactEffect(IProjectileImpactEffect eff)
{
if(eff!=null)
{
this.impactList.add(eff);
}
}
public void addUpdateEffect(IProjectileUpdateEffect eff)
{
if(eff!=null)
{
this.updateEffectList.add(eff);
}
}
@Override @Override
public int getDefaultCost() public int getDefaultCost()
{ {
// TODO Auto-generated method stub
return 50; return 50;
} }

View file

@ -1,5 +1,9 @@
package WayofTime.alchemicalWizardry.common.spell.complex; package WayofTime.alchemicalWizardry.common.spell.complex;
import java.util.ArrayList;
import java.util.List;
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -7,6 +11,13 @@ import net.minecraft.world.World;
public class SpellParadigmSelf extends SpellParadigm public class SpellParadigmSelf extends SpellParadigm
{ {
public List<ISelfSpellEffect> selfSpellEffectList;
public SpellParadigmSelf()
{
selfSpellEffectList = new ArrayList();
}
@Override @Override
public void enhanceParadigm(SpellEnhancement enh) public void enhanceParadigm(SpellEnhancement enh)
{ {
@ -16,14 +27,27 @@ public class SpellParadigmSelf extends SpellParadigm
@Override @Override
public void castSpell(World world, EntityPlayer entityPlayer, ItemStack itemStack) public void castSpell(World world, EntityPlayer entityPlayer, ItemStack itemStack)
{ {
// TODO Auto-generated method stub for(ISelfSpellEffect eff : selfSpellEffectList)
{
eff.onSelfUse(world, entityPlayer);
}
int cost = this.getTotalCost();
EnergyItems.syphonBatteries(itemStack, entityPlayer, cost);
}
public void addSelfSpellEffect(ISelfSpellEffect eff)
{
if(eff!=null)
{
this.selfSpellEffectList.add(eff);
}
} }
@Override @Override
public int getDefaultCost() public int getDefaultCost()
{ {
return 0; return 0;
} }
} }