Added more recipes, made Imbued Spell Enhancements craftable
This commit is contained in:
parent
41c8d888b9
commit
574f43010d
24 changed files with 295 additions and 23 deletions
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -61,6 +61,7 @@ public class EntityDemon extends EntityTameable implements IDemon
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dropFewItems(boolean par1, int par2)
|
||||
{
|
||||
if(this.getDoesDropCrystal())
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue