Added more recipes, made Imbued Spell Enhancements craftable

This commit is contained in:
WayofTime 2014-12-05 12:13:10 -05:00
parent 41c8d888b9
commit 574f43010d
24 changed files with 295 additions and 23 deletions

View file

@ -0,0 +1,81 @@
package WayofTime.alchemicalWizardry.common.block;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.ModBlocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import java.util.List;
public class BlockCrystal extends Block
{
//private Icon bloodRuneIcon;
private IIcon fullIcon;
private IIcon brickIcon;
public BlockCrystal()
{
super(Material.iron);
this.setBlockName("crystalBlock");
setCreativeTab(AlchemicalWizardry.tabBloodMagic);
setHardness(2.0F);
setResistance(5.0F);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister)
{
this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:BlankRune");
this.fullIcon = iconRegister.registerIcon("AlchemicalWizardry:ShardCluster");
this.brickIcon = iconRegister.registerIcon("AlchemicalWizardry:ShardClusterBrick");
}
@SideOnly(Side.CLIENT)
/**
* returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
*/
public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List)
{
if (this.equals(ModBlocks.blockCrystal))
{
par3List.add(new ItemStack(par1, 1, 0));
par3List.add(new ItemStack(par1, 1, 1));
} else
{
super.getSubBlocks(par1, par2CreativeTabs, par3List);
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
switch (meta)
{
case 0:
return fullIcon;
case 1:
return brickIcon;
default:
return blockIcon;
}
}
@Override
public int damageDropped(int metadata)
{
return metadata;
}
}

View file

@ -15,7 +15,8 @@ public class UpgradedAltars
public static List<AltarComponent> thirdTierAltar = new ArrayList();
public static List<AltarComponent> fourthTierAltar = new ArrayList();
public static List<AltarComponent> fifthTierAltar = new ArrayList();
public static int highestAltar = 5;
public static List<AltarComponent> sixthTierAltar = new ArrayList();
public static int highestAltar = 6;
public static int isAltarValid(World world, int x, int y, int z)
{
@ -136,6 +137,31 @@ public class UpgradedAltars
}
return true;
case 6:
for (AltarComponent ac : sixthTierAltar)
{
if (ac.isBloodRune())
{
Block testBlock = world.getBlock(x + ac.getX(), y + ac.getY(), z + ac.getZ());
if (!(testBlock instanceof BloodRune))
{
return false;
}
} else
{
Block block = world.getBlock(x + ac.getX(), y + ac.getY(), z + ac.getZ());
int metadata = world.getBlockMetadata(x + ac.getX(), y + ac.getY(), z + ac.getZ());
if (((ac.getBlock() != block) || (ac.getMetadata() != metadata)) && !(ac.getBlock() == Blocks.stonebrick && !world.isAirBlock(x + ac.getX(), y + ac.getY(), z + ac.getZ())))
{
return false;
}
}
}
return true;
default:
return false;
@ -279,6 +305,29 @@ public class UpgradedAltars
fifthTierAltar.add(new AltarComponent(i, -4, 8, ModBlocks.bloodRune, 0, true, true));
fifthTierAltar.add(new AltarComponent(i, -4, -8, ModBlocks.bloodRune, 0, true, true));
}
sixthTierAltar.addAll(fifthTierAltar);
for(int i = -4; i <= 2; i++)
{
sixthTierAltar.add(new AltarComponent(11, i, 11, Blocks.stonebrick, 0, false, false));
sixthTierAltar.add(new AltarComponent(-11, i, -11, Blocks.stonebrick, 0, false, false));
sixthTierAltar.add(new AltarComponent(11, i, -11, Blocks.stonebrick, 0, false, false));
sixthTierAltar.add(new AltarComponent(-11, i, 11, Blocks.stonebrick, 0, false, false));
}
sixthTierAltar.add(new AltarComponent(11, 3, 11, ModBlocks.blockCrystal, 0, false, false));
sixthTierAltar.add(new AltarComponent(-11, 3, -11, ModBlocks.blockCrystal, 0, false, false));
sixthTierAltar.add(new AltarComponent(11, 3, -11, ModBlocks.blockCrystal, 0, false, false));
sixthTierAltar.add(new AltarComponent(-11, 3, 11, ModBlocks.blockCrystal, 0, false, false));
for (int i = -9; i <= 9; i++)
{
sixthTierAltar.add(new AltarComponent(11, -5, i, ModBlocks.bloodRune, 0, true, true));
sixthTierAltar.add(new AltarComponent(-11, -5, i, ModBlocks.bloodRune, 0, true, true));
sixthTierAltar.add(new AltarComponent(i, -5, 11, ModBlocks.bloodRune, 0, true, true));
sixthTierAltar.add(new AltarComponent(i, -5, -11, ModBlocks.bloodRune, 0, true, true));
}
}
public static List<AltarComponent> getAltarUpgradeListForTier(int tier)
@ -296,6 +345,9 @@ public class UpgradedAltars
case 5:
return fifthTierAltar;
case 6:
return sixthTierAltar;
}
return null;

View file

@ -97,6 +97,34 @@ public class EntityMinorDemonGrunt extends EntityDemon implements IOccasionalRan
}
}
@Override
protected void dropFewItems(boolean par1, int par2)
{
if(!this.getDoesDropCrystal())
{
ItemStack lifeShardStack = new ItemStack(ModItems.baseItems, 1, 28);
ItemStack soulShardStack = new ItemStack(ModItems.baseItems, 1, 29);
int dropAmount = 0;
for(int i=0; i<=par2; i++)
{
dropAmount += this.worldObj.rand.nextFloat() < 0.6f ? 1 : 0;
}
ItemStack drop = this.worldObj.rand.nextBoolean() ? lifeShardStack : soulShardStack;
drop.stackSize = dropAmount;
if(dropAmount > 0)
{
this.entityDropItem(drop, 0.0f);
}
}else
{
super.dropFewItems(par1, par2);
}
}
@Override
public void setPortalLocation(Int3 position)
{

View file

@ -61,6 +61,7 @@ public class EntityDemon extends EntityTameable implements IDemon
return null;
}
@Override
protected void dropFewItems(boolean par1, int par2)
{
if(this.getDoesDropCrystal())

View file

@ -16,7 +16,7 @@ import java.util.List;
public class ItemComponents extends Item
{
private static final String[] ITEM_NAMES = new String[]{"QuartzRod", "EmptyCore", "MagicalesCable", "WoodBrace", "StoneBrace", "ProjectileCore", "SelfCore", "MeleeCore", "ParadigmBackPlate", "OutputCable", "FlameCore", "IcyCore", "GustCore", "EarthenCore", "InputCable", "CrackedRunicPlate", "RunicPlate", "ScribedRunicPlate", "DefaultCore", "OffensiveCore", "DefensiveCore", "EnvironmentalCore", "PowerCore", "CostCore", "PotencyCore", "ObsidianBrace", "ToolCore", "EtherealSlate"};
private static final String[] ITEM_NAMES = new String[]{"QuartzRod", "EmptyCore", "MagicalesCable", "WoodBrace", "StoneBrace", "ProjectileCore", "SelfCore", "MeleeCore", "ParadigmBackPlate", "OutputCable", "FlameCore", "IcyCore", "GustCore", "EarthenCore", "InputCable", "CrackedRunicPlate", "RunicPlate", "ScribedRunicPlate", "DefaultCore", "OffensiveCore", "DefensiveCore", "EnvironmentalCore", "PowerCore", "CostCore", "PotencyCore", "ObsidianBrace", "ToolCore", "EtherealSlate", "LifeShard", "SoulShard", "SoulRunicPlate", "LifeBrace"};
@SideOnly(Side.CLIENT)
private IIcon[] icons;

View file

@ -0,0 +1,48 @@
package WayofTime.alchemicalWizardry.common.items;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class ItemCrystalBlock extends ItemBlock
{
public ItemCrystalBlock(Block par1)
{
super(par1);
setHasSubtypes(true);
}
public String getUnlocalizedName(ItemStack itemstack)
{
String name = "";
switch (itemstack.getItemDamage())
{
case 0:
{
name = "fullCrystal";
break;
}
case 1:
{
name = "crystalBrick";
break;
}
default:
name = "broken";
}
return getUnlocalizedName() + "." + name;
}
public int getMetadata(int par1)
{
return par1;
}
}

View file

@ -0,0 +1,21 @@
package WayofTime.alchemicalWizardry.common.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
public class TranscendentBloodOrb extends EnergyBattery
{
public TranscendentBloodOrb(int damage)
{
super(damage);
orbLevel = 6;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister)
{
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:TranscendentBloodOrb");
}
}

View file

@ -85,24 +85,30 @@ public class TESpellEnhancementBlockItemRenderer implements IItemRenderer
{
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";
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 3:
return "alchemicalwizardry:textures/models/SpellEnhancementPower4.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 8:
return "alchemicalwizardry:textures/models/SpellEnhancementCost4.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";
case 13:
return "alchemicalwizardry:textures/models/SpellEnhancementPotency4.png";
}
return "alchemicalwizardry:textures/models/SpellEnhancementPower1.png";

View file

@ -144,18 +144,24 @@ public class TESpellEnhancementBlock extends TESpellBlock
return "alchemicalwizardry:textures/models/SpellEnhancementPower2.png";
case 2:
return "alchemicalwizardry:textures/models/SpellEnhancementPower3.png";
case 3:
return "alchemicalwizardry:textures/models/SpellEnhancementPower4.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";
return "alchemicalwizardry:textures/models/SpellEnhancementCost3.png";
case 8:
return "alchemicalwizardry:textures/models/SpellEnhancementCost4.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";
case 13:
return "alchemicalwizardry:textures/models/SpellEnhancementPotency4.png";
}
return "alchemicalwizardry:textures/models/SpellEnhancementPower1.png";