diff --git a/.gitignore b/.gitignore index 72c0919d..e4efc220 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ # Directories /.gradle/ /build/ -/eclipse/ +/eclipse /run/ /out/ /asm/ @@ -11,6 +11,7 @@ /.idea/ /.metadata/ /.settings/ +/libs/ # File Extensions *.psd @@ -23,3 +24,4 @@ # Specific files Thumbs.db + diff --git a/src-backup/api/java/thaumcraft/api/IGoggles.java b/src-backup/api/java/thaumcraft/api/IGoggles.java deleted file mode 100644 index 2f53d816..00000000 --- a/src-backup/api/java/thaumcraft/api/IGoggles.java +++ /dev/null @@ -1,22 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; - -/** - * - * @author Azanor - * - * Equipped head slot items that extend this class will be able to perform most functions that - * goggles of revealing can apart from view nodes which is handled by IRevealer. - * - */ - -public interface IGoggles { - - /* - * If this method returns true things like block essentia contents will be shown. - */ - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player); - -} diff --git a/src-backup/api/java/thaumcraft/api/IRepairable.java b/src-backup/api/java/thaumcraft/api/IRepairable.java deleted file mode 100644 index 48c6dff9..00000000 --- a/src-backup/api/java/thaumcraft/api/IRepairable.java +++ /dev/null @@ -1,13 +0,0 @@ -package thaumcraft.api; - - - -/** - * @author Azanor - * Items, armor and tools with this interface can receive the Repair enchantment. - * Repairs 1 point of durability every 10 seconds (2 for repair II) - */ -public interface IRepairable { - - -} diff --git a/src-backup/api/java/thaumcraft/api/IRepairableExtended.java b/src-backup/api/java/thaumcraft/api/IRepairableExtended.java deleted file mode 100644 index 33827124..00000000 --- a/src-backup/api/java/thaumcraft/api/IRepairableExtended.java +++ /dev/null @@ -1,17 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - - - -/** - * @author Azanor - * Items, armor and tools with this interface can receive the Repair enchantment. - * Repairs 1 point of durability every 10 seconds (2 for repair II) - */ -public interface IRepairableExtended extends IRepairable { - - public boolean doRepair(ItemStack stack, EntityPlayer player, int enchantlevel); - -} diff --git a/src-backup/api/java/thaumcraft/api/IRunicArmor.java b/src-backup/api/java/thaumcraft/api/IRunicArmor.java deleted file mode 100644 index 5dd31100..00000000 --- a/src-backup/api/java/thaumcraft/api/IRunicArmor.java +++ /dev/null @@ -1,22 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.item.ItemStack; - -/** - * - * @author Azanor - * - * Armor or bauble slot items that implement this interface can provide runic shielding. - * Recharging, hardening, etc. is handled internally by thaumcraft. - * - */ - -public interface IRunicArmor { - - /** - * returns how much charge this item can provide. This is the base shielding value - any hardening is stored and calculated internally. - */ - public int getRunicCharge(ItemStack itemstack); - - -} diff --git a/src-backup/api/java/thaumcraft/api/IScribeTools.java b/src-backup/api/java/thaumcraft/api/IScribeTools.java deleted file mode 100644 index 8800fa57..00000000 --- a/src-backup/api/java/thaumcraft/api/IScribeTools.java +++ /dev/null @@ -1,14 +0,0 @@ -package thaumcraft.api; - - -/** - * - * @author Azanor - * - * Interface used to identify scribing tool items used in research table - * - */ - -public interface IScribeTools { - -} diff --git a/src-backup/api/java/thaumcraft/api/IVisDiscountGear.java b/src-backup/api/java/thaumcraft/api/IVisDiscountGear.java deleted file mode 100644 index 3793ea3e..00000000 --- a/src-backup/api/java/thaumcraft/api/IVisDiscountGear.java +++ /dev/null @@ -1,20 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import thaumcraft.api.aspects.Aspect; - - - - -/** - * @author Azanor - * ItemArmor with this interface will grant a discount to the vis cost of actions the wearer performs with casting wands. - * The amount returned is the percentage by which the cost is discounted. There is a built-int max discount of 50%, but - * individual items really shouldn't have a discount more than 5% - */ -public interface IVisDiscountGear { - - int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect); - -} diff --git a/src-backup/api/java/thaumcraft/api/ItemApi.java b/src-backup/api/java/thaumcraft/api/ItemApi.java deleted file mode 100644 index 25dda282..00000000 --- a/src-backup/api/java/thaumcraft/api/ItemApi.java +++ /dev/null @@ -1,70 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import cpw.mods.fml.common.FMLLog; - -/** - * @author Azanor - * - * This is used to gain access to the items in my mod. - * I only give some examples and it will probably still - * require a bit of work for you to get hold of everything you need. - * - */ -public class ItemApi { - - public static ItemStack getItem(String itemString, int meta) { - ItemStack item = null; - - try { - String itemClass = "thaumcraft.common.config.ConfigItems"; - Object obj = Class.forName(itemClass).getField(itemString).get(null); - if (obj instanceof Item) { - item = new ItemStack((Item) obj,1,meta); - } else if (obj instanceof ItemStack) { - item = (ItemStack) obj; - } - } catch (Exception ex) { - FMLLog.warning("[Thaumcraft] Could not retrieve item identified by: " + itemString); - } - - return item; - } - - public static ItemStack getBlock(String itemString, int meta) { - ItemStack item = null; - - try { - String itemClass = "thaumcraft.common.config.ConfigBlocks"; - Object obj = Class.forName(itemClass).getField(itemString).get(null); - if (obj instanceof Block) { - item = new ItemStack((Block) obj,1,meta); - } else if (obj instanceof ItemStack) { - item = (ItemStack) obj; - } - } catch (Exception ex) { - FMLLog.warning("[Thaumcraft] Could not retrieve block identified by: " + itemString); - } - - return item; - } - - /** - * - * Some examples - * - * Casting Wands: - * itemWandCasting - * - * Resources: - * itemEssence, itemWispEssence, itemResource, itemShard, itemNugget, - * itemNuggetChicken, itemNuggetBeef, itemNuggetPork, itemTripleMeatTreat - * - * Research: - * itemResearchNotes, itemInkwell, itemThaumonomicon - * - */ - -} diff --git a/src-backup/api/java/thaumcraft/api/ItemRunic.java b/src-backup/api/java/thaumcraft/api/ItemRunic.java deleted file mode 100644 index 80251f59..00000000 --- a/src-backup/api/java/thaumcraft/api/ItemRunic.java +++ /dev/null @@ -1,21 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class ItemRunic extends Item implements IRunicArmor { - - int charge; - - public ItemRunic (int charge) - { - super(); - this.charge = charge; - } - - @Override - public int getRunicCharge(ItemStack itemstack) { - return charge; - } - -} diff --git a/src-backup/api/java/thaumcraft/api/ThaumcraftApi.java b/src-backup/api/java/thaumcraft/api/ThaumcraftApi.java deleted file mode 100644 index 0b135d31..00000000 --- a/src-backup/api/java/thaumcraft/api/ThaumcraftApi.java +++ /dev/null @@ -1,507 +0,0 @@ -package thaumcraft.api; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.crafting.CrucibleRecipe; -import thaumcraft.api.crafting.InfusionEnchantmentRecipe; -import thaumcraft.api.crafting.InfusionRecipe; -import thaumcraft.api.crafting.ShapedArcaneRecipe; -import thaumcraft.api.crafting.ShapelessArcaneRecipe; -import thaumcraft.api.research.IScanEventHandler; -import thaumcraft.api.research.ResearchCategories; -import thaumcraft.api.research.ResearchCategoryList; -import thaumcraft.api.research.ResearchItem; -import thaumcraft.api.research.ResearchPage; - - -/** - * @author Azanor - * - * - * IMPORTANT: If you are adding your own aspects to items it is a good idea to do it AFTER Thaumcraft adds its aspects, otherwise odd things may happen. - * - */ -public class ThaumcraftApi { - - //Materials - public static ToolMaterial toolMatThaumium = EnumHelper.addToolMaterial("THAUMIUM", 3, 400, 7F, 2, 22); - public static ToolMaterial toolMatElemental = EnumHelper.addToolMaterial("THAUMIUM_ELEMENTAL", 3, 1500, 10F, 3, 18); - public static ArmorMaterial armorMatThaumium = EnumHelper.addArmorMaterial("THAUMIUM", 25, new int[] { 2, 6, 5, 2 }, 25); - public static ArmorMaterial armorMatSpecial = EnumHelper.addArmorMaterial("SPECIAL", 25, new int[] { 1, 3, 2, 1 }, 25); - - //Enchantment references - public static int enchantFrugal; - public static int enchantPotency; - public static int enchantWandFortune; - public static int enchantHaste; - public static int enchantRepair; - - //Miscellaneous - /** - * Portable Hole Block-id Blacklist. - * Simply add the block-id's of blocks you don't want the portable hole to go through. - */ - public static ArrayList portableHoleBlackList = new ArrayList(); - - - //RESEARCH///////////////////////////////////////// - public static ArrayList scanEventhandlers = new ArrayList(); - public static ArrayList scanEntities = new ArrayList(); - public static class EntityTagsNBT { - public EntityTagsNBT(String name, Object value) { - this.name = name; - this.value = value; - } - public String name; - public Object value; - } - public static class EntityTags { - public EntityTags(String entityName, AspectList aspects, EntityTagsNBT... nbts) { - this.entityName = entityName; - this.nbts = nbts; - this.aspects = aspects; - } - public String entityName; - public EntityTagsNBT[] nbts; - public AspectList aspects; - } - - /** - * not really working atm, so ignore it for now - * @param scanEventHandler - */ - public static void registerScanEventhandler(IScanEventHandler scanEventHandler) { - scanEventhandlers.add(scanEventHandler); - } - - /** - * This is used to add aspects to entities which you can then scan using a thaumometer. - * Also used to calculate vis drops from mobs. - * @param entityName - * @param aspects - * @param nbt you can specify certain nbt keys and their values - * to differentiate between mobs.
For example the normal and wither skeleton: - *
ThaumcraftApi.registerEntityTag("Skeleton", (new AspectList()).add(Aspect.DEATH, 5)); - *
ThaumcraftApi.registerEntityTag("Skeleton", (new AspectList()).add(Aspect.DEATH, 8), new NBTTagByte("SkeletonType",(byte) 1)); - */ - public static void registerEntityTag(String entityName, AspectList aspects, EntityTagsNBT... nbt ) { - scanEntities.add(new EntityTags(entityName,aspects,nbt)); - } - - //RECIPES///////////////////////////////////////// - private static ArrayList craftingRecipes = new ArrayList(); - private static HashMap smeltingBonus = new HashMap(); - - /** - * This method is used to determine what bonus items are generated when the infernal furnace smelts items - * @param in The input of the smelting operation. e.g. new ItemStack(Block.oreGold) - * @param out The bonus item that can be produced from the smelting operation e.g. new ItemStack(nuggetGold,0,0). - * Stacksize should be 0 unless you want to guarantee that at least 1 item is always produced. - */ - public static void addSmeltingBonus(ItemStack in, ItemStack out) { - smeltingBonus.put( - Arrays.asList(in.getItem(),in.getItemDamage()), - new ItemStack(out.getItem(),0,out.getItemDamage())); - } - - /** - * This method is used to determine what bonus items are generated when the infernal furnace smelts items - * @param in The ore dictionary input of the smelting operation. e.g. "oreGold" - * @param out The bonus item that can be produced from the smelting operation e.g. new ItemStack(nuggetGold,0,0). - * Stacksize should be 0 unless you want to guarantee that at least 1 item is always produced. - */ - public static void addSmeltingBonus(String in, ItemStack out) { - smeltingBonus.put( in, new ItemStack(out.getItem(),0,out.getItemDamage())); - } - - /** - * Returns the bonus item produced from a smelting operation in the infernal furnace - * @param in The input of the smelting operation. e.g. new ItemStack(oreGold) - * @return the The bonus item that can be produced - */ - public static ItemStack getSmeltingBonus(ItemStack in) { - ItemStack out = smeltingBonus.get(Arrays.asList(in.getItem(),in.getItemDamage())); - if (out==null) { - out = smeltingBonus.get(Arrays.asList(in.getItem(),OreDictionary.WILDCARD_VALUE)); - } - if (out==null) { - String od = OreDictionary.getOreName( OreDictionary.getOreID(in)); - out = smeltingBonus.get(od); - } - return out; - } - - public static List getCraftingRecipes() { - return craftingRecipes; - } - - /** - * @param research the research key required for this recipe to work. Leave blank if it will work without research - * @param result the recipe output - * @param aspects the vis cost per aspect. - * @param recipe The recipe. Format is exactly the same as vanilla recipes. Input itemstacks are NBT sensitive. - */ - public static ShapedArcaneRecipe addArcaneCraftingRecipe(String research, ItemStack result, AspectList aspects, Object ... recipe) - { - ShapedArcaneRecipe r= new ShapedArcaneRecipe(research, result, aspects, recipe); - craftingRecipes.add(r); - return r; - } - - /** - * @param research the research key required for this recipe to work. Leave blank if it will work without research - * @param result the recipe output - * @param aspects the vis cost per aspect - * @param recipe The recipe. Format is exactly the same as vanilla shapeless recipes. Input itemstacks are NBT sensitive. - */ - public static ShapelessArcaneRecipe addShapelessArcaneCraftingRecipe(String research, ItemStack result, AspectList aspects, Object ... recipe) - { - ShapelessArcaneRecipe r = new ShapelessArcaneRecipe(research, result, aspects, recipe); - craftingRecipes.add(r); - return r; - } - - /** - * @param research the research key required for this recipe to work. Leave blank if it will work without research - * @param result the recipe output. It can either be an itemstack or an nbt compound tag that will be added to the central item - * @param instability a number that represents the N in 1000 chance for the infusion altar to spawn an - * instability effect each second while the crafting is in progress - * @param aspects the essentia cost per aspect. - * @param aspects input the central item to be infused - * @param recipe An array of items required to craft this. Input itemstacks are NBT sensitive. - * Infusion crafting components are automatically "fuzzy" and the oredict will be checked for possible matches. - * - */ - public static InfusionRecipe addInfusionCraftingRecipe(String research, Object result, int instability, AspectList aspects, ItemStack input,ItemStack[] recipe) - { - if (!(result instanceof ItemStack || result instanceof Object[])) return null; - InfusionRecipe r= new InfusionRecipe(research, result, instability, aspects, input, recipe); - craftingRecipes.add(r); - return r; - } - - /** - * @param research the research key required for this recipe to work. Leave blank if it will work without research - * @param enchantment the enchantment that will be applied to the item - * @param instability a number that represents the N in 1000 chance for the infusion altar to spawn an - * instability effect each second while the crafting is in progress - * @param aspects the essentia cost per aspect. - * @param recipe An array of items required to craft this. Input itemstacks are NBT sensitive. - * Infusion crafting components are automatically "fuzzy" and the oredict will be checked for possible matches. - * - */ - public static InfusionEnchantmentRecipe addInfusionEnchantmentRecipe(String research, Enchantment enchantment, int instability, AspectList aspects, ItemStack[] recipe) - { - InfusionEnchantmentRecipe r= new InfusionEnchantmentRecipe(research, enchantment, instability, aspects, recipe); - craftingRecipes.add(r); - return r; - } - - /** - * @param stack the recipe result - * @return the recipe - */ - public static InfusionRecipe getInfusionRecipe(ItemStack res) { - for (Object r:getCraftingRecipes()) { - if (r instanceof InfusionRecipe) { - if (((InfusionRecipe)r).getRecipeOutput() instanceof ItemStack) { - if (((ItemStack) ((InfusionRecipe)r).getRecipeOutput()).isItemEqual(res)) - return (InfusionRecipe)r; - } - } - } - return null; - } - - - /** - * @param key the research key required for this recipe to work. - * @param result the output result - * @param catalyst an itemstack of the catalyst or a string if it is an ore dictionary item - * @param cost the vis cost - * @param tags the aspects required to craft this - */ - public static CrucibleRecipe addCrucibleRecipe(String key, ItemStack result, Object catalyst, AspectList tags) { - CrucibleRecipe rc = new CrucibleRecipe(key, result, catalyst, tags); - getCraftingRecipes().add(rc); - return rc; - } - - - /** - * @param stack the recipe result - * @return the recipe - */ - public static CrucibleRecipe getCrucibleRecipe(ItemStack stack) { - for (Object r:getCraftingRecipes()) { - if (r instanceof CrucibleRecipe) { - if (((CrucibleRecipe)r).getRecipeOutput().isItemEqual(stack)) - return (CrucibleRecipe)r; - } - } - return null; - } - - /** - * Used by the thaumonomicon drilldown feature. - * @param stack the item - * @return the thaumcraft recipe key that produces that item. - */ - private static HashMap keyCache = new HashMap(); - - public static Object[] getCraftingRecipeKey(EntityPlayer player, ItemStack stack) { - int[] key = new int[] {Item.getIdFromItem(stack.getItem()),stack.getItemDamage()}; - if (keyCache.containsKey(key)) { - if (keyCache.get(key)==null) return null; - if (ThaumcraftApiHelper.isResearchComplete(player.getCommandSenderName(), (String)(keyCache.get(key))[0])) - return keyCache.get(key); - else - return null; - } - for (ResearchCategoryList rcl:ResearchCategories.researchCategories.values()) { - for (ResearchItem ri:rcl.research.values()) { - if (ri.getPages()==null) continue; - for (int a=0;a objectTags = new ConcurrentHashMap(); - - /** - * Checks to see if the passed item/block already has aspects associated with it. - * @param id - * @param meta - * @return - */ - public static boolean exists(Item item, int meta) { - AspectList tmp = ThaumcraftApi.objectTags.get(Arrays.asList(item,meta)); - if (tmp==null) { - tmp = ThaumcraftApi.objectTags.get(Arrays.asList(item,OreDictionary.WILDCARD_VALUE)); - if (meta==OreDictionary.WILDCARD_VALUE && tmp==null) { - int index=0; - do { - tmp = ThaumcraftApi.objectTags.get(Arrays.asList(item,index)); - index++; - } while (index<16 && tmp==null); - } - if (tmp==null) return false; - } - - return true; - } - - /** - * Used to assign apsects to the given item/block. Here is an example of the declaration for cobblestone:

- * ThaumcraftApi.registerObjectTag(new ItemStack(Blocks.cobblestone), (new AspectList()).add(Aspect.ENTROPY, 1).add(Aspect.EARTH, 1)); - * @param item the item passed. Pass OreDictionary.WILDCARD_VALUE if all damage values of this item/block should have the same aspects - * @param aspects A ObjectTags object of the associated aspects - */ - public static void registerObjectTag(ItemStack item, AspectList aspects) { - if (aspects==null) aspects=new AspectList(); - try { - objectTags.put(Arrays.asList(item.getItem(),item.getItemDamage()), aspects); - } catch (Exception e) {} - } - - - /** - * Used to assign apsects to the given item/block. Here is an example of the declaration for cobblestone:

- * ThaumcraftApi.registerObjectTag(new ItemStack(Blocks.cobblestone), new int[]{0,1}, (new AspectList()).add(Aspect.ENTROPY, 1).add(Aspect.EARTH, 1)); - * @param item - * @param meta A range of meta values if you wish to lump several item meta's together as being the "same" item (i.e. stair orientations) - * @param aspects A ObjectTags object of the associated aspects - */ - public static void registerObjectTag(ItemStack item, int[] meta, AspectList aspects) { - if (aspects==null) aspects=new AspectList(); - try { - objectTags.put(Arrays.asList(item.getItem(),meta), aspects); - } catch (Exception e) {} - } - - /** - * Used to assign apsects to the given ore dictionary item. - * @param oreDict the ore dictionary name - * @param aspects A ObjectTags object of the associated aspects - */ - public static void registerObjectTag(String oreDict, AspectList aspects) { - if (aspects==null) aspects=new AspectList(); - ArrayList ores = OreDictionary.getOres(oreDict); - if (ores!=null && ores.size()>0) { - for (ItemStack ore:ores) { - try { - objectTags.put(Arrays.asList(ore.getItem(), ore.getItemDamage()), aspects); - } catch (Exception e) {} - } - } - } - - /** - * Used to assign aspects to the given item/block. - * Attempts to automatically generate aspect tags by checking registered recipes. - * Here is an example of the declaration for pistons:

- * ThaumcraftApi.registerComplexObjectTag(new ItemStack(Blocks.cobblestone), (new AspectList()).add(Aspect.MECHANISM, 2).add(Aspect.MOTION, 4)); - * @param item, pass OreDictionary.WILDCARD_VALUE to meta if all damage values of this item/block should have the same aspects - * @param aspects A ObjectTags object of the associated aspects - */ - public static void registerComplexObjectTag(ItemStack item, AspectList aspects ) { - if (!exists(item.getItem(),item.getItemDamage())) { - AspectList tmp = ThaumcraftApiHelper.generateTags(item.getItem(), item.getItemDamage()); - if (tmp != null && tmp.size()>0) { - for(Aspect tag:tmp.getAspects()) { - aspects.add(tag, tmp.getAmount(tag)); - } - } - registerObjectTag(item,aspects); - } else { - AspectList tmp = ThaumcraftApiHelper.getObjectAspects(item); - for(Aspect tag:aspects.getAspects()) { - tmp.merge(tag, tmp.getAmount(tag)); - } - registerObjectTag(item,tmp); - } - } - - //WARP /////////////////////////////////////////////////////////////////////////////////////// - private static HashMap warpMap = new HashMap(); - - /** - * This method is used to determine how much warp is gained if the item is crafted - * @param craftresult The item crafted - * @param amount how much warp is gained - */ - public static void addWarpToItem(ItemStack craftresult, int amount) { - warpMap.put(Arrays.asList(craftresult.getItem(),craftresult.getItemDamage()),amount); - } - - /** - * This method is used to determine how much warp is gained if the sent item is crafted - * @param in The item crafted - * @param amount how much warp is gained - */ - public static void addWarpToResearch(String research, int amount) { - warpMap.put(research, amount); - } - - /** - * Returns how much warp is gained from the item or research passed in - * @param in itemstack or string - * @return how much warp it will give - */ - public static int getWarp(Object in) { - if (in==null) return 0; - if (in instanceof ItemStack && warpMap.containsKey(Arrays.asList(((ItemStack)in).getItem(),((ItemStack)in).getItemDamage()))) { - return warpMap.get(Arrays.asList(((ItemStack)in).getItem(),((ItemStack)in).getItemDamage())); - } else - if (in instanceof String && warpMap.containsKey((String)in)) { - return warpMap.get((String)in); - } - return 0; - } - - //CROPS ////////////////////////////////////////////////////////////////////////////////////////// - - /** - * To define mod crops you need to use FMLInterModComms in your @Mod.Init method. - * There are two 'types' of crops you can add. Standard crops and clickable crops. - * - * Standard crops work like normal vanilla crops - they grow until a certain metadata - * value is reached and you harvest them by destroying the block and collecting the blocks. - * You need to create and ItemStack that tells the golem what block id and metadata represents - * the crop when fully grown. Sending a metadata of [OreDictionary.WILDCARD_VALUE] will mean the metadata won't get - * checked. - * Example for vanilla wheat: - * FMLInterModComms.sendMessage("Thaumcraft", "harvestStandardCrop", new ItemStack(Block.crops,1,7)); - * - * Clickable crops are crops that you right click to gather their bounty instead of destroying them. - * As for standard crops, you need to create and ItemStack that tells the golem what block id - * and metadata represents the crop when fully grown. The golem will trigger the blocks onBlockActivated method. - * Sending a metadata of [OreDictionary.WILDCARD_VALUE] will mean the metadata won't get checked. - * Example (this will technically do nothing since clicking wheat does nothing, but you get the idea): - * FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(Block.crops,1,7)); - * - * Stacked crops (like reeds) are crops that you wish the bottom block should remain after harvesting. - * As for standard crops, you need to create and ItemStack that tells the golem what block id - * and metadata represents the crop when fully grown. Sending a metadata of [OreDictionary.WILDCARD_VALUE] will mean the actualy md won't get - * checked. If it has the order upgrade it will only harvest if the crop is more than one block high. - * Example: - * FMLInterModComms.sendMessage("Thaumcraft", "harvestStackedCrop", new ItemStack(Block.reed,1,7)); - */ - - //NATIVE CLUSTERS ////////////////////////////////////////////////////////////////////////////////// - - /** - * You can define certain ores that will have a chance to produce native clusters via FMLInterModComms - * in your @Mod.Init method using the "nativeCluster" string message. - * The format should be: - * "[ore item/block id],[ore item/block metadata],[cluster item/block id],[cluster item/block metadata],[chance modifier float]" - * - * NOTE: The chance modifier is a multiplier applied to the default chance for that cluster to be produced (default 27.5% for a pickaxe of the core) - * - * Example for vanilla iron ore to produce one of my own native iron clusters (assuming default id's) at double the default chance: - * FMLInterModComms.sendMessage("Thaumcraft", "nativeCluster","15,0,25016,16,2.0"); - */ - - //LAMP OF GROWTH BLACKLIST /////////////////////////////////////////////////////////////////////////// - /** - * You can blacklist crops that should not be effected by the Lamp of Growth via FMLInterModComms - * in your @Mod.Init method using the "lampBlacklist" itemstack message. - * Sending a metadata of [OreDictionary.WILDCARD_VALUE] will mean the metadata won't get checked. - * Example for vanilla wheat: - * FMLInterModComms.sendMessage("Thaumcraft", "lampBlacklist", new ItemStack(Block.crops,1,OreDictionary.WILDCARD_VALUE)); - */ - - //DIMENSION BLACKLIST /////////////////////////////////////////////////////////////////////////// - /** - * You can blacklist a dimension to not spawn certain thaumcraft features - * in your @Mod.Init method using the "dimensionBlacklist" string message in the format "[dimension]:[level]" - * The level values are as follows: - * [0] stop all tc spawning and generation - * [1] allow ore and node generation - * [2] allow mob spawning - * [3] allow ore and node gen + mob spawning - * Example: - * FMLInterModComms.sendMessage("Thaumcraft", "dimensionBlacklist", "15:1"); - */ - - //BIOME BLACKLIST /////////////////////////////////////////////////////////////////////////// - /** - * You can blacklist a biome to not spawn certain thaumcraft features - * in your @Mod.Init method using the "biomeBlacklist" string message in the format "[biome id]:[level]" - * The level values are as follows: - * [0] stop all tc spawning and generation - * [1] allow ore and node generation - * [2] allow mob spawning - * [3] allow ore and node gen + mob spawning - * Example: - * FMLInterModComms.sendMessage("Thaumcraft", "biomeBlacklist", "180:2"); - */ -} diff --git a/src-backup/api/java/thaumcraft/api/ThaumcraftApiHelper.java b/src-backup/api/java/thaumcraft/api/ThaumcraftApiHelper.java deleted file mode 100644 index a4b6d42a..00000000 --- a/src-backup/api/java/thaumcraft/api/ThaumcraftApiHelper.java +++ /dev/null @@ -1,269 +0,0 @@ -package thaumcraft.api; - -import java.lang.reflect.Method; -import java.util.HashMap; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.aspects.IEssentiaTransport; -import cpw.mods.fml.common.FMLLog; - -public class ThaumcraftApiHelper { - - public static AspectList cullTags(AspectList temp) { - AspectList temp2 = new AspectList(); - for (Aspect tag:temp.getAspects()) { - if (tag!=null) - temp2.add(tag, temp.getAmount(tag)); - } - while (temp2!=null && temp2.size()>10) { - Aspect lowest = null; - int low = Integer.MAX_VALUE; - for (Aspect tag:temp2.getAspects()) { - if (tag==null) continue; - if (temp2.getAmount(tag) allAspects= new HashMap(); - private static HashMap allCompoundAspects= new HashMap(); - - public static AspectList getAllAspects(int amount) { - if (allAspects.get(amount)==null) { - AspectList al = new AspectList(); - for (Aspect aspect:Aspect.aspects.values()) { - al.add(aspect, amount); - } - allAspects.put(amount, al); - } - return allAspects.get(amount); - } - - public static AspectList getAllCompoundAspects(int amount) { - if (allCompoundAspects.get(amount)==null) { - AspectList al = new AspectList(); - for (Aspect aspect:Aspect.getCompoundAspects()) { - al.add(aspect, amount); - } - allCompoundAspects.put(amount, al); - } - return allCompoundAspects.get(amount); - } - - static Method consumeVisFromWand; - /** - * Use to subtract vis from a wand for most operations - * Wands store vis differently so "real" vis costs need to be multiplied by 100 before calling this method - * @param wand the wand itemstack - * @param player the player using the wand - * @param cost the cost of the operation. - * @param doit actually subtract the vis from the wand if true - if false just simulate the result - * @param crafting is this a crafting operation or not - if - * false then things like frugal and potency will apply to the costs - * @return was the vis successfully subtracted - */ - public static boolean consumeVisFromWand(ItemStack wand, EntityPlayer player, - AspectList cost, boolean doit, boolean crafting) { - boolean ot = false; - try { - if(consumeVisFromWand == null) { - Class fake = Class.forName("thaumcraft.common.items.wands.ItemWandCasting"); - consumeVisFromWand = fake.getMethod("consumeAllVis", - ItemStack.class, EntityPlayer.class, AspectList.class, boolean.class, boolean.class); - } - ot = (Boolean) consumeVisFromWand.invoke( - consumeVisFromWand.getDeclaringClass().cast(wand.getItem()), wand, player, cost, doit, crafting); - } catch(Exception ex) { - FMLLog.warning("[Thaumcraft API] Could not invoke thaumcraft.common.items.wands.ItemWandCasting method consumeAllVis"); - } - return ot; - } - - static Method consumeVisFromWandCrafting; - /** - * Subtract vis for use by a crafting mechanic. Costs are calculated slightly - * differently and things like the frugal enchant is ignored - * Must NOT be multiplied by 100 - send the actual vis cost - * @param wand the wand itemstack - * @param player the player using the wand - * @param cost the cost of the operation. - * @param doit actually subtract the vis from the wand if true - if false just simulate the result - * @return was the vis successfully subtracted - */ - public static boolean consumeVisFromWandCrafting(ItemStack wand, EntityPlayer player, - AspectList cost, boolean doit) { - boolean ot = false; - try { - if(consumeVisFromWandCrafting == null) { - Class fake = Class.forName("thaumcraft.common.items.wands.ItemWandCasting"); - consumeVisFromWandCrafting = fake.getMethod("consumeAllVisCrafting", - ItemStack.class, EntityPlayer.class, AspectList.class, boolean.class); - } - ot = (Boolean) consumeVisFromWandCrafting.invoke( - consumeVisFromWandCrafting.getDeclaringClass().cast(wand.getItem()), wand, player, cost, doit); - } catch(Exception ex) { - FMLLog.warning("[Thaumcraft API] Could not invoke thaumcraft.common.items.wands.ItemWandCasting method consumeAllVisCrafting"); - } - return ot; - } - - static Method consumeVisFromInventory; - /** - * Subtract vis from a wand the player is carrying. Works like consumeVisFromWand in that actual vis - * costs should be multiplied by 100. The costs are handled like crafting however and things like - * frugal don't effect them - * @param player the player using the wand - * @param cost the cost of the operation. - * @return was the vis successfully subtracted - */ - public static boolean consumeVisFromInventory(EntityPlayer player, AspectList cost) { - boolean ot = false; - try { - if(consumeVisFromInventory == null) { - Class fake = Class.forName("thaumcraft.common.items.wands.WandManager"); - consumeVisFromInventory = fake.getMethod("consumeVisFromInventory", - EntityPlayer.class, AspectList.class); - } - ot = (Boolean) consumeVisFromInventory.invoke(null, player, cost); - } catch(Exception ex) { - FMLLog.warning("[Thaumcraft API] Could not invoke thaumcraft.common.items.wands.WandManager method consumeVisFromInventory"); - } - return ot; - } -} diff --git a/src-backup/api/java/thaumcraft/api/TileThaumcraft.java b/src-backup/api/java/thaumcraft/api/TileThaumcraft.java deleted file mode 100644 index 56ccae87..00000000 --- a/src-backup/api/java/thaumcraft/api/TileThaumcraft.java +++ /dev/null @@ -1,63 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; - -/** - * - * @author azanor - * - * Custom tile entity class I use for most of my tile entities. Setup in such a way that only - * the nbt data within readCustomNBT / writeCustomNBT will be sent to the client when the tile - * updates. Apart from all the normal TE data that gets sent that is. - * - */ -public class TileThaumcraft extends TileEntity { - - //NBT stuff - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) - { - super.readFromNBT(nbttagcompound); - readCustomNBT(nbttagcompound); - } - - public void readCustomNBT(NBTTagCompound nbttagcompound) - { - //TODO - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) - { - super.writeToNBT(nbttagcompound); - writeCustomNBT(nbttagcompound); - } - - public void writeCustomNBT(NBTTagCompound nbttagcompound) - { - //TODO - } - - //Client Packet stuff - @Override - public Packet getDescriptionPacket() { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - this.writeCustomNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, -999, nbttagcompound); - } - - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { - super.onDataPacket(net, pkt); - this.readCustomNBT(pkt.func_148857_g()); - } - - - - -} diff --git a/src-backup/api/java/thaumcraft/api/WorldCoordinates.java b/src-backup/api/java/thaumcraft/api/WorldCoordinates.java deleted file mode 100644 index 6c620af5..00000000 --- a/src-backup/api/java/thaumcraft/api/WorldCoordinates.java +++ /dev/null @@ -1,117 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -public class WorldCoordinates implements Comparable -{ - public int x; - - /** the y coordinate */ - public int y; - - /** the z coordinate */ - public int z; - - public int dim; - - public WorldCoordinates() {} - - public WorldCoordinates(int par1, int par2, int par3, int d) - { - this.x = par1; - this.y = par2; - this.z = par3; - this.dim = d; - } - - public WorldCoordinates(TileEntity tile) - { - this.x = tile.xCoord; - this.y = tile.yCoord; - this.z = tile.zCoord; - this.dim = tile.getWorldObj().provider.dimensionId; - } - - public WorldCoordinates(WorldCoordinates par1ChunkCoordinates) - { - this.x = par1ChunkCoordinates.x; - this.y = par1ChunkCoordinates.y; - this.z = par1ChunkCoordinates.z; - this.dim = par1ChunkCoordinates.dim; - } - - public boolean equals(Object par1Obj) - { - if (!(par1Obj instanceof WorldCoordinates)) - { - return false; - } - else - { - WorldCoordinates coordinates = (WorldCoordinates)par1Obj; - return this.x == coordinates.x && this.y == coordinates.y && this.z == coordinates.z && this.dim == coordinates.dim ; - } - } - - public int hashCode() - { - return this.x + this.y << 8 + this.z << 16 + this.dim << 24; - } - - /** - * Compare the coordinate with another coordinate - */ - public int compareWorldCoordinate(WorldCoordinates par1) - { - return this.dim == par1.dim ? ( - this.y == par1.y ? (this.z == par1.z ? this.x - par1.x : this.z - par1.z) : this.y - par1.y) : -1; - } - - public void set(int par1, int par2, int par3, int d) - { - this.x = par1; - this.y = par2; - this.z = par3; - this.dim = d; - } - - /** - * Returns the squared distance between this coordinates and the coordinates given as argument. - */ - public float getDistanceSquared(int par1, int par2, int par3) - { - float f = (float)(this.x - par1); - float f1 = (float)(this.y - par2); - float f2 = (float)(this.z - par3); - return f * f + f1 * f1 + f2 * f2; - } - - /** - * Return the squared distance between this coordinates and the ChunkCoordinates given as argument. - */ - public float getDistanceSquaredToWorldCoordinates(WorldCoordinates par1ChunkCoordinates) - { - return this.getDistanceSquared(par1ChunkCoordinates.x, par1ChunkCoordinates.y, par1ChunkCoordinates.z); - } - - public int compareTo(Object par1Obj) - { - return this.compareWorldCoordinate((WorldCoordinates)par1Obj); - } - - public void readNBT(NBTTagCompound nbt) { - this.x = nbt.getInteger("w_x"); - this.y = nbt.getInteger("w_y"); - this.z = nbt.getInteger("w_z"); - this.dim = nbt.getInteger("w_d"); - } - - public void writeNBT(NBTTagCompound nbt) { - nbt.setInteger("w_x",x); - nbt.setInteger("w_y",y); - nbt.setInteger("w_z",z); - nbt.setInteger("w_d",dim); - } - -} diff --git a/src-backup/api/java/thaumcraft/api/aspects/Aspect.java b/src-backup/api/java/thaumcraft/api/aspects/Aspect.java deleted file mode 100644 index 3c33a4a7..00000000 --- a/src-backup/api/java/thaumcraft/api/aspects/Aspect.java +++ /dev/null @@ -1,201 +0,0 @@ -package thaumcraft.api.aspects; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.LinkedHashMap; - -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -import org.apache.commons.lang3.text.WordUtils; - -public class Aspect { - - String tag; - Aspect[] components; - int color; - private String chatcolor; - ResourceLocation image; - int blend; - - /** - * Use this constructor to register your own aspects. - * @param tag the key that will be used to reference this aspect, as well as its latin display name - * @param color color to display the tag in - * @param components the aspects this one is formed from - * @param image ResourceLocation pointing to a 32x32 icon of the aspect - * @param blend GL11 blendmode (1 or 771). Used for rendering nodes. Default is 1 - */ - public Aspect(String tag, int color, Aspect[] components, ResourceLocation image, int blend) { - if (aspects.containsKey(tag)) throw new IllegalArgumentException(tag+" already registered!"); - this.tag = tag; - this.components = components; - this.color = color; - this.image = image; - this.blend = blend; - aspects.put(tag, this); - } - - /** - * Shortcut constructor I use for the default aspects - you shouldn't be using this. - */ - public Aspect(String tag, int color, Aspect[] components) { - this(tag,color,components,new ResourceLocation("thaumcraft","textures/aspects/"+tag.toLowerCase()+".png"),1); - } - - /** - * Shortcut constructor I use for the default aspects - you shouldn't be using this. - */ - public Aspect(String tag, int color, Aspect[] components, int blend) { - this(tag,color,components,new ResourceLocation("thaumcraft","textures/aspects/"+tag.toLowerCase()+".png"),blend); - } - - /** - * Shortcut constructor I use for the primal aspects - - * you shouldn't use this as making your own primal aspects will break all the things. - */ - public Aspect(String tag, int color, String chatcolor, int blend) { - this(tag,color,(Aspect[])null, blend); - this.setChatcolor(chatcolor); - } - - public int getColor() { - return color; - } - - public String getName() { - return WordUtils.capitalizeFully(tag); - } - - public String getLocalizedDescription() { - return StatCollector.translateToLocal("tc.aspect."+tag); - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public Aspect[] getComponents() { - return components; - } - - public void setComponents(Aspect[] components) { - this.components = components; - } - - public ResourceLocation getImage() { - return image; - } - - public static Aspect getAspect(String tag) { - return aspects.get(tag); - } - - public int getBlend() { - return blend; - } - - public void setBlend(int blend) { - this.blend = blend; - } - - public boolean isPrimal() { - return getComponents()==null || getComponents().length!=2; - } - - /////////////////////////////// - public static ArrayList getPrimalAspects() { - ArrayList primals = new ArrayList(); - Collection pa = aspects.values(); - for (Aspect aspect:pa) { - if (aspect.isPrimal()) primals.add(aspect); - } - return primals; - } - - public static ArrayList getCompoundAspects() { - ArrayList compounds = new ArrayList(); - Collection pa = aspects.values(); - for (Aspect aspect:pa) { - if (!aspect.isPrimal()) compounds.add(aspect); - } - return compounds; - } - - public String getChatcolor() { - return chatcolor; - } - - public void setChatcolor(String chatcolor) { - this.chatcolor = chatcolor; - } - - - /////////////////////////////// - public static LinkedHashMap aspects = new LinkedHashMap(); - - //PRIMAL - public static final Aspect AIR = new Aspect("aer",0xffff7e,"e",1); - public static final Aspect EARTH = new Aspect("terra",0x56c000,"2",1); - public static final Aspect FIRE = new Aspect("ignis",0xff5a01,"c",1); - public static final Aspect WATER = new Aspect("aqua",0x3cd4fc,"3",1); - public static final Aspect ORDER = new Aspect("ordo",0xd5d4ec,"7",1); - public static final Aspect ENTROPY = new Aspect("perditio",0x404040,"8",771); - - //SECONDARY - public static final Aspect VOID = new Aspect("vacuos",0x888888, new Aspect[] {AIR, ENTROPY},771); - public static final Aspect LIGHT = new Aspect("lux",0xfff663, new Aspect[] {AIR, FIRE}); - public static final Aspect WEATHER = new Aspect("tempestas",0xFFFFFF, new Aspect[] {AIR, WATER}); - public static final Aspect MOTION = new Aspect("motus",0xcdccf4, new Aspect[] {AIR, ORDER}); - public static final Aspect COLD = new Aspect("gelum",0xe1ffff, new Aspect[] {FIRE, ENTROPY}); - public static final Aspect CRYSTAL = new Aspect("vitreus",0x80ffff, new Aspect[] {EARTH, ORDER}); - public static final Aspect LIFE = new Aspect("victus",0xde0005, new Aspect[] {WATER, EARTH}); - public static final Aspect POISON = new Aspect("venenum",0x89f000, new Aspect[] {WATER, ENTROPY}); - public static final Aspect ENERGY = new Aspect("potentia",0xc0ffff, new Aspect[] {ORDER, FIRE}); - public static final Aspect EXCHANGE = new Aspect("permutatio",0x578357, new Aspect[] {ENTROPY, ORDER}); -// public static final Aspect ?? = new Aspect("??",0xcdccf4, new Aspect[] {AIR, EARTH}); -// public static final Aspect ?? = new Aspect("??",0xcdccf4, new Aspect[] {FIRE, EARTH}); -// public static final Aspect ?? = new Aspect("??",0xcdccf4, new Aspect[] {FIRE, WATER}); -// public static final Aspect ?? = new Aspect("??",0xcdccf4, new Aspect[] {ORDER, WATER}); -// public static final Aspect ?? = new Aspect("??",0xcdccf4, new Aspect[] {EARTH, ENTROPY}); - - //TERTIARY - public static final Aspect METAL = new Aspect("metallum",0xb5b5cd, new Aspect[] {EARTH, CRYSTAL}); - public static final Aspect DEATH = new Aspect("mortuus",0x887788, new Aspect[] {LIFE, ENTROPY}); - public static final Aspect FLIGHT = new Aspect("volatus",0xe7e7d7, new Aspect[] {AIR, MOTION}); - public static final Aspect DARKNESS = new Aspect("tenebrae",0x222222, new Aspect[] {VOID, LIGHT}); - public static final Aspect SOUL = new Aspect("spiritus",0xebebfb, new Aspect[] {LIFE, DEATH}); - public static final Aspect HEAL = new Aspect("sano",0xff2f34, new Aspect[] {LIFE, ORDER}); - public static final Aspect TRAVEL = new Aspect("iter",0xe0585b, new Aspect[] {MOTION, EARTH}); - public static final Aspect ELDRITCH = new Aspect("alienis",0x805080, new Aspect[] {VOID, DARKNESS}); - public static final Aspect MAGIC = new Aspect("praecantatio",0x9700c0, new Aspect[] {VOID, ENERGY}); - public static final Aspect AURA = new Aspect("auram",0xffc0ff, new Aspect[] {MAGIC, AIR}); - public static final Aspect TAINT = new Aspect("vitium",0x800080, new Aspect[] {MAGIC, ENTROPY}); - public static final Aspect SLIME = new Aspect("limus",0x01f800, new Aspect[] {LIFE, WATER}); - public static final Aspect PLANT = new Aspect("herba",0x01ac00, new Aspect[] {LIFE, EARTH}); - public static final Aspect TREE = new Aspect("arbor",0x876531, new Aspect[] {AIR, PLANT}); - public static final Aspect BEAST = new Aspect("bestia",0x9f6409, new Aspect[] {MOTION, LIFE}); - public static final Aspect FLESH = new Aspect("corpus",0xee478d, new Aspect[] {DEATH, BEAST}); - public static final Aspect UNDEAD = new Aspect("exanimis",0x3a4000, new Aspect[] {MOTION, DEATH}); - public static final Aspect MIND = new Aspect("cognitio",0xffc2b3, new Aspect[] {EARTH, SOUL}); - public static final Aspect SENSES = new Aspect("sensus",0x0fd9ff, new Aspect[] {AIR, SOUL}); - public static final Aspect MAN = new Aspect("humanus",0xffd7c0, new Aspect[] {BEAST, MIND}); - public static final Aspect CROP = new Aspect("messis",0xe1b371, new Aspect[] {PLANT, MAN}); - public static final Aspect MINE = new Aspect("perfodio",0xdcd2d8, new Aspect[] {MAN, EARTH}); - public static final Aspect TOOL = new Aspect("instrumentum",0x4040ee, new Aspect[] {MAN, ORDER}); - public static final Aspect HARVEST = new Aspect("meto",0xeead82, new Aspect[] {CROP, TOOL}); - public static final Aspect WEAPON = new Aspect("telum",0xc05050, new Aspect[] {TOOL, ENTROPY}); - public static final Aspect ARMOR = new Aspect("tutamen",0x00c0c0, new Aspect[] {TOOL, EARTH}); - public static final Aspect HUNGER = new Aspect("fames",0x9a0305, new Aspect[] {LIFE, VOID}); - public static final Aspect GREED = new Aspect("lucrum",0xe6be44, new Aspect[] {MAN, HUNGER}); - public static final Aspect CRAFT = new Aspect("fabrico",0x809d80, new Aspect[] {MAN, TOOL}); - public static final Aspect CLOTH = new Aspect("pannus",0xeaeac2, new Aspect[] {TOOL, BEAST}); - public static final Aspect MECHANISM = new Aspect("machina",0x8080a0, new Aspect[] {MOTION, TOOL}); - public static final Aspect TRAP = new Aspect("vinculum",0x9a8080, new Aspect[] {MOTION, ENTROPY}); - - -} diff --git a/src-backup/api/java/thaumcraft/api/aspects/AspectList.java b/src-backup/api/java/thaumcraft/api/aspects/AspectList.java deleted file mode 100644 index 6b9dfcef..00000000 --- a/src-backup/api/java/thaumcraft/api/aspects/AspectList.java +++ /dev/null @@ -1,256 +0,0 @@ -package thaumcraft.api.aspects; - -import java.io.Serializable; -import java.util.LinkedHashMap; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import thaumcraft.api.ThaumcraftApiHelper; - -public class AspectList implements Serializable { - - public LinkedHashMap aspects = new LinkedHashMap();//aspects associated with this object - - - /** - * this creates a new aspect list with preloaded values based off the aspects of the given item. - * @param the itemstack of the given item - */ - public AspectList(ItemStack stack) { - try { - AspectList temp = ThaumcraftApiHelper.getObjectAspects(stack); - if (temp!=null) - for (Aspect tag:temp.getAspects()) { - add(tag,temp.getAmount(tag)); - } - } catch (Exception e) {} - } - - public AspectList() { - } - - public AspectList copy() { - AspectList out = new AspectList(); - for (Aspect a:this.getAspects()) - out.add(a, this.getAmount(a)); - return out; - } - - /** - * @return the amount of different aspects in this collection - */ - public int size() { - return aspects.size(); - } - - /** - * @return the amount of total vis in this collection - */ - public int visSize() { - int q = 0; - - for (Aspect as:aspects.keySet()) { - q+=this.getAmount(as); - } - - return q; - } - - /** - * @return an array of all the aspects in this collection - */ - public Aspect[] getAspects() { - Aspect[] q = new Aspect[1]; - return aspects.keySet().toArray(q); - } - - /** - * @return an array of all the aspects in this collection - */ - public Aspect[] getPrimalAspects() { - AspectList t = new AspectList(); - for (Aspect as:aspects.keySet()) { - if (as.isPrimal()) { - t.add(as,1); - } - } - Aspect[] q = new Aspect[1]; - return t.aspects.keySet().toArray(q); - } - - /** - * @return an array of all the aspects in this collection sorted by name - */ - public Aspect[] getAspectsSorted() { - try { - Aspect[] out = aspects.keySet().toArray(new Aspect[1]); - boolean change=false; - do { - change=false; - for(int a=0;a0) { - out[a] = e2; - out[a+1] = e1; - change = true; - break; - } - } - } while (change==true); - return out; - } catch (Exception e) { - return this.getAspects(); - } - } - - /** - * @return an array of all the aspects in this collection sorted by amount - */ - public Aspect[] getAspectsSortedAmount() { - try { - Aspect[] out = aspects.keySet().toArray(new Aspect[1]); - boolean change=false; - do { - change=false; - for(int a=0;a0 && e2>0 && e2>e1) { - Aspect ea = out[a]; - Aspect eb = out[a+1]; - out[a] = eb; - out[a+1] = ea; - change = true; - break; - } - } - } while (change==true); - return out; - } catch (Exception e) { - return this.getAspects(); - } - } - - /** - * @param key - * @return the amount associated with the given aspect in this collection - */ - public int getAmount(Aspect key) { - return aspects.get(key)==null?0:aspects.get(key); - } - - /** - * Reduces the amount of an aspect in this collection by the given amount. - * @param key - * @param amount - * @return - */ - public boolean reduce(Aspect key, int amount) { - if (getAmount(key)>=amount) { - int am = getAmount(key)-amount; - aspects.put(key, am); - return true; - } - return false; - } - - /** - * Reduces the amount of an aspect in this collection by the given amount. - * If reduced to 0 or less the aspect will be removed completely. - * @param key - * @param amount - * @return - */ - public AspectList remove(Aspect key, int amount) { - int am = getAmount(key)-amount; - if (am<=0) aspects.remove(key); else - this.aspects.put(key, am); - return this; - } - - /** - * Simply removes the aspect from the list - * @param key - * @param amount - * @return - */ - public AspectList remove(Aspect key) { - aspects.remove(key); - return this; - } - - /** - * Adds this aspect and amount to the collection. - * If the aspect exists then its value will be increased by the given amount. - * @param aspect - * @param amount - * @return - */ - public AspectList add(Aspect aspect, int amount) { - if (this.aspects.containsKey(aspect)) { - int oldamount = this.aspects.get(aspect); - amount+=oldamount; - } - this.aspects.put( aspect, amount ); - return this; - } - - - /** - * Adds this aspect and amount to the collection. - * If the aspect exists then only the highest of the old or new amount will be used. - * @param aspect - * @param amount - * @return - */ - public AspectList merge(Aspect aspect, int amount) { - if (this.aspects.containsKey(aspect)) { - int oldamount = this.aspects.get(aspect); - if (amount0?aspects:null; - } - return null; - } - - @Override - public void setAspects(ItemStack itemstack, AspectList aspects) { - if (!itemstack.hasTagCompound()) itemstack.setTagCompound(new NBTTagCompound()); - aspects.writeToNBT(itemstack.getTagCompound()); - } -*/ \ No newline at end of file diff --git a/src-backup/api/java/thaumcraft/api/aspects/IEssentiaTransport.java b/src-backup/api/java/thaumcraft/api/aspects/IEssentiaTransport.java deleted file mode 100644 index fecbc160..00000000 --- a/src-backup/api/java/thaumcraft/api/aspects/IEssentiaTransport.java +++ /dev/null @@ -1,100 +0,0 @@ -package thaumcraft.api.aspects; - -import net.minecraftforge.common.util.ForgeDirection; - - -/** - * @author Azanor - * This interface is used by tiles that use or transport vis. - * Only tiles that implement this interface will be able to connect to vis conduits or other thaumic devices - */ -public interface IEssentiaTransport { - /** - * Is this tile able to connect to other vis users/sources on the specified side? - * @param face - * @return - */ - public boolean isConnectable(ForgeDirection face); - - /** - * Is this side used to input essentia? - * @param face - * @return - */ - boolean canInputFrom(ForgeDirection face); - - /** - * Is this side used to output essentia? - * @param face - * @return - */ - boolean canOutputTo(ForgeDirection face); - - /** - * Sets the amount of suction this block will apply - * @param suction - */ - public void setSuction(Aspect aspect, int amount); - - /** - * Returns the type of suction this block is applying. - * @param loc - * the location from where the suction is being checked - * @return - * a return type of null indicates the suction is untyped and the first thing available will be drawn - */ - public Aspect getSuctionType(ForgeDirection face); - - /** - * Returns the strength of suction this block is applying. - * @param loc - * the location from where the suction is being checked - * @return - */ - public int getSuctionAmount(ForgeDirection face); - - /** - * remove the specified amount of essentia from this transport tile - * @return how much was actually taken - */ - public int takeEssentia(Aspect aspect, int amount, ForgeDirection face); - - /** - * add the specified amount of essentia to this transport tile - * @return how much was actually added - */ - public int addEssentia(Aspect aspect, int amount, ForgeDirection face); - - /** - * What type of essentia this contains - * @param face - * @return - */ - public Aspect getEssentiaType(ForgeDirection face); - - /** - * How much essentia this block contains - * @param face - * @return - */ - public int getEssentiaAmount(ForgeDirection face); - - - - /** - * Essentia will not be drawn from this container unless the suction exceeds this amount. - * @return the amount - */ - public int getMinimumSuction(); - - /** - * Return true if you want the conduit to extend a little further into the block. - * Used by jars and alembics that have smaller than normal hitboxes - * @return - */ - boolean renderExtendedTube(); - - - -} - diff --git a/src-backup/api/java/thaumcraft/api/crafting/CrucibleRecipe.java b/src-backup/api/java/thaumcraft/api/crafting/CrucibleRecipe.java deleted file mode 100644 index 9c1e8a62..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/CrucibleRecipe.java +++ /dev/null @@ -1,95 +0,0 @@ -package thaumcraft.api.crafting; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApiHelper; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; - -public class CrucibleRecipe { - - private ItemStack recipeOutput; - - - public Object catalyst; - public AspectList aspects; - public String key; - - public CrucibleRecipe(String researchKey, ItemStack result, Object cat, AspectList tags) { - recipeOutput = result; - this.aspects = tags; - this.key = researchKey; - this.catalyst = cat; - if (cat instanceof String) { - this.catalyst = OreDictionary.getOres((String) cat); - } - } - - - public boolean matches(AspectList itags, ItemStack cat) { - if (catalyst instanceof ItemStack && - !ThaumcraftApiHelper.itemMatches((ItemStack) catalyst,cat,false)) { - return false; - } else - if (catalyst instanceof ArrayList && ((ArrayList)catalyst).size()>0) { - ItemStack[] ores = ((ArrayList)catalyst).toArray(new ItemStack[]{}); - if (!ThaumcraftApiHelper.containsMatch(false, new ItemStack[]{cat},ores)) return false; - } - if (itags==null) return false; - for (Aspect tag:aspects.getAspects()) { - if (itags.getAmount(tag))catalyst).size()>0) { - ItemStack[] ores = ((ArrayList)catalyst).toArray(new ItemStack[]{}); - if (ThaumcraftApiHelper.containsMatch(false, new ItemStack[]{cat},ores)) return true; - } - return false; - } - - public AspectList removeMatching(AspectList itags) { - AspectList temptags = new AspectList(); - temptags.aspects.putAll(itags.aspects); - - for (Aspect tag:aspects.getAspects()) { - temptags.remove(tag, aspects.getAmount(tag)); -// if (!temptags.remove(tag, aspects.getAmount(tag))) return null; - } - - itags = temptags; - return itags; - } - - public ItemStack getRecipeOutput() { - return recipeOutput; - } - - -// @Override -// public int hashCode() { -// String hash = ""; -// if (catalyst instanceof ItemStack) { -// hash += ((ItemStack)catalyst).toString(); -// } else if (catalyst instanceof ArrayList && ((ArrayList)catalyst).size()>0) { -// for (ItemStack s:(ArrayList)catalyst) { -// hash += s.toString(); -// } -// } else { -// hash += catalyst.hashCode(); -// } -// hash += getRecipeOutput().toString(); -// for (Aspect a:aspects.getAspectsSorted()) { -// hash += a.getTag() + aspects.getAmount(a); -// } -// return hash.hashCode(); -// } - -} diff --git a/src-backup/api/java/thaumcraft/api/crafting/IArcaneRecipe.java b/src-backup/api/java/thaumcraft/api/crafting/IArcaneRecipe.java deleted file mode 100644 index bb5036d2..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/IArcaneRecipe.java +++ /dev/null @@ -1,35 +0,0 @@ -package thaumcraft.api.crafting; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import thaumcraft.api.aspects.AspectList; - -public interface IArcaneRecipe -{ - - - /** - * Used to check if a recipe matches current crafting inventory - * @param player - */ - boolean matches(IInventory var1, World world, EntityPlayer player); - - /** - * Returns an Item that is the result of this recipe - */ - ItemStack getCraftingResult(IInventory var1); - - /** - * Returns the size of the recipe area - */ - int getRecipeSize(); - - ItemStack getRecipeOutput(); - AspectList getAspects(); - AspectList getAspects(IInventory var1); - String getResearch(); - - -} diff --git a/src-backup/api/java/thaumcraft/api/crafting/IInfusionStabiliser.java b/src-backup/api/java/thaumcraft/api/crafting/IInfusionStabiliser.java deleted file mode 100644 index d137ff24..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/IInfusionStabiliser.java +++ /dev/null @@ -1,19 +0,0 @@ -package thaumcraft.api.crafting; - -import net.minecraft.world.World; - -/** - * - * @author Azanor - * - * Blocks that implement this interface act as infusion crafting stabilisers like candles and skulls - * - */ -public interface IInfusionStabiliser { - - /** - * returns true if the block can stabilise things - */ - public boolean canStabaliseInfusion(World world, int x, int y, int z); - -} diff --git a/src-backup/api/java/thaumcraft/api/crafting/InfusionEnchantmentRecipe.java b/src-backup/api/java/thaumcraft/api/crafting/InfusionEnchantmentRecipe.java deleted file mode 100644 index 6fb4d63d..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/InfusionEnchantmentRecipe.java +++ /dev/null @@ -1,156 +0,0 @@ -package thaumcraft.api.crafting; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Map; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApiHelper; -import thaumcraft.api.aspects.AspectList; - -public class InfusionEnchantmentRecipe -{ - - public AspectList aspects; - public String research; - public ItemStack[] components; - public Enchantment enchantment; - public int recipeXP; - public int instability; - - public InfusionEnchantmentRecipe(String research, Enchantment input, int inst, - AspectList aspects2, ItemStack[] recipe) { - this.research = research; - this.enchantment = input; - this.aspects = aspects2; - this.components = recipe; - this.instability = inst; - this.recipeXP = Math.max(1, input.getMinEnchantability(1)/3); - } - - /** - * Used to check if a recipe matches current crafting inventory - * @param player - */ - public boolean matches(ArrayList input, ItemStack central, World world, EntityPlayer player) { - if (research.length()>0 && !ThaumcraftApiHelper.isResearchComplete(player.getCommandSenderName(), research)) { - return false; - } - - if (!enchantment.canApply(central) || !central.getItem().isItemTool(central)) { - return false; - } - - Map map1 = EnchantmentHelper.getEnchantments(central); - Iterator iterator = map1.keySet().iterator(); - while (iterator.hasNext()) - { - int j1 = ((Integer)iterator.next()).intValue(); - Enchantment ench = Enchantment.enchantmentsList[j1]; - if (j1 == enchantment.effectId && - EnchantmentHelper.getEnchantmentLevel(j1, central)>=ench.getMaxLevel()) - return false; - if (enchantment.effectId != ench.effectId && - (!enchantment.canApplyTogether(ench) || - !ench.canApplyTogether(enchantment))) { - return false; - } - } - - ItemStack i2 = null; - - ArrayList ii = new ArrayList(); - for (ItemStack is:input) { - ii.add(is.copy()); - } - - for (ItemStack comp:components) { - boolean b=false; - for (int a=0;a stack0.getMaxStackSize() ? false : t1)); - } - - - public Enchantment getEnchantment() { - return enchantment; - - } - - public AspectList getAspects() { - return aspects; - - } - - public String getResearch() { - return research; - - } - - public int calcInstability(ItemStack recipeInput) { - int i = 0; - Map map1 = EnchantmentHelper.getEnchantments(recipeInput); - Iterator iterator = map1.keySet().iterator(); - while (iterator.hasNext()) - { - int j1 = ((Integer)iterator.next()).intValue(); - i += EnchantmentHelper.getEnchantmentLevel(j1, recipeInput); - } - return (i/2) + instability; - } - - public int calcXP(ItemStack recipeInput) { - return recipeXP * (1+EnchantmentHelper.getEnchantmentLevel(enchantment.effectId, recipeInput)); - } - - public float getEssentiaMod(ItemStack recipeInput) { - float mod = EnchantmentHelper.getEnchantmentLevel(enchantment.effectId, recipeInput); - Map map1 = EnchantmentHelper.getEnchantments(recipeInput); - Iterator iterator = map1.keySet().iterator(); - while (iterator.hasNext()) - { - int j1 = ((Integer)iterator.next()).intValue(); - if (j1 != enchantment.effectId) - mod += EnchantmentHelper.getEnchantmentLevel(j1, recipeInput) * .1f; - } - return mod; - } - -} diff --git a/src-backup/api/java/thaumcraft/api/crafting/InfusionRecipe.java b/src-backup/api/java/thaumcraft/api/crafting/InfusionRecipe.java deleted file mode 100644 index fef0a347..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/InfusionRecipe.java +++ /dev/null @@ -1,128 +0,0 @@ -package thaumcraft.api.crafting; - -import java.util.ArrayList; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApiHelper; -import thaumcraft.api.aspects.AspectList; - -public class InfusionRecipe -{ - protected AspectList aspects; - protected String research; - private ItemStack[] components; - private ItemStack recipeInput; - protected Object recipeOutput; - protected int instability; - - public InfusionRecipe(String research, Object output, int inst, - AspectList aspects2, ItemStack input, ItemStack[] recipe) { - this.research = research; - this.recipeOutput = output; - this.recipeInput = input; - this.aspects = aspects2; - this.components = recipe; - this.instability = inst; - } - - /** - * Used to check if a recipe matches current crafting inventory - * @param player - */ - public boolean matches(ArrayList input, ItemStack central, World world, EntityPlayer player) { - if (getRecipeInput()==null) return false; - - if (research.length()>0 && !ThaumcraftApiHelper.isResearchComplete(player.getCommandSenderName(), research)) { - return false; - } - - ItemStack i2 = central.copy(); - if (getRecipeInput().getItemDamage()==OreDictionary.WILDCARD_VALUE) { - i2.setItemDamage(OreDictionary.WILDCARD_VALUE); - } - - if (!areItemStacksEqual(i2, getRecipeInput(), true)) return false; - - ArrayList ii = new ArrayList(); - for (ItemStack is:input) { - ii.add(is.copy()); - } - - for (ItemStack comp:getComponents()) { - boolean b=false; - for (int a=0;a stack0.getMaxStackSize() ? false : t1)); - } - - - public Object getRecipeOutput() { - return getRecipeOutput(this.getRecipeInput()); - } - - public AspectList getAspects() { - return getAspects(this.getRecipeInput()); - } - - public int getInstability() { - return getInstability(this.getRecipeInput()); - } - - public String getResearch() { - return research; - } - - public ItemStack getRecipeInput() { - return recipeInput; - } - - public ItemStack[] getComponents() { - return components; - } - - public Object getRecipeOutput(ItemStack input) { - return recipeOutput; - } - - public AspectList getAspects(ItemStack input) { - return aspects; - } - - public int getInstability(ItemStack input) { - return instability; - } -} diff --git a/src-backup/api/java/thaumcraft/api/crafting/ShapedArcaneRecipe.java b/src-backup/api/java/thaumcraft/api/crafting/ShapedArcaneRecipe.java deleted file mode 100644 index 40c7bc27..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/ShapedArcaneRecipe.java +++ /dev/null @@ -1,261 +0,0 @@ -package thaumcraft.api.crafting; - -import java.util.ArrayList; -import java.util.HashMap; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApiHelper; -import thaumcraft.api.aspects.AspectList; - -public class ShapedArcaneRecipe implements IArcaneRecipe -{ - //Added in for future ease of change, but hard coded for now. - private static final int MAX_CRAFT_GRID_WIDTH = 3; - private static final int MAX_CRAFT_GRID_HEIGHT = 3; - - public ItemStack output = null; - public Object[] input = null; - public AspectList aspects = null; - public String research; - public int width = 0; - public int height = 0; - private boolean mirrored = true; - - public ShapedArcaneRecipe(String research, Block result, AspectList aspects, Object... recipe){ this(research, new ItemStack(result), aspects, recipe); } - public ShapedArcaneRecipe(String research, Item result, AspectList aspects, Object... recipe){ this(research, new ItemStack(result), aspects, recipe); } - public ShapedArcaneRecipe(String research, ItemStack result, AspectList aspects, Object... recipe) - { - output = result.copy(); - this.research = research; - this.aspects = aspects; - String shape = ""; - - int idx = 0; - - if (recipe[idx] instanceof Boolean) - { - mirrored = (Boolean)recipe[idx]; - if (recipe[idx+1] instanceof Object[]) - { - recipe = (Object[])recipe[idx+1]; - } - else - { - idx = 1; - } - } - - if (recipe[idx] instanceof String[]) - { - String[] parts = ((String[])recipe[idx++]); - - for (String s : parts) - { - width = s.length(); - shape += s; - } - - height = parts.length; - } - else - { - while (recipe[idx] instanceof String) - { - String s = (String)recipe[idx++]; - shape += s; - width = s.length(); - height++; - } - } - - if (width * height != shape.length()) - { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) - { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - - HashMap itemMap = new HashMap(); - - for (; idx < recipe.length; idx += 2) - { - Character chr = (Character)recipe[idx]; - Object in = recipe[idx + 1]; - - if (in instanceof ItemStack) - { - itemMap.put(chr, ((ItemStack)in).copy()); - } - else if (in instanceof Item) - { - itemMap.put(chr, new ItemStack((Item)in)); - } - else if (in instanceof Block) - { - itemMap.put(chr, new ItemStack((Block)in, 1, OreDictionary.WILDCARD_VALUE)); - } - else if (in instanceof String) - { - itemMap.put(chr, OreDictionary.getOres((String)in)); - } - else - { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) - { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - - input = new Object[width * height]; - int x = 0; - for (char chr : shape.toCharArray()) - { - input[x++] = itemMap.get(chr); - } - } - - @Override - public ItemStack getCraftingResult(IInventory var1){ return output.copy(); } - - @Override - public int getRecipeSize(){ return input.length; } - - @Override - public ItemStack getRecipeOutput(){ return output; } - - @Override - public boolean matches(IInventory inv, World world, EntityPlayer player) - { - if (research.length()>0 && !ThaumcraftApiHelper.isResearchComplete(player.getCommandSenderName(), research)) { - return false; - } - for (int x = 0; x <= MAX_CRAFT_GRID_WIDTH - width; x++) - { - for (int y = 0; y <= MAX_CRAFT_GRID_HEIGHT - height; ++y) - { - if (checkMatch(inv, x, y, false)) - { - return true; - } - - if (mirrored && checkMatch(inv, x, y, true)) - { - return true; - } - } - } - - return false; - } - - private boolean checkMatch(IInventory inv, int startX, int startY, boolean mirror) - { - for (int x = 0; x < MAX_CRAFT_GRID_WIDTH; x++) - { - for (int y = 0; y < MAX_CRAFT_GRID_HEIGHT; y++) - { - int subX = x - startX; - int subY = y - startY; - Object target = null; - - if (subX >= 0 && subY >= 0 && subX < width && subY < height) - { - if (mirror) - { - target = input[width - subX - 1 + subY * width]; - } - else - { - target = input[subX + subY * width]; - } - } - - ItemStack slot = ThaumcraftApiHelper.getStackInRowAndColumn(inv, x, y); - - if (target instanceof ItemStack) - { - if (!checkItemEquals((ItemStack)target, slot)) - { - return false; - } - } - else if (target instanceof ArrayList) - { - boolean matched = false; - - for (ItemStack item : (ArrayList)target) - { - matched = matched || checkItemEquals(item, slot); - } - - if (!matched) - { - return false; - } - } - else if (target == null && slot != null) - { - return false; - } - } - } - - return true; - } - - private boolean checkItemEquals(ItemStack target, ItemStack input) - { - if (input == null && target != null || input != null && target == null) - { - return false; - } - return (target.getItem() == input.getItem() && - (!target.hasTagCompound() || ItemStack.areItemStackTagsEqual(target, input)) && - (target.getItemDamage() == OreDictionary.WILDCARD_VALUE|| target.getItemDamage() == input.getItemDamage())); - } - - public ShapedArcaneRecipe setMirrored(boolean mirror) - { - mirrored = mirror; - return this; - } - - /** - * Returns the input for this recipe, any mod accessing this value should never - * manipulate the values in this array as it will effect the recipe itself. - * @return The recipes input vales. - */ - public Object[] getInput() - { - return this.input; - } - - @Override - public AspectList getAspects() { - return aspects; - } - - @Override - public AspectList getAspects(IInventory inv) { - return aspects; - } - - @Override - public String getResearch() { - return research; - } -} diff --git a/src-backup/api/java/thaumcraft/api/crafting/ShapelessArcaneRecipe.java b/src-backup/api/java/thaumcraft/api/crafting/ShapelessArcaneRecipe.java deleted file mode 100644 index 3d4ed508..00000000 --- a/src-backup/api/java/thaumcraft/api/crafting/ShapelessArcaneRecipe.java +++ /dev/null @@ -1,157 +0,0 @@ -package thaumcraft.api.crafting; - -import java.util.ArrayList; -import java.util.Iterator; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApiHelper; -import thaumcraft.api.aspects.AspectList; - -public class ShapelessArcaneRecipe implements IArcaneRecipe -{ - private ItemStack output = null; - private ArrayList input = new ArrayList(); - - public AspectList aspects = null; - public String research; - - public ShapelessArcaneRecipe(String research, Block result, AspectList aspects, Object... recipe){ this(research,new ItemStack(result),aspects, recipe); } - public ShapelessArcaneRecipe(String research, Item result, AspectList aspects, Object... recipe){ this(research,new ItemStack(result),aspects, recipe); } - - public ShapelessArcaneRecipe(String research, ItemStack result, AspectList aspects, Object... recipe) - { - output = result.copy(); - this.research = research; - this.aspects = aspects; - for (Object in : recipe) - { - if (in instanceof ItemStack) - { - input.add(((ItemStack)in).copy()); - } - else if (in instanceof Item) - { - input.add(new ItemStack((Item)in)); - } - else if (in instanceof Block) - { - input.add(new ItemStack((Block)in)); - } - else if (in instanceof String) - { - input.add(OreDictionary.getOres((String)in)); - } - else - { - String ret = "Invalid shapeless ore recipe: "; - for (Object tmp : recipe) - { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - } - - @Override - public int getRecipeSize(){ return input.size(); } - - @Override - public ItemStack getRecipeOutput(){ return output; } - - @Override - public ItemStack getCraftingResult(IInventory var1){ return output.copy(); } - - @Override - public boolean matches(IInventory var1, World world, EntityPlayer player) - { - if (research.length()>0 && !ThaumcraftApiHelper.isResearchComplete(player.getCommandSenderName(), research)) { - return false; - } - - ArrayList required = new ArrayList(input); - - for (int x = 0; x < 9; x++) - { - ItemStack slot = var1.getStackInSlot(x); - - if (slot != null) - { - boolean inRecipe = false; - Iterator req = required.iterator(); - - while (req.hasNext()) - { - boolean match = false; - - Object next = req.next(); - - if (next instanceof ItemStack) - { - match = checkItemEquals((ItemStack)next, slot); - } - else if (next instanceof ArrayList) - { - for (ItemStack item : (ArrayList)next) - { - match = match || checkItemEquals(item, slot); - } - } - - if (match) - { - inRecipe = true; - required.remove(next); - break; - } - } - - if (!inRecipe) - { - return false; - } - } - } - - return required.isEmpty(); - } - - private boolean checkItemEquals(ItemStack target, ItemStack input) - { - return (target.getItem() == input.getItem() && - (!target.hasTagCompound() || ItemStack.areItemStackTagsEqual(target, input)) && - (target.getItemDamage() == OreDictionary.WILDCARD_VALUE || target.getItemDamage() == input.getItemDamage())); - } - - /** - * Returns the input for this recipe, any mod accessing this value should never - * manipulate the values in this array as it will effect the recipe itself. - * @return The recipes input vales. - */ - public ArrayList getInput() - { - return this.input; - } - - @Override - public AspectList getAspects() { - return aspects; - } - - @Override - public AspectList getAspects(IInventory inv) { - return aspects; - } - - @Override - public String getResearch() { - return research; - } -} diff --git a/src-backup/api/java/thaumcraft/api/damagesource/DamageSourceIndirectThaumcraftEntity.java b/src-backup/api/java/thaumcraft/api/damagesource/DamageSourceIndirectThaumcraftEntity.java deleted file mode 100644 index 1562d052..00000000 --- a/src-backup/api/java/thaumcraft/api/damagesource/DamageSourceIndirectThaumcraftEntity.java +++ /dev/null @@ -1,32 +0,0 @@ -package thaumcraft.api.damagesource; - -import net.minecraft.entity.Entity; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSourceIndirect; - -public class DamageSourceIndirectThaumcraftEntity extends EntityDamageSourceIndirect { - - private boolean fireDamage; - private float hungerDamage; - private boolean isUnblockable; - - - public DamageSourceIndirectThaumcraftEntity(String par1Str, - Entity par2Entity, Entity par3Entity) { - super(par1Str, par2Entity, par3Entity); - } - - - public DamageSource setFireDamage() - { - this.fireDamage = true; - return this; - } - - public DamageSource setDamageBypassesArmor() - { - this.isUnblockable = true; - this.hungerDamage = 0.0F; - return this; - } -} diff --git a/src-backup/api/java/thaumcraft/api/damagesource/DamageSourceThaumcraft.java b/src-backup/api/java/thaumcraft/api/damagesource/DamageSourceThaumcraft.java deleted file mode 100644 index 7c277f28..00000000 --- a/src-backup/api/java/thaumcraft/api/damagesource/DamageSourceThaumcraft.java +++ /dev/null @@ -1,46 +0,0 @@ -package thaumcraft.api.damagesource; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; - -public class DamageSourceThaumcraft extends DamageSource -{ - - public static DamageSource taint = new DamageSourceThaumcraft("taint").setDamageBypassesArmor().setMagicDamage(); - public static DamageSource tentacle = new DamageSourceThaumcraft("tentacle"); - public static DamageSource swarm = new DamageSourceThaumcraft("swarm"); - - protected DamageSourceThaumcraft(String par1Str) { - super(par1Str); - } - - /** This kind of damage can be blocked or not. */ - private boolean isUnblockable = false; - private boolean isDamageAllowedInCreativeMode = false; - private float hungerDamage = 0.3F; - - /** This kind of damage is based on fire or not. */ - private boolean fireDamage; - - /** This kind of damage is based on a projectile or not. */ - private boolean projectile; - - /** - * Whether this damage source will have its damage amount scaled based on the current difficulty. - */ - private boolean difficultyScaled; - private boolean magicDamage = false; - private boolean explosion = false; - - public static DamageSource causeSwarmDamage(EntityLivingBase par0EntityLiving) - { - return new EntityDamageSource("swarm", par0EntityLiving); - } - - public static DamageSource causeTentacleDamage(EntityLivingBase par0EntityLiving) - { - return new EntityDamageSource("tentacle", par0EntityLiving); - } - -} diff --git a/src-backup/api/java/thaumcraft/api/entities/ITaintedMob.java b/src-backup/api/java/thaumcraft/api/entities/ITaintedMob.java deleted file mode 100644 index 83fb1fcb..00000000 --- a/src-backup/api/java/thaumcraft/api/entities/ITaintedMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package thaumcraft.api.entities; - -public interface ITaintedMob { - -} diff --git a/src-backup/api/java/thaumcraft/api/nodes/INode.java b/src-backup/api/java/thaumcraft/api/nodes/INode.java deleted file mode 100644 index 8c71414d..00000000 --- a/src-backup/api/java/thaumcraft/api/nodes/INode.java +++ /dev/null @@ -1,53 +0,0 @@ -package thaumcraft.api.nodes; - -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.aspects.IAspectContainer; - -public interface INode extends IAspectContainer { - - /** - * Unique identifier to distinguish nodes. Normal node id's are based on world id and coordinates - * @return - */ - public String getId(); - - public AspectList getAspectsBase(); - - /** - * Return the type of node - * @return - */ - public NodeType getNodeType(); - - /** - * Set the type of node - * @return - */ - public void setNodeType(NodeType nodeType); - - /** - * Return the node modifier - * @return - */ - public void setNodeModifier(NodeModifier nodeModifier); - - /** - * Set the node modifier - * @return - */ - public NodeModifier getNodeModifier(); - - /** - * Return the maximum capacity of each aspect the node can hold - * @return - */ - public int getNodeVisBase(Aspect aspect); - - /** - * Set the maximum capacity of each aspect the node can hold - * @return - */ - public void setNodeVisBase(Aspect aspect, short nodeVisBase); - -} diff --git a/src-backup/api/java/thaumcraft/api/nodes/IRevealer.java b/src-backup/api/java/thaumcraft/api/nodes/IRevealer.java deleted file mode 100644 index 14a19b54..00000000 --- a/src-backup/api/java/thaumcraft/api/nodes/IRevealer.java +++ /dev/null @@ -1,22 +0,0 @@ -package thaumcraft.api.nodes; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; - -/** - * - * @author Azanor - * - * Equipped head slot items that extend this class will make nodes visible in world. - * - */ - -public interface IRevealer { - - /* - * If this method returns true the nodes will be visible. - */ - public boolean showNodes(ItemStack itemstack, EntityLivingBase player); - - -} diff --git a/src-backup/api/java/thaumcraft/api/nodes/NodeModifier.java b/src-backup/api/java/thaumcraft/api/nodes/NodeModifier.java deleted file mode 100644 index 885b8678..00000000 --- a/src-backup/api/java/thaumcraft/api/nodes/NodeModifier.java +++ /dev/null @@ -1,6 +0,0 @@ -package thaumcraft.api.nodes; - -public enum NodeModifier -{ - BRIGHT, PALE, FADING -} \ No newline at end of file diff --git a/src-backup/api/java/thaumcraft/api/nodes/NodeType.java b/src-backup/api/java/thaumcraft/api/nodes/NodeType.java deleted file mode 100644 index 355324b5..00000000 --- a/src-backup/api/java/thaumcraft/api/nodes/NodeType.java +++ /dev/null @@ -1,6 +0,0 @@ -package thaumcraft.api.nodes; - -public enum NodeType -{ - NORMAL, UNSTABLE, DARK, TAINTED, HUNGRY, PURE -} \ No newline at end of file diff --git a/src-backup/api/java/thaumcraft/api/package-info.java b/src-backup/api/java/thaumcraft/api/package-info.java deleted file mode 100644 index 0de39267..00000000 --- a/src-backup/api/java/thaumcraft/api/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -@API(owner = "Thaumcraft", apiVersion = "4.2.0.0", provides = "Thaumcraft|API") -package thaumcraft.api; - -import cpw.mods.fml.common.API; diff --git a/src-backup/api/java/thaumcraft/api/potions/PotionFluxTaint.java b/src-backup/api/java/thaumcraft/api/potions/PotionFluxTaint.java deleted file mode 100644 index b718de4b..00000000 --- a/src-backup/api/java/thaumcraft/api/potions/PotionFluxTaint.java +++ /dev/null @@ -1,67 +0,0 @@ -package thaumcraft.api.potions; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.util.ResourceLocation; -import thaumcraft.api.damagesource.DamageSourceThaumcraft; -import thaumcraft.api.entities.ITaintedMob; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class PotionFluxTaint extends Potion -{ - public static PotionFluxTaint instance = null; // will be instantiated at runtime - private int statusIconIndex = -1; - - public PotionFluxTaint(int par1, boolean par2, int par3) - { - super(par1,par2,par3); - setIconIndex(0, 0); - } - - public static void init() - { - instance.setPotionName("potion.fluxtaint"); - instance.setIconIndex(3, 1); - instance.setEffectiveness(0.25D); - } - - @Override - public boolean isBadEffect() { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public int getStatusIconIndex() { - Minecraft.getMinecraft().renderEngine.bindTexture(rl); - return super.getStatusIconIndex(); - } - - ResourceLocation rl = new ResourceLocation("thaumcraft","textures/misc/potions.png"); - - @Override - public void performEffect(EntityLivingBase target, int par2) { - if (target instanceof ITaintedMob) { - target.heal(1); - } else - if (!target.isEntityUndead() && !(target instanceof EntityPlayer)) - { - target.attackEntityFrom(DamageSourceThaumcraft.taint, 1); - } - else - if (!target.isEntityUndead() && (target.getMaxHealth() > 1 || (target instanceof EntityPlayer))) - { - target.attackEntityFrom(DamageSourceThaumcraft.taint, 1); - } - } - - public boolean isReady(int par1, int par2) - { - int k = 40 >> par2; - return k > 0 ? par1 % k == 0 : true; - } - -} diff --git a/src-backup/api/java/thaumcraft/api/research/IScanEventHandler.java b/src-backup/api/java/thaumcraft/api/research/IScanEventHandler.java deleted file mode 100644 index d0efac5f..00000000 --- a/src-backup/api/java/thaumcraft/api/research/IScanEventHandler.java +++ /dev/null @@ -1,9 +0,0 @@ -package thaumcraft.api.research; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface IScanEventHandler { - ScanResult scanPhenomena(ItemStack stack, World world, EntityPlayer player); -} diff --git a/src-backup/api/java/thaumcraft/api/research/ResearchCategories.java b/src-backup/api/java/thaumcraft/api/research/ResearchCategories.java deleted file mode 100644 index 82309b36..00000000 --- a/src-backup/api/java/thaumcraft/api/research/ResearchCategories.java +++ /dev/null @@ -1,101 +0,0 @@ -package thaumcraft.api.research; - -import java.util.Collection; -import java.util.LinkedHashMap; - -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -import org.apache.logging.log4j.Level; - -import cpw.mods.fml.common.FMLLog; - -public class ResearchCategories { - - //Research - public static LinkedHashMap researchCategories = new LinkedHashMap (); - - /** - * @param key - * @return the research item linked to this key - */ - public static ResearchCategoryList getResearchList(String key) { - return researchCategories.get(key); - } - - /** - * @param key - * @return the name of the research category linked to this key. - * Must be stored as localization information in the LanguageRegistry. - */ - public static String getCategoryName(String key) { - return StatCollector.translateToLocal("tc.research_category."+key); - } - - /** - * @param key the research key - * @return the ResearchItem object. - */ - public static ResearchItem getResearch(String key) { - Collection rc = researchCategories.values(); - for (Object cat:rc) { - Collection rl = ((ResearchCategoryList)cat).research.values(); - for (Object ri:rl) { - if ((((ResearchItem)ri).key).equals(key)) return (ResearchItem)ri; - } - } - return null; - } - - /** - * This should only be done at the PostInit stage - * @param key the key used for this category - * @param icon the icon to be used for the research category tab - * @param background the resource location of the background image to use for this category - * @return the name of the research linked to this key - */ - public static void registerCategory(String key, ResourceLocation icon, ResourceLocation background) { - if (getResearchList(key)==null) { - ResearchCategoryList rl = new ResearchCategoryList(icon, background); - researchCategories.put(key, rl); - } - } - - public static void addResearch(ResearchItem ri) { - ResearchCategoryList rl = getResearchList(ri.category); - if (rl!=null && !rl.research.containsKey(ri.key)) { - - if (!ri.isVirtual()) { - for (ResearchItem rr:rl.research.values()) { - if (rr.displayColumn == ri.displayColumn && rr.displayRow == ri.displayRow) { - FMLLog.log(Level.FATAL, "[Thaumcraft] Research ["+ri.getName()+"] not added as it overlaps with existing research ["+rr.getName()+"]"); - return; - } - } - } - - - rl.research.put(ri.key, ri); - - if (ri.displayColumn < rl.minDisplayColumn) - { - rl.minDisplayColumn = ri.displayColumn; - } - - if (ri.displayRow < rl.minDisplayRow) - { - rl.minDisplayRow = ri.displayRow; - } - - if (ri.displayColumn > rl.maxDisplayColumn) - { - rl.maxDisplayColumn = ri.displayColumn; - } - - if (ri.displayRow > rl.maxDisplayRow) - { - rl.maxDisplayRow = ri.displayRow; - } - } - } -} diff --git a/src-backup/api/java/thaumcraft/api/research/ResearchCategoryList.java b/src-backup/api/java/thaumcraft/api/research/ResearchCategoryList.java deleted file mode 100644 index 7eed0101..00000000 --- a/src-backup/api/java/thaumcraft/api/research/ResearchCategoryList.java +++ /dev/null @@ -1,37 +0,0 @@ -package thaumcraft.api.research; - -import java.util.HashMap; -import java.util.Map; - -import net.minecraft.util.ResourceLocation; - -public class ResearchCategoryList { - - /** Is the smallest column used on the GUI. */ - public int minDisplayColumn; - - /** Is the smallest row used on the GUI. */ - public int minDisplayRow; - - /** Is the biggest column used on the GUI. */ - public int maxDisplayColumn; - - /** Is the biggest row used on the GUI. */ - public int maxDisplayRow; - - /** display variables **/ - public ResourceLocation icon; - public ResourceLocation background; - - public ResearchCategoryList(ResourceLocation icon, ResourceLocation background) { - this.icon = icon; - this.background = background; - } - - //Research - public Map research = new HashMap(); - - - - -} diff --git a/src-backup/api/java/thaumcraft/api/research/ResearchItem.java b/src-backup/api/java/thaumcraft/api/research/ResearchItem.java deleted file mode 100644 index 55b3820c..00000000 --- a/src-backup/api/java/thaumcraft/api/research/ResearchItem.java +++ /dev/null @@ -1,367 +0,0 @@ -package thaumcraft.api.research; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; - -public class ResearchItem -{ - /** - * A short string used as a key for this research. Must be unique - */ - public final String key; - - /** - * A short string used as a reference to the research category to which this must be added. - */ - public final String category; - - /** - * The aspect tags and their values required to complete this research - */ - public final AspectList tags; - - /** - * This links to any research that needs to be completed before this research can be discovered or learnt. - */ - public String[] parents = null; - - /** - * Like parent above, but a line will not be displayed in the thaumonomicon linking them. Just used to prevent clutter. - */ - public String[] parentsHidden = null; - /** - * any research linked to this that will be unlocked automatically when this research is complete - */ - public String[] siblings = null; - - /** - * the horizontal position of the research icon - */ - public final int displayColumn; - - /** - * the vertical position of the research icon - */ - public final int displayRow; - - /** - * the icon to be used for this research - */ - public final ItemStack icon_item; - - /** - * the icon to be used for this research - */ - public final ResourceLocation icon_resource; - - /** - * How large the research grid is. Valid values are 1 to 3. - */ - private int complexity; - - /** - * Special research has a spiky border. Used for important research milestones. - */ - private boolean isSpecial; - - /** - * Research that can be directly purchased with RP in normal research difficulty. - */ - private boolean isSecondary; - - /** - * This indicates if the research should use a circular icon border. Usually used for "passive" research - * that doesn't have recipes and grants passive effects, or that unlock automatically. - */ - private boolean isRound; - - /** - * Stub research cannot be discovered by normal means, but can be unlocked via the sibling system. - */ - private boolean isStub; - - /** - * This indicated that the research is completely hidden and cannot be discovered by any - * player-controlled means. The recipes will never show up in the thaumonomicon. - * Usually used to unlock "hidden" recipes via sibling unlocking, like - * the various cap and rod combos for wands. - */ - private boolean isVirtual; - - @Deprecated - private boolean isLost; - - /** - * Concealed research does not display in the thaumonomicon until parent researches are discovered. - */ - private boolean isConcealed; - - /** - * Hidden research can only be discovered via scanning or knowledge fragments - */ - private boolean isHidden; - - /** - * These research items will automatically unlock for all players on game start - */ - private boolean isAutoUnlock; - - /** - * Scanning these items will have a chance of revealing hidden knowledge in the thaumonomicon - */ - private ItemStack[] itemTriggers; - - /** - * Scanning these entities will have a chance of revealing hidden knowledge in the thaumonomicon - */ - private String[] entityTriggers; - - /** - * Scanning things with these aspects will have a chance of revealing hidden knowledge in the thaumonomicon - */ - private Aspect[] aspectTriggers; - - private ResearchPage[] pages = null; - - public ResearchItem(String key, String category) - { - this.key = key; - this.category = category; - this.tags = new AspectList(); - this.icon_resource = null; - this.icon_item = null; - this.displayColumn = 0; - this.displayRow = 0; - this.setVirtual(); - - } - - public ResearchItem(String key, String category, AspectList tags, int col, int row, int complex, ResourceLocation icon) - { - this.key = key; - this.category = category; - this.tags = tags; - this.icon_resource = icon; - this.icon_item = null; - this.displayColumn = col; - this.displayRow = row; - this.complexity = complex; - if (complexity < 1) this.complexity = 1; - if (complexity > 3) this.complexity = 3; - } - - public ResearchItem(String key, String category, AspectList tags, int col, int row, int complex, ItemStack icon) - { - this.key = key; - this.category = category; - this.tags = tags; - this.icon_item = icon; - this.icon_resource = null; - this.displayColumn = col; - this.displayRow = row; - this.complexity = complex; - if (complexity < 1) this.complexity = 1; - if (complexity > 3) this.complexity = 3; - } - - public ResearchItem setSpecial() - { - this.isSpecial = true; - return this; - } - - public ResearchItem setStub() - { - this.isStub = true; - return this; - } - - @Deprecated - public ResearchItem setLost() - { - this.isLost = true; - return this; - } - - public ResearchItem setConcealed() - { - this.isConcealed = true; - return this; - } - - public ResearchItem setHidden() - { - this.isHidden = true; - return this; - } - - public ResearchItem setVirtual() - { - this.isVirtual = true; - return this; - } - - public ResearchItem setParents(String... par) - { - this.parents = par; - return this; - } - - - - public ResearchItem setParentsHidden(String... par) - { - this.parentsHidden = par; - return this; - } - - public ResearchItem setSiblings(String... sib) - { - this.siblings = sib; - return this; - } - - public ResearchItem setPages(ResearchPage... par) - { - this.pages = par; - return this; - } - - public ResearchPage[] getPages() { - return pages; - } - - public ResearchItem setItemTriggers(ItemStack... par) - { - this.itemTriggers = par; - return this; - } - - public ResearchItem setEntityTriggers(String... par) - { - this.entityTriggers = par; - return this; - } - - public ResearchItem setAspectTriggers(Aspect... par) - { - this.aspectTriggers = par; - return this; - } - - public ItemStack[] getItemTriggers() { - return itemTriggers; - } - - public String[] getEntityTriggers() { - return entityTriggers; - } - - public Aspect[] getAspectTriggers() { - return aspectTriggers; - } - - public ResearchItem registerResearchItem() - { - ResearchCategories.addResearch(this); - return this; - } - - public String getName() - { - return StatCollector.translateToLocal("tc.research_name."+key); - } - - public String getText() - { - return StatCollector.translateToLocal("tc.research_text."+key); - } - - public boolean isSpecial() - { - return this.isSpecial; - } - - public boolean isStub() - { - return this.isStub; - } - - @Deprecated - public boolean isLost() - { - return this.isLost; - } - - public boolean isConcealed() - { - return this.isConcealed; - } - - public boolean isHidden() - { - return this.isHidden; - } - - public boolean isVirtual() - { - return this.isVirtual; - } - - public boolean isAutoUnlock() { - return isAutoUnlock; - } - - public ResearchItem setAutoUnlock() - { - this.isAutoUnlock = true; - return this; - } - - public boolean isRound() { - return isRound; - } - - public ResearchItem setRound() { - this.isRound = true; - return this; - } - - public boolean isSecondary() { - return isSecondary; - } - - public ResearchItem setSecondary() { - this.isSecondary = true; - return this; - } - - public int getComplexity() { - return complexity; - } - - public ResearchItem setComplexity(int complexity) { - this.complexity = complexity; - return this; - } - - /** - * @return the aspect aspects ordinal with the highest value. Used to determine scroll color and similar things - */ - public Aspect getResearchPrimaryTag() { - Aspect aspect=null; - int highest=0; - if (tags!=null) - for (Aspect tag:tags.getAspects()) { - if (tags.getAmount(tag)>highest) { - aspect=tag; - highest=tags.getAmount(tag); - }; - } - return aspect; - } - -} diff --git a/src-backup/api/java/thaumcraft/api/research/ResearchPage.java b/src-backup/api/java/thaumcraft/api/research/ResearchPage.java deleted file mode 100644 index fdada843..00000000 --- a/src-backup/api/java/thaumcraft/api/research/ResearchPage.java +++ /dev/null @@ -1,193 +0,0 @@ -package thaumcraft.api.research; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.crafting.CrucibleRecipe; -import thaumcraft.api.crafting.IArcaneRecipe; -import thaumcraft.api.crafting.InfusionEnchantmentRecipe; -import thaumcraft.api.crafting.InfusionRecipe; - -public class ResearchPage { - public static enum PageType - { - TEXT, - TEXT_CONCEALED, - IMAGE, - CRUCIBLE_CRAFTING, - ARCANE_CRAFTING, - ASPECTS, - NORMAL_CRAFTING, - INFUSION_CRAFTING, - COMPOUND_CRAFTING, - INFUSION_ENCHANTMENT, - SMELTING - } - - public PageType type = PageType.TEXT; - - public String text=null; - public String research=null; - public ResourceLocation image=null; - public AspectList aspects=null; - public Object recipe=null; - public ItemStack recipeOutput=null; - - /** - * @param text this can (but does not have to) be a reference to a localization variable, not the actual text. - */ - public ResearchPage(String text) { - this.type = PageType.TEXT; - this.text = text; - } - - /** - * @param research this page will only be displayed if the player has discovered this research - * @param text this can (but does not have to) be a reference to a localization variable, not the actual text. - */ - public ResearchPage(String research, String text) { - this.type = PageType.TEXT_CONCEALED; - this.research = research; - this.text = text; - } - - /** - * @param recipe a vanilla crafting recipe. - */ - public ResearchPage(IRecipe recipe) { - this.type = PageType.NORMAL_CRAFTING; - this.recipe = recipe; - this.recipeOutput = recipe.getRecipeOutput(); - } - - /** - * @param recipe a collection of vanilla crafting recipes. - */ - public ResearchPage(IRecipe[] recipe) { - this.type = PageType.NORMAL_CRAFTING; - this.recipe = recipe; - } - - /** - * @param recipe a collection of arcane crafting recipes. - */ - public ResearchPage(IArcaneRecipe[] recipe) { - this.type = PageType.ARCANE_CRAFTING; - this.recipe = recipe; - } - - /** - * @param recipe a collection of arcane crafting recipes. - */ - public ResearchPage(CrucibleRecipe[] recipe) { - this.type = PageType.CRUCIBLE_CRAFTING; - this.recipe = recipe; - } - - /** - * @param recipe a collection of infusion crafting recipes. - */ - public ResearchPage(InfusionRecipe[] recipe) { - this.type = PageType.INFUSION_CRAFTING; - this.recipe = recipe; - } - - /** - * @param recipe a compound crafting recipe. - */ - public ResearchPage(List recipe) { - this.type = PageType.COMPOUND_CRAFTING; - this.recipe = recipe; - } - - /** - * @param recipe an arcane worktable crafting recipe. - */ - public ResearchPage(IArcaneRecipe recipe) { - this.type = PageType.ARCANE_CRAFTING; - this.recipe = recipe; - this.recipeOutput = recipe.getRecipeOutput(); - } - - /** - * @param recipe an alchemy crafting recipe. - */ - public ResearchPage(CrucibleRecipe recipe) { - this.type = PageType.CRUCIBLE_CRAFTING; - this.recipe = recipe; - this.recipeOutput = recipe.getRecipeOutput(); - } - - /** - * @param recipe a furnace smelting crafting recipe. - */ - public ResearchPage(ItemStack input) { - this.type = PageType.SMELTING; - this.recipe = input; - this.recipeOutput = FurnaceRecipes.smelting().getSmeltingResult(input); - } - - /** - * @param recipe an infusion crafting recipe. - */ - public ResearchPage(InfusionRecipe recipe) { - this.type = PageType.INFUSION_CRAFTING; - this.recipe = recipe; - if (recipe.getRecipeOutput() instanceof ItemStack) { - this.recipeOutput = (ItemStack) recipe.getRecipeOutput(); - } else { - this.recipeOutput = recipe.getRecipeInput(); - } - } - - /** - * @param recipe an infusion crafting recipe. - */ - public ResearchPage(InfusionEnchantmentRecipe recipe) { - this.type = PageType.INFUSION_ENCHANTMENT; - this.recipe = recipe; -// if (recipe.recipeOutput instanceof ItemStack) { -// this.recipeOutput = (ItemStack) recipe.recipeOutput; -// } else { -// this.recipeOutput = recipe.recipeInput; -// } - } - - /** - * @param image - * @param caption this can (but does not have to) be a reference to a localization variable, not the actual text. - */ - public ResearchPage(ResourceLocation image, String caption) { - this.type = PageType.IMAGE; - this.image = image; - this.text = caption; - } - - /** - * This function should really not be called directly - used internally - */ - public ResearchPage(AspectList as) { - this.type = PageType.ASPECTS; - this.aspects = as; - } - - /** - * returns a localized text of the text field (if one exists). Returns the text field itself otherwise. - * @return - */ - public String getTranslatedText() { - String ret=""; - if (text != null) { - ret = StatCollector.translateToLocal(text); - if (ret.isEmpty()) ret = text; - } - return ret; - } - - -} diff --git a/src-backup/api/java/thaumcraft/api/research/ScanResult.java b/src-backup/api/java/thaumcraft/api/research/ScanResult.java deleted file mode 100644 index e1498f31..00000000 --- a/src-backup/api/java/thaumcraft/api/research/ScanResult.java +++ /dev/null @@ -1,39 +0,0 @@ -package thaumcraft.api.research; - -import net.minecraft.entity.Entity; - -public class ScanResult { - public byte type = 0; //1=blocks,2=entities,3=phenomena - public int id; - public int meta; - public Entity entity; - public String phenomena; - - public ScanResult(byte type, int blockId, int blockMeta, Entity entity, - String phenomena) { - super(); - this.type = type; - this.id = blockId; - this.meta = blockMeta; - this.entity = entity; - this.phenomena = phenomena; - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof ScanResult) { - ScanResult sr = (ScanResult) obj; - if (type != sr.type) - return false; - if (type == 1 - && (id != sr.id || meta != sr.meta)) - return false; - if (type == 2 && entity.getEntityId() != sr.entity.getEntityId()) - return false; - if (type == 3 && !phenomena.equals(sr.phenomena)) - return false; - } - return true; - } - -} diff --git a/src-backup/api/java/thaumcraft/api/visnet/TileVisNode.java b/src-backup/api/java/thaumcraft/api/visnet/TileVisNode.java deleted file mode 100644 index 84b1400d..00000000 --- a/src-backup/api/java/thaumcraft/api/visnet/TileVisNode.java +++ /dev/null @@ -1,188 +0,0 @@ -package thaumcraft.api.visnet; - -import java.lang.ref.WeakReference; -import java.util.ArrayList; -import java.util.HashMap; - -import thaumcraft.api.TileThaumcraft; -import thaumcraft.api.WorldCoordinates; -import thaumcraft.api.aspects.Aspect; - -/** - * @author Azanor - * - * The tile entity used by nodes in the vis energy network. A node is either a source (like an aura node), - * a transport relay or vis receiver (like the infernal furnace). - * - */ -public abstract class TileVisNode extends TileThaumcraft { - - WeakReference parent = null; - ArrayList> children = new ArrayList>(); - - /** - * @return the WorldCoordinates location of where this node is located - */ - public WorldCoordinates getLocation() { - return new WorldCoordinates(this); - } - - /** - * @return the number of blocks away this node will check for parent nodes to connect to. - */ - public abstract int getRange(); - - /** - * @return true if this is the source or root node of the vis network. - */ - public abstract boolean isSource(); - - /** - * This method should never be called directly. Use VisNetHandler.drainVis() instead - * @param aspect what aspect to drain - * @param vis how much to drain - * @return how much was actually drained - */ - public int consumeVis(Aspect aspect, int vis) { - if (VisNetHandler.isNodeValid(getParent())) { - int out = getParent().get().consumeVis(aspect, vis); - if (out>0) { - triggerConsumeEffect(aspect); - } - return out; - } - return 0; - } - - public void removeThisNode() { - for (WeakReference n:getChildren()) { - if (n!=null && n.get()!=null) { - n.get().removeThisNode(); - } - } - - children = new ArrayList>(); - if (VisNetHandler.isNodeValid(this.getParent())) { - this.getParent().get().nodeRefresh=true; - } - this.setParent(null); - this.parentChanged(); - - if (this.isSource()) { - HashMap> sourcelist = VisNetHandler.sources.get(worldObj.provider.dimensionId); - if (sourcelist==null) { - sourcelist = new HashMap>(); - } - sourcelist.remove(getLocation()); - VisNetHandler.sources.put( worldObj.provider.dimensionId, sourcelist ); - } - - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - - - @Override - public void invalidate() { - removeThisNode(); - super.invalidate(); - } - - public void triggerConsumeEffect(Aspect aspect) { } - - /** - * @return - */ - public WeakReference getParent() { - return parent; - } - - /** - * @return - */ - public WeakReference getRootSource() { - return VisNetHandler.isNodeValid(getParent()) ? - getParent().get().getRootSource() : this.isSource() ? - new WeakReference(this) : null; - } - - /** - * @param parent - */ - public void setParent(WeakReference parent) { - this.parent = parent; - } - - /** - * @return - */ - public ArrayList> getChildren() { - return children; - } - - @Override - public boolean canUpdate() { - return true; - } - - protected int nodeCounter = 0; - private boolean nodeRegged = false; - public boolean nodeRefresh = false; - - @Override - public void updateEntity() { - - if (!worldObj.isRemote && ((nodeCounter++) % 40==0 || nodeRefresh)) { - //check for changes - if (!nodeRefresh && children.size()>0) { - for (WeakReference n:children) { - if (n==null || n.get()==null) { - nodeRefresh=true; - break; - } - } - } - - //refresh linked nodes - if (nodeRefresh) { - for (WeakReference n:children) { - if (n.get()!=null) { - n.get().nodeRefresh=true; - } - } - children.clear(); - parent=null; - } - - //redo stuff - if (isSource() && !nodeRegged) { - VisNetHandler.addSource(getWorldObj(), this); - nodeRegged = true; - } else - if (!isSource() && !VisNetHandler.isNodeValid(getParent())) { - setParent(VisNetHandler.addNode(getWorldObj(), this)); - nodeRefresh=true; - } - - if (nodeRefresh) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - parentChanged(); - } - nodeRefresh=false; - } - - } - - public void parentChanged() { } - - /** - * @return the type of shard this is attuned to: - * none -1, air 0, fire 1, water 2, earth 3, order 4, entropy 5 - * Should return -1 for most implementations - */ - public byte getAttunement() { - return -1; - } - - -} diff --git a/src-backup/api/java/thaumcraft/api/visnet/VisNetHandler.java b/src-backup/api/java/thaumcraft/api/visnet/VisNetHandler.java deleted file mode 100644 index baf46d8e..00000000 --- a/src-backup/api/java/thaumcraft/api/visnet/VisNetHandler.java +++ /dev/null @@ -1,284 +0,0 @@ -package thaumcraft.api.visnet; - -import java.lang.ref.WeakReference; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; - -import net.minecraft.world.World; -import thaumcraft.api.WorldCoordinates; -import thaumcraft.api.aspects.Aspect; -import cpw.mods.fml.common.FMLLog; - -public class VisNetHandler { - - // / NODE DRAINING - /** - * This method drains vis from a relay or source near the passed in - * location. The amount received can be less than the amount requested so - * take that into account. - * - * @param world - * @param x the x position of the draining block or entity - * @param y the y position of the draining block or entity - * @param z the z position of the draining block or entity - * @param aspect what aspect to drain - * @param vis how much to drain - * @return how much was actually drained - */ - public static int drainVis(World world, int x, int y, int z, Aspect aspect, int amount) { - - int drainedAmount = 0; - - WorldCoordinates drainer = new WorldCoordinates(x, y, z, - world.provider.dimensionId); - if (!nearbyNodes.containsKey(drainer)) { - calculateNearbyNodes(world, x, y, z); - } - - ArrayList> nodes = nearbyNodes.get(drainer); - if (nodes!=null && nodes.size()>0) - for (WeakReference noderef : nodes) { - - TileVisNode node = noderef.get(); - - if (node == null) continue; - - int a = node.consumeVis(aspect, amount); - drainedAmount += a; - amount -= a; - if (a>0) { - int color = Aspect.getPrimalAspects().indexOf(aspect); - generateVisEffect(world.provider.dimensionId, x, y, z, node.xCoord, node.yCoord, node.zCoord, color); - } - if (amount <= 0) { - break; - } - } - - return drainedAmount; - } - - static Method generateVisEffect; - public static void generateVisEffect(int dim, int x, int y, int z, int x2, int y2, int z2, int color) { - try { - if(generateVisEffect == null) { - Class fake = Class.forName("thaumcraft.common.lib.Utils"); - generateVisEffect = fake.getMethod("generateVisEffect", int.class, int.class, int.class, int.class, int.class, int.class, int.class, int.class); - } - generateVisEffect.invoke(null, dim, x,y,z,x2,y2,z2,color); - } catch(Exception ex) { - FMLLog.warning("[Thaumcraft API] Could not invoke thaumcraft.common.lib.Utils method generateVisEffect"); - } - } - - public static HashMap>> sources = new HashMap>>(); - - public static void addSource(World world, TileVisNode vs) { - HashMap> sourcelist = sources - .get(world.provider.dimensionId); - if (sourcelist == null) { - sourcelist = new HashMap>(); - } - sourcelist.put(vs.getLocation(), new WeakReference(vs)); - sources.put(world.provider.dimensionId, sourcelist); - nearbyNodes.clear(); - } - - public static boolean isNodeValid(WeakReference node) { - if (node == null || node.get() == null || node.get().isInvalid()) - return false; - return true; - } - - public static WeakReference addNode(World world, TileVisNode vn) { - WeakReference ref = new WeakReference(vn); - - HashMap> sourcelist = sources - .get(world.provider.dimensionId); - if (sourcelist == null) { - sourcelist = new HashMap>(); - return null; - } - - ArrayList nearby = new ArrayList(); - - for (WeakReference root : sourcelist.values()) { - if (!isNodeValid(root)) - continue; - - TileVisNode source = root.get(); - - float r = inRange(world, vn.getLocation(), source.getLocation(), - vn.getRange()); - if (r > 0) { - nearby.add(new Object[] { source, r - vn.getRange() * 2 }); - } - nearby = findClosestNodes(vn, source, nearby); - } - - float dist = Float.MAX_VALUE; - TileVisNode closest = null; - if (nearby.size() > 0) { - for (Object[] o : nearby) { - if ((Float) o[1] < dist) {// && canNodeBeSeen(vn,(TileVisNode) - // o[0])) { - dist = (Float) o[1]; - closest = (TileVisNode) o[0]; - } - } - } - if (closest != null) { - closest.getChildren().add(ref); - nearbyNodes.clear(); - return new WeakReference(closest); - } - - return null; - } - - public static ArrayList findClosestNodes(TileVisNode target, - TileVisNode root, ArrayList in) { - TileVisNode closestChild = null; - - for (WeakReference child : root.getChildren()) { - TileVisNode n = child.get(); - - if (n != null - && !n.equals(target) - && !n.equals(root) - && (target.getAttunement() == -1 || n.getAttunement() == -1 || n - .getAttunement() == target.getAttunement())) { - - float r2 = inRange(n.getWorldObj(), n.getLocation(), - target.getLocation(), target.getRange()); - if (r2 > 0) { - in.add(new Object[] { n, r2 }); - } - - in = findClosestNodes(target, n, in); - } - } - return in; - } - - private static float inRange(World world, WorldCoordinates cc1, - WorldCoordinates cc2, int range) { - float distance = cc1.getDistanceSquaredToWorldCoordinates(cc2); - return distance > range * range ? -1 : distance; - } - - private static HashMap>> nearbyNodes = new HashMap>>(); - - private static void calculateNearbyNodes(World world, int x, int y, int z) { - - HashMap> sourcelist = sources - .get(world.provider.dimensionId); - if (sourcelist == null) { - sourcelist = new HashMap>(); - return; - } - - ArrayList> cn = new ArrayList>(); - WorldCoordinates drainer = new WorldCoordinates(x, y, z, - world.provider.dimensionId); - - ArrayList nearby = new ArrayList(); - - for (WeakReference root : sourcelist.values()) { - - if (!isNodeValid(root)) - continue; - - TileVisNode source = root.get(); - - TileVisNode closest = null; - float range = Float.MAX_VALUE; - - float r = inRange(world, drainer, source.getLocation(), - source.getRange()); - if (r > 0) { - range = r; - closest = source; - } - - ArrayList> children = new ArrayList>(); - children = getAllChildren(source,children); - - for (WeakReference child : children) { - TileVisNode n = child.get(); - if (n != null && !n.equals(root)) { - - float r2 = inRange(n.getWorldObj(), n.getLocation(), - drainer, n.getRange()); - if (r2 > 0 && r2 < range) { - range = r2; - closest = n; - } - } - } - - if (closest != null) { - - cn.add(new WeakReference(closest)); - } - } - - nearbyNodes.put(drainer, cn); - } - - private static ArrayList> getAllChildren(TileVisNode source, ArrayList> list) { - for (WeakReference child : source.getChildren()) { - TileVisNode n = child.get(); - if (n != null) { - list.add(child); - list = getAllChildren(n,list); - } - } - return list; - } - - // public static boolean canNodeBeSeen(TileVisNode source,TileVisNode - // target) - // { - // double d = Math.sqrt(source.getDistanceFrom(target.xCoord, target.yCoord, - // target.zCoord)); - // double xd = (source.xCoord-target.xCoord) / d; - // double yd = (source.yCoord-target.yCoord) / d; - // double zd = (source.zCoord-target.zCoord) / d; - // return source.getWorldObj().rayTraceBlocks( - // Vec3.createVectorHelper(source.xCoord-xd+.5+.5, source.yCoord-yd, - // source.zCoord-zd), - // Vec3.createVectorHelper(target.xCoord+.5, target.yCoord+.5, - // target.zCoord+.5)) == null; - // } - - // public static HashMap> - // noderef = new HashMap>(); - // - // public static TileVisNode getClosestNodeWithinRadius(World world, int x, - // int y, int z, int radius) { - // TileVisNode out = null; - // WorldCoordinates wc = null; - // float cd = Float.MAX_VALUE; - // for (int sx = x - radius; sx <= x + radius; sx++) { - // for (int sy = y - radius; sy <= y + radius; sy++) { - // for (int sz = z - radius; sz <= z + radius; sz++) { - // wc = new WorldCoordinates(sx,sy,sz,world.provider.dimensionId); - // if (noderef.containsKey(wc)) { - // float d = wc.getDistanceSquared(x, y, z); - // if (dAs a guide build the sort string from two alphanumeric characters followed by - * two numeric characters based on... whatever. - */ - public String getSortingHelper(ItemStack itemstack); - - boolean onFocusBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player); - - public boolean acceptsEnchant(int id); - - - - - -} diff --git a/src-backup/api/java/thaumcraft/api/wands/IWandRodOnUpdate.java b/src-backup/api/java/thaumcraft/api/wands/IWandRodOnUpdate.java deleted file mode 100644 index 4ef8c849..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/IWandRodOnUpdate.java +++ /dev/null @@ -1,16 +0,0 @@ -package thaumcraft.api.wands; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -/** - * - * @author azanor - * - * Implemented by a class that you wish to be called whenever a wand with this rod performs its - * update tick. - * - */ -public interface IWandRodOnUpdate { - void onUpdate(ItemStack itemstack, EntityPlayer player); -} diff --git a/src-backup/api/java/thaumcraft/api/wands/IWandTriggerManager.java b/src-backup/api/java/thaumcraft/api/wands/IWandTriggerManager.java deleted file mode 100644 index 47465552..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/IWandTriggerManager.java +++ /dev/null @@ -1,12 +0,0 @@ -package thaumcraft.api.wands; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface IWandTriggerManager { - - public boolean performTrigger(World world, ItemStack wand, EntityPlayer player, - int x, int y, int z, int side, int event); - -} diff --git a/src-backup/api/java/thaumcraft/api/wands/IWandable.java b/src-backup/api/java/thaumcraft/api/wands/IWandable.java deleted file mode 100644 index aeb9bac7..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/IWandable.java +++ /dev/null @@ -1,25 +0,0 @@ -package thaumcraft.api.wands; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -/** - * - * @author azanor - * - * Add this to a tile entity that you wish wands to interact with in some way. - * - */ - -public interface IWandable { - - public int onWandRightClick(World world, ItemStack wandstack, EntityPlayer player, int x, int y, int z, int side, int md); - - public ItemStack onWandRightClick(World world, ItemStack wandstack, EntityPlayer player); - - public void onUsingWandTick(ItemStack wandstack, EntityPlayer player, int count); - - public void onWandStoppedUsing(ItemStack wandstack, World world, EntityPlayer player, int count); - -} diff --git a/src-backup/api/java/thaumcraft/api/wands/ItemFocusBasic.java b/src-backup/api/java/thaumcraft/api/wands/ItemFocusBasic.java deleted file mode 100644 index 35900520..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/ItemFocusBasic.java +++ /dev/null @@ -1,166 +0,0 @@ -package thaumcraft.api.wands; - -import java.text.DecimalFormat; -import java.util.List; -import java.util.Map; - -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import thaumcraft.api.ThaumcraftApi; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemFocusBasic extends Item implements IWandFocus { - - public ItemFocusBasic () - { - super(); - maxStackSize = 1; - canRepair=false; - this.setMaxDamage(0); - } - - public IIcon icon; - - @SideOnly(Side.CLIENT) - @Override - public IIcon getIconFromDamage(int par1) { - return icon; - } - - @Override - public boolean isItemTool(ItemStack par1ItemStack) - { - return true; - } - - @Override - public boolean isDamageable() { - return true; - } - - @Override - public void addInformation(ItemStack stack,EntityPlayer player, List list, boolean par4) { - AspectList al = this.getVisCost(); - if (al!=null && al.size()>0) { - list.add(StatCollector.translateToLocal(isVisCostPerTick()?"item.Focus.cost2":"item.Focus.cost1")); - for (Aspect aspect:al.getAspectsSorted()) { - DecimalFormat myFormatter = new DecimalFormat("#####.##"); - String amount = myFormatter.format(al.getAmount(aspect)/100f); - list.add(" \u00A7"+aspect.getChatcolor()+aspect.getName()+"\u00A7r x "+ amount); - - } - } - } - - @Override - public int getItemEnchantability() { - return 5; - } - - @Override - public EnumRarity getRarity(ItemStack itemstack) - { - return EnumRarity.rare; - } - - - @Override - public int getFocusColor() { - // TODO Auto-generated method stub - return 0; - } - - @Override - public AspectList getVisCost() { - // TODO Auto-generated method stub - return null; - } - - @Override - public ItemStack onFocusRightClick(ItemStack itemstack, World world, - EntityPlayer player, MovingObjectPosition movingobjectposition) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void onUsingFocusTick(ItemStack itemstack, EntityPlayer player, - int count) { - // TODO Auto-generated method stub - } - - @Override - public void onPlayerStoppedUsingFocus(ItemStack itemstack, World world, - EntityPlayer player, int count) { - // TODO Auto-generated method stub - - } - - /** - * Just insert two alphanumeric characters before this string in your focus item class - */ - @Override - public String getSortingHelper(ItemStack itemstack) { - Map ench = EnchantmentHelper.getEnchantments(itemstack); - String out=""; - for (Integer lvl:ench.values()) { - out = out + lvl + ""; - } - return out; - } - - @Override - public boolean isVisCostPerTick() { - return false; - } - - @Override - public IIcon getOrnament() { - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean onFocusBlockStartBreak(ItemStack itemstack, int x, int y, - int z, EntityPlayer player) { - // TODO Auto-generated method stub - return false; - } - - @Override - public WandFocusAnimation getAnimation() { - return WandFocusAnimation.WAVE; - } - - @Override - public IIcon getFocusDepthLayerIcon() { - // TODO Auto-generated method stub - return null; - } - - /** - * @see thaumcraft.api.wands.IWandFocus#acceptsEnchant(int) - * By default fortune is off for all wands - **/ - @Override - public boolean acceptsEnchant(int id) { - if (id==ThaumcraftApi.enchantFrugal|| - id==ThaumcraftApi.enchantPotency) return true; - return false; - } - - - - - -} diff --git a/src-backup/api/java/thaumcraft/api/wands/StaffRod.java b/src-backup/api/java/thaumcraft/api/wands/StaffRod.java deleted file mode 100644 index e7ae90f0..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/StaffRod.java +++ /dev/null @@ -1,48 +0,0 @@ -package thaumcraft.api.wands; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -/** - * - * @author Azanor - * - * This class is used to keep the material information for the various rods. - * It is also used to generate the wand recipes ingame. - * - */ -public class StaffRod extends WandRod { - - boolean runes=false; - - public StaffRod(String tag, int capacity, ItemStack item, int craftCost) { - super(tag+"_staff", capacity, item, craftCost); - this.texture = new ResourceLocation("thaumcraft","textures/models/wand_rod_"+tag+".png"); - } - - public StaffRod(String tag, int capacity, ItemStack item, int craftCost, - IWandRodOnUpdate onUpdate, ResourceLocation texture) { - super(tag+"_staff", capacity, item, craftCost, onUpdate, texture); - } - - public StaffRod(String tag, int capacity, ItemStack item, int craftCost, - IWandRodOnUpdate onUpdate) { - super(tag+"_staff", capacity, item, craftCost, onUpdate); - this.texture = new ResourceLocation("thaumcraft","textures/models/wand_rod_"+tag+".png"); - } - - public StaffRod(String tag, int capacity, ItemStack item, int craftCost, - ResourceLocation texture) { - super(tag+"_staff", capacity, item, craftCost, texture); - } - - public boolean hasRunes() { - return runes; - } - - public void setRunes(boolean hasRunes) { - this.runes = hasRunes; - } - - -} diff --git a/src-backup/api/java/thaumcraft/api/wands/WandCap.java b/src-backup/api/java/thaumcraft/api/wands/WandCap.java deleted file mode 100644 index 17b4581c..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/WandCap.java +++ /dev/null @@ -1,129 +0,0 @@ -package thaumcraft.api.wands; - -import java.util.LinkedHashMap; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import thaumcraft.api.aspects.Aspect; - -/** - * This class is used to keep the material information for the various caps. - * It is also used to generate the wand recipes ingame. - * @author Azanor - * - */ -public class WandCap { - - private String tag; - - /** - * Cost to craft this wand. Combined with the rod cost. - */ - private int craftCost; - - /** - * the amount by which all aspect costs are multiplied - */ - float baseCostModifier; - - /** - * specifies a list of primal aspects that use the special discount figure instead of the normal discount. - */ - List specialCostModifierAspects; - - /** - * the amount by which the specified aspect costs are multiplied - */ - float specialCostModifier; - - /** - * The texture that will be used for the ingame wand cap - */ - ResourceLocation texture; - - /** - * the actual item that makes up this cap and will be used to generate the wand recipes - */ - ItemStack item; - - public static LinkedHashMap caps = new LinkedHashMap(); - - public WandCap (String tag, float discount, ItemStack item, int craftCost) { - this.setTag(tag); - this.baseCostModifier = discount; - this.specialCostModifierAspects = null; - texture = new ResourceLocation("thaumcraft","textures/models/wand_cap_"+getTag()+".png"); - this.item=item; - this.setCraftCost(craftCost); - caps.put(tag, this); - } - - public WandCap (String tag, float discount, List specialAspects, float discountSpecial, ItemStack item, int craftCost) { - this.setTag(tag); - this.baseCostModifier = discount; - this.specialCostModifierAspects = specialAspects; - this.specialCostModifier = discountSpecial; - texture = new ResourceLocation("thaumcraft","textures/models/wand_cap_"+getTag()+".png"); - this.item=item; - this.setCraftCost(craftCost); - caps.put(tag, this); - } - - public float getBaseCostModifier() { - return baseCostModifier; - } - - public List getSpecialCostModifierAspects() { - return specialCostModifierAspects; - } - - public float getSpecialCostModifier() { - return specialCostModifier; - } - - public ResourceLocation getTexture() { - return texture; - } - - public void setTexture(ResourceLocation texture) { - this.texture = texture; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - - public ItemStack getItem() { - return item; - } - - public void setItem(ItemStack item) { - this.item = item; - } - - public int getCraftCost() { - return craftCost; - } - - public void setCraftCost(int craftCost) { - this.craftCost = craftCost; - } - - /** - * The research a player needs to have finished to be able to craft a wand with this cap. - */ - public String getResearch() { - return "CAP_"+getTag(); - } - - // Some examples: - // WandCap WAND_CAP_IRON = new WandCap("iron", 1.1f, Arrays.asList(Aspect.ORDER),1, new ItemStack(ConfigItems.itemWandCap,1,0),1); - // WandCap WAND_CAP_GOLD = new WandCap("gold", 1f, new ItemStack(ConfigItems.itemWandCap,1,1),3); - -} diff --git a/src-backup/api/java/thaumcraft/api/wands/WandRod.java b/src-backup/api/java/thaumcraft/api/wands/WandRod.java deleted file mode 100644 index 85954e46..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/WandRod.java +++ /dev/null @@ -1,158 +0,0 @@ -package thaumcraft.api.wands; - -import java.util.LinkedHashMap; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -/** - * - * @author Azanor - * - * This class is used to keep the material information for the various rods. - * It is also used to generate the wand recipes ingame. - * - */ -public class WandRod { - - - private String tag; - - /** - * Cost to craft this wand. Combined with the rod cost. - */ - private int craftCost; - - /** - * The amount of vis that can be stored - this number is actually multiplied - * by 100 for use by the wands internals - */ - int capacity; - - /** - * The texture that will be used for the ingame wand rod - */ - protected ResourceLocation texture; - - /** - * the actual item that makes up this rod and will be used to generate the wand recipes - */ - ItemStack item; - - /** - * A class that will be called whenever the wand onUpdate tick is run - */ - IWandRodOnUpdate onUpdate; - - /** - * Does the rod glow in the dark? - */ - boolean glow; - - public static LinkedHashMap rods = new LinkedHashMap(); - - public WandRod (String tag, int capacity, ItemStack item, int craftCost, ResourceLocation texture) { - this.setTag(tag); - this.capacity = capacity; - this.texture = texture; - this.item=item; - this.setCraftCost(craftCost); - rods.put(tag, this); - } - - public WandRod (String tag, int capacity, ItemStack item, int craftCost, IWandRodOnUpdate onUpdate, ResourceLocation texture) { - this.setTag(tag); - this.capacity = capacity; - this.texture = texture; - this.item=item; - this.setCraftCost(craftCost); - rods.put(tag, this); - this.onUpdate = onUpdate; - } - - public WandRod (String tag, int capacity, ItemStack item, int craftCost) { - this.setTag(tag); - this.capacity = capacity; - this.texture = new ResourceLocation("thaumcraft","textures/models/wand_rod_"+getTag()+".png"); - this.item=item; - this.setCraftCost(craftCost); - rods.put(tag, this); - } - - public WandRod (String tag, int capacity, ItemStack item, int craftCost, IWandRodOnUpdate onUpdate) { - this.setTag(tag); - this.capacity = capacity; - this.texture = new ResourceLocation("thaumcraft","textures/models/wand_rod_"+getTag()+".png"); - this.item=item; - this.setCraftCost(craftCost); - rods.put(tag, this); - this.onUpdate = onUpdate; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public int getCapacity() { - return capacity; - } - - public void setCapacity(int capacity) { - this.capacity = capacity; - } - - public ResourceLocation getTexture() { - return texture; - } - - public void setTexture(ResourceLocation texture) { - this.texture = texture; - } - - public ItemStack getItem() { - return item; - } - - public void setItem(ItemStack item) { - this.item = item; - } - - public int getCraftCost() { - return craftCost; - } - - public void setCraftCost(int craftCost) { - this.craftCost = craftCost; - } - - public IWandRodOnUpdate getOnUpdate() { - return onUpdate; - } - - public void setOnUpdate(IWandRodOnUpdate onUpdate) { - this.onUpdate = onUpdate; - } - - public boolean isGlowing() { - return glow; - } - - public void setGlowing(boolean hasGlow) { - this.glow = hasGlow; - } - - /** - * The research a player needs to have finished to be able to craft a wand with this rod. - */ - public String getResearch() { - return "ROD_"+getTag(); - } - - // Some examples: - // WandRod WAND_ROD_WOOD = new WandRod("wood",25,new ItemStack(Item.stick),1); - // WandRod WAND_ROD_BLAZE = new WandRod("blaze",100,new ItemStack(Item.blazeRod),7,new WandRodBlazeOnUpdate()); -} diff --git a/src-backup/api/java/thaumcraft/api/wands/WandTriggerRegistry.java b/src-backup/api/java/thaumcraft/api/wands/WandTriggerRegistry.java deleted file mode 100644 index 68655cb7..00000000 --- a/src-backup/api/java/thaumcraft/api/wands/WandTriggerRegistry.java +++ /dev/null @@ -1,72 +0,0 @@ -package thaumcraft.api.wands; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -/** - * This class serves a similar function to IWandable in that it allows wands to interact - * with object in the world. In this case it is most useful for adding interaction with non-mod - * blocks where you can't control what happens in their code. - * Example where it is used is in crafting the thaumonomicon from a bookshelf and the - * crucible from a cauldron - * - * @author azanor - * - */ -public class WandTriggerRegistry { - - /** - * Registers an action to perform when a casting wand right clicks on a specific block. - * A manager class needs to be created that implements IWandTriggerManager. - * @param manager - * @param event a logical number that you can use to differentiate different events or actions - * @param block - * @param meta send -1 as a wildcard value for all possible meta values - */ - public static void registerWandBlockTrigger(IWandTriggerManager manager, int event, Block block, int meta) { - triggers.put(Arrays.asList(block,meta), - Arrays.asList(manager,event)); - - } - - private static HashMap triggers = new HashMap(); - - public static boolean hasTrigger(Block block, int meta) { - if (triggers.containsKey(Arrays.asList(block,meta)) || - triggers.containsKey(Arrays.asList(block,-1))) return true; - return false; - } - - /** - * This is called by the onItemUseFirst function in wands. - * Parameters and return value functions like you would expect for that function. - * @param world - * @param wand - * @param player - * @param x - * @param y - * @param z - * @param side - * @param block - * @param meta - * @return - */ - public static boolean performTrigger(World world, ItemStack wand, EntityPlayer player, - int x, int y, int z, int side, Block block, int meta) { - - List l = triggers.get(Arrays.asList(block,meta)); - if (l==null) l = triggers.get(Arrays.asList(block,-1)); - if (l==null) return false; - - IWandTriggerManager manager = (IWandTriggerManager) l.get(0); - int event = (Integer) l.get(1); - return manager.performTrigger(world, wand, player, x, y, z, side, event); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java deleted file mode 100644 index 0bf14f74..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ /dev/null @@ -1,1114 +0,0 @@ -package WayofTime.alchemicalWizardry; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -import joshie.alchemicalWizardy.ShapedBloodOrbRecipe; -import joshie.alchemicalWizardy.ShapelessBloodOrbRecipe; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraftforge.common.ChestGenHooks; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.RecipeSorter; -import net.minecraftforge.oredict.RecipeSorter.Category; -import thaumcraft.api.ItemApi; -import thaumcraft.api.ThaumcraftApi; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemicalPotionCreationHandler; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; -import WayofTime.alchemicalWizardry.api.bindingRegistry.BindingRegistry; -import WayofTime.alchemicalWizardry.api.harvest.HarvestRegistry; -import WayofTime.alchemicalWizardry.api.rituals.Rituals; -import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; -import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks; -import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler; -import WayofTime.alchemicalWizardry.common.CommonProxy; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; -import WayofTime.alchemicalWizardry.common.LifeBucketHandler; -import WayofTime.alchemicalWizardry.common.LifeEssence; -import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.alchemy.CombinedPotionRegistry; -import WayofTime.alchemicalWizardry.common.block.ArmourForge; -import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFireElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityHolyElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShade; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShadeElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntitySmallEarthGolem; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWaterElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWingedFireDemon; -import WayofTime.alchemicalWizardry.common.harvest.BloodMagicHarvestHandler; -import WayofTime.alchemicalWizardry.common.harvest.CactusReedHarvestHandler; -import WayofTime.alchemicalWizardry.common.harvest.GourdHarvestHandler; -import WayofTime.alchemicalWizardry.common.harvest.PamHarvestCompatRegistry; -import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; -import WayofTime.alchemicalWizardry.common.items.thaumcraft.ItemSanguineArmour; -import WayofTime.alchemicalWizardry.common.potion.PotionBoost; -import WayofTime.alchemicalWizardry.common.potion.PotionDeaf; -import WayofTime.alchemicalWizardry.common.potion.PotionDrowning; -import WayofTime.alchemicalWizardry.common.potion.PotionFeatherFall; -import WayofTime.alchemicalWizardry.common.potion.PotionFireFuse; -import WayofTime.alchemicalWizardry.common.potion.PotionFlameCloak; -import WayofTime.alchemicalWizardry.common.potion.PotionFlight; -import WayofTime.alchemicalWizardry.common.potion.PotionHeavyHeart; -import WayofTime.alchemicalWizardry.common.potion.PotionIceCloak; -import WayofTime.alchemicalWizardry.common.potion.PotionInhibit; -import WayofTime.alchemicalWizardry.common.potion.PotionPlanarBinding; -import WayofTime.alchemicalWizardry.common.potion.PotionProjectileProtect; -import WayofTime.alchemicalWizardry.common.potion.PotionReciprocation; -import WayofTime.alchemicalWizardry.common.potion.PotionSoulFray; -import WayofTime.alchemicalWizardry.common.potion.PotionSoulHarden; -import WayofTime.alchemicalWizardry.common.renderer.AlchemyCircleRenderer; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectAnimalGrowth; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectAutoAlchemy; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectBiomeChanger; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectContainment; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectCrushing; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectEllipsoid; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectEvaporation; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectExpulsion; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFeatheredEarth; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFeatheredKnife; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFlight; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFullStomach; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectGrowth; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectHarvest; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectHealing; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectInterdiction; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectItemSuction; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectJumping; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLava; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLeap; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLifeConduit; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectMagnetic; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSoulBound; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSpawnWard; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSummonMeteor; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSupression; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectUnbinding; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectVeilOfEvil; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectWater; -import WayofTime.alchemicalWizardry.common.rituals.RitualEffectWellOfSuffering; -import WayofTime.alchemicalWizardry.common.spell.simple.HomSpellRegistry; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellEarthBender; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellExplosions; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellFireBurst; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellFrozenWater; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellHolyBlast; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellLightningBolt; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellTeleport; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellWateryGrave; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellWindGust; -import WayofTime.alchemicalWizardry.common.summoning.SummoningHelperAW; -import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAlchemicCalcinator; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit; -import WayofTime.alchemicalWizardry.common.tileEntity.TEDemonPortal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEHomHeart; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import WayofTime.alchemicalWizardry.common.tileEntity.TEOrientable; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; -import WayofTime.alchemicalWizardry.common.tileEntity.TESchematicSaver; -import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEnhancementBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellModifierBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellParadigmBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import WayofTime.alchemicalWizardry.common.tileEntity.gui.GuiHandler; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; - -@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.2.0") -//@NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"BloodAltar", "particle", "SetLifeEssence", "GetLifeEssence", "Ritual", "GetAltarEssence", "TESocket", "TEWritingTable", "CustomParticle", "SetPlayerVel", "SetPlayerPos", "TEPedestal", "TEPlinth", "TETeleposer", "InfiniteLPPath", "TEOrientor"}, packetHandler = PacketHandler.class) - -public class AlchemicalWizardry -{ - public static boolean doMeteorsDestroyBlocks = true; - public static String[] diamondMeteorArray; - public static int diamondMeteorRadius; - public static String[] stoneMeteorArray; - public static int stoneMeteorRadius; - public static String[] ironBlockMeteorArray; - public static int ironBlockMeteorRadius; - public static String[] netherStarMeteorArray; - public static int netherStarMeteorRadius; - - public static String[] allowedCrushedOresArray; - - public static Potion customPotionDrowning; - public static Potion customPotionBoost; - public static Potion customPotionProjProt; - public static Potion customPotionInhibit; - public static Potion customPotionFlight; - public static Potion customPotionReciprocation; - public static Potion customPotionFlameCloak; - public static Potion customPotionIceCloak; - public static Potion customPotionHeavyHeart; - public static Potion customPotionFireFuse; - public static Potion customPotionPlanarBinding; - public static Potion customPotionSoulFray; - public static Potion customPotionSoulHarden; - public static Potion customPotionDeaf; - public static Potion customPotionFeatherFall; - - public static int customPotionDrowningID; - public static int customPotionBoostID; - public static int customPotionProjProtID; - public static int customPotionInhibitID; - public static int customPotionFlightID; - public static int customPotionReciprocationID; - public static int customPotionFlameCloakID; - public static int customPotionIceCloakID; - public static int customPotionHeavyHeartID; - public static int customPotionFireFuseID; - public static int customPotionPlanarBindingID; - public static int customPotionSoulFrayID; - public static int customPotionSoulHardenID; - public static int customPotionDeafID; - public static int customPotionFeatherFallID; - - public static boolean isThaumcraftLoaded; - public static boolean isForestryLoaded; - - public static boolean wimpySettings; - public static boolean respawnWithDebuff; - public static boolean lockdownAltar; - public static boolean causeHungerWithRegen; - - public static List wellBlacklist; - - public static CreativeTabs tabBloodMagic = new CreativeTabs("tabBloodMagic") - { - @Override - public ItemStack getIconItemStack() - { - return new ItemStack(ModItems.weakBloodOrb, 1, 0); - } - - @Override - public Item getTabIconItem() - { - return ModItems.weakBloodOrb; - } - }; - - public static ToolMaterial bloodBoundToolMaterial = EnumHelper.addToolMaterial("BoundBlood", 4, 1000, 12.0f, 8.0f, 50); - public static ArmorMaterial sanguineArmourArmourMaterial = EnumHelper.addArmorMaterial("SanguineArmour", 33, new int[]{3, 8, 6, 3}, 30); - - //Dungeon loot chances - public static int standardBindingAgentDungeonChance; - public static int mundanePowerCatalystDungeonChance; - public static int averagePowerCatalystDungeonChance; - public static int greaterPowerCatalystDungeonChance; - public static int mundaneLengtheningCatalystDungeonChance; - public static int averageLengtheningCatalystDungeonChance; - public static int greaterLengtheningCatalystDungeonChance; - - //Mob IDs - public static int entityFallenAngelID = 20; - public static int entityLowerGuardianID = 21; - public static int entityBileDemonID = 22; - public static int entityWingedFireDemonID = 23; - public static int entitySmallEarthGolemID = 24; - public static int entityIceDemonID = 25; - public static int entityBoulderFistID = 26; - public static int entityShadeID = 27; - public static int entityAirElementalID = 28; - public static int entityWaterElementalID = 29; - public static int entityEarthElementalID = 30; - public static int entityFireElementalID = 31; - public static int entityShadeElementalID = 32; - public static int entityHolyElementalID = 33; - - - public static Fluid lifeEssenceFluid; - - // The instance of your mod that Forge uses. - @Instance("AWWayofTime") - public static AlchemicalWizardry instance; - - // Says where the client and server 'proxy' code is loaded. - @SidedProxy(clientSide = "WayofTime.alchemicalWizardry.client.ClientProxy", serverSide = "WayofTime.alchemicalWizardry.common.CommonProxy") - public static CommonProxy proxy; - - @EventHandler - public void preInit(FMLPreInitializationEvent event) - { - File bmDirectory = new File("config/BloodMagic/schematics"); - - if(!bmDirectory.exists() && bmDirectory.mkdirs()) - { - try - { - InputStream in = AlchemicalWizardry.class.getResourceAsStream("/assets/alchemicalwizardry/schematics/building/buildings.zip"); - System.out.println("none yet!"); - if(in != null) - { - System.out.println("I have found a zip!"); - ZipInputStream zipStream = new ZipInputStream(in); - ZipEntry entry = null; - - int extractCount = 0; - - while((entry = zipStream.getNextEntry()) != null) - { - File file = new File(bmDirectory, entry.getName()); - if(file.exists() && file.length() > 3L) - { - continue; - } - FileOutputStream out = new FileOutputStream(file); - - byte[] buffer = new byte[8192]; - int len; - while((len = zipStream.read(buffer)) != -1) - { - out.write(buffer, 0, len); - } - out.close(); - - extractCount++; - } - } - } - catch(Exception e) - { - - } - } - - TEDemonPortal.loadBuildingList(); - - MinecraftForge.EVENT_BUS.register(new LifeBucketHandler()); - BloodMagicConfiguration.init(new File(event.getModConfigurationDirectory(), "AWWayofTime.cfg")); - - //Custom config stuff goes here - - - Potion[] potionTypes = null; - - for (Field f : Potion.class.getDeclaredFields()) - { - f.setAccessible(true); - - try - { - if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) - { - Field modfield = Field.class.getDeclaredField("modifiers"); - modfield.setAccessible(true); - modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL); - potionTypes = (Potion[]) f.get(null); - final Potion[] newPotionTypes = new Potion[256]; - System.arraycopy(potionTypes, 0, newPotionTypes, 0, potionTypes.length); - f.set(null, newPotionTypes); - } - } catch (Exception e) - { - System.err.println("Severe error, please report this to the mod author:"); - System.err.println(e); - } - } - AlchemicalWizardry.lifeEssenceFluid = new LifeEssence("Life Essence"); - FluidRegistry.registerFluid(lifeEssenceFluid); - - ModBlocks.init(); - - - ModBlocks.registerBlocksInPre(); - - ModItems.init(); - - ModItems.registerItems(); - - RecipeSorter.INSTANCE.register("AWWayofTime:shapedorb", ShapedBloodOrbRecipe.class, Category.SHAPED, "before:minecraft:shapeless"); - RecipeSorter.INSTANCE.register("AWWayofTime:shapelessorb", ShapelessBloodOrbRecipe.class, Category.SHAPELESS, "after:minecraft:shapeless"); - - Object eventHook = new AlchemicalWizardryEventHooks(); - FMLCommonHandler.instance().bus().register(eventHook); - MinecraftForge.EVENT_BUS.register(eventHook); - NewPacketHandler.INSTANCE.ordinal(); - } - - @EventHandler - public void load(FMLInitializationEvent event) - { - int craftingConstant = OreDictionary.WILDCARD_VALUE; - //TickRegistry.registerTickHandler(new AlchemicalWizardryTickHandler(), Side.SERVER); - - ModBlocks.registerBlocksInInit(); - //blocks - - proxy.registerRenderers(); - proxy.registerEntities(); - proxy.registerEntityTrackers(); - proxy.registerEvents(); - //ItemStacks used for crafting go here - ItemStack lapisStack = new ItemStack(Items.dye,1,4); - ItemStack lavaBucketStack = new ItemStack(Items.lava_bucket); - ItemStack cobblestoneStack = new ItemStack(Blocks.cobblestone, 1, craftingConstant); - ItemStack glassStack = new ItemStack(Blocks.glass, 1, craftingConstant); - ItemStack ironIngotStack = new ItemStack(Items.iron_ingot); - ItemStack diamondStack = new ItemStack(Items.diamond, 1, craftingConstant); - ItemStack woolStack = new ItemStack(Blocks.wool); - ItemStack goldNuggetStack = new ItemStack(Items.gold_nugget); - ItemStack stoneStack = new ItemStack(Blocks.stone, 1, craftingConstant); - ItemStack redstoneStack = new ItemStack(Items.redstone); - ItemStack glowstoneBlockStack = new ItemStack(Blocks.glowstone); - ItemStack ironBlockStack = new ItemStack(Blocks.iron_block); - ItemStack waterBucketStack = new ItemStack(Items.water_bucket); - ItemStack emptyBucketStack = new ItemStack(Items.bucket); - ItemStack magmaCreamStack = new ItemStack(Items.magma_cream); - ItemStack stringStack = new ItemStack(Items.string); - ItemStack obsidianStack = new ItemStack(Blocks.obsidian); - ItemStack diamondSwordStack = new ItemStack(Items.diamond_sword); - ItemStack goldIngotStack = new ItemStack(Items.gold_ingot); - ItemStack cauldronStack = new ItemStack(Blocks.cauldron); - ItemStack furnaceStack = new ItemStack(Blocks.furnace); - ItemStack sugarStack = new ItemStack(Items.sugar); - ItemStack featherStack = new ItemStack(Items.feather); - ItemStack ghastTearStack = new ItemStack(Items.ghast_tear); - ItemStack ironPickaxeStack = new ItemStack(Items.iron_pickaxe); - ItemStack ironAxeStack = new ItemStack(Items.iron_axe); - ItemStack ironShovelStack = new ItemStack(Items.iron_shovel); - ItemStack glowstoneDustStack = new ItemStack(Items.glowstone_dust); - ItemStack saplingStack = new ItemStack(Blocks.sapling); - ItemStack reedStack = new ItemStack(Items.reeds); - ItemStack blankSlateStack = new ItemStack(ModItems.blankSlate, 1, craftingConstant); - //ItemStack glassShardStack = new ItemStack(glassShard); - ItemStack weakBloodOrbStackCrafted = new ItemStack(ModItems.weakBloodOrb); - //ItemStack bloodiedShardStack = new ItemStack(bloodiedShard); - ItemStack reinforcedSlateStack = new ItemStack(ModItems.reinforcedSlate, 1, craftingConstant); - ItemStack weakBloodOrbStack = new ItemStack(ModItems.weakBloodOrb, 1, craftingConstant); - ItemStack imbuedSlateStack = new ItemStack(ModItems.imbuedSlate, 1, craftingConstant); - ItemStack demonSlateStack = new ItemStack(ModItems.demonicSlate, 1, craftingConstant); - ItemStack apprenticeBloodOrbStack = new ItemStack(ModItems.apprenticeBloodOrb, 1, craftingConstant); - ItemStack magicianBloodOrbStack = new ItemStack(ModItems.magicianBloodOrb, 1, craftingConstant); - ItemStack waterSigilStackCrafted = new ItemStack(ModItems.waterSigil); - ItemStack lavaSigilStackCrafted = new ItemStack(ModItems.lavaSigil); - ItemStack voidSigilStackCrafted = new ItemStack(ModItems.voidSigil); - ItemStack airSigilStack = new ItemStack(ModItems.airSigil); - ItemStack lavaCrystalStackCrafted = new ItemStack(ModItems.lavaCrystal); - ItemStack lavaCrystalStack = new ItemStack(ModItems.lavaCrystal); - ItemStack energySwordStack = new ItemStack(ModItems.energySword); - ItemStack energyBlasterStack = new ItemStack(ModItems.energyBlaster); - ItemStack sacrificialDaggerStack = new ItemStack(ModItems.sacrificialDagger); - ItemStack bloodAltarStack = new ItemStack(ModBlocks.blockAltar,1,0); - ItemStack bloodRuneCraftedStack = new ItemStack(ModBlocks.bloodRune, 1); - ItemStack bloodRuneStack = new ItemStack(ModBlocks.bloodRune); - ItemStack speedRuneStack = new ItemStack(ModBlocks.speedRune); - ItemStack efficiencyRuneStack = new ItemStack(ModBlocks.efficiencyRune); - ItemStack runeOfSacrificeStack = new ItemStack(ModBlocks.runeOfSacrifice); - ItemStack runeOfSelfSacrificeStack = new ItemStack(ModBlocks.runeOfSelfSacrifice); - ItemStack miningSigilStackCrafted = new ItemStack(ModItems.sigilOfTheFastMiner); - ItemStack divinationSigilStackCrafted = new ItemStack(ModItems.divinationSigil); - ItemStack seerSigilStackCrafted = new ItemStack(ModItems.itemSeerSigil); -// ItemStack elementalInkWaterStack = new ItemStack(elementalInkWater); -// ItemStack elementalInkFireStack = new ItemStack(elementalInkFire); -// ItemStack elementalInkEarthStack = new ItemStack(elementalInkEarth); -// ItemStack elementalInkAirStack = new ItemStack(elementalInkAir); - ItemStack waterScribeToolStack = new ItemStack(ModItems.waterScribeTool); - ItemStack fireScribeToolStack = new ItemStack(ModItems.fireScribeTool); - ItemStack earthScribeToolStack = new ItemStack(ModItems.earthScribeTool); - ItemStack airScribeToolStack = new ItemStack(ModItems.airScribeTool); - ItemStack ritualStoneStackCrafted = new ItemStack(ModBlocks.ritualStone, 4); - ItemStack ritualStoneStack = new ItemStack(ModBlocks.ritualStone); - ItemStack masterRitualStoneStack = new ItemStack(ModBlocks.blockMasterStone); - ItemStack imperfectRitualStoneStack = new ItemStack(ModBlocks.imperfectRitualStone); - ItemStack sigilOfElementalAffinityStackCrafted = new ItemStack(ModItems.sigilOfElementalAffinity); - ItemStack lavaSigilStack = new ItemStack(ModItems.lavaSigil); - ItemStack waterSigilStack = new ItemStack(ModItems.waterSigil); - ItemStack sigilOfHoldingStack = new ItemStack(ModItems.sigilOfHolding); - ItemStack weakBloodShardStack = new ItemStack(ModItems.weakBloodShard); - ItemStack emptySocketStack = new ItemStack(ModBlocks.emptySocket); - ItemStack bloodSocketStack = new ItemStack(ModBlocks.bloodSocket); - ItemStack armourForgeStack = new ItemStack(ModBlocks.armourForge); - ItemStack largeBloodStoneBrickStackCrafted = new ItemStack(ModBlocks.largeBloodStoneBrick, 32); - ItemStack largeBloodStoneBrickStack = new ItemStack(ModBlocks.largeBloodStoneBrick); - ItemStack bloodStoneBrickStackCrafted = new ItemStack(ModBlocks.bloodStoneBrick, 4); - ItemStack growthSigilStack = new ItemStack(ModItems.growthSigil); - ItemStack blockHomHeartStack = new ItemStack(ModBlocks.blockHomHeart); - ItemStack redWoolStack = new ItemStack(Blocks.wool, 1, 14); - ItemStack zombieHead = new ItemStack(Items.skull, 1, 2); - ItemStack simpleCatalystStack = new ItemStack(ModItems.simpleCatalyst); - ItemStack duskRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner); - ((ItemRitualDiviner) duskRitualDivinerStack.getItem()).setMaxRuneDisplacement(duskRitualDivinerStack, 1); - //weakBloodOrbStackCrafted.setItemDamage(weakBloodOrbStackCrafted.getMaxDamage()); - waterSigilStackCrafted.setItemDamage(waterSigilStackCrafted.getMaxDamage()); - lavaSigilStackCrafted.setItemDamage(lavaSigilStackCrafted.getMaxDamage()); - voidSigilStackCrafted.setItemDamage(voidSigilStackCrafted.getMaxDamage()); - lavaCrystalStackCrafted.setItemDamage(lavaCrystalStackCrafted.getMaxDamage()); - miningSigilStackCrafted.setItemDamage(miningSigilStackCrafted.getMaxDamage()); - sigilOfElementalAffinityStackCrafted.setItemDamage(sigilOfElementalAffinityStackCrafted.getMaxDamage()); - ItemStack archmageBloodOrbStack = new ItemStack(ModItems.archmageBloodOrb); - ItemStack sanctusStack = new ItemStack(ModItems.sanctus); - ItemStack aetherStack = new ItemStack(ModItems.aether); - ItemStack terraeStack = new ItemStack(ModItems.terrae); - ItemStack incendiumStack = new ItemStack(ModItems.incendium); - ItemStack tennebraeStack = new ItemStack(ModItems.tennebrae); - ItemStack aquasalusStack = new ItemStack(ModItems.aquasalus); - ItemStack crystallosStack = new ItemStack(ModItems.crystallos); - ItemStack crepitousStack = new ItemStack(ModItems.crepitous); - ItemStack magicalesStack = new ItemStack(ModItems.magicales); - //All crafting goes here - // GameRegistry.addRecipe(orbOfTestingStack, "x x", " ", "x x", 'x', cobblestoneStack); - //GameRegistry.addRecipe(glassShardStack, " x", "y ", 'x', ironIngotStack, 'y', glassStack); - //GameRegistry.addRecipe(weakBloodOrbStackCrafted, "xxx", "xdx", "www", 'x', bloodiedShardStack, 'd', diamondStack, 'w', woolStack); - GameRegistry.addRecipe(sacrificialDaggerStack, "ggg", " dg", "i g", 'g', glassStack, 'd', goldIngotStack, 'i', ironIngotStack); - //GameRegistry.addRecipe(blankSlateStack, "sgs", "gig", "sgs", 's', stoneStack, 'g', goldNuggetStack, 'i', ironIngotStack); - //GameRegistry.addRecipe(reinforcedSlateStack, "rir", "ibi", "gig", 'r', redstoneStack, 'i', ironIngotStack, 'b', blankSlateStack, 'g', glowstoneBlockStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(lavaCrystalStackCrafted, "glg", "lbl", "odo", 'g', glassStack, 'l', lavaBucketStack, 'b', weakBloodOrbStack, 'd', diamondStack, 'o', obsidianStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(waterSigilStackCrafted, "www", "wbw", "wow", 'w', waterBucketStack, 'b', blankSlateStack, 'o', weakBloodOrbStack)); - GameRegistry.addRecipe(lavaSigilStackCrafted, "lml", "lbl", "lcl", 'l', lavaBucketStack, 'b', blankSlateStack, 'm', magmaCreamStack, 'c', lavaCrystalStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(voidSigilStackCrafted, "ese", "ere", "eoe", 'e', emptyBucketStack, 'r', reinforcedSlateStack, 'o', apprenticeBloodOrbStack, 's', stringStack)); - GameRegistry.addRecipe(bloodAltarStack, "s s", "scs", "gdg", 's', stoneStack, 'c', furnaceStack, 'd', diamondStack, 'g', goldIngotStack); - //GameRegistry.addRecipe(energySwordStack, " o ", " o ", " s ", 'o', weakBloodOrbStack, 's', diamondSwordStack); - //GameRegistry.addRecipe(energyBlasterStack, "oi ", "gdi", " rd", 'o', weakBloodOrbStack, 'i', ironIngotStack, 'd', diamondStack, 'r', reinforcedSlateStack, 'g', goldIngotStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(bloodRuneCraftedStack, "sss", "ror", "sss", 's', stoneStack, 'o', weakBloodOrbStack, 'r', blankSlateStack)); - GameRegistry.addRecipe(speedRuneStack, "sbs", "uru", "sbs", 'u', sugarStack, 's', stoneStack, 'r', bloodRuneStack, 'b', blankSlateStack); - //GameRegistry.addRecipe(efficiencyRuneStack, "sbs", "rur", "sbs", 'r', redstoneStack, 's', stoneStack, 'u', bloodRuneStack,'b',blankSlateStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 1), "sbs", "bob", "srs", 's', stoneStack, 'o', magicianBloodOrbStack, 'b', emptyBucketStack, 'r', new ItemStack(ModItems.imbuedSlate))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 2), "sbs", "bob", "srs", 's', stoneStack, 'o', magicianBloodOrbStack, 'b', waterBucketStack, 'r', new ItemStack(ModItems.imbuedSlate))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 3), "sws", "ror", "sws", 's', stoneStack, 'o', new ItemStack(ModItems.masterBloodOrb), 'w', weakBloodOrbStack, 'r', new ItemStack(ModItems.demonicSlate))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 4), "srs", "beb", "sos", 's', obsidianStack, 'o', new ItemStack(ModItems.masterBloodOrb), 'r', new ItemStack(ModItems.demonicSlate), 'b', emptyBucketStack,'e',new ItemStack(ModBlocks.bloodRune, 1, 1))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(airSigilStack, "fgf", "fsf", "fof", 'f', featherStack, 'g', ghastTearStack, 's', reinforcedSlateStack, 'o', apprenticeBloodOrbStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(miningSigilStackCrafted, "sps", "hra", "sos", 'o', apprenticeBloodOrbStack, 's', stoneStack, 'p', ironPickaxeStack, 'h', ironShovelStack, 'a', ironAxeStack, 'r', reinforcedSlateStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(runeOfSacrificeStack, "srs", "gog", "srs", 's', stoneStack, 'g', goldIngotStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(runeOfSelfSacrificeStack, "srs", "gog", "srs", 's', stoneStack, 'g', glowstoneDustStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(divinationSigilStackCrafted, "ggg", "gsg", "gog", 'g', glassStack, 's', blankSlateStack, 'o', weakBloodOrbStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(seerSigilStackCrafted, "gbg", "gsg", "gog", 'g', glassStack, 's', divinationSigilStackCrafted, 'o', apprenticeBloodOrbStack, 'b', new ItemStack(ModItems.bucketLife))); - -// GameRegistry.addRecipe(waterScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkWaterStack); -// GameRegistry.addRecipe(fireScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkFireStack); -// GameRegistry.addRecipe(earthScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkEarthStack); -// GameRegistry.addRecipe(airScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkAirStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ritualStoneStackCrafted, "srs", "ror", "srs", 's', obsidianStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(masterRitualStoneStack, "brb", "ror", "brb", 'b', obsidianStack, 'o', magicianBloodOrbStack, 'r', ritualStoneStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(imperfectRitualStoneStack, "bsb", "sos", "bsb", 's', stoneStack, 'b', obsidianStack, 'o', weakBloodOrbStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(sigilOfElementalAffinityStackCrafted, "oao", "wsl", "oro", 'o', obsidianStack, 'a', airSigilStack, 'w', waterSigilStack, 'l', lavaSigilStack, 'r', magicianBloodOrbStack, 's', imbuedSlateStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(sigilOfHoldingStack, "asa", "srs", "aoa", 'a', blankSlateStack, 's', stoneStack, 'r', imbuedSlateStack, 'o', magicianBloodOrbStack)); - GameRegistry.addRecipe(emptySocketStack, "bgb", "gdg", "bgb", 'b', weakBloodShardStack, 'g', glassStack, 'd', diamondStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(armourForgeStack, "sfs", "fof", "sfs", 'f', bloodSocketStack, 's', stoneStack, 'o', magicianBloodOrbStack)); - GameRegistry.addShapelessRecipe(largeBloodStoneBrickStackCrafted, weakBloodShardStack, stoneStack); - GameRegistry.addRecipe(bloodStoneBrickStackCrafted, "bb", "bb", 'b', largeBloodStoneBrickStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(growthSigilStack, "srs", "rer", "sos", 's', saplingStack, 'r', reedStack, 'o', apprenticeBloodOrbStack, 'e', reinforcedSlateStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(blockHomHeartStack, "www", "srs", "sos", 'w', redWoolStack, 's', stoneStack, 'r', bloodRuneStack, 'o', apprenticeBloodOrbStack)); - GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 2), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.rotten_flesh), new ItemStack(Items.iron_ingot), new ItemStack(Items.leather)); - GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 0), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.bow, 1, 0), new ItemStack(Items.arrow, 1, 0), new ItemStack(Items.bone)); - GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 4), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.gunpowder), new ItemStack(Blocks.dirt), new ItemStack(Blocks.sand)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.blockWritingTable), " s ", "ror", 's', new ItemStack(Items.brewing_stand), 'r', obsidianStack, 'o', weakBloodOrbStack)); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockPedestal), "ooo", " c ", "ooo", 'o', obsidianStack, 'c', weakBloodShardStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockPlinth), "iii", " p ", "iii", 'i', ironBlockStack, 'p', new ItemStack(ModBlocks.blockPedestal)); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.alchemyFlask, 1, 0), new ItemStack(ModItems.alchemyFlask, 1, craftingConstant), new ItemStack(Items.nether_wart), redstoneStack, glowstoneDustStack); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfHaste), "csc", "sts", "ror", 'c', new ItemStack(Items.cookie), 's', new ItemStack(Items.sugar), 't', ModItems.demonicSlate, 'r', obsidianStack, 'o', new ItemStack(ModItems.masterBloodOrb))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfWind), "faf", "grg", "fof", 'f', featherStack, 'g', ghastTearStack, 'a', new ItemStack(ModItems.airSigil), 'o', new ItemStack(ModItems.masterBloodOrb), 'r', ModItems.demonicSlate)); - GameRegistry.addRecipe(new ShapelessBloodOrbRecipe(new ItemStack(ModItems.weakBloodShard, 5, 0), new ItemStack(ModItems.masterBloodOrb), new ItemStack(ModItems.weakBloodShard), imbuedSlateStack)); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockTeleposer), "ggg", "efe", "ggg", 'g', goldIngotStack, 'f', new ItemStack(ModItems.telepositionFocus), 'e', new ItemStack(Items.ender_pearl)); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.reinforcedTelepositionFocus), new ItemStack(ModItems.enhancedTelepositionFocus), new ItemStack(ModItems.weakBloodShard)); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.demonicTelepositionFocus), new ItemStack(ModItems.reinforcedTelepositionFocus), new ItemStack(ModItems.demonBloodShard)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfTheBridge), "nnn", "nsn", "ror", 'n', stoneStack, 'r', new ItemStack(Blocks.soul_sand), 's', imbuedSlateStack, 'o', magicianBloodOrbStack)); - GameRegistry.addRecipe(new ItemStack(ModItems.armourInhibitor), " gg", "gsg", "gg ", 'g', goldIngotStack, 's', new ItemStack(ModItems.weakBloodShard)); - GameRegistry.addRecipe(new ItemStack(ModItems.itemRitualDiviner), "d1d", "2e3", "d4d", '1', new ItemStack(ModItems.airScribeTool), '2', new ItemStack(ModItems.waterScribeTool), '3', new ItemStack(ModItems.fireScribeTool), '4', new ItemStack(ModItems.earthScribeTool), 'd', diamondStack, 'e', new ItemStack(Items.emerald)); - GameRegistry.addRecipe(duskRitualDivinerStack, " d ", "srs", " d ", 'd', new ItemStack(ModItems.duskScribeTool), 's', new ItemStack(ModItems.demonicSlate), 'r', new ItemStack(ModItems.itemRitualDiviner)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfMagnetism), "bgb", "gsg", "bob", 'b', new ItemStack(Blocks.iron_block), 'g', goldIngotStack, 's', new ItemStack(ModItems.imbuedSlate), 'o', magicianBloodOrbStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.energyBazooka), "Ocd", "cb ", "d w", 'O', archmageBloodOrbStack, 'c', crepitousStack, 'b', new ItemStack(ModItems.energyBlaster), 'd', diamondStack, 'w', new ItemStack(ModItems.weakBloodShard))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemBloodLightSigil), "btb", "sss", "bob", 'o', magicianBloodOrbStack, 'b', glowstoneBlockStack, 't', new ItemStack(Blocks.torch), 's', imbuedSlateStack)); - GameRegistry.addRecipe(new ItemStack(ModItems.itemKeyOfDiablo), " gw", "gdg", "wg ", 'w', weakBloodShardStack, 'g', goldIngotStack, 'd', diamondStack); - customPotionDrowning = (new PotionDrowning(customPotionDrowningID, true, 0)).setIconIndex(0, 0).setPotionName("Drowning"); - customPotionBoost = (new PotionBoost(customPotionBoostID, false, 0)).setIconIndex(0, 0).setPotionName("Boost"); - customPotionProjProt = (new PotionProjectileProtect(customPotionProjProtID, false, 0)).setIconIndex(0, 0).setPotionName("Whirlwind"); - customPotionInhibit = (new PotionInhibit(customPotionInhibitID, false, 0)).setIconIndex(0, 0).setPotionName("Inhibit"); - customPotionFlight = (new PotionFlight(customPotionFlightID, false, 0)).setIconIndex(0, 0).setPotionName("Flight"); - customPotionReciprocation = (new PotionReciprocation(customPotionReciprocationID, false, 0xFFFFFF)).setIconIndex(0, 0).setPotionName("Reciprocation"); - customPotionFlameCloak = (new PotionFlameCloak(customPotionFlameCloakID,false,0).setIconIndex(0,0).setPotionName("Flame Cloak")); - customPotionIceCloak = (new PotionIceCloak(customPotionIceCloakID,false,0).setIconIndex(0,0).setPotionName("Ice Cloak")); - customPotionHeavyHeart = (new PotionHeavyHeart(customPotionHeavyHeartID,true,0).setIconIndex(0, 0).setPotionName("Heavy Heart")); - customPotionFireFuse = (new PotionFireFuse(customPotionFireFuseID,true,0).setIconIndex(0, 0).setPotionName("Fire Fuse")); - customPotionPlanarBinding = (new PotionPlanarBinding(customPotionPlanarBindingID,true,0).setIconIndex(0,0).setPotionName("Planar Binding")); - customPotionSoulFray = (new PotionSoulFray(customPotionSoulFrayID,true,0).setIconIndex(0,0).setPotionName("Soul Fray")); - customPotionSoulHarden = (new PotionSoulHarden(customPotionSoulHardenID,false,0).setIconIndex(0,0).setPotionName("Soul Harden")); - customPotionDeaf = (new PotionDeaf(customPotionDeafID,true,0).setIconIndex(0,0).setPotionName("Deafness")); - customPotionFeatherFall = (new PotionFeatherFall(customPotionFeatherFallID,false,0).setIconIndex(0,0).setPotionName("Feather Fall")); - - ItemStack masterBloodOrbStack = new ItemStack(ModItems.masterBloodOrb); - - //FluidStack lifeEssenceFluidStack = new FluidStack(lifeEssenceFluid, 1); - //LiquidStack lifeEssence = new LiquidStack(lifeEssenceFlowing, 1); - //LiquidDictionary.getOrCreateLiquid("Life Essence", lifeEssence); - - -// ModBlocks.blockLifeEssence.setUnlocalizedName("lifeEssenceBlock"); - FluidContainerRegistry.registerFluidContainer(lifeEssenceFluid, new ItemStack(ModItems.bucketLife), FluidContainerRegistry.EMPTY_BUCKET); - - //lifeEssenceFluid.setUnlocalizedName("lifeEssence"); - //LiquidContainerRegistry.registerLiquid(new LiquidContainerData(LiquidDictionary.getLiquid("Life Essence", LiquidContainerRegistry.BUCKET_VOLUME), new ItemStack(AlchemicalWizardry.bucketLife), new ItemStack(Items.bucketEmpty))); - //GameRegistry.registerBlock(testingBlock, "testingBlock"); - //LanguageRegistry.addName(testingBlock, "Testing Block"); - //(testingBlock, "pickaxe", 0); - ModBlocks.blockAltar.setHarvestLevel("pickaxe", 1); - //Register Tile Entity - GameRegistry.registerTileEntity(TEAltar.class, "containerAltar"); - GameRegistry.registerTileEntity(TEMasterStone.class, "containerMasterStone"); - GameRegistry.registerTileEntity(TESocket.class, "containerSocket"); - GameRegistry.registerTileEntity(TEWritingTable.class, "containerWritingTable"); - GameRegistry.registerTileEntity(TEHomHeart.class, "containerHomHeart"); - GameRegistry.registerTileEntity(TEPedestal.class, "containerPedestal"); - GameRegistry.registerTileEntity(TEPlinth.class, "containerPlinth"); - GameRegistry.registerTileEntity(TETeleposer.class, "containerTeleposer"); - GameRegistry.registerTileEntity(TEConduit.class, "containerConduit"); - GameRegistry.registerTileEntity(TEOrientable.class, "containerOrientable"); - GameRegistry.registerTileEntity(TESpellParadigmBlock.class, "containerSpellParadigmBlock"); - GameRegistry.registerTileEntity(TESpellEffectBlock.class, "containerSpellEffectBlock"); - GameRegistry.registerTileEntity(TESpellModifierBlock.class, "containerSpellModifierBlock"); - GameRegistry.registerTileEntity(TESpellEnhancementBlock.class, "containerSpellEnhancementBlock"); - GameRegistry.registerTileEntity(TESpectralContainer.class,"spectralContainerTileEntity"); - GameRegistry.registerTileEntity(TEDemonPortal.class, "containerDemonPortal"); - GameRegistry.registerTileEntity(TESchematicSaver.class, "containerSchematicSaver"); - GameRegistry.registerTileEntity(TESpectralBlock.class, "containerSpectralBlock"); - GameRegistry.registerTileEntity(TEReagentConduit.class, "containerReagentConduit"); - GameRegistry.registerTileEntity(TEBellJar.class, "containerBellJar"); - GameRegistry.registerTileEntity(TEAlchemicCalcinator.class, "containerAlchemicCalcinator"); - //GameRegistry.registerBlock(ModBlocks.blockSpellEffect,"blockSpellEffect"); - ModBlocks.bloodRune.setHarvestLevel("pickaxe", 2); - ModBlocks.speedRune.setHarvestLevel("pickaxe", 2); - ModBlocks.efficiencyRune.setHarvestLevel("pickaxe", 2); - ModBlocks.runeOfSacrifice.setHarvestLevel("pickaxe", 2); - ModBlocks.runeOfSelfSacrifice.setHarvestLevel("pickaxe", 2); - ModBlocks.ritualStone.setHarvestLevel("pickaxe", 2); - ModBlocks.bloodSocket.setHarvestLevel("pickaxe", 2); - ModBlocks.ritualStone.setHarvestLevel("pickaxe", 2); - ModBlocks.imperfectRitualStone.setHarvestLevel("pickaxe", 2); - ModBlocks.blockMasterStone.setHarvestLevel("pickaxe", 2); - ModBlocks.emptySocket.setHarvestLevel("pickaxe", 2); - ModBlocks.bloodStoneBrick.setHarvestLevel("pickaxe", 0); - ModBlocks.largeBloodStoneBrick.setHarvestLevel("pickaxe", 0); - ModBlocks.blockWritingTable.setHarvestLevel("pickaxe", 1); - ModBlocks.blockHomHeart.setHarvestLevel("pickaxe", 1); - ModBlocks.blockPedestal.setHarvestLevel("pickaxe", 2); - ModBlocks.blockPlinth.setHarvestLevel("pickaxe", 2); - ModBlocks.blockTeleposer.setHarvestLevel("pickaxe", 2); - //Fuel handler - GameRegistry.registerFuelHandler(new AlchemicalWizardryFuelHandler()); - //EntityRegistry.registerModEntity(EnergyBlastProjectile.class, "BlasterProj", 0, this, 128, 5, true); - - //Gui registration - // NetworkRegistry.instance().registerGuiHandler(this, new GuiHandlerAltar()); - UpgradedAltars.loadAltars(); - SigilOfHolding.initiateSigilOfHolding(); - ArmourForge.initializeRecipes(); - TEPlinth.initialize(); - - this.initAlchemyPotionRecipes(); - this.initAltarRecipes(); - this.initRituals(); - this.initBindingRecipes(); - this.initHarvestRegistry(); - this.initCombinedAlchemyPotionRecipes(); - ReagentRegistry.initReagents(); - - //MinecraftForge.setToolClass(ModItems.boundPickaxe, "pickaxe", 5); - //MinecraftForge.setToolClass(ModItems.boundAxe, "axe", 5); - //MinecraftForge.setToolClass(ModItems.boundShovel, "shovel", 5); - MinecraftForge.EVENT_BUS.register(new ModLivingDropsEvent()); - proxy.InitRendering(); - NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler()); -// ItemStack[] comp = new ItemStack[5]; -// for(int i=0;i<5;i++) -// { -// comp[i] = redstoneStack; -// } -// AlchemyRecipeRegistry.registerRecipe(glowstoneDustStack, 2, comp, 2); - - ItemStack gunpowderStack = new ItemStack(Items.gunpowder); - - ItemStack offensaStack = new ItemStack(ModItems.baseAlchemyItems,1,0); - ItemStack praesidiumStack = new ItemStack(ModItems.baseAlchemyItems,1,1); - ItemStack orbisTerraeStack = new ItemStack(ModItems.baseAlchemyItems,1,2); - ItemStack strengthenedCatalystStack = new ItemStack(ModItems.baseAlchemyItems,1,3); - ItemStack concentratedCatalystStack = new ItemStack(ModItems.baseAlchemyItems,1,4); - ItemStack fracturedBoneStack = new ItemStack(ModItems.baseAlchemyItems,1,5); - ItemStack virtusStack = new ItemStack(ModItems.baseAlchemyItems,1,6); - ItemStack reductusStack = new ItemStack(ModItems.baseAlchemyItems,1,7); - ItemStack potentiaStack = new ItemStack(ModItems.baseAlchemyItems,1,8); - - ItemStack strengthenedCatalystStackCrafted = new ItemStack(ModItems.baseAlchemyItems,2,3); - ItemStack fracturedBoneStackCrafted = new ItemStack(ModItems.baseAlchemyItems,4,5); - - //TODO NEW RECIPES! - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.weakBindingAgent), 10, new ItemStack[]{simpleCatalystStack, simpleCatalystStack, new ItemStack(Items.clay_ball)}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.standardBindingAgent), 15, new ItemStack[]{new ItemStack(ModItems.weakBindingAgent), sanctusStack, new ItemStack(ModItems.crystallos)}, 3); - AlchemyRecipeRegistry.registerRecipe(simpleCatalystStack, 2, new ItemStack[]{sugarStack, redstoneStack, redstoneStack, glowstoneDustStack, new ItemStack(Items.gunpowder)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.incendium), 5, new ItemStack[]{lavaBucketStack, new ItemStack(Items.blaze_powder), new ItemStack(Items.blaze_powder), new ItemStack(Blocks.netherrack), simpleCatalystStack}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.aether), 5, new ItemStack[]{featherStack, featherStack, glowstoneDustStack, ghastTearStack, simpleCatalystStack}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.sanctus), 5, new ItemStack[]{glowstoneDustStack, new ItemStack(Items.gold_nugget), glowstoneDustStack, glassStack, simpleCatalystStack}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.crepitous), 5, new ItemStack[]{new ItemStack(Items.gunpowder), new ItemStack(Items.gunpowder), cobblestoneStack, cobblestoneStack, simpleCatalystStack}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.crystallos), 5, new ItemStack[]{new ItemStack(Blocks.ice), new ItemStack(Blocks.ice), new ItemStack(Blocks.snow), new ItemStack(Blocks.snow), simpleCatalystStack}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.terrae), 5, new ItemStack[]{new ItemStack(Blocks.dirt), new ItemStack(Blocks.sand), obsidianStack, obsidianStack, simpleCatalystStack}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.aquasalus), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Items.dye, 1, 0), new ItemStack(Items.potionitem, 1, 0), new ItemStack(Items.potionitem, 1, 0), new ItemStack(Items.potionitem, 1, 0)}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.tennebrae), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Items.coal), new ItemStack(Items.coal), new ItemStack(Blocks.obsidian), new ItemStack(Items.clay_ball)}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.magicales), 5, new ItemStack[]{redstoneStack, simpleCatalystStack, new ItemStack(Items.gunpowder), new ItemStack(Items.glowstone_dust), new ItemStack(Items.glowstone_dust)}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundanePowerCatalyst), 10, new ItemStack[]{glowstoneDustStack, glowstoneDustStack, glowstoneDustStack, 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.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.greaterLengtheningCatalyst), 30, new ItemStack[]{new ItemStack(ModItems.averageLengtheningCatalyst), new ItemStack(ModItems.averageLengtheningCatalyst), new ItemStack(ModItems.aquasalus)}, 4); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.weakFillingAgent), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Items.nether_wart), redstoneStack, glowstoneDustStack}, 3); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.standardFillingAgent), 10, new ItemStack[]{new ItemStack(ModItems.weakFillingAgent), new ItemStack(ModItems.terrae)}, 3); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.enhancedFillingAgent), 25, new ItemStack[]{new ItemStack(ModItems.standardFillingAgent), new ItemStack(ModItems.aquasalus), new ItemStack(ModItems.magicales)}, 4); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.activationCrystal, 1, 1), 100, new ItemStack[]{new ItemStack(ModItems.activationCrystal, 1, 0), new ItemStack(ModItems.demonBloodShard), incendiumStack, aquasalusStack, aetherStack}, 4); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.activationCrystal, 1, 1), 100, new ItemStack[]{new ItemStack(ModItems.activationCrystal, 1, 0), new ItemStack(Items.nether_star), incendiumStack, aquasalusStack, aetherStack}, 4); - - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.web),2,new ItemStack[]{new ItemStack(Items.string),new ItemStack(Items.string),new ItemStack(Items.string),new ItemStack(Items.string),new ItemStack(Items.string)},1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.gunpowder,2,0), 2, new ItemStack[]{gunpowderStack, new ItemStack(Items.coal), new ItemStack(Blocks.sand)}, 1); - - AlchemyRecipeRegistry.registerRecipe(strengthenedCatalystStackCrafted, 10, new ItemStack[]{simpleCatalystStack, simpleCatalystStack, new ItemStack(Items.dye,1,15), new ItemStack(Items.nether_wart)}, 3); - AlchemyRecipeRegistry.registerRecipe(offensaStack,10, new ItemStack[]{strengthenedCatalystStack,incendiumStack, new ItemStack(Items.arrow), new ItemStack(Items.flint), new ItemStack(Items.arrow)},3); - AlchemyRecipeRegistry.registerRecipe(praesidiumStack, 10, new ItemStack[]{strengthenedCatalystStack,tennebraeStack,ironIngotStack,new ItemStack(Blocks.web),redstoneStack}, 3); - AlchemyRecipeRegistry.registerRecipe(orbisTerraeStack, 10, new ItemStack[]{strengthenedCatalystStack,terraeStack, gunpowderStack, new ItemStack(Blocks.netherrack), new ItemStack(Blocks.sand)}, 3); - AlchemyRecipeRegistry.registerRecipe(concentratedCatalystStack,10,new ItemStack[]{strengthenedCatalystStack,fracturedBoneStack,goldNuggetStack},4); - AlchemyRecipeRegistry.registerRecipe(fracturedBoneStackCrafted, 2, new ItemStack[]{new ItemStack(Items.bone), new ItemStack(Items.bone),new ItemStack(Items.bone),new ItemStack(Items.bone), gunpowderStack},1); - AlchemyRecipeRegistry.registerRecipe(virtusStack,20, new ItemStack[]{redstoneStack, new ItemStack(Items.coal),strengthenedCatalystStack,redstoneStack,gunpowderStack}, 3); - AlchemyRecipeRegistry.registerRecipe(reductusStack,20,new ItemStack[]{redstoneStack, goldIngotStack, strengthenedCatalystStack,new ItemStack(Blocks.soul_sand), new ItemStack(Items.carrot)},3); - AlchemyRecipeRegistry.registerRecipe(potentiaStack,20, new ItemStack[]{glowstoneDustStack,strengthenedCatalystStack,lapisStack,lapisStack,new ItemStack(Items.quartz)}, 3); - - - HomSpellRegistry.registerBasicSpell(new ItemStack(Items.flint_and_steel), new SpellFireBurst()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.ice), new SpellFrozenWater()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.tnt), new SpellExplosions()); - HomSpellRegistry.registerBasicSpell(new ItemStack(ModItems.apprenticeBloodOrb), new SpellHolyBlast()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ghast_tear), new SpellWindGust()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Items.glowstone_dust), new SpellLightningBolt()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Items.water_bucket), new SpellWateryGrave()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.obsidian), new SpellEarthBender()); - HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ender_pearl), new SpellTeleport()); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityFallenAngelID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, aetherStack, tennebraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityLowerGuardianID), new ItemStack[]{cobblestoneStack, cobblestoneStack, terraeStack, tennebraeStack, new ItemStack(Items.iron_ingot), new ItemStack(Items.gold_nugget)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityBileDemonID), new ItemStack[]{new ItemStack(Items.poisonous_potato), tennebraeStack, terraeStack, new ItemStack(Items.porkchop), new ItemStack(Items.egg), new ItemStack(Items.beef)}, new ItemStack[]{crepitousStack, crepitousStack, terraeStack, ironBlockStack, ironBlockStack, diamondStack}, new ItemStack[]{}, 0, 5); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityWingedFireDemonID), new ItemStack[]{aetherStack, incendiumStack, incendiumStack, incendiumStack, tennebraeStack, new ItemStack(Blocks.netherrack)}, new ItemStack[]{diamondStack, new ItemStack(Blocks.gold_block), magicalesStack, magicalesStack, new ItemStack(Items.fire_charge), new ItemStack(Blocks.coal_block)}, new ItemStack[]{}, 0, 5); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entitySmallEarthGolemID), new ItemStack[]{new ItemStack(Items.clay_ball), terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityIceDemonID), new ItemStack[]{crystallosStack, crystallosStack, aquasalusStack, crystallosStack, sanctusStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityBoulderFistID), new ItemStack[]{terraeStack, sanctusStack, tennebraeStack, new ItemStack(Items.bone), new ItemStack(Items.cooked_beef), new ItemStack(Items.cooked_beef)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityShadeID), new ItemStack[]{tennebraeStack, tennebraeStack, tennebraeStack, aetherStack, glassStack, new ItemStack(Items.glass_bottle)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityAirElementalID), new ItemStack[]{aetherStack, aetherStack, aetherStack, aetherStack, aetherStack, aetherStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityWaterElementalID), new ItemStack[]{aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityEarthElementalID), new ItemStack[]{terraeStack, terraeStack, terraeStack, terraeStack, terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityFireElementalID), new ItemStack[]{incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityShadeElementalID), new ItemStack[]{tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityHolyElementalID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - //Custom mobs - EntityRegistry.registerModEntity(EntityFallenAngel.class, "FallenAngel", this.entityFallenAngelID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityLowerGuardian.class, "LowerGuardian", this.entityLowerGuardianID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityBileDemon.class, "BileDemon", this.entityBileDemonID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityWingedFireDemon.class, "WingedFireDemon", this.entityWingedFireDemonID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntitySmallEarthGolem.class, "SmallEarthGolem", this.entitySmallEarthGolemID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityIceDemon.class, "IceDemon", this.entityIceDemonID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityBoulderFist.class, "BoulderFist", this.entityBoulderFistID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityShade.class, "Shade", this.entityShadeID, this, 80, 3, true); - EntityRegistry.registerModEntity(EntityAirElemental.class, "AirElemental", this.entityAirElementalID, this, 120, 3, true); - EntityRegistry.registerModEntity(EntityWaterElemental.class, "WaterElemental", this.entityWaterElementalID, this, 120, 3, true); - EntityRegistry.registerModEntity(EntityEarthElemental.class, "EarthElemental", this.entityEarthElementalID, this, 120, 3, true); - EntityRegistry.registerModEntity(EntityFireElemental.class, "FireElemental", this.entityFireElementalID, this, 120, 3, true); - EntityRegistry.registerModEntity(EntityShadeElemental.class, "ShadeElemental", this.entityShadeElementalID, this, 120, 3, true); - EntityRegistry.registerModEntity(EntityHolyElemental.class, "HolyElemental", this.entityHolyElementalID, this, 120, 3, true); - //EntityRegistry.addSpawn(EntityFallenAngel.class, 5, 1, 5, EnumCreatureType.creature, BiomeGenBase.biomeList); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.standardBindingAgent), 1, 3, this.standardBindingAgentDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundanePowerCatalyst), 1, 1, this.mundanePowerCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundaneLengtheningCatalyst), 1, 1, this.mundaneLengtheningCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averagePowerCatalyst), 1, 1, this.averagePowerCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averageLengtheningCatalyst), 1, 1, this.averageLengtheningCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterPowerCatalyst), 1, 1, this.greaterPowerCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterLengtheningCatalyst), 1, 1, this.greaterLengtheningCatalystDungeonChance)); - //Ore Dictionary Registration - OreDictionary.registerOre("oreCoal", Blocks.coal_ore); - MeteorRegistry.registerMeteorParadigm(diamondStack, diamondMeteorArray, diamondMeteorRadius); - MeteorRegistry.registerMeteorParadigm(stoneStack, this.stoneMeteorArray, this.stoneMeteorRadius); - MeteorRegistry.registerMeteorParadigm(ironBlockStack, this.ironBlockMeteorArray, this.ironBlockMeteorRadius); - MeteorRegistry.registerMeteorParadigm(new ItemStack(Items.nether_star), this.netherStarMeteorArray, this.netherStarMeteorRadius); - - //Register spell component recipes - ItemStack complexSpellCrystalStack = new ItemStack(ModItems.itemComplexSpellCrystal); - ItemStack quartzRodStack = new ItemStack(ModItems.baseItems,1,0); - ItemStack emptyCoreStack = new ItemStack(ModItems.baseItems,1,1); - ItemStack magicalesCableStack = new ItemStack(ModItems.baseItems,1,2); - ItemStack woodBraceStack = new ItemStack(ModItems.baseItems,1,3); - ItemStack stoneBraceStack = new ItemStack(ModItems.baseItems,1,4); - ItemStack projectileCoreStack = new ItemStack(ModItems.baseItems,1,5); - ItemStack selfCoreStack = new ItemStack(ModItems.baseItems,1,6); - ItemStack meleeCoreStack = new ItemStack(ModItems.baseItems,1,7); - ItemStack toolCoreStack = new ItemStack(ModItems.baseItems,1,26); - ItemStack paradigmBackPlateStack = new ItemStack(ModItems.baseItems,1,8); - ItemStack outputCableStack = new ItemStack(ModItems.baseItems,1,9); - ItemStack flameCoreStack = new ItemStack(ModItems.baseItems,1,10); - ItemStack iceCoreStack = new ItemStack(ModItems.baseItems,1,11); - ItemStack windCoreStack = new ItemStack(ModItems.baseItems,1,12); - ItemStack earthCoreStack = new ItemStack(ModItems.baseItems,1,13); - ItemStack inputCableStack = new ItemStack(ModItems.baseItems,1,14); - ItemStack crackedRunicPlateStack = new ItemStack(ModItems.baseItems,1,15); - ItemStack runicPlateStack = new ItemStack(ModItems.baseItems,1,16); - ItemStack imbuedRunicPlateStack = new ItemStack(ModItems.baseItems,1,17); - ItemStack defaultCoreStack = new ItemStack(ModItems.baseItems,1,18); - ItemStack offenseCoreStack = new ItemStack(ModItems.baseItems,1,19); - ItemStack defensiveCoreStack = new ItemStack(ModItems.baseItems,1,20); - ItemStack environmentalCoreStack = new ItemStack(ModItems.baseItems,1,21); - ItemStack powerCoreStack = new ItemStack(ModItems.baseItems,1,22); - ItemStack costCoreStack = new ItemStack(ModItems.baseItems,1,23); - ItemStack potencyCoreStack = new ItemStack(ModItems.baseItems,1,24); - ItemStack obsidianBraceStack = new ItemStack(ModItems.baseItems,1,25); - - ItemStack magicalesCraftedCableStack = new ItemStack(ModItems.baseItems,5,2); - ItemStack crackedRunicPlateStackCrafted = new ItemStack(ModItems.baseItems,2,15); - ItemStack runicPlateStackCrafted = new ItemStack(ModItems.baseItems,2,16); - - GameRegistry.addRecipe(quartzRodStack, "qqq", 'q', new ItemStack(Items.quartz)); - GameRegistry.addRecipe(emptyCoreStack,"gig","nrn","gig",'n',goldIngotStack,'i',ironIngotStack,'g',glassStack,'r',simpleCatalystStack); - GameRegistry.addRecipe(magicalesCraftedCableStack,"sss","mmm","sss",'s',new ItemStack(Items.string),'m',magicalesStack); - GameRegistry.addRecipe(woodBraceStack," il","ili","li ",'l', new ItemStack(Blocks.log,1,craftingConstant),'i',new ItemStack(Items.string)); - GameRegistry.addRecipe(stoneBraceStack," is","isi","si ",'i', ironIngotStack,'s',reinforcedSlateStack); - GameRegistry.addRecipe(obsidianBraceStack," is","ibi","si ",'i', obsidianStack,'s',reinforcedSlateStack,'b',stoneBraceStack); - - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(projectileCoreStack, "mbm","aca","mom",'c', emptyCoreStack,'b',weakBloodShardStack,'m', magicalesStack,'o', magicianBloodOrbStack,'a',new ItemStack(Items.arrow))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(selfCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',sanctusStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',glowstoneDustStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(meleeCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',incendiumStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',new ItemStack(Items.fire_charge))); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(toolCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',terraeStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',new ItemStack(Blocks.obsidian))); - - GameRegistry.addRecipe(paradigmBackPlateStack,"isi","rgr","isi",'i',ironIngotStack,'r',stoneStack,'g',goldIngotStack,'s',reinforcedSlateStack); - GameRegistry.addRecipe(outputCableStack, " si","s c"," si",'s',stoneStack,'i',ironIngotStack,'c',simpleCatalystStack); - - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(flameCoreStack,"mdm","scs","mom",'m',incendiumStack,'c',emptyCoreStack,'o',magicianBloodOrbStack,'d',diamondStack,'s',weakBloodShardStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(iceCoreStack,"mdm","scs","mom",'m',crystallosStack,'c',emptyCoreStack,'o',magicianBloodOrbStack,'d',diamondStack,'s',weakBloodShardStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(windCoreStack,"mdm","scs","mom",'m',aetherStack,'c',emptyCoreStack,'o',magicianBloodOrbStack,'d',diamondStack,'s',weakBloodShardStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(earthCoreStack,"mdm","scs","mom",'m',terraeStack,'c',emptyCoreStack,'o',magicianBloodOrbStack,'d',diamondStack,'s',weakBloodShardStack)); - - GameRegistry.addRecipe(inputCableStack, "ws ","rcs","ws ",'w',blankSlateStack,'s',stoneStack,'r',imbuedSlateStack,'c',simpleCatalystStack); - - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(defaultCoreStack,"msm","geg","mom",'m', strengthenedCatalystStack,'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(offenseCoreStack,"msm","geg","mom",'m', offensaStack,'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(defensiveCoreStack,"msm","geg","mom",'m', praesidiumStack,'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(environmentalCoreStack,"msm","geg","mom",'m', orbisTerraeStack,'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(powerCoreStack,"msm","geg","mom",'m', virtusStack,'e', emptyCoreStack, 'o', masterBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(costCoreStack,"msm","geg","mom",'m', reductusStack,'e', emptyCoreStack, 'o', masterBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(potencyCoreStack,"msm","geg","mom",'m', potentiaStack,'e', emptyCoreStack, 'o', masterBloodOrbStack, 's',weakBloodShardStack, 'g', goldIngotStack)); - - AlchemyRecipeRegistry.registerRecipe(crackedRunicPlateStackCrafted, 10, new ItemStack[]{imbuedSlateStack,imbuedSlateStack,concentratedCatalystStack}, 4); - AlchemyRecipeRegistry.registerRecipe(runicPlateStack, 30, new ItemStack[]{crackedRunicPlateStack,terraeStack}, 5); - AlchemyRecipeRegistry.registerRecipe(imbuedRunicPlateStack, 100, new ItemStack[]{magicalesStack,incendiumStack,runicPlateStack, runicPlateStack,aquasalusStack}, 5); - AlchemyRecipeRegistry.registerRecipe(complexSpellCrystalStack,50,new ItemStack[]{new ItemStack(ModItems.blankSpell), weakBloodShardStack, weakBloodShardStack, diamondStack,goldIngotStack},3); - - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockConduit,1,0),"q q","ccc","q q",'q', quartzRodStack,'c', magicalesCableStack); - - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,0),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', projectileCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,1),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', selfCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,2),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', meleeCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,3),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', toolCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); - - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,0),"bgb","ico","bgb",'c',flameCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,1),"bgb","ico","bgb",'c',iceCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,2),"bgb","ico","bgb",'c',windCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,3),"bgb","ico","bgb",'c',earthCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack); - - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier,1,0),"bgb","ico","bgb",'c',defaultCoreStack,'i',inputCableStack,'o',outputCableStack,'b',stoneBraceStack,'g',ironIngotStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier,1,1),"bgb","ico","bgb",'c',offenseCoreStack,'i',inputCableStack,'o',outputCableStack,'b',stoneBraceStack,'g',ironIngotStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier,1,2),"bgb","ico","bgb",'c',defensiveCoreStack,'i',inputCableStack,'o',outputCableStack,'b',stoneBraceStack,'g',ironIngotStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier,1,3),"bgb","ico","bgb",'c',environmentalCoreStack,'i',inputCableStack,'o',outputCableStack,'b',stoneBraceStack,'g',ironIngotStack); - - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,0),"bpb","ico","bpb",'c', powerCoreStack,'b',woodBraceStack,'p',crackedRunicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,1),"bpb","ico","bpb",'c', powerCoreStack,'b',stoneBraceStack,'p',runicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,2),"bpb","ico","bpb",'c', powerCoreStack,'b',obsidianBraceStack,'p',imbuedRunicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,5),"bpb","ico","bpb",'c', costCoreStack,'b',woodBraceStack,'p',crackedRunicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,6),"bpb","ico","bpb",'c', costCoreStack,'b',stoneBraceStack,'p',runicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,7),"bpb","ico","bpb",'c', costCoreStack,'b',obsidianBraceStack,'p',imbuedRunicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,10),"bpb","ico","bpb",'c', potencyCoreStack,'b',woodBraceStack,'p',crackedRunicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,11),"bpb","ico","bpb",'c', potencyCoreStack,'b',stoneBraceStack,'p',runicPlateStack,'i',inputCableStack,'o',outputCableStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement,1,12),"bpb","ico","bpb",'c', potencyCoreStack,'b',obsidianBraceStack,'p',imbuedRunicPlateStack,'i',inputCableStack,'o',outputCableStack); - - GameRegistry.addRecipe(new ItemStack(ModItems.itemAttunedCrystal), "Sr ", " ar", "s S", 'r', quartzRodStack, 's', new ItemStack(Items.stick,1,craftingConstant), 'a', strengthenedCatalystStack, 'S', stoneStack); - GameRegistry.addRecipe(new ItemStack(ModItems.itemTankSegmenter), "gqi", " rq", "q g", 'q', quartzRodStack, 'i', ironIngotStack, 'r', strengthenedCatalystStack, 'g', goldIngotStack); - GameRegistry.addRecipe(new ItemStack(ModItems.itemDestinationClearer), "qcq", "c c", "qcq", 'q', quartzRodStack, 'c', simpleCatalystStack); - - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockAlchemicCalcinator), "pgp", "gsg", "ccc", 'p', crackedRunicPlateStack, 'g', glassStack, 's', strengthenedCatalystStack, 'c', cobblestoneStack); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockCrystalBelljar), "GGG", "GcG", "www", 'G', glassStack, 'c', concentratedCatalystStack, 'w', new ItemStack(Blocks.wooden_slab,1,craftingConstant)); - GameRegistry.addRecipe(new ItemStack(ModBlocks.blockReagentConduit), "isi", "scs", "isi", 'c', concentratedCatalystStack, 's', stringStack, 'i', ironIngotStack); - - GameRegistry.addShapelessRecipe(new ItemStack(Items.dye,5,15),fracturedBoneStack); - - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemSigilOfSupression),"wtl","wvl","wol",'v',new ItemStack(ModItems.voidSigil),'t',new ItemStack(ModBlocks.blockTeleposer),'o',masterBloodOrbStack,'l',lavaBucketStack,'w',waterBucketStack)); - GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemSigilOfEnderSeverance),"ptp","ese","pop",'s',new ItemStack(ModItems.demonicSlate),'t',weakBloodShardStack,'o',masterBloodOrbStack,'e',new ItemStack(Items.ender_eye),'p', new ItemStack(Items.ender_pearl))); - - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.flint,2,0), 1, new ItemStack[]{new ItemStack(Blocks.gravel),new ItemStack(Items.flint)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.grass), 2, new ItemStack[]{new ItemStack(Blocks.dirt),new ItemStack(Items.dye,1,15),new ItemStack(Items.wheat_seeds),new ItemStack(Items.wheat_seeds)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.leather,3,0), 2, new ItemStack[]{new ItemStack(Items.rotten_flesh),new ItemStack(Items.rotten_flesh),new ItemStack(Items.rotten_flesh),waterBucketStack,new ItemStack(Items.flint)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.bread), 1, new ItemStack[]{new ItemStack(Items.wheat),new ItemStack(Items.sugar)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.fire_charge,5,0), 3, new ItemStack[]{new ItemStack(Items.coal),new ItemStack(Items.blaze_powder),gunpowderStack}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.sand,2,0), 1, new ItemStack[]{new ItemStack(Blocks.cobblestone),gunpowderStack}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.clay,4,0), 2, new ItemStack[]{new ItemStack(Blocks.hardened_clay,1,craftingConstant),new ItemStack(Blocks.hardened_clay,1,craftingConstant),new ItemStack(Blocks.hardened_clay,1,craftingConstant),new ItemStack(Blocks.hardened_clay,1,craftingConstant),waterBucketStack}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.string,4,0), 1, new ItemStack[]{new ItemStack(Blocks.wool,1,craftingConstant),new ItemStack(Items.flint)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.gravel,2,0), 1, new ItemStack[]{new ItemStack(Blocks.stone),gunpowderStack}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.obsidian), 1, new ItemStack[]{waterBucketStack,lavaBucketStack}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.paper), 1, new ItemStack[]{new ItemStack(Items.reeds)}, 1); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.soul_sand,3,0), 3, new ItemStack[]{new ItemStack(Blocks.sand),new ItemStack(Blocks.sand),new ItemStack(Blocks.sand),waterBucketStack,weakBloodShardStack}, 3); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.mycelium,1,0), 5, new ItemStack[]{new ItemStack(Blocks.grass),new ItemStack(Blocks.brown_mushroom), new ItemStack(Blocks.red_mushroom)}, 2); - AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.ice), 2, new ItemStack[]{waterBucketStack,new ItemStack(Items.snowball)}, 1); - } - - @EventHandler - public void postInit(FMLPostInitializationEvent event) - { - //TODO Thaumcraft Integration - if (Loader.isModLoaded("Thaumcraft")) - { - this.isThaumcraftLoaded = true; - - try - { - //do stuff - ModItems.sanguineHelmet = new ItemSanguineArmour(0).setUnlocalizedName("sanguineHelmet"); - ModItems.sanguineRobe = new ItemSanguineArmour(1).setUnlocalizedName("sanguineRobe"); - ModItems.sanguinePants = new ItemSanguineArmour(2).setUnlocalizedName("sanguinePants"); - ModItems.sanguineBoots = new ItemSanguineArmour(3).setUnlocalizedName("sanguineBoots"); - GameRegistry.registerItem(ModItems.sanguineHelmet, "sanguineHelmet"); - GameRegistry.registerItem(ModItems.sanguineRobe, "sanguineRobe"); - GameRegistry.registerItem(ModItems.sanguinePants, "sanguinePants"); - GameRegistry.registerItem(ModItems.sanguineBoots, "sanguineBoots"); - - ItemStack itemGoggles = ItemApi.getItem("itemGoggles", 0); - Item itemThaumChest = GameRegistry.findItem("Thaumcraft", "ItemChestplateThaumium"); - Item itemThaumLeggings = GameRegistry.findItem("Thaumcraft", "ItemLeggingsThaumium"); - Item itemThaumBoots = GameRegistry.findItem("Thaumcraft", "ItemBootsThaumium"); - - AspectList aspectList = new AspectList(); - aspectList.add(Aspect.ARMOR, 5).add(Aspect.MAGIC, 5); - - ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguineHelmet), aspectList); - ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguineRobe), aspectList); - ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguinePants), aspectList); - ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguineBoots), aspectList); - - - - if (itemGoggles != null) - { - BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguineHelmet), itemGoggles); - } - - if(itemThaumChest != null) - { - BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguineRobe), new ItemStack(itemThaumChest)); - } - - if(itemThaumLeggings != null) - { - BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguinePants), new ItemStack(itemThaumLeggings)); - } - - if(itemThaumBoots != null) - { - BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguineBoots), new ItemStack(itemThaumBoots)); - } - - //LogHelper.log(Level.INFO, "Loaded RP2 World addon"); - } catch (Exception e) - { - //LogHelper.log(Level.SEVERE, "Could not load RP2 World addon"); - e.printStackTrace(System.err); - } - } else - { - this.isThaumcraftLoaded = false; - } - - if(Loader.isModLoaded("Forestry")) - { - this.isForestryLoaded = true; - -// ModItems.itemBloodFrame = new ItemBloodFrame(this.itemBloodFrameItemID).setUnlocalizedName("bloodFrame"); -// -// ItemStack provenFrame = GameRegistry.findItemStack("Forestry", "frameImpregnated", 1); -// -// if(provenFrame !=null) -// { -// AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.itemBloodFrame), provenFrame, 3, 30000, 20, 20, false); -// } - }else - { - this.isForestryLoaded = false; - } - - if(Loader.isModLoaded("harvestcraft")) - { - PamHarvestCompatRegistry.registerPamHandlers(); - System.out.println("Loaded Harvestcraft Handlers!"); - } - - BloodMagicConfiguration.loadBlacklist(); - } - - public static void initAlchemyPotionRecipes() - { - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.ghast_tear), Potion.regeneration.id, 450); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.golden_carrot), Potion.nightVision.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.magma_cream), Potion.fireResistance.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.water_bucket), Potion.waterBreathing.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.sugar), Potion.moveSpeed.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.speckled_melon), Potion.heal.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.spider_eye), Potion.poison.id, 450); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.dye,1,0), Potion.blindness.id, 450); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.fermented_spider_eye), Potion.weakness.id, 450); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.blaze_powder), Potion.damageBoost.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.aether), Potion.jump.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.clay_ball), Potion.moveSlowdown.id, 450); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.redstone), Potion.digSpeed.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.potionitem, 1, 0), AlchemicalWizardry.customPotionDrowning.id, 450); - //AlchemicalPotionCreationHandler.addPotion(new ItemStack(Item.goldenCarrot),Potion.nightVision.id,2*60*20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.glass_bottle), Potion.invisibility.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.diamond), Potion.resistance.id, 2 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.poisonous_potato), Potion.field_76443_y.id, 2); //saturation - AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.demonBloodShard), Potion.field_76434_w.id, 4 * 60 * 20); //health boost - AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.weakBloodShard), Potion.field_76444_x.id, 4 * 60 * 20); //Absorption - AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.terrae), AlchemicalWizardry.customPotionBoost.id, 1 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.feather), AlchemicalWizardry.customPotionFlight.id, 1 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.arrow), AlchemicalWizardry.customPotionReciprocation.id, 1 * 60 * 20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.ender_pearl),AlchemicalWizardry.customPotionPlanarBinding.id,1*60*20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Blocks.soul_sand),AlchemicalWizardry.customPotionSoulFray.id,60*20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.baseItems,1,16),AlchemicalWizardry.customPotionSoulHarden.id,60*20); - AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.slime_ball),AlchemicalWizardry.customPotionDeaf.id,60*20); - } - - public static void initAltarRecipes() - { - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.weakBloodOrb), new ItemStack(Items.diamond),1,2000,2,1,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.apprenticeBloodOrb), new ItemStack(Items.emerald),2,5000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.magicianBloodOrb), new ItemStack(Blocks.gold_block),3,25000,20,20,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.masterBloodOrb), new ItemStack(ModItems.weakBloodShard),4,40000,30,50,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.archmageBloodOrb), new ItemStack(ModItems.demonBloodShard),5,75000,50,100,false); - - AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.weakBloodOrb),1,2); - AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.apprenticeBloodOrb),2,5); - AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.magicianBloodOrb),3,15); - AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.masterBloodOrb),4,25); - AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.archmageBloodOrb),5,50); - - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.telepositionFocus), new ItemStack(Items.ender_pearl),4,2000,10,10,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.enhancedTelepositionFocus), new ItemStack(ModItems.telepositionFocus),4,10000,25,15,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.demonicSlate), new ItemStack(ModItems.imbuedSlate),4,15000,20,20,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.duskScribeTool), new ItemStack(Blocks.coal_block),4,2000,20,10,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModBlocks.bloodSocket), new ItemStack(ModBlocks.emptySocket),3,30000,40,10,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.earthScribeTool), new ItemStack(Blocks.obsidian),3,1000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.waterScribeTool), new ItemStack(Blocks.lapis_block),3,1000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.blankSpell), new ItemStack(Blocks.glass),2,1000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.blankSlate), new ItemStack(Blocks.stone),1,1000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.activationCrystal), new ItemStack(ModItems.lavaCrystal),3,10000,20,10,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.fireScribeTool), new ItemStack(Items.magma_cream),3,1000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.airScribeTool), new ItemStack(Items.ghast_tear),3,1000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.imbuedSlate), new ItemStack(ModItems.reinforcedSlate),3,5000,15,10,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.daggerOfSacrifice), new ItemStack(Items.iron_sword),2,3000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.alchemyFlask), new ItemStack(Items.glass_bottle),2,2000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.reinforcedSlate), new ItemStack(ModItems.blankSlate),2,2000,5,5,false); - AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.bucketLife), new ItemStack(Items.bucket),1,1000,5,0,false); - } - - public static void initRituals() - { - Rituals.registerRitual("AW001Water", 1, 500, new RitualEffectWater(), "Ritual of the Full Spring", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,30,255,255,0,0.501,0.8,0, 1.5, false)); - Rituals.registerRitual("AW002Lava", 1, 10000, new RitualEffectLava(), "Serenade of the Nether", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),255,0,0,255,0,0.501,0.8,0, 1.5, false)); - Rituals.registerRitual("AW003GreenGrove", 1, 1000, new RitualEffectGrowth(), "Ritual of the Green Grove", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),244,164,96,255,0,1.0,1.6,0, 1.5, false)); - Rituals.registerRitual("AW004Interdiction", 1, 1000, new RitualEffectInterdiction(), "Interdiction Ritual", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),27,227,206,255,0,0.501,0.8, 0, 1.5, false)); - Rituals.registerRitual("AW005Containment", 1, 2000, new RitualEffectContainment(), "Ritual of Containment", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),186,21,21,255,0,2.5, 2.5, 0, 2.5, false)); - Rituals.registerRitual("AW006Binding", 1, 5000, new RitualEffectSoulBound(), "Ritual of Binding", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/TransCircleBinding.png"),193,7,7,255,0,0.501,1.0,0, 2.5, true)); - Rituals.registerRitual("AW007Unbinding", 1, 30000, new RitualEffectUnbinding(), "Ritual of Unbinding", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),193,7,7,255, 0, 0.5, 0.8, 0, 2.5, false)); - Rituals.registerRitual("AW008HighJump", 1, 1000, new RitualEffectJumping(), "Ritual of the High Jump", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),10,183,173,255, 0, 0.501, 1.501, 0, 1.5, false)); - Rituals.registerRitual("AW009Magnetism", 1, 5000, new RitualEffectMagnetic(), "Ritual of Magnetism", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),126,39,0,255, 0, 0.501, 2.0, 0, 1.5, false)); - Rituals.registerRitual("AW010Crusher", 1, 2500, new RitualEffectCrushing(), "Ritual of the Crusher", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW011Speed", 1, 1000, new RitualEffectLeap(), "Ritual of Speed", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW012AnimalGrowth", 1, 10000, new RitualEffectAnimalGrowth(), "Ritual of the Shepherd", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW013Suffering", 1, 50000, new RitualEffectWellOfSuffering(), "Well of Suffering", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/TransCircleSuffering.png"),0,0,0,255,0,0.501,0.8,0, 2.5, true)); - Rituals.registerRitual("AW014Regen", 1, 25000, new RitualEffectHealing(), "Ritual of Regeneration", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW015FeatheredKnife", 1, 50000, new RitualEffectFeatheredKnife(), "Ritual of the Feathered Knife", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW016FeatheredEarth", 2, 100000, new RitualEffectFeatheredEarth(), "Ritual of the Feathered Earth", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW017Gaia", 2, 1000000, new RitualEffectBiomeChanger(), "Ritual of Gaia's Transformation", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW018Condor", 2, 1000000, new RitualEffectFlight(), "Reverence of the Condor", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW019FallingTower", 2, 1000000, new RitualEffectSummonMeteor(), "Mark of the Falling Tower", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW020BalladOfAlchemy", 1, 20000, new RitualEffectAutoAlchemy(), "Ballad of Alchemy", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW021Expulsion", 1, 1000000, new RitualEffectExpulsion(), "Aura of Expulsion", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW022Supression", 1, 10000, new RitualEffectSupression(), "Dome of Supression", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW023Zephyr", 1, 25000, new RitualEffectItemSuction(),"Call of the Zephyr", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW024Harvest", 1, 20000, new RitualEffectHarvest(), "Reap of the Harvest Moon", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW025Conduit", 2, 2000000, new RitualEffectLifeConduit(), "Cry of the Eternal Soul", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW026Ellipsoid", 1, 25000, new RitualEffectEllipsoid(), "Focus of the Ellipsoid", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW027Evaporation", 1, 20000, new RitualEffectEvaporation(), "Song of Evaporation", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW028SpawnWard", 1, 150000, new RitualEffectSpawnWard(), "Ward of Sacrosanctity", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW029VeilOfEvil", 1, 150000, new RitualEffectVeilOfEvil(), "Veil of Evil", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW030FullStomach", 1, 100000, new RitualEffectFullStomach(), "Requiem of the Satiated Stomach", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - //Rituals.registerRitual(1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); - } - - public static void initBindingRecipes() - { - BindingRegistry.registerRecipe(new ItemStack(ModItems.boundPickaxe), new ItemStack(Items.diamond_pickaxe)); - BindingRegistry.registerRecipe(new ItemStack(ModItems.boundAxe), new ItemStack(Items.diamond_axe)); - BindingRegistry.registerRecipe(new ItemStack(ModItems.boundShovel), new ItemStack(Items.diamond_shovel)); - BindingRegistry.registerRecipe(new ItemStack(ModItems.energySword), new ItemStack(Items.diamond_sword)); - BindingRegistry.registerRecipe(new ItemStack(ModItems.energyBlaster), new ItemStack(ModItems.apprenticeBloodOrb)); - } - - public static void initHarvestRegistry() - { - HarvestRegistry.registerHarvestHandler(new BloodMagicHarvestHandler()); - HarvestRegistry.registerHarvestHandler(new GourdHarvestHandler()); - HarvestRegistry.registerHarvestHandler(new CactusReedHarvestHandler()); - } - - public static void initCombinedAlchemyPotionRecipes() - { - CombinedPotionRegistry.registerCombinedPotionRecipe(customPotionFlameCloak, Potion.moveSpeed, Potion.regeneration); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java b/src-backup/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java deleted file mode 100644 index 4e581591..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java +++ /dev/null @@ -1,147 +0,0 @@ -package WayofTime.alchemicalWizardry; - -import java.io.File; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.List; -import java.util.Map.Entry; - -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLivingBase; -import net.minecraftforge.common.config.Configuration; -import WayofTime.alchemicalWizardry.client.renderer.ColourThreshold; -import WayofTime.alchemicalWizardry.client.renderer.RenderHelper; -import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorParadigm; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.relauncher.Side; - -/** - * Created with IntelliJ IDEA. - * User: Pokefenn - * Date: 17/01/14 - * Time: 19:50 - */ -public class BloodMagicConfiguration -{ - private static final String DEFAULT_COLOR_LIST = "100,f; 80,7; 60,e; 40,6; 25,c; 10,4"; - public static final List colorList = new ArrayList(); - - public static Configuration config; - public static final String CATEGORY_GAMEPLAY = "gameplay"; - - - public static void init(File configFile) - { - for (String s : DEFAULT_COLOR_LIST.split(";")) - { - String[] ct = s.split(","); - colorList.add(new ColourThreshold(Integer.valueOf(ct[0].trim()), ct[1].trim())); - } - - - config = new Configuration(configFile); - - try - { - - config.load(); - - AlchemicalWizardry.standardBindingAgentDungeonChance = config.get("Dungeon Loot Chances", "standardBindingAgent", 30).getInt(); - AlchemicalWizardry.mundanePowerCatalystDungeonChance = config.get("Dungeon Loot Chances", "mundanePowerCatalyst", 20).getInt(); - AlchemicalWizardry.averagePowerCatalystDungeonChance = config.get("Dungeon Loot Chances", "averagePowerCatalyst", 10).getInt(); - AlchemicalWizardry.greaterPowerCatalystDungeonChance = config.get("Dungeon Loot Chances", "greaterPowerCatalyst", 05).getInt(); - AlchemicalWizardry.mundaneLengtheningCatalystDungeonChance = config.get("Dungeon Loot Chances", "mundaneLengtheningCatalyst", 20).getInt(); - AlchemicalWizardry.averageLengtheningCatalystDungeonChance = config.get("Dungeon Loot Chances", "averageLengtheningCatalyst", 10).getInt(); - AlchemicalWizardry.greaterLengtheningCatalystDungeonChance = config.get("Dungeon Loot Chances", "greaterLengtheningCatalyst", 05).getInt(); - AlchemicalWizardry.customPotionDrowningID = config.get("Potion ID", "Drowning", 100).getInt(); - AlchemicalWizardry.customPotionBoostID = config.get("Potion ID", "Boost", 101).getInt(); - AlchemicalWizardry.customPotionProjProtID = config.get("Potion ID", "ProjProt", 102).getInt(); - AlchemicalWizardry.customPotionInhibitID = config.get("Potion ID", "Inhibit", 103).getInt(); - AlchemicalWizardry.customPotionFlightID = config.get("Potion ID", "Flight", 104).getInt(); - AlchemicalWizardry.customPotionReciprocationID = config.get("Potion ID", "Reciprocation", 105).getInt(); - AlchemicalWizardry.customPotionFlameCloakID = config.get("Potion ID","FlameCloak",106).getInt(); - AlchemicalWizardry.customPotionIceCloakID = config.get("Potion ID","IceCloak",107).getInt(); - AlchemicalWizardry.customPotionHeavyHeartID = config.get("Potion ID","HeavyHeart",108).getInt(); - AlchemicalWizardry.customPotionFireFuseID = config.get("Potion ID","FireFuse",109).getInt(); - AlchemicalWizardry.customPotionPlanarBindingID = config.get("Potion ID","PlanarBinding",110).getInt(); - AlchemicalWizardry.customPotionSoulFrayID = config.get("Potion ID","SoulFray",111).getInt(); - AlchemicalWizardry.customPotionSoulHardenID = config.get("Potion ID", "SoulHarden", 112).getInt(); - AlchemicalWizardry.customPotionDeafID = config.get("Potion ID", "Deaf", 113).getInt(); - AlchemicalWizardry.customPotionFeatherFallID = config.get("Potion ID", "FeatherFall", 114).getInt(); - - MeteorParadigm.maxChance = config.get("meteor", "maxChance", 1000).getInt(); - AlchemicalWizardry.doMeteorsDestroyBlocks = config.get("meteor", "doMeteorsDestroyBlocks", true).getBoolean(true); - AlchemicalWizardry.diamondMeteorArray = config.get("meteor", "diamondMeteor", new String[]{"oreDiamond", "100", "oreEmerald", "75", "oreCinnabar", "200", "oreAmber", "200"}).getStringList(); - AlchemicalWizardry.diamondMeteorRadius = config.get("meteor", "diamondMeteorRadius", 5).getInt(); - AlchemicalWizardry.stoneMeteorArray = config.get("meteor", "stoneBlockMeteor", new String[]{"oreCoal", "150", "oreApatite", "50", "oreIron", "50"}).getStringList(); - AlchemicalWizardry.stoneMeteorRadius = config.get("meteor", "stoneMeteorRadius", 16).getInt(); - AlchemicalWizardry.ironBlockMeteorArray = config.get("meteor", "ironBlockMeteor", new String[]{"oreIron", "400", "oreGold", "30", "oreCopper", "200", "oreTin", "140", "oreSilver", "70", "oreLead", "80", "oreLapis", "60", "oreRedstone", "100"}).getStringList(); - AlchemicalWizardry.ironBlockMeteorRadius = config.get("meteor", "ironBlockMeteorRadius", 7).getInt(); - AlchemicalWizardry.netherStarMeteorArray = config.get("meteor", "netherStarMeteor", new String[]{"oreDiamond", "150", "oreEmerald", "100", "oreQuartz", "250", "oreSunstone", "5", "oreMoonstone", "50", "oreIridium", "5", "oreCertusQuartz", "150"}).getStringList(); - AlchemicalWizardry.netherStarMeteorRadius = config.get("meteor", "netherStarMeteorRadius", 3).getInt(); - - AlchemicalWizardry.allowedCrushedOresArray = config.get("oreCrushing", "allowedOres", new String[]{"iron","gold","copper","tin","lead","silver","osmium"}).getStringList(); - - AlchemicalWizardry.wimpySettings = config.get("WimpySettings","IDontLikeFun",false).getBoolean(false); - AlchemicalWizardry.respawnWithDebuff = config.get("WimpySettings", "RespawnWithDebuff", true).getBoolean(); - AlchemicalWizardry.causeHungerWithRegen = config.get("WimpySettings", "causeHungerWithRegen", true).getBoolean(); -// AlchemicalWizardry.lockdownAltar = config.get("WimpySettings", "LockdownAltarWithRegen", true).getBoolean(); - AlchemicalWizardry.lockdownAltar = false; - - Side side = FMLCommonHandler.instance().getSide(); - if(side == Side.CLIENT) - { - RenderHelper.xOffset = config.get("ClientSettings", "AlchemyHUDxOffset", 50).getInt(); - RenderHelper.yOffset = config.get("ClientSettings", "AlchemyHUDyOffset", 2).getInt(); - } - - - } catch (Exception e) - { - - //TODO Log - //FMLLog.log(Level.SEVERE, e, "Blood Magic" + " has had a problem loading its configuration, go ask on the forums :p"); - - } finally - { - config.save(); - } - } - - public static void set(String categoryName, String propertyName, String newValue) - { - - config.load(); - if (config.getCategoryNames().contains(categoryName)) - { - if (config.getCategory(categoryName).containsKey(propertyName)) - { - config.getCategory(categoryName).get(propertyName).set(newValue); - } - } - config.save(); - - - } - - public static void loadBlacklist() - { - AlchemicalWizardry.wellBlacklist=new ArrayList(); - for( Object o : EntityList.stringToClassMapping.entrySet()) - { - Entry entry=(Entry) o; - Class curClass=(Class)entry.getValue(); - boolean valid=EntityLivingBase.class.isAssignableFrom(curClass) && !Modifier.isAbstract(curClass.getModifiers()); - if(valid) - { - boolean blacklisted=config.get("wellOfSufferingBlackList", entry.getKey().toString(), false).getBoolean(); - if(blacklisted) - AlchemicalWizardry.wellBlacklist.add(curClass); - } - - } - config.save(); - } - - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/ModBlocks.java b/src-backup/main/java/WayofTime/alchemicalWizardry/ModBlocks.java deleted file mode 100644 index 6c29b331..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/ModBlocks.java +++ /dev/null @@ -1,174 +0,0 @@ -package WayofTime.alchemicalWizardry; - -import net.minecraft.block.Block; -import WayofTime.alchemicalWizardry.common.block.ArmourForge; -import WayofTime.alchemicalWizardry.common.block.BlockAlchemicCalcinator; -import WayofTime.alchemicalWizardry.common.block.BlockAltar; -import WayofTime.alchemicalWizardry.common.block.BlockBelljar; -import WayofTime.alchemicalWizardry.common.block.BlockBloodLightSource; -import WayofTime.alchemicalWizardry.common.block.BlockConduit; -import WayofTime.alchemicalWizardry.common.block.BlockDemonPortal; -import WayofTime.alchemicalWizardry.common.block.BlockHomHeart; -import WayofTime.alchemicalWizardry.common.block.BlockMasterStone; -import WayofTime.alchemicalWizardry.common.block.BlockPedestal; -import WayofTime.alchemicalWizardry.common.block.BlockPlinth; -import WayofTime.alchemicalWizardry.common.block.BlockReagentConduit; -import WayofTime.alchemicalWizardry.common.block.BlockSchematicSaver; -import WayofTime.alchemicalWizardry.common.block.BlockSocket; -import WayofTime.alchemicalWizardry.common.block.BlockSpectralContainer; -import WayofTime.alchemicalWizardry.common.block.BlockSpellEffect; -import WayofTime.alchemicalWizardry.common.block.BlockSpellEnhancement; -import WayofTime.alchemicalWizardry.common.block.BlockSpellModifier; -import WayofTime.alchemicalWizardry.common.block.BlockSpellParadigm; -import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; -import WayofTime.alchemicalWizardry.common.block.BlockWritingTable; -import WayofTime.alchemicalWizardry.common.block.BloodRune; -import WayofTime.alchemicalWizardry.common.block.BloodStoneBrick; -import WayofTime.alchemicalWizardry.common.block.EfficiencyRune; -import WayofTime.alchemicalWizardry.common.block.EmptySocket; -import WayofTime.alchemicalWizardry.common.block.ImperfectRitualStone; -import WayofTime.alchemicalWizardry.common.block.LargeBloodStoneBrick; -import WayofTime.alchemicalWizardry.common.block.LifeEssenceBlock; -import WayofTime.alchemicalWizardry.common.block.RitualStone; -import WayofTime.alchemicalWizardry.common.block.RuneOfSacrifice; -import WayofTime.alchemicalWizardry.common.block.RuneOfSelfSacrifice; -import WayofTime.alchemicalWizardry.common.block.SpectralBlock; -import WayofTime.alchemicalWizardry.common.block.SpeedRune; -import WayofTime.alchemicalWizardry.common.items.ItemBlockCrystalBelljar; -import WayofTime.alchemicalWizardry.common.items.ItemBloodRuneBlock; -import WayofTime.alchemicalWizardry.common.items.ItemSpellEffectBlock; -import WayofTime.alchemicalWizardry.common.items.ItemSpellEnhancementBlock; -import WayofTime.alchemicalWizardry.common.items.ItemSpellModifierBlock; -import WayofTime.alchemicalWizardry.common.items.ItemSpellParadigmBlock; -import cpw.mods.fml.common.registry.GameRegistry; - -/** - * Created with IntelliJ IDEA. - * User: Pokefenn - * Date: 17/01/14 - * Time: 19:48 - */ -public class ModBlocks -{ - - public static Block testingBlock; - public static Block bloodStoneBrick; - public static Block largeBloodStoneBrick; - // public static Block lifeEssenceStill; -// public static Block lifeEssenceFlowing; - public static BlockAltar blockAltar; - public static BloodRune bloodRune; - public static SpeedRune speedRune; - public static EfficiencyRune efficiencyRune; - public static RuneOfSacrifice runeOfSacrifice; - public static RuneOfSelfSacrifice runeOfSelfSacrifice; - public static Block blockMasterStone; - public static Block ritualStone; - public static Block imperfectRitualStone; - public static Block bloodSocket; - public static Block emptySocket; - public static Block armourForge; - public static Block blockWritingTable; - public static Block blockHomHeart; - public static Block blockPedestal; - public static Block blockPlinth; - public static Block blockLifeEssence; - public static Block blockTeleposer; - public static Block spectralBlock; - public static Block blockConduit; - public static Block blockBloodLight; - public static Block blockSpellEffect; - public static Block blockSpellParadigm; - public static Block blockSpellModifier; - public static Block blockSpellEnhancement; - public static Block blockSpectralContainer; - public static Block blockBuildingSchematicSaver; - public static Block blockDemonPortal; - public static Block blockReagentConduit; - public static Block blockAlchemicCalcinator; - public static Block blockCrystalBelljar; - - public static void init() - { - blockAltar = new BlockAltar(); - bloodRune = new BloodRune(); - speedRune = new SpeedRune(); - efficiencyRune = new EfficiencyRune(); - runeOfSacrifice = new RuneOfSacrifice(); - runeOfSelfSacrifice = new RuneOfSelfSacrifice(); - - blockTeleposer = new BlockTeleposer(); - spectralBlock = new SpectralBlock(); - ritualStone = new RitualStone(); - blockMasterStone = new BlockMasterStone(); - imperfectRitualStone = new ImperfectRitualStone(); - bloodSocket = new BlockSocket(); - armourForge = new ArmourForge(); - emptySocket = new EmptySocket(); - largeBloodStoneBrick = new LargeBloodStoneBrick(); - bloodStoneBrick = new BloodStoneBrick(); - blockWritingTable = new BlockWritingTable(); - blockHomHeart = new BlockHomHeart(); - blockPedestal = new BlockPedestal(); - blockPlinth = new BlockPlinth(); - blockConduit = new BlockConduit(); - blockBloodLight = new BlockBloodLightSource(); - blockSpellEffect = new BlockSpellEffect(); - blockSpellParadigm = new BlockSpellParadigm(); - blockSpellModifier = new BlockSpellModifier(); - blockSpellEnhancement = new BlockSpellEnhancement(); - blockSpectralContainer = new BlockSpectralContainer(); - blockDemonPortal = new BlockDemonPortal(); - blockBuildingSchematicSaver = new BlockSchematicSaver(); - blockReagentConduit = new BlockReagentConduit(); - blockAlchemicCalcinator = new BlockAlchemicCalcinator(); - blockCrystalBelljar = new BlockBelljar(); - - blockLifeEssence = new LifeEssenceBlock(); - } - - public static void registerBlocksInPre() - { - GameRegistry.registerBlock(ModBlocks.blockAltar, "Altar"); - GameRegistry.registerBlock(ModBlocks.bloodRune, ItemBloodRuneBlock.class, "AlchemicalWizardry" + (ModBlocks.bloodRune.getUnlocalizedName().substring(5))); - GameRegistry.registerBlock(ModBlocks.blockLifeEssence, "lifeEssence"); - GameRegistry.registerBlock(ModBlocks.speedRune, "speedRune"); - GameRegistry.registerBlock(ModBlocks.efficiencyRune, "efficiencyRune"); - GameRegistry.registerBlock(ModBlocks.runeOfSacrifice, "runeOfSacrifice"); - GameRegistry.registerBlock(ModBlocks.runeOfSelfSacrifice, "runeOfSelfSacrifice"); - GameRegistry.registerBlock(ModBlocks.ritualStone, "ritualStone"); - GameRegistry.registerBlock(ModBlocks.blockMasterStone, "masterStone"); - GameRegistry.registerBlock(ModBlocks.bloodSocket, "bloodSocket"); - GameRegistry.registerBlock(ModBlocks.imperfectRitualStone, "imperfectRitualStone"); - - GameRegistry.registerBlock(ModBlocks.armourForge, "armourForge"); - GameRegistry.registerBlock(ModBlocks.emptySocket, "emptySocket"); - GameRegistry.registerBlock(ModBlocks.bloodStoneBrick, "bloodStoneBrick"); - GameRegistry.registerBlock(ModBlocks.largeBloodStoneBrick, "largeBloodStoneBrick"); - GameRegistry.registerBlock(ModBlocks.blockWritingTable, "blockWritingTable"); - GameRegistry.registerBlock(ModBlocks.blockHomHeart, "blockHomHeart"); - GameRegistry.registerBlock(ModBlocks.blockPedestal, "blockPedestal"); - GameRegistry.registerBlock(ModBlocks.blockPlinth, "blockPlinth"); - GameRegistry.registerBlock(ModBlocks.blockTeleposer, "blockTeleposer"); - GameRegistry.registerBlock(ModBlocks.spectralBlock, "spectralBlock"); - GameRegistry.registerBlock(ModBlocks.blockBloodLight, "bloodLight"); - - GameRegistry.registerBlock(ModBlocks.blockConduit,"blockConduit"); - GameRegistry.registerBlock(ModBlocks.blockSpellParadigm, ItemSpellParadigmBlock.class, "AlchemicalWizardry" + (ModBlocks.blockSpellParadigm.getUnlocalizedName())); - GameRegistry.registerBlock(ModBlocks.blockSpellEnhancement, ItemSpellEnhancementBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellEnhancement.getUnlocalizedName())); - GameRegistry.registerBlock(ModBlocks.blockSpellModifier, ItemSpellModifierBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellModifier.getUnlocalizedName())); - GameRegistry.registerBlock(ModBlocks.blockSpellEffect, ItemSpellEffectBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellEffect.getUnlocalizedName())); - - GameRegistry.registerBlock(ModBlocks.blockSpectralContainer, "spectralContainer"); - GameRegistry.registerBlock(ModBlocks.blockDemonPortal, "demonPortalMain"); - GameRegistry.registerBlock(ModBlocks.blockBuildingSchematicSaver, "blockSchemSaver"); - GameRegistry.registerBlock(ModBlocks.blockReagentConduit, "blockReagentConduit"); - GameRegistry.registerBlock(ModBlocks.blockAlchemicCalcinator, "blockAlchemicCalcinator"); - GameRegistry.registerBlock(ModBlocks.blockCrystalBelljar, ItemBlockCrystalBelljar.class, "blockCrystalBelljar"); - } - - public static void registerBlocksInInit() - { - //GameRegistry.registerBlock(ModBlocks.blockLifeEssence, "lifeEssence"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/ModItems.java b/src-backup/main/java/WayofTime/alchemicalWizardry/ModItems.java deleted file mode 100644 index b7f2fcfa..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/ModItems.java +++ /dev/null @@ -1,384 +0,0 @@ -package WayofTime.alchemicalWizardry; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import WayofTime.alchemicalWizardry.common.items.AWBaseItems; -import WayofTime.alchemicalWizardry.common.items.ActivationCrystal; -import WayofTime.alchemicalWizardry.common.items.AirScribeTool; -import WayofTime.alchemicalWizardry.common.items.ApprenticeBloodOrb; -import WayofTime.alchemicalWizardry.common.items.ArchmageBloodOrb; -import WayofTime.alchemicalWizardry.common.items.ArmourInhibitor; -import WayofTime.alchemicalWizardry.common.items.BlankSpell; -import WayofTime.alchemicalWizardry.common.items.BloodShard; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; -import WayofTime.alchemicalWizardry.common.items.BoundAxe; -import WayofTime.alchemicalWizardry.common.items.BoundPickaxe; -import WayofTime.alchemicalWizardry.common.items.BoundShovel; -import WayofTime.alchemicalWizardry.common.items.CheatyItem; -import WayofTime.alchemicalWizardry.common.items.DaggerOfSacrifice; -import WayofTime.alchemicalWizardry.common.items.DemonPlacer; -import WayofTime.alchemicalWizardry.common.items.DemonicTelepositionFocus; -import WayofTime.alchemicalWizardry.common.items.DuskScribeTool; -import WayofTime.alchemicalWizardry.common.items.EarthScribeTool; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.items.EnergyBazooka; -import WayofTime.alchemicalWizardry.common.items.EnergyBlast; -import WayofTime.alchemicalWizardry.common.items.EnergySword; -import WayofTime.alchemicalWizardry.common.items.EnhancedTelepositionFocus; -import WayofTime.alchemicalWizardry.common.items.FireScribeTool; -import WayofTime.alchemicalWizardry.common.items.ItemAlchemyBase; -import WayofTime.alchemicalWizardry.common.items.ItemComplexSpellCrystal; -import WayofTime.alchemicalWizardry.common.items.ItemComponents; -import WayofTime.alchemicalWizardry.common.items.ItemDiabloKey; -import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner; -import WayofTime.alchemicalWizardry.common.items.LavaCrystal; -import WayofTime.alchemicalWizardry.common.items.LifeBucket; -import WayofTime.alchemicalWizardry.common.items.MagicianBloodOrb; -import WayofTime.alchemicalWizardry.common.items.MasterBloodOrb; -import WayofTime.alchemicalWizardry.common.items.ReinforcedTelepositionFocus; -import WayofTime.alchemicalWizardry.common.items.SacrificialDagger; -import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; -import WayofTime.alchemicalWizardry.common.items.WaterScribeTool; -import WayofTime.alchemicalWizardry.common.items.energy.ItemAttunedCrystal; -import WayofTime.alchemicalWizardry.common.items.energy.ItemDestinationClearer; -import WayofTime.alchemicalWizardry.common.items.energy.ItemTankSegmenter; -import WayofTime.alchemicalWizardry.common.items.potion.AlchemyFlask; -import WayofTime.alchemicalWizardry.common.items.potion.AlchemyReagent; -import WayofTime.alchemicalWizardry.common.items.potion.AverageLengtheningCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.AveragePowerCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.CombinationalCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.EnhancedFillingAgent; -import WayofTime.alchemicalWizardry.common.items.potion.GreaterLengtheningCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.GreaterPowerCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.MundaneLengtheningCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.MundanePowerCatalyst; -import WayofTime.alchemicalWizardry.common.items.potion.StandardBindingAgent; -import WayofTime.alchemicalWizardry.common.items.potion.StandardFillingAgent; -import WayofTime.alchemicalWizardry.common.items.potion.WeakBindingAgent; -import WayofTime.alchemicalWizardry.common.items.potion.WeakFillingAgent; -import WayofTime.alchemicalWizardry.common.items.sigil.AirSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.ItemBloodLightSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.ItemFluidSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.ItemSeerSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.ItemSigilOfEnderSeverance; -import WayofTime.alchemicalWizardry.common.items.sigil.ItemSigilOfSupression; -import WayofTime.alchemicalWizardry.common.items.sigil.LavaSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfElementalAffinity; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfGrowth; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHaste; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfMagnetism; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfTheBridge; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfTheFastMiner; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfWind; -import WayofTime.alchemicalWizardry.common.items.sigil.VoidSigil; -import WayofTime.alchemicalWizardry.common.items.sigil.WaterSigil; -import WayofTime.alchemicalWizardry.common.items.spell.ItemSpellMultiTool; -import cpw.mods.fml.common.registry.GameRegistry; - -/** - * Created with IntelliJ IDEA. - * User: Pokefenn - * Date: 17/01/14 - * Time: 19:48 - */ -public class ModItems -{ - public static Item weakBloodOrb; - public static Item apprenticeBloodOrb; - public static Item magicianBloodOrb; - public static Item energyBlaster; - public static Item energySword; - public static Item lavaCrystal; - public static Item waterSigil; - public static Item lavaSigil; - public static Item voidSigil; - public static Item blankSlate; - public static Item reinforcedSlate; - public static Item sacrificialDagger; - public static Item daggerOfSacrifice; - public static Item airSigil; - public static Item sigilOfTheFastMiner; - public static Item sigilOfElementalAffinity; - public static Item sigilOfHaste; - public static Item sigilOfHolding; - public static Item divinationSigil; - public static Item waterScribeTool; - public static Item fireScribeTool; - public static Item earthScribeTool; - public static Item airScribeTool; - public static Item activationCrystal; - public static Item boundPickaxe; - public static Item boundAxe; - public static Item boundShovel; - public static Item boundHelmet; - public static Item boundPlate; - public static Item boundLeggings; - public static Item boundBoots; - public static Item weakBloodShard; - public static Item growthSigil; - public static Item blankSpell; - public static Item masterBloodOrb; - public static Item alchemyFlask; - public static Item standardBindingAgent; - public static Item mundanePowerCatalyst; - public static Item averagePowerCatalyst; - public static Item greaterPowerCatalyst; - public static Item mundaneLengtheningCatalyst; - public static Item averageLengtheningCatalyst; - public static Item greaterLengtheningCatalyst; - public static Item incendium; - public static Item magicales; - public static Item sanctus; - public static Item aether; - public static Item simpleCatalyst; - public static Item crepitous; - public static Item crystallos; - public static Item terrae; - public static Item aquasalus; - public static Item tennebrae; - public static Item demonBloodShard; - public static Item archmageBloodOrb; - public static Item sigilOfWind; - public static Item telepositionFocus; - public static Item enhancedTelepositionFocus; - public static Item reinforcedTelepositionFocus; - public static Item demonicTelepositionFocus; - public static Item imbuedSlate; - public static Item demonicSlate; - public static Item duskScribeTool; - public static Item sigilOfTheBridge; - public static Item armourInhibitor; - public static Item creativeFiller; - public static Item demonPlacer; - - public static Item baseItems; - public static Item baseAlchemyItems; - - public static Item weakFillingAgent; - public static Item standardFillingAgent; - public static Item enhancedFillingAgent; - public static Item weakBindingAgent; - public static Item itemRitualDiviner; - public static Item sanguineHelmet; - public static Item sanguineRobe; - public static Item sanguinePants; - public static Item sanguineBoots; - public static Item focusBloodBlast; - public static Item focusGravityWell; - public static Item sigilOfMagnetism; - public static Item itemKeyOfDiablo; - public static Item energyBazooka; - public static Item itemBloodLightSigil; - public static Item itemComplexSpellCrystal; - public static Item itemBloodFrame; - - public static Item itemSigilOfEnderSeverance; - public static Item itemSigilOfSupression; - public static Item itemFluidSigil; - public static Item itemSeerSigil; - public static Item itemCombinationalCatalyst; - - public static Item customTool; - - public static Item itemAttunedCrystal; - public static Item itemTankSegmenter; - public static Item itemDestinationClearer; - - public static Item bucketLife; - - public static void init() - { - weakBloodOrb = new EnergyBattery(5000).setUnlocalizedName("weakBloodOrb"); - apprenticeBloodOrb = new ApprenticeBloodOrb(25000).setUnlocalizedName("apprenticeBloodOrb"); - magicianBloodOrb = new MagicianBloodOrb(150000).setUnlocalizedName("magicianBloodOrb"); - masterBloodOrb = new MasterBloodOrb(1000000).setUnlocalizedName("masterBloodOrb"); - archmageBloodOrb = new ArchmageBloodOrb(10000000).setUnlocalizedName("archmageBloodOrb"); - energyBlaster = new EnergyBlast().setUnlocalizedName("energyBlast"); - energySword = new EnergySword().setUnlocalizedName("energySword"); - lavaCrystal = new LavaCrystal().setUnlocalizedName("lavaCrystal"); - waterSigil = new WaterSigil().setUnlocalizedName("waterSigil"); - lavaSigil = new LavaSigil().setUnlocalizedName("lavaSigil"); - voidSigil = new VoidSigil().setUnlocalizedName("voidSigil"); - blankSlate = new AWBaseItems().setUnlocalizedName("blankSlate"); - reinforcedSlate = new AWBaseItems().setUnlocalizedName("reinforcedSlate"); - sacrificialDagger = new SacrificialDagger().setUnlocalizedName("sacrificialDagger"); - daggerOfSacrifice = new DaggerOfSacrifice().setUnlocalizedName("daggerOfSacrifice"); - airSigil = new AirSigil().setUnlocalizedName("airSigil"); - sigilOfTheFastMiner = new SigilOfTheFastMiner().setUnlocalizedName("sigilOfTheFastMiner"); - sigilOfElementalAffinity = new SigilOfElementalAffinity().setUnlocalizedName("sigilOfElementalAffinity"); - sigilOfHaste = new SigilOfHaste().setUnlocalizedName("sigilOfHaste"); - sigilOfHolding = new SigilOfHolding().setUnlocalizedName("sigilOfHolding"); - divinationSigil = new DivinationSigil().setUnlocalizedName("divinationSigil"); - waterScribeTool = new WaterScribeTool().setUnlocalizedName("waterScribeTool"); - fireScribeTool = new FireScribeTool().setUnlocalizedName("fireScribeTool"); - earthScribeTool = new EarthScribeTool().setUnlocalizedName("earthScribeTool"); - airScribeTool = new AirScribeTool().setUnlocalizedName("airScribeTool"); - activationCrystal = new ActivationCrystal(); - boundPickaxe = new BoundPickaxe().setUnlocalizedName("boundPickaxe"); - boundAxe = new BoundAxe().setUnlocalizedName("boundAxe"); - boundShovel = new BoundShovel().setUnlocalizedName("boundShovel"); - boundHelmet = new BoundArmour(0).setUnlocalizedName("boundHelmet"); - boundPlate = new BoundArmour(1).setUnlocalizedName("boundPlate"); - boundLeggings = new BoundArmour(2).setUnlocalizedName("boundLeggings"); - boundBoots = new BoundArmour(3).setUnlocalizedName("boundBoots"); - weakBloodShard = new BloodShard().setUnlocalizedName("weakBloodShard"); - growthSigil = new SigilOfGrowth().setUnlocalizedName("growthSigil"); - blankSpell = new BlankSpell().setUnlocalizedName("blankSpell"); - alchemyFlask = new AlchemyFlask().setUnlocalizedName("alchemyFlask"); - standardBindingAgent = new StandardBindingAgent().setUnlocalizedName("standardBindingAgent"); - mundanePowerCatalyst = new MundanePowerCatalyst().setUnlocalizedName("mundanePowerCatalyst"); - averagePowerCatalyst = new AveragePowerCatalyst().setUnlocalizedName("averagePowerCatalyst"); - greaterPowerCatalyst = new GreaterPowerCatalyst().setUnlocalizedName("greaterPowerCatalyst"); - mundaneLengtheningCatalyst = new MundaneLengtheningCatalyst().setUnlocalizedName("mundaneLengtheningCatalyst"); - averageLengtheningCatalyst = new AverageLengtheningCatalyst().setUnlocalizedName("averageLengtheningCatalyst"); - greaterLengtheningCatalyst = new GreaterLengtheningCatalyst().setUnlocalizedName("greaterLengtheningCatalyst"); - incendium = new AlchemyReagent().setUnlocalizedName("incendium"); - magicales = new AlchemyReagent().setUnlocalizedName("magicales"); - sanctus = new AlchemyReagent().setUnlocalizedName("sanctus"); - aether = new AlchemyReagent().setUnlocalizedName("aether"); - simpleCatalyst = new AlchemyReagent().setUnlocalizedName("simpleCatalyst"); - crepitous = new AlchemyReagent().setUnlocalizedName("crepitous"); - crystallos = new AlchemyReagent().setUnlocalizedName("crystallos"); - terrae = new AlchemyReagent().setUnlocalizedName("terrae"); - aquasalus = new AlchemyReagent().setUnlocalizedName("aquasalus"); - tennebrae = new AlchemyReagent().setUnlocalizedName("tennebrae"); - demonBloodShard = new BloodShard().setUnlocalizedName("demonBloodShard"); - sigilOfWind = new SigilOfWind().setUnlocalizedName("sigilOfWind"); - telepositionFocus = new TelepositionFocus(1).setUnlocalizedName("telepositionFocus"); - enhancedTelepositionFocus = new EnhancedTelepositionFocus().setUnlocalizedName("enhancedTelepositionFocus"); - reinforcedTelepositionFocus = new ReinforcedTelepositionFocus().setUnlocalizedName("reinforcedTelepositionFocus"); - demonicTelepositionFocus = new DemonicTelepositionFocus().setUnlocalizedName("demonicTelepositionFocus"); - imbuedSlate = new AWBaseItems().setUnlocalizedName("imbuedSlate"); - demonicSlate = new AWBaseItems().setUnlocalizedName("demonicSlate"); - duskScribeTool = new DuskScribeTool().setUnlocalizedName("duskScribeTool"); - sigilOfTheBridge = new SigilOfTheBridge().setUnlocalizedName("sigilOfTheBridge"); - armourInhibitor = new ArmourInhibitor().setUnlocalizedName("armourInhibitor"); - creativeFiller = new CheatyItem().setUnlocalizedName("cheatyItem"); - demonPlacer = new DemonPlacer().setUnlocalizedName("demonPlacer"); - weakFillingAgent = new WeakFillingAgent().setUnlocalizedName("weakFillingAgent"); - standardFillingAgent = new StandardFillingAgent().setUnlocalizedName("standardFillingAgent"); - enhancedFillingAgent = new EnhancedFillingAgent().setUnlocalizedName("enhancedFillingAgent"); - weakBindingAgent = new WeakBindingAgent().setUnlocalizedName("weakBindingAgent"); - itemRitualDiviner = new ItemRitualDiviner().setUnlocalizedName("ritualDiviner"); - sigilOfMagnetism = new SigilOfMagnetism().setUnlocalizedName("sigilOfMagnetism"); - itemKeyOfDiablo = new ItemDiabloKey().setUnlocalizedName("itemDiabloKey"); - energyBazooka = new EnergyBazooka().setUnlocalizedName("energyBazooka"); - itemBloodLightSigil = new ItemBloodLightSigil().setUnlocalizedName("bloodLightSigil"); - itemComplexSpellCrystal = new ItemComplexSpellCrystal().setUnlocalizedName("itemComplexSpellCrystal"); - bucketLife = (new LifeBucket(ModBlocks.blockLifeEssence)).setUnlocalizedName("bucketLife").setContainerItem(Items.bucket).setCreativeTab(CreativeTabs.tabMisc); - itemSigilOfEnderSeverance = (new ItemSigilOfEnderSeverance()).setUnlocalizedName("itemSigilOfEnderSeverance"); - baseItems = new ItemComponents().setUnlocalizedName("baseItems"); - baseAlchemyItems = new ItemAlchemyBase().setUnlocalizedName("baseAlchemyItems"); - itemSigilOfSupression = new ItemSigilOfSupression().setUnlocalizedName("itemSigilOfSupression"); - itemFluidSigil = new ItemFluidSigil().setUnlocalizedName("itemFluidSigil"); - itemSeerSigil = new ItemSeerSigil().setUnlocalizedName("itemSeerSigil"); - customTool = new ItemSpellMultiTool().setUnlocalizedName("multiTool"); - itemCombinationalCatalyst = new CombinationalCatalyst().setUnlocalizedName("itemCombinationalCatalyst"); - itemAttunedCrystal = new ItemAttunedCrystal().setUnlocalizedName("itemAttunedCrystal"); - itemTankSegmenter = new ItemTankSegmenter().setUnlocalizedName("itemTankSegmenter"); - itemDestinationClearer = new ItemDestinationClearer().setUnlocalizedName("destinationClearer"); - } - - public static void registerItems() - { - GameRegistry.registerItem(ModItems.weakBloodOrb, "weakBloodOrb"); - GameRegistry.registerItem(ModItems.apprenticeBloodOrb, "apprenticeBloodOrb"); - GameRegistry.registerItem(ModItems.magicianBloodOrb, "magicianBloodOrb"); - GameRegistry.registerItem(ModItems.energyBlaster, "energyBlaster"); - - GameRegistry.registerItem(ModItems.energySword, "energySword"); - GameRegistry.registerItem(ModItems.lavaCrystal, "lavaCrystal"); - GameRegistry.registerItem(ModItems.waterSigil, "waterSigil"); - GameRegistry.registerItem(ModItems.lavaSigil, "lavaSigil"); - GameRegistry.registerItem(ModItems.voidSigil, "voidSigil"); - GameRegistry.registerItem(ModItems.blankSlate, "blankSlate"); - GameRegistry.registerItem(ModItems.reinforcedSlate, "reinforcedSlate"); - GameRegistry.registerItem(ModItems.sacrificialDagger, "sacrificialKnife"); - GameRegistry.registerItem(ModItems.daggerOfSacrifice, "daggerOfSacrifice"); - GameRegistry.registerItem(ModItems.airSigil, "airSigil"); - GameRegistry.registerItem(ModItems.sigilOfTheFastMiner, "sigilOfTheFastMiner"); - GameRegistry.registerItem(ModItems.sigilOfElementalAffinity, "sigilOfElementalAffinity"); - GameRegistry.registerItem(ModItems.sigilOfHaste, "sigilOfHaste"); - GameRegistry.registerItem(ModItems.sigilOfHolding, "sigilOfHolding"); - GameRegistry.registerItem(ModItems.divinationSigil, "divinationSigil"); - GameRegistry.registerItem(ModItems.waterScribeTool, "waterScribeTool"); - GameRegistry.registerItem(ModItems.fireScribeTool, "fireScribeTool"); - GameRegistry.registerItem(ModItems.earthScribeTool, "earthScribeTool"); - GameRegistry.registerItem(ModItems.airScribeTool, "airScribeTool"); - GameRegistry.registerItem(ModItems.activationCrystal, "activationCrystal"); - GameRegistry.registerItem(ModItems.boundPickaxe, "boundPickaxe"); - GameRegistry.registerItem(ModItems.boundAxe, "boundAxe"); - GameRegistry.registerItem(ModItems.boundShovel, "boundShovel"); - GameRegistry.registerItem(ModItems.boundHelmet, "boundHelmet"); - GameRegistry.registerItem(ModItems.boundPlate, "boundPlate"); - GameRegistry.registerItem(ModItems.boundLeggings, "boundLeggings"); - GameRegistry.registerItem(ModItems.boundBoots, "boundBoots"); - GameRegistry.registerItem(ModItems.weakBloodShard, "weakBloodShard"); - GameRegistry.registerItem(ModItems.growthSigil, "growthSigil"); - GameRegistry.registerItem(ModItems.blankSpell, "blankSpell"); - GameRegistry.registerItem(ModItems.masterBloodOrb, "masterBloodOrb"); - GameRegistry.registerItem(ModItems.alchemyFlask, "alchemyFlask"); - GameRegistry.registerItem(ModItems.standardBindingAgent, "standardBindingAgent"); - GameRegistry.registerItem(ModItems.mundanePowerCatalyst, "mundanePowerCatalyst"); - GameRegistry.registerItem(ModItems.averagePowerCatalyst, "averagePowerCatalyst"); - GameRegistry.registerItem(ModItems.greaterPowerCatalyst, "greaterPowerCatalyst"); - GameRegistry.registerItem(ModItems.mundaneLengtheningCatalyst, "mundaneLengtheningCatalyst"); - GameRegistry.registerItem(ModItems.averageLengtheningCatalyst, "averageLengtheningCatalyst"); - GameRegistry.registerItem(ModItems.greaterLengtheningCatalyst, "greaterLengtheningCatalyst"); - GameRegistry.registerItem(ModItems.incendium, "incendium"); - GameRegistry.registerItem(ModItems.magicales, "magicales"); - GameRegistry.registerItem(ModItems.sanctus, "sanctus"); - GameRegistry.registerItem(ModItems.aether, "aether"); - GameRegistry.registerItem(ModItems.simpleCatalyst, "simpleCatalyst"); - GameRegistry.registerItem(ModItems.crepitous, "crepitous"); - GameRegistry.registerItem(ModItems.crystallos, "crystallos"); - GameRegistry.registerItem(ModItems.terrae, "terrae"); - GameRegistry.registerItem(ModItems.aquasalus, "aquasalus"); - GameRegistry.registerItem(ModItems.tennebrae, "tennebrae"); - GameRegistry.registerItem(ModItems.demonBloodShard, "demonBloodShard"); - GameRegistry.registerItem(ModItems.archmageBloodOrb, "archmageBloodOrb"); - GameRegistry.registerItem(ModItems.sigilOfWind, "sigilOfWind"); - GameRegistry.registerItem(ModItems.telepositionFocus, "telepositionFocus"); - GameRegistry.registerItem(ModItems.enhancedTelepositionFocus, "enhancedTelepositionFocus"); - GameRegistry.registerItem(ModItems.reinforcedTelepositionFocus, "reinforcedTelepositionFocus"); - GameRegistry.registerItem(ModItems.demonicTelepositionFocus, "demonicTelepositionFocus"); - GameRegistry.registerItem(ModItems.imbuedSlate, "imbuedSlate"); - GameRegistry.registerItem(ModItems.demonicSlate, "demonicSlate"); - GameRegistry.registerItem(ModItems.duskScribeTool, "duskScribeTool"); - GameRegistry.registerItem(ModItems.sigilOfTheBridge, "sigilOfTheBridge"); - GameRegistry.registerItem(ModItems.armourInhibitor, "armourInhibitor"); - GameRegistry.registerItem(ModItems.creativeFiller, "creativeFiller"); - GameRegistry.registerItem(ModItems.demonPlacer, "demonPlacer"); - - GameRegistry.registerItem(ModItems.weakFillingAgent, "weakFillingAgent"); - GameRegistry.registerItem(ModItems.standardFillingAgent, "standardFillingAgent"); - GameRegistry.registerItem(ModItems.enhancedFillingAgent, "enhancedFillingAgent"); - GameRegistry.registerItem(ModItems.weakBindingAgent, "weakBindingAgent"); - GameRegistry.registerItem(ModItems.itemRitualDiviner, "itemRitualDiviner"); - GameRegistry.registerItem(ModItems.sigilOfMagnetism, "sigilOfMagnetism"); - GameRegistry.registerItem(ModItems.itemKeyOfDiablo, "itemKeyOfDiablo"); - GameRegistry.registerItem(ModItems.energyBazooka, "energyBazooka"); - GameRegistry.registerItem(ModItems.itemBloodLightSigil, "itemBloodLightSigil"); - GameRegistry.registerItem(ModItems.itemComplexSpellCrystal, "itemComplexSpellCrystal"); - GameRegistry.registerItem(ModItems.itemSigilOfSupression, "sigilOfSupression"); - GameRegistry.registerItem(ModItems.itemSigilOfEnderSeverance, "sigilOfEnderSeverance"); - GameRegistry.registerItem(ModItems.itemFluidSigil, "fluidSigil"); - GameRegistry.registerItem(ModItems.itemSeerSigil, "seerSigil"); - - GameRegistry.registerItem(ModItems.customTool, "customTool"); - - GameRegistry.registerItem(ModItems.bucketLife, "bucketLife"); - GameRegistry.registerItem(ModItems.itemCombinationalCatalyst, "itemCombinationalCatalyst"); - - GameRegistry.registerItem(ModItems.itemAttunedCrystal, "itemAttunedCrystal"); - GameRegistry.registerItem(ModItems.itemTankSegmenter, "itemTankSegmenter"); - GameRegistry.registerItem(ModItems.itemDestinationClearer, "itemDestinationClearer"); - - GameRegistry.registerItem(ModItems.baseItems, "bloodMagicBaseItems"); - GameRegistry.registerItem(ModItems.baseAlchemyItems, "bloodMagicBaseAlchemyItems"); - //GameRegistry.registerItem(ModItems.itemBloodFrame, "itemBloodFrame"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/ColourAndCoords.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/ColourAndCoords.java deleted file mode 100644 index 08f71bff..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/ColourAndCoords.java +++ /dev/null @@ -1,45 +0,0 @@ -package WayofTime.alchemicalWizardry.api; - -import net.minecraft.nbt.NBTTagCompound; - -public class ColourAndCoords -{ - public int colourRed; - public int colourGreen; - public int colourBlue; - public int colourIntensity; - - public int xCoord; - public int yCoord; - public int zCoord; - - public ColourAndCoords(int red, int green, int blue, int intensity, int x, int y, int z) - { - this.colourRed = red; - this.colourGreen = green; - this.colourBlue = blue; - this.colourIntensity = intensity; - - this.xCoord = x; - this.yCoord = y; - this.zCoord = z; - } - - public static ColourAndCoords readFromNBT(NBTTagCompound tag) - { - return new ColourAndCoords(tag.getInteger("colourRed"), tag.getInteger("colourGreen"), tag.getInteger("colourBlue"), tag.getInteger("colourIntensity"), tag.getInteger("xCoord"), tag.getInteger("yCoord"), tag.getInteger("zCoord")); - } - - public NBTTagCompound writeToNBT(NBTTagCompound tag) - { - tag.setInteger("colourRed", colourRed); - tag.setInteger("colourGreen", colourGreen); - tag.setInteger("colourBlue", colourBlue); - tag.setInteger("colourIntensity", colourIntensity); - tag.setInteger("xCoord", xCoord); - tag.setInteger("yCoord", yCoord); - tag.setInteger("zCoord", zCoord); - - return tag; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemicalPotionCreationHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemicalPotionCreationHandler.java deleted file mode 100644 index 4a4b40e0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemicalPotionCreationHandler.java +++ /dev/null @@ -1,79 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; - -public class AlchemicalPotionCreationHandler -{ - public static ArrayList registeredPotionEffects = new ArrayList(); - - public static void addPotion(ItemStack itemStack, int potionID, int tickDuration) - { - registeredPotionEffects.add(new AlchemyPotionHandlerComponent(itemStack, potionID, tickDuration)); - } - - public static int getPotionIDForStack(ItemStack itemStack) - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(itemStack)) - { - return aphc.getPotionID(); - } - } - - return -1; - } - - public static int getPotionTickDurationForStack(ItemStack itemStack) - { - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(itemStack)) - { - return aphc.getTickDuration(); - } - } - - return -1; - } - } - - public static boolean containsRegisteredPotionIngredient(ItemStack[] stackList) - { - for (ItemStack is : stackList) - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(is)) - { - return true; - } - } - } - - return false; - } - - public static int getRegisteredPotionIngredientPosition(ItemStack[] stackList) - { - int i = 0; - - for (ItemStack is : stackList) - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(is)) - { - return i; - } - } - - i++; - } - - return -1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHandlerComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHandlerComponent.java deleted file mode 100644 index 6f0d461d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHandlerComponent.java +++ /dev/null @@ -1,52 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy; - -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class AlchemyPotionHandlerComponent -{ - private ItemStack itemStack; - private int potionID; - private int tickDuration; - - public AlchemyPotionHandlerComponent(ItemStack itemStack, int potionID, int tickDuration) - { - this.itemStack = itemStack; - this.potionID = potionID; - this.tickDuration = tickDuration; - } - - public boolean compareItemStack(ItemStack comparedStack) - { - if (comparedStack != null && itemStack != null) - { - if (comparedStack.getItem() instanceof ItemBlock) - { - if (itemStack.getItem() instanceof ItemBlock) - { - return comparedStack.getItem().equals(itemStack.getItem()) && comparedStack.getItemDamage() == itemStack.getItemDamage(); - } - } else if (!(itemStack.getItem() instanceof ItemBlock)) - { - return comparedStack.getItem().equals(itemStack.getItem()) && comparedStack.getItemDamage() == itemStack.getItemDamage(); - } - } - - return false; - } - - public ItemStack getItemStack() - { - return itemStack; - } - - public int getPotionID() - { - return this.potionID; - } - - public int getTickDuration() - { - return this.tickDuration; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHelper.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHelper.java deleted file mode 100644 index d3462552..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHelper.java +++ /dev/null @@ -1,76 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; - -public class AlchemyPotionHelper -{ - private int potionID; - private int tickDuration; - private int concentration; - private int durationFactor; - - public AlchemyPotionHelper(int potionID, int tickDuration, int concentration, int durationFactor) - { - this.potionID = potionID; - this.tickDuration = tickDuration; - this.concentration = concentration; - this.durationFactor = durationFactor; - } - - public void setConcentration(int concentration) - { - this.concentration = concentration; - } - - public void setDurationFactor(int durationFactor) - { - this.durationFactor = durationFactor; - } - - public int getPotionID() - { - return this.potionID; - } - - public int getTickDuration() - { - return this.tickDuration; - } - - public int getConcentration() - { - return this.concentration; - } - - public int getdurationFactor() - { - return this.durationFactor; - } - - public PotionEffect getPotionEffect() - { - if (potionID == Potion.heal.id || potionID == Potion.harm.id) - { - return (new PotionEffect(potionID, 1, concentration)); - } - - return (new PotionEffect(potionID, (int) (tickDuration * Math.pow(0.5f, concentration) * Math.pow(8.0f / 3.0f, durationFactor)), concentration)); - } - - public static AlchemyPotionHelper readEffectFromNBT(NBTTagCompound tagCompound) - { - return new AlchemyPotionHelper(tagCompound.getInteger("potionID"), tagCompound.getInteger("tickDuration"), tagCompound.getInteger("concentration"), tagCompound.getInteger("durationFactor")); - } - - public static NBTTagCompound setEffectToNBT(AlchemyPotionHelper aph) - { - NBTTagCompound tagCompound = new NBTTagCompound(); - tagCompound.setInteger("potionID", aph.getPotionID()); - tagCompound.setInteger("tickDuration", aph.getTickDuration()); - tagCompound.setInteger("concentration", aph.getConcentration()); - tagCompound.setInteger("durationFactor", aph.getdurationFactor()); - return tagCompound; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipe.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipe.java deleted file mode 100644 index f773d063..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipe.java +++ /dev/null @@ -1,143 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy; - -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -public class AlchemyRecipe -{ - private ItemStack output; - private ItemStack[] recipe; - private int bloodOrbLevel; - private int amountNeeded; - - public AlchemyRecipe(ItemStack output, int amountNeeded, ItemStack[] recipe, int bloodOrbLevel) - { - this.output = output; - this.recipe = recipe; - this.amountNeeded = amountNeeded; - this.bloodOrbLevel = bloodOrbLevel; - } - - public boolean doesRecipeMatch(ItemStack[] items, int slottedBloodOrbLevel) - { - if (slottedBloodOrbLevel < bloodOrbLevel) - { - return false; - } - - ItemStack[] recipe = new ItemStack[5]; - - if (items.length < 5) - { - return false; - } - - if (this.recipe.length != 5) - { - ItemStack[] newRecipe = new ItemStack[5]; - - for (int i = 0; i < 5; i++) - { - if (i + 1 > this.recipe.length) - { - newRecipe[i] = null; - } else - { - newRecipe[i] = this.recipe[i]; - } - } - - recipe = newRecipe; - } else - { - recipe = this.recipe; - } - - boolean[] checkList = new boolean[5]; - - for (int i = 0; i < 5; i++) - { - checkList[i] = false; - } - - for (int i = 0; i < 5; i++) - { - ItemStack recipeItemStack = recipe[i]; - - if (recipeItemStack == null) - { - continue; - } - - boolean test = false; - - for (int j = 0; j < 5; j++) - { - if (checkList[j]) - { - continue; - } - - ItemStack checkedItemStack = items[j]; - - if (checkedItemStack == null) - { - continue; - } - - boolean quickTest = false; - - if (recipeItemStack.getItem() instanceof ItemBlock) - { - if (checkedItemStack.getItem() instanceof ItemBlock) - { - quickTest = true; - } - } else if (!(checkedItemStack.getItem() instanceof ItemBlock)) - { - quickTest = true; - } - - if (!quickTest) - { - continue; - } - - if ((checkedItemStack.getItemDamage() == recipeItemStack.getItemDamage() || OreDictionary.WILDCARD_VALUE == recipeItemStack.getItemDamage()) && checkedItemStack.getItem()==recipeItemStack.getItem()) - { - test = true; - checkList[j] = true; - break; - } - } - - if (!test) - { - return false; - } - } - - return true; - } - - public ItemStack getResult() - { - return output.copy(); - } - - public int getAmountNeeded() - { - return this.amountNeeded; - } - - public ItemStack[] getRecipe() - { - return this.recipe; - } - - public int getOrbLevel() - { - return this.bloodOrbLevel; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipeRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipeRegistry.java deleted file mode 100644 index 5753cff2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipeRegistry.java +++ /dev/null @@ -1,85 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; - -public class AlchemyRecipeRegistry -{ - public static List recipes = new ArrayList(); - - public static void registerRecipe(ItemStack output, int amountNeeded, ItemStack[] recipe, int bloodOrbLevel) - { - recipes.add(new AlchemyRecipe(output, amountNeeded, recipe, bloodOrbLevel)); - } - - public static ItemStack getResult(ItemStack[] recipe, ItemStack bloodOrb) - { - if (bloodOrb == null) - { - return null; - } - - if (!(bloodOrb.getItem() instanceof IBloodOrb)) - { - return null; - } - - int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel(); - - for (AlchemyRecipe ar : recipes) - { - if (ar.doesRecipeMatch(recipe, bloodOrbLevel)) - { - return (ar.getResult()); - } - } - - return null; - } - - public static int getAmountNeeded(ItemStack[] recipe, ItemStack bloodOrb) - { - if (bloodOrb == null) - { - return 0; - } - - if (!(bloodOrb.getItem() instanceof IBloodOrb)) - { - return 0; - } - - int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel(); - - for (AlchemyRecipe ar : recipes) - { - if (ar.doesRecipeMatch(recipe, bloodOrbLevel)) - { - return (ar.getAmountNeeded()); - } - } - - return 0; - } - - public static ItemStack[] getRecipeForItemStack(ItemStack itemStack) - { - for (AlchemyRecipe ar : recipes) - { - ItemStack result = ar.getResult(); - - if (result != null) - { - if (result.isItemEqual(itemStack)) - { - return ar.getRecipe(); - } - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IAlchemyGoggles.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IAlchemyGoggles.java deleted file mode 100644 index 45eeaaa3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IAlchemyGoggles.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface IAlchemyGoggles -{ - public boolean showIngameHUD(World world, ItemStack stack, EntityPlayer player); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IReagentContainer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IReagentContainer.java deleted file mode 100644 index 91f93252..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IReagentContainer.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraftforge.fluids.FluidTankInfo; - -public interface IReagentContainer -{ - public ReagentStack getReagent(); - - public int getReagentStackAmount(); - - public int getCapacity(); - - public int fill(ReagentStack resource, boolean doFill); - - public ReagentStack drain(int maxDrain, boolean doDrain); - - public ReagentContainerInfo getInfo(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IReagentHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IReagentHandler.java deleted file mode 100644 index 37da7b69..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/IReagentHandler.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraftforge.common.util.ForgeDirection; - -public interface IReagentHandler -{ - int fill(ForgeDirection from, ReagentStack resource, boolean doFill); - - ReagentStack drain(ForgeDirection from, ReagentStack resource, boolean doDrain); - - ReagentStack drain(ForgeDirection from, int maxDrain, boolean doDrain); - - boolean canFill(ForgeDirection from, Reagent reagent); - - boolean canDrain(ForgeDirection from, Reagent reagent); - - ReagentContainerInfo[] getContainerInfo(ForgeDirection from); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ISegmentedReagentHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ISegmentedReagentHandler.java deleted file mode 100644 index a6335d9e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ISegmentedReagentHandler.java +++ /dev/null @@ -1,14 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import java.util.Map; - -public interface ISegmentedReagentHandler extends IReagentHandler -{ - public int getNumberOfTanks(); - - public int getTanksTunedToReagent(Reagent reagent); - - public void setTanksTunedToReagent(Reagent reagent, int total); - - public Map getAttunedTankMap(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/Reagent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/Reagent.java deleted file mode 100644 index df4036b3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/Reagent.java +++ /dev/null @@ -1,54 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraft.item.ItemStack; - -public class Reagent -{ - public final String name; - - public static final int REAGENT_SIZE = 1000; - - private int colourRed = 0; - private int colourGreen = 0; - private int colourBlue = 0; - private int colourIntensity = 255; - - public Reagent(String name) - { - this.name = name; - } - - public void setColour(int red, int green, int blue, int intensity) - { - this.colourRed = red; - this.colourGreen = green; - this.colourBlue = blue; - this.colourIntensity = intensity; - } - - public int getColourRed() - { - return colourRed; - } - - public int getColourGreen() - { - return colourGreen; - } - - public int getColourBlue() - { - return colourBlue; - } - - public int getColourIntensity() - { - return colourIntensity; - } - - @Override - public boolean equals(Object o) - { - return o instanceof Reagent ? this == o && name.equals(((Reagent)o).name) : false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentContainer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentContainer.java deleted file mode 100644 index ea6d8306..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentContainer.java +++ /dev/null @@ -1,158 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTank; - -public class ReagentContainer implements IReagentContainer -{ - protected ReagentStack reagentStack; - protected int capacity; - - public ReagentContainer(int capacity) - { - this(null, capacity); - } - - public ReagentContainer(ReagentStack stack, int capacity) - { - this.reagentStack = stack; - this.capacity = capacity; - } - - public ReagentContainer(Reagent reagent, int amount, int capacity) - { - this(new ReagentStack(reagent, amount), capacity); - } - - public static ReagentContainer readFromNBT(NBTTagCompound nbt) - { - ReagentStack reagent = ReagentStack.loadReagentStackFromNBT(nbt); - int capacity = nbt.getInteger("capacity"); - - if (reagent != null) - { - return new ReagentContainer(reagent, capacity); - }else - { - return new ReagentContainer(null, capacity); - } - } - - public NBTTagCompound writeToNBT(NBTTagCompound nbt) - { - if (reagentStack != null) - { - reagentStack.writeToNBT(nbt); - } - - nbt.setInteger("capacity", capacity); - - return nbt; - } - - @Override - public ReagentStack getReagent() - { - return reagentStack; - } - - @Override - public int getReagentStackAmount() - { - if (reagentStack == null) - { - return 0; - } - return reagentStack.amount; - } - - @Override - public int getCapacity() - { - return capacity; - } - - @Override - public int fill(ReagentStack resource, boolean doFill) - { - if (resource == null) - { - return 0; - } - - if (!doFill) - { - if (reagentStack == null) - { - return Math.min(capacity, resource.amount); - } - - if (!reagentStack.isReagentEqual(resource)) - { - return 0; - } - - return Math.min(capacity - reagentStack.amount, resource.amount); - } - - if (reagentStack == null) - { - reagentStack = new ReagentStack(resource, Math.min(capacity, resource.amount)); - - return reagentStack.amount; - } - - if (!reagentStack.isReagentEqual(resource)) - { - return 0; - } - int filled = capacity - reagentStack.amount; - - if (resource.amount < filled) - { - reagentStack.amount += resource.amount; - filled = resource.amount; - } - else - { - reagentStack.amount = capacity; - } - - return filled; - } - - @Override - public ReagentStack drain(int maxDrain, boolean doDrain) - { - if (reagentStack == null) - { - return null; - } - - int drained = maxDrain; - if (reagentStack.amount < drained) - { - drained = reagentStack.amount; - } - - ReagentStack stack = new ReagentStack(reagentStack, drained); - if (doDrain) - { - reagentStack.amount -= drained; - if (reagentStack.amount <= 0) - { - reagentStack = null; - } - } - return stack; - } - - @Override - public ReagentContainerInfo getInfo() - { - return new ReagentContainerInfo(this); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentContainerInfo.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentContainerInfo.java deleted file mode 100644 index 8dea2a50..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentContainerInfo.java +++ /dev/null @@ -1,22 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidTank; - -public final class ReagentContainerInfo -{ - public final ReagentStack reagent; - public final int capacity; - - public ReagentContainerInfo(ReagentStack reagent, int capacity) - { - this.reagent = reagent; - this.capacity = capacity; - } - - public ReagentContainerInfo(IReagentContainer tank) - { - this.reagent = tank.getReagent(); - this.capacity = tank.getCapacity(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java deleted file mode 100644 index 2120d9ef..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java +++ /dev/null @@ -1,191 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.ModItems; - -public class ReagentRegistry -{ - public static Map reagentList = new HashMap(); - public static Map itemToReagentMap = new HashMap(); - - public static Reagent sanctusReagent; - public static Reagent incendiumReagent; - public static Reagent aquasalusReagent; - public static Reagent magicalesReagent; - public static Reagent aetherReagent; - public static Reagent crepitousReagent; - public static Reagent crystallosReagent; - public static Reagent terraeReagent; - public static Reagent tenebraeReagent; - - public static Reagent offensaReagent; - public static Reagent praesidiumReagent; - public static Reagent orbisTerraeReagent; - public static Reagent virtusReagent; - public static Reagent reductusReagent; - public static Reagent potentiaReagent; - - public static void initReagents() - { - sanctusReagent = new Reagent("sanctus"); - incendiumReagent = new Reagent("incendium"); - aquasalusReagent = new Reagent("aquasalus"); - magicalesReagent = new Reagent("magicales"); - aetherReagent = new Reagent("aether"); - crepitousReagent = new Reagent("crepitous"); - crystallosReagent = new Reagent("crystallos"); - terraeReagent = new Reagent("terrae"); - tenebraeReagent = new Reagent("tenebrae"); - offensaReagent = new Reagent("offensa"); - praesidiumReagent = new Reagent("praesidium"); - orbisTerraeReagent = new Reagent("orbisTerrae"); - virtusReagent = new Reagent("virtus"); - reductusReagent = new Reagent("reductus"); - potentiaReagent = new Reagent("potentia"); - - sanctusReagent.setColour(255, 255, 0, 255); - incendiumReagent.setColour(255, 0, 0, 255); - aquasalusReagent.setColour(47, 0, 196, 255); - magicalesReagent.setColour(150, 0, 146, 255); - aetherReagent.setColour(105, 223, 86, 255); - crepitousReagent.setColour(145, 145, 145, 255); - crystallosReagent.setColour(135, 255, 231, 255); - terraeReagent.setColour(147, 48, 13, 255); - tenebraeReagent.setColour(86, 86, 86, 255); - offensaReagent.setColour(126, 0, 0, 255); - praesidiumReagent.setColour(135, 135, 135, 255); - orbisTerraeReagent.setColour(32, 94, 14, 255); - virtusReagent.setColour(180, 0, 0, 255); - reductusReagent.setColour(20, 93, 2, 255); - potentiaReagent.setColour(64, 81, 208, 255); - - registerReagent("sanctus", sanctusReagent); - registerReagent("incendium", incendiumReagent); - registerReagent("aquasalus", aquasalusReagent); - registerReagent("magicales", magicalesReagent); - registerReagent("aether", aetherReagent); - registerReagent("crepitous", crepitousReagent); - registerReagent("crystallos", crystallosReagent); - registerReagent("terrae", terraeReagent); - registerReagent("tenebrae", tenebraeReagent); - registerReagent("offensa", offensaReagent); - registerReagent("praesidium", praesidiumReagent); - registerReagent("orbisTerrae", orbisTerraeReagent); - registerReagent("virtus", virtusReagent); - registerReagent("reductus", reductusReagent); - registerReagent("potentia", potentiaReagent); - - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.sanctus), new ReagentStack(sanctusReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.incendium), new ReagentStack(incendiumReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.aquasalus), new ReagentStack(aquasalusReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.magicales), new ReagentStack(magicalesReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.aether), new ReagentStack(aetherReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.crepitous), new ReagentStack(crepitousReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.crystallos), new ReagentStack(crystallosReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.terrae), new ReagentStack(terraeReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.tennebrae), new ReagentStack(tenebraeReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.baseAlchemyItems,1,0), new ReagentStack(offensaReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.baseAlchemyItems,1,1), new ReagentStack(praesidiumReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.baseAlchemyItems,1,2), new ReagentStack(orbisTerraeReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.baseAlchemyItems,1,6), new ReagentStack(virtusReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.baseAlchemyItems,1,7), new ReagentStack(reductusReagent, 1000)); - ReagentRegistry.registerItemAndReagent(new ItemStack(ModItems.baseAlchemyItems,1,8), new ReagentStack(potentiaReagent, 1000)); - } - - public static boolean registerReagent(String key, Reagent reagent) - { - if(reagentList.containsKey(key) || reagent == null) - { - return false; - } - - reagentList.put(key, reagent); - - return true; - } - - public static Reagent getReagentForKey(String key) - { - if(reagentList.containsKey(key)) - { - return reagentList.get(key); - } - - return null; - } - - public static String getKeyForReagent(Reagent reagent) - { - if(reagentList.containsValue(reagent)) - { - Set> set = reagentList.entrySet(); - for(Entry entry : set) - { - if(entry.getValue().equals(reagent)) - { - return entry.getKey(); - } - } - } - - return ""; - } - - public static void registerItemAndReagent(ItemStack stack, ReagentStack reagentStack) - { - itemToReagentMap.put(stack, reagentStack); - } - - public static ReagentStack getReagentStackForItem(ItemStack stack) - { - if(stack == null) - { - return null; - } - - for(Entry entry : itemToReagentMap.entrySet()) - { - if(entry.getKey() != null && entry.getKey().isItemEqual(stack)) - { - if(entry.getValue() == null) - { - return null; - }else - { - return entry.getValue().copy(); - } - } - } - - return null; - } - - public static ItemStack getItemForReagent(Reagent reagent) - { - if(reagent == null) - { - return null; - } - - for(Entry entry : itemToReagentMap.entrySet()) - { - if(entry.getValue() != null && entry.getValue().reagent == reagent) - { - if(entry.getKey() == null) - { - return null; - }else - { - return entry.getKey().copy(); - } - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentStack.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentStack.java deleted file mode 100644 index f39b35ab..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentStack.java +++ /dev/null @@ -1,64 +0,0 @@ -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.FluidStack; - -public class ReagentStack -{ - public Reagent reagent; - public int amount; - - public ReagentStack(Reagent reagent, int amount) - { - this.reagent = reagent; - this.amount = amount; - } - - public ReagentStack(ReagentStack reagentStack, int amount) - { - this(reagentStack.reagent,amount); - } - - public static ReagentStack loadReagentStackFromNBT(NBTTagCompound tag) - { - Reagent reagent = ReagentRegistry.getReagentForKey(tag.getString("Reagent")); - - if(reagent == null) - { - return null; - } - - int amount = tag.getInteger("amount"); - ReagentStack stack = new ReagentStack(reagent, amount); - - return stack; - } - - public NBTTagCompound writeToNBT(NBTTagCompound tag) - { - tag.setString("Reagent", ReagentRegistry.getKeyForReagent(this.reagent)); - tag.setInteger("amount", this.amount); - - return tag; - } - - public ReagentStack splitStack(int amount) - { - ReagentStack copyStack = this.copy(); - int splitAmount = Math.min(amount, this.amount); - copyStack.amount = splitAmount; - this.amount -= splitAmount; - - return copyStack; - } - - public ReagentStack copy() - { - return new ReagentStack(this.reagent, this.amount); - } - - public boolean isReagentEqual(ReagentStack other) - { - return other != null && this.reagent == other.reagent; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/TileReagentHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/TileReagentHandler.java deleted file mode 100644 index 270efaa3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/TileReagentHandler.java +++ /dev/null @@ -1,68 +0,0 @@ - -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.IFluidHandler; - -public class TileReagentHandler extends TileEntity implements IReagentHandler -{ - protected ReagentContainer tank = new ReagentContainer(4000); - - @Override - public void readFromNBT(NBTTagCompound tag) - { - super.readFromNBT(tag); - tank.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) - { - super.writeToNBT(tag); - tank.writeToNBT(tag); - } - - /* IReagentHandler */ - @Override - public int fill(ForgeDirection from, ReagentStack resource, boolean doFill) - { - return tank.fill(resource, doFill); - } - - @Override - public ReagentStack drain(ForgeDirection from, ReagentStack resource, boolean doDrain) - { - if (resource == null || !resource.isReagentEqual(tank.getReagent())) - { - return null; - } - return tank.drain(resource.amount, doDrain); - } - - @Override - public ReagentStack drain(ForgeDirection from, int maxDrain, boolean doDrain) - { - return tank.drain(maxDrain, doDrain); - } - - @Override - public boolean canFill(ForgeDirection from, Reagent reagent) - { - return true; - } - - @Override - public boolean canDrain(ForgeDirection from, Reagent reagent) - { - return true; - } - - @Override - public ReagentContainerInfo[] getContainerInfo(ForgeDirection from) - { - return new ReagentContainerInfo[] {tank.getInfo()}; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/TileSegmentedReagentHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/TileSegmentedReagentHandler.java deleted file mode 100644 index 6cf25c04..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/TileSegmentedReagentHandler.java +++ /dev/null @@ -1,283 +0,0 @@ - -package WayofTime.alchemicalWizardry.api.alchemy.energy; - -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileSegmentedReagentHandler extends TileEntity implements ISegmentedReagentHandler -{ - protected ReagentContainer[] tanks; - protected Map attunedTankMap; - - public TileSegmentedReagentHandler() - { - this(1); - } - - public TileSegmentedReagentHandler(int numberOfTanks) - { - this(numberOfTanks, 1000); - } - - public TileSegmentedReagentHandler(int numberOfTanks, int tankSize) - { - super(); - - this.attunedTankMap = new HashMap(); - this.tanks = new ReagentContainer[numberOfTanks]; - for(int i=0; i entry : this.attunedTankMap.entrySet()) - { - NBTTagCompound savedTag = new NBTTagCompound(); - savedTag.setString("reagent", ReagentRegistry.getKeyForReagent(entry.getKey())); - savedTag.setInteger("amount", entry.getValue()); - attunedTagList.appendTag(savedTag); - } - - tag.setTag("attunedTankMap", attunedTagList); - } - - /* ISegmentedReagentHandler */ - @Override - public int fill(ForgeDirection from, ReagentStack resource, boolean doFill) - { - int totalFill = 0; - - boolean useTankLimit = !this.attunedTankMap.isEmpty(); - - if(resource != null) - { - int totalTanksFillable = useTankLimit ? this.getTanksTunedToReagent(resource.reagent) : this.tanks.length; - int tanksFilled = 0; - - int maxFill = resource.amount; - - for(int i=this.tanks.length-1; i>=0; i--) - { - ReagentStack remainingStack = resource.copy(); - remainingStack.amount = maxFill - totalFill; - - boolean doesReagentMatch = tanks[i].getReagent() == null ? false : tanks[i].getReagent().isReagentEqual(remainingStack); - - if(doesReagentMatch) - { - totalFill += tanks[i].fill(remainingStack, doFill); - tanksFilled++; - }else - { - continue; - } - - if(totalFill >= maxFill || tanksFilled >= totalTanksFillable) - { - return totalFill; - } - } - - if(tanksFilled >= totalTanksFillable) - { - return totalFill; - } - - for(int i=this.tanks.length-1; i>=0; i--) - { - ReagentStack remainingStack = resource.copy(); - remainingStack.amount = maxFill - totalFill; - - boolean isTankEmpty = tanks[i].getReagent() == null; - - if(isTankEmpty) - { - totalFill += tanks[i].fill(remainingStack, doFill); - tanksFilled++; - }else - { - continue; - } - - if(totalFill >= maxFill || tanksFilled >= totalTanksFillable) - { - return totalFill; - } - } - } - return totalFill; - } - - @Override - public ReagentStack drain(ForgeDirection from, ReagentStack resource, boolean doDrain) - { - if(resource == null) - { - return null; - } - - int maxDrain = resource.amount; - Reagent reagent = resource.reagent; - int drained = 0; - - for(int i=0; i= maxDrain) - { - break; - } - - if(resource.isReagentEqual(tanks[i].getReagent())) - { - ReagentStack drainStack = tanks[i].drain(maxDrain-drained, doDrain); - if(drainStack != null) - { - drained += drainStack.amount; - } - } - } - - return new ReagentStack(reagent, drained); - } - - /* Only returns the amount from the first available tank */ - @Override - public ReagentStack drain(ForgeDirection from, int maxDrain, boolean doDrain) - { - for(int i=0; i getAttunedTankMap() - { - return this.attunedTankMap; - } - - public boolean areTanksEmpty() - { - for(int i=0; i=minTier && this.requiredItem.isItemEqual(comparedStack); - } - - public int getMinTier() - { - return this.minTier; - } - - public int getLiquidRequired() - { - return this.liquidRequired; - } - - public int getConsumptionRate() - { - return this.consumptionRate; - } - - public int getDrainRate() - { - return this.drainRate; - } - - public boolean getCanBeFilled() - { - return this.canBeFilled; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipeRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipeRegistry.java deleted file mode 100644 index 89c0be46..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipeRegistry.java +++ /dev/null @@ -1,60 +0,0 @@ -package WayofTime.alchemicalWizardry.api.altarRecipeRegistry; - -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.item.ItemStack; - -public class AltarRecipeRegistry -{ - public static List altarRecipes = new LinkedList(); - - public static void registerAltarRecipe(ItemStack result, ItemStack requiredItem, int minTier, int liquidRequired, int consumptionRate, int drainRate, boolean canBeFilled) - { - altarRecipes.add(new AltarRecipe(result, requiredItem, minTier, liquidRequired, consumptionRate, drainRate, canBeFilled)); - } - - public static void registerAltarOrbRecipe(ItemStack orbStack, int minTier, int consumptionRate) - { - registerAltarRecipe(null, orbStack, minTier, 0, consumptionRate, 0, true); - } - - public static boolean isRequiredItemValid(ItemStack testItem, int currentTierAltar) - { - for(AltarRecipe recipe : altarRecipes) - { - if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) - { - return true; - } - } - - return false; - } - - public static ItemStack getItemForItemAndTier(ItemStack testItem, int currentTierAltar) - { - for(AltarRecipe recipe : altarRecipes) - { - if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) - { - return ItemStack.copyItemStack(recipe.getResult()); - } - } - - return null; - } - - public static AltarRecipe getAltarRecipeForItemAndTier(ItemStack testItem, int currentTierAltar) - { - for(AltarRecipe recipe : altarRecipes) - { - if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) - { - return recipe; - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java deleted file mode 100644 index 111f585f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java +++ /dev/null @@ -1,35 +0,0 @@ -package WayofTime.alchemicalWizardry.api.bindingRegistry; - -import net.minecraft.item.ItemStack; - -public class BindingRecipe -{ - public ItemStack requiredItem; - public ItemStack outputItem; - - public BindingRecipe(ItemStack outputItem, ItemStack requiredItem) - { - this.requiredItem = requiredItem; - this.outputItem = outputItem; - } - - public boolean doesRequiredItemMatch(ItemStack testStack) - { - if(testStack == null || this.requiredItem == null) - { - return false; - } - - return this.requiredItem.isItemEqual(testStack); - } - - public ItemStack getResult(ItemStack inputItem) - { - return this.getResult(); - } - - public ItemStack getResult() - { - return this.outputItem; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java deleted file mode 100644 index 636fb3f6..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java +++ /dev/null @@ -1,67 +0,0 @@ -package WayofTime.alchemicalWizardry.api.bindingRegistry; - -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.item.ItemStack; - -public class BindingRegistry -{ - public static List bindingRecipes = new LinkedList(); - - public static void registerRecipe(ItemStack output, ItemStack input) - { - bindingRecipes.add(new BindingRecipe(output, input)); - } - - public static boolean isRequiredItemValid(ItemStack testItem) - { - for(BindingRecipe recipe : bindingRecipes) - { - if(recipe.doesRequiredItemMatch(testItem)) - { - return true; - } - } - - return false; - } - - public static ItemStack getItemForItemAndTier(ItemStack testItem) - { - for(BindingRecipe recipe : bindingRecipes) - { - if(recipe.doesRequiredItemMatch(testItem)) - { - return recipe.getResult(testItem).copy(); - } - } - - return null; - } - - public static int getIndexForItem(ItemStack testItem) - { - int i=0; - for(BindingRecipe recipe : bindingRecipes) - { - if(recipe.doesRequiredItemMatch(testItem)) - { - return i; - } - i++; - } - - return -1; - } - - public static ItemStack getOutputForIndex(int index) - { - if(bindingRecipes.size()<=index) - { - return null; - } - - return bindingRecipes.get(index).getResult(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/harvest/HarvestRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/harvest/HarvestRegistry.java deleted file mode 100644 index 244e227c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/harvest/HarvestRegistry.java +++ /dev/null @@ -1,33 +0,0 @@ -package WayofTime.alchemicalWizardry.api.harvest; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.world.World; - -public class HarvestRegistry -{ - public static List handlerList = new ArrayList(); - - public static void registerHarvestHandler(IHarvestHandler handler) - { - handlerList.add(handler); - } - - public static boolean harvestBlock(World world, int xCoord, int yCoord, int zCoord) - { - Block block = world.getBlock(xCoord, yCoord, zCoord); - int meta = world.getBlockMetadata(xCoord, yCoord, zCoord); - - for(IHarvestHandler handler : handlerList) - { - if(handler.harvestAndPlant(world, xCoord, yCoord, zCoord, block, meta)) - { - return true; - } - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/harvest/IHarvestHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/harvest/IHarvestHandler.java deleted file mode 100644 index 888dff58..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/harvest/IHarvestHandler.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.api.harvest; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; - -public interface IHarvestHandler -{ - /** - * A handler that is used to harvest and replant the block at the specified location - * - * @param world - * @param xCoord - * @param yCoord - * @param zCoord - * @param block block at this given location - * @param meta meta at this given location - * @return true if successfully harvested, false if not - */ - public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/ShapedBloodOrbRecipe.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/ShapedBloodOrbRecipe.java deleted file mode 100644 index cdf82e6e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/ShapedBloodOrbRecipe.java +++ /dev/null @@ -1,227 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.block.Block; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.ShapedRecipes; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; - -/** Shaped Blood Orb Recipe Handler by joshie **/ -public class ShapedBloodOrbRecipe implements IRecipe { - private static final int MAX_CRAFT_GRID_WIDTH = 3; - private static final int MAX_CRAFT_GRID_HEIGHT = 3; - - private ItemStack output = null; - private Object[] input = null; - public int width = 0; - public int height = 0; - private boolean mirrored = true; - - public ShapedBloodOrbRecipe(Block result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapedBloodOrbRecipe(Item result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapedBloodOrbRecipe(ItemStack result, Object... recipe) { - output = result.copy(); - - String shape = ""; - int idx = 0; - - if (recipe[idx] instanceof Boolean) { - mirrored = (Boolean) recipe[idx]; - if (recipe[idx + 1] instanceof Object[]) { - recipe = (Object[]) recipe[idx + 1]; - } else { - idx = 1; - } - } - - if (recipe[idx] instanceof String[]) { - String[] parts = ((String[]) recipe[idx++]); - - for (String s : parts) { - width = s.length(); - shape += s; - } - - height = parts.length; - } else { - while (recipe[idx] instanceof String) { - String s = (String) recipe[idx++]; - shape += s; - width = s.length(); - height++; - } - } - - if (width * height != shape.length()) { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - - HashMap itemMap = new HashMap(); - - for (; idx < recipe.length; idx += 2) { - Character chr = (Character) recipe[idx]; - Object in = recipe[idx + 1]; - - if (in instanceof IBloodOrb || (in instanceof ItemStack && ((ItemStack)in).getItem() instanceof IBloodOrb)) { //If the item is an instanceof IBloodOrb then save the level of the orb - if(in instanceof ItemStack) itemMap.put(chr, (Integer)(((IBloodOrb)((ItemStack)in).getItem()).getOrbLevel())); - else itemMap.put(chr, (Integer)(((IBloodOrb)in).getOrbLevel())); - } else if (in instanceof ItemStack) { - itemMap.put(chr, ((ItemStack) in).copy()); - } else if (in instanceof Item) { - itemMap.put(chr, new ItemStack((Item) in)); - } else if (in instanceof Block) { - itemMap.put(chr, new ItemStack((Block) in, 1, OreDictionary.WILDCARD_VALUE)); - } else if (in instanceof String) { - itemMap.put(chr, OreDictionary.getOres((String) in)); - } else { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - - input = new Object[width * height]; - int x = 0; - for (char chr : shape.toCharArray()) { - input[x++] = itemMap.get(chr); - } - } - - ShapedBloodOrbRecipe(ShapedRecipes recipe, Map replacements) { - output = recipe.getRecipeOutput(); - width = recipe.recipeWidth; - height = recipe.recipeHeight; - - input = new Object[recipe.recipeItems.length]; - - for (int i = 0; i < input.length; i++) { - ItemStack ingred = recipe.recipeItems[i]; - - if (ingred == null) - continue; - - input[i] = recipe.recipeItems[i]; - - for (Entry replace : replacements.entrySet()) { - if (OreDictionary.itemMatches(replace.getKey(), ingred, true)) { - input[i] = OreDictionary.getOres(replace.getValue()); - break; - } - } - } - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting var1) { - return output.copy(); - } - - @Override - public int getRecipeSize() { - return input.length; - } - - @Override - public ItemStack getRecipeOutput() { - return output; - } - - @Override - public boolean matches(InventoryCrafting inv, World world) { - for (int x = 0; x <= MAX_CRAFT_GRID_WIDTH - width; x++) { - for (int y = 0; y <= MAX_CRAFT_GRID_HEIGHT - height; ++y) { - if (checkMatch(inv, x, y, false)) { - return true; - } - - if (mirrored && checkMatch(inv, x, y, true)) { - return true; - } - } - } - - return false; - } - - @SuppressWarnings("unchecked") - private boolean checkMatch(InventoryCrafting inv, int startX, int startY, boolean mirror) { - for (int x = 0; x < MAX_CRAFT_GRID_WIDTH; x++) { - for (int y = 0; y < MAX_CRAFT_GRID_HEIGHT; y++) { - int subX = x - startX; - int subY = y - startY; - Object target = null; - - if (subX >= 0 && subY >= 0 && subX < width && subY < height) { - if (mirror) { - target = input[width - subX - 1 + subY * width]; - } else { - target = input[subX + subY * width]; - } - } - - ItemStack slot = inv.getStackInRowAndColumn(x, y); - //If target is integer, then we should be check the blood orb value of the item instead - if(target instanceof Integer) { - if(slot != null && slot.getItem() instanceof IBloodOrb) { - IBloodOrb orb = (IBloodOrb) slot.getItem(); - if(orb.getOrbLevel() < (Integer)target) { - return false; - } - } else return false; - } else if (target instanceof ItemStack) { - if (!OreDictionary.itemMatches((ItemStack) target, slot, false)) { - return false; - } - } else if (target instanceof ArrayList) { - boolean matched = false; - - Iterator itr = ((ArrayList) target).iterator(); - while (itr.hasNext() && !matched) { - matched = OreDictionary.itemMatches(itr.next(), slot, false); - } - - if (!matched) { - return false; - } - } else if (target == null && slot != null) { - return false; - } - } - } - - return true; - } - - public ShapedBloodOrbRecipe setMirrored(boolean mirror) { - mirrored = mirror; - return this; - } - - public Object[] getInput() { - return this.input; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/ShapelessBloodOrbRecipe.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/ShapelessBloodOrbRecipe.java deleted file mode 100644 index fbf28a45..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/ShapelessBloodOrbRecipe.java +++ /dev/null @@ -1,140 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.block.Block; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; - -/** Shapeless Blood Orb Recipe Handler by joshie **/ -public class ShapelessBloodOrbRecipe implements IRecipe { - private ItemStack output = null; - private ArrayList input = new ArrayList(); - - public ShapelessBloodOrbRecipe(Block result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapelessBloodOrbRecipe(Item result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapelessBloodOrbRecipe(ItemStack result, Object... recipe) { - output = result.copy(); - for (Object in : recipe) { - if (in instanceof ItemStack) { - input.add(((ItemStack) in).copy()); - } else if (in instanceof IBloodOrb) { //If the item is an instanceof IBloodOrb then save the level of the orb - input.add((Integer)(((IBloodOrb)in).getOrbLevel())); - } else if (in instanceof Item) { - input.add(new ItemStack((Item) in)); - } else if (in instanceof Block) { - input.add(new ItemStack((Block) in)); - } else if (in instanceof String) { - input.add(OreDictionary.getOres((String) in)); - } else { - String ret = "Invalid shapeless ore recipe: "; - for (Object tmp : recipe) { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - } - - @SuppressWarnings("unchecked") - ShapelessBloodOrbRecipe(ShapelessRecipes recipe, Map replacements) { - output = recipe.getRecipeOutput(); - - for (ItemStack ingred : ((List) recipe.recipeItems)) { - Object finalObj = ingred; - for (Entry replace : replacements.entrySet()) { - if (OreDictionary.itemMatches(replace.getKey(), ingred, false)) { - finalObj = OreDictionary.getOres(replace.getValue()); - break; - } - } - input.add(finalObj); - } - } - - @Override - public int getRecipeSize() { - return input.size(); - } - - @Override - public ItemStack getRecipeOutput() { - return output; - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting var1) { - return output.copy(); - } - - @SuppressWarnings("unchecked") - @Override - public boolean matches(InventoryCrafting var1, World world) { - ArrayList required = new ArrayList(input); - - for (int x = 0; x < var1.getSizeInventory(); x++) { - ItemStack slot = var1.getStackInSlot(x); - - if (slot != null) { - boolean inRecipe = false; - Iterator req = required.iterator(); - - while (req.hasNext()) { - boolean match = false; - - Object next = req.next(); - - //If target is integer, then we should be check the blood orb value of the item instead - if(next instanceof Integer) { - if(slot != null && slot.getItem() instanceof IBloodOrb) { - IBloodOrb orb = (IBloodOrb) slot.getItem(); - if(orb.getOrbLevel() < (Integer)next) { - return false; - } - } else return false; - } else if (next instanceof ItemStack) { - match = OreDictionary.itemMatches((ItemStack) next, slot, false); - } else if (next instanceof ArrayList) { - Iterator itr = ((ArrayList) next).iterator(); - while (itr.hasNext() && !match) { - match = OreDictionary.itemMatches(itr.next(), slot, false); - } - } - - if (match) { - inRecipe = true; - required.remove(next); - break; - } - } - - if (!inRecipe) { - return false; - } - } - } - - return required.isEmpty(); - } - - public ArrayList getInput() { - return this.input; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/ArmourUpgrade.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/ArmourUpgrade.java deleted file mode 100644 index 7fce7cd0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/ArmourUpgrade.java +++ /dev/null @@ -1,15 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items.interfaces; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface ArmourUpgrade -{ - //Called when the armour ticks - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack); - - public boolean isUpgrade(); - - public int getEnergyForTenSeconds(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBindable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBindable.java deleted file mode 100644 index 46a79939..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBindable.java +++ /dev/null @@ -1,5 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items.interfaces; - -public interface IBindable -{ -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBloodOrb.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBloodOrb.java deleted file mode 100644 index 794172cc..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBloodOrb.java +++ /dev/null @@ -1,8 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items.interfaces; - -public interface IBloodOrb -{ - public int getMaxEssence(); - - public int getOrbLevel(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IHolding.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IHolding.java deleted file mode 100644 index cb07b998..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IHolding.java +++ /dev/null @@ -1,6 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items.interfaces; - -public interface IHolding -{ - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IReagentManipulator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IReagentManipulator.java deleted file mode 100644 index df2c84bb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IReagentManipulator.java +++ /dev/null @@ -1,9 +0,0 @@ -package WayofTime.alchemicalWizardry.api.items.interfaces; - -/** - * Implement this interface to have reagent blocks return false on activating them, to allow manipulation of said block - */ -public interface IReagentManipulator -{ - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/IMasterRitualStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/IMasterRitualStone.java deleted file mode 100644 index be31cbf8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/IMasterRitualStone.java +++ /dev/null @@ -1,36 +0,0 @@ -package WayofTime.alchemicalWizardry.api.rituals; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ISegmentedReagentHandler; - -public interface IMasterRitualStone extends ISegmentedReagentHandler -{ - public void performRitual(World world, int x, int y, int z, String ritualID); - - public String getOwner(); - - public void setCooldown(int newCooldown); - - public int getCooldown(); - - public void setVar1(int newVar1); - - public int getVar1(); - - public void setActive(boolean active); - - public int getDirection(); - - public World getWorld(); - - public int getXCoord(); - - public int getYCoord(); - - public int getZCoord(); - - public NBTTagCompound getCustomRitualTag(); - - public void setCustomRitualTag(NBTTagCompound tag); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/IRitualStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/IRitualStone.java deleted file mode 100644 index 078cfd40..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/IRitualStone.java +++ /dev/null @@ -1,6 +0,0 @@ -package WayofTime.alchemicalWizardry.api.rituals; - -public interface IRitualStone -{ - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/RitualComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/RitualComponent.java deleted file mode 100644 index b7149858..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/RitualComponent.java +++ /dev/null @@ -1,43 +0,0 @@ -package WayofTime.alchemicalWizardry.api.rituals; - -public class RitualComponent -{ - private int x; - private int y; - private int z; - private int stoneType; - public static final int BLANK = 0; - public static final int WATER = 1; - public static final int FIRE = 2; - public static final int EARTH = 3; - public static final int AIR = 4; - public static final int DUSK = 5; - - public RitualComponent(int x, int y, int z, int stoneType) - { - this.x = x; - this.y = y; - this.z = z; - this.stoneType = stoneType; - } - - public int getX() - { - return this.x; - } - - public int getY() - { - return this.y; - } - - public int getZ() - { - return this.z; - } - - public int getStoneType() - { - return this.stoneType; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/RitualEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/RitualEffect.java deleted file mode 100644 index f5339288..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/RitualEffect.java +++ /dev/null @@ -1,56 +0,0 @@ -package WayofTime.alchemicalWizardry.api.rituals; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; - -public abstract class RitualEffect -{ - public abstract void performEffect(IMasterRitualStone ritualStone); - - public boolean startRitual(IMasterRitualStone ritualStone, EntityPlayer player) - { - return true; - } - - public void onRitualBroken(IMasterRitualStone ritualStone) - { - - } - - public abstract int getCostPerRefresh(); - - public int getInitialCooldown() - { - return 0; - } - - public abstract List getRitualComponentList(); - - public boolean canDrainReagent(IMasterRitualStone ritualStone, Reagent reagent, int amount, boolean doDrain) - { - if(ritualStone == null || reagent == null || amount == 0) - { - return false; - } - - ReagentStack reagentStack = new ReagentStack(reagent, amount); - - ReagentStack stack = ritualStone.drain(ForgeDirection.UNKNOWN, reagentStack, false); - - if(stack != null && stack.amount >= amount) - { - if(doDrain) - { - ritualStone.drain(ForgeDirection.UNKNOWN, reagentStack, true); - } - - return true; - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java deleted file mode 100644 index 212a43e0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java +++ /dev/null @@ -1,422 +0,0 @@ -package WayofTime.alchemicalWizardry.api.rituals; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.renderer.MRSRenderer; - -public class Rituals -{ - private int crystalLevel; - private int actCost; - private RitualEffect effect; - private String name; - - private MRSRenderer customRenderer; - - public static Map ritualMap = new HashMap(); - public static List keyList = new LinkedList(); - - public Rituals(int crystalLevel, int actCost, RitualEffect effect, String name, MRSRenderer renderer) - { - this.crystalLevel = crystalLevel; - this.actCost = actCost; - this.effect = effect; - this.name = name; - keyList.add(name); - ritualMap.put(name, this); - this.customRenderer = renderer; - } - - public Rituals(int crystalLevel, int actCost, RitualEffect effect, String name) - { - this(crystalLevel, actCost, effect, name, null); - } - - /** - * Static method to register a ritual to the Ritual Registry - * @param key Unique identification key - must be different from all others to properly register - * @param crystalLevel Crystal level required to activate - * @param actCost LP amount required to activate - * @param effect The effect that will be ticked - * @param name The name of the ritual - * @return Returns true if properly registered, or false if the key is already used - */ - public static boolean registerRitual(String key, int crystalLevel, int actCost, RitualEffect effect, String name, MRSRenderer renderer) - { - if(ritualMap.containsKey(key)) - { - return false; - } - else - { - Rituals ritual = new Rituals(crystalLevel, actCost, effect, name, renderer); - ritual.removeRitualFromList(); - ritualMap.put(key, ritual); - keyList.add(key); - return true; - } - } - - public static boolean registerRitual(String key, int crystalLevel, int actCost, RitualEffect effect, String name) - { - if(ritualMap.containsKey(key)) - { - return false; - } - else - { - Rituals ritual = new Rituals(crystalLevel, actCost, effect, name); - ritual.removeRitualFromList(); - ritualMap.put(key, ritual); - keyList.add(key); - return true; - } - } - - public void removeRitualFromList() - { - if(ritualMap.containsValue(this)) - { - ritualMap.remove(ritualMap.remove(this.name)); - } - if(keyList.contains(this.name)) - { - keyList.remove(this.name); - } - } - - public static String checkValidRitual(World world, int x, int y, int z) - { - for(String key : ritualMap.keySet()) - { - if(checkRitualIsValid(world,x,y,z,key)) - { - return key; - } - } - - return ""; - } - - public static boolean canCrystalActivate(String ritualID, int crystalLevel) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null) - { - return ritual.getCrystalLevel() <= crystalLevel; - } - } - - return false; - } - - public static boolean checkRitualIsValid(World world, int x, int y, int z, String ritualID) - { - int direction = Rituals.getDirectionOfRitual(world, x, y, z, ritualID); - - if (direction != -1) - { - return true; - } - - return false; - } - - /** - * 1 - NORTH - * 2 - EAST - * 3 - SOUTH - * 4 - WEST - */ - public static boolean checkDirectionOfRitualValid(World world, int x, int y, int z, String ritualID, int direction) - { - List ritual = Rituals.getRitualList(ritualID); - - if (ritual == null) - { - return false; - } - - Block test = null; - - switch (direction) - { - case 1: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x + rc.getX(), y + rc.getY(), z + rc.getZ()); - - if (!(test instanceof IRitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x + rc.getX(), y + rc.getY(), z + rc.getZ()) != rc.getStoneType()) - { - return false; - } - } - - return true; - - case 2: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x - rc.getZ(), y + rc.getY(), z + rc.getX()); - - if (!(test instanceof IRitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x - rc.getZ(), y + rc.getY(), z + rc.getX()) != rc.getStoneType()) - { - return false; - } - } - - return true; - - case 3: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x - rc.getX(), y + rc.getY(), z - rc.getZ()); - - if (!(test instanceof IRitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x - rc.getX(), y + rc.getY(), z - rc.getZ()) != rc.getStoneType()) - { - return false; - } - } - - return true; - - case 4: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x + rc.getZ(), y + rc.getY(), z - rc.getX()); - - if (!(test instanceof IRitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x + rc.getZ(), y + rc.getY(), z - rc.getX()) != rc.getStoneType()) - { - return false; - } - } - - return true; - } - - return false; - } - - public static int getDirectionOfRitual(World world, int x, int y, int z, String ritualID) - { - for (int i = 1; i <= 4; i++) - { - if (Rituals.checkDirectionOfRitualValid(world, x, y, z, ritualID, i)) - { - return i; - } - } - - return -1; - } - - public static int getCostForActivation(String ritualID) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null) - { - return ritual.actCost; - } - } - - return 0; - } - - public static int getInitialCooldown(String ritualID) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null && ritual.effect != null) - { - return ritual.effect.getInitialCooldown(); - } - } - - return 0; - } - - public static List getRitualList(String ritualID) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null) - { - return ritual.obtainComponents(); - }else - { - return null; - } - }else - { - return null; - } - } - - private List obtainComponents() - { - return this.effect.getRitualComponentList(); - } - - private int getCrystalLevel() - { - return this.crystalLevel; - } - - private MRSRenderer getRenderer() - { - return this.customRenderer; - } - - public static void performEffect(IMasterRitualStone ritualStone, String ritualID) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null && ritual.effect != null) - { - ritual.effect.performEffect(ritualStone); - } - } - } - - public static boolean startRitual(IMasterRitualStone ritualStone, String ritualID, EntityPlayer player) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null && ritual.effect != null) - { - return ritual.effect.startRitual(ritualStone, player); - } - } - - return false; - } - - public static void onRitualBroken(IMasterRitualStone ritualStone, String ritualID) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null && ritual.effect != null) - { - ritual.effect.onRitualBroken(ritualStone); - } - } - } - - public static int getNumberOfRituals() - { - return ritualMap.size(); - } - - public String getRitualName() - { - return this.name; - } - - public static String getNameOfRitual(String id) - { - if(ritualMap.containsKey(id)) - { - Rituals ritual = ritualMap.get(id); - if(ritual != null) - { - return ritual.getRitualName(); - } - } - - return ""; - } - - public static String getNextRitualKey(String key) - { - boolean hasSpotted = false; - String firstKey = ""; - - for(String str : keyList) - { - if(firstKey.equals("")) - { - firstKey = str; - } - if(hasSpotted) - { - return str; - } - if(str.equals(key)) - { - hasSpotted = true; - } - } - - return firstKey; - } - - public static String getPreviousRitualKey(String key) - { - boolean hasSpotted = false; - String lastKey = keyList.get(keyList.size()-1); - - for(String str : keyList) - { - if(str.equals(key)) - { - hasSpotted = true; - } - if(hasSpotted) - { - return lastKey; - } - lastKey = str; - } - - return lastKey; - } - - public static MRSRenderer getRendererForKey(String ritualID) - { - if(ritualMap.containsKey(ritualID)) - { - Rituals ritual = ritualMap.get(ritualID); - if(ritual != null) - { - return ritual.getRenderer(); - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/LifeEssenceNetwork.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/LifeEssenceNetwork.java deleted file mode 100644 index 61d24eee..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/LifeEssenceNetwork.java +++ /dev/null @@ -1,26 +0,0 @@ -package WayofTime.alchemicalWizardry.api.soulNetwork; - -import net.minecraft.nbt.NBTTagCompound; - -public class LifeEssenceNetwork extends net.minecraft.world.WorldSavedData -{ - public int currentEssence; - - public LifeEssenceNetwork(String par1Str) - { - super(par1Str); - currentEssence = 0; - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) - { - currentEssence = nbttagcompound.getInteger("currentEssence"); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) - { - nbttagcompound.setInteger("currentEssence", currentEssence); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java deleted file mode 100644 index 0bf21a6e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java +++ /dev/null @@ -1,292 +0,0 @@ -package WayofTime.alchemicalWizardry.api.soulNetwork; - -import java.util.UUID; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import com.mojang.authlib.GameProfile; - -public class SoulNetworkHandler -{ - public static UUID getUUIDFromPlayer(EntityPlayer player) - { - return player.getPersistentID(); - } - - public static EntityPlayer getPlayerFromUUID(UUID uuid) - { - MinecraftServer server = MinecraftServer.getServer(); - GameProfile gameProfile; - gameProfile = server.func_152358_ax().func_152652_a(uuid); -// LogHelper.info("player is " + gameProfile.getName() + " : " + gameProfile.getId()); - - return null; - } - - public static int syphonFromNetwork(ItemStack ist, int damageToBeDone) - { - if (ist.getTagCompound() != null && !(ist.getTagCompound().getString("ownerName").equals(""))) - { - String ownerName = ist.getTagCompound().getString("ownerName"); - - return syphonFromNetwork(ownerName, damageToBeDone); - } - return 0; - } - - public static int syphonFromNetwork(String ownerName, int damageToBeDone) - { - if (MinecraftServer.getServer() == null) - { - return 0; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - if (data.currentEssence >= damageToBeDone) - { - data.currentEssence -= damageToBeDone; - data.markDirty(); - return damageToBeDone; - } - - return 0; - } - - /** - * Master method used to syphon from the player's network, and will damage them accordingly if they do not have enough LP. - * Does not drain on the client side. - * - * @param ist Owned itemStack - * @param player Player using the item - * @param damageToBeDone - * @return True if server-sided, false if client-sided - */ - public static boolean syphonAndDamageFromNetwork(ItemStack ist, EntityPlayer player, int damageToBeDone) - { - if(player.worldObj.isRemote) - { - return false; - } - - int amount = SoulNetworkHandler.syphonFromNetwork(ist, damageToBeDone); - - hurtPlayer(player, damageToBeDone-amount); - - return true; - } - - public static boolean canSyphonFromOnlyNetwork(ItemStack ist, int damageToBeDone) - { - if (ist.getTagCompound() != null && !(ist.getTagCompound().getString("ownerName").equals(""))) - { - String ownerName = ist.getTagCompound().getString("ownerName"); - - return canSyphonFromOnlyNetwork(ownerName, damageToBeDone); - } - - return false; - } - - public static boolean canSyphonFromOnlyNetwork(String ownerName, int damageToBeDone) - { - if (MinecraftServer.getServer() == null) - { - return false; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - return data.currentEssence >= damageToBeDone; - } - - public static int getCurrentEssence(String ownerName) - { - if (MinecraftServer.getServer() == null) - { - return 0; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - return data.currentEssence; - } - - public static void setCurrentEssence(String ownerName, int essence) - { - if (MinecraftServer.getServer() == null) - { - return; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - data.currentEssence = essence; - data.markDirty(); - } - - /** - * A method to add to an owner's network up to a maximum value. - * - * @param ownerName - * @param addedEssence - * @param maximum - * @return amount added to the network - */ - public static int addCurrentEssenceToMaximum(String ownerName, int addedEssence, int maximum) - { - if (MinecraftServer.getServer() == null) - { - return 0; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - int currEss = data.currentEssence; - - if(currEss>=maximum) - { - return 0; - } - - int newEss = Math.min(maximum, currEss+addedEssence); - data.currentEssence = newEss; - - return newEss-currEss; - } - - public static void hurtPlayer(EntityPlayer user, int energySyphoned) - { - if (energySyphoned < 100 && energySyphoned > 0) - { - if (!user.capabilities.isCreativeMode) - { - user.setHealth((user.getHealth() - 1)); - - if (user.getHealth() <= 0.0005f) - { - user.onDeath(DamageSource.generic); - } - } - } else if (energySyphoned >= 100) - { - if (!user.capabilities.isCreativeMode) - { - for (int i = 0; i < ((energySyphoned + 99) / 100); i++) - { - user.setHealth((user.getHealth() - 1)); - - if (user.getHealth() <= 0.0005f) - { - user.onDeath(DamageSource.generic); - break; - } - } - } - } - } - - public static void checkAndSetItemOwner(ItemStack item, EntityPlayer player) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - if (item.stackTagCompound.getString("ownerName").equals("")) - { - item.stackTagCompound.setString("ownerName", SoulNetworkHandler.getUsername(player)); - } - } - - public static void checkAndSetItemOwner(ItemStack item, String ownerName) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - if (item.stackTagCompound.getString("ownerName").equals("")) - { - item.stackTagCompound.setString("ownerName", ownerName); - } - } - - public static String getUsername(EntityPlayer player) - { - return player.getDisplayName(); - } - - public static EntityPlayer getPlayerForUsername(String str) - { - if(MinecraftServer.getServer() == null) - { - return null; - } - return MinecraftServer.getServer().getConfigurationManager().func_152612_a(str); - } - - public static void causeNauseaToPlayer(ItemStack stack) - { - if (stack.getTagCompound() != null && !(stack.getTagCompound().getString("ownerName").equals(""))) - { - String ownerName = stack.getTagCompound().getString("ownerName"); - - SoulNetworkHandler.causeNauseaToPlayer(ownerName); - } - } - - public static void causeNauseaToPlayer(String ownerName) - { - EntityPlayer entityOwner = SoulNetworkHandler.getPlayerForUsername(ownerName); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java deleted file mode 100644 index cccfe3f4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.api.summoningRegistry; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.world.World; - -public abstract class SummoningHelper -{ - protected int id; - - public SummoningHelper(int id) - { - this.id = id; - } - - public abstract EntityLivingBase getEntity(World worldObj); - - public int getSummoningHelperID() - { - return id; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java deleted file mode 100644 index 9fda5822..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java +++ /dev/null @@ -1,70 +0,0 @@ -package WayofTime.alchemicalWizardry.api.summoningRegistry; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.ArrayList; -import java.util.List; - -public class SummoningRegistry -{ - public static List summoningList = new ArrayList(); - - public static void registerSummon(SummoningHelper s, ItemStack[] ring1, ItemStack[] ring2, ItemStack[] ring3, int amountUsed, int bloodOrbLevel) - { - summoningList.add(new SummoningRegistryComponent(s, ring1, ring2, ring3, amountUsed, bloodOrbLevel)); - } - - public static boolean isRecipeValid(int bloodOrbLevel, ItemStack[] test1, ItemStack[] test2, ItemStack[] test3) - { - for (SummoningRegistryComponent src : summoningList) - { - if (src.getBloodOrbLevel() <= bloodOrbLevel && src.compareRing(1, test1) && src.compareRing(2, test2) && src.compareRing(3, test3)) - { - return true; - } - } - - return false; - } - - public static SummoningRegistryComponent getRegistryComponent(int bloodOrbLevel, ItemStack[] test1, ItemStack[] test2, ItemStack[] test3) - { - for (SummoningRegistryComponent src : summoningList) - { - if (src.getBloodOrbLevel() <= bloodOrbLevel && src.compareRing(1, test1) && src.compareRing(2, test2) && src.compareRing(3, test3)) - { - return src; - } - } - - return null; - } - - public static EntityLivingBase getEntity(World worldObj, int bloodOrbLevel, ItemStack[] test1, ItemStack[] test2, ItemStack[] test3) - { - for (SummoningRegistryComponent src : summoningList) - { - if (src.getBloodOrbLevel() <= bloodOrbLevel && src.compareRing(1, test1) && src.compareRing(2, test2) && src.compareRing(3, test3)) - { - return src.getEntity(worldObj); - } - } - - return null; - } - - public static EntityLivingBase getEntityWithID(World worldObj, int id) - { - for (SummoningRegistryComponent src : summoningList) - { - if (src.getSummoningHelperID() == id) - { - return src.getEntity(worldObj); - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java deleted file mode 100644 index 8496b0f2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java +++ /dev/null @@ -1,231 +0,0 @@ -package WayofTime.alchemicalWizardry.api.summoningRegistry; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; - -public class SummoningRegistryComponent -{ - public ItemStack[] ring1 = new ItemStack[6]; - public ItemStack[] ring2 = new ItemStack[6]; - public ItemStack[] ring3 = new ItemStack[6]; - public SummoningHelper summoningHelper; - public int summoningCost; - public int bloodOrbLevel; - - public SummoningRegistryComponent(SummoningHelper s, ItemStack[] newRing1, ItemStack[] newRing2, ItemStack[] newRing3, int amount, int bloodOrbLevel) - { - this.summoningHelper = s; - this.ring1 = newRing1; - this.ring2 = newRing2; - this.ring3 = newRing3; - this.summoningCost = amount; - this.bloodOrbLevel = bloodOrbLevel; - - if (this.ring1.length != 6) - { - ItemStack[] newRecipe = new ItemStack[6]; - - for (int i = 0; i < 6; i++) - { - if (i + 1 > this.ring1.length) - { - newRecipe[i] = null; - } else - { - newRecipe[i] = this.ring1[i]; - } - } - - this.ring1 = newRecipe; - } - - if (this.ring2.length != 6) - { - ItemStack[] newRecipe = new ItemStack[6]; - - for (int i = 0; i < 6; i++) - { - if (i + 1 > this.ring2.length) - { - newRecipe[i] = null; - } else - { - newRecipe[i] = this.ring2[i]; - } - } - - this.ring2 = newRecipe; - } - - if (this.ring3.length != 6) - { - ItemStack[] newRecipe = new ItemStack[6]; - - for (int i = 0; i < 6; i++) - { - if (i + 1 > this.ring3.length) - { - newRecipe[i] = null; - } else - { - newRecipe[i] = this.ring3[i]; - } - } - - this.ring3 = newRecipe; - } - } - - public boolean compareRing(int ring, ItemStack[] checkedRingRecipe) - { - ItemStack[] recipe; - - if (checkedRingRecipe.length < 6) - { - return false; - } - - switch (ring) - { - case 1: - recipe = ring1; - break; - - case 2: - recipe = ring2; - break; - - case 3: - recipe = ring3; - break; - - default: - recipe = ring1; - } - - if (recipe.length != 6) - { - ItemStack[] newRecipe = new ItemStack[6]; - - for (int i = 0; i < 6; i++) - { - if (i + 1 > recipe.length) - { - newRecipe[i] = null; - } else - { - newRecipe[i] = recipe[i]; - } - } - - recipe = newRecipe; - } - - boolean[] checkList = new boolean[6]; - - for (int i = 0; i < 6; i++) - { - checkList[i] = false; - } - - for (int i = 0; i < 6; i++) - { - ItemStack recipeItemStack = recipe[i]; - - if (recipeItemStack == null) - { - continue; - } - - boolean test = false; - - for (int j = 0; j < 6; j++) - { - if (checkList[j]) - { - continue; - } - - ItemStack checkedItemStack = checkedRingRecipe[j]; - - if (checkedItemStack == null) - { - continue; - } - - boolean quickTest = false; - - if (recipeItemStack.getItem() instanceof ItemBlock) - { - if (checkedItemStack.getItem() instanceof ItemBlock) - { - quickTest = true; - } - } else if (!(checkedItemStack.getItem() instanceof ItemBlock)) - { - quickTest = true; - } - - if (!quickTest) - { - continue; - } - - if ((checkedItemStack.getItemDamage() == recipeItemStack.getItemDamage() || OreDictionary.WILDCARD_VALUE == recipeItemStack.getItemDamage()) && checkedItemStack.getItem() == recipeItemStack.getItem()) - { - test = true; - checkList[j] = true; - break; - } - } - - if (!test) - { - return false; - } - } - - return true; - } - - public int getSummoningCost() - { - return summoningCost; - } - - public EntityLivingBase getEntity(World world) - { - return this.summoningHelper.getEntity(world); - } - - public int getBloodOrbLevel() - { - return this.bloodOrbLevel; - } - - public ItemStack[] getRingRecipeForRing(int ring) - { - switch (ring) - { - case 1: - return ring1; - - case 2: - return ring2; - - case 3: - return ring3; - - default: - return null; - } - } - - public int getSummoningHelperID() - { - return this.summoningHelper.getSummoningHelperID(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/api/tile/IBloodAltar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/api/tile/IBloodAltar.java deleted file mode 100644 index c70d6188..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/api/tile/IBloodAltar.java +++ /dev/null @@ -1,26 +0,0 @@ -package WayofTime.alchemicalWizardry.api.tile; - -/** - * Created by Pokefenn. - */ -public interface IBloodAltar -{ - - public int getCapacity(); - - public int getCurrentBlood(); - - public int getTier(); - - public int getProgress(); - - public float getSacrificeMultiplier(); - - public float getSelfSacrificeMultiplier(); - - public float getOrbMultiplier(); - - public float getDislocationMultiplier(); - - public int getBufferCapacity(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java deleted file mode 100644 index 864de3c4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java +++ /dev/null @@ -1,58 +0,0 @@ -package WayofTime.alchemicalWizardry.client; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.client.event.RenderPlayerEvent; -import net.minecraftforge.client.event.sound.SoundEvent; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.client.renderer.RenderHelper; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.eventhandler.Event.Result; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.RenderTickEvent; - -public class ClientEventHandler -{ - private Minecraft mcClient = FMLClientHandler.instance().getClient(); - - @SubscribeEvent - public void onPlayerSoundEvent(SoundEvent event) - { - if(Minecraft.getMinecraft() != null) - { - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - if(player != null && player.isPotionActive(AlchemicalWizardry.customPotionDeaf)) - { - event.setResult(Result.DENY); - } - } - } - - @SubscribeEvent - public void onTick(RenderTickEvent event) - { - if (event.phase.equals(Phase.START)) - return; - - if (!RenderHelper.onTickInGame(mcClient)) - { - - } - } - - @SubscribeEvent - public void onRenderLivingPlayerPre(RenderPlayerEvent.Pre event) - { - GL11.glDisable(2929); - } - - @SubscribeEvent - public void onRenderLivingPlayerPost(RenderPlayerEvent.Post event) - { - GL11.glEnable(2929); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java b/src-backup/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java deleted file mode 100644 index ac7d29e2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java +++ /dev/null @@ -1,178 +0,0 @@ -package WayofTime.alchemicalWizardry.client; - -import net.minecraft.item.ItemBlock; -import net.minecraft.world.World; -import net.minecraftforge.client.MinecraftForgeClient; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.CommonProxy; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFireElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityHolyElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShade; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShadeElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntitySmallEarthGolem; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWaterElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWingedFireDemon; -import WayofTime.alchemicalWizardry.common.entity.projectile.EnergyBlastProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityEnergyBazookaMainProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityMeteor; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityParticleBeam; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderAlchemicCalcinator; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderConduit; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderCrystalBelljar; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderMasterStone; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderPedestal; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderPlinth; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderReagentConduit; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderSpellEffectBlock; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderSpellEnhancementBlock; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderSpellModifierBlock; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderSpellParadigmBlock; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderWritingTable; -import WayofTime.alchemicalWizardry.common.renderer.block.ShaderHelper; -import WayofTime.alchemicalWizardry.common.renderer.block.TEAltarRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TEAlchemicalCalcinatorItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TEAltarItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TEBellJarItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TEConduitItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TESpellEffectBlockItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TESpellEnhancementBlockItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TESpellModifierBlockItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.block.itemRender.TESpellParadigmBlockItemRenderer; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderBileDemon; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderBoulderFist; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderElemental; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderFallenAngel; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderIceDemon; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderLowerGuardian; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderShade; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderSmallEarthGolem; -import WayofTime.alchemicalWizardry.common.renderer.mob.RenderWingedFireDemon; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelBileDemon; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelBoulderFist; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelElemental; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelFallenAngel; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelIceDemon; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelLowerGuardian; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelShade; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSmallEarthGolem; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelWingedFireDemon; -import WayofTime.alchemicalWizardry.common.renderer.projectile.RenderEnergyBazookaMainProjectile; -import WayofTime.alchemicalWizardry.common.renderer.projectile.RenderEnergyBlastProjectile; -import WayofTime.alchemicalWizardry.common.renderer.projectile.RenderMeteor; -import WayofTime.alchemicalWizardry.common.spell.complex.EntitySpellProjectile; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAlchemicCalcinator; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEnhancementBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellModifierBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellParadigmBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.FMLCommonHandler; - -public class ClientProxy extends CommonProxy -{ - public static int renderPass; - public static int altarRenderType; - - @Override - public void registerRenderers() - { - //altarRenderType = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerEntityRenderingHandler(EnergyBlastProjectile.class, new RenderEnergyBlastProjectile()); - RenderingRegistry.registerEntityRenderingHandler(EntityEnergyBazookaMainProjectile.class, new RenderEnergyBazookaMainProjectile()); - RenderingRegistry.registerEntityRenderingHandler(EntitySpellProjectile.class, new RenderEnergyBlastProjectile()); - RenderingRegistry.registerEntityRenderingHandler(EntityParticleBeam.class, new RenderEnergyBlastProjectile()); - RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor()); - //EntityRegistry.registerGlobalEntityID(EntityFallenAngel.class, "AlchemicalWizardry.FallenAngel", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityFallenAngel.class, new RenderFallenAngel(new ModelFallenAngel(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityLowerGuardian.class, "AlchemicalWizardry.LowerGuardian", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityLowerGuardian.class, new RenderLowerGuardian(new ModelLowerGuardian(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityBileDemon.class, "AlchemicalWizardry.BileDemon", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityBileDemon.class, new RenderBileDemon(new ModelBileDemon(), 1.5F)); - //EntityRegistry.registerGlobalEntityID(EntityWingedFireDemon.class, "AlchemicalWizardry.WingedFireDemon", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityWingedFireDemon.class, new RenderWingedFireDemon(new ModelWingedFireDemon(), 1.0F)); - //EntityRegistry.registerGlobalEntityID(EntitySmallEarthGolem.class, "AlchemicalWizardry.SmallEarthGolem", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntitySmallEarthGolem.class, new RenderSmallEarthGolem(new ModelSmallEarthGolem(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityIceDemon.class, "AlchemicalWizardry.IceDemon", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityIceDemon.class, new RenderIceDemon(new ModelIceDemon(), 0.5F)); - // EntityRegistry.registerGlobalEntityID(EntityBoulderFist.class, "AlchemicalWizardry.BoulderFist", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityBoulderFist.class, new RenderBoulderFist(new ModelBoulderFist(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityShade.class, "AlchemicalWizardry.Shade", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityShade.class, new RenderShade(new ModelShade(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityAirElemental.class, "AlchemicalWizardry.AirElemental", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityAirElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityWaterElemental.class, "AlchemicalWizardry.WaterElemental", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityWaterElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityEarthElemental.class, "AlchemicalWizardry.EarthElemental", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityEarthElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityFireElemental.class, "AlchemicalWizardry.FireElemental", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityFireElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityShadeElemental.class, "AlchemicalWizardry.ShadeElemental", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityShadeElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - //EntityRegistry.registerGlobalEntityID(EntityHolyElemental.class, "AlchemicalWizardry.HolyElemental", EntityRegistry.findGlobalUniqueEntityId(),0x40FF00, 0x0B610B); - RenderingRegistry.registerEntityRenderingHandler(EntityHolyElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - ClientRegistry.bindTileEntitySpecialRenderer(TEAltar.class, new TEAltarRenderer()); - ClientRegistry.bindTileEntitySpecialRenderer(TEPedestal.class, new RenderPedestal()); - ClientRegistry.bindTileEntitySpecialRenderer(TEPlinth.class, new RenderPlinth()); - ClientRegistry.bindTileEntitySpecialRenderer(TEWritingTable.class, new RenderWritingTable()); - ClientRegistry.bindTileEntitySpecialRenderer(TEConduit.class, new RenderConduit()); - ClientRegistry.bindTileEntitySpecialRenderer(TESpellEffectBlock.class, new RenderSpellEffectBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TESpellEnhancementBlock.class, new RenderSpellEnhancementBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TESpellParadigmBlock.class, new RenderSpellParadigmBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TESpellModifierBlock.class, new RenderSpellModifierBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TEReagentConduit.class, new RenderReagentConduit()); - ClientRegistry.bindTileEntitySpecialRenderer(TEMasterStone.class, new RenderMasterStone()); - ClientRegistry.bindTileEntitySpecialRenderer(TEAlchemicCalcinator.class, new RenderAlchemicCalcinator()); - ClientRegistry.bindTileEntitySpecialRenderer(TEBellJar.class, new RenderCrystalBelljar()); - - //Item Renderer stuff - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockConduit), new TEConduitItemRenderer()); - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockSpellEffect), new TESpellEffectBlockItemRenderer()); - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockSpellEnhancement), new TESpellEnhancementBlockItemRenderer()); - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockSpellParadigm), new TESpellParadigmBlockItemRenderer()); - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockSpellModifier), new TESpellModifierBlockItemRenderer()); - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockAlchemicCalcinator), new TEAlchemicalCalcinatorItemRenderer()); - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockCrystalBelljar), new TEBellJarItemRenderer()); - - //RenderingRegistry.registerEntityRenderingHandler(FireProjectile.class, new RenderFireProjectile()); - //RenderingRegistry.registerBlockHandler(new AltarRenderer()); - - ShaderHelper.initShaders(); - } - - @Override - public World getClientWorld() - { - return FMLClientHandler.instance().getClient().theWorld; - } - - @Override - public void InitRendering() - { - - MinecraftForgeClient.registerItemRenderer(ItemBlock.getItemFromBlock(ModBlocks.blockAltar), new TEAltarItemRenderer()); - //MinecraftForgeClient.registerItemRenderer(AlchemicalWizardry.blockWritingTable.blockID, new TEWritingTableItemRenderer()); - } - - @Override - public void registerEvents() - { - FMLCommonHandler.instance().bus().register(new ClientEventHandler()); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/ColourThreshold.java b/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/ColourThreshold.java deleted file mode 100644 index f7ee748a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/ColourThreshold.java +++ /dev/null @@ -1,49 +0,0 @@ -package WayofTime.alchemicalWizardry.client.renderer; - -import java.util.List; -/** - * This class is a utility class that was created by bspkrs. - * https://github.com/bspkrs/bspkrsCore/blob/master/src/main/java/bspkrs/client/util/ColorThreshold.java - */ -public class ColourThreshold implements Comparable -{ - public int threshold; - public String colorCode; - - public ColourThreshold(int t, String c) - { - threshold = t; - colorCode = c; - } - - @Override - public String toString() - { - return String.valueOf(threshold) + ", " + colorCode; - } - - @Override - public int compareTo(ColourThreshold o) - { - if (this.threshold > o.threshold) - return 1; - else if (this.threshold < o.threshold) - return -1; - else - return 0; - } - - /** - * Returns the colorCode attached to the first threshold in the list that is - * >= value. Expects that the list has been sorted by threshold ascending. - */ - public static String getColorCode(List colorList, int value) - { - for (ColourThreshold ct : colorList) - if (value <= ct.threshold) - return ct.colorCode; - - return "f"; - } -} - diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/HUDElement.java b/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/HUDElement.java deleted file mode 100644 index e597135f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/HUDElement.java +++ /dev/null @@ -1,146 +0,0 @@ -package WayofTime.alchemicalWizardry.client.renderer; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.item.ItemStack; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.BloodMagicConfiguration; - -public class HUDElement -{ - public final ItemStack itemStack; - public final int iconW; - public final int iconH; - public final int padW; - public final int value; - private int elementW; - private int elementH; - private String itemName = ""; - private int itemNameW; - private String itemDamage = ""; - private int itemDamageW; - private Minecraft mc = Minecraft.getMinecraft(); - - private static final int offset = 5; - - public boolean enableItemName = false; - public boolean showValue = true; - public boolean showDamageOverlay = false; - public boolean showItemCount = false; - - static RenderItem itemRenderer = new RenderItem(); - - public HUDElement(ItemStack itemStack, int iconW, int iconH, int padW, int value) - { - this.itemStack = itemStack; - this.iconW = iconW; - this.iconH = iconH; - this.padW = padW; - this.value = value; - - initSize(); - } - - public int width() - { - return elementW; - } - - public int height() - { - return elementH; - } - - private void initSize() - { - elementH = enableItemName ? Math.max(Minecraft.getMinecraft().fontRenderer.FONT_HEIGHT * 2, iconH) : - Math.max(mc.fontRenderer.FONT_HEIGHT, iconH); - - if (itemStack != null) - { - int damage = 1; - int maxDamage = 1; - - if (showValue) - { - maxDamage = itemStack.getMaxDamage() + 1; - damage = maxDamage - itemStack.getItemDamageForDisplay(); - - boolean showSpecialValue = true; - boolean showValue = false; - boolean showPercent = false; - - boolean showMaxDamage = true; - boolean thresholdPercent = true; - - if(showSpecialValue) - { - itemDamage = "\247" + ColourThreshold.getColorCode(BloodMagicConfiguration.colorList, - (thresholdPercent ? damage * 100 / maxDamage : damage)) + this.value; - } - else if (showValue) - itemDamage = "\247" + ColourThreshold.getColorCode(BloodMagicConfiguration.colorList, - (thresholdPercent ? damage * 100 / maxDamage : damage)) + damage + - (showMaxDamage ? "/" + maxDamage : ""); - else if (showPercent) - itemDamage = "\247" + ColourThreshold.getColorCode(BloodMagicConfiguration.colorList, - (thresholdPercent ? damage * 100 / maxDamage : damage)) + - (damage * 100 / maxDamage) + "%"; - } - - itemDamageW = mc.fontRenderer.getStringWidth(HUDUtils.stripCtrl(itemDamage)); - elementW = padW + iconW + padW + itemDamageW + offset; - - if (enableItemName) - { - itemName = itemStack.getDisplayName(); - elementW = padW + iconW + padW + - Math.max(mc.fontRenderer.getStringWidth(HUDUtils.stripCtrl(itemName)), itemDamageW); - } - - itemNameW = mc.fontRenderer.getStringWidth(HUDUtils.stripCtrl(itemName)); - } - } - - public void renderToHud(int x, int y) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(32826 /* GL_RESCALE_NORMAL_EXT */); - RenderHelper.enableStandardItemLighting(); - RenderHelper.enableGUIStandardItemLighting(); - itemRenderer.zLevel = 200.0F; - - //if (ArmorStatusHUD.alignMode.toLowerCase().contains("right")) - boolean toRight = true; - if(toRight) - { - itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), itemStack, x - (iconW + padW), y); - HUDUtils.renderItemOverlayIntoGUI(mc.fontRenderer, itemStack, x - (iconW + padW), y, showDamageOverlay, showItemCount); - - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(32826 /* GL_RESCALE_NORMAL_EXT */); - GL11.glDisable(GL11.GL_BLEND); - - mc.fontRenderer.drawStringWithShadow(itemName + "\247r", x - (padW + iconW + padW) - itemNameW, y, 0xffffff); - mc.fontRenderer.drawStringWithShadow(itemDamage + "\247r", x - (padW + iconW + padW) - itemDamageW, - y + (enableItemName ? elementH / 2 : elementH / 4), 0xffffff); - } - else - { - itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), itemStack, x, y); - HUDUtils.renderItemOverlayIntoGUI(mc.fontRenderer, itemStack, x, y, showDamageOverlay, showItemCount); - - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(32826 /* GL_RESCALE_NORMAL_EXT */); - GL11.glDisable(GL11.GL_BLEND); - - mc.fontRenderer.drawStringWithShadow(itemName + "\247r", x + iconW + padW, y, 0xffffff); - mc.fontRenderer.drawStringWithShadow(itemDamage + "\247r", x + iconW + padW, - y + (enableItemName ? elementH / 2 : elementH / 4), 0xffffff); - } - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/HUDUtils.java b/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/HUDUtils.java deleted file mode 100644 index 08217699..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/HUDUtils.java +++ /dev/null @@ -1,272 +0,0 @@ -package WayofTime.alchemicalWizardry.client.renderer; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -/** - * This class is a utility class that was created by bspkrs. - * https://github.com/bspkrs/bspkrsCore/blob/master/src/main/java/bspkrs/client/util/HUDUtils.java - */ -public final class HUDUtils -{ - private static int[] colorCodes = new int[] { 0, 170, 43520, 43690, 11141120, 11141290, 16755200, 11184810, 5592405, 5592575, 5635925, 5636095, 16733525, 16733695, 16777045, 16777215, - 0, 42, 10752, 10794, 2752512, 2752554, 2763264, 2763306, 1381653, 1381695, 1392405, 1392447, 4134165, 4134207, 4144917, 4144959 }; - - public static int getColorCode(char c, boolean isLighter) - { - return colorCodes[isLighter ? "0123456789abcdef".indexOf(c) : "0123456789abcdef".indexOf(c) + 16]; - } - - /** - * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders - * and filler. It is assumed that the desired texture ResourceLocation object has been bound using - * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * - * @param x x axis offset - * @param y y axis offset - * @param u bound resource location image x offset - * @param v bound resource location image y offset - * @param width the desired box width - * @param height the desired box height - * @param textureWidth the width of the box texture in the resource location image - * @param textureHeight the height of the box texture in the resource location image - * @param borderSize the size of the box's borders - * @param zLevel the zLevel to draw at - */ - public static void drawContinuousTexturedBox(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, - int borderSize, float zLevel) - { - drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, borderSize, borderSize, borderSize, borderSize, zLevel); - } - - /** - * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders - * and filler. The provided ResourceLocation object will be bound using - * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * - * @param res the ResourceLocation object that contains the desired image - * @param x x axis offset - * @param y y axis offset - * @param u bound resource location image x offset - * @param v bound resource location image y offset - * @param width the desired box width - * @param height the desired box height - * @param textureWidth the width of the box texture in the resource location image - * @param textureHeight the height of the box texture in the resource location image - * @param borderSize the size of the box's borders - * @param zLevel the zLevel to draw at - */ - public static void drawContinuousTexturedBox(ResourceLocation res, int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, - int borderSize, float zLevel) - { - drawContinuousTexturedBox(res, x, y, u, v, width, height, textureWidth, textureHeight, borderSize, borderSize, borderSize, borderSize, zLevel); - } - - /** - * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders - * and filler. The provided ResourceLocation object will be bound using - * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * - * @param res the ResourceLocation object that contains the desired image - * @param x x axis offset - * @param y y axis offset - * @param u bound resource location image x offset - * @param v bound resource location image y offset - * @param width the desired box width - * @param height the desired box height - * @param textureWidth the width of the box texture in the resource location image - * @param textureHeight the height of the box texture in the resource location image - * @param topBorder the size of the box's top border - * @param bottomBorder the size of the box's bottom border - * @param leftBorder the size of the box's left border - * @param rightBorder the size of the box's right border - * @param zLevel the zLevel to draw at - */ - public static void drawContinuousTexturedBox(ResourceLocation res, int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, - int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) - { - Minecraft.getMinecraft().getTextureManager().bindTexture(res); - drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, topBorder, bottomBorder, leftBorder, rightBorder, zLevel); - } - - /** - * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders - * and filler. It is assumed that the desired texture ResourceLocation object has been bound using - * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). - * - * @param x x axis offset - * @param y y axis offset - * @param u bound resource location image x offset - * @param v bound resource location image y offset - * @param width the desired box width - * @param height the desired box height - * @param textureWidth the width of the box texture in the resource location image - * @param textureHeight the height of the box texture in the resource location image - * @param topBorder the size of the box's top border - * @param bottomBorder the size of the box's bottom border - * @param leftBorder the size of the box's left border - * @param rightBorder the size of the box's right border - * @param zLevel the zLevel to draw at - */ - public static void drawContinuousTexturedBox(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, - int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - int fillerWidth = textureWidth - leftBorder - rightBorder; - int fillerHeight = textureHeight - topBorder - bottomBorder; - int canvasWidth = width - leftBorder - rightBorder; - int canvasHeight = height - topBorder - bottomBorder; - int xPasses = canvasWidth / fillerWidth; - int remainderWidth = canvasWidth % fillerWidth; - int yPasses = canvasHeight / fillerHeight; - int remainderHeight = canvasHeight % fillerHeight; - - // Draw Border - // Top Left - drawTexturedModalRect(x, y, u, v, leftBorder, topBorder, zLevel); - // Top Right - drawTexturedModalRect(x + leftBorder + canvasWidth, y, u + leftBorder + fillerWidth, v, rightBorder, topBorder, zLevel); - // Bottom Left - drawTexturedModalRect(x, y + topBorder + canvasHeight, u, v + topBorder + fillerHeight, leftBorder, bottomBorder, zLevel); - // Bottom Right - drawTexturedModalRect(x + leftBorder + canvasWidth, y + topBorder + canvasHeight, u + leftBorder + fillerWidth, v + topBorder + fillerHeight, rightBorder, bottomBorder, zLevel); - - for (int i = 0; i < xPasses + (remainderWidth > 0 ? 1 : 0); i++) - { - // Top Border - drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y, u + leftBorder, v, (i == xPasses ? remainderWidth : fillerWidth), topBorder, zLevel); - // Bottom Border - drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y + topBorder + canvasHeight, u + leftBorder, v + topBorder + fillerHeight, (i == xPasses ? remainderWidth : fillerWidth), bottomBorder, zLevel); - - // Throw in some filler for good measure - for (int j = 0; j < yPasses + (remainderHeight > 0 ? 1 : 0); j++) - drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y + topBorder + (j * fillerHeight), u + leftBorder, v + topBorder, (i == xPasses ? remainderWidth : fillerWidth), (j == yPasses ? remainderHeight : fillerHeight), zLevel); - } - - // Side Borders - for (int j = 0; j < yPasses + (remainderHeight > 0 ? 1 : 0); j++) - { - // Left Border - drawTexturedModalRect(x, y + topBorder + (j * fillerHeight), u, v + topBorder, leftBorder, (j == yPasses ? remainderHeight : fillerHeight), zLevel); - // Right Border - drawTexturedModalRect(x + leftBorder + canvasWidth, y + topBorder + (j * fillerHeight), u + leftBorder + fillerWidth, v + topBorder, rightBorder, (j == yPasses ? remainderHeight : fillerHeight), zLevel); - } - } - - public static void drawTexturedModalRect(int x, int y, int u, int v, int width, int height, float zLevel) - { - float var7 = 0.00390625F; - float var8 = 0.00390625F; - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV((x + 0), (y + height), zLevel, ((u + 0) * var7), ((v + height) * var8)); - tessellator.addVertexWithUV((x + width), (y + height), zLevel, ((u + width) * var7), ((v + height) * var8)); - tessellator.addVertexWithUV((x + width), (y + 0), zLevel, ((u + width) * var7), ((v + 0) * var8)); - tessellator.addVertexWithUV((x + 0), (y + 0), zLevel, ((u + 0) * var7), ((v + 0) * var8)); - tessellator.draw(); - } - - /** - * Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the specified position. - */ - public static void renderItemOverlayIntoGUI(FontRenderer fontRenderer, ItemStack itemStack, int x, int y) - { - renderItemOverlayIntoGUI(fontRenderer, itemStack, x, y, true, true); - } - - /** - * Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the specified position. - */ - public static void renderItemOverlayIntoGUI(FontRenderer fontRenderer, ItemStack itemStack, int x, int y, boolean showDamageBar, boolean showCount) - { - if (itemStack != null && (showDamageBar || showCount)) - { - if (itemStack.isItemDamaged() && showDamageBar) - { - int var11 = (int) Math.round(13.0D - itemStack.getItemDamageForDisplay() * 13.0D / itemStack.getMaxDamage()); - int var7 = (int) Math.round(255.0D - itemStack.getItemDamageForDisplay() * 255.0D / itemStack.getMaxDamage()); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glDisable(GL11.GL_TEXTURE_2D); - Tessellator var8 = Tessellator.instance; - int var9 = 255 - var7 << 16 | var7 << 8; - int var10 = (255 - var7) / 4 << 16 | 16128; - renderQuad(var8, x + 2, y + 13, 13, 2, 0); - renderQuad(var8, x + 2, y + 13, 12, 1, var10); - renderQuad(var8, x + 2, y + 13, var11, 1, var9); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } - - if (showCount) - { - int count = 0; - - if (itemStack.getMaxStackSize() > 1) - count = HUDUtils.countInInventory(Minecraft.getMinecraft().thePlayer, itemStack.getItem(), itemStack.getItemDamage()); - else if (itemStack.getItem().equals(Items.bow)) - count = HUDUtils.countInInventory(Minecraft.getMinecraft().thePlayer, Items.arrow); - - if (count > 1) - { - String var6 = "" + count; - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - fontRenderer.drawStringWithShadow(var6, x + 19 - 2 - fontRenderer.getStringWidth(var6), y + 6 + 3, 16777215); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - } - } - } - } - - /** - * Adds a quad to the tesselator at the specified position with the set width and height and color. Args: tessellator, x, y, width, - * height, color - */ - public static void renderQuad(Tessellator tessellator, int x, int y, int width, int height, int color) - { - tessellator.startDrawingQuads(); - tessellator.setColorOpaque_I(color); - tessellator.addVertex((x + 0), (y + 0), 0.0D); - tessellator.addVertex((x + 0), (y + height), 0.0D); - tessellator.addVertex((x + width), (y + height), 0.0D); - tessellator.addVertex((x + width), (y + 0), 0.0D); - tessellator.draw(); - } - - public static int countInInventory(EntityPlayer player, Item item) - { - return countInInventory(player, item, -1); - } - - public static int countInInventory(EntityPlayer player, Item item, int md) - { - int count = 0; - for (int i = 0; i < player.inventory.mainInventory.length; i++) - if (player.inventory.mainInventory[i] != null && item.equals(player.inventory.mainInventory[i].getItem()) && (md == -1 || player.inventory.mainInventory[i].getItemDamage() == md)) - count += player.inventory.mainInventory[i].stackSize; - return count; - } - - public static String stripCtrl(String s) - { - return s.replaceAll("(?i)\247[0-9a-fklmnor]", ""); - } -} - diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java b/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java deleted file mode 100644 index e9cfc87a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java +++ /dev/null @@ -1,185 +0,0 @@ -package WayofTime.alchemicalWizardry.client.renderer; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiChat; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IReagentHandler; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RenderHelper -{ - public static boolean showEquippedItem = true; - public static boolean enableItemName = false; - public static boolean enabled = true; - public static boolean showInChat = true; - - private static int xOffsetDefault = +50; - public static int xOffset = xOffsetDefault; - private static int yOffsetDefault = 2; - public static int yOffset = yOffsetDefault; - private static int yOffsetBottomCenterDefault = 41; - public static int yOffsetBottomCenter = yOffsetBottomCenterDefault; - private static boolean applyXOffsetToCenterDefault = true; - public static boolean applyXOffsetToCenter = applyXOffsetToCenterDefault; - private static boolean applyYOffsetToMiddleDefault = false; - public static boolean applyYOffsetToMiddle = applyYOffsetToMiddleDefault; - - public static String listMode = "horizontal"; - public static String alignMode = "bottomcenter"; - - private static ScaledResolution scaledResolution; - - public static boolean onTickInGame(Minecraft mc) - { - if (enabled && (mc.inGameHasFocus || mc.currentScreen == null || (mc.currentScreen instanceof GuiChat && showInChat)) - && !mc.gameSettings.showDebugInfo) - { - EntityPlayer player = mc.thePlayer; - World world = mc.theWorld; - if(SpellHelper.canPlayerSeeAlchemy(player)) - { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - scaledResolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); - displayArmorStatus(mc); - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - } - - } - - return true; - } - - private static List getHUDElements(Minecraft mc) - { - List elements = new ArrayList(); - - MovingObjectPosition movingobjectposition = mc.objectMouseOver; - World world = mc.theWorld; - - if (movingobjectposition == null) - { - return elements; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int x = movingobjectposition.blockX; - int y = movingobjectposition.blockY; - int z = movingobjectposition.blockZ; - - TileEntity tile = world.getTileEntity(x, y, z); - - if(!(tile instanceof IReagentHandler)) - { - return elements; - } - - IReagentHandler relay = (IReagentHandler)tile; - - ReagentContainerInfo[] infos = relay.getContainerInfo(ForgeDirection.getOrientation(movingobjectposition.sideHit)); - - if(infos != null) - { - for(ReagentContainerInfo info : infos) - { - if(info == null || info.reagent == null || info.reagent.reagent == null) - { - continue; - } - - ItemStack itemStack = ReagentRegistry.getItemForReagent(info.reagent.reagent); - - if (itemStack != null) - elements.add(new HUDElement(itemStack, 16, 16, 2, info.reagent.amount)); - } - } - } - } - - return elements; - } - - private static int getX(int width) - { - if (alignMode.toLowerCase().contains("center")) - return scaledResolution.getScaledWidth() / 2 - width / 2 + (applyXOffsetToCenter ? xOffset : 0); - else if (alignMode.toLowerCase().contains("right")) - return scaledResolution.getScaledWidth() - width - xOffset; - else - return xOffset; - } - - private static int getY(int rowCount, int height) - { - if (alignMode.toLowerCase().contains("middle")) - return (scaledResolution.getScaledHeight() / 2) - ((rowCount * height) / 2) + (applyYOffsetToMiddle ? yOffset : 0); - else if (alignMode.equalsIgnoreCase("bottomleft") || alignMode.equalsIgnoreCase("bottomright")) - return scaledResolution.getScaledHeight() - (rowCount * height) - yOffset; - else if (alignMode.equalsIgnoreCase("bottomcenter")) - return scaledResolution.getScaledHeight() - (rowCount * height) - yOffsetBottomCenter; - else - return yOffset; - } - - private static int getElementsWidth(List elements) - { - int r = 0; - for (HUDElement he : elements) - r += he.width(); - - return r; - } - - private static void displayArmorStatus(Minecraft mc) - { - List elements = getHUDElements(mc); - - if (elements.size() > 0) - { - int yOffset = enableItemName ? 18 : 16; - - if (listMode.equalsIgnoreCase("vertical")) - { - int yBase = getY(elements.size(), yOffset); - - for (HUDElement e : elements) - { - e.renderToHud((alignMode.toLowerCase().contains("right") ? getX(0) : getX(e.width())), yBase); - yBase += yOffset; - } - } - else if (listMode.equalsIgnoreCase("horizontal")) - { - int totalWidth = getElementsWidth(elements); - int yBase = getY(1, yOffset); - int xBase = getX(totalWidth); - int prevX = 0; - - for (HUDElement e : elements) - { - e.renderToHud(xBase + prevX + (alignMode.toLowerCase().contains("right") ? e.width() : 0), yBase); - prevX += (e.width()); - } - }else if(listMode.equalsIgnoreCase("compound")) - { - //TODO - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java deleted file mode 100644 index c3ed52af..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ /dev/null @@ -1,477 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.PlayerCapabilities; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.Vec3; -import net.minecraftforge.event.entity.living.EnderTeleportEvent; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; -import net.minecraftforge.event.entity.living.LivingSpawnEvent.CheckSpawn; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.entity.projectile.EnergyBlastProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import cpw.mods.fml.common.ObfuscationReflectionHelper; -import cpw.mods.fml.common.eventhandler.Event.Result; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerRespawnEvent; - -public class AlchemicalWizardryEventHooks -{ - public static Map playerFlightBuff = new HashMap(); - public static Map playerBoostStepHeight = new HashMap(); - public static List playersWith1Step = new ArrayList(); - - public static Map> respawnMap = new HashMap(); - public static Map> forceSpawnMap = new HashMap(); - - @SubscribeEvent - public void onPlayerDamageEvent(LivingAttackEvent event) - { - if(event.source.isProjectile()) - { - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionProjProt) && event.isCancelable()) - { - event.setCanceled(true); - } - } - } - - @SubscribeEvent - public void onLivingSpawnEvent(CheckSpawn event) - { - if(!(event.entityLiving instanceof EntityMob)) - { - return; - } - - String respawnRitual = "AW028SpawnWard"; - - Integer dimension = new Integer(event.world.provider.dimensionId); - if(respawnMap.containsKey(dimension)) - { - List list = respawnMap.get(dimension); - - if(list != null) - { - for(CoordAndRange coords : list) - { - TileEntity tile = event.world.getTileEntity(coords.xCoord, coords.yCoord, coords.zCoord); - - if(tile instanceof TEMasterStone && ((TEMasterStone) tile).isRunning && ((TEMasterStone) tile).getCurrentRitual().equals(respawnRitual)) - { - if(event.x > coords.xCoord-coords.horizRadius && event.x < coords.xCoord+coords.horizRadius && event.z > coords.zCoord-coords.horizRadius && event.z < coords.zCoord+coords.horizRadius && event.y > coords.yCoord-coords.vertRadius && event.y < coords.yCoord+coords.vertRadius) - { - switch(event.getResult()) - { - case ALLOW: - event.setResult(Result.DEFAULT); - break; - case DEFAULT: - event.setResult(Result.DENY); - break; - case DENY: - break; - default: - break; - } - break; - } - }else - { - list.remove(coords); - } - } - } - } - - if(event.entityLiving instanceof EntityCreeper) - { - return; - } - - String forceSpawnRitual = "AW029VeilOfEvil"; - - if(forceSpawnMap.containsKey(dimension)) - { - List list = forceSpawnMap.get(dimension); - - if(list != null) - { - for(CoordAndRange coords : list) - { - TileEntity tile = event.world.getTileEntity(coords.xCoord, coords.yCoord, coords.zCoord); - - if(tile instanceof TEMasterStone && ((TEMasterStone) tile).isRunning && ((TEMasterStone) tile).getCurrentRitual().equals(forceSpawnRitual)) - { - if(event.x > coords.xCoord-coords.horizRadius && event.x < coords.xCoord+coords.horizRadius && event.z > coords.zCoord-coords.horizRadius && event.z < coords.zCoord+coords.horizRadius && event.y > coords.yCoord-coords.vertRadius && event.y < coords.yCoord+coords.vertRadius) - { - switch(event.getResult()) - { - case ALLOW: - break; - case DEFAULT: - event.setResult(Result.ALLOW); - break; - case DENY: - event.setResult(Result.DEFAULT); - break; - default: - break; - } - break; - } - }else - { - list.remove(coords); - } - } - } - } - } - - @SubscribeEvent - public void onPlayerRespawnEvent(PlayerRespawnEvent event) - { - if(AlchemicalWizardry.respawnWithDebuff) - { - event.player.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionSoulFray.id, 20*60*5,0)); - } - } - - @SubscribeEvent - public void onLivingJumpEvent(LivingJumpEvent event) - { - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionBoost)) - { - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionBoost).getAmplifier(); - event.entityLiving.motionY += (0.1f) * (2 + i); - } - - if(event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionHeavyHeart)) - { - event.entityLiving.motionY = 0; - } - } - - @SubscribeEvent - public void onEndermanTeleportEvent(EnderTeleportEvent event) - { - if(event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionPlanarBinding) && event.isCancelable()) - { - event.setCanceled(true); - } - } - - @SubscribeEvent - public void onEntityDamaged(LivingAttackEvent event) - { - EntityLivingBase entityAttacked = event.entityLiving; - - if (entityAttacked.isPotionActive(AlchemicalWizardry.customPotionReciprocation)) - { - Entity entityAttacking = event.source.getSourceOfDamage(); - - if (entityAttacking != null && entityAttacking instanceof EntityLivingBase) - { - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionReciprocation).getAmplifier(); - float damageRecieve = event.ammount / 2 * (i + 1); - ((EntityLivingBase) entityAttacking).attackEntityFrom(DamageSource.generic, damageRecieve); - } - } - - if(entityAttacked.isPotionActive(AlchemicalWizardry.customPotionFlameCloak)) - { - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionFlameCloak).getAmplifier(); - - Entity entityAttacking = event.source.getSourceOfDamage(); - - if(entityAttacking != null && entityAttacking instanceof EntityLivingBase && !entityAttacking.isImmuneToFire() && !((EntityLivingBase)entityAttacking).isPotionActive(Potion.fireResistance)) - { - entityAttacking.attackEntityFrom(DamageSource.inFire, 2*i+2); - entityAttacking.setFire(3); - } - } - } - -// @ForgeSubscribe -// public void onFOVUpdate(FOVUpdateEvent event) -// { -// event.setResult(Result.DEFAULT); -// } - -// @SubscribeEvent -// public void onPlayerTickEnd(PlayerTickEvent event) -// { -// if(event.type.equals(Type.PLAYER) && event.phase.equals(TickEvent.Phase.END)) -// { -// ObfuscationReflectionHelper.setPrivateValue(PlayerCapabilities.class, event.player.capabilities, Float.valueOf(0.1f), new String[]{"walkSpeed", "g", "field_75097_g"}); -// } -// } - - @SubscribeEvent - public void onEntityUpdate(LivingUpdateEvent event) - { - EntityLivingBase entityLiving = event.entityLiving; - double x = entityLiving.posX; - double y = entityLiving.posY; - double z = entityLiving.posZ; - - Vec3 blockVector = SpellHelper.getEntityBlockVector(entityLiving); - int xPos = (int)(blockVector.xCoord); - int yPos = (int)(blockVector.yCoord); - int zPos = (int)(blockVector.zCoord); - - if(entityLiving instanceof EntityPlayer) - { - ObfuscationReflectionHelper.setPrivateValue(PlayerCapabilities.class, ((EntityPlayer)event.entityLiving).capabilities, Float.valueOf(0.1f), new String[]{"walkSpeed", "g", "field_75097_g"}); - } - - if (entityLiving instanceof EntityPlayer && entityLiving.worldObj.isRemote) - { - EntityPlayer entityPlayer = (EntityPlayer) entityLiving; - boolean highStepListed = playersWith1Step.contains(entityPlayer.getDisplayName()); - boolean hasHighStep = entityPlayer.isPotionActive(AlchemicalWizardry.customPotionBoost); - - if (hasHighStep && !highStepListed) - { - playersWith1Step.add(SpellHelper.getUsername(entityPlayer)); - } - - if (!hasHighStep && highStepListed) - { - playersWith1Step.remove(SpellHelper.getUsername(entityPlayer)); - entityPlayer.stepHeight = 0.5F; - } - } - - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionFeatherFall)) - { - event.entityLiving.fallDistance = 0; - } - - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionDrowning)) - { - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionDrowning).getAmplifier(); - - if (event.entityLiving.worldObj.getWorldTime() % ((int) (20 / (i + 1))) == 0) - { - event.entityLiving.attackEntityFrom(DamageSource.drown, 2); - event.entityLiving.hurtResistantTime = Math.min(event.entityLiving.hurtResistantTime, 20 / (i + 1)); - } - } - - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionBoost)) - { - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionBoost).getAmplifier(); - EntityLivingBase entity = event.entityLiving; - //if(!entity.isSneaking()) - { - float percentIncrease = (i + 1) * 0.05f; - - if (event.entityLiving instanceof EntityPlayer) - { - EntityPlayer entityPlayer = (EntityPlayer) event.entityLiving; - entityPlayer.stepHeight = 1.0f; - - if((entityPlayer.onGround || entityPlayer.capabilities.isFlying) && entityPlayer.moveForward > 0F) - entityPlayer.moveFlying(0F, 1F, entityPlayer.capabilities.isFlying ? (percentIncrease/2.0f) : percentIncrease); - } - } - } - - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionProjProt)) - { - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionProjProt).getAmplifier(); - EntityLivingBase entity = event.entityLiving; - int posX = (int) Math.round(entity.posX - 0.5f); - int posY = (int) Math.round(entity.posY); - int posZ = (int) Math.round(entity.posZ - 0.5f); - int d0 = (int)((i+1)*2.5); - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox(posX - 0.5, posY - 0.5, posZ - 0.5, posX + 0.5, posY + 0.5, posZ + 0.5).expand(d0, d0, d0); - List list = event.entityLiving.worldObj.getEntitiesWithinAABB(Entity.class, axisalignedbb); - Iterator iterator = list.iterator(); - EntityLivingBase livingEntity; - - while (iterator.hasNext()) - { - Entity projectile = (Entity) iterator.next(); - - if (projectile == null) - { - continue; - } - - if (!(projectile instanceof IProjectile)) - { - continue; - } - - Entity throwingEntity = null; - - if (projectile instanceof EntityArrow) - { - throwingEntity = ((EntityArrow) projectile).shootingEntity; - } else if (projectile instanceof EnergyBlastProjectile) - { - throwingEntity = ((EnergyBlastProjectile) projectile).shootingEntity; - }else if(projectile instanceof EntityThrowable) - { - throwingEntity = ((EntityThrowable) projectile).getThrower(); - } - - if(throwingEntity != null && throwingEntity.equals(entity)) - { - continue; - } - - double delX = projectile.posX - entity.posX; - double delY = projectile.posY - entity.posY; - double delZ = projectile.posZ - entity.posZ; - - if(throwingEntity != null) - { - delX = -projectile.posX + throwingEntity.posX; - delY = -projectile.posY + (throwingEntity.posY + throwingEntity.getEyeHeight()); - delZ = -projectile.posZ + throwingEntity.posZ; - } - - double curVel = Math.sqrt(delX * delX + delY * delY + delZ * delZ); - - delX /= curVel; - delY /= curVel; - delZ /= curVel; - double newVel = Math.sqrt(projectile.motionX * projectile.motionX + projectile.motionY * projectile.motionY + projectile.motionZ * projectile.motionZ); - projectile.motionX = newVel * delX; - projectile.motionY = newVel * delY; - projectile.motionZ = newVel * delZ; - //TODO make this not affect player's projectiles - } - } - - if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionFlight)) - { - if (event.entityLiving instanceof EntityPlayer) - { - EntityPlayer entityPlayer = (EntityPlayer) event.entityLiving; - String ownerName = SpellHelper.getUsername(entityPlayer); - playerFlightBuff.put(ownerName, true); - entityPlayer.capabilities.allowFlying = true; - //entityPlayer.sendPlayerAbilities(); - } - } else - { - if (event.entityLiving instanceof EntityPlayer) - { - EntityPlayer entityPlayer = (EntityPlayer) event.entityLiving; - String ownerName = SpellHelper.getUsername(entityPlayer); - - if (!playerFlightBuff.containsKey(ownerName)) - { - playerFlightBuff.put(ownerName, false); - } - - if (playerFlightBuff.get(ownerName)) - { - playerFlightBuff.put(ownerName, false); - - if (!entityPlayer.capabilities.isCreativeMode) - { - entityPlayer.capabilities.allowFlying = false; - entityPlayer.capabilities.isFlying = false; - entityPlayer.sendPlayerAbilities(); - } - } - } - } - - if(entityLiving.isPotionActive(AlchemicalWizardry.customPotionFlameCloak)) - { - entityLiving.worldObj.spawnParticle("flame", x+SpellHelper.gaussian(1),y-1.3+SpellHelper.gaussian(0.3),z+SpellHelper.gaussian(1), 0, 0.06d, 0); - - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionFlameCloak).getAmplifier(); - double range = i*0.5; - - List entities = SpellHelper.getEntitiesInRange(entityLiving.worldObj, x, y, z, range, range); - if(entities!=null) - { - for(Entity entity : entities) - { - if(!entity.equals(entityLiving)&&!entity.isImmuneToFire()&&!(entity instanceof EntityLivingBase && ((EntityLivingBase)entity).isPotionActive(Potion.fireResistance))) - { - entity.setFire(3); - } - } - } - } - - if(entityLiving.isPotionActive(AlchemicalWizardry.customPotionIceCloak)) - { - if(entityLiving.worldObj.getWorldTime()%2==0) - entityLiving.worldObj.spawnParticle("reddust", x+SpellHelper.gaussian(1),y-1.3+SpellHelper.gaussian(0.3),z+SpellHelper.gaussian(1), 0x74,0xbb,0xfb); - - int r = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionIceCloak).getAmplifier(); - int horizRange = r+1; - int vertRange = 1; - - if(!entityLiving.worldObj.isRemote) - { - for(int i=-horizRange; i<=horizRange;i++) - { - for(int k=-horizRange; k<=horizRange;k++) - { - for(int j=-vertRange-1; j<=vertRange-1; j++) - { - SpellHelper.freezeWaterBlock(entityLiving.worldObj, xPos+i, yPos+j, zPos+k); - } - } - } - } - } - - if(entityLiving.isPotionActive(AlchemicalWizardry.customPotionHeavyHeart)) - { - entityLiving.worldObj.spawnParticle("flame", x+SpellHelper.gaussian(1),y-1.3+SpellHelper.gaussian(0.3),z+SpellHelper.gaussian(1), 0, 0.06d, 0); - - int i = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionHeavyHeart).getAmplifier(); - double decrease = 0.025*(i+1); - - if(entityLiving.motionY>-0.9) - { - entityLiving.motionY-=decrease; - } - } - - if(entityLiving.isPotionActive(AlchemicalWizardry.customPotionFireFuse)) - { - entityLiving.worldObj.spawnParticle("flame", x+SpellHelper.gaussian(1),y-1.3+SpellHelper.gaussian(0.3),z+SpellHelper.gaussian(1), 0, 0.06d, 0); - - int r = event.entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionFireFuse).getAmplifier(); - int radius = r+1; - - if(entityLiving.getActivePotionEffect(AlchemicalWizardry.customPotionFireFuse).getDuration()<=2) - { - entityLiving.worldObj.createExplosion(null, x, y, z, radius, false); - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryFuelHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryFuelHandler.java deleted file mode 100644 index 157237ab..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryFuelHandler.java +++ /dev/null @@ -1,72 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.items.LavaCrystal; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.common.IFuelHandler; - -public class AlchemicalWizardryFuelHandler implements IFuelHandler -{ - @Override - public int getBurnTime(ItemStack fuel) - { - ItemStack itemStack = fuel; - if(itemStack == null) - { - return 0; - } - - Item fuelItem = itemStack.getItem(); - - if (fuelItem.equals(ModItems.lavaCrystal)) - { - /*ItemStack newItem = new ItemStack(AlchemicalWizardry.lavaCrystal); - newItem.getItem().setDamage(newItem, 50); - fuel.getItem().setContainerItem(((LavaCrystal)newItem.getItem()).change()); - */ - LavaCrystal item = (LavaCrystal) fuel.getItem(); - - if (item.hasEnoughEssence(fuel)) - { - return 200; - } else - { - NBTTagCompound tag = itemStack.stackTagCompound; - - if (tag == null) - { - return 0; - } - - if (MinecraftServer.getServer() == null) - { - return 0; - } - - if (MinecraftServer.getServer().getConfigurationManager() == null) - { - return 0; - } - - EntityPlayer owner = SpellHelper.getPlayerForUsername(tag.getString("ownerName")); - - if (owner == null) - { - return 0; - } - - owner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - return 0; - } - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryTickHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryTickHandler.java deleted file mode 100644 index 40eaf0f1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryTickHandler.java +++ /dev/null @@ -1,47 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import java.util.EnumSet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.PlayerCapabilities; -import net.minecraft.server.MinecraftServer; -import cpw.mods.fml.common.ObfuscationReflectionHelper; - -@Deprecated -public class AlchemicalWizardryTickHandler //implements ITickHandler -{ -// public void tickStart(EnumSet type, Object... tickData) -// { -// } -// -// public EnumSet ticks() -// { -// return EnumSet.of(TickType.PLAYER); -// } -// -// public String getLabel() -// { -// return "BloodMagic"; -// } -// -// public void tickEnd(EnumSet type, Object... tickData) -// { -// String[] usernames = MinecraftServer.getServer().getAllUsernames(); -// -// if (usernames == null) -// { -// return; -// } -// -// for (String userName : usernames) -// { -// EntityPlayer entityPlayer = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(userName); -// -// if (entityPlayer != null) -// { -// ObfuscationReflectionHelper.setPrivateValue(PlayerCapabilities.class, entityPlayer.capabilities, Float.valueOf(0.1f), new String[]{"walkSpeed", "g", "field_75097_g"}); -// //entityPlayer.sendPlayerAbilities(); -// } -// } -// } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/ArmourComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/ArmourComponent.java deleted file mode 100644 index fb4f155b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/ArmourComponent.java +++ /dev/null @@ -1,23 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public class ArmourComponent -{ - private int xOff; - private int zOff; - - public ArmourComponent(int xOff, int zOff) - { - this.xOff = xOff; - this.zOff = zOff; - } - - public int getXOff() - { - return xOff; - } - - public int getZOff() - { - return zOff; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/CommonProxy.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/CommonProxy.java deleted file mode 100644 index 7135097c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/CommonProxy.java +++ /dev/null @@ -1,94 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.entity.projectile.EnergyBlastProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityBloodLightProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityEnergyBazookaMainProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityEnergyBazookaSecondaryProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityMeteor; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityParticleBeam; -import WayofTime.alchemicalWizardry.common.entity.projectile.ExplosionProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.FireProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.HolyProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.IceProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.LightningBoltProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.MudProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.TeleportProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.WaterProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.WindGustProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.EntitySpellProjectile; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; - -public class CommonProxy -{ - public static String ITEMS_PNG = "/WayofTime/alchemicalWizardry/items.png"; - public static String BLOCK_PNG = "/WayofTime/alchemicalWizardry/block.png"; - - // Client stuff - public void registerRenderers() - { - // Nothing here as the server doesn't render graphics! - } - - public void registerEntities() - { - } - - public World getClientWorld() - { - return null; - } - - public void registerActions() - { - } - - public void registerEvents() - { - - } - - public void registerSoundHandler() - { - // Nothing here as this is a server side proxy - } - - public void registerTileEntities() - { - GameRegistry.registerTileEntity(TEAltar.class, "containerAltar"); - GameRegistry.registerTileEntity(TEMasterStone.class, "containerMasterStone"); - } - - public void registerEntityTrackers() - { - EntityRegistry.registerModEntity(EnergyBlastProjectile.class, "energyBlastProjectile", 0, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(FireProjectile.class, "fireProjectile", 1, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(IceProjectile.class, "iceProjectile", 2, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(ExplosionProjectile.class, "explosionProjectile", 3, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(HolyProjectile.class, "holyProjectile", 4, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(WindGustProjectile.class, "windGustProjectile", 5, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(LightningBoltProjectile.class, "lightningBoltProjectile", 6, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(WaterProjectile.class, "waterProjectile", 7, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(MudProjectile.class, "mudProjectile", 8, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(TeleportProjectile.class, "teleportProjectile", 9, AlchemicalWizardry.instance, 128, 5, true); - EntityRegistry.registerModEntity(EntityEnergyBazookaMainProjectile.class, "energyBazookaMain", 10, AlchemicalWizardry.instance, 128, 3, true); - EntityRegistry.registerModEntity(EntityEnergyBazookaSecondaryProjectile.class, "energyBazookaSecondary", 11, AlchemicalWizardry.instance, 128, 3, true); - EntityRegistry.registerModEntity(EntityBloodLightProjectile.class, "bloodLightProjectile", 12, AlchemicalWizardry.instance, 128, 3, true); - EntityRegistry.registerModEntity(EntityMeteor.class, "meteor", 13, AlchemicalWizardry.instance, 120, 3, true); - EntityRegistry.registerModEntity(EntitySpellProjectile.class, "spellProjectile", 14, AlchemicalWizardry.instance, 128, 3, true); - EntityRegistry.registerModEntity(EntityParticleBeam.class, "particleBeam", 15, AlchemicalWizardry.instance, 120, 3, true); - } - - public void registerTickHandlers() - { - } - - public void InitRendering() - { - // TODO Auto-generated method stub - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/CoordAndRange.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/CoordAndRange.java deleted file mode 100644 index cb56ceb5..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/CoordAndRange.java +++ /dev/null @@ -1,25 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public class CoordAndRange -{ - public int xCoord; - public int yCoord; - public int zCoord; - public int horizRadius; - public int vertRadius; - - public CoordAndRange(int x, int y, int z, int horiz, int vert) - { - this.xCoord = x; - this.yCoord = y; - this.zCoord = z; - this.horizRadius = horiz; - this.vertRadius = vert; - } - - @Override - public boolean equals(Object o) - { - return o instanceof CoordAndRange ? ((CoordAndRange)o).xCoord == this.xCoord && ((CoordAndRange)o).yCoord == this.yCoord && ((CoordAndRange)o).zCoord == this.zCoord && ((CoordAndRange)o).horizRadius == this.horizRadius && ((CoordAndRange)o).vertRadius == this.vertRadius: false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAIFly.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAIFly.java deleted file mode 100644 index dffc65cf..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAIFly.java +++ /dev/null @@ -1,5 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public class EntityAIFly -{ -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggro.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggro.java deleted file mode 100644 index 2b6fb25a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggro.java +++ /dev/null @@ -1,24 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityDemon; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; - -public class EntityAITargetAggro extends EntityAINearestAttackableTarget -{ - private EntityDemon theCreature; - - public EntityAITargetAggro(EntityDemon par1EntityDemon, Class par2Class, int par3, boolean par4) - { - super(par1EntityDemon, par2Class, par3, par4); - this.theCreature = par1EntityDemon; - } - - /** - * Returns whether the EntityAIBase should begin execution. - */ - @Override - public boolean shouldExecute() - { - return theCreature.isAggro() && super.shouldExecute(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAirElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAirElemental.java deleted file mode 100644 index cc5ab8ed..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/EntityAirElemental.java +++ /dev/null @@ -1,33 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import ibxm.Player; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.IMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityElemental; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntityAirElemental extends EntityElemental implements IMob -{ - public EntityAirElemental(World world) - { - super(world, AlchemicalWizardry.entityAirElementalID); - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityPlayer) - { - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)target, target.motionX, target.motionY + 3, target.motionZ); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - } else if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).motionY += 3.0D; - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/IBindingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/IBindingAgent.java deleted file mode 100644 index 534d4b68..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/IBindingAgent.java +++ /dev/null @@ -1,6 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public interface IBindingAgent -{ - public abstract float getSuccessRateForPotionNumber(int potionEffects); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/ICatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/ICatalyst.java deleted file mode 100644 index 230cd51c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/ICatalyst.java +++ /dev/null @@ -1,8 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public interface ICatalyst -{ - public abstract int getCatalystLevel(); - - public abstract boolean isConcentration(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/IDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/IDemon.java deleted file mode 100644 index eab1d15e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/IDemon.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public interface IDemon -{ - public abstract void setSummonedConditions(); - - public boolean isAggro(); - - public void setAggro(boolean aggro); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/IFillingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/IFillingAgent.java deleted file mode 100644 index 2202a20d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/IFillingAgent.java +++ /dev/null @@ -1,6 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public interface IFillingAgent -{ - public abstract int getFilledAmountForPotionNumber(int potionEffects); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/Int3.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/Int3.java deleted file mode 100644 index a43776d9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/Int3.java +++ /dev/null @@ -1,38 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import net.minecraft.nbt.NBTTagCompound; - - -public class Int3 -{ - public int xCoord; - public int yCoord; - public int zCoord; - - public Int3(int xCoord, int yCoord, int zCoord) - { - this.xCoord = xCoord; - this.yCoord = yCoord; - this.zCoord = zCoord; - } - - public static Int3 readFromNBT(NBTTagCompound tag) - { - return new Int3(tag.getInteger("xCoord"), tag.getInteger("yCoord"), tag.getInteger("zCoord")); - } - - public NBTTagCompound writeToNBT(NBTTagCompound tag) - { - tag.setInteger("xCoord", xCoord); - tag.setInteger("yCoord", yCoord); - tag.setInteger("zCoord", zCoord); - - return tag; - } - - @Override - public boolean equals(Object o) - { - return o instanceof Int3 ? ((Int3)o).xCoord == this.xCoord && ((Int3)o).yCoord == this.yCoord && ((Int3)o).zCoord == this.zCoord : false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/LifeBucketHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/LifeBucketHandler.java deleted file mode 100644 index a7739d1b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/LifeBucketHandler.java +++ /dev/null @@ -1,42 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.FillBucketEvent; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.ModItems; -import cpw.mods.fml.common.eventhandler.Event.Result; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; - -public class LifeBucketHandler -{ - @SubscribeEvent - public void onBucketFill(FillBucketEvent event) - { - ItemStack result = fillCustomBucket(event.world, event.target); - - if (result == null) - { - return; - } - - event.result = result; - event.setResult(Result.ALLOW); - } - - public ItemStack fillCustomBucket(World world, MovingObjectPosition pos) - { - Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ); - - if (block!=null && (block.equals(ModBlocks.blockLifeEssence)) && world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0) - { - world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ); - return new ItemStack(ModItems.bucketLife); - } else - { - return null; - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/LifeEssence.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/LifeEssence.java deleted file mode 100644 index 22ede879..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/LifeEssence.java +++ /dev/null @@ -1,28 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import net.minecraftforge.fluids.Fluid; - -public class LifeEssence extends Fluid -{ - public LifeEssence(String fluidName) - { - super(fluidName); - //setUnlocalizedName("lifeEssence"); - //setBlockID(id); - this.setDensity(2000); - this.setViscosity(2000); - //this.setFlowingIcon(flowingIcon) - } - - @Override - public int getColor() - { - return 0xEEEEEE; - } - - @Override - public String getLocalizedName() - { - return "Life Essence"; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/ModLivingDropsEvent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/ModLivingDropsEvent.java deleted file mode 100644 index 3659dbfe..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/ModLivingDropsEvent.java +++ /dev/null @@ -1,36 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraftforge.event.entity.living.LivingDropsEvent; -import WayofTime.alchemicalWizardry.ModItems; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; - -public class ModLivingDropsEvent -{ - public static double rand; - - @SubscribeEvent - public void onEntityDrop(LivingDropsEvent event) - { - if (event.source.getDamageType().equals("player")) - { - rand = Math.random(); - - if (!(event.entityLiving instanceof EntityAnimal)) - { - PotionEffect effect = event.entityLiving.getActivePotionEffect(Potion.weakness); - - if (effect != null) - { - if (effect.getAmplifier() >= 2) - if (rand < 0.50d) - { - event.entityLiving.dropItem(ModItems.weakBloodShard, 1); - } - } - } - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/NewPacketHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/NewPacketHandler.java deleted file mode 100644 index 1d526216..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/NewPacketHandler.java +++ /dev/null @@ -1,964 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.SimpleChannelInboundHandler; - -import java.util.EnumMap; -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.network.Packet; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.ColourAndCoords; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import WayofTime.alchemicalWizardry.common.tileEntity.TEOrientable; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; -import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.network.FMLEmbeddedChannel; -import cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec; -import cpw.mods.fml.common.network.FMLOutboundHandler; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -/** -* Handles the packet wrangling for IronChest -* @author cpw -* -*/ -public enum NewPacketHandler -{ - INSTANCE; - - /** - * Our channel "pair" from {@link NetworkRegistry} - */ - private EnumMap channels; - - - /** - * Make our packet handler, and add an {@link IronChestCodec} always - */ - private NewPacketHandler() - { - // request a channel pair for IronChest from the network registry - // Add the IronChestCodec as a member of both channel pipelines - this.channels = NetworkRegistry.INSTANCE.newChannel("BloodMagic", new TEAltarCodec()); - if (FMLCommonHandler.instance().getSide() == Side.CLIENT) - { - addClientHandler(); - } - } - - @SideOnly(Side.CLIENT) - private void addClientHandler() - { - FMLEmbeddedChannel clientChannel = this.channels.get(Side.CLIENT); - - String tileAltarCodec = clientChannel.findChannelHandlerNameForType(TEAltarCodec.class); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEAltarHandler", new TEAltarMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEOrientableHandler", new TEOrientableMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEPedestalHandler", new TEPedestalMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEPlinthHandler", new TEPlinthMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TESocketHandler", new TESocketMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TETeleposerHandler", new TETeleposerMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEWritingTableHandler", new TEWritingTableMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "ParticleHandler", new ParticleMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "VelocityHandler", new VelocityMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEMasterStoneHandler", new TEMasterStoneMessageHandler()); - clientChannel.pipeline().addAfter(tileAltarCodec, "TEReagentConduitHandler", new TEReagentConduitMessageHandler()); - } - - - /** - * This class simply handles the {@link IronChestMessage} when it's received - * at the client side It can contain client only code, because it's only run - * on the client. - * - * @author cpw - * - */ - private static class TEAltarMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEAltarMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEAltar) - { - TEAltar altar = (TEAltar) te; - - altar.handlePacketData(msg.items, msg.fluids, msg.capacity); - } - } - } - - private static class TEOrientableMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEOrientableMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEOrientable) - { - TEOrientable tile = (TEOrientable)te; - - ((TEOrientable) te).setInputDirection(ForgeDirection.getOrientation(msg.input)); - ((TEOrientable) te).setOutputDirection(ForgeDirection.getOrientation(msg.output)); - } - } - } - - private static class TEPedestalMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEPedestalMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEPedestal) - { - TEPedestal pedestal = (TEPedestal) te; - - pedestal.handlePacketData(msg.items); - } - } - } - - private static class TEPlinthMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEPlinthMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEPlinth) - { - TEPlinth Plinth = (TEPlinth) te; - - Plinth.handlePacketData(msg.items); - } - } - } - - private static class TESocketMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TESocketMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TESocket) - { - TESocket Socket = (TESocket) te; - - Socket.handlePacketData(msg.items); - } - } - } - - private static class TETeleposerMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TETeleposerMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TETeleposer) - { - TETeleposer Teleposer = (TETeleposer) te; - - Teleposer.handlePacketData(msg.items); - } - } - } - - private static class TEWritingTableMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEWritingTableMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEWritingTable) - { - TEWritingTable WritingTable = (TEWritingTable) te; - - WritingTable.handlePacketData(msg.items); - } - } - } - - private static class ParticleMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, ParticleMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - - world.spawnParticle(msg.particle, msg.xCoord, msg.yCoord, msg.zCoord, msg.xVel, msg.yVel, msg.zVel); - } - } - - private static class VelocityMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, VelocityMessage msg) throws Exception - { - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - if(player!=null) - { - player.motionX = msg.xVel; - player.motionY = msg.yVel; - player.motionZ = msg.zVel; - } - } - } - - private static class TEMasterStoneMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEMasterStoneMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEMasterStone) - { - TEMasterStone masterStone = (TEMasterStone) te; - - masterStone.setCurrentRitual(msg.ritual); - masterStone.isRunning = msg.isRunning; - } - } - } - - private static class TEReagentConduitMessageHandler extends SimpleChannelInboundHandler - { - @Override - protected void channelRead0(ChannelHandlerContext ctx, TEReagentConduitMessage msg) throws Exception - { - World world = AlchemicalWizardry.proxy.getClientWorld(); - TileEntity te = world.getTileEntity(msg.x, msg.y, msg.z); - if (te instanceof TEReagentConduit) - { - TEReagentConduit reagentConduit = (TEReagentConduit) te; - - reagentConduit.destinationList = msg.destinationList; - } - } - } - - public static class BMMessage - { - int index; - } - - public static class TEAltarMessage extends BMMessage - { - int x; - int y; - int z; - - int[] items; - int[] fluids; - int capacity; - } - - public static class TEOrientableMessage extends BMMessage - { - int x; - int y; - int z; - - int input; - int output; - } - - public static class TEPedestalMessage extends BMMessage - { - int x; - int y; - int z; - - int[] items; - } - - public static class TEPlinthMessage extends BMMessage - { - int x; - int y; - int z; - - int[] items; - } - - public static class TESocketMessage extends BMMessage - { - int x; - int y; - int z; - - int[] items; - } - - public static class TETeleposerMessage extends BMMessage - { - int x; - int y; - int z; - - int[] items; - } - - public static class TEWritingTableMessage extends BMMessage - { - int x; - int y; - int z; - - int[] items; - } - - public static class ParticleMessage extends BMMessage - { - String particle; - - double xCoord; - double yCoord; - double zCoord; - - double xVel; - double yVel; - double zVel; - } - - public static class VelocityMessage extends BMMessage - { - double xVel; - double yVel; - double zVel; - } - - public static class TEMasterStoneMessage extends BMMessage - { - int x; - int y; - int z; - - String ritual; - boolean isRunning; - } - - public static class TEReagentConduitMessage extends BMMessage - { - int x; - int y; - int z; - - List destinationList; - } - - private class TEAltarCodec extends FMLIndexedMessageToMessageCodec - { - public TEAltarCodec() - { - addDiscriminator(0, TEAltarMessage.class); - addDiscriminator(1, TEOrientableMessage.class); - addDiscriminator(2, TEPedestalMessage.class); - addDiscriminator(3, TEPlinthMessage.class); - addDiscriminator(4, TESocketMessage.class); - addDiscriminator(5, TETeleposerMessage.class); - addDiscriminator(6, TEWritingTableMessage.class); - addDiscriminator(7, ParticleMessage.class); - addDiscriminator(8, VelocityMessage.class); - addDiscriminator(9, TEMasterStoneMessage.class); - addDiscriminator(10, TEReagentConduitMessage.class); - } - - @Override - public void encodeInto(ChannelHandlerContext ctx, BMMessage msg, ByteBuf target) throws Exception - { - target.writeInt(msg.index); - - switch(msg.index) - { - case 0: - target.writeInt(((TEAltarMessage)msg).x); - target.writeInt(((TEAltarMessage)msg).y); - target.writeInt(((TEAltarMessage)msg).z); - - target.writeBoolean(((TEAltarMessage)msg).items != null); - if (((TEAltarMessage)msg).items != null) - { - int[] items = ((TEAltarMessage)msg).items; - for (int j = 0; j < items.length; j++) - { - int i = items[j]; - target.writeInt(i); - } - } - - target.writeBoolean(((TEAltarMessage)msg).fluids != null); - if(((TEAltarMessage)msg).fluids != null) - { - int[] fluids = ((TEAltarMessage)msg).fluids; - for (int j = 0; j < fluids.length; j++) - { - int i = fluids[j]; - target.writeInt(i); - } - } - - target.writeInt(((TEAltarMessage)msg).capacity); - - break; - - case 1: - target.writeInt(((TEOrientableMessage)msg).x); - target.writeInt(((TEOrientableMessage)msg).y); - target.writeInt(((TEOrientableMessage)msg).z); - - target.writeInt(((TEOrientableMessage)msg).input); - target.writeInt(((TEOrientableMessage)msg).output); - - break; - - case 2: - target.writeInt(((TEPedestalMessage)msg).x); - target.writeInt(((TEPedestalMessage)msg).y); - target.writeInt(((TEPedestalMessage)msg).z); - - target.writeBoolean(((TEPedestalMessage)msg).items != null); - if (((TEPedestalMessage)msg).items != null) - { - int[] items = ((TEPedestalMessage)msg).items; - for (int j = 0; j < items.length; j++) - { - int i = items[j]; - target.writeInt(i); - } - } - - break; - - case 3: - target.writeInt(((TEPlinthMessage)msg).x); - target.writeInt(((TEPlinthMessage)msg).y); - target.writeInt(((TEPlinthMessage)msg).z); - - target.writeBoolean(((TEPlinthMessage)msg).items != null); - if (((TEPlinthMessage)msg).items != null) - { - int[] items = ((TEPlinthMessage)msg).items; - for (int j = 0; j < items.length; j++) - { - int i = items[j]; - target.writeInt(i); - } - } - - break; - - case 4: - target.writeInt(((TESocketMessage)msg).x); - target.writeInt(((TESocketMessage)msg).y); - target.writeInt(((TESocketMessage)msg).z); - - target.writeBoolean(((TESocketMessage)msg).items != null); - if (((TESocketMessage)msg).items != null) - { - int[] items = ((TESocketMessage)msg).items; - for (int j = 0; j < items.length; j++) - { - int i = items[j]; - target.writeInt(i); - } - } - - break; - - case 5: - target.writeInt(((TETeleposerMessage)msg).x); - target.writeInt(((TETeleposerMessage)msg).y); - target.writeInt(((TETeleposerMessage)msg).z); - - target.writeBoolean(((TETeleposerMessage)msg).items != null); - if (((TETeleposerMessage)msg).items != null) - { - int[] items = ((TETeleposerMessage)msg).items; - for (int j = 0; j < items.length; j++) - { - int i = items[j]; - target.writeInt(i); - } - } - - break; - - case 6: - target.writeInt(((TEWritingTableMessage)msg).x); - target.writeInt(((TEWritingTableMessage)msg).y); - target.writeInt(((TEWritingTableMessage)msg).z); - - target.writeBoolean(((TEWritingTableMessage)msg).items != null); - if (((TEWritingTableMessage)msg).items != null) - { - int[] items = ((TEWritingTableMessage)msg).items; - for (int j = 0; j < items.length; j++) - { - int i = items[j]; - target.writeInt(i); - } - } - - break; - - case 7: - String str = ((ParticleMessage)msg).particle; - target.writeInt(str.length()); - for(int i=0; i list = ((TEReagentConduitMessage)msg).destinationList; - target.writeInt(list.size()); - - for(ColourAndCoords colourSet : list) - { - target.writeInt(colourSet.colourRed); - target.writeInt(colourSet.colourGreen); - target.writeInt(colourSet.colourBlue); - target.writeInt(colourSet.colourIntensity); - target.writeInt(colourSet.xCoord); - target.writeInt(colourSet.yCoord); - target.writeInt(colourSet.zCoord); - } - - break; - } - } - - - @Override - public void decodeInto(ChannelHandlerContext ctx, ByteBuf dat, BMMessage msg) - { - int index = dat.readInt(); - - switch(index) - { - case 0: - ((TEAltarMessage)msg).x = dat.readInt(); - ((TEAltarMessage)msg).y = dat.readInt(); - ((TEAltarMessage)msg).z = dat.readInt(); - boolean hasStacks = dat.readBoolean(); - - ((TEAltarMessage)msg).items = new int[TEAltar.sizeInv*3]; - if (hasStacks) - { - ((TEAltarMessage)msg).items = new int[TEAltar.sizeInv*3]; - for (int i = 0; i < ((TEAltarMessage)msg).items.length; i++) - { - ((TEAltarMessage)msg).items[i] = dat.readInt(); - } - } - - boolean hasFluids = dat.readBoolean(); - ((TEAltarMessage)msg).fluids = new int[6]; - if(hasFluids) - for (int i = 0; i < ((TEAltarMessage)msg).fluids.length; i++) - { - ((TEAltarMessage)msg).fluids[i] = dat.readInt(); - } - - ((TEAltarMessage)msg).capacity = dat.readInt(); - - break; - - case 1: - ((TEOrientableMessage)msg).x = dat.readInt(); - ((TEOrientableMessage)msg).y = dat.readInt(); - ((TEOrientableMessage)msg).z = dat.readInt(); - - ((TEOrientableMessage)msg).input = dat.readInt(); - ((TEOrientableMessage)msg).output = dat.readInt(); - - break; - - case 2: - ((TEPedestalMessage)msg).x = dat.readInt(); - ((TEPedestalMessage)msg).y = dat.readInt(); - ((TEPedestalMessage)msg).z = dat.readInt(); - - boolean hasStacks1 = dat.readBoolean(); - - ((TEPedestalMessage)msg).items = new int[TEPedestal.sizeInv*3]; - if (hasStacks1) - { - ((TEPedestalMessage)msg).items = new int[TEPedestal.sizeInv*3]; - for (int i = 0; i < ((TEPedestalMessage)msg).items.length; i++) - { - ((TEPedestalMessage)msg).items[i] = dat.readInt(); - } - } - - break; - - case 3: - ((TEPlinthMessage)msg).x = dat.readInt(); - ((TEPlinthMessage)msg).y = dat.readInt(); - ((TEPlinthMessage)msg).z = dat.readInt(); - - boolean hasStacks2 = dat.readBoolean(); - - ((TEPlinthMessage)msg).items = new int[TEPlinth.sizeInv*3]; - if (hasStacks2) - { - ((TEPlinthMessage)msg).items = new int[TEPlinth.sizeInv*3]; - for (int i = 0; i < ((TEPlinthMessage)msg).items.length; i++) - { - ((TEPlinthMessage)msg).items[i] = dat.readInt(); - } - } - - break; - - case 4: - ((TESocketMessage)msg).x = dat.readInt(); - ((TESocketMessage)msg).y = dat.readInt(); - ((TESocketMessage)msg).z = dat.readInt(); - - boolean hasStacks3 = dat.readBoolean(); - - ((TESocketMessage)msg).items = new int[TESocket.sizeInv*3]; - if (hasStacks3) - { - ((TESocketMessage)msg).items = new int[TESocket.sizeInv*3]; - for (int i = 0; i < ((TESocketMessage)msg).items.length; i++) - { - ((TESocketMessage)msg).items[i] = dat.readInt(); - } - } - - break; - - case 5: - ((TETeleposerMessage)msg).x = dat.readInt(); - ((TETeleposerMessage)msg).y = dat.readInt(); - ((TETeleposerMessage)msg).z = dat.readInt(); - - boolean hasStacks4 = dat.readBoolean(); - - ((TETeleposerMessage)msg).items = new int[TETeleposer.sizeInv*3]; - if (hasStacks4) - { - ((TETeleposerMessage)msg).items = new int[TETeleposer.sizeInv*3]; - for (int i = 0; i < ((TETeleposerMessage)msg).items.length; i++) - { - ((TETeleposerMessage)msg).items[i] = dat.readInt(); - } - } - - break; - - case 6: - ((TEWritingTableMessage)msg).x = dat.readInt(); - ((TEWritingTableMessage)msg).y = dat.readInt(); - ((TEWritingTableMessage)msg).z = dat.readInt(); - - boolean hasStacks5 = dat.readBoolean(); - - ((TEWritingTableMessage)msg).items = new int[TEWritingTable.sizeInv*3]; - if (hasStacks5) - { - ((TEWritingTableMessage)msg).items = new int[TEWritingTable.sizeInv*3]; - for (int i = 0; i < ((TEWritingTableMessage)msg).items.length; i++) - { - ((TEWritingTableMessage)msg).items[i] = dat.readInt(); - } - } - - break; - - case 7: - int size = dat.readInt(); - String str = ""; - - for (int i = 0; i < size; i++) - { - str = str + dat.readChar(); - } - - ((ParticleMessage)msg).particle = str; - - ((ParticleMessage)msg).xCoord = dat.readDouble(); - ((ParticleMessage)msg).yCoord = dat.readDouble(); - ((ParticleMessage)msg).zCoord = dat.readDouble(); - - ((ParticleMessage)msg).xVel = dat.readDouble(); - ((ParticleMessage)msg).yVel = dat.readDouble(); - ((ParticleMessage)msg).zVel = dat.readDouble(); - - break; - - case 8: - ((VelocityMessage)msg).xVel = dat.readDouble(); - ((VelocityMessage)msg).yVel = dat.readDouble(); - ((VelocityMessage)msg).zVel = dat.readDouble(); - - break; - - case 9: - ((TEMasterStoneMessage)msg).x = dat.readInt(); - ((TEMasterStoneMessage)msg).y = dat.readInt(); - ((TEMasterStoneMessage)msg).z = dat.readInt(); - - int ritualStrSize = dat.readInt(); - String ritual = ""; - - for (int i = 0; i < ritualStrSize; i++) - { - ritual = ritual + dat.readChar(); - } - - ((TEMasterStoneMessage)msg).ritual = ritual; - ((TEMasterStoneMessage)msg).isRunning = dat.readBoolean(); - - break; - - case 10: - ((TEReagentConduitMessage)msg).x = dat.readInt(); - ((TEReagentConduitMessage)msg).y = dat.readInt(); - ((TEReagentConduitMessage)msg).z = dat.readInt(); - - int listSize = dat.readInt(); - - List list = new LinkedList(); - - for(int i=0; i < listSize; i++) - { - list.add(new ColourAndCoords(dat.readInt(), dat.readInt(), dat.readInt(), dat.readInt(), dat.readInt(), dat.readInt(), dat.readInt())); - } - - ((TEReagentConduitMessage)msg).destinationList = list; - - break; - } - } - } - - //Packets to be obtained - public static Packet getPacket(TEAltar tileAltar) - { - TEAltarMessage msg = new TEAltarMessage(); - msg.index = 0; - msg.x = tileAltar.xCoord; - msg.y = tileAltar.yCoord; - msg.z = tileAltar.zCoord; - msg.items = tileAltar.buildIntDataList(); - msg.fluids = tileAltar.buildFluidList(); - msg.capacity = tileAltar.getCapacity(); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TEOrientable tileOrientable) - { - TEOrientableMessage msg = new TEOrientableMessage(); - msg.index = 1; - msg.x = tileOrientable.xCoord; - msg.y = tileOrientable.yCoord; - msg.z = tileOrientable.zCoord; - msg.input = tileOrientable.getIntForForgeDirection(tileOrientable.getInputDirection()); - msg.output = tileOrientable.getIntForForgeDirection(tileOrientable.getOutputDirection()); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TEPedestal tilePedestal) - { - TEPedestalMessage msg = new TEPedestalMessage(); - msg.index = 2; - msg.x = tilePedestal.xCoord; - msg.y = tilePedestal.yCoord; - msg.z = tilePedestal.zCoord; - msg.items = tilePedestal.buildIntDataList(); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TEPlinth tilePlinth) - { - TEPlinthMessage msg = new TEPlinthMessage(); - msg.index = 3; - msg.x = tilePlinth.xCoord; - msg.y = tilePlinth.yCoord; - msg.z = tilePlinth.zCoord; - msg.items = tilePlinth.buildIntDataList(); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TESocket tileSocket) - { - TESocketMessage msg = new TESocketMessage(); - msg.index = 4; - msg.x = tileSocket.xCoord; - msg.y = tileSocket.yCoord; - msg.z = tileSocket.zCoord; - msg.items = tileSocket.buildIntDataList(); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TETeleposer tileTeleposer) - { - TETeleposerMessage msg = new TETeleposerMessage(); - msg.index = 5; - msg.x = tileTeleposer.xCoord; - msg.y = tileTeleposer.yCoord; - msg.z = tileTeleposer.zCoord; - msg.items = tileTeleposer.buildIntDataList(); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TEWritingTable tileWritingTable) - { - TEWritingTableMessage msg = new TEWritingTableMessage(); - msg.index = 6; - msg.x = tileWritingTable.xCoord; - msg.y = tileWritingTable.yCoord; - msg.z = tileWritingTable.zCoord; - msg.items = tileWritingTable.buildIntDataList(); - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getParticlePacket(String str, double xCoord, double yCoord, double zCoord, double xVel, double yVel, double zVel) - { - ParticleMessage msg = new ParticleMessage(); - msg.index = 7; - msg.particle = str; - msg.xCoord = xCoord; - msg.yCoord = yCoord; - msg.zCoord = zCoord; - msg.xVel = xVel; - msg.yVel = yVel; - msg.zVel = zVel; - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getVelSettingPacket(double xVel, double yVel, double zVel) - { - VelocityMessage msg = new VelocityMessage(); - msg.index = 8; - msg.xVel = xVel; - msg.yVel = yVel; - msg.zVel = zVel; - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TEMasterStone tile) - { - TEMasterStoneMessage msg = new TEMasterStoneMessage(); - msg.index = 9; - msg.x = tile.xCoord; - msg.y = tile.yCoord; - msg.z = tile.zCoord; - - msg.ritual = tile.getCurrentRitual(); - msg.isRunning = tile.isRunning; - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public static Packet getPacket(TEReagentConduit tile) - { - TEReagentConduitMessage msg = new TEReagentConduitMessage(); - msg.index = 10; - msg.x = tile.xCoord; - msg.y = tile.yCoord; - msg.z = tile.zCoord; - - msg.destinationList = tile.destinationList; - - return INSTANCE.channels.get(Side.SERVER).generatePacketFrom(msg); - } - - public void sendTo(Packet message, EntityPlayerMP player) - { - this.channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); - this.channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); - this.channels.get(Side.SERVER).writeAndFlush(message); - } - - public void sendToAll(Packet message) - { - this.channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALL); - this.channels.get(Side.SERVER).writeAndFlush(message); - } - - public void sendToAllAround(Packet message, NetworkRegistry.TargetPoint point) - { - this.channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); - this.channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); - this.channels.get(Side.SERVER).writeAndFlush(message); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/PacketHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/PacketHandler.java deleted file mode 100644 index 48642e37..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/PacketHandler.java +++ /dev/null @@ -1,966 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -import ibxm.Player; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.Random; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEOrientable; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; -import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; - -import com.google.common.io.ByteArrayDataInput; -import com.google.common.io.ByteStreams; -import com.jcraft.jogg.Packet; - -public class PacketHandler //implements IPacketHandler -{ -// @Override -// public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) -// { -// if (packet.channel.equals("BloodAltar")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// boolean hasStacks = dat.readByte() != 0; -// int[] items = new int[0]; -// -// if (hasStacks) -// { -// items = new int[1 * 3]; -// -// for (int i = 0; i < items.length; i++) -// { -// items[i] = dat.readInt(); -// } -// } -// -// int fluidIDMain = dat.readInt(); -// int fluidAmountMain = dat.readInt(); -// int fluidIDOutput = dat.readInt(); -// int fluidAmountOutput = dat.readInt(); -// int fluidIDInput = dat.readInt(); -// int fluidAmountInput = dat.readInt(); -// int capacity = dat.readInt(); -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TEAltar) -// { -// TEAltar tileEntityAltar = (TEAltar) tileEntity; -// FluidStack flMain = new FluidStack(fluidIDMain, fluidAmountMain); -// FluidStack flOutput = new FluidStack(fluidIDOutput, fluidAmountOutput); -// FluidStack flInput = new FluidStack(fluidIDInput, fluidAmountInput); -// tileEntityAltar.handlePacketData(items, flMain, flOutput, flInput, capacity); -// } -// } else if (packet.channel.equals("FallReset")) -// { -// if (player instanceof EntityPlayer) -// { -// ((EntityPlayer) player).fallDistance = 0; -// } -// } else if (packet.channel.equals("particle")) -// { -// ByteArrayInputStream bin = new ByteArrayInputStream(packet.data); -// DataInputStream din = new DataInputStream(bin); -// Random rand = new Random(); -// -// try -// { -// double x = din.readDouble(); -// double y = din.readDouble(); -// double z = din.readDouble(); -// short particleType = din.readShort(); -// World world = ((EntityPlayer) player).worldObj; -// -// if (particleType == 1) -// { -// world.spawnParticle("mobSpell", x + 0.5D + rand.nextGaussian() / 8, y + 1.1D, z + 0.5D + rand.nextGaussian() / 8, 0.5117D, 0.0117D, 0.0117D); -// } -// -// if (particleType == 2) -// { -// world.spawnParticle("reddust", x + 0.5D + rand.nextGaussian() / 8, y + 1.1D, z + 0.5D + rand.nextGaussian() / 8, 0.82D, 0.941D, 0.91D); -// } -// -// if (particleType == 3) -// { -// world.spawnParticle("mobSpell", x + 0.5D + rand.nextGaussian() / 8, y + 1.1D, z + 0.5D + rand.nextGaussian() / 8, 1.0D, 0.371D, 0.371D); -// } -// -// if (particleType == 4) -// { -// float f = (float) 1.0F; -// float f1 = f * 0.6F + 0.4F; -// float f2 = f * f * 0.7F - 0.5F; -// float f3 = f * f * 0.6F - 0.7F; -// -// for (int l = 0; l < 8; ++l) -// { -// world.spawnParticle("reddust", x + Math.random() - Math.random(), y + Math.random() - Math.random(), z + Math.random() - Math.random(), f1, f2, f3); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// } else if (packet.channel.equals("CustomParticle")) -// { -// ByteArrayInputStream bin = new ByteArrayInputStream(packet.data); -// DataInputStream din = new DataInputStream(bin); -// Random rand = new Random(); -// -// try -// { -// World world = ((EntityPlayer) player).worldObj; -// int size = din.readInt(); -// String str = ""; -// -// for (int i = 0; i < size; i++) -// { -// str = str + din.readChar(); -// } -// -// double x = din.readDouble(); -// double y = din.readDouble(); -// double z = din.readDouble(); -// double xVel = din.readDouble(); -// double yVel = din.readDouble(); -// double zVel = din.readDouble(); -// world.spawnParticle(str, x, y, z, xVel, yVel, zVel); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// } else if (packet.channel.equals("SetLifeEssence")) //Sets the data for the character -// { -// ByteArrayInputStream bin = new ByteArrayInputStream(packet.data); -// DataInputStream din = new DataInputStream(bin); -// -// try -// { -// EntityPlayer user = (EntityPlayer) player; -// int length = din.readInt(); -// String ownerName = ""; -// -// for (int i = 0; i < length; i++) -// { -// ownerName = ownerName + din.readChar(); -// } -// -// int addedEssence = din.readInt(); -// int maxEssence = din.readInt(); -// World world = MinecraftServer.getServer().worldServers[0]; -// LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); -// -// if (data == null) -// { -// data = new LifeEssenceNetwork(ownerName); -// world.setItemData(ownerName, data); -// } -// -// if (addedEssence > 0) -// { -// if (data.currentEssence < maxEssence) -// { -// data.currentEssence = Math.min(maxEssence, data.currentEssence + addedEssence); -// data.markDirty(); -// } -// -// if (!user.capabilities.isCreativeMode) -// { -// for (int i = 0; i < ((addedEssence + 99) / 100); i++) -// { -// //player.setEntityHealth((player.getHealth()-1)); -// user.setHealth((user.getHealth() - 1)); -// -// if (user.getHealth() <= 0.5f) -// { -// //user.inventory.dropAllItems(); -// user.onDeath(DamageSource.generic); -// return; -// } -// } -// } -// } else -// { -// int removedEssence = -addedEssence; -// -// if ((data.currentEssence - removedEssence) >= 0) -// { -// data.currentEssence -= removedEssence; -// data.markDirty(); -// } else -// { -// if (removedEssence >= 100) -// { -// for (int i = 0; i < ((removedEssence + 99) / 100); i++) -// { -// //player.setEntityHealth((player.getHealth()-1)); -// user.setHealth((user.getHealth() - 1)); -// -// if (user.getHealth() <= 0.5f) -// { -// //user.inventory.dropAllItems(); -// user.onDeath(DamageSource.generic); -// return; -// } -// } -// } else -// { -// if (user.worldObj.rand.nextInt(100) <= removedEssence) -// { -// user.setHealth((user.getHealth() - 1)); -// -// if (user.getHealth() <= 0.5f) -// { -// //user.inventory.dropAllItems(); -// user.onDeath(DamageSource.generic); -// return; -// } -// } -// } -// } -// } -// -// //PacketDispatcher.sendPacketToPlayer(PacketHandler.getPacket(ownerName), (Player)user); -//// data.currentEssence = addedEssence; -//// data.markDirty(); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// } else if (packet.channel.equals("InfiniteLPPath")) -// { -// ByteArrayInputStream bin = new ByteArrayInputStream(packet.data); -// DataInputStream din = new DataInputStream(bin); -// -// try -// { -// EntityPlayer user = (EntityPlayer) player; -// int length = din.readInt(); -// String ownerName = ""; -// -// for (int i = 0; i < length; i++) -// { -// ownerName = ownerName + din.readChar(); -// } -// -// boolean fill = din.readBoolean(); -// World world = MinecraftServer.getServer().worldServers[0]; -// LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); -// -// if (data == null) -// { -// data = new LifeEssenceNetwork(ownerName); -// world.setItemData(ownerName, data); -// } -// -// if (fill) -// { -// data.currentEssence += 1000000; -// data.markDirty(); -// } else -// { -// data.currentEssence = 0; -// data.markDirty(); -// } -// -// //PacketDispatcher.sendPacketToPlayer(PacketHandler.getPacket(ownerName), (Player)user); -//// data.currentEssence = addedEssence; -//// data.markDirty(); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// } else if (packet.channel.equals("GetLifeEssence")) -// { -// ByteArrayInputStream bin = new ByteArrayInputStream(packet.data); -// DataInputStream din = new DataInputStream(bin); -// -// try -// { -// int length = din.readInt(); -// String ownerName = ""; -// -// for (int i = 0; i < length; i++) -// { -// ownerName = ownerName + din.readChar(); -// } -// -// World world = MinecraftServer.getServer().worldServers[0]; -// LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); -// -// if (data == null) -// { -// data = new LifeEssenceNetwork(ownerName); -// world.setItemData(ownerName, data); -// } -// -// if (player instanceof EntityPlayer) -// { -// EntityPlayer owner = (EntityPlayer) player; -// ChatMessageComponent chatmessagecomponent = new ChatMessageComponent(); -// //chatmessagecomponent.func_111072_b("Current Essence: " + data.currentEssence + "LP"); -// chatmessagecomponent.addText("Current Essence: " + data.currentEssence + "LP"); -// owner.sendChatToPlayer(chatmessagecomponent); -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// } else if (packet.channel.equals("GetAltarEssence")) -// { -// ByteArrayInputStream bin = new ByteArrayInputStream(packet.data); -// DataInputStream din = new DataInputStream(bin); -// -// try -// { -// int x = din.readInt(); -// int y = din.readInt(); -// int z = din.readInt(); -// -// if (player instanceof EntityPlayer) -// { -// EntityPlayer owner = (EntityPlayer) player; -// World world = owner.worldObj; -// TEAltar tileEntity = (TEAltar) world.getBlockTileEntity(x, y, z); -// -// if (tileEntity != null) -// { -// int level = UpgradedAltars.isAltarValid(world, x, y, z); -// ChatMessageComponent chatmessagecomponent = new ChatMessageComponent(); -// chatmessagecomponent.addText("Altar's Current Essence: " + tileEntity.getFluidAmount() + "LP" + "\n" + "Altar's Current Tier: " + level + "\nCapacity: " + tileEntity.getCapacity() + "LP"); -// //chatmessagecomponent.addText(); -// owner.sendChatToPlayer(chatmessagecomponent); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// } else if (packet.channel.equals("TESocket")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// boolean hasStacks = dat.readByte() != 0; -// int[] items = new int[0]; -// -// if (hasStacks) -// { -// items = new int[1 * 3]; -// -// for (int i = 0; i < items.length; i++) -// { -// items[i] = dat.readInt(); -// } -// } -// -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TESocket) -// { -// TESocket tileEntityAltar = (TESocket) tileEntity; -// tileEntityAltar.handlePacketData(items); -// } -// } else if (packet.channel.equals("TEWritingTable")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// boolean hasStacks = dat.readByte() != 0; -// int[] items = new int[0]; -// -// if (hasStacks) -// { -// items = new int[7 * 3]; -// -// for (int i = 0; i < items.length; i++) -// { -// items[i] = dat.readInt(); -// } -// } -// -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TEWritingTable) -// { -// TEWritingTable tileEntityAltar = (TEWritingTable) tileEntity; -// tileEntityAltar.handlePacketData(items); -// } -// } else if (packet.channel.equals("TEOrientor")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TEOrientable) -// { -// TEOrientable tileEntityOrientable = (TEOrientable) tileEntity; -// tileEntityOrientable.setInputDirection(ForgeDirection.getOrientation(dat.readInt())); -// tileEntityOrientable.setOutputDirection(ForgeDirection.getOrientation(dat.readInt())); -// world.markBlockForRenderUpdate(x, y, z); -// } -// } else if (packet.channel.equals("TEPedestal")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// boolean hasStacks = dat.readByte() != 0; -// int[] items = new int[0]; -// -// if (hasStacks) -// { -// items = new int[1 * 3]; -// -// for (int i = 0; i < items.length; i++) -// { -// items[i] = dat.readInt(); -// } -// } -// -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TEPedestal) -// { -// TEPedestal tileEntityAltar = (TEPedestal) tileEntity; -// tileEntityAltar.handlePacketData(items); -// } -// } else if (packet.channel.equals("TEPlinth")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// boolean hasStacks = dat.readByte() != 0; -// int[] items = new int[0]; -// -// if (hasStacks) -// { -// items = new int[1 * 3]; -// -// for (int i = 0; i < items.length; i++) -// { -// items[i] = dat.readInt(); -// } -// } -// -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TEPlinth) -// { -// TEPlinth tileEntityAltar = (TEPlinth) tileEntity; -// tileEntityAltar.handlePacketData(items); -// } -// } else if (packet.channel.equals("TETeleposer")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// int x = dat.readInt(); -// int y = dat.readInt(); -// int z = dat.readInt(); -// boolean hasStacks = dat.readByte() != 0; -// int[] items = new int[0]; -// -// if (hasStacks) -// { -// items = new int[1 * 3]; -// -// for (int i = 0; i < items.length; i++) -// { -// items[i] = dat.readInt(); -// } -// } -// -// World world = AlchemicalWizardry.proxy.getClientWorld(); -// TileEntity tileEntity = world.getBlockTileEntity(x, y, z); -// -// if (tileEntity instanceof TETeleposer) -// { -// TETeleposer tileEntityAltar = (TETeleposer) tileEntity; -// tileEntityAltar.handlePacketData(items); -// } -// } else if (packet.channel.equals("SetPlayerVel")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// double xVel = dat.readDouble(); -// double yVel = dat.readDouble(); -// double zVel = dat.readDouble(); -// ((EntityPlayer) player).setVelocity(xVel, yVel, zVel); -// } else if (packet.channel.equals("SetPlayerPos")) -// { -// ByteArrayDataInput dat = ByteStreams.newDataInput(packet.data); -// double xVel = dat.readDouble(); -// double yVel = dat.readDouble(); -// double zVel = dat.readDouble(); -// ((EntityPlayer) player).setPosition(xVel, yVel, zVel); -// } -// } -// -// public static Packet getPacket(TEAltar tileEntity) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// int[] items = tileEntity.buildIntDataList(); -// boolean hasStacks = (items != null); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeByte(hasStacks ? 1 : 0); -// -// if (hasStacks) -// { -// for (int i = 0; i < 3; i++) -// { -// dos.writeInt(items[i]); -// } -// } -// -// FluidStack flMain = tileEntity.getFluid(); -// -// if (flMain == null) -// { -// dos.writeInt(AlchemicalWizardry.lifeEssenceFluid.getBlockID()); -// dos.writeInt(0); -// } else -// { -// dos.writeInt(flMain.fluidID); -// dos.writeInt(flMain.amount); -// } -// -// FluidStack flOut = tileEntity.getOutputFluid(); -// -// if (flOut == null) -// { -// dos.writeInt(AlchemicalWizardry.lifeEssenceFluid.getBlockID()); -// dos.writeInt(0); -// } else -// { -// dos.writeInt(flOut.fluidID); -// dos.writeInt(flOut.amount); -// } -// -// FluidStack flIn = tileEntity.getInputFluid(); -// -// if (flIn == null) -// { -// dos.writeInt(AlchemicalWizardry.lifeEssenceFluid.getBlockID()); -// dos.writeInt(0); -// } else -// { -// dos.writeInt(flIn.fluidID); -// dos.writeInt(flIn.amount); -// } -// -// dos.writeInt(tileEntity.capacity); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "BloodAltar"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(TESocket tileEntity) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// int[] items = tileEntity.buildIntDataList(); -// boolean hasStacks = (items != null); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeByte(hasStacks ? 1 : 0); -// -// if (hasStacks) -// { -// for (int i = 0; i < 3; i++) -// { -// dos.writeInt(items[i]); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "TESocket"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(String ownerName, int addedEssence, int maxEssence) -// //Packet to be sent to server to change essence -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeInt(ownerName.length()); -// dos.writeChars(ownerName); -// dos.writeInt(addedEssence); -// dos.writeInt(maxEssence); //Used for Blood Orbs, but does nothing for other items -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "SetLifeEssence"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// //pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(String ownerName) //stores the current essence in the player's NBT -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeInt(ownerName.length()); -// dos.writeChars(ownerName); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "GetLifeEssence"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// //pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getAltarPacket(int x, int y, int z) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeInt(x); -// dos.writeInt(y); -// dos.writeInt(z); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "GetAltarEssence"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// //pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(TEWritingTable tileEntity) -// { -// // TODO Auto-generated method stub -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// int[] items = tileEntity.buildIntDataList(); -// boolean hasStacks = (items != null); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeByte(hasStacks ? 1 : 0); -// -// if (hasStacks) -// { -// for (int i = 0; i < 3 * 7; i++) -// { -// dos.writeInt(items[i]); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "TEWritingTable"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(TEPedestal tileEntity) -// { -// // TODO Auto-generated method stub -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// int[] items = tileEntity.buildIntDataList(); -// boolean hasStacks = (items != null); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeByte(hasStacks ? 1 : 0); -// -// if (hasStacks) -// { -// for (int i = 0; i < 3 * 1; i++) -// { -// dos.writeInt(items[i]); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "TEPedestal"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(TEPlinth tileEntity) -// { -// // TODO Auto-generated method stub -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// int[] items = tileEntity.buildIntDataList(); -// boolean hasStacks = (items != null); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeByte(hasStacks ? 1 : 0); -// -// if (hasStacks) -// { -// for (int i = 0; i < 3 * 1; i++) -// { -// dos.writeInt(items[i]); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "TEPlinth"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getPacket(TETeleposer tileEntity) -// { -// // TODO Auto-generated method stub -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// int[] items = tileEntity.buildIntDataList(); -// boolean hasStacks = (items != null); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeByte(hasStacks ? 1 : 0); -// -// if (hasStacks) -// { -// for (int i = 0; i < 3 * 1; i++) -// { -// dos.writeInt(items[i]); -// } -// } -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "TETeleposer"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -// -// public static Packet getCustomParticlePacket(String str, double x, double y, double z, double xVel, double yVel, double zVel) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeInt(str.length()); -// dos.writeChars(str); -// dos.writeDouble(x); -// dos.writeDouble(y); -// dos.writeDouble(z); -// dos.writeDouble(xVel); -// dos.writeDouble(yVel); -// dos.writeDouble(zVel); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "CustomParticle"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = false; -// return pkt; -// } -// -// public static Packet getPlayerVelocitySettingPacket(double xVel, double yVel, double zVel) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeDouble(xVel); -// dos.writeDouble(yVel); -// dos.writeDouble(zVel); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "SetPlayerVel"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = false; -// return pkt; -// } -// -// public static Packet getPlayerPositionSettingPacket(double xVel, double yVel, double zVel) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeDouble(xVel); -// dos.writeDouble(yVel); -// dos.writeDouble(zVel); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "SetPlayerPos"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = false; -// return pkt; -// } -// -// public static Packet getCreativeCheatPacket(String ownerName, boolean isFill) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeInt(ownerName.length()); -// dos.writeChars(ownerName); -// dos.writeBoolean(isFill); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "InfiniteLPPath"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = false; -// return pkt; -// } -// -// public static Packet getBlockOrientationPacket(TEOrientable tileEntity) -// { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(140); -// DataOutputStream dos = new DataOutputStream(bos); -// -// try -// { -// dos.writeInt(tileEntity.xCoord); -// dos.writeInt(tileEntity.yCoord); -// dos.writeInt(tileEntity.zCoord); -// dos.writeInt(tileEntity.getIntForForgeDirection(tileEntity.getInputDirection())); -// dos.writeInt(tileEntity.getIntForForgeDirection(tileEntity.getOutputDirection())); -// } catch (IOException e) -// { -// e.printStackTrace(); -// } -// -// Packet250CustomPayload pkt = new Packet250CustomPayload(); -// pkt.channel = "TEOrientor"; -// pkt.data = bos.toByteArray(); -// pkt.length = bos.size(); -// pkt.isChunkDataPacket = true; -// return pkt; -// } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/PlinthComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/PlinthComponent.java deleted file mode 100644 index 6232828a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/PlinthComponent.java +++ /dev/null @@ -1,37 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public class PlinthComponent -{ - public int xOffset; - public int yOffset; - public int zOffset; - public int ring; - - public PlinthComponent(int xOffset, int yOffset, int zOffset, int ring) - { - this.xOffset = xOffset; - this.yOffset = yOffset; - this.zOffset = zOffset; - this.ring = ring; - } - - public int getXOffset() - { - return xOffset; - } - - public int getYOffset() - { - return yOffset; - } - - public int getZOffset() - { - return zOffset; - } - - public int getRing() - { - return ring; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/CombinedPotionComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/CombinedPotionComponent.java deleted file mode 100644 index 25dfa1b4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/CombinedPotionComponent.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.alchemy; - -import net.minecraft.potion.Potion; - -public class CombinedPotionComponent -{ - public Potion result; - public Potion pot1; - public Potion pot2; - - public CombinedPotionComponent(Potion result, Potion pot1, Potion pot2) - { - this.result = result; - this.pot1 = pot1; - this.pot2 = pot2; - } - - public boolean isRecipeValid(Potion test1, Potion test2) - { - return (test1 == pot1 && test2 == pot2) || (test1 == pot2 && test2 == pot1); - } - - public boolean isRecipeValid(int test1, int test2) - { - return (test1 == pot1.id && test2 == pot2.id) || (test1 == pot2.id && test2 == pot1.id); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/CombinedPotionRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/CombinedPotionRegistry.java deleted file mode 100644 index 0a138dec..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/CombinedPotionRegistry.java +++ /dev/null @@ -1,182 +0,0 @@ -package WayofTime.alchemicalWizardry.common.alchemy; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyPotionHelper; -import WayofTime.alchemicalWizardry.common.items.potion.AlchemyFlask; - -public class CombinedPotionRegistry -{ - public static List potionList = new ArrayList(); - - public static void registerCombinedPotionRecipe(Potion result, Potion pot1, Potion pot2) - { - potionList.add(new CombinedPotionComponent(result, pot1, pot2)); - } - - public static boolean isRecipeValid(Potion pot1, Potion pot2) - { - for(CombinedPotionComponent recipe : potionList) - { - if(recipe.isRecipeValid(pot1, pot2)) - { - return true; - } - } - - return false; - } - - public static boolean isRecipeValid(int pot1, int pot2) - { - for(CombinedPotionComponent recipe : potionList) - { - if(recipe.isRecipeValid(pot1, pot2)) - { - return true; - } - } - - return false; - } - - public static Potion getPotion(Potion pot1, Potion pot2) - { - for(CombinedPotionComponent recipe : potionList) - { - if(recipe.isRecipeValid(pot1, pot2)) - { - return recipe.result; - } - } - - return null; - } - - public static Potion getPotion(int pot1, int pot2) - { - for(CombinedPotionComponent recipe : potionList) - { - if(recipe.isRecipeValid(pot1, pot2)) - { - return recipe.result; - } - } - - return null; - } - - public static ItemStack applyPotionEffect(ItemStack stack) - { - if(stack == null || !(stack.getItem() instanceof AlchemyFlask)) - { - return null; - } - - List list = AlchemyFlask.getEffects(stack); - if(list == null) - { - return stack; - } - - boolean isDone = false; - - for(AlchemyPotionHelper helper1 : list) - { - if(isDone) - { - continue; - } - - for(int i=0; i list = AlchemyFlask.getEffects(stack); - if(list == null) - { - return false; - } - - for(AlchemyPotionHelper helper1 : list) - { - for(AlchemyPotionHelper helper2 : list) - { - int pot1 = helper1.getPotionID(); - int pot2 = helper2.getPotionID(); - - if(isRecipeValid(pot1, pot2)) - { - return true; - } - } - } - - return false; - } - - public static PotionEffect getResultantPotion(AlchemyPotionHelper potE1, AlchemyPotionHelper potE2) - { - if(potE1 == null || potE2 == null) - { - return null; - } - - int pot1 = potE1.getPotionID(); - int pot2 = potE2.getPotionID(); - - if(isRecipeValid(pot1, pot2)) - { - int duration = (int)((potE1.getTickDuration()* Math.pow(8.0f / 3.0f, potE1.getdurationFactor()) + potE2.getdurationFactor() * Math.pow(8.0f / 3.0f, potE2.getdurationFactor()))/2.0); - int amplifier = (potE1.getConcentration() + potE2.getConcentration())/2; - - Potion pot = getPotion(pot1, pot2); - - return new PotionEffect(pot.id, duration, amplifier); - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/ICombinationalCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/ICombinationalCatalyst.java deleted file mode 100644 index 9acdc197..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/alchemy/ICombinationalCatalyst.java +++ /dev/null @@ -1,6 +0,0 @@ -package WayofTime.alchemicalWizardry.common.alchemy; - -public interface ICombinationalCatalyst -{ - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java deleted file mode 100644 index d1bc6a1d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java +++ /dev/null @@ -1,336 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.ArmourComponent; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ArmourForge extends Block -{ - public static List helmetList = new ArrayList(); - public static List plateList = new ArrayList(); - public static List leggingsList = new ArrayList(); - public static List bootsList = new ArrayList(); - - public ArmourForge() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("armourForge"); - //setUnlocalizedName("armourForge"); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:SoulForge"); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - if (world.isRemote) - { - return false; - } - - int armourType = getArmourType(world, x, y, z); - - if (armourType == -1) - { - return false; - } - - int direction = getDirectionForArmourType(world, x, y, z, armourType); - - if (!isParadigmValid(armourType, direction, world, x, y, z)) - { - return false; - } - - List list = null; - ItemStack armourPiece = null; - - switch (armourType) - { - case 0: - list = plateList; - armourPiece = new ItemStack(ModItems.boundPlate, 1, 0); - break; - - case 1: - list = leggingsList; - armourPiece = new ItemStack(ModItems.boundLeggings, 1, 0); - break; - - case 2: - list = helmetList; - armourPiece = new ItemStack(ModItems.boundHelmet, 1, 0); - break; - - case 3: - list = bootsList; - armourPiece = new ItemStack(ModItems.boundBoots, 1, 0); - break; - } - - if (list == null) - { - return false; - } - - if (armourPiece == null) - { - return false; - } - - if (armourPiece.stackTagCompound == null) - { - armourPiece.setTagCompound(new NBTTagCompound()); - } - - for (ArmourComponent ac : list) - { - int xOff = ac.getXOff(); - int zOff = ac.getZOff(); - TileEntity tileEntity; - - switch (direction) - { - case 1: - tileEntity = world.getTileEntity(x + xOff, y, z - zOff); - break; - - case 2: - tileEntity = world.getTileEntity(x + zOff, y, z + xOff); - break; - - case 3: - tileEntity = world.getTileEntity(x - xOff, y, z + zOff); - break; - - case 4: - tileEntity = world.getTileEntity(x - zOff, y, z - xOff); - break; - - case 5: - tileEntity = world.getTileEntity(x + xOff, y + zOff, z); - break; - - case 6: - tileEntity = world.getTileEntity(x, y + zOff, z + xOff); - break; - - default: - tileEntity = null; - } - - if (tileEntity instanceof TESocket) - { - ItemStack itemStack = ((TESocket) tileEntity).getStackInSlot(0); - int xCoord = tileEntity.xCoord; - int yCoord = tileEntity.yCoord; - int zCoord = tileEntity.zCoord; - ((TESocket) tileEntity).setInventorySlotContents(0, null); - world.setBlockToAir(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - - for (int i = 0; i < 8; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 20, world.provider.dimensionId, TEAltar.getParticlePacket(xCoord, yCoord, zCoord, (short) 1)); - SpellHelper.sendIndexedParticleToAllAround(world, xCoord, yCoord, zCoord, 20, world.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (itemStack != null) - { - Item item = itemStack.getItem(); - - if (item instanceof ArmourUpgrade) - { - ((BoundArmour) armourPiece.getItem()).hasAddedToInventory(armourPiece, itemStack.copy()); - ((TESocket) tileEntity).setInventorySlotContents(0, null); - } - } - } - } - - if (armourPiece != null) - { - int xOff = (world.rand.nextInt(11) - 5); - int zOff = (int) (Math.sqrt(25 - xOff * xOff) * (world.rand.nextInt(2) - 0.5) * 2); - world.addWeatherEffect(new EntityLightningBolt(world, x + xOff, y + 5, z + zOff)); - world.spawnEntityInWorld(new EntityItem(world, x, y + 1, z, armourPiece)); - } - - return true; - } - - //0 for plate, 1 for leggings, 2 for helmet, 3 for boots - public int getArmourType(World world, int x, int y, int z) - { - for (int i = 0; i <= 3; i++) - { - if (getDirectionForArmourType(world, x, y, z, i) != -1) - { - return i; - } - } - - return -1; - } - - public int getDirectionForArmourType(World world, int x, int y, int z, int armourType) - { - for (int i = 1; i <= 6; i++) - { - if (isParadigmValid(armourType, i, world, x, y, z)) - { - return i; - } - } - - return -1; - } - - public boolean isParadigmValid(int armourType, int direction, World world, int x, int y, int z) - { - List list = null; - - switch (armourType) - { - case 0: - list = plateList; - break; - - case 1: - list = leggingsList; - break; - - case 2: - list = helmetList; - break; - - case 3: - list = bootsList; - break; - } - - if (list == null) - { - return false; - } - - for (ArmourComponent ac : list) - { - int xOff = ac.getXOff(); - int zOff = ac.getZOff(); - - switch (direction) - { - case 1: - if (!(world.getTileEntity(x + xOff, y, z - zOff) instanceof TESocket)) - { - return false; - } - - break; - - case 2: - if (!(world.getTileEntity(x + zOff, y, z + xOff) instanceof TESocket)) - { - return false; - } - - break; - - case 3: - if (!(world.getTileEntity(x - xOff, y, z + zOff) instanceof TESocket)) - { - return false; - } - - break; - - case 4: - if (!(world.getTileEntity(x - zOff, y, z - xOff) instanceof TESocket)) - { - return false; - } - - break; - - case 5: - if (!(world.getTileEntity(x + xOff, y + zOff, z) instanceof TESocket)) - { - return false; - } - - break; - - case 6: - if (!(world.getTileEntity(x, y + zOff, z + xOff) instanceof TESocket)) - { - return false; - } - - break; - - default: - return false; - } - } - - return true; - } - - public static void initializeRecipes() - { - helmetList.add(new ArmourComponent(-1, 1)); - helmetList.add(new ArmourComponent(0, 1)); - helmetList.add(new ArmourComponent(1, 1)); - helmetList.add(new ArmourComponent(-1, 0)); - helmetList.add(new ArmourComponent(1, 0)); - bootsList.add(new ArmourComponent(-1, 1)); - bootsList.add(new ArmourComponent(1, 1)); - bootsList.add(new ArmourComponent(-1, 0)); - bootsList.add(new ArmourComponent(1, 0)); - plateList.add(new ArmourComponent(-1, 0)); - plateList.add(new ArmourComponent(1, 0)); - plateList.add(new ArmourComponent(-1, -1)); - plateList.add(new ArmourComponent(0, -1)); - plateList.add(new ArmourComponent(1, -1)); - plateList.add(new ArmourComponent(-1, -2)); - plateList.add(new ArmourComponent(0, -2)); - plateList.add(new ArmourComponent(1, -2)); - leggingsList.add(new ArmourComponent(-1, 1)); - leggingsList.add(new ArmourComponent(0, 1)); - leggingsList.add(new ArmourComponent(1, 1)); - leggingsList.add(new ArmourComponent(-1, 0)); - leggingsList.add(new ArmourComponent(1, 0)); - leggingsList.add(new ArmourComponent(-1, -1)); - leggingsList.add(new ArmourComponent(1, -1)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockAlchemicCalcinator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockAlchemicCalcinator.java deleted file mode 100644 index 6ed95221..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockAlchemicCalcinator.java +++ /dev/null @@ -1,168 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAlchemicCalcinator; - -public class BlockAlchemicCalcinator extends BlockContainer -{ - public BlockAlchemicCalcinator() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("alchemicCalcinator"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEAlchemicCalcinator(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } - - @Override - public boolean canProvidePower() - { - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, - x + rx, y + ry, z + rz, - new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TEAlchemicCalcinator tileEntity = (TEAlchemicCalcinator) world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem != null) - { - if(playerItem.getItem() instanceof IReagentManipulator) - { - return false; - } - - if(playerItem.getItem() instanceof IBloodOrb) - { - if(tileEntity.getStackInSlot(0) == null) - { - ItemStack newItem = playerItem.copy(); - newItem.stackSize = 1; - --playerItem.stackSize; - tileEntity.setInventorySlotContents(0, newItem); - } - } - else if(tileEntity.getStackInSlot(1) == null) - { - ItemStack newItem = playerItem.copy(); - newItem.stackSize = 1; - --playerItem.stackSize; - tileEntity.setInventorySlotContents(1, newItem); - } - - } else if (playerItem == null) - { - if(tileEntity.getStackInSlot(1) != null) - { - player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(1)); - tileEntity.setInventorySlotContents(1, null); - }else if(tileEntity.getStackInSlot(0) != null) - { - player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(0)); - tileEntity.setInventorySlotContents(0, null); - } - } - - tileEntity.getWorldObj().markBlockForUpdate(x, y, z); - - return true; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java deleted file mode 100644 index 8b1b2f8c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java +++ /dev/null @@ -1,314 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import javax.swing.Icon; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAltar extends BlockContainer -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockAltar() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("bloodAltar"); - //setUnlocalizedName("blockAltar"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_Top"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_SideType1"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_SideType2"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_Bottom"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - @Override - public int getComparatorInputOverride(World world, int x, int y, int z, int meta) - { - TileEntity tile = world.getTileEntity(x, y, z); - - if (tile instanceof TEAltar) - { - ItemStack stack = ((TEAltar) tile).getStackInSlot(0); - - if (stack != null && stack.getItem() instanceof EnergyBattery) - { - EnergyBattery bloodOrb = (EnergyBattery) stack.getItem(); - int maxEssence = bloodOrb.getMaxEssence(); - int currentEssence = bloodOrb.getCurrentEssence(stack); - int level = currentEssence * 15 / maxEssence; - return ((int) (Math.min(15, level))) % 16; - } - } - - return 0; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TEAltar tileEntity = (TEAltar) world.getTileEntity(x, y, z); - -// world.scheduleBlockUpdate(x, y, z, this.blockID, 0); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem != null) - { - if (playerItem.getItem().equals(ModItems.divinationSigil)) - { - if (player.worldObj.isRemote) - { - world.markBlockForUpdate(x, y, z); - }else - { - tileEntity.sendChatInfoToPlayer(player); - } - - return true; - } - else if(playerItem.getItem().equals(ModItems.itemSeerSigil)) - { - if (player.worldObj.isRemote) - { - world.markBlockForUpdate(x, y, z); - }else - { - tileEntity.sendMoreChatInfoToPlayer(player); - } - - return true; - } - else if (playerItem.getItem().equals(ModItems.sigilOfHolding)) - { - ItemStack item = ((SigilOfHolding) playerItem.getItem()).getCurrentItem(playerItem); - - if (item != null && item.getItem().equals(ModItems.divinationSigil)) - { - if (player.worldObj.isRemote) - { - world.markBlockForUpdate(x, y, z); - }else - { - tileEntity.sendChatInfoToPlayer(player); - } - - return true; - } - else if(item !=null && item.getItem().equals(ModItems.itemSeerSigil)) - { - if (player.worldObj.isRemote) - { - world.markBlockForUpdate(x, y, z); - }else - { - tileEntity.sendMoreChatInfoToPlayer(player); - } - - return true; - } - } - } - - if (tileEntity.getStackInSlot(0) == null && playerItem != null) - { - ItemStack newItem = playerItem.copy(); - newItem.stackSize = 1; -// if(newItem.getMaxDamage()==0) -// { -// newItem.setItemDamage(0); -// } - --playerItem.stackSize; - tileEntity.setInventorySlotContents(0, newItem); - tileEntity.startCycle(); - } else if (tileEntity.getStackInSlot(0) != null && playerItem == null) - { - /**stub method - * Add the item that is in the slot to the player's inventory, and - * then set the slot to null. - */ - player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(0)); - tileEntity.setInventorySlotContents(0, null); - tileEntity.setActive(); - } - - world.markBlockForUpdate(x, y, z); - //player.openGui(AlchemicalWizardry.instance, 0, world, x, y, z); - //PacketDispatcher.sendPacketToServer(tileEntity.getDescriptionPacket()); - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, - x + rx, y + ry, z + rz, - new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } - - @Override - public void randomDisplayTick(World world, int x, int y, int z, Random rand) - { - TEAltar tileEntity = (TEAltar) world.getTileEntity(x, y, z); - - if (!tileEntity.isActive()) - { - return; - } - - if (rand.nextInt(3) != 0) - { - return; - } - } - -// @Override -// public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) -// { -// return 1; -// } - -// @Override -// public boolean canProvidePower() -// { -// return true; -// } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) - { - return new TEAltar(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java deleted file mode 100644 index 767213e3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java +++ /dev/null @@ -1,157 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.ArrayList; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; - -public class BlockBelljar extends BlockContainer -{ - public BlockBelljar() - { - super(Material.glass); - setHardness(2.0F); - setResistance(5.0F); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("crystalBelljar"); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityLiving, ItemStack stack) - { - TileEntity tile = world.getTileEntity(x, y, z); - - if(tile instanceof TEBellJar) - { - NBTTagCompound tag = stack.getTagCompound(); - if(tag != null) - { - ((TEBellJar) tile).readTankNBTOnPlace(tag); - } - } - } - -// @Override -// public void breakBlock(World world, int x, int y, int z, Block par5, int par6) -// { -// if(world.isRemote) -// { -// return; -// } -// -// TileEntity tile = world.getTileEntity(x, y, z); -// -// if(tile == null) -// { -// System.out.println("Tile has been removed already!"); -// } -// -// if(tile instanceof TEBellJar) -// { -// if(((TEBellJar) tile).areTanksEmpty()) -// { -// super.breakBlock(world, x, y, z, par5, par6); -// return; -// } -// System.out.println("Writing..."); -// ItemStack droppedStack = new ItemStack(ModBlocks.blockCrystalBelljar); -// droppedStack.setTagCompound(new NBTTagCompound()); -// -// NBTTagCompound savedTag = droppedStack.getTagCompound(); -// ((TEBellJar) tile).writeTankNBT(savedTag); -// -// this.dropBlockAsItem(world, x, y, z, droppedStack); -// -// world.removeTileEntity(x, y, z); -// return; -// } -// -// super.breakBlock(world, x, y, z, par5, par6); -// } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEBellJar(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } - - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - @Override - public int getComparatorInputOverride(World world, int x, int y, int z, int meta) - { - TileEntity tile = world.getTileEntity(x, y, z); - if(tile instanceof TEBellJar) - { - return ((TEBellJar) tile).getRSPowerOutput(); - } - return 15; - } - - @Override - public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) - { - this.dropBlockAsItem(world, x, y, z, meta, 0); - - super.onBlockHarvested(world, x, y, z, meta, player); - } - - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) - { - ArrayList list = new ArrayList(); - - TileEntity tile = world.getTileEntity(x, y, z); - - if(tile instanceof TEBellJar) - { - ItemStack drop = new ItemStack(this); - NBTTagCompound tag = new NBTTagCompound(); - ((TEBellJar)tile).writeTankNBT(tag); - drop.stackTagCompound = tag; - - list.add(drop); - } - - return list; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockBloodLightSource.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockBloodLightSource.java deleted file mode 100644 index 2ffc83e6..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockBloodLightSource.java +++ /dev/null @@ -1,75 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockBloodLightSource extends Block -{ - public BlockBloodLightSource() - { - super(Material.cloth); - //setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("blockBloodLightSource"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:BlockBloodLight"); - } - - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z) - { - return 15; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public void randomDisplayTick(World world, int x, int y, int z, Random rand) - { - if (rand.nextInt(3) != 0) - { - float f = (float) 1.0F; - float f1 = f * 0.6F + 0.4F; - float f2 = f * f * 0.7F - 0.5F; - float f3 = f * f * 0.6F - 0.7F; - world.spawnParticle("reddust", x + 0.5D + rand.nextGaussian() / 8, y + 0.5D, z + 0.5D + rand.nextGaussian() / 8, f1, f2, f3); - } - } - - @Override - - public void addCollisionBoxesToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) - { - this.setBlockBounds(0.40F, 0.40F, 0.40F, 0.60F, 0.60F, 0.60F); - //super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity); - } - - public int quantityDropped(Random par1Random) - { - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockConduit.java deleted file mode 100644 index c92daea7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockConduit.java +++ /dev/null @@ -1,101 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockConduit extends BlockOrientable -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockConduit() - { - super(); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("blockConduit"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_Top"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_SideType1"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_SideType2"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_Bottom"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - //dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - @Override - public TileEntity createNewTileEntity(World world, int noClue) - { - return new TEConduit(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java deleted file mode 100644 index c9d74de3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java +++ /dev/null @@ -1,43 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEDemonPortal; - -public class BlockDemonPortal extends BlockContainer -{ - public BlockDemonPortal() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("demonPortal"); - } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) - { - return new TEDemonPortal(); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float what, float these, float are) - { - if(world.isRemote) - { - return false; - } - - TEDemonPortal tileEntity = (TEDemonPortal) world.getTileEntity(x, y, z); - - tileEntity.rightClickBlock(player, side); - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockHomHeart.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockHomHeart.java deleted file mode 100644 index 730b31f3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockHomHeart.java +++ /dev/null @@ -1,101 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.items.BlankSpell; -import WayofTime.alchemicalWizardry.common.tileEntity.TEHomHeart; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockHomHeart extends BlockContainer -{ - public IIcon bottomIcon; - public IIcon topIcon; - public IIcon sideIcon; - - public BlockHomHeart() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("blockHomHeart"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:HomHeart_top"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:HomHeart_bottom"); - this.sideIcon = iconRegister.registerIcon("AlchemicalWizardry:HomHeart_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon; - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TEHomHeart tileEntity = (TEHomHeart) world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem != null) - { - if (playerItem.getItem() instanceof BlankSpell) - { - if (playerItem.stackTagCompound == null) - { - playerItem.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound itemTag = playerItem.stackTagCompound; - itemTag.setInteger("xCoord", x); - itemTag.setInteger("yCoord", y); - itemTag.setInteger("zCoord", z); - itemTag.setInteger("dimensionId", world.provider.dimensionId); - return true; - } - } - - return false; - } - - @Override - public TileEntity createNewTileEntity(World world, int metaMaybe) - { - return new TEHomHeart(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockMasterStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockMasterStone.java deleted file mode 100644 index 2744f58a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockMasterStone.java +++ /dev/null @@ -1,84 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.items.ActivationCrystal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockMasterStone extends BlockContainer -{ - public BlockMasterStone() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("blockMasterStone"); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:MasterStone"); - } - - @Override - public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) - { - TileEntity tile = world.getTileEntity(x, y, z); - if(tile instanceof TEMasterStone) - { - ((TEMasterStone) tile).useOnRitualBroken(); - } - - super.onBlockHarvested(world, x, y, z, meta, player); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TEMasterStone tileEntity = (TEMasterStone) world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem == null) - { - return false; - } - - Item item = playerItem.getItem(); - - if (!(item instanceof ActivationCrystal)) - { - return false; - } - - ActivationCrystal acItem = (ActivationCrystal) item; - tileEntity.setOwner(acItem.getOwnerName(playerItem)); - tileEntity.activateRitual(world, acItem.getCrystalLevel(playerItem), player); - world.markBlockForUpdate(x, y, z); - return true; - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEMasterStone(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockOrientable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockOrientable.java deleted file mode 100644 index fbc115c8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockOrientable.java +++ /dev/null @@ -1,190 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import javax.swing.Icon; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEOrientable; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockOrientable extends BlockContainer -{ - public BlockOrientable() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - //setUnlocalizedName("bloodSocket"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - -// @Override -// public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) -// { -// return false; -// } - - @Override - public TileEntity createNewTileEntity(World world, int dunno) - { - return new TEOrientable(); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float what, float these, float are) - { - //Right-click orients the output face. Shift-right-click orients the input face. - if (world.isRemote) - { - return false; - } - - ForgeDirection sideClicked = ForgeDirection.getOrientation(side); - TileEntity tile = world.getTileEntity(x, y, z); - - if (tile instanceof TEOrientable) - { - TEOrientable newTile = (TEOrientable)tile; - if(player.isSneaking()) - { - int nextSide = TEOrientable.getIntForForgeDirection(newTile.getInputDirection())+1; - - if(nextSide>5) - { - nextSide = 0; - } - if(ForgeDirection.getOrientation(nextSide)==newTile.getOutputDirection()) - { - nextSide++; - if(nextSide>5) - { - nextSide = 0; - } - } - - newTile.setInputDirection(ForgeDirection.getOrientation(nextSide)); - }else - { - int nextSide = TEOrientable.getIntForForgeDirection(newTile.getOutputDirection())+1; - - if(nextSide>5) - { - nextSide = 0; - } - if(ForgeDirection.getOrientation(nextSide)==newTile.getInputDirection()) - { - nextSide++; - if(nextSide>5) - { - nextSide = 0; - } - } - - newTile.setOutputDirection(ForgeDirection.getOrientation(nextSide)); - } - } - - world.markBlockForUpdate(x, y, z); - return true; - } - - public int getTextureIndexForSideAndOrientation(int side, ForgeDirection input, ForgeDirection output) - { - if(ForgeDirection.getOrientation(side) == input) - { - return 0; - } - if(ForgeDirection.getOrientation(side) == output) - { - return 1; - } - if(ForgeDirection.getOrientation(side) == output.getOpposite()) - { - return 6; - } - - switch(side) - { - case 0: //BOTTOM - switch(output) - { - case NORTH: return 2; //UP - case SOUTH: return 3; //DOWN - case EAST: return 4; //LEFT - case WEST: return 5; //RIGHT - default: break; - } - break; - case 1: //TOP - switch(output) - { - case NORTH: return 2; //UP - case SOUTH: return 3; //DOWN - case EAST: return 5; - case WEST: return 4; - default: break; - } - break; - case 2: //NORTH - switch(output) - { - case DOWN: return 3; - case UP: return 2; - case EAST: return 4; - case WEST: return 5; - default: break; - } - break; - case 3: //SOUTH - switch(output) - { - case DOWN: return 3; - case UP: return 2; - case EAST: return 5; - case WEST: return 4; - default: break; - } - break; - case 4: //WEST - switch(output) - { - case DOWN: return 3; - case UP: return 2; - case NORTH: return 5; - case SOUTH: return 4; - default: break; - } - break; - case 5: //EAST - switch(output) - { - case DOWN: return 3; - case UP: return 2; - case NORTH: return 4; - case SOUTH: return 5; - default: break; - } - break; - } - - return 0; - } - - @Override - public int damageDropped(int metadata) - { - return metadata; - } - - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockPedestal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockPedestal.java deleted file mode 100644 index 85dc2d68..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockPedestal.java +++ /dev/null @@ -1,193 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockPedestal extends BlockContainer -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockPedestal() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("bloodPedestal"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:ArcanePedestal"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TEPedestal tileEntity = (TEPedestal) world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (tileEntity.getStackInSlot(0) == null && playerItem != null) - { - ItemStack newItem = playerItem.copy(); - newItem.stackSize = 1; - --playerItem.stackSize; - tileEntity.setInventorySlotContents(0, newItem); - } else if (tileEntity.getStackInSlot(0) != null && playerItem == null) - { - /**stub method - * Add the item that is in the slot to the player's inventory, and - * then set the slot to null. - */ - player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(0)); - tileEntity.setInventorySlotContents(0, null); - tileEntity.setActive(); - } - - world.markBlockForUpdate(x, y, z); - //player.openGui(AlchemicalWizardry.instance, 0, world, x, y, z); - //PacketDispatcher.sendPacketToServer(tileEntity.getDescriptionPacket()); - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, x + rx, y + ry, z + rz, new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEPedestal(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } - - @Override - public MovingObjectPosition collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3) - { - float f = 0.3125F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.6F, 0.5F + f); - return super.collisionRayTrace(par1World, par2, par3, par4, par5Vec3, par6Vec3); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockPlinth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockPlinth.java deleted file mode 100644 index 619f61f1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockPlinth.java +++ /dev/null @@ -1,193 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockPlinth extends BlockContainer -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockPlinth() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("bloodPlinth"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:ArcanePlinth"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TEPlinth tileEntity = (TEPlinth) world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (tileEntity.getStackInSlot(0) == null && playerItem != null) - { - ItemStack newItem = playerItem.copy(); - newItem.stackSize = 1; - --playerItem.stackSize; - tileEntity.setInventorySlotContents(0, newItem); - } else if (tileEntity.getStackInSlot(0) != null && playerItem == null) - { - /**stub method - * Add the item that is in the slot to the player's inventory, and - * then set the slot to null. - */ - player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(0)); - tileEntity.setInventorySlotContents(0, null); - tileEntity.setActive(); - } - - world.markBlockForUpdate(x, y, z); - //player.openGui(AlchemicalWizardry.instance, 0, world, x, y, z); - //PacketDispatcher.sendPacketToServer(tileEntity.getDescriptionPacket()); - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, x + rx, y + ry, z + rz, new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEPlinth(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } - - @Override - public MovingObjectPosition collisionRayTrace(World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3) - { - float f = 0.0625F; - this.setBlockBounds(f, 0.0F, f, 1.0f - f, 0.875f, 1.0f - f); - return super.collisionRayTrace(par1World, par2, par3, par4, par5Vec3, par6Vec3); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockReagentConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockReagentConduit.java deleted file mode 100644 index 83c5a91c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockReagentConduit.java +++ /dev/null @@ -1,83 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockReagentConduit extends BlockContainer -{ - public BlockReagentConduit() - { - super(Material.cloth); - setHardness(2.0F); - setResistance(5.0F); - this.setBlockName("blockReagentConduit"); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:SimpleTransCircle"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEReagentConduit(); - } - - @Override - public boolean canProvidePower() - { - return true; - } - -// @Override -// @SideOnly(Side.CLIENT) -// public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) -// { -// if (this.equals(ModBlocks.blockSpellParadigm)) -// { -// par3List.add(new ItemStack(par1, 1, 0)); -// par3List.add(new ItemStack(par1, 1, 1)); -// par3List.add(new ItemStack(par1, 1, 2)); -// par3List.add(new ItemStack(par1, 1, 3)); -// } else -// { -// super.getSubBlocks(par1, par2CreativeTabs, par3List); -// } -// } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float what, float these, float are) - { - return super.onBlockActivated(world, x, y, z, player, side, what, these, are); - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSchematicSaver.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSchematicSaver.java deleted file mode 100644 index 9c85e4fa..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSchematicSaver.java +++ /dev/null @@ -1,43 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEDemonPortal; -import WayofTime.alchemicalWizardry.common.tileEntity.TESchematicSaver; - -public class BlockSchematicSaver extends BlockContainer -{ - public BlockSchematicSaver() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("schematicSaver"); - } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) - { - return new TESchematicSaver(); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float what, float these, float are) - { - if(world.isRemote) - { - return false; - } - - TESchematicSaver tileEntity = (TESchematicSaver) world.getTileEntity(x, y, z); - - tileEntity.rightClickBlock(player, side); - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java deleted file mode 100644 index e4e53890..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java +++ /dev/null @@ -1,163 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockSocket extends BlockContainer -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockSocket() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("bloodSocket"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodSocket"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TESocket tileEntity = (TESocket) world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (tileEntity.getStackInSlot(0) == null && playerItem != null) - { - if (playerItem.getItem() instanceof ArmourUpgrade) - { - ItemStack newItem = playerItem.copy(); - newItem.stackSize = 1; - --playerItem.stackSize; - tileEntity.setInventorySlotContents(0, newItem); - } - } else if (tileEntity.getStackInSlot(0) != null && playerItem == null) - { - /**stub method - * Add the item that is in the slot to the player's inventory, and - * then set the slot to null. - */ - player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(0)); - tileEntity.setInventorySlotContents(0, null); - tileEntity.setActive(); - } - - world.markBlockForUpdate(x, y, z); - //player.openGui(AlchemicalWizardry.instance, 0, world, x, y, z); - //PacketDispatcher.sendPacketToServer(tileEntity.getDescriptionPacket()); - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, x + rx, y + ry, z + rz, new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TESocket(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpectralContainer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpectralContainer.java deleted file mode 100644 index 95a48ce3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpectralContainer.java +++ /dev/null @@ -1,75 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockSpectralContainer extends BlockContainer -{ - public BlockSpectralContainer() - { - super(Material.cloth); - //setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("blockSpectralContainer"); - this.setBlockBounds(0,0,0,0,0,0); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:BlockBloodLight"); - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public void addCollisionBoxesToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) - { - - } - - public int quantityDropped(Random par1Random) - { - return 0; - } - - @Override - public boolean isReplaceable(IBlockAccess world, int x, int y, int z) - { - return true; - } - - @Override - public boolean isAir(IBlockAccess world, int x, int y, int z) - { - return true; - } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) - { - return new TESpectralContainer(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellEffect.java deleted file mode 100644 index 14846d23..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellEffect.java +++ /dev/null @@ -1,62 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock; - - -public class BlockSpellEffect extends BlockOrientable -{ - public BlockSpellEffect() - { - super(); - this.setBlockName("blockSpellEffect"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TESpellEffectBlock(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - if (this.equals(ModBlocks.blockSpellEffect)) - { - for(int i=0; i<4; i++) - { - par3List.add(new ItemStack(par1, 1, i)); - } - } else - { - super.getSubBlocks(par1, par2CreativeTabs, par3List); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellEnhancement.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellEnhancement.java deleted file mode 100644 index 14dc4af5..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellEnhancement.java +++ /dev/null @@ -1,64 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEnhancementBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellModifierBlock; - - -public class BlockSpellEnhancement extends BlockOrientable -{ - public BlockSpellEnhancement() - { - super(); - this.setBlockName("blockSpellEnhancement"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TESpellEnhancementBlock(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - if (this.equals(ModBlocks.blockSpellEnhancement)) - { - for(int i=0; i<15; i++) - { - par3List.add(new ItemStack(par1, 1, i)); - } - } else - { - super.getSubBlocks(par1, par2CreativeTabs, par3List); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellModifier.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellModifier.java deleted file mode 100644 index ae4e028f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellModifier.java +++ /dev/null @@ -1,63 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellModifierBlock; - - -public class BlockSpellModifier extends BlockOrientable -{ - public BlockSpellModifier() - { - super(); - this.setBlockName("blockSpellModifier"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TESpellModifierBlock(); - } - - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - if (this.equals(ModBlocks.blockSpellModifier)) - { - for(int i=0; i<4; i++) - { - par3List.add(new ItemStack(par1, 1, i)); - } - } else - { - super.getSubBlocks(par1, par2CreativeTabs, par3List); - } - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellParadigm.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellParadigm.java deleted file mode 100644 index f1945778..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockSpellParadigm.java +++ /dev/null @@ -1,96 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.items.ItemComplexSpellCrystal; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellParadigmBlock; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockSpellParadigm extends BlockOrientable -{ - public static final float minPos = (3f/16f); - public static final float maxPos = (13f/16f); - - public BlockSpellParadigm() - { - super(); - this.setBlockName("blockSpellParadigm"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TESpellParadigmBlock(); - } - - @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.blockSpellParadigm)) - { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - } else - { - super.getSubBlocks(par1, par2CreativeTabs, par3List); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float what, float these, float are) - { - ItemStack stack = player.getCurrentEquippedItem(); - - if(stack != null && stack.getItem() instanceof ItemComplexSpellCrystal) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound itemTag = stack.stackTagCompound; - itemTag.setInteger("xCoord", x); - itemTag.setInteger("yCoord", y); - itemTag.setInteger("zCoord", z); - itemTag.setInteger("dimensionId", world.provider.dimensionId); - return true; - } - - return super.onBlockActivated(world, x, y, z, player, side, what, these, are); - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java deleted file mode 100644 index 545535ee..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java +++ /dev/null @@ -1,260 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.BlockMobSpawner; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockTeleposer extends BlockContainer -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockTeleposer() - { - super(Material.rock); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("bloodTeleposer"); - //func_111022_d("AlchemicalWizardry:blocks"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:Teleposer_Top"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:Teleposer_Side"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:Teleposer_Side"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:Teleposer_Side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - TETeleposer tileEntity = (TETeleposer) world.getTileEntity(x, y, z); - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem != null) - { - if (playerItem.getItem() instanceof TelepositionFocus) - { - if (playerItem.stackTagCompound == null) - { - playerItem.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound itemTag = playerItem.stackTagCompound; - itemTag.setInteger("xCoord", x); - itemTag.setInteger("yCoord", y); - itemTag.setInteger("zCoord", z); - itemTag.setInteger("dimensionId", world.provider.dimensionId); - return true; - } - } - - player.openGui(AlchemicalWizardry.instance, 1, world, x, y, z); -// this.swapBlocks(world, x, y+1, z, x, y+2, z); -// -// world.markBlockForUpdate(x, y, z); - //player.openGui(AlchemicalWizardry.instance, 0, world, x, y, z); - //PacketDispatcher.sendPacketToServer(tileEntity.getDescriptionPacket()); - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, x + rx, y + ry, z + rz, new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TETeleposer(); - } - - public static boolean swapBlocks(World worldI, World worldF, int xi, int yi, int zi, int xf, int yf, int zf) - { - TileEntity tileEntityI = worldI.getTileEntity(xi, yi, zi); - TileEntity tileEntityF = worldF.getTileEntity(xf, yf, zf); - TileEntity tileI; - TileEntity tileF; - - NBTTagCompound nbttag1 = new NBTTagCompound(); - NBTTagCompound nbttag2 = new NBTTagCompound(); - - if (tileEntityI != null) - { - tileEntityI.writeToNBT(nbttag1); - } - - if (tileEntityF != null) - { - tileEntityF.writeToNBT(nbttag2); - } - - Block blockI = worldI.getBlock(xi, yi, zi); - Block blockF = worldF.getBlock(xf, yf, zf); - - - if (blockI.equals(Blocks.air) && blockF.equals(Blocks.air)) - { - return false; - } - - if (blockI instanceof BlockMobSpawner || blockF instanceof BlockMobSpawner) - { - return false; - } - - int metaI = worldI.getBlockMetadata(xi, yi, zi); - int metaF = worldF.getBlockMetadata(xf, yf, zf); - worldI.playSoundEffect(xi, yi, zi, "mob.endermen.portal", 1.0F, 1.0F); - worldF.playSoundEffect(xf, yf, zf, "mob.endermen.portal", 1.0F, 1.0F); - //CLEAR TILES - Block finalBlock = blockF; - - if (finalBlock != null) - { - TileEntity tileToSet = finalBlock.createTileEntity(worldF, metaF); - - worldF.setTileEntity(xf, yf, zf, tileToSet); - } - - Block initialBlock = blockI; - - if (initialBlock != null) - { - TileEntity tileToSet = initialBlock.createTileEntity(worldI, metaI); - - worldI.setTileEntity(xi, yi, zi, tileToSet); - } - - //TILES CLEARED -// worldF.destroyBlock(xf, yf, zf, false); -// worldI.destroyBlock(xi, yi, zi, false); -// worldI.setBlockToAir(xi, yi, zi); -// worldF.setBlockToAir(xf, yf, zf); - - worldF.setBlock(xf, yf, zf, initialBlock, metaI, 3); - - if (tileEntityI != null) - { - TileEntity newTileEntityI = TileEntity.createAndLoadEntity(nbttag1); - worldF.setTileEntity(xf, yf, zf, newTileEntityI); - newTileEntityI.xCoord = xf; - newTileEntityI.yCoord = yf; - newTileEntityI.zCoord = zf; - -// TileEntity tile = worldI.getTileEntity(xf, yf, zf); -// if(tile instanceof TileMultipart) -// { -// TileMultipart.createFromNBT(nbttag1); -// } - } - - worldI.setBlock(xi, yi, zi, finalBlock, metaF, 3); - - if (tileEntityF != null) - { - TileEntity newTileEntityF = TileEntity.createAndLoadEntity(nbttag2); - worldI.setTileEntity(xi, yi, zi, newTileEntityF); - newTileEntityF.xCoord = xi; - newTileEntityF.yCoord = yi; - newTileEntityF.zCoord = zi; - - TileEntity tile = worldI.getTileEntity(xi, yi, zi); -// if(tile instanceof TileMultipart) -// { -// TileMultipart.createFromNBT(nbttag2); -// } - } - - return true; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockWritingTable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockWritingTable.java deleted file mode 100644 index e7890015..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BlockWritingTable.java +++ /dev/null @@ -1,181 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockWritingTable extends BlockContainer -{ - @SideOnly(Side.CLIENT) - private static IIcon topIcon; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon1; - @SideOnly(Side.CLIENT) - private static IIcon sideIcon2; - @SideOnly(Side.CLIENT) - private static IIcon bottomIcon; - - public BlockWritingTable() - { - super(Material.wood); - setHardness(2.0F); - setResistance(5.0F); - this.setBlockName("blockWritingTable"); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.topIcon = iconRegister.registerIcon("AlchemicalWizardry:AlchemicChemistrySet"); - this.sideIcon1 = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_SideType1"); - this.sideIcon2 = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_SideType2"); - this.bottomIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodAltar_Bottom"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (side) - { - case 0: - return bottomIcon; - - case 1: - return topIcon; - - //case 2: return sideIcon1; - //case 3: return sideIcon1; - //case 4: return sideIcon2; - //case 5: return sideIcon2; - default: - return sideIcon2; - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int metadata, float what, float these, float are) - { - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (tileEntity == null || player.isSneaking()) - { - return false; - } - - //code to open gui explained later - player.openGui(AlchemicalWizardry.instance, 0, world, x, y, z); - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) - { - dropItems(world, x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - - private void dropItems(World world, int x, int y, int z) - { - Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); - - if (!(tileEntity instanceof IInventory)) - { - return; - } - - IInventory inventory = (IInventory) tileEntity; - - for (int i = 0; i < inventory.getSizeInventory(); i++) - { - ItemStack item = inventory.getStackInSlot(i); - - if (item != null && item.stackSize > 0) - { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, - x + rx, y + ry, z + rz, - new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); - - if (item.hasTagCompound()) - { - entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); - } - - float factor = 0.05F; - entityItem.motionX = rand.nextGaussian() * factor; - entityItem.motionY = rand.nextGaussian() * factor + 0.2F; - entityItem.motionZ = rand.nextGaussian() * factor; - world.spawnEntityInWorld(entityItem); - item.stackSize = 0; - } - } - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) - { - return new TEWritingTable(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean hasTileEntity() - { - return true; - } - - @Override - public void addCollisionBoxesToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) - { - this.setBlockBounds(0.4375F, 0.0F, 0.4375F, 0.5625F, 0.9375F, 0.5625F); - super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity); - this.setBlockBoundsForItemRender(); - super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity); - } - - public void setBlockBoundsForItemRender() - { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BloodRune.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BloodRune.java deleted file mode 100644 index b5df0d22..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BloodRune.java +++ /dev/null @@ -1,121 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.List; - -import javax.swing.Icon; - -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 WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BloodRune extends Block -{ - //private Icon bloodRuneIcon; - private IIcon altarCapacityRuneIcon; - private IIcon dislocationRuneIcon; - private IIcon orbCapacityRuneIcon; - private IIcon betterCapacityRuneIcon; - - public BloodRune() - { - super(Material.iron); - this.setBlockName("bloodRune"); - 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.altarCapacityRuneIcon = iconRegister.registerIcon("AlchemicalWizardry:AltarCapacityRune"); - this.dislocationRuneIcon = iconRegister.registerIcon("AlchemicalWizardry:DislocationRune"); - this.orbCapacityRuneIcon = iconRegister.registerIcon("AlchemicalWizardry:OrbCapacityRune"); - this.betterCapacityRuneIcon = iconRegister.registerIcon("AlchemicalWizardry:BetterCapacityRune"); - } - - public int getRuneEffect(int metaData) - { - switch (metaData) - { - case 0: - return 0; - - case 1: //Altar Capacity rune - return 5; - - case 2: //Filling/emptying rune - return 6; - - case 3: //Orb Capacity rune - return 7; - - case 4: //Better Capacity rune - return 8; - } - - return 0; - } - - @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.bloodRune)) - { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - par3List.add(new ItemStack(par1, 1, 4)); - } else - { - super.getSubBlocks(par1, par2CreativeTabs, par3List); - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - switch (meta) - { - case 0: - return blockIcon; - - case 1: - return altarCapacityRuneIcon; - - case 2: - return dislocationRuneIcon; - - case 3: - return this.orbCapacityRuneIcon; - - case 4: - return this.betterCapacityRuneIcon; - - default: - return blockIcon; - } - } - - @Override - public int damageDropped(int metadata) - { - return metadata; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BloodStoneBrick.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BloodStoneBrick.java deleted file mode 100644 index 0e33c138..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/BloodStoneBrick.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BloodStoneBrick extends Block -{ - public BloodStoneBrick() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("bloodStoneBrick"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodStoneBrick"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/EfficiencyRune.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/EfficiencyRune.java deleted file mode 100644 index 337b3e90..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/EfficiencyRune.java +++ /dev/null @@ -1,31 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EfficiencyRune extends BloodRune -{ - public EfficiencyRune() - { - super(); - this.setBlockName("efficiencyRune"); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setHardness(2.0F); - setResistance(5.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:EfficiencyRune"); - } - - @Override - public int getRuneEffect(int metaData) - { - return 2; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/EmptySocket.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/EmptySocket.java deleted file mode 100644 index ec78e760..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/EmptySocket.java +++ /dev/null @@ -1,34 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EmptySocket extends Block -{ - public EmptySocket() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("emptySocket"); - // TODO Auto-generated constructor stub - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:EmptySocket"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/IOrientable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/IOrientable.java deleted file mode 100644 index 93b170b0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/IOrientable.java +++ /dev/null @@ -1,14 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraftforge.common.util.ForgeDirection; - -public interface IOrientable -{ - public ForgeDirection getInputDirection(); - - public ForgeDirection getOutputDirection(); - - public void setInputDirection(ForgeDirection direction); - - public void setOutputDirection(ForgeDirection direction); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/ImperfectRitualStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/ImperfectRitualStone.java deleted file mode 100644 index 224f4d55..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/ImperfectRitualStone.java +++ /dev/null @@ -1,142 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ImperfectRitualStone extends Block -{ - public ImperfectRitualStone() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("imperfectRitualStone"); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:ImperfectRitualStone"); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float xOff, float yOff, float zOff) - { - //ItemStack ist = player.getItemInUse(); - //if (!world.isRemote) - { - Block block = world.getBlock(x, y + 1, z); - - if (block == Blocks.water) - { - if (!player.capabilities.isCreativeMode && !world.isRemote) - { - EnergyItems.drainPlayerNetwork(player, 5000); - } - - if (!world.isRemote) - { - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z)); -// if (!player.capabilities.isCreativeMode) -// { -// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0)); -// } - } - - world.getWorldInfo().setRaining(true); - - if (world.isRemote) - { - world.setRainStrength(1.0F); - world.setThunderStrength(1.0f); - } - - world.getWorldInfo().setThunderTime(0); - world.getWorldInfo().setThundering(true); - return true; - } else if (block == Blocks.coal_block) - { - if (!player.capabilities.isCreativeMode && !world.isRemote) - { - EnergyItems.drainPlayerNetwork(player, 5000); - } - - //EntityFallenAngel zomb = new EntityFallenAngel(world); - EntityZombie zomb = new EntityZombie(world); - zomb.setPosition(x + 0.5, y + 2, z + 0.5); - // zomb.setCurrentItemOrArmor(4, new ItemStack(Item.helmetIron.itemID,1,0)); - // zomb.setCurrentItemOrArmor(3, new ItemStack(Item.plateIron.itemID,1,0)); - // zomb.setCurrentItemOrArmor(2, new ItemStack(Item.legsIron.itemID,1,0)); - // zomb.setCurrentItemOrArmor(1, new ItemStack(Item.bootsIron.itemID,1,0)); - //zomb.setCurrentItemOrArmor(0, new ItemStack(AlchemicalWizardry.energySword.itemID,1,0)); - zomb.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2000)); - zomb.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 20000, 7)); - zomb.addPotionEffect(new PotionEffect(Potion.resistance.id, 20000, 3)); - - if (!world.isRemote) - { - world.spawnEntityInWorld(zomb); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z)); -// if (!player.capabilities.isCreativeMode) -// { -// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0)); -// } - } - - return true; - } else if (block== Blocks.lapis_block) - { - if (!player.capabilities.isCreativeMode && !world.isRemote) - { - EnergyItems.drainPlayerNetwork(player, 5000); - } - - if (!world.isRemote) - { - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z)); - world.setWorldTime((world.getWorldTime() / 24000) * 24000 + 13800); -// if (!player.capabilities.isCreativeMode) -// { -// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0)); -// } - } - } else if (block == Blocks.bedrock) - { - if (!player.capabilities.isCreativeMode && !world.isRemote) - { - EnergyItems.drainPlayerNetwork(player, 5000); - } - - if (!world.isRemote) - { - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z)); - //world.setWorldTime((world.getWorldTime()/24000)*24000+13800); -// if (!player.capabilities.isCreativeMode) -// { -// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0)); -// } - } - - player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 1)); - } - } - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/LargeBloodStoneBrick.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/LargeBloodStoneBrick.java deleted file mode 100644 index 1969c452..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/LargeBloodStoneBrick.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class LargeBloodStoneBrick extends Block -{ - public LargeBloodStoneBrick() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("largeBloodStoneBrick"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:LargeBloodStoneBrick"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/LifeEssenceBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/LifeEssenceBlock.java deleted file mode 100644 index 34676410..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/LifeEssenceBlock.java +++ /dev/null @@ -1,62 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidClassic; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class LifeEssenceBlock extends BlockFluidClassic -{ - public LifeEssenceBlock() - { - super(AlchemicalWizardry.lifeEssenceFluid, Material.water); - AlchemicalWizardry.lifeEssenceFluid.setBlock(this); - - //setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("lifeEssenceFluidBlock"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:lifeEssenceStill"); - AlchemicalWizardry.lifeEssenceFluid.setFlowingIcon(blockIcon); - AlchemicalWizardry.lifeEssenceFluid.setStillIcon(blockIcon); - //this.getFluid().setIcons(blockIcon); - } - - @Override - public boolean canDisplace(IBlockAccess world, int x, int y, int z) - { - if (world.getBlock(x, y, z).getMaterial().isLiquid()) - { - return false; - } - - return super.canDisplace(world, x, y, z); - } - - @Override - public boolean displaceIfPossible(World world, int x, int y, int z) - { - if (world.getBlock(x, y, z).getMaterial().isLiquid()) - { - return false; - } - - return super.displaceIfPossible(world, x, y, z); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java deleted file mode 100644 index a847c360..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java +++ /dev/null @@ -1,121 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.rituals.IRitualStone; -import WayofTime.alchemicalWizardry.common.items.ScribeTool; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class RitualStone extends Block implements IRitualStone -{ - @SideOnly(Side.CLIENT) - private static IIcon blankIcon; - @SideOnly(Side.CLIENT) - private static IIcon waterStoneIcon; - @SideOnly(Side.CLIENT) - private static IIcon fireStoneIcon; - @SideOnly(Side.CLIENT) - private static IIcon earthStoneIcon; - @SideOnly(Side.CLIENT) - private static IIcon airStoneIcon; - @SideOnly(Side.CLIENT) - private static IIcon duskStoneIcon; - - public RitualStone() - { - super(Material.iron); - setHardness(2.0F); - setResistance(5.0F); - this.setBlockName("ritualStone"); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blankIcon = iconRegister.registerIcon("AlchemicalWizardry:RitualStone"); - this.waterStoneIcon = iconRegister.registerIcon("AlchemicalWizardry:WaterRitualStone"); - this.fireStoneIcon = iconRegister.registerIcon("AlchemicalWizardry:FireRitualStone"); - this.earthStoneIcon = iconRegister.registerIcon("AlchemicalWizardry:EarthRitualStone"); - this.airStoneIcon = iconRegister.registerIcon("AlchemicalWizardry:AirRitualStone"); - this.duskStoneIcon = iconRegister.registerIcon("AlchemicalWizardry:DuskRitualStone"); - } - - @Override - public int damageDropped(int metadata) - { - return 0; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem == null) - { - return false; - } - - Item item = playerItem.getItem(); - - if (!(item instanceof ScribeTool)) - { - return false; - } - - if (playerItem.getMaxDamage() <= playerItem.getItemDamage() && !(playerItem.getMaxDamage() == 0)) - { - return false; - } - - ScribeTool scribeTool = (ScribeTool) item; - - if (!player.capabilities.isCreativeMode) - { - playerItem.setItemDamage(playerItem.getItemDamage() + 1); - } - - world.setBlockMetadataWithNotify(x, y, z, scribeTool.getType(), 3); - world.markBlockForUpdate(x, y, z); - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) - { - switch (metadata) - { - case 0: - return blankIcon; - - case 1: - return waterStoneIcon; - - case 2: - return fireStoneIcon; - - case 3: - return earthStoneIcon; - - case 4: - return airStoneIcon; - - case 5: - return duskStoneIcon; - - default: - return blankIcon; - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RuneOfSacrifice.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RuneOfSacrifice.java deleted file mode 100644 index d06ec80f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RuneOfSacrifice.java +++ /dev/null @@ -1,31 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class RuneOfSacrifice extends BloodRune -{ - public RuneOfSacrifice() - { - super(); - this.setBlockName("runeOfSacrifice"); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setHardness(2.0F); - setResistance(5.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:RuneOfSacrifice"); - } - - @Override - public int getRuneEffect(int metaData) - { - return 3; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RuneOfSelfSacrifice.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RuneOfSelfSacrifice.java deleted file mode 100644 index 4032044d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/RuneOfSelfSacrifice.java +++ /dev/null @@ -1,31 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class RuneOfSelfSacrifice extends BloodRune -{ - public RuneOfSelfSacrifice() - { - super(); - this.setBlockName("runeOfSelfSacrifice"); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setHardness(2.0F); - setResistance(5.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:RuneOfSelfSacrifice"); - } - - @Override - public int getRuneEffect(int metaData) - { - return 4; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/SpectralBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/SpectralBlock.java deleted file mode 100644 index d3ceb131..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/SpectralBlock.java +++ /dev/null @@ -1,120 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Facing; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralBlock; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SpectralBlock extends BlockContainer -{ - public SpectralBlock() - { - super(Material.rock); - this.setBlockName("spectralBlock"); - } - -// @Override -// public int tickRate(World par1World) -// { -// return 10; -// } - - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:SpectralBlock"); - } - - @Override - public boolean isOpaqueCube() - { - Block d; - return false; - } - - @Override - public int quantityDropped(Random par1Random) - { - return 0; - } - - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) - { - Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); - - if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_, p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ - Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - Facing.offsetsZForSide[p_149646_5_])) - { - return true; - } - - if (block == this) - { - return false; - } - - return block == this ? false : super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); - } - - @SideOnly(Side.CLIENT) - /** - * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha - */ - public int getRenderBlockPass() - { - return 1; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) - { - //TEAltar tileEntity = (TEAltar)world.getBlockTileEntity(x, y, z); - if (player.isSneaking()) - { - return false; - } - - ItemStack playerItem = player.getCurrentEquippedItem(); - - if (playerItem != null) - { - if (playerItem.getItem() instanceof ItemBlock) - { - world.setBlock(x, y, z, ((ItemBlock)(playerItem.getItem())).field_150939_a, playerItem.getItemDamage(), 3); - - if (!player.capabilities.isCreativeMode) - { - playerItem.stackSize--; - } - - return true; - } else - { - return false; - } - } - - return true; - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) - { - return new TESpectralBlock(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/SpeedRune.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/SpeedRune.java deleted file mode 100644 index 0680b066..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/block/SpeedRune.java +++ /dev/null @@ -1,31 +0,0 @@ -package WayofTime.alchemicalWizardry.common.block; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SpeedRune extends BloodRune -{ - public SpeedRune() - { - super(); - this.setBlockName("speedRune"); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setHardness(2.0F); - setResistance(5.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) - { - this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:SpeedRune"); - } - - @Override - public int getRuneEffect(int metaData) - { - return 1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/AltarComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/AltarComponent.java deleted file mode 100644 index 4aeb4e75..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/AltarComponent.java +++ /dev/null @@ -1,60 +0,0 @@ -package WayofTime.alchemicalWizardry.common.bloodAltarUpgrade; - -import net.minecraft.block.Block; - -public class AltarComponent -{ - private int x; - private int y; - private int z; - private Block block; - private int metadata; - private boolean isBloodRune; - private boolean isUpgradeSlot; - - public AltarComponent(int x, int y, int z, Block block, int metadata, boolean isBloodRune, boolean isUpgradeSlot) - { - this.x = x; - this.y = y; - this.z = z; - this.block = block; - this.metadata = metadata; - this.isBloodRune = isBloodRune; - this.isUpgradeSlot = isUpgradeSlot; - } - - public int getX() - { - return x; - } - - public int getY() - { - return y; - } - - public int getZ() - { - return z; - } - - public Block getBlock() - { - return block; - } - - public int getMetadata() - { - return metadata; - } - - public boolean isBloodRune() - { - return isBloodRune; - } - - public boolean isUpgradeSlot() - { - return isUpgradeSlot; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/AltarUpgradeComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/AltarUpgradeComponent.java deleted file mode 100644 index f6e231c2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/AltarUpgradeComponent.java +++ /dev/null @@ -1,105 +0,0 @@ -package WayofTime.alchemicalWizardry.common.bloodAltarUpgrade; - -public class AltarUpgradeComponent -{ - private int speedUpgrades; - private int efficiencyUpgrades; - private int sacrificeUpgrades; - private int selfSacrificeUpgrades; - private int displacementUpgrades; - private int altarCapacitiveUpgrades; - private int orbCapacitiveUpgrades; - private int betterCapacitiveUpgrades; - - public AltarUpgradeComponent() - { - speedUpgrades = 0; - efficiencyUpgrades = 0; - sacrificeUpgrades = 0; - selfSacrificeUpgrades = 0; - displacementUpgrades = 0; - altarCapacitiveUpgrades = 0; - orbCapacitiveUpgrades = 0; - betterCapacitiveUpgrades = 0; - } - - public void addSpeedUpgrade() - { - speedUpgrades++; - } - - public void addEfficiencyUpgrade() - { - efficiencyUpgrades++; - } - - public void addSacrificeUpgrade() - { - sacrificeUpgrades++; - } - - public void addSelfSacrificeUpgrade() - { - selfSacrificeUpgrades++; - } - - public void addDisplacementUpgrade() - { - displacementUpgrades++; - } - - public void addaltarCapacitiveUpgrade() - { - altarCapacitiveUpgrades++; - } - - public void addorbCapacitiveUpgrade() - { - orbCapacitiveUpgrades++; - } - - public void addBetterCapacitiveUpgrade() - { - betterCapacitiveUpgrades++; - } - - public int getSpeedUpgrades() - { - return speedUpgrades; - } - - public int getEfficiencyUpgrades() - { - return efficiencyUpgrades; - } - - public int getSacrificeUpgrades() - { - return sacrificeUpgrades; - } - - public int getSelfSacrificeUpgrades() - { - return selfSacrificeUpgrades; - } - - public int getDisplacementUpgrades() - { - return displacementUpgrades; - } - - public int getAltarCapacitiveUpgrades() - { - return this.altarCapacitiveUpgrades; - } - - public int getOrbCapacitiveUpgrades() - { - return this.orbCapacitiveUpgrades; - } - - public int getBetterCapacitiveUpgrades() - { - return this.betterCapacitiveUpgrades; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/UpgradedAltars.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/UpgradedAltars.java deleted file mode 100644 index 4c5ea30d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/bloodAltarUpgrade/UpgradedAltars.java +++ /dev/null @@ -1,300 +0,0 @@ -package WayofTime.alchemicalWizardry.common.bloodAltarUpgrade; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.block.BloodRune; - -public class UpgradedAltars -{ - public static List secondTierAltar = new ArrayList(); - public static List thirdTierAltar = new ArrayList(); - public static List fourthTierAltar = new ArrayList(); - public static List fifthTierAltar = new ArrayList(); - public static int highestAltar = 5; - - public static int isAltarValid(World world, int x, int y, int z) - { - for (int i = highestAltar; i >= 2; i--) - { - if (checkAltarIsValid(world, x, y, z, i)) - { - return i; - } - } - - return 1; - } - - public static boolean checkAltarIsValid(World world, int x, int y, int z, int altarTier) - { - switch (altarTier) - { - case 1: - return true; - - case 2: - for (AltarComponent ac : secondTierAltar) - { - 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; - - case 3: - for (AltarComponent ac : thirdTierAltar) - { - 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; - - case 4: - for (AltarComponent ac : fourthTierAltar) - { - 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; - - case 5: - for (AltarComponent ac : fifthTierAltar) - { - 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; - } - } - - public static AltarUpgradeComponent getUpgrades(World world, int x, int y, int z, int altarTier) - { - AltarUpgradeComponent upgrades = new AltarUpgradeComponent(); - List list = UpgradedAltars.getAltarUpgradeListForTier(altarTier); - - for (AltarComponent ac : list) - { - if (ac.isUpgradeSlot()) - { - //Currently checks the getRuneEffect. - //TODO Change so that it uses the metadata instead, with the BlockID. - Block testBlock = world.getBlock(x + ac.getX(), y + ac.getY(), z + ac.getZ()); - - if (testBlock instanceof BloodRune) - { - if (!world.isRemote) - { - switch (((BloodRune) testBlock).getRuneEffect(world.getBlockMetadata(x + ac.getX(), y + ac.getY(), z + ac.getZ()))) - { - case 1: - upgrades.addSpeedUpgrade(); - break; - - case 2: - upgrades.addEfficiencyUpgrade(); - break; - - case 3: - upgrades.addSacrificeUpgrade(); - break; - - case 4: - upgrades.addSelfSacrificeUpgrade(); - break; - - case 5: - upgrades.addaltarCapacitiveUpgrade(); - break; - - case 6: - upgrades.addDisplacementUpgrade(); - break; - - case 7: - upgrades.addorbCapacitiveUpgrade(); - break; - - case 8: - upgrades.addBetterCapacitiveUpgrade(); - break; - } - } - } - } - } - - return upgrades; - } - - public static void loadAltars() - { - secondTierAltar.add(new AltarComponent(-1, -1, -1, ModBlocks.bloodRune, 0, true, false)); - secondTierAltar.add(new AltarComponent(0, -1, -1, ModBlocks.bloodRune, 0, true, true)); - secondTierAltar.add(new AltarComponent(1, -1, -1, ModBlocks.bloodRune, 0, true, false)); - secondTierAltar.add(new AltarComponent(-1, -1, 0, ModBlocks.bloodRune, 0, true, true)); - secondTierAltar.add(new AltarComponent(1, -1, 0, ModBlocks.bloodRune, 0, true, true)); - secondTierAltar.add(new AltarComponent(-1, -1, 1, ModBlocks.bloodRune, 0, true, false)); - secondTierAltar.add(new AltarComponent(0, -1, 1, ModBlocks.bloodRune, 0, true, true)); - secondTierAltar.add(new AltarComponent(1, -1, 1, ModBlocks.bloodRune, 0, true, false)); - thirdTierAltar.add(new AltarComponent(-1, -1, -1, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(0, -1, -1, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(1, -1, -1, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(-1, -1, 0, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(1, -1, 0, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(-1, -1, 1, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(0, -1, 1, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(1, -1, 1, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(-3, -1, -3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(-3, 0, -3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(3, -1, -3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(3, 0, -3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(-3, -1, 3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(-3, 0, 3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(3, -1, 3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(3, 0, 3, Blocks.stonebrick, 0, false, false)); - thirdTierAltar.add(new AltarComponent(-3, 1, -3, Blocks.glowstone, 0, false, false)); - thirdTierAltar.add(new AltarComponent(3, 1, -3, Blocks.glowstone, 0, false, false)); - thirdTierAltar.add(new AltarComponent(-3, 1, 3, Blocks.glowstone, 0, false, false)); - thirdTierAltar.add(new AltarComponent(3, 1, 3, Blocks.glowstone, 0, false, false)); - - for (int i = -2; i <= 2; i++) - { - thirdTierAltar.add(new AltarComponent(3, -2, i, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(-3, -2, i, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(i, -2, 3, ModBlocks.bloodRune, 0, true, true)); - thirdTierAltar.add(new AltarComponent(i, -2, -3, ModBlocks.bloodRune, 0, true, true)); - } - - fourthTierAltar.addAll(thirdTierAltar); - - for (int i = -3; i <= 3; i++) - { - fourthTierAltar.add(new AltarComponent(5, -3, i, ModBlocks.bloodRune, 0, true, true)); - fourthTierAltar.add(new AltarComponent(-5, -3, i, ModBlocks.bloodRune, 0, true, true)); - fourthTierAltar.add(new AltarComponent(i, -3, 5, ModBlocks.bloodRune, 0, true, true)); - fourthTierAltar.add(new AltarComponent(i, -3, -5, ModBlocks.bloodRune, 0, true, true)); - } - - for (int i = -2; i <= 1; i++) - { - fourthTierAltar.add(new AltarComponent(5, i, 5, Blocks.stonebrick, 0, false, false)); - fourthTierAltar.add(new AltarComponent(5, i, -5, Blocks.stonebrick, 0, false, false)); - fourthTierAltar.add(new AltarComponent(-5, i, -5, Blocks.stonebrick, 0, false, false)); - fourthTierAltar.add(new AltarComponent(-5, i, 5, Blocks.stonebrick, 0, false, false)); - } - - fourthTierAltar.add(new AltarComponent(5, 2, 5, ModBlocks.largeBloodStoneBrick, 0, false, false)); - fourthTierAltar.add(new AltarComponent(5, 2, -5, ModBlocks.largeBloodStoneBrick, 0, false, false)); - fourthTierAltar.add(new AltarComponent(-5, 2, -5, ModBlocks.largeBloodStoneBrick, 0, false, false)); - fourthTierAltar.add(new AltarComponent(-5, 2, 5, ModBlocks.largeBloodStoneBrick, 0, false, false)); - fifthTierAltar.addAll(fourthTierAltar); - fifthTierAltar.add(new AltarComponent(-8, -3, 8, Blocks.beacon, 0, false, false)); - fifthTierAltar.add(new AltarComponent(-8, -3, -8, Blocks.beacon, 0, false, false)); - fifthTierAltar.add(new AltarComponent(8, -3, 8, Blocks.beacon, 0, false, false)); - fifthTierAltar.add(new AltarComponent(8, -3, 8, Blocks.beacon, 0, false, false)); - - for (int i = -6; i <= 6; i++) - { - fifthTierAltar.add(new AltarComponent(8, -4, i, ModBlocks.bloodRune, 0, true, true)); - fifthTierAltar.add(new AltarComponent(-8, -4, i, ModBlocks.bloodRune, 0, true, true)); - fifthTierAltar.add(new AltarComponent(i, -4, 8, ModBlocks.bloodRune, 0, true, true)); - fifthTierAltar.add(new AltarComponent(i, -4, -8, ModBlocks.bloodRune, 0, true, true)); - } - } - - public static List getAltarUpgradeListForTier(int tier) - { - switch (tier) - { - case 2: - return secondTierAltar; - - case 3: - return thirdTierAltar; - - case 4: - return fourthTierAltar; - - case 5: - return fifthTierAltar; - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/BlockSet.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/BlockSet.java deleted file mode 100644 index 25398812..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/BlockSet.java +++ /dev/null @@ -1,195 +0,0 @@ -package WayofTime.alchemicalWizardry.common.demonVillage; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockStairs; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.Int3; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; - -public class BlockSet -{ - protected String blockid; - protected int[] metadata; - protected List positions; - - public BlockSet() - { - this(Blocks.stone); - } - - public BlockSet(String blockid) - { - this.blockid = blockid; - this.metadata = new int[4]; - positions = new ArrayList(); - } - - public BlockSet(Block block) - { - this(BlockSet.getPairedIdForBlock(block)); - } - - public BlockSet(Block block, int meta) - { - this(block); - for(int i=0; i getPositions() - { - return positions; - } - - public void addPositionToBlock(int xOffset, int yOffset, int zOffset) - { - positions.add(new Int3(xOffset, yOffset, zOffset)); - } - - public Block getBlock() - { - return this.getBlockForString(blockid); - } - - public static String getPairedIdForBlock(Block block) - { - UniqueIdentifier un = GameRegistry.findUniqueIdentifierFor(block); - String name = ""; - - if(un != null) - { - name = un.modId + ":" + un.name; - } - - return name; - } - - public static Block getBlockForString(String str) - { - String[] parts = str.split(":"); - String modId = parts[0]; - String name = parts[1]; - return GameRegistry.findBlock(modId, name); - } - - public int getMetaForDirection(ForgeDirection dir) - { - if(metadata.length < 4) - { - return 0; - } - - switch(dir) - { - case NORTH: - return metadata[0]; - case SOUTH: - return metadata[1]; - case WEST: - return metadata[2]; - case EAST: - return metadata[3]; - default: - return 0; - } - } - - public void buildAtIndex(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir, int index) - { - Block block = this.getBlock(); - if(index >= positions.size() || block == null) - { - return; - } - - Int3 position = positions.get(index); - int xOff = position.xCoord; - int yOff = position.yCoord; - int zOff = position.zCoord; - int meta = this.getMetaForDirection(dir); - - switch(dir) - { - case NORTH: - break; - case SOUTH: - xOff *= -1; - zOff *= -1; - break; - case WEST: - int temp = zOff; - zOff = xOff * -1; - xOff = temp; - break; - case EAST: - int temp2 = zOff * -1; - zOff = xOff; - xOff = temp2; - break; - default: - } - - world.setBlock(xCoord + xOff, yCoord + yOff, zCoord + zOff, block, meta, 3); - } - - public void buildAll(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir) - { - for(int i=0; i blockList; - - public BuildingSchematic() - { - this(""); - } - - public BuildingSchematic(String name) - { - this.name = name; - blockList = new ArrayList(); - this.doorX = 0; - this.doorZ = 0; - this.doorY = 0; - this.buildingTier = 0; - this.buildingType = DemonBuilding.BUILDING_HOUSE; - } - - public void addBlockWithMeta(Block block, int meta, int xOffset, int yOffset, int zOffset) - { - for(BlockSet set : blockList) - { - if(set.isContained(block, meta)) - { - set.addPositionToBlock(xOffset, yOffset, zOffset); - return; - } - } - - BlockSet set = new BlockSet(block, meta); - set.addPositionToBlock(xOffset, yOffset, zOffset); - blockList.add(set); - } - - public void buildAll(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir) - { - for(BlockSet set : blockList) - { - set.buildAll(world, xCoord, yCoord, zCoord, dir); - } - } - - public GridSpaceHolder createGSH() - { - GridSpaceHolder holder = new GridSpaceHolder(); - - for(BlockSet set : blockList) - { - for(Int3 coords : set.getPositions()) - { - int gridX = (int)((coords.xCoord+2*Math.signum(coords.xCoord))/5); - int gridZ = (int)((coords.zCoord+2*Math.signum(coords.zCoord))/5); - - holder.setGridSpace(gridX, gridZ, new GridSpace(GridSpace.HOUSE,0)); - } - } - - return holder; - } - - public Int3 getGridSpotOfDoor() - { - int gridX = (int)((doorX+2*Math.signum(doorX))/5); - int gridZ = (int)((doorZ+2*Math.signum(doorZ))/5); - - return new Int3(gridX, doorY, gridZ); - } - - public List getGriddedPositions(ForgeDirection dir) - { - List positionList = new ArrayList(); - - for(BlockSet blockSet : blockList) - { - for(Int3 pos : blockSet.getPositions()) - { - int xOff = pos.xCoord; - int zOff = pos.zCoord; - - switch(dir) - { - case SOUTH: - xOff *= -1; - zOff *= -1; - break; - case WEST: - int temp = zOff; - zOff = xOff * -1; - xOff = temp; - break; - case EAST: - int temp2 = zOff * -1; - zOff = xOff; - xOff = temp2; - break; - default: - } - - Int3 nextPos = new Int3(xOff, 0, zOff); - if(!positionList.contains(nextPos)) - { - positionList.add(nextPos); - } - } - } - - return positionList; - } - - public void destroyAllInField(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir) - { - GridSpaceHolder grid = this.createGSH(); //GridSpaceHolder is not aware of the buildings - need to use the schematic - - List positionList = getGriddedPositions(dir); - - for(int i=this.getMinY(); i<=this.getMaxY(); i++) - { - for(Int3 pos : positionList) - { - Block block = world.getBlock(xCoord + pos.xCoord, yCoord + i, zCoord + pos.zCoord); - if(block != ModBlocks.blockDemonPortal) - { - world.setBlockToAir(xCoord + pos.xCoord, yCoord + i, zCoord + pos.zCoord); - } - } - - //grid.destroyAllInGridSpaces(world, xCoord, yCoord + i, zCoord, dir); //Deprecated method - } - } - - public int getMinY() - { - int min = 0; - for(BlockSet set : blockList) - { - for(Int3 pos : set.getPositions()) - { - if(pos.yCoord < min) - { - min = pos.yCoord; - } - } - } - - return min; - } - - public int getMaxY() - { - int max = 0; - for(BlockSet set : blockList) - { - for(Int3 pos : set.getPositions()) - { - if(pos.yCoord > max) - { - max = pos.yCoord; - } - } - } - - return max; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonBuilding.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonBuilding.java deleted file mode 100644 index b0777a46..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonBuilding.java +++ /dev/null @@ -1,120 +0,0 @@ -package WayofTime.alchemicalWizardry.common.demonVillage; - -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.Int3; - -public class DemonBuilding -{ - public static final int BUILDING_HOUSE = 0; - public static final int BUILDING_PORTAL = 1; - - public BuildingSchematic schematic; - public GridSpaceHolder area; - public int buildingTier; - public int buildingType; - public Int3 doorGridSpace; - - public DemonBuilding(BuildingSchematic schematic) - { - this.schematic = schematic; - this.buildingType = schematic.buildingType; - this.buildingTier = schematic.buildingTier; - this.area = this.createGSHForSchematic(schematic); - this.doorGridSpace = schematic.getGridSpotOfDoor(); - } - - public String getName() - { - return schematic.name; - } - - public boolean isValid(GridSpaceHolder master, int gridX, int gridZ, ForgeDirection dir) - { - return area.doesContainAll(master, gridX, gridZ, dir); - } - - public void buildAll(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir) - { - schematic.buildAll(world, xCoord, yCoord, zCoord, dir); - } - - public void setAllGridSpaces(int xInit, int zInit, int yLevel, ForgeDirection dir, int type, GridSpaceHolder master) - { - area.setAllGridSpaces(xInit, zInit, yLevel, dir, type, master); - } - - public GridSpaceHolder createGSHForSchematic(BuildingSchematic scheme) - { - switch(this.buildingType) - { - case DemonBuilding.BUILDING_HOUSE: - return scheme.createGSH(); - case DemonBuilding.BUILDING_PORTAL: - - } - return scheme.createGSH(); - } - - public Int3 getDoorSpace(ForgeDirection dir) - { - int x = 0; - int z = 0; - switch(dir) - { - case SOUTH: - x = -doorGridSpace.xCoord; - z = -doorGridSpace.zCoord; - break; - case WEST: - x = doorGridSpace.zCoord; - z = -doorGridSpace.xCoord; - break; - case EAST: - x = -doorGridSpace.zCoord; - z = doorGridSpace.xCoord; - break; - default: - x = doorGridSpace.xCoord; - z = doorGridSpace.zCoord; - break; - } - - return new Int3(x, doorGridSpace.yCoord, z); - } - - public Int3 getGridOffsetFromRoad(ForgeDirection sideOfRoad, int yLevel) - { - Int3 doorSpace = this.getDoorSpace(sideOfRoad); - int x = doorSpace.xCoord; - int z = doorSpace.zCoord; - - switch(sideOfRoad) - { - case SOUTH: - z++; - break; - case EAST: - x++; - break; - case WEST: - x--; - break; - default: - z--; - break; - } - - return new Int3(x, yLevel, z); - } - - public void destroyAllInField(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir) - { - schematic.destroyAllInField(world, xCoord, yCoord, zCoord, dir); - } - - public int getNumberOfGridSpaces() - { - return area.getNumberOfGridSpaces(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonCrosspath.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonCrosspath.java deleted file mode 100644 index 3b8a7a71..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonCrosspath.java +++ /dev/null @@ -1,22 +0,0 @@ -package WayofTime.alchemicalWizardry.common.demonVillage; - -import net.minecraft.world.World; - -public class DemonCrosspath -{ - private int xCoord; - private int yLevel; - private int zCoord; - - public DemonCrosspath(int xCoord, int yLevel, int zCoord) - { - this.xCoord = xCoord; - this.yLevel = yLevel; - this.zCoord = zCoord; - } - - public void createCrosspath(World world) - { - - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java deleted file mode 100644 index 01645f35..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java +++ /dev/null @@ -1,135 +0,0 @@ -package WayofTime.alchemicalWizardry.common.demonVillage; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.Int3; - -public class DemonVillagePath -{ - public int xi; - public int yi; - public int zi; - public ForgeDirection dir; - public int length; - - public DemonVillagePath(int xi, int yi, int zi, ForgeDirection dir, int length) - { - this.xi = xi; - this.yi = yi; - this.zi = zi; - this.dir = dir; - this.length = length; - } - - public Int3 constructFullPath(World world, int clearance, Block block, int meta) - { - int xPos = this.xi; - int yPos = this.yi; - int zPos = this.zi; - int rad = this.getRoadRadius(); - - for(int i=-rad; i<=rad; i++) - { - this.constructPartialPath(world, clearance, block, meta, xPos-rad*dir.offsetX+i*dir.offsetZ, yPos, zPos-rad*dir.offsetZ+i*dir.offsetX, dir, length+2*rad); - } - - return this.getFinalLocation(world, clearance); - } - - public void constructPartialPath(World world, int clearance, Block roadBlock, int meta, int xi, int yi, int zi, ForgeDirection dir, int length) - { - int xPos = xi; - int yPos = yi; - int zPos = zi; - - for(int i=0; i posXRadius|| x < -negXRadius || z > posZRadius || z < -negZRadius) - { - return new GridSpace(); - }else - { - return (area[x + negXRadius][z + negZRadius]); - } - } - - public void setGridSpace(int x, int z, GridSpace space) - { - if(x > posXRadius) - { - this.expandAreaInPosX(); - this.setGridSpace(x, z, space); - return; - }else if(x < -negXRadius) - { - this.expandAreaInNegX(); - this.setGridSpace(x, z, space); - return; - }else if(z > posZRadius) - { - this.expandAreaInPosZ(); - this.setGridSpace(x, z, space); - return; - }else if(z < -negZRadius) - { - this.expandAreaInNegZ(); - this.setGridSpace(x, z, space); - return; - }else - { - area[x + negXRadius][z + negZRadius] = space; - } - } - - public boolean doesContainAll(GridSpaceHolder master, int xInit, int zInit, ForgeDirection dir) - { - if(master != null) - { - System.out.println("negXRadius: " + negXRadius + " posXRadius: " + posXRadius + " negZRadius: " + negZRadius + " posZRadius: " + posZRadius); - for(int i=-negXRadius; i<=posXRadius; i++) - { - for(int j=-negZRadius; j<=posZRadius; j++) - { - GridSpace thisSpace = this.getGridSpace(i, j); - if(thisSpace.isEmpty()) - { - continue; - } - - System.out.println("x: " + i + " z: " + j); - - int xOff = 0; - int zOff = 0; - - switch(dir) - { - case SOUTH: - xOff = -i; - zOff = -j; - break; - case WEST: - xOff = j; - zOff = -i; - break; - case EAST: - xOff = -j; - zOff = i; - break; - default: - xOff = i; - zOff = j; - break; - } - if(!master.getGridSpace(xInit + xOff, zInit + zOff).isEmpty()) - { - return false; - } - } - } - return true; - } - return false; - } - - public void setAllGridSpaces(int xInit, int zInit, int yLevel, ForgeDirection dir, int type, GridSpaceHolder master) - { - System.out.println("Grid space selected: (" + xInit + "," + zInit + ")"); - if(master != null) - { - for(int i=-negXRadius; i<=posXRadius; i++) - { - for(int j=-negZRadius; j<=posZRadius; j++) - { - GridSpace thisSpace = this.getGridSpace(i, j); - if(thisSpace.isEmpty()) - { - continue; - } - - int xOff = 0; - int zOff = 0; - - switch(dir) - { - case SOUTH: - xOff = -i; - zOff = -j; - break; - case WEST: - xOff = j; - zOff = -i; - break; - case EAST: - xOff = -j; - zOff = i; - break; - default: - xOff = i; - zOff = j; - break; - } - - System.out.println("Grid space (" + (xInit + xOff) + "," + (zInit + zOff) + ")"); - - master.setGridSpace(xInit + xOff, zInit + zOff, new GridSpace(type, yLevel)); - } - } - } - } - - public void destroyAllInGridSpaces(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir) - { - for(int i=-negXRadius; i<=posXRadius; i++) - { - for(int j=-negZRadius; j<=posZRadius; j++) - { - GridSpace thisSpace = this.getGridSpace(i, j); - if(thisSpace.isEmpty()) - { - continue; - } - - int xOff = 0; - int zOff = 0; - - switch(dir) - { - case SOUTH: - xOff = -i; - zOff = -j; - break; - case WEST: - xOff = j; - zOff = -i; - break; - case EAST: - xOff = -j; - zOff = i; - break; - default: - xOff = i; - zOff = j; - break; - } - - for(int l = -2; l<=2; l++) - { - for(int m = -2; m<=2; m++) - { - Block block = world.getBlock(xCoord + xOff*5 + l, yCoord, zCoord + zOff*5 + m); - if(block == ModBlocks.blockDemonPortal) - { - continue; - } - world.setBlockToAir(xCoord + xOff*5 + l, yCoord, zCoord + zOff*5 + m); - } - } - } - } - } - - public int getNumberOfGridSpaces() - { - int num = 0; - for(int i=-this.negXRadius; i<=this.posXRadius; i++) - { - for(int j=-this.negZRadius; j<=this.posZRadius; j++) - { - if(!this.getGridSpace(i, j).isEmpty()) - { - num++; - } - } - } - - return num; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/TileBlockSet.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/TileBlockSet.java deleted file mode 100644 index 2209f58c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/demonVillage/TileBlockSet.java +++ /dev/null @@ -1,8 +0,0 @@ -package WayofTime.alchemicalWizardry.common.demonVillage; - -import net.minecraft.nbt.NBTTagCompound; - -public class TileBlockSet extends BlockSet -{ - public NBTTagCompound tag; -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityBileDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityBileDemon.java deleted file mode 100644 index 884b37f2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityBileDemon.java +++ /dev/null @@ -1,488 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntityBileDemon extends EntityDemon -{ - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 100.0F; - private static float maxUntamedHealth = 200.0F; - private int attackTimer; - - public EntityBileDemon(World par1World) - { - super(par1World, AlchemicalWizardry.entityBileDemonID); - this.setSize(1.3F, 2.0F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(2, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(3, this.aiSit); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - attackTimer = 0; - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.20000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - par1NBTTagCompound.setByte("attackTimer", (byte) attackTimer); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - attackTimer = par1NBTTagCompound.getByte("attackTimer"); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.irongolem.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.irongolem.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 1.0F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - - if (attackTimer > 0) - { - attackTimer--; - } - } - - public int getAttackTimer() - { - return attackTimer; - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - this.attackTimer = 10; - this.worldObj.setEntityState(this, (byte) 4); - boolean flag = par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) (7 + this.rand.nextInt(15))); - - if (flag) - { - par1Entity.motionY += 0.4000000059604645D; - } - - this.playSound("mob.irongolem.throw", 1.0F, 1.0F); - return flag; - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - @Override - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityBileDemon) - { - EntityBileDemon entitywolf = (EntityBileDemon) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityBoulderFist.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityBoulderFist.java deleted file mode 100644 index fa4106de..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityBoulderFist.java +++ /dev/null @@ -1,494 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.entity.projectile.HolyProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.*; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public class EntityBoulderFist extends EntityDemon -{ - //private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 40, 40, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 60.0F; - private static float maxUntamedHealth = 50.0F; - - public EntityBoulderFist(World par1World) - { - super(par1World, AlchemicalWizardry.entityBoulderFistID); - this.setSize(0.8F, 1.2F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setByte("CollarColor", (byte) this.getCollarColor()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - //TODO change sounds - return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectFloat(18) < 10.0F ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 6 : 7; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - @Override - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityBoulderFist) - { - EntityBoulderFist entitywolf = (EntityBoulderFist) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - /** - * Attack the specified entity using a ranged attack. - */ - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) - { - double xCoord; - double yCoord; - double zCoord; - HolyProjectile hol = new HolyProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 5, 600); - this.worldObj.spawnEntityInWorld(hol); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - //this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiAttackOnCollide); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java deleted file mode 100644 index fd56ebce..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java +++ /dev/null @@ -1,99 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.passive.EntityTameable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.IDemon; -import WayofTime.alchemicalWizardry.common.items.DemonPlacer; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntityDemon extends EntityTameable implements IDemon -{ - private boolean isAggro; - private int demonID; - - public EntityDemon(World par1World, int demonID) - { - super(par1World); - this.demonID = demonID; - } - - @Override - public void setSummonedConditions() - { - this.setAggro(true); - } - - @Override - public boolean isAggro() - { - return this.isAggro; - } - - @Override - public void setAggro(boolean aggro) - { - this.isAggro = aggro; - } - - @Override - public EntityAgeable createChild(EntityAgeable entityageable) - { - // TODO Auto-generated method stub - return null; - } - - protected void dropFewItems(boolean par1, int par2) - { - ItemStack drop = new ItemStack(ModItems.demonPlacer, 1, this.getDemonID()); - - if((this.getOwner() instanceof EntityPlayer)) - { - DemonPlacer.setOwnerName(drop, SpellHelper.getUsername((EntityPlayer)this.getOwner())); - } - - if (this.hasCustomNameTag()) - { - drop.setStackDisplayName(this.getCustomNameTag()); - } - - this.entityDropItem(drop, 0.0f); - } - - public void onLivingUpdate() - { - super.onLivingUpdate(); - - if (!this.isAggro() && worldObj.getWorldTime() % 100 == 0) - { - this.heal(1); - } - } - - public void sendSittingMessageToPlayer(EntityPlayer owner, boolean isSitting) - { - if (owner != null && owner.worldObj.isRemote) - { - ChatComponentText chatmessagecomponent; - - if (isSitting) - { - chatmessagecomponent = new ChatComponentText("I will stay here for now, Master."); - } else - { - chatmessagecomponent = new ChatComponentText("I shall follow and protect you!"); - } - - owner.addChatComponentMessage(chatmessagecomponent); - } - } - - public int getDemonID() - { - return this.demonID; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityEarthElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityEarthElemental.java deleted file mode 100644 index 5d7b5045..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityEarthElemental.java +++ /dev/null @@ -1,28 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.IMob; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public class EntityEarthElemental extends EntityElemental implements IMob -{ - public EntityEarthElemental(World world) - { - super(world, AlchemicalWizardry.entityEarthElementalID); - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).attackEntityFrom(DamageSource.causeMobDamage(this), 10); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 4)); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityElemental.java deleted file mode 100644 index f9492ece..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityElemental.java +++ /dev/null @@ -1,715 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -import java.util.List; - -public class EntityElemental extends EntityDemon -{ - //private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 40, 40, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 100.0F; - private static float maxUntamedHealth = 100.0F; - - public EntityElemental(World par1World, int demonID) - { - super(par1World, demonID); - this.setSize(0.5F, 1.0F); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - //this.isImmuneToFire = true; - } - - public int courseChangeCooldown; - public double waypointX; - public double waypointY; - public double waypointZ; - private Entity targetedEntity; - - /** - * Cooldown time between target loss and new target aquirement. - */ - private int aggroCooldown; - public int prevAttackCounter; - public int attackCounter; - - /** - * The explosion radius of spawned fireballs. - */ - //private int explosionStrength = 1; -// -// private int heightOffsetUpdateTime; -// private float heightOffset = 0.5F; -// private int field_70846_g; - protected void dropFewItems(boolean par1, int par2) - { - if (worldObj.rand.nextFloat() < (1 - Math.pow(0.6f, par2 + 1))) - { - this.entityDropItem(new ItemStack(ModItems.demonBloodShard, 1, 0), 0.0f); - } - } - - protected void fall(float par1) - { - } - - /** - * Takes in the distance the entity has fallen this tick and whether its on the ground to update the fall distance - * and deal fall damage if landing on the ground. Args: distanceFallenThisTick, onGround - */ - protected void updateFallState(double par1, boolean par3) - { - } - - /** - * Moves the entity based on the specified heading. Args: strafe, forward - */ - public void moveEntityWithHeading(float par1, float par2) - { - if (this.isInWater()) - { - this.moveFlying(par1, par2, 0.02F); - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= 0.800000011920929D; - this.motionY *= 0.800000011920929D; - this.motionZ *= 0.800000011920929D; - } else if (this.handleLavaMovement()) - { - this.moveFlying(par1, par2, 0.02F); - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= 0.5D; - this.motionY *= 0.5D; - this.motionZ *= 0.5D; - } else - { - float f2 = 0.91F; - - if (this.onGround) - { - f2 = 0.54600006F; - Block i = this.worldObj.getBlock(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); - - if (i != null) - { - f2 = i.slipperiness * 0.91F; - } - } - - float f3 = 0.16277136F / (f2 * f2 * f2); - this.moveFlying(par1, par2, this.onGround ? 0.1F * f3 : 0.02F); - f2 = 0.91F; - - if (this.onGround) - { - f2 = 0.54600006F; - Block j = this.worldObj.getBlock(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); - - if (j != null) - { - f2 = j.slipperiness * 0.91F; - } - } - - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double) f2; - this.motionY *= (double) f2; - this.motionZ *= (double) f2; - } - - double d0 = this.posX - this.prevPosX; - double d1 = this.posZ - this.prevPosZ; - float f4 = MathHelper.sqrt_double(d0 * d0 + d1 * d1) * 4.0F; - - if (f4 > 1.0F) - { - f4 = 1.0F; - } - } - - /** - * returns true if this entity is by a ladder, false otherwise - */ - public boolean isOnLadder() - { - return false; - } - - @SideOnly(Side.CLIENT) - public boolean func_110182_bF() - { - return this.dataWatcher.getWatchableObjectByte(25) != 0; - } - - protected void updateEntityActionState() - { -// if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) -// { -// this.setDead(); -// } - - //this.despawnEntity(); - if (this.getHealth() <= this.getMaxHealth() / 2.0f && worldObj.rand.nextInt(200) == 0) - { - this.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionReciprocation.id, 100, 1)); - } - - this.prevAttackCounter = this.attackCounter; - double d0 = this.waypointX - this.posX; - double d1 = this.waypointY - this.posY; - double d2 = this.waypointZ - this.posZ; - double d3 = d0 * d0 + d1 * d1 + d2 * d2; - - if (d3 < 1.0D || d3 > 3600.0D) - { - this.waypointX = this.posX + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.waypointY = this.posY + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.waypointZ = this.posZ + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - } - - if (this.courseChangeCooldown-- <= 0) - { - this.courseChangeCooldown += this.rand.nextInt(5) + 2; - d3 = (double) MathHelper.sqrt_double(d3); - - if (this.isCourseTraversable(this.waypointX, this.waypointY, this.waypointZ, d3)) - { - this.motionX += d0 / d3 * 0.1D; - this.motionY += d1 / d3 * 0.1D; - this.motionZ += d2 / d3 * 0.1D; - } else - { - this.waypointX = this.posX + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.waypointY = this.posY + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.waypointZ = this.posZ + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - } - } - - if (this.targetedEntity != null && this.targetedEntity.isDead) - { - this.targetedEntity = null; - } - - if (this.targetedEntity == null || this.aggroCooldown-- <= 0) - { - this.targetedEntity = getClosestVulnerableMonsterToEntity(this, 100.0D); - - if (this.targetedEntity != null) - { - this.aggroCooldown = 20; - } - } - - double d4 = 64.0D; - - if (this.targetedEntity != null && this.targetedEntity.getDistanceSqToEntity(this) < d4 * d4) - { - double d5 = this.targetedEntity.posX - this.posX; - double d6 = this.targetedEntity.boundingBox.minY + (double) (this.targetedEntity.height / 2.0F) - (this.posY + (double) (this.height / 2.0F)); - double d7 = this.targetedEntity.posZ - this.posZ; - this.renderYawOffset = this.rotationYaw = -((float) Math.atan2(d5, d7)) * 180.0F / (float) Math.PI; - - if (this.courseChangeCooldown <= 0) - { - if (isCourseTraversable(this.targetedEntity.posX, this.targetedEntity.posY, this.targetedEntity.posZ, Math.sqrt(d5 * d5 + d6 * d6 + d7 * d7))) - { - this.waypointX = this.targetedEntity.posX; - this.waypointY = this.targetedEntity.posY; - this.waypointZ = this.targetedEntity.posZ; - this.motionX += d5 / d3 * 0.1D; - this.motionY += d6 / d3 * 0.1D; - this.motionZ += d7 / d3 * 0.1D; - } else - { - this.waypointX = this.posX + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.waypointY = this.posY + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.waypointZ = this.posZ + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); - this.motionX += d5 / d3 * 0.1D; - this.motionY += d6 / d3 * 0.1D; - this.motionZ += d7 / d3 * 0.1D; - } - } - - if (this.canEntityBeSeen(this.targetedEntity)) - { - if (Math.sqrt(d5 * d5 + d6 * d6 + d7 * d7) < 4) - { -// if (this.attackCounter == 10) -// { -// this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1007, (int)this.posX, (int)this.posY, (int)this.posZ, 0); -// } - ++this.attackCounter; - - if (this.attackCounter >= 10) - { - this.worldObj.playAuxSFXAtEntity((EntityPlayer) null, 1008, (int) this.posX, (int) this.posY, (int) this.posZ, 0); - this.inflictEffectOnEntity(this.targetedEntity); - this.attackCounter = -40; - } - } - } else if (this.attackCounter > 0) - { - --this.attackCounter; - } - } else - { - this.renderYawOffset = this.rotationYaw = -((float) Math.atan2(this.motionX, this.motionZ)) * 180.0F / (float) Math.PI; - - if (this.attackCounter > 0) - { - --this.attackCounter; - } - } - - if (!this.worldObj.isRemote) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(25); - byte b1 = (byte) (this.attackCounter > 10 ? 1 : 0); - - if (b0 != b1) - { - this.dataWatcher.updateObject(25, Byte.valueOf(b1)); - } - } - } - - /** - * True if the ghast has an unobstructed line of travel to the waypoint. - */ - private boolean isCourseTraversable(double par1, double par3, double par5, double par7) - { - double d4 = (this.waypointX - this.posX) / par7; - double d5 = (this.waypointY - this.posY) / par7; - double d6 = (this.waypointZ - this.posZ) / par7; - AxisAlignedBB axisalignedbb = this.boundingBox.copy(); - - for (int i = 1; (double) i < par7; ++i) - { - axisalignedbb.offset(d4, d5, d6); - - if (!this.worldObj.getCollidingBoundingBoxes(this, axisalignedbb).isEmpty()) - { - return false; - } - } - - return true; - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - public int getMaxSpawnedInChunk() - { - return 1; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return false; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - this.dataWatcher.addObject(25, Byte.valueOf((byte) 0)); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - //TODO change sounds - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "none"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 6 : 7; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - @Override - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityBoulderFist) - { - EntityBoulderFist entitywolf = (EntityBoulderFist) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - //return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer)par2EntityLivingBase).func_96122_a((EntityPlayer)par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse)par1EntityLivingBase).func_110248_bS(); - } else - { - return false; - } - } - - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - //this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiAttackOnCollide); - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionDrowning.id, 100, 0)); - } - } - - public static Entity getClosestVulnerableMonsterToEntity(Entity par1Entity, double par2) - { - double d4 = -1.0D; - double par1 = par1Entity.posX; - double par3 = par1Entity.posY; - double par5 = par1Entity.posZ; - - EntityLivingBase entityLiving = null; - World world = par1Entity.worldObj; - - double range = Math.sqrt(par2); - double verticalRange = Math.sqrt(par2); - List entities = world.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(par1 - 0.5f, par3 - 0.5f, par5 - 0.5f, par1 + 0.5f, par3 + 0.5f, par5 + 0.5f).expand(range, verticalRange, range)); - if (entities == null) - { - return null; - } - - for (int i = 0; i < entities.size(); ++i) - { - EntityLivingBase entityLiving1 = entities.get(i); - - if (!(entityLiving1 instanceof EntityPlayer && ((EntityPlayer) entityLiving1).capabilities.disableDamage) && entityLiving1.isEntityAlive()) - { - double d5 = entityLiving1.getDistanceSq(par1, par3, par5); - double d6 = par2; - - if (entityLiving1.isSneaking()) - { - d6 = par2 * 0.800000011920929D; - } - - if (entityLiving1.isInvisible()) - { - float f = entityLiving1 instanceof EntityPlayer ? ((EntityPlayer) entityLiving1).getArmorVisibility() : 1.0f; - - if (f < 0.1F) - { - f = 0.1F; - } - - d6 *= (double) (0.7F * f); - } - - if ((par2 < 0.0D || d5 < d6 * d6) && (d4 == -1.0D || d5 < d4)) - { - if (par1Entity != entityLiving1) - { - d4 = d5; - entityLiving = entityLiving1; - } - } - } - } - - return entityLiving; - } - - @Override - public int getTotalArmorValue() //TODO - { - return 10; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityFallenAngel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityFallenAngel.java deleted file mode 100644 index 6bd801a9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityFallenAngel.java +++ /dev/null @@ -1,502 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.entity.projectile.HolyProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntityFallenAngel extends EntityDemon implements IRangedAttackMob -{ - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 40, 40, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 50.0F; - private static float maxUntamedHealth = 50.0F; - - public EntityFallenAngel(World par1World) - { - super(par1World, AlchemicalWizardry.entityFallenAngelID); - this.setSize(0.7F, 1.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - //this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - //TODO change sounds - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityFallenAngel) - { - EntityFallenAngel entitywolf = (EntityFallenAngel) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - /** - * Attack the specified entity using a ranged attack. - */ - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) - { - double xCoord; - double yCoord; - double zCoord; - HolyProjectile hol = new HolyProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 5, 600); - this.worldObj.spawnEntityInWorld(hol); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiArrowAttack); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityFireElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityFireElemental.java deleted file mode 100644 index a599be7c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityFireElemental.java +++ /dev/null @@ -1,26 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.IMob; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; - -public class EntityFireElemental extends EntityElemental implements IMob -{ - public EntityFireElemental(World world) - { - super(world, AlchemicalWizardry.entityFireElementalID); - this.isImmuneToFire = true; - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).setFire(10); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityHolyElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityHolyElemental.java deleted file mode 100644 index c4c626a0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityHolyElemental.java +++ /dev/null @@ -1,28 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.IMob; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public class EntityHolyElemental extends EntityElemental implements IMob -{ - public EntityHolyElemental(World world) - { - super(world, AlchemicalWizardry.entityHolyElementalID); - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).attackEntityFrom(DamageSource.causeMobDamage(this), 15); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(Potion.poison.id, 100, 1)); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityIceDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityIceDemon.java deleted file mode 100644 index fafe24b7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityIceDemon.java +++ /dev/null @@ -1,523 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.entity.projectile.IceProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntityIceDemon extends EntityDemon implements IRangedAttackMob -{ - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 30, 50, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 50.0F; - private static float maxUntamedHealth = 30.0F; - - public EntityIceDemon(World par1World) - { - super(par1World, AlchemicalWizardry.entityIceDemonID); - this.setSize(0.5F, 2.0F); - //this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - //this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.40000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.irongolem.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.irongolem.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - int range = 2; - - Vec3 blockVector = SpellHelper.getEntityBlockVector(this); - - int xCoord = (int)(blockVector.xCoord); - int yCoord = (int)(blockVector.yCoord); - int zCoord = (int)(blockVector.zCoord); - - for (int i = -range; i <= range; i++) - { - for (int j = -range; j <= range; j++) - { - for (int k = -range; k <= range; k++) - { - if (worldObj.rand.nextFloat() < 0.25f) - { - SpellHelper.freezeWaterBlock(worldObj, xCoord + i, yCoord + j, zCoord + k); - } - } - } - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityIceDemon) - { - EntityIceDemon entitywolf = (EntityIceDemon) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - /** - * Attack the specified entity using a ranged attack. - */ - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) - { - double xCoord; - double yCoord; - double zCoord; - IceProjectile hol = new IceProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 3, 600); - this.worldObj.spawnEntityInWorld(hol); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiArrowAttack); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityLowerGuardian.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityLowerGuardian.java deleted file mode 100644 index 5d20a4e2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityLowerGuardian.java +++ /dev/null @@ -1,486 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.*; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public class EntityLowerGuardian extends EntityDemon -{ - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 50.0F; - private static float maxUntamedHealth = 30.0F; - private int attackTimer; - private boolean isAggro; - - public EntityLowerGuardian(World par1World) - { - super(par1World, AlchemicalWizardry.entityLowerGuardianID); - this.setSize(0.7F, 1.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(2, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(3, this.aiSit); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - this.setTamed(false); - attackTimer = 0; - //isAggro = false; - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - par1NBTTagCompound.setByte("attackTimer", (byte) attackTimer); - par1NBTTagCompound.setBoolean("isAggro", this.isAggro()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - attackTimer = par1NBTTagCompound.getByte("attackTimer"); - isAggro = par1NBTTagCompound.getBoolean("isAggro"); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.irongolem.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.irongolem.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 1.0F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - - if (attackTimer > 0) - { - attackTimer--; - } - } - - public int getAttackTimer() - { - return attackTimer; - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - this.attackTimer = 10; - this.worldObj.setEntityState(this, (byte) 4); - boolean flag = par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) (7 + this.rand.nextInt(15))); - - if (flag) - { - par1Entity.motionY += 0.4000000059604645D; - } - - this.playSound("mob.irongolem.throw", 1.0F, 1.0F); - return flag; - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityLowerGuardian) - { - EntityLowerGuardian entitywolf = (EntityLowerGuardian) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityShade.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityShade.java deleted file mode 100644 index 068095a2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityShade.java +++ /dev/null @@ -1,493 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.entity.projectile.HolyProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.*; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public class EntityShade extends EntityDemon -{ - //private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 40, 40, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 50.0F; - private static float maxUntamedHealth = 100.0F; - - public EntityShade(World par1World) - { - super(par1World, AlchemicalWizardry.entityShadeID); - this.setSize(0.8F, 2.0F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - //TODO change sounds - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "none"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 6 : 7; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityBoulderFist) - { - EntityBoulderFist entitywolf = (EntityBoulderFist) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - /** - * Attack the specified entity using a ranged attack. - */ - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) - { - double xCoord; - double yCoord; - double zCoord; - HolyProjectile hol = new HolyProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 5, 600); - this.worldObj.spawnEntityInWorld(hol); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - //this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiAttackOnCollide); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityShadeElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityShadeElemental.java deleted file mode 100644 index 004fcce4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityShadeElemental.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.IMob; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; - -public class EntityShadeElemental extends EntityElemental implements IMob -{ - public EntityShadeElemental(World world) - { - super(world, AlchemicalWizardry.entityShadeElementalID); - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(Potion.blindness.id, 100, 1)); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(Potion.nightVision.id, 100, 0)); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntitySmallEarthGolem.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntitySmallEarthGolem.java deleted file mode 100644 index 73e4e076..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntitySmallEarthGolem.java +++ /dev/null @@ -1,500 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.entity.projectile.MudProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntitySmallEarthGolem extends EntityDemon implements IRangedAttackMob -{ - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 25, 25, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 20.0F; - private static float maxUntamedHealth = 10.0F; - - public EntitySmallEarthGolem(World par1World) - { - super(par1World, AlchemicalWizardry.entitySmallEarthGolemID); - this.setSize(0.2F, 1.0F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - //this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - //this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.40000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "none"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.irongolem.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.irongolem.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntitySmallEarthGolem) - { - EntitySmallEarthGolem entitywolf = (EntitySmallEarthGolem) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - /** - * Attack the specified entity using a ranged attack. - */ - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) - { - double xCoord; - double yCoord; - double zCoord; - MudProjectile hol = new MudProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 3, 600, false); - this.worldObj.spawnEntityInWorld(hol); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiArrowAttack); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityWaterElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityWaterElemental.java deleted file mode 100644 index ab141887..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityWaterElemental.java +++ /dev/null @@ -1,25 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.IMob; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; - -public class EntityWaterElemental extends EntityElemental implements IMob -{ - public EntityWaterElemental(World world) - { - super(world, AlchemicalWizardry.entityWaterElementalID); - } - - public void inflictEffectOnEntity(Entity target) - { - if (target instanceof EntityLivingBase) - { - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionDrowning.id, 100, 2)); - ((EntityLivingBase) target).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 150, 0)); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityWingedFireDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityWingedFireDemon.java deleted file mode 100644 index 804cdb65..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityWingedFireDemon.java +++ /dev/null @@ -1,503 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.mob; - -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.EntityAITargetAggro; -import WayofTime.alchemicalWizardry.common.entity.projectile.FireProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EntityWingedFireDemon extends EntityDemon implements IRangedAttackMob -{ - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 40, 40, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false); - - private static float maxTamedHealth = 100.0F; - private static float maxUntamedHealth = 200.0F; - - public EntityWingedFireDemon(World par1World) - { - super(par1World, AlchemicalWizardry.entityWingedFireDemonID); - this.setSize(0.7F, 1.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - //this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - //this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - //this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(false); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - - this.isImmuneToFire = true; - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - //This line affects the speed of the monster - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - //My guess is that this will alter the max health - if (this.isTamed()) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - - //this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() - { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase par1EntityLivingBase) - { - super.setAttackTarget(par1EntityLivingBase); - - if (par1EntityLivingBase == null) - { - this.setAngry(false); - } else if (!this.isTamed()) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - //this.dataWatcher.addObject(20, new Byte((byte) BlockColored.getBlockFromDye(1))); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.zombie.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - this.setCombatTask(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "mob.blaze.breathe"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.blaze.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.blaze.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return -1; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - super.onLivingUpdate(); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - } - - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean par1) - { - super.setTamed(par1); - - if (par1) - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxTamedHealth); - } else - { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(this.maxUntamedHealth); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (itemstack.getItem() instanceof ItemFood) - { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < this.maxTamedHealth) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.getOwner() instanceof EntityPlayer && SpellHelper.getUsername(par1EntityPlayer).equalsIgnoreCase(SpellHelper.getUsername((EntityPlayer)this.getOwner())) && !this.isBreedingItem(itemstack)) - { - if (!this.worldObj.isRemote) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - - this.sendSittingMessageToPlayer(par1EntityPlayer, !this.isSitting()); - } - } else if (itemstack != null && itemstack.getItem().equals(ModItems.weakBloodOrb) && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(1) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(this.maxTamedHealth); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return false; - //return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - return null; - } - - public void func_70918_i(boolean par1) - { - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - return false; - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() - { - //return !this.isTamed() && this.ticksExisted > 2400; - return false; - } - - public boolean func_142018_a(EntityLivingBase par1EntityLivingBase, EntityLivingBase par2EntityLivingBase) - { - if (!(par1EntityLivingBase instanceof EntityCreeper) && !(par1EntityLivingBase instanceof EntityGhast)) - { - if (par1EntityLivingBase instanceof EntityWingedFireDemon) - { - EntityWingedFireDemon entitywolf = (EntityWingedFireDemon) par1EntityLivingBase; - - if (entitywolf.isTamed() && entitywolf.getOwner() == par2EntityLivingBase) - { - return false; - } - } - - return par1EntityLivingBase instanceof EntityPlayer && par2EntityLivingBase instanceof EntityPlayer && !((EntityPlayer) par2EntityLivingBase).canAttackPlayer((EntityPlayer) par1EntityLivingBase) ? false : !(par1EntityLivingBase instanceof EntityHorse) || !((EntityHorse) par1EntityLivingBase).isTame(); - } else - { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - /** - * Attack the specified entity using a ranged attack. - */ - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) - { - double xCoord; - double yCoord; - double zCoord; - this.worldObj.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) this.posX, (int) this.posY, (int) this.posZ, 0); - FireProjectile hol = new FireProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 20, 600); - this.worldObj.spawnEntityInWorld(hol); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - this.tasks.addTask(4, this.aiArrowAttack); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EnergyBlastProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EnergyBlastProjectile.java deleted file mode 100644 index 3b5d6e71..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EnergyBlastProjectile.java +++ /dev/null @@ -1,526 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import java.util.Iterator; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -//Shamelessly ripped off from x3n0ph0b3 -public class EnergyBlastProjectile extends Entity implements IProjectile, IThrowableEntity -{ - protected int xTile = -1; - protected int yTile = -1; - protected int zTile = -1; - protected int inTile = 0; - protected int inData = 0; - protected boolean inGround = false; - /** - * The owner of this arrow. - */ - public EntityLivingBase shootingEntity; - protected int ticksInAir = 0; - protected int maxTicksInAir = 600; - private int ricochetCounter = 0; - private boolean scheduledForDeath = false; - protected int projectileDamage; - - public EnergyBlastProjectile(World par1World) - { - super(par1World); - this.setSize(0.5F, 0.5F); - this.maxTicksInAir = 600; - } - - public EnergyBlastProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - yOffset = 0.0F; - this.maxTicksInAir = 600; - } - - public EnergyBlastProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World); - shootingEntity = par2EntityPlayer; - float par3 = 0.8F; - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + par2EntityPlayer.getEyeHeight(), par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - posX -= MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - posY -= 0.2D; - posZ -= MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(posX, posY, posZ); - yOffset = 0.0F; - motionX = -MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionZ = MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionY = -MathHelper.sin(rotationPitch / 180.0F * (float) Math.PI); - this.setThrowableHeading(motionX, motionY, motionZ, par3 * 1.5F, 1.0F); - this.projectileDamage = damage; - this.maxTicksInAir = 600; - } - - public EnergyBlastProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World); - shootingEntity = par2EntityPlayer; - float par3 = 0.8F; - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch); - posX -= MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - posY -= 0.2D; - posZ -= MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(posX, posY, posZ); - yOffset = 0.0F; - motionX = -MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionZ = MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionY = -MathHelper.sin(rotationPitch / 180.0F * (float) Math.PI); - this.setThrowableHeading(motionX, motionY, motionZ, par3 * 1.5F, 1.0F); - this.projectileDamage = damage; - this.maxTicksInAir = maxTicksInAir; - } - - public EnergyBlastProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLivingBase; - this.posY = par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLivingBase.posX - par2EntityLivingBase.posX; - double d1 = par3EntityLivingBase.boundingBox.minY + (double) (par3EntityLivingBase.height / 1.5F) - this.posY; - double d2 = par3EntityLivingBase.posZ - par2EntityLivingBase.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1, d2, par4, par5); - } - - this.projectileDamage = damage; - this.maxTicksInAir = maxTicksInAir; - } - - @Override - protected void entityInit() - { - dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - @Override - public void setThrowableHeading(double var1, double var3, double var5, float var7, float var8) - { - float var9 = MathHelper.sqrt_double(var1 * var1 + var3 * var3 + var5 * var5); - var1 /= var9; - var3 /= var9; - var5 /= var9; - var1 += rand.nextGaussian() * 0.007499999832361937D * var8; - var3 += rand.nextGaussian() * 0.007499999832361937D * var8; - var5 += rand.nextGaussian() * 0.007499999832361937D * var8; - var1 *= var7; - var3 *= var7; - var5 *= var7; - motionX = var1; - motionY = var3; - motionZ = var5; - float var10 = MathHelper.sqrt_double(var1 * var1 + var5 * var5); - prevRotationYaw = rotationYaw = (float) (Math.atan2(var1, var5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(var3, var10) * 180.0D / Math.PI); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - motionX = par1; - motionY = par3; - motionZ = par5; - - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) - { - float var7 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - prevRotationYaw = rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(par3, var7) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch; - prevRotationYaw = rotationYaw; - this.setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - super.onUpdate(); - - if (ticksInAir > maxTicksInAir) - { - this.setDead(); - } - - if (shootingEntity == null) - { - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(posX - 1, posY - 1, posZ - 1, posX + 1, posY + 1, posZ + 1)); - Iterator i = players.iterator(); - double closestDistance = Double.MAX_VALUE; - EntityPlayer closestPlayer = null; - - while (i.hasNext()) - { - EntityPlayer e = (EntityPlayer) i.next(); - double distance = e.getDistanceToEntity(this); - - if (distance < closestDistance) - { - closestPlayer = e; - } - } - - if (closestPlayer != null) - { - shootingEntity = closestPlayer; - } - } - - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) - { - float var1 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - prevRotationYaw = rotationYaw = (float) (Math.atan2(motionX, motionZ) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(motionY, var1) * 180.0D / Math.PI); - } - - Block var16 = worldObj.getBlock(xTile, yTile, zTile); - - if (var16 != null) - { - var16.setBlockBoundsBasedOnState(worldObj, xTile, yTile, zTile); - AxisAlignedBB var2 = var16.getCollisionBoundingBoxFromPool(worldObj, xTile, yTile, zTile); - - if (var2 != null && var2.isVecInside(Vec3.createVectorHelper(posX, posY, posZ))) - { - inGround = true; - } - } - - if (inGround) - { - Block var18 = worldObj.getBlock(xTile, yTile, zTile); - int var19 = worldObj.getBlockMetadata(xTile, yTile, zTile); - - if (var18.equals(Block.getBlockById(inTile)) && var19 == inData) - { - // this.groundImpact(); - // this.setDead(); - } - } else - { - ++ticksInAir; - - if (ticksInAir > 1 && ticksInAir < 3) - { - //worldObj.spawnParticle("flame", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0D, 0D, 0D); - for (int particles = 0; particles < 3; particles++) - { - this.doFiringParticles(); - } - } - - Vec3 var17 = Vec3.createVectorHelper(posX, posY, posZ); - Vec3 var3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ); - MovingObjectPosition var4 = worldObj.func_147447_a(var17, var3, true, false, false); - var17 = Vec3.createVectorHelper(posX, posY, posZ); - var3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ); - - if (var4 != null) - { - var3 = Vec3.createVectorHelper(var4.hitVec.xCoord, var4.hitVec.yCoord, var4.hitVec.zCoord); - } - - Entity var5 = null; - List var6 = worldObj.getEntitiesWithinAABBExcludingEntity(this, boundingBox.addCoord(motionX, motionY, motionZ).expand(1.0D, 1.0D, 1.0D)); - double var7 = 0.0D; - Iterator var9 = var6.iterator(); - float var11; - - while (var9.hasNext()) - { - Entity var10 = (Entity) var9.next(); - - if (var10.canBeCollidedWith() && (var10 != shootingEntity || ticksInAir >= 5)) - { - var11 = 0.3F; - AxisAlignedBB var12 = var10.boundingBox.expand(var11, var11, var11); - MovingObjectPosition var13 = var12.calculateIntercept(var17, var3); - - if (var13 != null) - { - double var14 = var17.distanceTo(var13.hitVec); - - if (var14 < var7 || var7 == 0.0D) - { - var5 = var10; - var7 = var14; - } - } - } - } - - if (var5 != null) - { - var4 = new MovingObjectPosition(var5); - } - - if (var4 != null) - { - this.onImpact(var4); - - if (scheduledForDeath) - { - this.setDead(); - } - } - - posX += motionX; - posY += motionY; - posZ += motionZ; - MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - this.setPosition(posX, posY, posZ); - //this.doBlockCollisions(); - } - } - - public void doFiringParticles() - { - worldObj.spawnParticle("mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - worldObj.spawnParticle("flame", posX, posY, posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short) xTile); - par1NBTTagCompound.setShort("yTile", (short) yTile); - par1NBTTagCompound.setShort("zTile", (short) zTile); - par1NBTTagCompound.setByte("inTile", (byte) inTile); - par1NBTTagCompound.setByte("inData", (byte) inData); - par1NBTTagCompound.setByte("inGround", (byte) (inGround ? 1 : 0)); - par1NBTTagCompound.setInteger("ticksInAir", ticksInAir); - par1NBTTagCompound.setInteger("maxTicksInAir", maxTicksInAir); - par1NBTTagCompound.setInteger("projectileDamage", this.projectileDamage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - xTile = par1NBTTagCompound.getShort("xTile"); - yTile = par1NBTTagCompound.getShort("yTile"); - zTile = par1NBTTagCompound.getShort("zTile"); - inTile = par1NBTTagCompound.getByte("inTile") & 255; - inData = par1NBTTagCompound.getByte("inData") & 255; - inGround = par1NBTTagCompound.getByte("inGround") == 1; - ticksInAir = par1NBTTagCompound.getInteger("ticksInAir"); - maxTicksInAir = par1NBTTagCompound.getInteger("maxTicksInAir"); - projectileDamage = par1NBTTagCompound.getInteger("projectileDamage"); - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) - { - byte var2 = dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - dataWatcher.updateObject(16, Byte.valueOf((byte) (var2 | 1))); - } else - { - dataWatcher.updateObject(16, Byte.valueOf((byte) (var2 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() - { - byte var1 = dataWatcher.getWatchableObjectByte(16); - return (var1 & 1) != 0; - } - - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - worldObj.createExplosion(shootingEntity, this.posX, this.posY, this.posZ, (float) (0.1), true); - this.setDead(); - } - } - - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60, 2)); - } - - doDamage(projectileDamage, mop); - worldObj.createExplosion(shootingEntity, this.posX, this.posY, this.posZ, (float) (0.1), true); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - private int d6() - { - return rand.nextInt(6) + 1; - } - - protected void spawnHitParticles(String string, int i) - { - for (int particles = 0; particles < i; particles++) - { - worldObj.spawnParticle(string, posX, posY - (string == "portal" ? 1 : 0), posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - } - - protected void doDamage(int i, Entity mop) - { - mop.attackEntityFrom(this.getDamageSource(), i); - } - - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - public double smallGauss(double d) - { - return (worldObj.rand.nextFloat() - 0.5D) * d; - } - - public double gaussian(double d) - { - return d + d * ((rand.nextFloat() - 0.5D) / 4); - } - - private int getRicochetMax() - { - return 0; - } - - @Override - public Entity getThrower() - { - // TODO Auto-generated method stub - return this.shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - if(entity instanceof EntityLivingBase) - this.shootingEntity = (EntityLivingBase)entity; - - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBeamParticle.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBeamParticle.java deleted file mode 100644 index a0cf955c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBeamParticle.java +++ /dev/null @@ -1,16 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.client.particle.EntityFX; -import net.minecraft.world.World; - -public class EntityBeamParticle extends EntityFX -{ - - protected EntityBeamParticle(World p_i1218_1_, double p_i1218_2_, - double p_i1218_4_, double p_i1218_6_) - { - super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); - // TODO Auto-generated constructor stub - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java deleted file mode 100644 index 4a1729a0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java +++ /dev/null @@ -1,131 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.potion.Potion; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; - - -public class EntityBloodLightProjectile extends EnergyBlastProjectile -{ - public EntityBloodLightProjectile(World par1World) - { - super(par1World); - } - - public EntityBloodLightProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public EntityBloodLightProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public EntityBloodLightProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - public EntityBloodLightProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) - { - super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int sideHit = mop.sideHit; - int blockX = mop.blockX; - int blockY = mop.blockY; - int blockZ = mop.blockZ; - - if (sideHit == 0 && this.worldObj.isAirBlock(blockX, blockY - 1, blockZ)) - { - this.worldObj.setBlock(blockX, blockY - 1, blockZ, ModBlocks.blockBloodLight); - } - - if (sideHit == 1 && this.worldObj.isAirBlock(blockX, blockY + 1, blockZ)) - { - this.worldObj.setBlock(blockX, blockY + 1, blockZ, ModBlocks.blockBloodLight); - } - - if (sideHit == 2 && this.worldObj.isAirBlock(blockX, blockY, blockZ - 1)) - { - this.worldObj.setBlock(blockX, blockY, blockZ - 1, ModBlocks.blockBloodLight); - } - - if (sideHit == 3 && this.worldObj.isAirBlock(blockX, blockY, blockZ + 1)) - { - this.worldObj.setBlock(blockX, blockY, blockZ + 1, ModBlocks.blockBloodLight); - } - - if (sideHit == 4 && this.worldObj.isAirBlock(blockX - 1, blockY, blockZ)) - { - this.worldObj.setBlock(blockX - 1, blockY, blockZ, ModBlocks.blockBloodLight); - } - - if (sideHit == 5 && this.worldObj.isAirBlock(blockX + 1, blockY, blockZ)) - { - this.worldObj.setBlock(blockX + 1, blockY, blockZ, ModBlocks.blockBloodLight); - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - - ((EntityLivingBase) mop).setRevengeTarget(shootingEntity); - - doDamage(1, mop); - - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ)) - { - worldObj.setBlock((int) this.posX, (int) this.posY, (int) this.posZ, Blocks.fire); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityEnergyBazookaMainProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityEnergyBazookaMainProjectile.java deleted file mode 100644 index 9c55f452..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityEnergyBazookaMainProjectile.java +++ /dev/null @@ -1,100 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class EntityEnergyBazookaMainProjectile extends EnergyBlastProjectile -{ - public EntityEnergyBazookaMainProjectile(World par1World) - { - super(par1World); - } - - public EntityEnergyBazookaMainProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public EntityEnergyBazookaMainProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public EntityEnergyBazookaMainProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - public EntityEnergyBazookaMainProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) - { - super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - worldObj.createExplosion(this.shootingEntity, this.posX, this.posY, this.posZ, (float) (5.0f), false); - this.spawnSecondaryProjectiles(); - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - spawnSecondaryProjectiles(); - } - - worldObj.createExplosion(this.shootingEntity, this.posX, this.posY, this.posZ, (float) (5.0f), false); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - public void spawnSecondaryProjectiles() - { - for (int i = 0; i < 20; i++) - { - EntityEnergyBazookaSecondaryProjectile secProj = new EntityEnergyBazookaSecondaryProjectile(worldObj, this.posX, this.posY, this.posZ, 15); - secProj.shootingEntity = this.shootingEntity; - float xVel = rand.nextFloat() - rand.nextFloat(); - float yVel = rand.nextFloat() - rand.nextFloat(); - float zVel = rand.nextFloat() - rand.nextFloat(); - float wantedVel = 0.5f; - secProj.motionX = xVel * wantedVel; - secProj.motionY = yVel * wantedVel; - secProj.motionZ = zVel * wantedVel; - worldObj.spawnEntityInWorld(secProj); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityEnergyBazookaSecondaryProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityEnergyBazookaSecondaryProjectile.java deleted file mode 100644 index cdbf72f4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityEnergyBazookaSecondaryProjectile.java +++ /dev/null @@ -1,508 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.*; -import net.minecraft.world.World; - -import java.util.Iterator; -import java.util.List; - -public class EntityEnergyBazookaSecondaryProjectile extends EnergyBlastProjectile implements IProjectile -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - /** - * The owner of this arrow. - */ - public EntityLivingBase shootingEntity; - private int ticksInAir = 0; - private int ricochetCounter = 0; - private boolean scheduledForDeath = false; - public int damage; - - public EntityEnergyBazookaSecondaryProjectile(World par1World) - { - super(par1World); - this.setSize(0.5F, 0.5F); - damage = 5; - } - - public EntityEnergyBazookaSecondaryProjectile(World par1World, double par2, double par4, double par6, int damage) - { - super(par1World); - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - yOffset = 0.0F; - this.damage = damage; - } - - public EntityEnergyBazookaSecondaryProjectile(World par1World, EntityPlayer par2EntityPlayer, int damage) - { - super(par1World); - shootingEntity = par2EntityPlayer; - float par3 = 0.8F; - this.setSize(0.1F, 0.1F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + par2EntityPlayer.getEyeHeight(), par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - posX -= MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - posY -= 0.2D; - posZ -= MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(posX, posY, posZ); - yOffset = 0.0F; - motionX = -MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionZ = MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionY = -MathHelper.sin(rotationPitch / 180.0F * (float) Math.PI); - this.setThrowableHeading(motionX, motionY, motionZ, par3 * 1.5F, 1.0F); - this.damage = damage; - } - - @Override - protected void entityInit() - { - dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - @Override - public void setThrowableHeading(double var1, double var3, double var5, float var7, float var8) - { - float var9 = MathHelper.sqrt_double(var1 * var1 + var3 * var3 + var5 * var5); - var1 /= var9; - var3 /= var9; - var5 /= var9; - var1 += rand.nextGaussian() * 0.007499999832361937D * var8; - var3 += rand.nextGaussian() * 0.007499999832361937D * var8; - var5 += rand.nextGaussian() * 0.007499999832361937D * var8; - var1 *= var7; - var3 *= var7; - var5 *= var7; - motionX = var1; - motionY = var3; - motionZ = var5; - float var10 = MathHelper.sqrt_double(var1 * var1 + var5 * var5); - prevRotationYaw = rotationYaw = (float) (Math.atan2(var1, var5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(var3, var10) * 180.0D / Math.PI); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - motionX = par1; - motionY = par3; - motionZ = par5; - - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) - { - float var7 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - prevRotationYaw = rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(par3, var7) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch; - prevRotationYaw = rotationYaw; - this.setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - super.onUpdate(); - - if (ticksInAir > maxTicksInAir) - { - this.setDead(); - } - - if (shootingEntity == null) - { - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(posX - 1, posY - 1, posZ - 1, posX + 1, posY + 1, posZ + 1)); - Iterator i = players.iterator(); - double closestDistance = Double.MAX_VALUE; - EntityPlayer closestPlayer = null; - - while (i.hasNext()) - { - EntityPlayer e = (EntityPlayer) i.next(); - double distance = e.getDistanceToEntity(this); - - if (distance < closestDistance) - { - closestPlayer = e; - } - } - - if (closestPlayer != null) - { - shootingEntity = closestPlayer; - } - } - - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) - { - float var1 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - prevRotationYaw = rotationYaw = (float) (Math.atan2(motionX, motionZ) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(motionY, var1) * 180.0D / Math.PI); - } - - Block var16 = worldObj.getBlock(xTile, yTile, zTile); - - if (var16 != null) - { - var16.setBlockBoundsBasedOnState(worldObj, xTile, yTile, zTile); - AxisAlignedBB var2 = var16.getCollisionBoundingBoxFromPool(worldObj, xTile, yTile, zTile); - - if (var2 != null && var2.isVecInside(Vec3.createVectorHelper(posX, posY, posZ))) - { - inGround = true; - } - } - - if (inGround) - { - Block var18 = worldObj.getBlock(xTile, yTile, zTile); - int var19 = worldObj.getBlockMetadata(xTile, yTile, zTile); - - if (var18.equals(Block.getBlockById(inTile)) && var19 == inData) - { - // this.groundImpact(); - // this.setDead(); - } - } else - { - ++ticksInAir; - - if (ticksInAir > 1 && ticksInAir < 3) - { - //worldObj.spawnParticle("flame", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0D, 0D, 0D); - for (int particles = 0; particles < 3; particles++) - { - this.doFiringParticles(); - } - } - - Vec3 var17 = Vec3.createVectorHelper(posX, posY, posZ); - Vec3 var3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ); - MovingObjectPosition var4 = worldObj.func_147447_a(var17, var3, true, false, false); - var17 = Vec3.createVectorHelper(posX, posY, posZ); - var3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ); - - if (var4 != null) - { - var3 = Vec3.createVectorHelper(var4.hitVec.xCoord, var4.hitVec.yCoord, var4.hitVec.zCoord); - } - - Entity var5 = null; - List var6 = worldObj.getEntitiesWithinAABBExcludingEntity(this, boundingBox.addCoord(motionX, motionY, motionZ).expand(1.0D, 1.0D, 1.0D)); - double var7 = 0.0D; - Iterator var9 = var6.iterator(); - float var11; - - while (var9.hasNext()) - { - Entity var10 = (Entity) var9.next(); - - if (var10.canBeCollidedWith() && (var10 != shootingEntity || ticksInAir >= 5)) - { - var11 = 0.3F; - AxisAlignedBB var12 = var10.boundingBox.expand(var11, var11, var11); - MovingObjectPosition var13 = var12.calculateIntercept(var17, var3); - - if (var13 != null) - { - double var14 = var17.distanceTo(var13.hitVec); - - if (var14 < var7 || var7 == 0.0D) - { - var5 = var10; - var7 = var14; - } - } - } - } - - if (var5 != null) - { - var4 = new MovingObjectPosition(var5); - } - - if (var4 != null) - { - this.onImpact(var4); - - if (scheduledForDeath) - { - this.setDead(); - } - } - - posX += motionX; - posY += motionY; - posZ += motionZ; - MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - this.setPosition(posX, posY, posZ); - //this.doBlockCollisions(); - } - } - - public void doFiringParticles() - { - worldObj.spawnParticle("mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - worldObj.spawnParticle("flame", posX, posY, posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short) xTile); - par1NBTTagCompound.setShort("yTile", (short) yTile); - par1NBTTagCompound.setShort("zTile", (short) zTile); - par1NBTTagCompound.setByte("inTile", (byte) inTile); - par1NBTTagCompound.setByte("inData", (byte) inData); - par1NBTTagCompound.setByte("inGround", (byte) (inGround ? 1 : 0)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - xTile = par1NBTTagCompound.getShort("xTile"); - yTile = par1NBTTagCompound.getShort("yTile"); - zTile = par1NBTTagCompound.getShort("zTile"); - inTile = par1NBTTagCompound.getByte("inTile") & 255; - inData = par1NBTTagCompound.getByte("inData") & 255; - inGround = par1NBTTagCompound.getByte("inGround") == 1; - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) - { - byte var2 = dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - dataWatcher.updateObject(16, Byte.valueOf((byte) (var2 | 1))); - } else - { - dataWatcher.updateObject(16, Byte.valueOf((byte) (var2 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() - { - byte var1 = dataWatcher.getWatchableObjectByte(16); - return (var1 & 1) != 0; - } - - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - this.groundImpact(mop.sideHit); - worldObj.createExplosion(shootingEntity, posX, posY, posZ, 2, false); - } - } - - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - doDamage(this.damage + d6(), mop); - worldObj.createExplosion(shootingEntity, posX, posY, posZ, 2, false); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - private int d6() - { - return rand.nextInt(6) + 1; - } - - public void spawnHitParticles(String string, int i) - { - for (int particles = 0; particles < i; particles++) - { - worldObj.spawnParticle(string, posX, posY - (string == "portal" ? 1 : 0), posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - } - - public void doDamage(int i, Entity mop) - { - mop.attackEntityFrom(this.getDamageSource(), i); - } - - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - public void groundImpact(int sideHit) - { - this.ricochet(sideHit); - } - - public double smallGauss(double d) - { - return (worldObj.rand.nextFloat() - 0.5D) * d; - } - - public double gaussian(double d) - { - return d + d * ((rand.nextFloat() - 0.5D) / 4); - } - - private void ricochet(int sideHit) - { - switch (sideHit) - { - case 0: - case 1: - // topHit, bottomHit, reflect Y - motionY = motionY * -1; - break; - - case 2: - case 3: - // westHit, eastHit, reflect Z - motionZ = motionZ * -1; - break; - - case 4: - case 5: - // southHit, northHit, reflect X - motionX = motionX * -1; - break; - } - - ricochetCounter++; - - if (ricochetCounter > this.getRicochetMax()) - { - scheduledForDeath = true; - - for (int particles = 0; particles < 4; particles++) - { - switch (sideHit) - { - case 0: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), -gaussian(0.1D), gaussian(0.1D)); - break; - - case 1: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - - case 2: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), -gaussian(0.1D)); - break; - - case 3: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - - case 4: - worldObj.spawnParticle("smoke", posX, posY, posZ, -gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - - case 5: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - } - } - } - } - - private int getRicochetMax() - { - return 3; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityMeteor.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityMeteor.java deleted file mode 100644 index a1f6bc9b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityMeteor.java +++ /dev/null @@ -1,90 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry; - -public class EntityMeteor extends EnergyBlastProjectile -{ - private int meteorID; - - public boolean hasTerrae; - public boolean hasOrbisTerrae; - public boolean hasCrystallos; - public boolean hasIncendium; - public boolean hasTennebrae; - - public EntityMeteor(World par1World) - { - super(par1World); - this.meteorID = 0; - } - - public EntityMeteor(World par1World, double par2, double par4, double par6, int meteorID) - { - super(par1World, par2, par4, par6); - this.meteorID = meteorID; - } - - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - - par1NBTTagCompound.setInteger("meteorID", meteorID); - par1NBTTagCompound.setBoolean("hasTerrae", hasTerrae); - par1NBTTagCompound.setBoolean("hasOrbisTerrae", hasOrbisTerrae); - par1NBTTagCompound.setBoolean("hasCrystallos", hasCrystallos); - par1NBTTagCompound.setBoolean("hasIncendium", hasIncendium); - par1NBTTagCompound.setBoolean("hasTennebrae", hasTennebrae); - } - - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - - meteorID = par1NBTTagCompound.getInteger("meteorID"); - hasTerrae = par1NBTTagCompound.getBoolean("hasTerrae"); - hasOrbisTerrae = par1NBTTagCompound.getBoolean("hasOrbisTerrae"); - hasIncendium = par1NBTTagCompound.getBoolean("hasIncendium"); - hasCrystallos = par1NBTTagCompound.getBoolean("hasCrystallos"); - hasTennebrae = par1NBTTagCompound.getBoolean("hasTennebrae"); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.fallingBlock; - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (worldObj.isRemote) - { - return; - } - - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - MeteorRegistry.createMeteorImpact(worldObj, mop.blockX, mop.blockY, mop.blockZ, this.meteorID, new boolean[]{hasTerrae, hasOrbisTerrae, hasCrystallos, hasIncendium, hasTennebrae}); - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - MeteorRegistry.createMeteorImpact(worldObj, (int) this.posX, (int) this.posY, (int) this.posZ, meteorID, new boolean[]{hasTerrae, hasOrbisTerrae, hasCrystallos, hasIncendium, hasTennebrae}); - - this.setDead(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityParticleBeam.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityParticleBeam.java deleted file mode 100644 index 564e7dea..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityParticleBeam.java +++ /dev/null @@ -1,350 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.client.particle.EntityCloudFX; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -//Shamelessly ripped off from x3n0ph0b3 -public class EntityParticleBeam extends Entity implements IProjectile, IThrowableEntity -{ - protected int xTile = -1; - protected int yTile = -1; - protected int zTile = -1; - protected int inTile = 0; - protected int inData = 0; - protected float colourRed = 0f; - protected float colourGreen = 0f; - protected float colourBlue = 0f; - protected int xDest = 0; - protected int yDest = 0; - protected int zDest = 0; - protected boolean inGround = false; - /** - * The owner of this arrow. - */ - public EntityLivingBase shootingEntity; - protected int ticksInAir = 0; - protected int maxTicksInAir = 600; - private int ricochetCounter = 0; - private boolean scheduledForDeath = false; - protected int projectileDamage; - - public EntityParticleBeam(World par1World) - { - super(par1World); - this.setSize(0.5F, 0.5F); - this.maxTicksInAir = 600; - } - - public EntityParticleBeam(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - yOffset = 0.0F; - this.maxTicksInAir = 600; - } - - public EntityParticleBeam(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World); - shootingEntity = par2EntityPlayer; - float par3 = 0.8F; - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + par2EntityPlayer.getEyeHeight(), par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - posX -= MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - posY -= 0.2D; - posZ -= MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(posX, posY, posZ); - yOffset = 0.0F; - motionX = -MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionZ = MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionY = -MathHelper.sin(rotationPitch / 180.0F * (float) Math.PI); - this.setThrowableHeading(motionX, motionY, motionZ, par3 * 1.5F, 1.0F); - this.projectileDamage = damage; - this.maxTicksInAir = 600; - } - - public EntityParticleBeam(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World); - shootingEntity = par2EntityPlayer; - float par3 = 0.8F; - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch); - posX -= MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - posY -= 0.2D; - posZ -= MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(posX, posY, posZ); - yOffset = 0.0F; - motionX = -MathHelper.sin(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionZ = MathHelper.cos(rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float) Math.PI); - motionY = -MathHelper.sin(rotationPitch / 180.0F * (float) Math.PI); - this.setThrowableHeading(motionX, motionY, motionZ, par3 * 1.5F, 1.0F); - this.projectileDamage = damage; - this.maxTicksInAir = maxTicksInAir; - } - - public EntityParticleBeam(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLivingBase; - this.posY = par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLivingBase.posX - par2EntityLivingBase.posX; - double d1 = par3EntityLivingBase.boundingBox.minY + (double) (par3EntityLivingBase.height / 1.5F) - this.posY; - double d2 = par3EntityLivingBase.posZ - par2EntityLivingBase.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1, d2, par4, par5); - } - - this.projectileDamage = damage; - this.maxTicksInAir = maxTicksInAir; - } - - @Override - protected void entityInit() - { - dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - @Override - public void setThrowableHeading(double var1, double var3, double var5, float var7, float var8) - { - float var9 = MathHelper.sqrt_double(var1 * var1 + var3 * var3 + var5 * var5); - var1 /= var9; - var3 /= var9; - var5 /= var9; - var1 += rand.nextGaussian() * 0.007499999832361937D * var8; - var3 += rand.nextGaussian() * 0.007499999832361937D * var8; - var5 += rand.nextGaussian() * 0.007499999832361937D * var8; - var1 *= var7; - var3 *= var7; - var5 *= var7; - motionX = var1; - motionY = var3; - motionZ = var5; - float var10 = MathHelper.sqrt_double(var1 * var1 + var5 * var5); - prevRotationYaw = rotationYaw = (float) (Math.atan2(var1, var5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(var3, var10) * 180.0D / Math.PI); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - motionX = par1; - motionY = par3; - motionZ = par5; - - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) - { - float var7 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - prevRotationYaw = rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float) (Math.atan2(par3, var7) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch; - prevRotationYaw = rotationYaw; - this.setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - super.onUpdate(); - - if (ticksInAir > maxTicksInAir) - { - this.setDead(); - } - - posX += motionX; - posY += motionY; - posZ += motionZ; - MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - this.setPosition(posX, posY, posZ); - - this.doFiringParticles(); - - if(Math.pow(posX - xDest, 2) + Math.pow(posY - yDest, 2) + Math.pow(posZ - zDest, 2) <= 1) - { - this.scheduledForDeath = true; - } - - if(this.scheduledForDeath) - { - this.setDead(); - } - } - - public void doFiringParticles() - { - if(!worldObj.isRemote) - { - return; - } - //worldObj.spawnParticle("mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - EntityFX particle = new EntityCloudFX(worldObj, posX, posY, posZ, 0, 0, 0); - particle.setRBGColorF(colourRed + 0.15f * (worldObj.rand.nextFloat() - worldObj.rand.nextFloat()), colourGreen + 0.15f * (worldObj.rand.nextFloat() - worldObj.rand.nextFloat()), colourBlue + 0.15f * (worldObj.rand.nextFloat() - worldObj.rand.nextFloat())); - FMLClientHandler.instance().getClient().effectRenderer.addEffect(particle); - //worldObj.spawnParticle("happyVillager", posX, posY, posZ, 0, 0, 0); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short) xTile); - par1NBTTagCompound.setShort("yTile", (short) yTile); - par1NBTTagCompound.setShort("zTile", (short) zTile); - par1NBTTagCompound.setByte("inTile", (byte) inTile); - par1NBTTagCompound.setByte("inData", (byte) inData); - par1NBTTagCompound.setByte("inGround", (byte) (inGround ? 1 : 0)); - par1NBTTagCompound.setInteger("ticksInAir", ticksInAir); - par1NBTTagCompound.setInteger("maxTicksInAir", maxTicksInAir); - par1NBTTagCompound.setInteger("projectileDamage", this.projectileDamage); - par1NBTTagCompound.setFloat("colourRed", colourRed); - par1NBTTagCompound.setFloat("colourGreen", colourGreen); - par1NBTTagCompound.setFloat("colourBlue", colourBlue); - par1NBTTagCompound.setInteger("xDest", xDest); - par1NBTTagCompound.setInteger("yDest", yDest); - par1NBTTagCompound.setInteger("zDest", zDest); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - xTile = par1NBTTagCompound.getShort("xTile"); - yTile = par1NBTTagCompound.getShort("yTile"); - zTile = par1NBTTagCompound.getShort("zTile"); - inTile = par1NBTTagCompound.getByte("inTile") & 255; - inData = par1NBTTagCompound.getByte("inData") & 255; - inGround = par1NBTTagCompound.getByte("inGround") == 1; - ticksInAir = par1NBTTagCompound.getInteger("ticksInAir"); - maxTicksInAir = par1NBTTagCompound.getInteger("maxTicksInAir"); - projectileDamage = par1NBTTagCompound.getInteger("projectileDamage"); - colourRed = par1NBTTagCompound.getFloat("colourRed"); - colourGreen = par1NBTTagCompound.getFloat("colourGreen"); - colourBlue = par1NBTTagCompound.getFloat("colourBlue"); - xDest = par1NBTTagCompound.getInteger("xDest"); - yDest = par1NBTTagCompound.getInteger("yDest"); - zDest = par1NBTTagCompound.getInteger("zDest"); - } - - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - protected void spawnHitParticles(String string, int i) - { - for (int particles = 0; particles < i; particles++) - { - worldObj.spawnParticle(string, posX, posY - (string == "portal" ? 1 : 0), posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - } - - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - public double smallGauss(double d) - { - return (worldObj.rand.nextFloat() - 0.5D) * d; - } - - public double gaussian(double d) - { - return d + d * ((rand.nextFloat() - 0.5D) / 4); - } - - private int getRicochetMax() - { - return 0; - } - - @Override - public Entity getThrower() - { - // TODO Auto-generated method stub - return this.shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - if(entity instanceof EntityLivingBase) - this.shootingEntity = (EntityLivingBase)entity; - - } - - public void setColour(float red, float green, float blue) - { - this.colourRed = red; - this.colourGreen = green; - this.colourBlue = blue; - } - - public void setDestination(int xDest, int yDest, int zDest) - { - this.xDest = xDest; - this.yDest = yDest; - this.zDest = zDest; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java deleted file mode 100644 index 569aaf0b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java +++ /dev/null @@ -1,134 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class ExplosionProjectile extends EnergyBlastProjectile -{ - protected boolean causesEnvDamage; - - public ExplosionProjectile(World par1World) - { - super(par1World); - } - - public ExplosionProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public ExplosionProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, boolean flag) - { - super(par1World, par2EntityPlayer, damage); - causesEnvDamage = flag; - } - - public ExplosionProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch, boolean flag) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - causesEnvDamage = flag; - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float) (2), causesEnvDamage); - //this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { -// for(int i=-1;i<=1;i++) -// { -// for(int j=-1;j<=1;j++) -// { -// for(int k=-1;k<=1;k++) -// { -// if(worldObj.isAirBlock((int)this.posX+i, (int)this.posY+j, (int)this.posZ+k)) -// { -// worldObj.setBlock( (int)this.posX+i, (int)this.posY+j, (int)this.posZ+k,Block.fire.blockID); -// } -// } -// } -// } - worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float) (2), causesEnvDamage); - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); - if (((EntityLivingBase) mop).isImmuneToFire()) - { - doDamage((int) (projectileDamage), mop); - } else - { - doDamage(projectileDamage, mop); - } - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ)) - { - //worldObj.setBlock((int)this.posX, (int)this.posY, (int)this.posZ,Block.fire.blockID); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - worldObj.spawnParticle("mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - worldObj.spawnParticle("explode", posX, posY, posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("causesEnvDamage", causesEnvDamage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - causesEnvDamage = par1NBTTagCompound.getBoolean("causesEnvDamage"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java deleted file mode 100644 index 7ab8f052..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java +++ /dev/null @@ -1,115 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.potion.Potion; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class FireProjectile extends EnergyBlastProjectile -{ - public FireProjectile(World par1World) - { - super(par1World); - } - - public FireProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public FireProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public FireProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - public FireProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) - { - super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - for (int i = -1; i <= 1; i++) - { - for (int j = -1; j <= 1; j++) - { - for (int k = -1; k <= 1; k++) - { - if (worldObj.isAirBlock((int) this.posX + i, (int) this.posY + j, (int) this.posZ + k)) - { - worldObj.setBlock((int) this.posX + i, (int) this.posY + j, (int) this.posZ + k, Blocks.fire); - } - } - } - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - ((EntityLivingBase) mop).setFire(50); - ((EntityLivingBase) mop).setRevengeTarget(shootingEntity); - - if (((EntityLivingBase) mop).isPotionActive(Potion.fireResistance) || ((EntityLivingBase) mop).isImmuneToFire()) - { - ((EntityLivingBase) mop).attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - } else - { - doDamage(projectileDamage, mop); - ((EntityLivingBase) mop).hurtResistantTime = 0; - } - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ)) - { - worldObj.setBlock((int) this.posX, (int) this.posY, (int) this.posZ, Blocks.fire); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/HolyProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/HolyProjectile.java deleted file mode 100644 index 062ccbf7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/HolyProjectile.java +++ /dev/null @@ -1,117 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class HolyProjectile extends EnergyBlastProjectile -{ - public HolyProjectile(World par1World) - { - super(par1World); - } - - public HolyProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public HolyProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public HolyProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - public HolyProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) - { - super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { -// for(int i=-1;i<=1;i++) -// { -// for(int j=-1;j<=1;j++) -// { -// for(int k=-1;k<=1;k++) -// { -// if(worldObj.isAirBlock((int)this.posX+i, (int)this.posY+j, (int)this.posZ+k)) -// { -// worldObj.setBlock( (int)this.posX+i, (int)this.posY+j, (int)this.posZ+k,Block.fire.blockID); -// } -// } -// } -// } - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); - if (((EntityLivingBase) mop).isEntityUndead()) - { - doDamage((int) (projectileDamage * 2), mop); - } else - { - doDamage(projectileDamage, mop); - } - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ)) - { - //worldObj.setBlock((int)this.posX, (int)this.posY, (int)this.posZ,Block.fire.blockID); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpell", posX, posY, posZ, 1.0F, 1.0F, 1.0F); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java deleted file mode 100644 index 06867d81..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java +++ /dev/null @@ -1,123 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class IceProjectile extends EnergyBlastProjectile -{ - public IceProjectile(World par1World) - { - super(par1World); - } - - public IceProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public IceProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public IceProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - public IceProjectile(World worldObj, EntityIceDemon entityIceDemon, EntityLivingBase par1EntityLivingBase, float f, float g, int i, int j) - { - super(worldObj, entityIceDemon, par1EntityLivingBase, f, g, i, j); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { -// for(int i=-1;i<=1;i++) -// { -// for(int j=-1;j<=1;j++) -// { -// for(int k=-1;k<=1;k++) -// { -// if(worldObj.isAirBlock((int)this.posX+i, (int)this.posY+j, (int)this.posZ+k)) -// { -// worldObj.setBlock( (int)this.posX+i, (int)this.posY+j, (int)this.posZ+k,Block.fire.blockID); -// } -// } -// } -// } - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); - if (((EntityLivingBase) mop).isImmuneToFire()) - { - doDamage((int) (projectileDamage * 2), mop); - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200, 2)); - } else - { - doDamage(projectileDamage, mop); - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 1)); - } - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ)) - { - //worldObj.setBlock((int)this.posX, (int)this.posY, (int)this.posZ,Block.fire.blockID); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "explode", posX, posY, posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/LightningBoltProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/LightningBoltProjectile.java deleted file mode 100644 index 106cf420..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/LightningBoltProjectile.java +++ /dev/null @@ -1,126 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class LightningBoltProjectile extends EnergyBlastProjectile -{ - private boolean causeLightning; - - public LightningBoltProjectile(World par1World) - { - super(par1World); - } - - public LightningBoltProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public LightningBoltProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, boolean flag) - { - super(par1World, par2EntityPlayer, damage); - causeLightning = flag; - } - - public LightningBoltProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch, boolean flag) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - causeLightning = flag; - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - if (causeLightning) - { - this.worldObj.addWeatherEffect(new EntityLightningBolt(this.worldObj, this.posX, this.posY, this.posZ)); - } - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - //shootingEntity.attackEntityFrom(DamageSource.causePlayerDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); -// if(((EntityLivingBase)mop).isEntityUndead()) -// { -// doDamage((int)(projectileDamage*2),mop); -// }else -// { -// doDamage(projectileDamage, mop); -// } - if (causeLightning) - { - this.worldObj.addWeatherEffect(new EntityLightningBolt(this.worldObj, ((EntityLivingBase) mop).posX, ((EntityLivingBase) mop).posY, ((EntityLivingBase) mop).posZ)); - } else - { - doDamage(projectileDamage, mop); - } - - //((EntityLivingBase)mop).setVelocity(this.motionX*2, ((EntityLivingBase)mop).motionY+1.5, this.motionZ*2); - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpell", posX, posY, posZ, 1.0F, 1.0F, 1.0F); - } - - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("causeLightning", causeLightning); - } - - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - causeLightning = par1NBTTagCompound.getBoolean("causeLightning"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/MudProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/MudProjectile.java deleted file mode 100644 index 2c944959..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/MudProjectile.java +++ /dev/null @@ -1,131 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class MudProjectile extends EnergyBlastProjectile -{ - private boolean doesBlindness; //True for when it applies blindness, false for slowness - - public MudProjectile(World par1World) - { - super(par1World); - } - - public MudProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public MudProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, boolean flag) - { - super(par1World, par2EntityPlayer, damage); - doesBlindness = flag; - } - - public MudProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch, boolean flag) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - doesBlindness = flag; - } - - public MudProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir, boolean flag) - { - super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); - doesBlindness = flag; - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - //shootingEntity.attackEntityFrom(DamageSource.causePlayerDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); -// if(((EntityLivingBase)mop).isEntityUndead()) -// { -// doDamage((int)(projectileDamage*2),mop); -// }else -// { -// doDamage(projectileDamage, mop); -// } - if (doesBlindness) - { - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(Potion.blindness.id, 100, 0)); - } else - { - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 2)); - } - - doDamage(projectileDamage, mop); - //((EntityLivingBase)mop).setVelocity(this.motionX*2, ((EntityLivingBase)mop).motionY+1.5, this.motionZ*2); - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpell", posX, posY, posZ, 0.5F, 0.297F, 0.0664F); - } - - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("doesBlindness", doesBlindness); - } - - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - doesBlindness = par1NBTTagCompound.getBoolean("doesBlindness"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/TeleportProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/TeleportProjectile.java deleted file mode 100644 index c448fadf..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/TeleportProjectile.java +++ /dev/null @@ -1,205 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.EnderTeleportEvent; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellTeleport; - -public class TeleportProjectile extends EnergyBlastProjectile -{ - private boolean isEntityTeleport; //True if the entity firing teleports on hit - - public TeleportProjectile(World par1World) - { - super(par1World); - this.motionX *= 3; - this.motionY *= 3; - this.motionZ *= 3; - } - - public TeleportProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - this.motionX *= 3; - this.motionY *= 3; - this.motionZ *= 3; - } - - public TeleportProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, boolean flag) - { - super(par1World, par2EntityPlayer, damage); - isEntityTeleport = flag; - this.motionX *= 3; - this.motionY *= 3; - this.motionZ *= 3; - } - - public TeleportProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch, boolean flag) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - isEntityTeleport = flag; - this.motionX *= 3; - this.motionY *= 3; - this.motionZ *= 3; - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - if (isEntityTeleport) - { - if (shootingEntity != null && shootingEntity instanceof EntityPlayerMP) - { - EntityPlayerMP entityplayermp = (EntityPlayerMP) shootingEntity; - - if(entityplayermp.worldObj == this.worldObj) - //if (!entityplayermp.playerNetServerHandler.connectionClosed && entityplayermp.worldObj == this.worldObj) - { - EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, this.posX, this.posY, this.posZ, 5.0F); - - if (!MinecraftForge.EVENT_BUS.post(event)) - { - if (shootingEntity.isRiding()) - { - shootingEntity.mountEntity((Entity) null); - } - - shootingEntity.setPositionAndUpdate(event.targetX, event.targetY, event.targetZ); -// this.getThrower().fallDistance = 0.0F; -// this.getThrower().attackEntityFrom(DamageSource.fall, event.attackDamage); - } - } - } - } - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - //shootingEntity.attackEntityFrom(DamageSource.causePlayerDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); -// if(((EntityLivingBase)mop).isEntityUndead()) -// { -// doDamage((int)(projectileDamage*2),mop); -// }else -// { -// doDamage(projectileDamage, mop); -// } - if (isEntityTeleport) - { - if (shootingEntity != null && shootingEntity instanceof EntityPlayerMP) - { - EntityPlayerMP entityplayermp = (EntityPlayerMP) shootingEntity; - - if(entityplayermp.worldObj == this.worldObj) - //if (!entityplayermp.playerNetServerHandler.connectionClosed && entityplayermp.worldObj == this.worldObj) - { - EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, this.posX, this.posY, this.posZ, 5.0F); - - if (!MinecraftForge.EVENT_BUS.post(event)) - { - if (shootingEntity.isRiding()) - { - shootingEntity.mountEntity((Entity) null); - } - - shootingEntity.setPositionAndUpdate(event.targetX, event.targetY, event.targetZ); -// this.getThrower().fallDistance = 0.0F; -// this.getThrower().attackEntityFrom(DamageSource.fall, event.attackDamage); - } - } - } - } else - { -// int x = (int)this.posX + mop.worldObj.rand.nextInt(100) - mop.worldObj.rand.nextInt(100); -// int y = (int)this.posY + mop.worldObj.rand.nextInt(10) - mop.worldObj.rand.nextInt(10); -// int z = (int)this.posZ + mop.worldObj.rand.nextInt(100) - mop.worldObj.rand.nextInt(100); -// -// boolean bool = false; -// int i = 0; -// -// while(!bool&&i<100) -// { -// if(worldObj.isAirBlock(x, y, z)||worldObj.isAirBlock(x, y+1, z)) -// { -// ((EntityLivingBase) mop).setPositionAndUpdate(x, y, z); -// bool=true; -// }else -// { -// x = (int)this.posX + mop.worldObj.rand.nextInt(100) - mop.worldObj.rand.nextInt(100); -// y = (int)this.posY + mop.worldObj.rand.nextInt(10) - mop.worldObj.rand.nextInt(10); -// z = (int)this.posZ + mop.worldObj.rand.nextInt(100) - mop.worldObj.rand.nextInt(100); -// i++; -// } -// } - SpellTeleport.teleportRandomly((EntityLivingBase) mop, 64); - } - - //doDamage(projectileDamage, mop); - //((EntityLivingBase)mop).setVelocity(this.motionX*2, ((EntityLivingBase)mop).motionY+1.5, this.motionZ*2); - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "portal", posX, posY, posZ, -motionX, -motionY, -motionZ); - } - - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("isEntityTeleport", isEntityTeleport); - } - - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - isEntityTeleport = par1NBTTagCompound.getBoolean("isEntityTeleport"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WaterProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WaterProjectile.java deleted file mode 100644 index 8fa7704c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WaterProjectile.java +++ /dev/null @@ -1,107 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class WaterProjectile extends EnergyBlastProjectile -{ - public WaterProjectile(World par1World) - { - super(par1World); - } - - public WaterProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public WaterProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public WaterProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - //shootingEntity.attackEntityFrom(DamageSource.causePlayerDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); -// if(((EntityLivingBase)mop).isEntityUndead()) -// { -// doDamage((int)(projectileDamage*2),mop); -// }else -// { -// doDamage(projectileDamage, mop); -// } - if (((EntityLivingBase) mop).isImmuneToFire()) - { - doDamage(projectileDamage * 2, mop); - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionDrowning.id, 80, 1)); - } else - { - doDamage(projectileDamage, mop); - ((EntityLivingBase) mop).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionDrowning.id, 80, 0)); - } - - //((EntityLivingBase)mop).setVelocity(this.motionX*2, ((EntityLivingBase)mop).motionY+1.5, this.motionZ*2); - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "portal", posX, posY, posZ, -motionX, -motionY, -motionZ); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java deleted file mode 100644 index 46fa01d7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java +++ /dev/null @@ -1,110 +0,0 @@ -package WayofTime.alchemicalWizardry.common.entity.projectile; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class WindGustProjectile extends EnergyBlastProjectile -{ - public WindGustProjectile(World par1World) - { - super(par1World); - } - - public WindGustProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World, par2, par4, par6); - } - - public WindGustProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage) - { - super(par1World, par2EntityPlayer, damage); - } - - public WindGustProjectile(World par1World, EntityLivingBase par2EntityPlayer, int damage, int maxTicksInAir, double posX, double posY, double posZ, float rotationYaw, float rotationPitch) - { - super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); - } - - @Override - public DamageSource getDamageSource() - { - return DamageSource.causeMobDamage(shootingEntity); - } - - @Override - public void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) - { - return; - } - - this.onImpact(mop.entityHit); - } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { -// for(int i=-1;i<=1;i++) -// { -// for(int j=-1;j<=1;j++) -// { -// for(int k=-1;k<=1;k++) -// { -// if(worldObj.isAirBlock((int)this.posX+i, (int)this.posY+j, (int)this.posZ+k)) -// { -// worldObj.setBlock( (int)this.posX+i, (int)this.posY+j, (int)this.posZ+k,Block.fire.blockID); -// } -// } -// } -// } - } - - this.setDead(); - } - - @Override - public void onImpact(Entity mop) - { - if (mop == shootingEntity && ticksInAir > 3) - { - //shootingEntity.attackEntityFrom(DamageSource.causePlayerDamage(shootingEntity), 1); - this.setDead(); - } else - { - //doDamage(8 + d6(), mop); - if (mop instanceof EntityLivingBase) - { - //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - //((EntityLivingBase)mop).setFire(50); - //((EntityLivingBase)mop).setRevengeTarget(shootingEntity); -// if(((EntityLivingBase)mop).isEntityUndead()) -// { -// doDamage((int)(projectileDamage*2),mop); -// }else -// { -// doDamage(projectileDamage, mop); -// } - ((EntityLivingBase) mop).motionX = this.motionX * 2; - ((EntityLivingBase) mop).motionY = 1.5; - ((EntityLivingBase) mop).motionZ = this.motionZ * 2; - //((EntityLivingBase)mop).setVelocity(this.motionX*2, ((EntityLivingBase)mop).motionY+1.5, this.motionZ*2); - } - - //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); - } - - spawnHitParticles("magicCrit", 8); - this.setDead(); - } - - @Override - public void doFiringParticles() - { - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - SpellHelper.sendParticleToAllAround(worldObj, posX, posY, posZ, 30, worldObj.provider.dimensionId, "mobSpell", posX, posY, posZ, 1.0F, 1.0F, 1.0F); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/BloodMagicHarvestHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/BloodMagicHarvestHandler.java deleted file mode 100644 index fdf6e3c8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/BloodMagicHarvestHandler.java +++ /dev/null @@ -1,129 +0,0 @@ -package WayofTime.alchemicalWizardry.common.harvest; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler; - -public class BloodMagicHarvestHandler implements IHarvestHandler -{ - public boolean canHandleBlock(Block block) - { - return block == Blocks.wheat || block == Blocks.carrots || block == Blocks.potatoes || block == Blocks.nether_wart; - } - - public int getHarvestMeta(Block block) - { - if(block == Blocks.wheat) - { - return 7; - } - if(block == Blocks.carrots) - { - return 7; - } - if(block == Blocks.potatoes) - { - return 7; - } - if(block == Blocks.nether_wart) - { - return 3; - } - return 7; - } - - @Override - public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta) - { - if(!this.canHandleBlock(block) || meta != this.getHarvestMeta(block)) - { - return false; - } - - IPlantable seed = this.getSeedItem(block); - - if(seed == null) - { - return false; - } - - int fortune = 0; - - List list = block.getDrops(world, xCoord, yCoord, zCoord, meta, fortune); - boolean foundAndRemovedSeed = false; - - for(ItemStack stack : list) - { - if(stack == null) - { - continue; - } - - Item item = stack.getItem(); - if(item == seed) - { - int itemSize = stack.stackSize; - if(itemSize > 1) - { - stack.stackSize--; - foundAndRemovedSeed = true; - break; - }else if(itemSize == 1) - { - list.remove(stack); - foundAndRemovedSeed = true; - break; - } - } - } - - if(foundAndRemovedSeed) - { - int plantMeta = seed.getPlantMetadata(world, xCoord, yCoord, zCoord); - Block plantBlock = seed.getPlant(world, xCoord, yCoord, zCoord); - - world.func_147480_a(xCoord, yCoord, zCoord, false); - - world.setBlock(xCoord, yCoord, zCoord, plantBlock, plantMeta, 3); - - for(ItemStack stack : list) - { - EntityItem itemEnt = new EntityItem(world, xCoord, yCoord, zCoord, stack); - - world.spawnEntityInWorld(itemEnt); - } - } - - return false; - } - - public IPlantable getSeedItem(Block block) - { - if(block == Blocks.wheat) - { - return (IPlantable) Items.wheat_seeds; - } - if(block == Blocks.carrots) - { - return (IPlantable) Items.carrot; - } - if(block == Blocks.potatoes) - { - return (IPlantable) Items.potato; - } - if(block == Blocks.nether_wart) - { - return (IPlantable) Items.nether_wart; - } - - return null; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/CactusReedHarvestHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/CactusReedHarvestHandler.java deleted file mode 100644 index e80e3e4f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/CactusReedHarvestHandler.java +++ /dev/null @@ -1,39 +0,0 @@ -package WayofTime.alchemicalWizardry.common.harvest; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler; - -public class CactusReedHarvestHandler implements IHarvestHandler -{ - public boolean canHandleBlock(Block block) - { - return block == Blocks.reeds || block == Blocks.cactus; - } - - @Override - public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta) - { - if(!this.canHandleBlock(block)) - { - return false; - } - - if(world.getBlock(xCoord, yCoord-1, zCoord) != block || world.getBlock(xCoord, yCoord-2, zCoord) != block) - { - return false; - } - - world.func_147480_a(xCoord, yCoord, zCoord, true); - - return true; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GenericPamSeedlessFruitHarvestHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GenericPamSeedlessFruitHarvestHandler.java deleted file mode 100644 index 42fa189c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GenericPamSeedlessFruitHarvestHandler.java +++ /dev/null @@ -1,74 +0,0 @@ -package WayofTime.alchemicalWizardry.common.harvest; - -import java.util.List; - -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler; - -public class GenericPamSeedlessFruitHarvestHandler implements IHarvestHandler -{ - public Block harvestBlock; - public int harvestMeta; - public int resetMeta; - - public GenericPamSeedlessFruitHarvestHandler(String block, int harvestMeta, int resetMeta) - { - this.harvestBlock = getBlockForString(block); - this.harvestMeta = harvestMeta; - this.resetMeta = resetMeta; - } - - public boolean isHarvesterValid() - { - return harvestBlock != null; - } - - public static Block getBlockForString(String str) - { - String[] parts = str.split(":"); - String modId = parts[0]; - String name = parts[1]; - return GameRegistry.findBlock(modId, name); - } - - public static Item getItemForString(String str) - { - String[] parts = str.split(":"); - String modId = parts[0]; - String name = parts[1]; - return GameRegistry.findItem(modId, name); - } - - public boolean canHandleBlock(Block block) - { - return block == harvestBlock; - } - - public int getHarvestMeta(Block block) - { - return harvestMeta; - } - - @Override - public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta) - { - if(!this.canHandleBlock(block) || meta != this.getHarvestMeta(block)) - { - return false; - } - - world.func_147480_a(xCoord, yCoord, zCoord, true); - - world.setBlock(xCoord, yCoord, zCoord, harvestBlock, resetMeta, 3); - - return true; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GenericSeededHarvestHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GenericSeededHarvestHandler.java deleted file mode 100644 index daea729c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GenericSeededHarvestHandler.java +++ /dev/null @@ -1,139 +0,0 @@ -package WayofTime.alchemicalWizardry.common.harvest; - -import java.util.List; - -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler; - -public class GenericSeededHarvestHandler implements IHarvestHandler -{ - public Block harvestBlock; - public int harvestMeta; - public IPlantable harvestSeed; - - public GenericSeededHarvestHandler(String block, int meta, String seed) - { - harvestBlock = getBlockForString(block); - harvestMeta = meta; - Item testSeed = getItemForString(seed); - if(testSeed instanceof IPlantable) - { - harvestSeed = (IPlantable)testSeed; - }else - { - harvestSeed = null; - } - } - - public boolean isHarvesterValid() - { - return harvestBlock != null && harvestSeed != null; - } - - public static Block getBlockForString(String str) - { - String[] parts = str.split(":"); - String modId = parts[0]; - String name = parts[1]; - return GameRegistry.findBlock(modId, name); - } - - public static Item getItemForString(String str) - { - String[] parts = str.split(":"); - String modId = parts[0]; - String name = parts[1]; - return GameRegistry.findItem(modId, name); - } - - public boolean canHandleBlock(Block block) - { - return block == harvestBlock; - } - - public int getHarvestMeta(Block block) - { - return harvestMeta; - } - - @Override - public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta) - { - if(!this.canHandleBlock(block) || meta != this.getHarvestMeta(block)) - { - return false; - } - - IPlantable seed = this.getSeedItem(block); - - if(seed == null) - { - world.func_147480_a(xCoord, yCoord, zCoord, true); - - return true; - }else - { - int fortune = 0; - - List list = block.getDrops(world, xCoord, yCoord, zCoord, meta, fortune); - boolean foundAndRemovedSeed = false; - - for(ItemStack stack : list) - { - if(stack == null) - { - continue; - } - - Item item = stack.getItem(); - if(item == seed) - { - int itemSize = stack.stackSize; - if(itemSize > 1) - { - stack.stackSize--; - foundAndRemovedSeed = true; - break; - }else if(itemSize == 1) - { - list.remove(stack); - foundAndRemovedSeed = true; - break; - } - } - } - - if(foundAndRemovedSeed) - { - int plantMeta = seed.getPlantMetadata(world, xCoord, yCoord, zCoord); - Block plantBlock = seed.getPlant(world, xCoord, yCoord, zCoord); - - world.func_147480_a(xCoord, yCoord, zCoord, false); - - world.setBlock(xCoord, yCoord, zCoord, plantBlock, plantMeta, 3); - - for(ItemStack stack : list) - { - EntityItem itemEnt = new EntityItem(world, xCoord, yCoord, zCoord, stack); - - world.spawnEntityInWorld(itemEnt); - } - } - - return false; - } - } - - public IPlantable getSeedItem(Block block) - { - return harvestSeed; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GourdHarvestHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GourdHarvestHandler.java deleted file mode 100644 index 4ea2b7dc..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/GourdHarvestHandler.java +++ /dev/null @@ -1,34 +0,0 @@ -package WayofTime.alchemicalWizardry.common.harvest; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler; - -public class GourdHarvestHandler implements IHarvestHandler -{ - public boolean canHandleBlock(Block block) - { - return block == Blocks.melon_block || block == Blocks.pumpkin; - } - - @Override - public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta) - { - if(!this.canHandleBlock(block)) - { - return false; - } - - world.func_147480_a(xCoord, yCoord, zCoord, true); - - return true; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/PamHarvestCompatRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/PamHarvestCompatRegistry.java deleted file mode 100644 index feff8da5..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/harvest/PamHarvestCompatRegistry.java +++ /dev/null @@ -1,125 +0,0 @@ -package WayofTime.alchemicalWizardry.common.harvest; - -import WayofTime.alchemicalWizardry.api.harvest.HarvestRegistry; - -public class PamHarvestCompatRegistry -{ - public static void registerPamHandlers() - { - registerSeededHandler("blackberry", 7); - registerSeededHandler("blueberry", 7); - registerSeededHandler("candleberry", 7); - registerSeededHandler("raspberry", 7); - registerSeededHandler("strawberry", 7); - registerSeededHandler("cactusfruit", 7); - registerSeededHandler("asparagus", 7); - registerSeededHandler("barley", 7); - registerSeededHandler("oats", 7); - registerSeededHandler("rye", 7); - registerSeededHandler("corn", 7); - registerSeededHandler("bambooshoot", 7); - registerSeededHandler("cantaloupe", 7); - registerSeededHandler("cucumber", 7); - registerSeededHandler("windersquash", 7); - registerSeededHandler("zucchini", 7); - registerSeededHandler("beat", 7); - registerSeededHandler("onion", 7); - registerSeededHandler("parsnip", 7); - registerSeededHandler("peanut", 7); - registerSeededHandler("radish", 7); - registerSeededHandler("rutabaga", 7); - registerSeededHandler("sweetpotato", 7); - registerSeededHandler("turnip", 7); - registerSeededHandler("rhubarb", 7); - registerSeededHandler("celery", 7); - registerSeededHandler("garlic", 7); - registerSeededHandler("ginger", 7); - registerSeededHandler("spiceleaf", 7); - registerSeededHandler("tealeaf", 7); - registerSeededHandler("coffeebean", 7); - registerSeededHandler("mustardseeds", 7); - registerSeededHandler("brocolli", 7); - registerSeededHandler("cauliflower", 7); - registerSeededHandler("leek", 7); - registerSeededHandler("lettuce", 7); - registerSeededHandler("scallion", 7); - registerSeededHandler("artichoke", 7); - registerSeededHandler("brusselsprout", 7); - registerSeededHandler("cabbage", 7); - registerSeededHandler("whitemushroom", 7); - registerSeededHandler("bean", 7); - registerSeededHandler("soybean", 7); - registerSeededHandler("bellpepper", 7); - registerSeededHandler("chili", 7); - registerSeededHandler("eggplant", 7); - registerSeededHandler("pamokra", 7); - registerSeededHandler("peas", 7); - registerSeededHandler("tomato", 7); - registerSeededHandler("cotton", 7); - registerSeededHandler("pineapple", 7); - registerSeededHandler("grape", 7); - registerSeededHandler("kiwi", 7); - registerSeededHandler("cranberry", 7); - registerSeededHandler("rice", 7); - registerSeededHandler("seaweed", 7); - - registerFruitHandler("apple", 7, 0); - registerFruitHandler("Almond", 7, 0); - registerFruitHandler("Apricot", 7, 0); - registerFruitHandler("Avocado", 7, 0); - registerFruitHandler("Banana", 7, 0); - registerFruitHandler("Cashew", 7, 0); - registerFruitHandler("Cherry", 7, 0); - registerFruitHandler("Chestnut", 7, 0); - registerFruitHandler("Cinnamon", 7, 0); - registerFruitHandler("Coconut", 7, 0); - registerFruitHandler("Date", 7, 0); - registerFruitHandler("Dragonfruit", 7, 0); - registerFruitHandler("Durian", 7, 0); - registerFruitHandler("Fig", 7, 0); - registerFruitHandler("Grapefruit", 7, 0); - registerFruitHandler("Lemon", 7, 0); - registerFruitHandler("Lime", 7, 0); - registerFruitHandler("Maple", 7, 0); - registerFruitHandler("Mango", 7, 0); - registerFruitHandler("Nutmeg", 7, 0); - registerFruitHandler("Olive", 7, 0); - registerFruitHandler("Orange", 7, 0); - registerFruitHandler("Papaya", 7, 0); - registerFruitHandler("Paperbark", 7, 0); - registerFruitHandler("Peach", 7, 0); - registerFruitHandler("Pear", 7, 0); - registerFruitHandler("Pecan", 7, 0); - registerFruitHandler("Peppercorn", 7, 0); - registerFruitHandler("Persimmon", 7, 0); - registerFruitHandler("Pistachio", 7, 0); - registerFruitHandler("Plum", 7, 0); - registerFruitHandler("Pomegranate", 7, 0); - registerFruitHandler("Starfruit", 7, 0); - registerFruitHandler("Vanillabean", 7, 0); - registerFruitHandler("Walnut", 7, 0); - } - - public static void registerSeededHandler(String name, int meta) - { - String block = "harvestcraft:pam" + name + "Crop"; - String seed = "harvestcraft:" + name + "Item"; - - GenericSeededHarvestHandler handler = new GenericSeededHarvestHandler(block, meta, seed); - if(handler.isHarvesterValid()) - { - HarvestRegistry.registerHarvestHandler(handler); - } - } - - public static void registerFruitHandler(String name, int harvestMeta, int resetMeta) - { - String block = "harvestcraft:pam" + name; - - GenericPamSeedlessFruitHarvestHandler handler = new GenericPamSeedlessFruitHarvestHandler(block, harvestMeta, resetMeta); - if(handler.isHarvesterValid()) - { - HarvestRegistry.registerHarvestHandler(handler); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/AWBaseItems.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/AWBaseItems.java deleted file mode 100644 index dd3e4a69..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/AWBaseItems.java +++ /dev/null @@ -1,44 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; - -public class AWBaseItems extends Item -{ - public AWBaseItems() - { - super(); - setMaxStackSize(64); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - public void registerIcons(IIconRegister iconRegister) - { - if (this.equals(ModItems.blankSlate)) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BlankSlate"); - } else if (this.equals(ModItems.reinforcedSlate)) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:ReinforcedSlate"); - } else if (this.equals(ModItems.imbuedSlate)) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:InfusedSlate"); - } else if (this.equals(ModItems.demonicSlate)) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DemonSlate"); - } - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Infused stone inside of"); - par3List.add("a blood altar"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java deleted file mode 100644 index 6c6c6fc2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java +++ /dev/null @@ -1,135 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import javax.swing.Icon; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -import org.lwjgl.input.Keyboard; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ActivationCrystal extends EnergyItems -{ - private static final String[] ACTIVATION_CRYSTAL_NAMES = new String[]{"Weak", "Awakened"}; - - @SideOnly(Side.CLIENT) - private IIcon[] icons; - - public ActivationCrystal() - { - super(); - this.maxStackSize = 1; - setEnergyUsed(100); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.hasSubtypes = true; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - icons = new IIcon[ACTIVATION_CRYSTAL_NAMES.length]; - - for (int i = 0; i < ACTIVATION_CRYSTAL_NAMES.length; ++i) - { - icons[i] = iconRegister.registerIcon("AlchemicalWizardry:" + "activationCrystal" + ACTIVATION_CRYSTAL_NAMES[i]); - } - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - switch (par1ItemStack.getItemDamage()) - { - case 0: - { - par3List.add("Activates low-level rituals"); - break; - } - - case 1: - { - par3List.add("Activates more powerful rituals"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - - break; - } - } - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - return par1ItemStack; - } - - public int getCrystalLevel(ItemStack itemStack) - { - return itemStack.getItemDamage() + 1; - } - - @Override - public String getUnlocalizedName(ItemStack itemStack) - { - //This is what will do all the localisation things on the alchemy components so you dont have to set it :D - int meta = MathHelper.clamp_int(itemStack.getItemDamage(), 0, ACTIVATION_CRYSTAL_NAMES.length - 1); - return ("" + "item.activationCrystal" + ACTIVATION_CRYSTAL_NAMES[meta]); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int meta) - { - int j = MathHelper.clamp_int(meta, 0, ACTIVATION_CRYSTAL_NAMES.length - 1); - return icons[j]; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item id, CreativeTabs creativeTab, List list) - { - for (int meta = 0; meta < ACTIVATION_CRYSTAL_NAMES.length; ++meta) - { - list.add(new ItemStack(id, 1, meta)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/AirScribeTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/AirScribeTool.java deleted file mode 100644 index 9f20b743..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/AirScribeTool.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AirScribeTool extends ScribeTool -{ - public AirScribeTool() - { - super(4); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:AirScribeTool"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ApprenticeBloodOrb.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ApprenticeBloodOrb.java deleted file mode 100644 index 3bc4a2eb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ApprenticeBloodOrb.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ApprenticeBloodOrb extends EnergyBattery -{ - public ApprenticeBloodOrb(int damage) - { - super(damage); - orbLevel = 2; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:ApprenticeBloodOrb"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ArchmageBloodOrb.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ArchmageBloodOrb.java deleted file mode 100644 index 6bd83098..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ArchmageBloodOrb.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ArchmageBloodOrb extends EnergyBattery -{ - public ArchmageBloodOrb(int damage) - { - super(damage); - orbLevel = 5; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:ArchmageBloodOrb"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ArmourInhibitor.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ArmourInhibitor.java deleted file mode 100644 index 1b42a0de..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ArmourInhibitor.java +++ /dev/null @@ -1,215 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import javax.swing.Icon; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ArmourInhibitor extends EnergyItems -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private int tickDelay = 200; - - public ArmourInhibitor() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(0); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used to suppress a soul's"); - par3List.add("unnatural abilities."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:ArmourInhibitor_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:ArmourInhibitor_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:ArmourInhibitor_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - -// @Override -// public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) -// { -// -// if(applyBonemeal(par1ItemStack,par3World,par4,par5,par6,par2EntityPlayer)) -// { -// if (par3World.isRemote) -// { -// par3World.playAuxSFX(2005, par4, par5, par6, 0); -// EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); -// return true; -// } -// return true; -// } -// return false; -// } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % tickDelay); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - //EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (par2World.getWorldTime() % tickDelay == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par3Entity instanceof EntityPlayer) - { - //EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer)par3Entity, getEnergyUsed()); - } - - //TODO Do stuff - par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionInhibit.id, 2, 0)); - } - - return; - } - -// @Override -// public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) { -// -// int range = 5; -// int verticalRange = 2; -// int posX = (int)Math.round(player.posX-0.5f); -// int posY = (int)player.posY; -// int posZ = (int)Math.round(player.posZ-0.5f); -// -// for(int ix=posX-range;ix<=posX+range;ix++) -// { -// for(int iz=posZ-range;iz<=posZ+range;iz++) -// { -// for(int iy=posY-verticalRange;iy<=posY+verticalRange;iy++) -// { -// int id = world.getBlockId(ix, iy, iz); -// Block block = Block.blocksList[id]; -// if(block instanceof IPlantable) -// { -// if(world.rand.nextInt(10)==0) -// block.updateTick(world, ix, iy, iz, world.rand); -// } -// } -// } -// } -// -// } - -// @Override -// public boolean isUpgrade() { -// // TODO Auto-generated method stub -// return true; -// } -// -// @Override -// public int getEnergyForTenSeconds() { -// // TODO Auto-generated method stub -// return 50; -// } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BlankSpell.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BlankSpell.java deleted file mode 100644 index 58c004d3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BlankSpell.java +++ /dev/null @@ -1,114 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEHomHeart; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlankSpell extends EnergyItems -{ - public BlankSpell() - { - super(); - this.setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BlankSpell"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Crystal of infinite possibilities."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - par3List.add("Coords: " + itemTag.getInteger("xCoord") + ", " + itemTag.getInteger("yCoord") + ", " + itemTag.getInteger("zCoord")); - par3List.add("Bound Dimension: " + getDimensionID(par1ItemStack)); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par2World.isRemote) - { - //World world = MinecraftServer.getServer().worldServers[getDimensionID(par1ItemStack)]; - World world = DimensionManager.getWorld(getDimensionID(par1ItemStack)); - - if (world != null) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - TileEntity tileEntity = world.getTileEntity(itemTag.getInteger("xCoord"), itemTag.getInteger("yCoord"), itemTag.getInteger("zCoord")); - - if (tileEntity instanceof TEHomHeart) - { - TEHomHeart homHeart = (TEHomHeart) tileEntity; - - if (homHeart.canCastSpell(par1ItemStack, par2World, par3EntityPlayer)) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, homHeart.castSpell(par1ItemStack, par2World, par3EntityPlayer)); - } else - { - return par1ItemStack; - } - } else - { - return par1ItemStack; - } - } else - { - return par1ItemStack; - } - } else - { - return par1ItemStack; - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); -// if (!par2World.isRemote) -// { -// //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); -// par2World.spawnEntityInWorld(new FireProjectile(par2World, par3EntityPlayer, 10)); -// } - return par1ItemStack; - } - - public int getDimensionID(ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - return itemStack.stackTagCompound.getInteger("dimensionId"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java deleted file mode 100644 index 43b5e5b8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java +++ /dev/null @@ -1,73 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BloodShard extends Item implements ArmourUpgrade -{ - public BloodShard() - { - super(); - this.maxStackSize = 64; - //setEnergyUsed(100); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - if (this.equals(ModItems.weakBloodShard)) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WeakBloodShard"); - return; - } - - if (this.equals(ModItems.demonBloodShard)) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DemonBloodShard"); - return; - } - } - - public int getBloodShardLevel() - { - if (this.equals(ModItems.weakBloodShard)) - { - return 1; - } else if (this.equals(ModItems.demonBloodShard)) - { - return 2; - } - - return 0; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - // TODO Auto-generated method stub - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BloodboundSword.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BloodboundSword.java deleted file mode 100644 index 07b4ac20..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BloodboundSword.java +++ /dev/null @@ -1,103 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BloodboundSword extends EnergyItems -{ - private float weaponDamage; - //private int maxMode = 3; - private NBTTagCompound data; - - public BloodboundSword(int id) - { - super(); - this.maxStackSize = 1; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setEnergyUsed(100); - setFull3D(); - weaponDamage = 10.0F; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergySword"); - } - - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - if (par3EntityLivingBase instanceof EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, (EntityPlayer) par3EntityLivingBase); - - if (!this.syphonBatteries(par1ItemStack, (EntityPlayer) par3EntityLivingBase, this.getEnergyUsed())) - { - //this.damagePlayer(null, (EntityPlayer)par3EntityLivingBase, (this.getEnergyUsed() + 99) / 100); - } - } - - return true; - } - - /* - public int getDamageVsEntity(Entity par1Entity) - { - return this.weaponDamage; - } - */ - - public float func_82803_g() - { - return 4.0F; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Caution: may cause"); - par3List.add("a bad day..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - public float getDigSpeed(ItemStack par1ItemStack, Block par2Block, int meta) - { - if (par2Block.equals(Blocks.web)) - { - return 15.0F; - } else - { - Material material = par2Block.getMaterial(); - return material != Material.plants && material != Material.vine && material != Material.coral && material != Material.leaves && material != Material.gourd ? 1.0F : 1.5F; - } - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return false; - } - -// public Multimap func_111205_h() -// { -// Multimap multimap = super.func_111205_h(); -// multimap.put(SharedMonsterAttributes.field_111264_e.func_111108_a(), new AttributeModifier(field_111210_e, "Weapon modifier", (double)this.weaponDamage, 0)); -// return multimap; -// } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java deleted file mode 100644 index 1baaab9a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java +++ /dev/null @@ -1,806 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.potion.Potion; -import net.minecraft.util.DamageSource; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import net.minecraftforge.common.util.Constants; -import thaumcraft.api.IGoggles; -import thaumcraft.api.IRunicArmor; -import thaumcraft.api.nodes.IRevealer; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaArmour; -import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@Optional.InterfaceList(value = {@Interface(iface="thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft"), @Interface(iface="thaumcraft.api.IGoggles", modid = "Thaumcraft"), @Interface(iface="thaumcraft.api.IRunicArmor", modid = "Thaumcraft")}) -public class BoundArmour extends ItemArmor implements IAlchemyGoggles,ISpecialArmor,IBindable ,IRevealer, IGoggles, IRunicArmor -{ - private static int invSize = 9; - private static IIcon helmetIcon; - private static IIcon plateIcon; - private static IIcon leggingsIcon; - private static IIcon bootsIcon; - - private static final boolean tryComplexRendering = true; - - public BoundArmour(int armorType) - { - super(ItemArmor.ArmorMaterial.GOLD, 0, armorType); - setMaxDamage(1000); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - ModelBiped model1 = null; - ModelBiped model2 = null; - ModelBiped model = null; - - @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) - { - if(tryComplexRendering) - { - int type = ((ItemArmor)itemStack.getItem()).armorType; - if(this.model1 == null) - { - this.model1 = new ModelOmegaArmour(1.0f, true, true, false, true); - } - if(this.model2 == null) - { - this.model2 = new ModelOmegaArmour(0.5f, false, false, true, false); - } - - if(type == 1 || type == 3 || type == 0) - { - this.model = model1; - }else - { - this.model = model2; - } - - if(this.model != null) - { - this.model.bipedHead.showModel = (type == 0); - this.model.bipedHeadwear.showModel = (type == 0); - this.model.bipedBody.showModel = ((type == 1) || (type == 2)); - this.model.bipedLeftArm.showModel = (type == 1); - this.model.bipedRightArm.showModel = (type == 1); - this.model.bipedLeftLeg.showModel = (type == 2 || type == 3); - this.model.bipedRightLeg.showModel = (type == 2 || type == 3); - this.model.isSneak = entityLiving.isSneaking(); - - this.model.isRiding = entityLiving.isRiding(); - this.model.isChild = entityLiving.isChild(); - - this.model.aimedBow = false; - this.model.heldItemRight = (entityLiving.getHeldItem() != null ? 1 : 0); - - if ((entityLiving instanceof EntityPlayer)) - { - if (((EntityPlayer)entityLiving).getItemInUseDuration() > 0) - { - EnumAction enumaction = ((EntityPlayer)entityLiving).getItemInUse().getItemUseAction(); - if (enumaction == EnumAction.block) - { - this.model.heldItemRight = 3; - } else if (enumaction == EnumAction.bow) - { - this.model.aimedBow = true; - } - } - } - } - - return model; - - }else - { - return super.getArmorModel(entityLiving, itemStack, armorSlot); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundHelmet"); - this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundPlate"); - this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundLeggings"); - this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundBoots"); - } - - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (this.equals(ModItems.boundHelmet)) - { - return this.helmetIcon; - } - - if (this.equals(ModItems.boundPlate)) - { - return this.plateIcon; - } - - if (this.equals(ModItems.boundLeggings)) - { - return this.leggingsIcon; - } - - if (this.equals(ModItems.boundBoots)) - { - return this.bootsIcon; - } - - return this.itemIcon; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return false; - } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) - { - double armourReduction = 0.0; - - if(player.isPotionActive(AlchemicalWizardry.customPotionSoulFray)) - { - int i = player.getActivePotionEffect(AlchemicalWizardry.customPotionSoulFray).getAmplifier() + 1; - - armourReduction = (i+1)*0.1; - } - - double damageAmount = 0.25; - - if(player.isPotionActive(AlchemicalWizardry.customPotionSoulHarden)) - { - int i = player.getActivePotionEffect(AlchemicalWizardry.customPotionSoulHarden).getAmplifier() + 1; - damageAmount /= Math.max((1 - i*0.1), 0.1); - }else - { - damageAmount *= 0.9; - } - - damageAmount *= (1.0-armourReduction); - - int maxAbsorption = 100000; - - if (source.equals(DamageSource.drown)) - { - return new ArmorProperties(-1, 0, 0); - } - - if (source.equals(DamageSource.outOfWorld)) - { - if (isImmuneToVoid(armor)) - { - return new ArmorProperties(-1, damageAmount, maxAbsorption); - } else - { - return new ArmorProperties(-1, 0, 0); - } - } - - ItemStack helmet = player.getEquipmentInSlot(4); - ItemStack plate = player.getEquipmentInSlot(3); - ItemStack leggings = player.getEquipmentInSlot(2); - ItemStack boots = player.getEquipmentInSlot(1); - - if (helmet == null || plate == null || leggings == null || boots == null) - { - return new ArmorProperties(-1, 0, 0); - } - - if (helmet.getItem().equals(ModItems.boundHelmet) && plate.getItem().equals(ModItems.boundPlate) && leggings.getItem().equals(ModItems.boundLeggings) && boots.getItem().equals(ModItems.boundBoots)) - { - if (source.isUnblockable()) - { - return new ArmorProperties(-1, damageAmount * 0.9d, maxAbsorption); - } - - return new ArmorProperties(-1, damageAmount, maxAbsorption); - } - - return new ArmorProperties(-1, 0, 0); - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) - { - if (armor.equals(ModItems.boundHelmet)) - { - return 3; - } - - if (armor.equals(ModItems.boundPlate)) - { - return 8; - } - - if (armor.equals(ModItems.boundLeggings)) - { - return 6; - } - - if (armor.equals(ModItems.boundBoots)) - { - return 3; - } - - return 5; - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) - { - if (entity instanceof EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(stack, (EntityPlayer) entity); - - if (((EntityPlayer) entity).capabilities.isCreativeMode) - { - return; - } - - //EnergyItems.syphonBatteries(stack, (EntityPlayer)entity, 200); - } - - stack.setItemDamage(stack.getItemDamage() + damage); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Devilish Protection"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - ItemStack[] inv = getInternalInventory(par1ItemStack); - - if (inv == null) - { - return; - } - - for (int i = 0; i < invSize; i++) - { - if (inv[i] != null) - { - par3List.add("Item in slot " + i + ": " + inv[i].getDisplayName()); - } - } - } - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) - { - if(this.tryComplexRendering) - { - return "alchemicalwizardry:models/armor/BloodArmour_WIP.png"; - } - - if (entity instanceof EntityLivingBase) - { - if (this.getIsInvisible(stack)) - { - if (this== ModItems.boundHelmet || this == ModItems.boundPlate || this == ModItems.boundBoots) - { - return "alchemicalwizardry:models/armor/boundArmour_invisible_layer_1.png"; - } - - if (this == ModItems.boundLeggings) - { - return "alchemicalwizardry:models/armor/boundArmour_invisible_layer_2.png"; - } - } - } - - if (this == ModItems.boundHelmet || this == ModItems.boundPlate || this == ModItems.boundBoots) - { - return "alchemicalwizardry:models/armor/boundArmour_layer_1.png"; - } - - if (this == ModItems.boundLeggings) - { - return "alchemicalwizardry:models/armor/boundArmour_layer_2.png"; - } else - { - return null; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - return super.onItemRightClick(par1ItemStack, par2World, par3EntityPlayer); - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - int maxBloodLevel = getMaxBloodShardLevel(itemStack); - ItemStack[] inv = getInternalInventory(itemStack); - - if (inv != null) - { - int iSize = 0; - int iBlood = 0; - } - - if (!player.isPotionActive(AlchemicalWizardry.customPotionInhibit)) - { - tickInternalInventory(itemStack, world, player, 0, false); - } - - this.setIsInvisible(itemStack, player.isPotionActive(Potion.invisibility.id)); - - if (itemStack.getItemDamage() > 0) - { - EnergyItems.checkAndSetItemOwner(itemStack, player); - - if (!player.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(itemStack, player, itemStack.getItemDamage() * 75); - itemStack.setItemDamage(0); - } - } - - return; - } - - public void tickInternalInventory(ItemStack par1ItemStack, World par2World, EntityPlayer par3Entity, int par4, boolean par5) - { - ItemStack[] inv = getInternalInventory(par1ItemStack); - - if (inv == null) - { - return; - } - - int blood = getMaxBloodShardLevel(par1ItemStack); - - //int blood = 1; - for (int i = 0; i < invSize; i++) - { - if (inv[i] == null) - { - continue; - } - - if (inv[i].getItem() instanceof ArmourUpgrade && blood > 0) - { - if (((ArmourUpgrade) inv[i].getItem()).isUpgrade()) - { - ((ArmourUpgrade) inv[i].getItem()).onArmourUpdate(par2World, par3Entity, inv[i]); - blood--; - } - - if (par2World.getWorldTime() % 200 == 0) - { - if (getUpgradeCostMultiplier(par1ItemStack) > 0.02f) - { - EnergyItems.syphonBatteries(par1ItemStack, par3Entity, (int) (((ArmourUpgrade) inv[i].getItem()).getEnergyForTenSeconds() * getUpgradeCostMultiplier(par1ItemStack))); - } - } - } - } - } - - public int getMaxBloodShardLevel(ItemStack armourStack) - { - ItemStack[] inv = getInternalInventory(armourStack); - - if (inv == null) - { - return 0; - } - - int max = 0; - - for (int i = 0; i < invSize; i++) - { - ItemStack itemStack = inv[i]; - - if (itemStack != null) - { - if (itemStack.getItem().equals(ModItems.weakBloodShard)) - { - max = Math.max(max, 1); - } - - if (itemStack.getItem().equals(ModItems.demonBloodShard)) - { - max = Math.max(max, 2); - } - } - } - - return max; - } - - public boolean hasAddedToInventory(ItemStack sigilItemStack, ItemStack addedItemStack) - { - ItemStack[] inv = getInternalInventory(sigilItemStack); - - if (inv == null) - { - return false; - } - - if (addedItemStack == null) - { - return false; - } - - Item item = addedItemStack.getItem(); - int candidateSlot = -1; - - for (int i = invSize - 1; i >= 0; i--) - { - ItemStack nextItem = inv[i]; - - if (nextItem == null) - { - candidateSlot = i; - continue; - } - } - - if (candidateSlot == -1) - { - return false; - } - - if (addedItemStack.getItem() instanceof ArmourUpgrade) - { - inv[candidateSlot] = addedItemStack; - saveInternalInventory(sigilItemStack, inv); - return true; - } - - return false; - } - - public ItemStack[] getInternalInventory(ItemStack itemStack) - { - NBTTagCompound itemTag = itemStack.stackTagCompound; - - if (itemTag == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - itemTag = itemStack.stackTagCompound; - - ItemStack[] inv = new ItemStack[9]; - NBTTagList tagList = itemTag.getTagList("Inventory", Constants.NBT.TAG_COMPOUND); - - if (tagList == null) - { - return null; - } - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < invSize) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - return inv; - } - - public void saveInternalInventory(ItemStack itemStack, ItemStack[] inventory) - { - NBTTagCompound itemTag = itemStack.stackTagCompound; - - if (itemTag == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < invSize; i++) - { - ItemStack stack = inventory[i]; - - if (inventory[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inventory[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - itemTag.setTag("Inventory", itemList); - } - - public boolean isImmuneToVoid(ItemStack itemStack) - { - ItemStack[] inv = getInternalInventory(itemStack); - - if (inv == null) - { - return false; - } - - for (ItemStack item : inv) - { - if (item == null) - { - continue; - } - - if (item.getItem().equals(ModItems.voidSigil)) - { - return true; - } - } - - return false; - } - - @Optional.Method(modid = "Thaumcraft") - public boolean hasIRevealer(ItemStack itemStack) - { - ItemStack[] inv = getInternalInventory(itemStack); - - if (inv == null) - { - return false; - } - - for (ItemStack item : inv) - { - if (item == null) - { - continue; - } - - if (item.getItem() instanceof IRevealer) - { - return true; - } - } - - return false; - } - - @Optional.Method(modid = "Thaumcraft") - public boolean hasIGoggles(ItemStack itemStack) - { - ItemStack[] inv = getInternalInventory(itemStack); - - if (inv == null) - { - return false; - } - - for (ItemStack item : inv) - { - if (item == null) - { - continue; - } - - if (item.getItem() instanceof IGoggles) - { - return true; - } - } - - return false; - } - - public float getUpgradeCostMultiplier(ItemStack itemStack) - { - ItemStack[] inv = getInternalInventory(itemStack); - - if (inv == null) - { - return 1.0f; - } - - for (ItemStack item : inv) - { - if (item == null) - { - continue; - } - - if (item.getItem().equals(ModItems.weakBloodOrb)) - { - return 0.75f; - } - - if (item.getItem().equals(ModItems.apprenticeBloodOrb)) - { - return 0.50f; - } - - if (item.getItem().equals(ModItems.magicianBloodOrb)) - { - return 0.25f; - } - - if (item.getItem().equals(ModItems.masterBloodOrb)) - { - return 0.0f; - } - - if (item.getItem().equals(ModItems.archmageBloodOrb)) - { - return 0.0f; - } - } - - return 1.0f; - } - - public int getItemEnchantability() - { - return 0; - } - - public boolean getIsInvisible(ItemStack armourStack) - { - NBTTagCompound tag = armourStack.getTagCompound(); - if(tag != null) - { - return tag.getBoolean("invisible"); - } - - return false; - } - - public void setIsInvisible(ItemStack armourStack, boolean invisible) - { - NBTTagCompound tag = armourStack.getTagCompound(); - - if(tag == null) - { - armourStack.setTagCompound(new NBTTagCompound()); - tag = armourStack.getTagCompound(); - } - - tag.setBoolean("invisible", invisible); - } - - @Override - @Optional.Method(modid = "Thaumcraft") - public boolean showNodes(ItemStack itemstack, EntityLivingBase player) - { - return this.hasIRevealer(itemstack); - } - - @Override - @Optional.Method(modid = "Thaumcraft") - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) - { - return this.hasIGoggles(itemstack); - } - - @Override - @Optional.Method(modid = "Thaumcraft") - public int getRunicCharge(ItemStack itemstack) - { - ItemStack[] inv = this.getInternalInventory(itemstack); - int shardLevel = this.getMaxBloodShardLevel(itemstack); - int count = 0; - int harden = 0; - - if(inv == null) - { - return 0; - } - - for(ItemStack stack : inv) - { - if(count >= shardLevel) - { - break; - } - - if(stack == null || !(stack.getItem() instanceof ArmourUpgrade)) - { - continue; - } - - if(stack.getItem() instanceof ItemArmor && ((ItemArmor)stack.getItem()).armorType != this.armorType) - { - continue; - } - - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound(); - - int enchLvl = tag.getByte("RS.HARDEN"); - - if(stack.getItem() instanceof IRunicArmor) - { - enchLvl += ((IRunicArmor)stack.getItem()).getRunicCharge(stack); - } - - if(enchLvl > 0) - { - harden += enchLvl; - if(((ArmourUpgrade)stack.getItem()).isUpgrade()) - { - count += 1; - } - } - } - } - - return harden; - } - - @Override - public boolean showIngameHUD(World world, ItemStack stack, EntityPlayer player) - { - ItemStack[] inv = getInternalInventory(stack); - - if (inv == null) - { - return false; - } - - for (ItemStack item : inv) - { - if (item == null) - { - continue; - } - - if (item.getItem().equals(ModItems.itemSeerSigil)) - { - return true; - } - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java deleted file mode 100644 index e6d0a770..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java +++ /dev/null @@ -1,360 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.ArrayList; -import java.util.List; - -import javax.swing.Icon; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockLeavesBase; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.IIcon; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.enchantment.EnchantmentHelper; - -public class BoundAxe extends ItemAxe implements IBindable -{ - /** - * Array of blocks the tool has extra effect against. - */ - public static final Block[] blocksEffectiveAgainst = new Block[]{Blocks.planks, Blocks.bookshelf, Blocks.log, Blocks.chest, Blocks.stone_slab, Blocks.pumpkin, Blocks.lit_pumpkin}; - - public float efficiencyOnProperMaterial = 12.0F; - - /** - * Damage versus entities. - */ - public float damageVsEntity; - - private static IIcon activeIcon; - private static IIcon passiveIcon; - - private int energyUsed; - - public BoundAxe() - { - super(AlchemicalWizardry.bloodBoundToolMaterial); - this.maxStackSize = 1; - //this.setMaxDamage(par3EnumToolMaterial.getMaxUses()); - this.efficiencyOnProperMaterial = 12.0F; - this.damageVsEntity = 5; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setEnergyUsed(5); - } - - public void setEnergyUsed(int i) - { - energyUsed = i; - } - - public int getEnergyUsed() - { - return this.energyUsed; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Axe me about my puns!"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundAxe_activated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundAxe_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - this.setActivated(par1ItemStack, !getActivated(par1ItemStack)); - par1ItemStack.stackTagCompound.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - return par1ItemStack; - } - - if (!getActivated(par1ItemStack) || SpellHelper.isFakePlayer(par2World, par3EntityPlayer)) - { - return par1ItemStack; - } - - if (par3EntityPlayer.isPotionActive(AlchemicalWizardry.customPotionInhibit)) - { - return par1ItemStack; - } - - Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer); - int posX = (int)(blockVec.xCoord); - int posY = (int)(blockVec.yCoord); - int posZ = (int)(blockVec.zCoord); - boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(par3EntityPlayer); - int fortuneLvl = EnchantmentHelper.getFortuneModifier(par3EntityPlayer); - - for (int i = -5; i <= 5; i++) - { - for (int j = 0; j <= 10; j++) - { - for (int k = -5; k <= 5; k++) - { - Block block = par2World.getBlock(posX + i, posY + j, posZ + k); - int meta = par2World.getBlockMetadata(posX + i, posY + j, posZ + k); - - if (block != null) - { - float str = func_150893_a(par1ItemStack, block); - - if (str > 1.1f || block instanceof BlockLeavesBase && par2World.canMineBlock(par3EntityPlayer, posX + i, posY + j, posZ + k)) - { - //par1ItemStack.getEnchantmentTagList(); - if (silkTouch) - { - ItemStack droppedItem = new ItemStack(block, 1, meta); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityItem(par2World, posX, posY + par3EntityPlayer.getEyeHeight(), posZ, droppedItem)); - } - } else - { - ArrayList itemDropList = block.getDrops(par2World, posX + i, posY + j, posZ + k, meta, fortuneLvl); - - if (itemDropList != null) - { - for (ItemStack item : itemDropList) - { - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityItem(par2World, posX, posY + par3EntityPlayer.getEyeHeight(), posZ, item)); - } - } - } - } - - par2World.setBlockToAir(posX + i, posY + j, posZ + k); - } - } - } - } - } - - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000); - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - -// if(par1ItemStack.stackTagCompound.getBoolean("isActive")) -// { -// EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 1); -// } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20); - } - } - - par1ItemStack.setItemDamage(0); - return; - } - - public void setActivated(ItemStack par1ItemStack, boolean newActivated) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setBoolean("isActive", newActivated); - } - - public boolean getActivated(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getBoolean("isActive"); - } - - /** - * Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if - * sword - */ - @Override - public float func_150893_a(ItemStack par1ItemStack, Block par2Block) - { - if (!getActivated(par1ItemStack)) - { - return 0.0F; - } - - return super.func_150893_a(par1ItemStack, par2Block); - } - - /** - * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise - * the damage on the stack. - */ - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - if (!getActivated(par1ItemStack)) - { - return false; - } - - //par1ItemStack.damageItem(2, par3EntityLivingBase); - return true; - } - - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block par3, int par4, int par5, int par6, EntityLivingBase par7EntityLivingBase) - { - if ((double) par3.getBlockHardness(par2World, par4, par5, par6) != 0.0D) - { - //par1ItemStack.damageItem(1, par7EntityLivingBase); - } - - return true; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns True is the item is renderer in full 3D when hold. - */ - public boolean isFull3D() - { - return true; - } - - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - @Override - public int getItemEnchantability() - { - return 30; - } - - /** - * Return whether this item is repairable in an anvil. - */ -// public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) -// { -// return true; -// } - - /** - * FORGE: Overridden to allow custom tool effectiveness - */ - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) - { - if (!getActivated(stack)) - { - return 0.0F; - } - - if (ForgeHooks.isToolEffective(stack, block, meta)) - { - return efficiencyOnProperMaterial; - } - - return func_150893_a(stack, block); - } - - @Override - public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) - { - return !getActivated(stack); - } - - @Override - public int getHarvestLevel(ItemStack stack, String toolClass) - { - if("axe".equals(toolClass)) - { - return 5; - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java deleted file mode 100644 index 922f59f9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java +++ /dev/null @@ -1,376 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.IIcon; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.enchantment.EnchantmentHelper; - -public class BoundPickaxe extends ItemPickaxe implements IBindable -{ - /** - * Array of blocks the tool has extra effect against. - */ - // public static final Block[] blocksEffectiveAgainst = new Block[]{Blocks.cobblestone, Blocks.stoneDoubleSlab, Blocks.stoneSingleSlab, Block.stone, Block.sandStone, Block.cobblestoneMossy, Block.oreIron, Block.blockIron, Block.oreCoal, Block.blockGold, Block.oreGold, Block.oreDiamond, Block.blockDiamond, Block.ice, Block.netherrack, Block.oreLapis, Block.blockLapis, Block.oreRedstone, Block.oreRedstoneGlowing, Block.rail, Block.railDetector, Block.railPowered, Block.railActivator}; - - public float efficiencyOnProperMaterial = 12.0F; - - /** - * Damage versus entities. - */ - public float damageVsEntity; - - private static IIcon activeIcon; - private static IIcon passiveIcon; - - private int energyUsed; - - public BoundPickaxe() - { - super(AlchemicalWizardry.bloodBoundToolMaterial); - this.maxStackSize = 1; - //this.setMaxDamage(par3EnumToolMaterial.getMaxUses()); - this.efficiencyOnProperMaterial = 12.0F; - this.damageVsEntity = 5; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setEnergyUsed(5); - } - - public void setEnergyUsed(int i) - { - energyUsed = i; - } - - public int getEnergyUsed() - { - return this.energyUsed; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("The Souls of the Damned"); - par3List.add("do not like stone..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundPickaxe_activated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundPickaxe_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - this.setActivated(par1ItemStack, !getActivated(par1ItemStack)); - par1ItemStack.stackTagCompound.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - return par1ItemStack; - } - - if (!getActivated(par1ItemStack) || SpellHelper.isFakePlayer(par2World, par3EntityPlayer)) - { - return par1ItemStack; - } - - if (par3EntityPlayer.isPotionActive(AlchemicalWizardry.customPotionInhibit)) - { - return par1ItemStack; - } - - if(par2World.isRemote) - { - return par1ItemStack; - } - - Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer); - int posX = (int)(blockVec.xCoord); - int posY = (int)(blockVec.yCoord); - int posZ = (int)(blockVec.zCoord); - boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(par3EntityPlayer); - int fortuneLvl = EnchantmentHelper.getFortuneModifier(par3EntityPlayer); - - for (int i = -5; i <= 5; i++) - { - for (int j = -5; j <= 5; j++) - { - for (int k = -5; k <= 5; k++) - { - Block block = par2World.getBlock(posX + i, posY + j, posZ + k); - int meta = par2World.getBlockMetadata(posX + i, posY + j, posZ + k); - - if (block != null && block.getBlockHardness(par2World, posX + i, posY + j, posZ + k) != -1) - { - float str = func_150893_a(par1ItemStack, block); - - if (str > 1.1f && par2World.canMineBlock(par3EntityPlayer, posX + i, posY + j, posZ + k)) - { - //par1ItemStack.getEnchantmentTagList(); - if (silkTouch) - { - ItemStack droppedItem = new ItemStack(block, 1, meta); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityItem(par2World, posX, posY + par3EntityPlayer.getEyeHeight(), posZ, droppedItem)); - } - } else - { - ArrayList itemDropList = block.getDrops(par2World, posX + i, posY + j, posZ + k, meta, fortuneLvl); - - if (itemDropList != null) - { - for (ItemStack item : itemDropList) - { - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityItem(par2World, posX, posY + par3EntityPlayer.getEyeHeight(), posZ, item)); - } - } - } - } - - par2World.setBlockToAir(posX + i, posY + j, posZ + k); - } - } - } - } - } - - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000); - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - -// if(par1ItemStack.stackTagCompound.getBoolean("isActive")) -// { -// EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 1); -// } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20); - } - } - - par1ItemStack.setItemDamage(0); - return; - } - - public void setActivated(ItemStack par1ItemStack, boolean newActivated) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setBoolean("isActive", newActivated); - } - - public boolean getActivated(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getBoolean("isActive"); - } - - /** - * Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if - * sword - */ - @Override - public float func_150893_a(ItemStack par1ItemStack, Block par2Block) //getStrVsBlock - { - if (!getActivated(par1ItemStack)) - { - return 0.0F; - } - - return super.func_150893_a(par1ItemStack, par2Block); - } - - /** - * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise - * the damage on the stack. - */ - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - if (!getActivated(par1ItemStack)) - { - return false; - } - - //par1ItemStack.damageItem(2, par3EntityLivingBase); - return true; - } - - @Override - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block par3, int par4, int par5, int par6, EntityLivingBase par7EntityLivingBase) - { - - if (par7EntityLivingBase instanceof EntityPlayer) - { - EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer) par7EntityLivingBase, getEnergyUsed()); - } - - //TODO Possibly add better functionality for the items? - //par7EntityLivingBase.getLookVec(); - return true; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns True is the item is renderer in full 3D when hold. - */ - public boolean isFull3D() - { - return true; - } - - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - @Override - public int getItemEnchantability() - { - return 30; - } - - /** - * Return whether this item is repairable in an anvil. - */ -// public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) -// { -// return false; -// } - - /** - * FORGE: Overridden to allow custom tool effectiveness - */ - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) - { - if (!getActivated(stack)) - { - return 0.0F; - } - - if (ForgeHooks.isToolEffective(stack, block, meta)) - { - return efficiencyOnProperMaterial; - } - - return func_150893_a(stack, block); - } - -// @Override -// -// /** -// * Returns if the item (tool) can harvest results from the block type. -// */ -// public boolean func_150897_b(Block par1Block) //canHarvestBlock -// { -// return par1Block == Blocks.obsidian ? true : (par1Block != Blocks.diamond_block && par1Block != Blocks.diamond_ore ? (par1Block != Blocks.emerald_ore && par1Block != Blocks.emerald_block ? (par1Block != Blocks.gold_block && par1Block != Blocks.gold_ore ? (par1Block != Blocks.iron_block && par1Block != Blocks.iron_ore ? (par1Block != Blocks.lapis_block && par1Block != Blocks.lapis_ore ? (par1Block != Blocks.redstone_ore && par1Block != Blocks.oreRedstoneGlowing ? (par1Block.getMaterial() == Material.rock ? true : (par1Block.blockMaterial == Material.iron ? true : par1Block.blockMaterial == Material.anvil)) : true) : true) : true) : true) : true) : true); -// } - - @Override - public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) - { - return !getActivated(stack); - } - - @Override - public int getHarvestLevel(ItemStack stack, String toolClass) - { - if("pickaxe".equals(toolClass)) - { - return 5; - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java deleted file mode 100644 index df65ebcb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java +++ /dev/null @@ -1,367 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.IIcon; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import net.minecraft.enchantment.EnchantmentHelper; - -import com.google.common.collect.Multimap; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BoundShovel extends ItemSpade implements IBindable -{ - /** - * Array of blocks the tool has extra effect against. - */ - //public static final Block[] blocksEffectiveAgainst = new Block[]{Block.grass, Block.dirt, Block.sand, Block.gravel, Block.snow, Block.blockSnow, Block.blockClay, Block.tilledField, Block.slowSand, Block.mycelium}; - - public float efficiencyOnProperMaterial = 12.0F; - - /** - * Damage versus entities. - */ - public float damageVsEntity; - - private static IIcon activeIcon; - private static IIcon passiveIcon; - - private int energyUsed; - - public BoundShovel() - { - super(AlchemicalWizardry.bloodBoundToolMaterial); - this.maxStackSize = 1; - //this.setMaxDamage(par3EnumToolMaterial.getMaxUses()); - this.efficiencyOnProperMaterial = 12.0F; - this.damageVsEntity = 5; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setEnergyUsed(5); - } - - public void setEnergyUsed(int i) - { - energyUsed = i; - } - - public int getEnergyUsed() - { - return this.energyUsed; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("No, not that type of spade."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundShovel_activated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundShovel_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - this.setActivated(par1ItemStack, !getActivated(par1ItemStack)); - par1ItemStack.stackTagCompound.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - return par1ItemStack; - } - - if (!getActivated(par1ItemStack) || SpellHelper.isFakePlayer(par2World, par3EntityPlayer)) - { - return par1ItemStack; - } - - if (par3EntityPlayer.isPotionActive(AlchemicalWizardry.customPotionInhibit)) - { - return par1ItemStack; - } - - Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer); - int posX = (int)(blockVec.xCoord); - int posY = (int)(blockVec.yCoord); - int posZ = (int)(blockVec.zCoord); - boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(par3EntityPlayer); - int fortuneLvl = EnchantmentHelper.getFortuneModifier(par3EntityPlayer); - - for (int i = -5; i <= 5; i++) - { - for (int j = 0; j <= 10; j++) - { - for (int k = -5; k <= 5; k++) - { - Block block = par2World.getBlock(posX + i, posY + j, posZ + k); - int meta = par2World.getBlockMetadata(posX + i, posY + j, posZ + k); - - if (block != null) - { - float str = func_150893_a(par1ItemStack, block); - - if (str > 1.1f && par2World.canMineBlock(par3EntityPlayer, posX + i, posY + j, posZ + k)) - { - //par1ItemStack.getEnchantmentTagList(); - if (silkTouch) - { - ItemStack droppedItem = new ItemStack(block, 1, meta); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityItem(par2World, posX, posY + par3EntityPlayer.getEyeHeight(), posZ, droppedItem)); - } - } else - { - ArrayList itemDropList = block.getDrops(par2World, posX + i, posY + j, posZ + k, meta, fortuneLvl); - - if (itemDropList != null) - { - for (ItemStack item : itemDropList) - { - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityItem(par2World, posX, posY + par3EntityPlayer.getEyeHeight(), posZ, item)); - } - } - } - } - - par2World.setBlockToAir(posX + i, posY + j, posZ + k); - } - } - } - } - } - - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000); - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - -// if(par1ItemStack.stackTagCompound.getBoolean("isActive")) -// { -// EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 1); -// } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20); - } - } - - par1ItemStack.setItemDamage(0); - return; - } - - public void setActivated(ItemStack par1ItemStack, boolean newActivated) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setBoolean("isActive", newActivated); - } - - public boolean getActivated(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getBoolean("isActive"); - } - - /** - * Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if - * sword - */ - @Override - public float func_150893_a(ItemStack par1ItemStack, Block par2Block) - { - if (!getActivated(par1ItemStack)) - { - return 0.0F; - } - - return super.func_150893_a(par1ItemStack, par2Block); - } - - /** - * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise - * the damage on the stack. - */ - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - if (!getActivated(par1ItemStack)) - { - return false; - } - - //par1ItemStack.damageItem(2, par3EntityLivingBase); - return true; - } - - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLivingBase par7EntityLivingBase) - { - return true; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns True is the item is renderer in full 3D when hold. - */ - public boolean isFull3D() - { - return true; - } - - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - public int getItemEnchantability() - { - return 30; - } - - /** - * Return whether this item is repairable in an anvil. - */ -// public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) -// { -// return false; -// } - @Override - public Multimap getItemAttributeModifiers() - { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", (double) this.damageVsEntity, 0)); - return multimap; - } - - /** - * FORGE: Overridden to allow custom tool effectiveness - */ - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) - { - if (!getActivated(stack)) - { - return 0.0F; - } - - if (ForgeHooks.isToolEffective(stack, block, meta)) - { - return efficiencyOnProperMaterial; - } - - return func_150893_a(stack, block); - } -// -// public boolean canHarvestBlock(Block par1Block) -// { -// return par1Block == Block.snow ? true : par1Block == Block.blockSnow; -// } - - @Override - public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) - { - return !getActivated(stack); - } - - @Override - public int getHarvestLevel(ItemStack stack, String toolClass) - { - if("shovel".equals(toolClass)) - { - return 5; - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java deleted file mode 100644 index 8b44398d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java +++ /dev/null @@ -1,254 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class CheatyItem extends Item implements IBindable -{ - // private int maxEssence; - //protected int orbLevel; - - public CheatyItem() - { - super(); - DamageSource damageSource = DamageSource.generic; - setMaxStackSize(1); - //setMaxDamage(damage); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - //setFull3D(); - //maxEssence = damage; - //orbLevel = 1; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBattery"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Creative only"); - par3List.add("Right-click to fill network,"); - par3List.add("shift-right to empty."); - - //par3List.add("LP: " + (this.getMaxDamage() - this.getDamage(par1ItemStack))); - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); -// EntityPlayer owner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(par1ItemStack.stackTagCompound.getString("ownerName")); -// if(owner!=null) -// { -// NBTTagCompound tag = owner.getEntityData(); -// par3List.add("LP: " + tag.getInteger("currentEssence")); -// } - } - - //par3List.add("LP: " + par2EntityPlayer.getEntityData().getInteger("currentEssence")); - } - - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - World world = par3EntityPlayer.worldObj; - - if (par3EntityPlayer instanceof FakePlayer) - { - return par1ItemStack; - } - - if (world != null) - { - double posX = par3EntityPlayer.posX; - double posY = par3EntityPlayer.posY; - double posZ = par3EntityPlayer.posZ; - world.playSoundEffect((double) ((float) posX + 0.5F), (double) ((float) posY + 0.5F), (double) ((float) posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 4, posX, posY, posZ); - } - - if (!par3EntityPlayer.worldObj.isRemote) - { - return par1ItemStack; - } - - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null || itemTag.getString("ownerName").equals("")) - { - return par1ItemStack; - } - - if (par3EntityPlayer.isSneaking()) - { - EnergyItems.setCurrentEssence(itemTag.getString("ownerName"), 0); - } else - { - EnergyItems.addEssenceToMaximum(itemTag.getString("ownerName"), 1000000, Integer.MAX_VALUE); - } - - //PacketDispatcher.sendPacketToPlayer(PacketHandler.getPacket(itemTag.getString("ownerName")), (Player)par3EntityPlayer); -// EntityPlayer owner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(itemTag.getString("ownerName")); -// if(owner==null){return par1ItemStack;} -// NBTTagCompound ownerTag = owner.getEntityData(); -// if(ownerTag.getInteger("currentEssence")<=this.maxEssence) -// { -// damagePlayer(par2World, par3EntityPlayer,2); -// ownerTag.setInteger("currentEssence", Math.min(this.maxEssence, ownerTag.getInteger("currentEssence")+200/2)); -// } - return par1ItemStack; - } - - /* - * @return the damage that was not deducted - */ - public int damageItem(ItemStack par1ItemStack, int par2int) - { - if (par2int == 0) - { - return 0; - } - - int before = this.getDamage(par1ItemStack); - this.setDamage(par1ItemStack, this.getDamage(par1ItemStack) + par2int); - return par2int - (this.getDamage(par1ItemStack) - before); - } - - protected void damagePlayer(World world, EntityPlayer player, int damage) - { - if (world != null) - { - double posX = player.posX; - double posY = player.posY; - double posZ = player.posZ; - world.playSoundEffect((double) ((float) posX + 0.5F), (double) ((float) posY + 0.5F), (double) ((float) posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); - float f = (float) 1.0F; - float f1 = f * 0.6F + 0.4F; - float f2 = f * f * 0.7F - 0.5F; - float f3 = f * f * 0.6F - 0.7F; - - for (int l = 0; l < 8; ++l) - { - world.spawnParticle("reddust", posX + Math.random() - Math.random(), posY + Math.random() - Math.random(), posZ + Math.random() - Math.random(), f1, f2, f3); - } - } - - if (!player.capabilities.isCreativeMode) - { - for (int i = 0; i < damage; i++) - { - player.setHealth((player.getHealth() - 1)); - //player.setEntityHealth(player.func_110143_aJ() - 1); - } - } - - if (player.getHealth() <= 0) - { - player.inventory.dropAllItems(); - } - } - -// public int getMaxEssence() -// { -// return this.maxEssence; -// } -// -// public int getOrbLevel() -// { -// return orbLevel; -// } -// -// @Override -// public void onArmourUpdate(World world, EntityPlayer player, -// ItemStack thisItemStack) { -// // TODO Auto-generated method stub -// -// } -// -// @Override -// public boolean isUpgrade() -// { -// // TODO Auto-generated method stub -// return false; -// } -// -// @Override -// public int getEnergyForTenSeconds() -// { -// // TODO Auto-generated method stub -// return 0; -// } - - @Override - public ItemStack getContainerItem(ItemStack itemStack) - { - //if(!syphonBatteries(itemStack, null, 10)) - { - //syphonWhileInContainer(itemStack, this.getEnergyUsed()); -// ItemStack copiedStack = itemStack.copy(); -// copiedStack.setItemDamage(copiedStack.getItemDamage()); -// copiedStack.stackSize = 1; -// return copiedStack; - } - return itemStack; - } - - @Override - public boolean hasContainerItem() - { - return true; - } - - //@SideOnly(Side.SERVER) - public int getCurrentEssence(ItemStack par1ItemStack) - { - if (par1ItemStack == null) - { - return 0; - } - - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null || itemTag.getString("ownerName").equals("")) - { - return 0; - } - - String owner = itemTag.getString("ownerName"); - World worldSave = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); - - if (data == null) - { - data = new LifeEssenceNetwork(owner); - worldSave.setItemData(owner, data); - } - - int currentEssence = data.currentEssence; - return (currentEssence); - } - - @Override - public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemStack) - { - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java deleted file mode 100644 index a2569610..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java +++ /dev/null @@ -1,268 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.boss.EntityDragon; -import net.minecraft.entity.boss.EntityWither; -import net.minecraft.entity.boss.IBossDisplayData; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityVillager; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; - -import com.google.common.collect.Multimap; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class DaggerOfSacrifice extends EnergyItems -{ - private float weaponDamage; - - public DaggerOfSacrifice() - { - super(); - this.maxStackSize = 1; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setEnergyUsed(100); - setFull3D(); - setMaxDamage(100); - weaponDamage = 1.0F; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DaggerOfSacrifice"); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - if (par3EntityLivingBase == null || par2EntityLivingBase == null || par3EntityLivingBase.worldObj.isRemote || (par3EntityLivingBase instanceof EntityPlayer && SpellHelper.isFakePlayer(par3EntityLivingBase.worldObj, (EntityPlayer) par3EntityLivingBase))) - { - return false; - } - - //EntityWither d; - if (par2EntityLivingBase.isChild() || par2EntityLivingBase instanceof EntityWither || par2EntityLivingBase instanceof EntityDragon || par2EntityLivingBase instanceof EntityPlayer || par2EntityLivingBase instanceof IBossDisplayData) - { - return false; - } - - World world = par2EntityLivingBase.worldObj; - - if (par2EntityLivingBase.isDead || par2EntityLivingBase.getHealth() < 0.5f) - { - return false; - } - - if (par2EntityLivingBase instanceof EntityVillager && !par2EntityLivingBase.isChild()) - { - if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 2000)) - { - double posX = par2EntityLivingBase.posX; - double posY = par2EntityLivingBase.posY; - double posZ = par2EntityLivingBase.posZ; - - - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 1, posX, posY, posZ); - } - - par2EntityLivingBase.setHealth(-1); - par2EntityLivingBase.onDeath(DamageSource.generic); - return false; - } - } - - if (par2EntityLivingBase instanceof EntitySlime && !par2EntityLivingBase.isChild()) - { - if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 150)) - { - double posX = par2EntityLivingBase.posX; - double posY = par2EntityLivingBase.posY; - double posZ = par2EntityLivingBase.posZ; - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 1, posX, posY, posZ); - } - - par2EntityLivingBase.setHealth(-1); - par2EntityLivingBase.onDeath(DamageSource.generic); - return false; - } - } - - if (par2EntityLivingBase instanceof EntityEnderman && !par2EntityLivingBase.isChild()) - { - if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 200)) - { - double posX = par2EntityLivingBase.posX; - double posY = par2EntityLivingBase.posY; - double posZ = par2EntityLivingBase.posZ; - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 1, posX, posY, posZ); - } - - par2EntityLivingBase.setHealth(-1); - par2EntityLivingBase.onDeath(DamageSource.generic); - return false; - } - } - - if (par2EntityLivingBase instanceof EntityAnimal && !par2EntityLivingBase.isChild()) - { - if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 250)) - { - double posX = par2EntityLivingBase.posX; - double posY = par2EntityLivingBase.posY; - double posZ = par2EntityLivingBase.posZ; - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 1, posX, posY, posZ); - } - - par2EntityLivingBase.setHealth(-1); - par2EntityLivingBase.onDeath(DamageSource.generic); - return false; - } - } - - if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 500)) - { - double posX = par2EntityLivingBase.posX; - double posY = par2EntityLivingBase.posY; - double posZ = par2EntityLivingBase.posZ; - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 1, posX, posY, posZ); - } - - par2EntityLivingBase.setHealth(-1); - par2EntityLivingBase.onDeath(DamageSource.generic); - return false; - } - - return false; - } - - public float func_82803_g() - { - return 4.0F; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Caution: may cause"); - par3List.add("a bad day..."); - } - - @Override - public float func_150893_a(ItemStack par1ItemStack, Block par2Block) - { - if (par2Block == Blocks.web) - { - return 15.0F; - } else - { - Material material = par2Block.getMaterial(); - return material != Material.plants && material != Material.vine && material != Material.coral && material != Material.leaves && material != Material.gourd ? 1.0F : 1.5F; - } - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return false; - } - - @Override - - public Multimap getItemAttributeModifiers() - { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", 1.0d, 0)); - return multimap; - } - - public boolean findAndFillAltar(World world, EntityLivingBase sacrifice, int amount) - { - int posX = (int) Math.round(sacrifice.posX - 0.5f); - int posY = (int) sacrifice.posY; - int posZ = (int) Math.round(sacrifice.posZ - 0.5f); - TEAltar altarEntity = this.getAltar(world, posX, posY, posZ); - - if (altarEntity == null) - { - return false; - } - - altarEntity.sacrificialDaggerCall(amount, true); - altarEntity.startCycle(); - return true; - } - - public TEAltar getAltar(World world, int x, int y, int z) - { - TileEntity tileEntity = null; - - for (int i = -2; i <= 2; i++) - { - for (int j = -2; j <= 2; j++) - { - for (int k = -2; k <= 1; k++) - { - tileEntity = world.getTileEntity(i + x, k + y, j + z); - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - } - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - } - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - } - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java deleted file mode 100644 index 6708cd74..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java +++ /dev/null @@ -1,277 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -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.entity.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityList.EntityEggInfo; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.Facing; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityDemon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class DemonPlacer extends Item -{ - @SideOnly(Side.CLIENT) - private IIcon theIcon; - - public DemonPlacer() - { - super(); - this.setHasSubtypes(true); - this.setCreativeTab(CreativeTabs.tabMisc); - this.maxStackSize = 1; - } - - public String getItemDisplayName(ItemStack par1ItemStack) - { -// String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim(); -// String s1 = EntityList.getStringFromID(par1ItemStack.getItemDamage()); -// -// if (s1 != null) -// { -// s = s + " " + StatCollector.translateToLocal("entity." + s1 + ".name"); -// } -// -// return s; - return "Demon Crystal"; - } - - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack par1ItemStack, int par2) - { - EntityEggInfo entityegginfo = (EntityEggInfo) EntityList.entityEggs.get(Integer.valueOf(par1ItemStack.getItemDamage())); - return entityegginfo != null ? (par2 == 0 ? entityegginfo.primaryColor : entityegginfo.secondaryColor) : 16777215; - } - - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - if (par3World.isRemote) - { - return true; - } else - { - Block i1 = par3World.getBlock(par4, par5, par6); - par4 += Facing.offsetsXForSide[par7]; - par5 += Facing.offsetsYForSide[par7]; - par6 += Facing.offsetsZForSide[par7]; - double d0 = 0.0D; - - if (par7 == 1 && i1 != null && i1.getRenderType() == 11) - { - d0 = 0.5D; - } - - Entity entity = spawnCreature(par3World, par1ItemStack.getItemDamage(), (double) par4 + 0.5D, (double) par5 + d0, (double) par6 + 0.5D, par1ItemStack); - - if (entity != null) - { - if (entity instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) - { - ((EntityLiving) entity).setCustomNameTag(par1ItemStack.getDisplayName()); - } - - if (!par2EntityPlayer.capabilities.isCreativeMode) - { - --par1ItemStack.stackSize; - } - } - - return true; - } - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (par2World.isRemote) - { - return par1ItemStack; - } else - { - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); - - if (movingobjectposition == null) - { - return par1ItemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) - { - return par1ItemStack; - } - - if (par2World.getBlock(i, j, k).getMaterial() == Material.water) - { - Entity entity = spawnCreature(par2World, par1ItemStack.getItemDamage(), (double) i, (double) j, (double) k, par1ItemStack); - - if (entity != null) - { - if (entity instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) - { - ((EntityLiving) entity).setCustomNameTag(par1ItemStack.getDisplayName()); - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - --par1ItemStack.stackSize; - } - } - } - } - - return par1ItemStack; - } - } - } - - /** - * Spawns the creature specified by the egg's type in the location specified by the last three parameters. - * Parameters: world, entityID, x, y, z. - */ - public static Entity spawnCreature(World par0World, int par1, double par2, double par4, double par6, ItemStack itemStack) - { -// if (!EntityList.entityEggs.containsKey(Integer.valueOf(par1))) -// { -// return null; -// } -// else - { - Entity entity = null; - - for (int j = 0; j < 1; ++j) - { - entity = SummoningRegistry.getEntityWithID(par0World, par1); - - if (entity != null && entity instanceof EntityLivingBase) - { - EntityLiving entityliving = (EntityLiving) entity; - entity.setLocationAndAngles(par2, par4, par6, MathHelper.wrapAngleTo180_float(par0World.rand.nextFloat() * 360.0F), 0.0F); - entityliving.rotationYawHead = entityliving.rotationYaw; - entityliving.renderYawOffset = entityliving.rotationYaw; - - //entityliving.onSpawnWithEgg((EntityLivingData)null); - if (entityliving instanceof EntityDemon) - { - ((EntityDemon) entityliving).func_152115_b(DemonPlacer.getOwnerName(itemStack)); - - if (!DemonPlacer.getOwnerName(itemStack).equals("")) - { - ((EntityDemon) entityliving).setTamed(true); - } - } - - par0World.spawnEntityInWorld(entity); - entityliving.playLivingSound(); - } - } - - return entity; - } - } - -// @SideOnly(Side.CLIENT) -// public boolean requiresMultipleRenderPasses() -// { -// return true; -// } - -// @SideOnly(Side.CLIENT) -// -// /** -// * Gets an icon index based on an item's damage value and the given render pass -// */ -// public Icon getIconFromDamageForRenderPass(int par1, int par2) -// { -// return par2 > 0 ? this.theIcon : super.getIconFromDamageForRenderPass(par1, par2); -// } - -// @SideOnly(Side.CLIENT) -// -// /** -// * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) -// */ -// public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) -// { -// Iterator iterator = EntityList.entityEggs.values().iterator(); -// -// while (iterator.hasNext()) -// { -// EntityEggInfo entityegginfo = (EntityEggInfo)iterator.next(); -// par3List.add(new ItemStack(par1, 1, entityegginfo.spawnedID)); -// } -// } - - public static void setOwnerName(ItemStack par1ItemStack, String ownerName) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.stackTagCompound.setString("ownerName", ownerName); - } - - public static String getOwnerName(ItemStack par1ItemStack) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return par1ItemStack.stackTagCompound.getString("ownerName"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used to spawn demons."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Demon's Owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DemonPlacer"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DemonicTelepositionFocus.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DemonicTelepositionFocus.java deleted file mode 100644 index d26de12d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DemonicTelepositionFocus.java +++ /dev/null @@ -1,47 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class DemonicTelepositionFocus extends TelepositionFocus -{ - public DemonicTelepositionFocus() - { - super(4); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - //TODO - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DemonicTeleposerFocus"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("A stronger version of the focus,"); - par3List.add("using a demonic shard"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - par3List.add("Coords: " + itemTag.getInteger("xCoord") + ", " + itemTag.getInteger("yCoord") + ", " + itemTag.getInteger("zCoord")); - par3List.add("Bound Dimension: " + getDimensionID(par1ItemStack)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DuskScribeTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DuskScribeTool.java deleted file mode 100644 index ddbdbfe9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/DuskScribeTool.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class DuskScribeTool extends ScribeTool -{ - public DuskScribeTool() - { - super(5); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DuskScribeTool"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EarthScribeTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EarthScribeTool.java deleted file mode 100644 index 290c6f91..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EarthScribeTool.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EarthScribeTool extends ScribeTool -{ - public EarthScribeTool() - { - super(3); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EarthScribeTool"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java deleted file mode 100644 index e935437e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java +++ /dev/null @@ -1,252 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EnergyBattery extends Item implements ArmourUpgrade, IBindable, IBloodOrb -{ - private int maxEssence; - protected int orbLevel; - - public EnergyBattery(int damage) - { - super(); - DamageSource damageSource = DamageSource.generic; - setMaxStackSize(1); - //setMaxDamage(damage); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - //setFull3D(); - maxEssence = damage; - orbLevel = 1; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBattery"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Stores raw Life Essence"); - - //par3List.add("LP: " + (this.getMaxDamage() - this.getDamage(par1ItemStack))); - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); -// EntityPlayer owner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(par1ItemStack.stackTagCompound.getString("ownerName")); -// if(owner!=null) -// { -// NBTTagCompound tag = owner.getEntityData(); -// par3List.add("LP: " + tag.getInteger("currentEssence")); -// } - } - - //par3List.add("LP: " + par2EntityPlayer.getEntityData().getInteger("currentEssence")); - } - - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - World world = par3EntityPlayer.worldObj; - -// if (par3EntityPlayer instanceof FakePlayer || par3EntityPlayer instanceof EntityPlayerMP) -// { -// return par1ItemStack; -// } - - if (world != null) - { - double posX = par3EntityPlayer.posX; - double posY = par3EntityPlayer.posY; - double posZ = par3EntityPlayer.posZ; - world.playSoundEffect((double) ((float) posX + 0.5F), (double) ((float) posY + 0.5F), (double) ((float) posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 4, posX, posY, posZ); - } - -// if (!(par3EntityPlayer.getClass().equals(EntityPlayerMP.class))) -// { -// return par1ItemStack; -// } - - - -// if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) -// { -// return par1ItemStack; -// } - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null || itemTag.getString("ownerName").equals("")) - { - return par1ItemStack; - } - - if(world.isRemote) - { - return par1ItemStack; - } - - EnergyItems.addEssenceToMaximum(itemTag.getString("ownerName"), 200, this.getMaxEssence()); - EnergyItems.hurtPlayer(par3EntityPlayer, 200); - //PacketDispatcher.sendPacketToPlayer(PacketHandler.getPacket(itemTag.getString("ownerName")), (Player)par3EntityPlayer); -// EntityPlayer owner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(itemTag.getString("ownerName")); -// if(owner==null){return par1ItemStack;} -// NBTTagCompound ownerTag = owner.getEntityData(); -// if(ownerTag.getInteger("currentEssence")<=this.maxEssence) -// { -// damagePlayer(par2World, par3EntityPlayer,2); -// ownerTag.setInteger("currentEssence", Math.min(this.maxEssence, ownerTag.getInteger("currentEssence")+200/2)); -// } - return par1ItemStack; - } - - /* - * @return the damage that was not deducted - */ - public int damageItem(ItemStack par1ItemStack, int par2int) - { - if (par2int == 0) - { - return 0; - } - - int before = this.getDamage(par1ItemStack); - this.setDamage(par1ItemStack, this.getDamage(par1ItemStack) + par2int); - return par2int - (this.getDamage(par1ItemStack) - before); - } - - protected void damagePlayer(World world, EntityPlayer player, int damage) - { - if (world != null) - { - double posX = player.posX; - double posY = player.posY; - double posZ = player.posZ; - world.playSoundEffect((double) ((float) posX + 0.5F), (double) ((float) posY + 0.5F), (double) ((float) posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); - float f = (float) 1.0F; - float f1 = f * 0.6F + 0.4F; - float f2 = f * f * 0.7F - 0.5F; - float f3 = f * f * 0.6F - 0.7F; - - for (int l = 0; l < 8; ++l) - { - world.spawnParticle("reddust", posX + Math.random() - Math.random(), posY + Math.random() - Math.random(), posZ + Math.random() - Math.random(), f1, f2, f3); - } - } - - if (!player.capabilities.isCreativeMode) - { - for (int i = 0; i < damage; i++) - { - player.setHealth((player.getHealth() - 1)); - //player.setEntityHealth(player.func_110143_aJ() - 1); - } - } - - if (player.getHealth() <= 0) - { - player.inventory.dropAllItems(); - } - } - - public int getMaxEssence() - { - return this.maxEssence; - } - - public int getOrbLevel() - { - return orbLevel; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - } - - @Override - public boolean isUpgrade() - { - return false; - } - - @Override - public int getEnergyForTenSeconds() - { - return 0; - } - - @Override - public ItemStack getContainerItem(ItemStack itemStack) - { - //if(!syphonBatteries(itemStack, null, 10)) - { - //syphonWhileInContainer(itemStack, this.getEnergyUsed()); -// ItemStack copiedStack = itemStack.copy(); -// copiedStack.setItemDamage(copiedStack.getItemDamage()); -// copiedStack.stackSize = 1; -// return copiedStack; - } - return itemStack; - } - - @Override - public boolean hasContainerItem() - { - return true; - } - - //@SideOnly(Side.SERVER) - public int getCurrentEssence(ItemStack par1ItemStack) - { - if (par1ItemStack == null) - { - return 0; - } - - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null || itemTag.getString("ownerName").equals("")) - { - return 0; - } - - String owner = itemTag.getString("ownerName"); - World worldSave = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); - - if (data == null) - { - data = new LifeEssenceNetwork(owner); - worldSave.setItemData(owner, data); - } - - int currentEssence = data.currentEssence; - return (currentEssence); - } - - @Override - public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemStack) - { - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBazooka.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBazooka.java deleted file mode 100644 index be0eddc2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBazooka.java +++ /dev/null @@ -1,219 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityEnergyBazookaMainProjectile; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EnergyBazooka extends EnergyItems -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private static int damage; - //private static int delay; - private static final int maxDelay = 150; - - public EnergyBazooka() - { - super(); - setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setFull3D(); - setMaxDamage(250); - this.setEnergyUsed(20000); - damage = 12; - //delay = 0; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - this.setActivated(par1ItemStack, !getActivated(par1ItemStack)); - par1ItemStack.stackTagCompound.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 100); - return par1ItemStack; - } - - if (!getActivated(par1ItemStack)) - { - return par1ItemStack; - } - - if (this.getDelay(par1ItemStack) > 0) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - this.syphonBatteries(par1ItemStack, par3EntityPlayer, this.getEnergyUsed()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EntityEnergyBazookaMainProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new EntityEnergyBazookaMainProjectile(par2World, par3EntityPlayer, damage)); - this.setDelay(par1ItemStack, maxDelay); - } - - Vec3 vec = par3EntityPlayer.getLookVec(); - double wantedVelocity = 3.0f; - par3EntityPlayer.motionX = -vec.xCoord * wantedVelocity; - par3EntityPlayer.motionY = -vec.yCoord * wantedVelocity; - par3EntityPlayer.motionZ = -vec.zCoord * wantedVelocity; - par2World.playSoundEffect((double) ((float) par3EntityPlayer.posX + 0.5F), (double) ((float) par3EntityPlayer.posY + 0.5F), (double) ((float) par3EntityPlayer.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (par2World.rand.nextFloat() - par2World.rand.nextFloat()) * 0.8F); - par3EntityPlayer.fallDistance = 0; - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - -// if(par1ItemStack.stackTagCompound.getBoolean("isActive")) -// { -// EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 1); -// } - int delay = this.getDelay(par1ItemStack); - - if (!par2World.isRemote && delay > 0) - { - this.setDelay(par1ItemStack, delay - 1); - } - - if (par2World.getWorldTime() % 100 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 50); - } - } - - par1ItemStack.setItemDamage(0); - return; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Boom."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - public void setActivated(ItemStack par1ItemStack, boolean newActivated) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setBoolean("isActive", newActivated); - } - - public boolean getActivated(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getBoolean("isActive"); - } - - public void setDelay(ItemStack par1ItemStack, int newDelay) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setInteger("delay", newDelay); - } - - public int getDelay(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getInteger("delay"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBlast.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBlast.java deleted file mode 100644 index 298c950d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyBlast.java +++ /dev/null @@ -1,214 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.entity.projectile.EnergyBlastProjectile; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EnergyBlast extends EnergyItems -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private static int damage; - //private static int delay; - private static final int maxDelay = 15; - - public EnergyBlast() - { - super(); - setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setUnlocalizedName("energyBlaster"); - setFull3D(); - setMaxDamage(250); - this.setEnergyUsed(150); - damage = 12; - //delay = 0; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - this.setActivated(par1ItemStack, !getActivated(par1ItemStack)); - par1ItemStack.stackTagCompound.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 100); - return par1ItemStack; - } - - if (!getActivated(par1ItemStack)) - { - return par1ItemStack; - } - - if (this.getDelay(par1ItemStack) > 0) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - this.syphonBatteries(par1ItemStack, par3EntityPlayer, this.getEnergyUsed()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - this.setDelay(par1ItemStack, maxDelay); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - -// if(par1ItemStack.stackTagCompound.getBoolean("isActive")) -// { -// EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 1); -// } - int delay = this.getDelay(par1ItemStack); - - if (!par2World.isRemote && delay > 0) - { - this.setDelay(par1ItemStack, delay - 1); - } - - if (par2World.getWorldTime() % 100 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 50); - } - } - - par1ItemStack.setItemDamage(0); - return; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used to fire devastating"); - par3List.add("projectiles."); - par3List.add("Damage: " + damage); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - public void setActivated(ItemStack par1ItemStack, boolean newActivated) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setBoolean("isActive", newActivated); - } - - public boolean getActivated(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getBoolean("isActive"); - } - - public void setDelay(ItemStack par1ItemStack, int newDelay) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setInteger("delay", newDelay); - } - - public int getDelay(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getInteger("delay"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java deleted file mode 100644 index 88b7ef89..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java +++ /dev/null @@ -1,366 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class EnergyItems extends Item implements IBindable -{ - private int energyUsed; - - public EnergyItems() - { - super(); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - protected void setEnergyUsed(int par1int) - { - this.energyUsed = par1int; - } - - protected int getEnergyUsed() - { - return this.energyUsed; - } - //Heals the player using the item. If the player is at full health, or if the durability cannot be used any more, - //the item is not used. - - protected void damagePlayer(World world, EntityPlayer player, int damage) - { - if (world != null) - { - double posX = player.posX; - double posY = player.posY; - double posZ = player.posZ; - world.playSoundEffect((double) ((float) posX + 0.5F), (double) ((float) posY + 0.5F), (double) ((float) posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); - float f = (float) 1.0F; - float f1 = f * 0.6F + 0.4F; - float f2 = f * f * 0.7F - 0.5F; - float f3 = f * f * 0.6F - 0.7F; - - for (int l = 0; l < 8; ++l) - { - world.spawnParticle("reddust", posX + Math.random() - Math.random(), posY + Math.random() - Math.random(), posZ + Math.random() - Math.random(), f1, f2, f3); - } - } - - for (int i = 0; i < damage; i++) - { - //player.setEntityHealth((player.getHealth()-1)); - player.setHealth((player.getHealth() - 1)); - - if (player.getHealth() <= 0.0005) - { - player.inventory.dropAllItems(); - break; - } - } - } - - public static boolean syphonBatteries(ItemStack ist, EntityPlayer player, int damageToBeDone) - { - if (!player.worldObj.isRemote) - { - return syphonAndDamageWhileInContainer(ist, player, damageToBeDone); - } else - { - World world = player.worldObj; - - if (world != null) - { - double posX = player.posX; - double posY = player.posY; - double posZ = player.posZ; - //if(particles) - { - SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 4, posX, posY, posZ); - world.playSoundEffect((double) ((float) player.posX + 0.5F), (double) ((float) player.posY + 0.5F), (double) ((float) player.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); - } - } - } - - return true; - //return syphonBatteriesWithoutParticles(ist, player, damageToBeDone, true); - } - - public static boolean syphonWhileInContainer(ItemStack ist, int damageToBeDone) - { - if (ist.getTagCompound() != null && !(ist.getTagCompound().getString("ownerName").equals(""))) - { - String ownerName = ist.getTagCompound().getString("ownerName"); - - if (MinecraftServer.getServer() == null) - { - return false; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - if (data.currentEssence >= damageToBeDone) - { - data.currentEssence -= damageToBeDone; - data.markDirty(); - return true; - } - -// EntityPlayer ownerEntity = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(ist.getTagCompound().getString("ownerName")); -// if(ownerEntity==null){return false;} -// NBTTagCompound tag = ownerEntity.getEntityData(); -// int currentEssence = tag.getInteger("currentEssence"); -// if(currentEssence>=damageToBeDone) -// { -// tag.setInteger("currentEssence", currentEssence-damageToBeDone); -// return true; -// } - } - - return false; - } - - public static boolean canSyphonInContainer(ItemStack ist, int damageToBeDone) - { - if (ist.getTagCompound() != null && !(ist.getTagCompound().getString("ownerName").equals(""))) - { - String ownerName = ist.getTagCompound().getString("ownerName"); - - if (MinecraftServer.getServer() == null) - { - return false; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - return data.currentEssence >= damageToBeDone; -// EntityPlayer ownerEntity = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(ist.getTagCompound().getString("ownerName")); -// if(ownerEntity==null){return false;} -// NBTTagCompound tag = ownerEntity.getEntityData(); -// int currentEssence = tag.getInteger("currentEssence"); -// if(currentEssence>=damageToBeDone) -// { -// tag.setInteger("currentEssence", currentEssence-damageToBeDone); -// return true; -// } - } - - return false; - } - - public static void hurtPlayer(EntityPlayer user, int energySyphoned) - { - if (energySyphoned < 100 && energySyphoned > 0) - { - if (!user.capabilities.isCreativeMode) - { - //player.setEntityHealth((player.getHealth()-1)); - user.setHealth((user.getHealth() - 1)); - - if (user.getHealth() <= 0.0005f) - { - user.onDeath(DamageSource.generic); - - } - } - } else if (energySyphoned >= 100) - { - if (!user.capabilities.isCreativeMode) - { - for (int i = 0; i < ((energySyphoned + 99) / 100); i++) - { - //player.setEntityHealth((player.getHealth()-1)); - user.setHealth((user.getHealth() - 1)); - - if (user.getHealth() <= 0.0005f) - { - user.onDeath(DamageSource.generic); - break; - } - } - } - } - } - - public static boolean syphonAndDamageWhileInContainer(ItemStack ist, EntityPlayer player, int damageToBeDone) - { - if (!syphonWhileInContainer(ist, damageToBeDone)) - { - hurtPlayer(player, damageToBeDone); - } - - return true; - } - - //Global static methods - public static void checkAndSetItemOwner(ItemStack item, EntityPlayer player) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - if (item.stackTagCompound.getString("ownerName").equals("")) - { - item.stackTagCompound.setString("ownerName", SoulNetworkHandler.getUsername(player)); - } - - initializePlayer(player); - } - - public static void setItemOwner(ItemStack item, String ownerName) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - item.stackTagCompound.setString("ownerName", ownerName); - } - - public static void checkAndSetItemOwner(ItemStack item, String ownerName) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - if (item.stackTagCompound.getString("ownerName").equals("")) - { - item.stackTagCompound.setString("ownerName", ownerName); - } - } - - public static void initializePlayer(EntityPlayer player) - { - NBTTagCompound tag = player.getEntityData(); - - if (tag.getInteger("currentEssence") == 0) - { - tag.setInteger("currentEssence", 0); - } - } - - public static String getOwnerName(ItemStack item) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - return item.stackTagCompound.getString("ownerName"); - } - - public static void drainPlayerNetwork(EntityPlayer player, int damageToBeDone) - { - String ownerName = SpellHelper.getUsername(player); - - if (MinecraftServer.getServer() == null) - { - return; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - if (data.currentEssence >= damageToBeDone) - { - data.currentEssence -= damageToBeDone; - data.markDirty(); - }else - { - hurtPlayer(player, damageToBeDone); - } - } - - public static int getCurrentEssence(String ownerName) - { - if (MinecraftServer.getServer() == null) - { - return 0; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - return data.currentEssence; - } - - public static void setCurrentEssence(String ownerName, int amount) - { - if (MinecraftServer.getServer() == null) - { - return; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - data.currentEssence = amount; - data.markDirty(); - } - - public static void addEssenceToMaximum(String ownerName, int amount, int maximum) - { - if (MinecraftServer.getServer() == null) - { - return; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - if(data.currentEssence>=maximum) - { - return; - } - - data.currentEssence = Math.min(maximum, data.currentEssence + amount); - data.markDirty(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergySword.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergySword.java deleted file mode 100644 index a4578599..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnergySword.java +++ /dev/null @@ -1,238 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EnergySword extends ItemSword -{ - //private float weaponDamaged; - //private int maxMode = 3; - private NBTTagCompound data; - - private static IIcon activeIcon; - private static IIcon passiveIcon; - - private int energyUsed; - - public EnergySword() - { - super(AlchemicalWizardry.bloodBoundToolMaterial); - this.maxStackSize = 1; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setEnergyUsed(50); - setFull3D(); - setMaxDamage(100); - //weaponDamaged = 12.0F; - } - - public void setEnergyUsed(int i) - { - energyUsed = i; - } - - public int getEnergyUsed() - { - return this.energyUsed; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundSword_activated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundSword_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) - { - return !getActivated(stack); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - if (par3EntityLivingBase instanceof EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, (EntityPlayer) par3EntityLivingBase); - - if (!EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer) par3EntityLivingBase, this.getEnergyUsed())) - { - //this.damagePlayer(null, (EntityPlayer)par3EntityLivingBase, (this.getEnergyUsed() + 99) / 100); - } - } - - par2EntityLivingBase.addPotionEffect(new PotionEffect(Potion.weakness.id, 60, 2)); - return true; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - this.setActivated(par1ItemStack, !getActivated(par1ItemStack)); - par1ItemStack.stackTagCompound.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 100); - return par1ItemStack; - } - - if (!getActivated(par1ItemStack)) - { - return par1ItemStack; - } - - return par1ItemStack; - } - - @Override - public int getItemEnchantability() - { - return 30; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - -// if(par1ItemStack.stackTagCompound.getBoolean("isActive")) -// { -// EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 1); -// } - - if (par2World.getWorldTime() % 100 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 50); - } - } - - par1ItemStack.setItemDamage(0); - return; - } - - public void setActivated(ItemStack par1ItemStack, boolean newActivated) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - itemTag.setBoolean("isActive", newActivated); - } - - public boolean getActivated(ItemStack par1ItemStack) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getBoolean("isActive"); - } - -// public int getDamageVsEntity(Entity par1Entity) -// { -// return (int) this.weaponDamage; -// } - - public float func_82803_g() - { - return 4.0F; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Caution: may cause"); - par3List.add("a bad day..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - } - - @Override - public float func_150893_a(ItemStack par1ItemStack, Block par2Block) - { - if (par2Block == Blocks.web) - { - return 15.0F; - } else - { - Material material = par2Block.getMaterial(); - return material != Material.plants && material != Material.vine && material != Material.coral && material != Material.leaves && material != Material.gourd ? 1.0F : 1.5F; - } - } - -// public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) -// { -// return false; -// } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnhancedTelepositionFocus.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnhancedTelepositionFocus.java deleted file mode 100644 index 4753fc05..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/EnhancedTelepositionFocus.java +++ /dev/null @@ -1,46 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EnhancedTelepositionFocus extends TelepositionFocus -{ - public EnhancedTelepositionFocus() - { - super(2); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - //TODO - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnhancedTeleposerFocus"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("A focus further enhanced in an altar"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - par3List.add("Coords: " + itemTag.getInteger("xCoord") + ", " + itemTag.getInteger("yCoord") + ", " + itemTag.getInteger("zCoord")); - par3List.add("Bound Dimension: " + getDimensionID(par1ItemStack)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/FireScribeTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/FireScribeTool.java deleted file mode 100644 index 18fc3a52..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/FireScribeTool.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class FireScribeTool extends ScribeTool -{ - public FireScribeTool() - { - super(2); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:FireScribeTool"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java deleted file mode 100644 index 8319c4a8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java +++ /dev/null @@ -1,107 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -import org.lwjgl.input.Keyboard; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAlchemyBase extends Item -{ - private static final String[] ITEM_NAMES = new String[]{"Offensa","Praesidium","OrbisTerrae","StrengthenedCatalyst","ConcentratedCatalyst","FracturedBone","Virtus","Reductus","Potentia"}; - - @SideOnly(Side.CLIENT) - private IIcon[] icons; - - public ItemAlchemyBase() - { - super(); - this.maxStackSize = 64; - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.hasSubtypes = true; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - icons = new IIcon[ITEM_NAMES.length]; - - for (int i = 0; i < ITEM_NAMES.length; ++i) - { - icons[i] = iconRegister.registerIcon("AlchemicalWizardry:" + "baseAlchemyItem" + ITEM_NAMES[i]); - } - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used in alchemy"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - return par1ItemStack; - } - - @Override - public String getUnlocalizedName(ItemStack itemStack) - { - //This is what will do all the localisation things on the alchemy components so you dont have to set it :D - int meta = MathHelper.clamp_int(itemStack.getItemDamage(), 0, ITEM_NAMES.length - 1); - return ("" + "item.bloodMagicAlchemyItem." + ITEM_NAMES[meta]); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int meta) - { - int j = MathHelper.clamp_int(meta, 0, ITEM_NAMES.length - 1); - return icons[j]; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item id, CreativeTabs creativeTab, List list) - { - for (int meta = 0; meta < ITEM_NAMES.length; ++meta) - { - list.add(new ItemStack(id, 1, meta)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemBlockCrystalBelljar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemBlockCrystalBelljar.java deleted file mode 100644 index 7788b60b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemBlockCrystalBelljar.java +++ /dev/null @@ -1,96 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainer; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; - -public class ItemBlockCrystalBelljar extends ItemBlock -{ - public ItemBlockCrystalBelljar(Block par1) - { - super(par1); -// this.setUnlocalizedName("itemSpellEnhancementBlock"); -// setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setHasSubtypes(true); - this.setMaxDamage(0); - this.setMaxStackSize(16); - } - - public int getMetadata(int par1) - { - return par1; - } - - public ReagentContainer[] getReagentContainers(ItemStack stack) - { - if(stack != null && stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound(); - - NBTTagList tagList = tag.getTagList("reagentTanks", Constants.NBT.TAG_COMPOUND); - - int size = tagList.tagCount(); - ReagentContainer[] tanks = new ReagentContainer[size]; - - for(int i=0; i ritualList = Rituals.getRitualList(this.getCurrentRitual(par1ItemStack)); - if(ritualList == null) - { - return; - } - - int blankStones = 0; - int airStones = 0; - int waterStones = 0; - int fireStones = 0; - int earthStones = 0; - int duskStones = 0; - - for (RitualComponent rc : ritualList) - { - switch (rc.getStoneType()) - { - case RitualComponent.BLANK: - blankStones++; - break; - - case RitualComponent.AIR: - airStones++; - break; - - case RitualComponent.WATER: - waterStones++; - break; - - case RitualComponent.FIRE: - fireStones++; - break; - - case RitualComponent.EARTH: - earthStones++; - break; - - case RitualComponent.DUSK: - duskStones++; - break; - } - } - - par3List.add("Blank stones: " + blankStones); - par3List.add(EnumChatFormatting.AQUA + "Air stones: " + airStones); - par3List.add(EnumChatFormatting.BLUE + "Water stones: " + waterStones); - par3List.add(EnumChatFormatting.RED + "Fire stones: " + fireStones); - par3List.add(EnumChatFormatting.DARK_GREEN + "Earth stones: " + earthStones); - par3List.add(EnumChatFormatting.BOLD + "Dusk stones: " + duskStones); - //par3List.add("Ritual Name: " + Rituals.getNameOfRitual(ritualID)); - } - } - - @Override - public String getItemStackDisplayName(ItemStack par1ItemStack) - { - if (!(par1ItemStack.stackTagCompound == null)) - { - String ritualID = this.getCurrentRitual(par1ItemStack); - if(ritualID.equals("")) - { - return super.getItemStackDisplayName(par1ItemStack); - } - return "Ritual: " + Rituals.getNameOfRitual(ritualID); - //par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } else - { - return super.getItemStackDisplayName(par1ItemStack); - } - } - - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par2EntityPlayer); - ItemStack[] playerInventory = par2EntityPlayer.inventory.mainInventory; - TileEntity tileEntity = par3World.getTileEntity(par4, par5, par6); - - if (tileEntity instanceof TEMasterStone) - { - TEMasterStone masterStone = (TEMasterStone) tileEntity; - List ritualList = Rituals.getRitualList(this.getCurrentRitual(par1ItemStack)); - if(ritualList == null) - { - return false; - } - - int playerInvRitualStoneLocation = -1; - - for (int i = 0; i < playerInventory.length; i++) - { - if (playerInventory[i] == null) - { - continue; - } - - if (new ItemStack(ModBlocks.ritualStone).isItemEqual(playerInventory[i])) - { - playerInvRitualStoneLocation = i; - break; - } - } - - for (RitualComponent rc : ritualList) - { - if (par3World.isAirBlock(par4 + rc.getX(), par5 + rc.getY(), par6 + rc.getZ())) - { - if (playerInvRitualStoneLocation >= 0) - { - if (rc.getStoneType() > this.maxMetaData + this.getMaxRuneDisplacement(par1ItemStack)) - { - par3World.playAuxSFX(200, par4, par5 + 1, par6, 0); - return true; - } - - if (!par2EntityPlayer.capabilities.isCreativeMode) - { - par2EntityPlayer.inventory.decrStackSize(playerInvRitualStoneLocation, 1); - } - - par3World.setBlock(par4 + rc.getX(), par5 + rc.getY(), par6 + rc.getZ(), ModBlocks.ritualStone, rc.getStoneType(), 3); - - if (par3World.isRemote) - { - par3World.playAuxSFX(2005, par4, par5 + 1, par6, 0); - EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); - return true; - } - - return true; - } - } else - { - Block block = par3World.getBlock(par4 + rc.getX(), par5 + rc.getY(), par6 + rc.getZ()); - - if (block == ModBlocks.ritualStone) - { - int metadata = par3World.getBlockMetadata(par4 + rc.getX(), par5 + rc.getY(), par6 + rc.getZ()); - - if (metadata != rc.getStoneType()) - { - if (rc.getStoneType() > this.maxMetaData + this.getMaxRuneDisplacement(par1ItemStack)) - { - par3World.playAuxSFX(200, par4, par5 + 1, par6, 0); - return true; - } - - par3World.setBlockMetadataWithNotify(par4 + rc.getX(), par5 + rc.getY(), par6 + rc.getZ(), rc.getStoneType(), 3); - EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); - return true; - } - } else - { - par3World.playAuxSFX(0000, par4, par5 + 1, par6, 0); - return true; - } - } - } - -// if (par3World.isRemote) -// { -// par3World.playAuxSFX(2005, par4, par5, par6, 0); -// EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); -// return true; -// } -// return true; - } - - return false; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - int maxRitualID = Rituals.getNumberOfRituals(); - String currentRitualID = this.getCurrentRitual(par1ItemStack); - - this.setCurrentRitual(par1ItemStack, Rituals.getNextRitualKey(currentRitualID)); - - if (par2World.isRemote) - { - IChatComponent chatmessagecomponent = new ChatComponentText("Current Ritual: " + Rituals.getNameOfRitual(this.getCurrentRitual(par1ItemStack))); - //chatmessagecomponent.func_111072_b("Current Essence: " + data.currentEssence + "LP"); - //chatmessagecomponent.addText("Current Ritual: " + Rituals.getNameOfRitual(this.getCurrentRitual(par1ItemStack))); - par3EntityPlayer.addChatComponentMessage(chatmessagecomponent); - } - } - - return par1ItemStack; - } - - @Override - public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) - { - if(entityLiving instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer) entityLiving; - - if(player.isSneaking() && !player.isSwingInProgress) - { - int maxRitualID = Rituals.getNumberOfRituals(); - String currentRitualID = this.getCurrentRitual(stack); - - this.setCurrentRitual(stack, Rituals.getPreviousRitualKey(currentRitualID)); - - if (entityLiving.worldObj.isRemote) - { - IChatComponent chatmessagecomponent = new ChatComponentText("Current Ritual: " + Rituals.getNameOfRitual(this.getCurrentRitual(stack))); - //chatmessagecomponent.func_111072_b("Current Essence: " + data.currentEssence + "LP"); - //chatmessagecomponent.addText("Current Ritual: " + Rituals.getNameOfRitual(this.getCurrentRitual(par1ItemStack))); - player.addChatComponentMessage(chatmessagecomponent); - } - } - } - - return false; - } - - public String getCurrentRitual(ItemStack par1ItemStack) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return par1ItemStack.stackTagCompound.getString("ritualID"); - } - - public void setCurrentRitual(ItemStack par1ItemStack, String ritualID) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.stackTagCompound.setString("ritualID", ritualID); - } - - public int getMaxRuneDisplacement(ItemStack par1ItemStack) //0 indicates the starting 4 runes, 1 indicates it can use Dusk runes - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return par1ItemStack.stackTagCompound.getInteger("maxRuneDisplacement"); - } - - public void setMaxRuneDisplacement(ItemStack par1ItemStack, int displacement) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.stackTagCompound.setInteger("maxRuneDisplacement", displacement); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item id, CreativeTabs creativeTab, List list) - { - list.add(new ItemStack(ModItems.itemRitualDiviner)); - ItemStack duskRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner); - ((ItemRitualDiviner) duskRitualDivinerStack.getItem()).setMaxRuneDisplacement(duskRitualDivinerStack, 1); - list.add(duskRitualDivinerStack); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellEffectBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellEffectBlock.java deleted file mode 100644 index 2c5e106d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellEffectBlock.java +++ /dev/null @@ -1,59 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class ItemSpellEffectBlock extends ItemBlock - -{ - public ItemSpellEffectBlock(Block par1) - { - super(par1); - setHasSubtypes(true); -// this.setUnlocalizedName("itemSpellEffectBlock"); -// setCreativeTab(AlchemicalWizardry.tabBloodMagic); - - } - - public String getUnlocalizedName(ItemStack itemstack) - - { - String name = ""; - - switch (itemstack.getItemDamage()) - { - case 0: - { - name = "fire"; - break; - } - - case 1: - { - name = "ice"; - break; - } - - case 2: - name = "wind"; - break; - - case 3: - name = "earth"; - break; - - default: - name = "broken"; - } - - return getUnlocalizedName() + "." + name; - } - - public int getMetadata(int par1) - - { - return par1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellEnhancementBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellEnhancementBlock.java deleted file mode 100644 index 670cbce8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellEnhancementBlock.java +++ /dev/null @@ -1,99 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class ItemSpellEnhancementBlock extends ItemBlock - -{ - public ItemSpellEnhancementBlock(Block par1) - { - super(par1); - setHasSubtypes(true); -// this.setUnlocalizedName("itemSpellEnhancementBlock"); -// setCreativeTab(AlchemicalWizardry.tabBloodMagic); - - } - - public String getUnlocalizedName(ItemStack itemstack) - - { - String name = ""; - - switch (itemstack.getItemDamage()) - { - case 0: - name = "power1"; - break; - - case 1: - name = "power2"; - break; - - case 2: - name = "power3"; - break; - - case 3: - name = "power4"; - break; - - case 4: - name = "power5"; - break; - - case 5: - name = "cost1"; - break; - - case 6: - name = "cost2"; - break; - - case 7: - name = "cost3"; - break; - - case 8: - name = "cost4"; - break; - - case 9: - name = "cost5"; - break; - - case 10: - name = "potency1"; - break; - - case 11: - name = "potency2"; - break; - - case 12: - name = "potency3"; - break; - - case 13: - name = "potency4"; - break; - - case 14: - name = "potency5"; - break; - - default: - name = "broken"; - } - - return getUnlocalizedName() + "." + name; - } - - public int getMetadata(int par1) - - { - return par1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellModifierBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellModifierBlock.java deleted file mode 100644 index acd47516..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellModifierBlock.java +++ /dev/null @@ -1,59 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class ItemSpellModifierBlock extends ItemBlock - -{ - public ItemSpellModifierBlock(Block par1) - { - super(par1); - setHasSubtypes(true); -// this.setUnlocalizedName("itemSpellModifierBlock"); -// setCreativeTab(AlchemicalWizardry.tabBloodMagic); - - } - - public String getUnlocalizedName(ItemStack itemstack) - - { - String name = ""; - - switch (itemstack.getItemDamage()) - { - case 0: - { - name = "default"; - break; - } - - case 1: - { - name = "offensive"; - break; - } - - case 2: - name = "defensive"; - break; - - case 3: - name = "environmental"; - break; - - default: - name = "broken"; - } - - return getUnlocalizedName() + "." + name; - } - - public int getMetadata(int par1) - - { - return par1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellParadigmBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellParadigmBlock.java deleted file mode 100644 index 5fb0b9e3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ItemSpellParadigmBlock.java +++ /dev/null @@ -1,58 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class ItemSpellParadigmBlock extends ItemBlock - -{ - public ItemSpellParadigmBlock(Block par1) - { - super(par1); - setHasSubtypes(true); - //this.setUnlocalizedName("itemSpellParadigmBlock"); - } - - @Override - public String getUnlocalizedName(ItemStack itemstack) - - { - String name = ""; - - switch (itemstack.getItemDamage()) - { - case 0: - { - name = "projectile"; - break; - } - - case 1: - { - name = "self"; - break; - } - - case 2: - name = "melee"; - break; - - case 3: - name = "tool"; - break; - - default: - name = "broken"; - } - - return getUnlocalizedName() + "." + name; - } - - @Override - public int getMetadata(int par1) - { - return par1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java deleted file mode 100644 index 87610c5e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java +++ /dev/null @@ -1,114 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class LavaCrystal extends EnergyItems -{ - public LavaCrystal() - { - super(); - //setMaxDamage(1000); - setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setUnlocalizedName("lavaCrystal"); - setEnergyUsed(25); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:LavaCrystal"); - } - - /* - * Used to have the item contain itself. - */ - @Override - public ItemStack getContainerItem(ItemStack itemStack) - { - //if(!syphonBatteries(itemStack, null, 10)) - { - syphonWhileInContainer(itemStack, this.getEnergyUsed()); - ItemStack copiedStack = itemStack.copy(); - copiedStack.setItemDamage(copiedStack.getItemDamage()); - copiedStack.stackSize = 1; - return copiedStack; - } - //return itemStack; - } - - @Override - public boolean hasContainerItem() - { - return true; - } - - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - int damage = this.getDamage(par1ItemStack); - return par1ItemStack; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Store life to smelt"); - par3List.add("stuff in the furnace."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - public boolean hasEnoughEssence(ItemStack itemStack) - { - if (itemStack.getTagCompound() != null && !(itemStack.getTagCompound().getString("ownerName").equals(""))) - { - String ownerName = itemStack.getTagCompound().getString("ownerName"); - - if (MinecraftServer.getServer() == null) - { - return false; - } - - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - if (data.currentEssence >= this.getEnergyUsed()) - { - return true; - } - -// EntityPlayer ownerEntity = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(ist.getTagCompound().getString("ownerName")); -// if(ownerEntity==null){return false;} -// NBTTagCompound tag = ownerEntity.getEntityData(); -// int currentEssence = tag.getInteger("currentEssence"); -// if(currentEssence>=damageToBeDone) -// { -// tag.setInteger("currentEssence", currentEssence-damageToBeDone); -// return true; -// } - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/LifeBucket.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/LifeBucket.java deleted file mode 100644 index 80a29ed3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/LifeBucket.java +++ /dev/null @@ -1,23 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemBucket; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class LifeBucket extends ItemBucket -{ - public LifeBucket(Block block) - { - super(block); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:LifeBucket"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/MagicianBloodOrb.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/MagicianBloodOrb.java deleted file mode 100644 index e6081180..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/MagicianBloodOrb.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class MagicianBloodOrb extends EnergyBattery -{ - public MagicianBloodOrb(int damage) - { - super(damage); - orbLevel = 3; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:MagicianBloodOrb"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/MasterBloodOrb.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/MasterBloodOrb.java deleted file mode 100644 index 5e9c19c7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/MasterBloodOrb.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class MasterBloodOrb extends EnergyBattery -{ - public MasterBloodOrb(int damage) - { - super(damage); - orbLevel = 4; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:MasterBloodOrb"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/OrbOfTesting.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/OrbOfTesting.java deleted file mode 100644 index 06482ac3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/OrbOfTesting.java +++ /dev/null @@ -1,47 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class OrbOfTesting extends EnergyItems -{ - public OrbOfTesting() - { - super(); - setMaxStackSize(1); - setCreativeTab(CreativeTabs.tabMisc); - setUnlocalizedName("orbOfTesting"); - setMaxDamage(100); - setFull3D(); - this.setEnergyUsed(100); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Untitled"); - } - - //Heals the player using the item. If the player is at full health, or if the durability cannot be used any more, - //the item is not used. - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (!par3EntityPlayer.shouldHeal()) - { - return par1ItemStack; - } - - if (this.syphonBatteries(par1ItemStack, par3EntityPlayer, this.getEnergyUsed())) - { - par3EntityPlayer.heal(1); - } - - return par1ItemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ReinforcedTelepositionFocus.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ReinforcedTelepositionFocus.java deleted file mode 100644 index 37134dbc..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ReinforcedTelepositionFocus.java +++ /dev/null @@ -1,47 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ReinforcedTelepositionFocus extends TelepositionFocus -{ - public ReinforcedTelepositionFocus() - { - super(3); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - //TODO - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:ReinforcedTeleposerFocus"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("A stronger version of the focus,"); - par3List.add("using a weak shard"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - par3List.add("Coords: " + itemTag.getInteger("xCoord") + ", " + itemTag.getInteger("yCoord") + ", " + itemTag.getInteger("zCoord")); - par3List.add("Bound Dimension: " + getDimensionID(par1ItemStack)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java deleted file mode 100644 index 5452e519..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java +++ /dev/null @@ -1,167 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SacrificialDagger extends Item -{ - public SacrificialDagger() - { - super(); - this.maxStackSize = 1; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setFull3D(); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - if(AlchemicalWizardry.wimpySettings) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - }else - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SacrificialDagger"); - } - } - - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(AlchemicalWizardry.wimpySettings) - { - par3List.add("A slight draining feeling tickles your fingers"); - }else - { - par3List.add("Just a prick of the"); - par3List.add("finger will suffice..."); - } - } - - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - par3EntityPlayer.setHealth(par3EntityPlayer.getHealth() - 2); - } - - if (par3EntityPlayer instanceof FakePlayer) - { - return par1ItemStack; - } - - double posX = par3EntityPlayer.posX; - double posY = par3EntityPlayer.posY; - double posZ = par3EntityPlayer.posZ; - par2World.playSoundEffect((double) ((float) posX + 0.5F), (double) ((float) posY + 0.5F), (double) ((float) posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (par2World.rand.nextFloat() - par2World.rand.nextFloat()) * 0.8F); - float f = (float) 1.0F; - float f1 = f * 0.6F + 0.4F; - float f2 = f * f * 0.7F - 0.5F; - float f3 = f * f * 0.6F - 0.7F; - - for (int l = 0; l < 8; ++l) - { - par2World.spawnParticle("reddust", posX + Math.random() - Math.random(), posY + Math.random() - Math.random(), posZ + Math.random() - Math.random(), f1, f2, f3); - } - - if(!par2World.isRemote && SpellHelper.isFakePlayer(par2World, par3EntityPlayer)) - //if (!(par3EntityPlayer.getClass().equals(EntityPlayerMP.class))) - { - return par1ItemStack; - } - - if(par3EntityPlayer.isPotionActive(AlchemicalWizardry.customPotionSoulFray)) - { - findAndFillAltar(par2World, par3EntityPlayer, 20); - }else - { - findAndFillAltar(par2World, par3EntityPlayer, 200); - } - - if (par3EntityPlayer.getHealth() <= 0.001f) - { - //par3EntityPlayer.inventory.dropAllItems(); - par3EntityPlayer.onDeath(DamageSource.generic); - } - - return par1ItemStack; - } - - public void findAndFillAltar(World world, EntityPlayer player, int amount) - { - int posX = (int) Math.round(player.posX - 0.5f); - int posY = (int) player.posY; - int posZ = (int) Math.round(player.posZ - 0.5f); - TEAltar altarEntity = getAltar(world, posX, posY, posZ); - - if (altarEntity == null) - { - return; - } - - altarEntity.sacrificialDaggerCall(amount, false); - altarEntity.startCycle(); - } - - public TEAltar getAltar(World world, int x, int y, int z) - { - TileEntity tileEntity = null; - - for (int i = -2; i <= 2; i++) - { - for (int j = -2; j <= 2; j++) - { - for (int k = -2; k <= 1; k++) - { - tileEntity = world.getTileEntity(i + x, k + y, j + z); - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - } - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - } - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - } - - if ((tileEntity instanceof TEAltar)) - { - return (TEAltar) tileEntity; - } - - return null; - } - - @Override - public String getItemStackDisplayName(ItemStack par1ItemStack) - { - if(AlchemicalWizardry.wimpySettings) - { - return "Sacrificial Orb"; - } - return super.getItemStackDisplayName(par1ItemStack); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ScribeTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ScribeTool.java deleted file mode 100644 index 0dd3cd63..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/ScribeTool.java +++ /dev/null @@ -1,53 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.List; - -public class ScribeTool extends EnergyItems -{ - private int meta; - - public ScribeTool(int inkType) - { - super(); - setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - setMaxDamage(10); - setEnergyUsed(10); - this.meta = inkType; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("The writing is on the wall..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par1ItemStack.getItemDamage() > 0) - { - par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1); - syphonBatteries(par1ItemStack, par3EntityPlayer, this.getEnergyUsed()); - } - - return par1ItemStack; - } - - public int getType() - { - return this.meta; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/TelepositionFocus.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/TelepositionFocus.java deleted file mode 100644 index 192f34f4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/TelepositionFocus.java +++ /dev/null @@ -1,124 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class TelepositionFocus extends EnergyItems -{ - private int focusLevel; - - public TelepositionFocus(int focusLevel) - { - super(); - this.setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.focusLevel = focusLevel; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - //TODO - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:TeleposerFocus"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("An Enderpearl imbued with blood"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - par3List.add("Coords: " + itemTag.getInteger("xCoord") + ", " + itemTag.getInteger("yCoord") + ", " + itemTag.getInteger("zCoord")); - par3List.add("Bound Dimension: " + getDimensionID(par1ItemStack)); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - -// if (!par2World.isRemote) -// { -// //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); -// par2World.spawnEntityInWorld(new FireProjectile(par2World, par3EntityPlayer, 10)); -// } - return par1ItemStack; - } - - public int getDimensionID(ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - return itemStack.stackTagCompound.getInteger("dimensionId"); - } - - public World getWorld(ItemStack itemStack) - { - return DimensionManager.getWorld(getDimensionID(itemStack)); - } - - public int xCoord(ItemStack itemStack) - { - if (!(itemStack.stackTagCompound == null)) - { - return itemStack.stackTagCompound.getInteger("xCoord"); - } else - { - return 0; - } - } - - public int yCoord(ItemStack itemStack) - { - if (!(itemStack.stackTagCompound == null)) - { - return itemStack.stackTagCompound.getInteger("yCoord"); - } else - { - return 0; - } - } - - public int zCoord(ItemStack itemStack) - { - if (!(itemStack.stackTagCompound == null)) - { - return itemStack.stackTagCompound.getInteger("zCoord"); - } else - { - return 0; - } - } - - public int getFocusLevel() - { - return this.focusLevel; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/WaterScribeTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/WaterScribeTool.java deleted file mode 100644 index 86132c84..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/WaterScribeTool.java +++ /dev/null @@ -1,22 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class WaterScribeTool extends ScribeTool -{ - public WaterScribeTool() - { - super(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WaterScribeTool"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java deleted file mode 100644 index 1bf349ca..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java +++ /dev/null @@ -1,387 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.energy; - -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IReagentHandler; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator; -import WayofTime.alchemicalWizardry.common.Int3; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAttunedCrystal extends Item implements IReagentManipulator -{ - public static final int maxDistance = 5; - - public IIcon crystalBody; - public IIcon crystalLabel; - - public ItemAttunedCrystal() - { - super(); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.hasSubtypes = true; - this.maxStackSize = 1; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) - { - Reagent reagent = this.getReagent(stack); - - String name = super.getItemStackDisplayName(stack); - - if(reagent != null) - { - name = name + " (" + reagent.name + ")"; - } - - return name; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("A tool to tune alchemy"); - par3List.add("reagent transmission"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - Reagent reagent = this.getReagent(par1ItemStack); - if(reagent != null) - { - par3List.add("Currently selected reagent: " + reagent.name); - } - - if(this.getHasSavedCoordinates(par1ItemStack)) - { - par3List.add(""); - Int3 coords = this.getCoordinates(par1ItemStack); - par3List.add("Coords: " + coords.xCoord + ", " + coords.yCoord + ", " + coords.zCoord); - par3List.add("Bound Dimension: " + getDimension(par1ItemStack)); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.crystalBody = iconRegister.registerIcon("AlchemicalWizardry:AttunedCrystal1"); - this.crystalLabel = iconRegister.registerIcon("AlchemicalWizardry:AttunedCrystal2"); - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) - { - switch(pass) - { - case 0: - return 256*(256*255 + 255) + 255; - case 1: - Reagent reagent = this.getReagent(stack); - if(reagent != null) - { - return (reagent.getColourRed()*256*256 + reagent.getColourGreen()*256 + reagent.getColourBlue()); - } - break; - } - - return 256*(256*255 + 255) + 255; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() - { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderPasses(int meta) - { - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass) - { - switch(pass) - { - case 0: - return this.crystalBody; - case 1: - return this.crystalLabel; - } - return this.itemIcon; - } - - @Override - public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) - { - if(world.isRemote) - { - return itemStack; - } - - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, false); - - if (movingobjectposition == null) - { - if(player.isSneaking()) - { - this.setHasSavedCoordinates(itemStack, false); - player.addChatComponentMessage(new ChatComponentText("Clearing saved container...")); - } - - return itemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int x = movingobjectposition.blockX; - int y = movingobjectposition.blockY; - int z = movingobjectposition.blockZ; - - TileEntity tile = world.getTileEntity(x, y, z); - - if(!(tile instanceof IReagentHandler)) - { - return itemStack; - } - - IReagentHandler relay = (IReagentHandler)tile; - - if(player.isSneaking()) - { - ReagentContainerInfo[] infos = relay.getContainerInfo(ForgeDirection.UNKNOWN); - if(infos != null) - { - List reagentList = new LinkedList(); - for(ReagentContainerInfo info : infos) - { - if(info != null) - { - ReagentStack reagentStack = info.reagent; - if(reagentStack != null) - { - Reagent reagent = reagentStack.reagent; - if(reagent != null) - { - reagentList.add(reagent); - } - } - } - } - - Reagent pastReagent = this.getReagent(itemStack); - - if(reagentList.size() <= 0) - { - return itemStack; - } - - int reagentLocation = -1; - - reagentLocation = reagentList.indexOf(pastReagent); - - if(reagentLocation == -1 || reagentLocation+1 >= reagentList.size()) - { - this.setReagentWithNotification(itemStack, reagentList.get(0), player); - }else - { - this.setReagentWithNotification(itemStack, reagentList.get(reagentLocation + 1), player); - } - } - }else - { - if(this.getHasSavedCoordinates(itemStack)) - { - Int3 coords = this.getCoordinates(itemStack); - int dimension = this.getDimension(itemStack); - - if(coords == null) - { - return itemStack; - } - - if(dimension != world.provider.dimensionId || Math.abs(coords.xCoord - x) > maxDistance || Math.abs(coords.yCoord - y) > maxDistance || Math.abs(coords.zCoord - z) > maxDistance) - { - player.addChatComponentMessage(new ChatComponentText("Linked container is either too far or is in a different dimension.")); - return itemStack; - } - - TileEntity pastTile = world.getTileEntity(coords.xCoord, coords.yCoord, coords.zCoord); - if(!(pastTile instanceof TEReagentConduit)) - { - player.addChatComponentMessage(new ChatComponentText("Can no longer find linked container.")); - return itemStack; - } - - Reagent reagent = this.getReagent(itemStack); - - if(reagent == null) - { - return itemStack; - } - - TEReagentConduit pastRelay = (TEReagentConduit)pastTile; - - if(player.isSneaking()) - { - pastRelay.removeReagentDestinationViaActual(reagent, x, y, z); - }else - { - if(pastRelay.addReagentDestinationViaActual(reagent, x, y, z)) - { - player.addChatComponentMessage(new ChatComponentText("Container is now linked. Transmitting: " + reagent.name)); - }else - { - player.addChatComponentMessage(new ChatComponentText("Linked container has no connections remaining!")); - } - } - world.markBlockForUpdate(coords.xCoord, coords.yCoord, coords.zCoord); - }else - { - int dimension = world.provider.dimensionId; - - this.setDimension(itemStack, dimension); - this.setCoordinates(itemStack, new Int3(x, y, z)); - - player.addChatComponentMessage(new ChatComponentText("Linking to selected container.")); - } - } - } - } - - return itemStack; - } - - public void setCoordinates(ItemStack stack, Int3 coords) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - coords.writeToNBT(tag); - - this.setHasSavedCoordinates(stack, true); - } - - public void setDimension(ItemStack stack, int dimension) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - tag.setInteger("dimension", dimension); - } - - public Int3 getCoordinates(ItemStack stack) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - return Int3.readFromNBT(tag); - } - - public int getDimension(ItemStack stack) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - return tag.getInteger("dimension"); - } - - public void setHasSavedCoordinates(ItemStack stack, boolean flag) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - tag.setBoolean("hasSavedCoordinates", flag); - } - - public boolean getHasSavedCoordinates(ItemStack stack) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - return tag.getBoolean("hasSavedCoordinates"); - } - - public Reagent getReagent(ItemStack stack) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - return ReagentRegistry.getReagentForKey(tag.getString("reagent")); - } - - public void setReagent(ItemStack stack, Reagent reagent) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - tag.setString("reagent", ReagentRegistry.getKeyForReagent(reagent)); - } - - public void setReagentWithNotification(ItemStack stack, Reagent reagent, EntityPlayer player) - { - this.setReagent(stack, reagent); - - if(reagent != null) - { - player.addChatComponentMessage(new ChatComponentText("Attuned Crystal now set to: " + reagent.name)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemDestinationClearer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemDestinationClearer.java deleted file mode 100644 index 38ae34fc..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemDestinationClearer.java +++ /dev/null @@ -1,82 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.energy; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator; -import WayofTime.alchemicalWizardry.common.Int3; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemDestinationClearer extends Item implements IReagentManipulator -{ - public ItemDestinationClearer() - { - super(); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.maxStackSize = 1; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:TankClearer"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used to clear the destination"); - par3List.add("list for an alchemy container"); - } - - @Override - public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) - { - if(world.isRemote) - { - return itemStack; - } - - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, false); - - if (movingobjectposition == null) - { - return itemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int x = movingobjectposition.blockX; - int y = movingobjectposition.blockY; - int z = movingobjectposition.blockZ; - - TileEntity tile = world.getTileEntity(x, y, z); - - if(!(tile instanceof TEReagentConduit)) - { - return itemStack; - } - - TEReagentConduit relay = (TEReagentConduit)tile; - - relay.reagentTargetList.clear(); - - player.addChatComponentMessage(new ChatComponentText("Destination list now cleared.")); - } - } - - return itemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemTankSegmenter.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemTankSegmenter.java deleted file mode 100644 index 14772607..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemTankSegmenter.java +++ /dev/null @@ -1,278 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.energy; - -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IReagentHandler; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ISegmentedReagentHandler; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator; -import WayofTime.alchemicalWizardry.common.Int3; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemTankSegmenter extends Item implements IReagentManipulator -{ - public IIcon crystalBody; - public IIcon crystalLabel; - - public ItemTankSegmenter() - { - super(); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.hasSubtypes = true; - this.maxStackSize = 1; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) - { - Reagent reagent = this.getReagent(stack); - - String name = super.getItemStackDisplayName(stack); - - if(reagent != null) - { - name = name + " (" + reagent.name + ")"; - } - - return name; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used to designate which"); - par3List.add("reagents can go into a container"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - Reagent reagent = this.getReagent(par1ItemStack); - if(reagent != null) - { - par3List.add("Currently selected reagent: " + reagent.name); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.crystalBody = iconRegister.registerIcon("AlchemicalWizardry:TankSegmenter1"); - this.crystalLabel = iconRegister.registerIcon("AlchemicalWizardry:TankSegmenter2"); - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) - { - switch(pass) - { - case 0: - return 256*(256*255 + 255) + 255; - case 1: - Reagent reagent = this.getReagent(stack); - if(reagent != null) - { - return (reagent.getColourRed()*256*256 + reagent.getColourGreen()*256 + reagent.getColourBlue()); - } - break; - } - - return 256*(256*255 + 255) + 255; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() - { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderPasses(int meta) - { - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass) - { - switch(pass) - { - case 0: - return this.crystalBody; - case 1: - return this.crystalLabel; - } - return this.itemIcon; - } - - @Override - public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) - { - if(world.isRemote) - { - return itemStack; - } - - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, false); - - if (movingobjectposition == null) - { - return itemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int x = movingobjectposition.blockX; - int y = movingobjectposition.blockY; - int z = movingobjectposition.blockZ; - - TileEntity tile = world.getTileEntity(x, y, z); - - if(!(tile instanceof ISegmentedReagentHandler)) - { - return itemStack; - } - - ISegmentedReagentHandler reagentHandler = (ISegmentedReagentHandler)tile; - - if(player.isSneaking()) - { - ReagentContainerInfo[] infos = reagentHandler.getContainerInfo(ForgeDirection.UNKNOWN); - if(infos != null) - { - List reagentList = new LinkedList(); - for(ReagentContainerInfo info : infos) - { - if(info != null) - { - ReagentStack reagentStack = info.reagent; - if(reagentStack != null) - { - Reagent reagent = reagentStack.reagent; - if(reagent != null) - { - reagentList.add(reagent); - } - } - } - } - - Reagent pastReagent = this.getReagent(itemStack); - - boolean goForNext = false; - boolean hasFound = false; - for(Reagent reagent : reagentList) - { - if(goForNext) - { - goForNext = false; - break; - } - - if(reagent == pastReagent) - { - goForNext = true; - hasFound = true; - } - } - - if(hasFound) - { - if(goForNext) - { - this.setReagentWithNotification(itemStack, reagentList.get(0), player); - } - }else - { - if(reagentList.size() >= 1) - { - this.setReagentWithNotification(itemStack, reagentList.get(0), player); - } - } - } - - }else - { - Reagent reagent = this.getReagent(itemStack); - if(reagent == null) - { - //TODO: Send message that "All are wiped" - reagentHandler.getAttunedTankMap().clear(); - return itemStack; - } - int totalTankSize = reagentHandler.getNumberOfTanks(); - int numberAssigned = reagentHandler.getTanksTunedToReagent(reagent) + 1; - - if(numberAssigned > totalTankSize) - { - numberAssigned = 0; - } - - player.addChatComponentMessage(new ChatComponentText("Tank now has " + numberAssigned + " tank(s) set to: " + reagent.name)); - - reagentHandler.setTanksTunedToReagent(reagent, numberAssigned); - } - }else if(movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.MISS) - { - this.setReagent(itemStack, null); - } - } - - return itemStack; - } - - public Reagent getReagent(ItemStack stack) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - return ReagentRegistry.getReagentForKey(tag.getString("reagent")); - } - - public void setReagent(ItemStack stack, Reagent reagent) - { - if(!stack.hasTagCompound()) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.getTagCompound(); - - tag.setString("reagent", ReagentRegistry.getKeyForReagent(reagent)); - } - - public void setReagentWithNotification(ItemStack stack, Reagent reagent, EntityPlayer player) - { - this.setReagent(stack, reagent); - - if(reagent != null) - { - player.addChatComponentMessage(new ChatComponentText("Tank Segmenter now set to: " + reagent.name)); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/forestry/ItemBloodFrame.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/forestry/ItemBloodFrame.java deleted file mode 100644 index 32da83be..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/forestry/ItemBloodFrame.java +++ /dev/null @@ -1,151 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.forestry; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemBloodFrame extends EnergyItems //implements IHiveFrame -{ - public ItemBloodFrame() - { - super(); - this.maxStackSize = 1; - this.setMaxDamage(10); - //setMaxDamage(1000); - setEnergyUsed(3000); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Stirs bees into a frenzy."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodFrame"); - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if(par1ItemStack.getItemDamage()>0) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - par1ItemStack.setItemDamage(par1ItemStack.getItemDamage()-1); - } - - return par1ItemStack; - } - - /**TODO Bee Stuff - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) - { - // TODO Auto-generated method stub - return 1; - } - - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) - { - // TODO Auto-generated method stub - return 1; - } - - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) - { - // TODO Auto-generated method stub - return 0.0001f; - } - - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) - { - // TODO Auto-generated method stub - return 0; - } - - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) - { - // TODO Auto-generated method stub - return 1; - } - - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) - { - // TODO Auto-generated method stub - return 1; - } - - @Override - public boolean isSealed() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isSelfLighted() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isSunlightSimulated() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isHellish() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) - { - // TODO Auto-generated method stub - if(EnergyItems.canSyphonInContainer(frame, getEnergyUsed()*wear)) - { - EnergyItems.syphonWhileInContainer(frame, getEnergyUsed()*wear); - return frame; - }else - { - frame.setItemDamage(frame.getItemDamage() + wear); - if(frame.getItemDamage()>=frame.getMaxDamage()) - { - return null; - } - return frame; - } - - } - - */ - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java deleted file mode 100644 index 05f3d698..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java +++ /dev/null @@ -1,435 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.ai.attributes.IAttribute; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityPotion; -import net.minecraft.init.Items; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyPotionHelper; - -import com.google.common.collect.HashMultimap; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AlchemyFlask extends Item -{ - private int maxPotionAmount = 20; - - public AlchemyFlask() - { - super(); - this.setMaxDamage(8); - this.setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:PotionFlask"); - } - - public static ArrayList getEffects(ItemStack par1ItemStack) - { - if (par1ItemStack.hasTagCompound() && par1ItemStack.getTagCompound().hasKey("CustomFlaskEffects")) - { - ArrayList arraylist = new ArrayList(); - NBTTagList nbttaglist = par1ItemStack.getTagCompound().getTagList("CustomFlaskEffects", Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); - arraylist.add(AlchemyPotionHelper.readEffectFromNBT(nbttagcompound)); - } - - return arraylist; - } else - { - return null; - } - } - - public static ArrayList getPotionEffects(ItemStack par1ItemStack) - { - ArrayList list = AlchemyFlask.getEffects(par1ItemStack); - - if (list != null) - { - ArrayList newList = new ArrayList(); - - for (AlchemyPotionHelper aph : list) - { - newList.add(aph.getPotionEffect()); - } - - return newList; - } else - { - return null; - } - } - - public static void setEffects(ItemStack par1ItemStack, List list) - { - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagList nbttaglist = new NBTTagList(); - - for (AlchemyPotionHelper aph : list) - { - nbttaglist.appendTag(AlchemyPotionHelper.setEffectToNBT(aph)); - } - - par1ItemStack.stackTagCompound.setTag("CustomFlaskEffects", nbttaglist); - } - - public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() + 1); - } - - if (!par2World.isRemote) - { - ArrayList list = this.getEffects(par1ItemStack); - - if (list != null) - { - for (AlchemyPotionHelper aph : list) - { - PotionEffect pe = aph.getPotionEffect(); - - if (pe != null) - { - //if(pe.get) - par3EntityPlayer.addPotionEffect(pe); - } - } - } - } - - return par1ItemStack; - } - - /** - * How long it takes to use or consume an item - */ - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 32; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - if (this.isPotionThrowable(par1ItemStack)) - { - return EnumAction.none; - } - - return EnumAction.drink; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { -// if(par3EntityPlayer.isSneaking()) -// { -// this.setIsPotionThrowable(true, par1ItemStack); -// return par1ItemStack; -// } - if (par1ItemStack.getItemDamage() < par1ItemStack.getMaxDamage()) - { - if (this.isPotionThrowable(par1ItemStack)) - { - if (!par2World.isRemote) - { - EntityPotion entityPotion = this.getEntityPotion(par1ItemStack, par2World, par3EntityPlayer); - - if (entityPotion != null) - { - float velocityChange = 2.0f; - entityPotion.motionX *= velocityChange; - entityPotion.motionY *= velocityChange; - entityPotion.motionZ *= velocityChange; - par2World.spawnEntityInWorld(entityPotion); - par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() + 1); - } - } - - return par1ItemStack; - } - - par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); - } - - return par1ItemStack; - } - - public void setConcentrationOfPotion(ItemStack par1ItemStack, int potionID, int concentration) - { - ArrayList list = this.getEffects(par1ItemStack); - - if (list != null) - { - for (AlchemyPotionHelper aph : list) - { - if (aph.getPotionID() == potionID) - { - aph.setConcentration(concentration); - break; - } - } - - this.setEffects(par1ItemStack, list); - } - } - - public void setDurationFactorOfPotion(ItemStack par1ItemStack, int potionID, int durationFactor) - { - ArrayList list = this.getEffects(par1ItemStack); - - if (list != null) - { - for (AlchemyPotionHelper aph : list) - { - if (aph.getPotionID() == potionID) - { - aph.setDurationFactor(durationFactor); - break; - } - } - - this.setEffects(par1ItemStack, list); - } - } - - public boolean hasPotionEffect(ItemStack par1ItemStack, int potionID) - { - return false; - } - - public int getNumberOfPotionEffects(ItemStack par1ItemStack) - { - if (getEffects(par1ItemStack) != null) - { - return getEffects(par1ItemStack).size(); - } else - { - return 0; - } - } - - public boolean addPotionEffect(ItemStack par1ItemStack, int potionID, int tickDuration) - { - int i = 0; - ArrayList list = this.getEffects(par1ItemStack); - - if (list != null) - { - for (AlchemyPotionHelper aph : list) - { - if (aph.getPotionID() == potionID) - { - return false; - } - - i++; - } - - //if(i 0) - { - Iterator iterator1 = map.entrySet().iterator(); - - while (iterator1.hasNext()) - { - Entry entry = (Entry) iterator1.next(); - AttributeModifier attributemodifier = (AttributeModifier) entry.getValue(); - AttributeModifier attributemodifier1 = new AttributeModifier(attributemodifier.getName(), potion.func_111183_a(potioneffect.getAmplifier(), attributemodifier), attributemodifier.getOperation()); - hashmultimap.put(((IAttribute)entry.getKey()).getAttributeUnlocalizedName(), attributemodifier1); - } - } - - if (potioneffect.getAmplifier() > 0) - { - s = s + " " + StatCollector.translateToLocal("potion.potency." + potioneffect.getAmplifier()).trim(); - } - - if (potioneffect.getDuration() > 20) - { - s = s + " (" + Potion.getDurationString(potioneffect) + ")"; - } - - if (potion.isBadEffect()) - { - par3List.add(EnumChatFormatting.RED + s); - } else - { - par3List.add(EnumChatFormatting.GRAY + s); - } - } - } else - { - String s1 = StatCollector.translateToLocal("potion.empty").trim(); - par3List.add(EnumChatFormatting.GRAY + s1); - } - - if (!hashmultimap.isEmpty()) - { - par3List.add(""); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal("potion.effects.whenDrank")); - iterator = hashmultimap.entries().iterator(); - - while (iterator.hasNext()) - { - Entry entry1 = (Entry) iterator.next(); - AttributeModifier attributemodifier2 = (AttributeModifier) entry1.getValue(); - double d0 = attributemodifier2.getAmount(); - double d1; - - if (attributemodifier2.getOperation() != 1 && attributemodifier2.getOperation() != 2) - { - d1 = attributemodifier2.getAmount(); - } else - { - d1 = attributemodifier2.getAmount() * 100.0D; - } - - if (d0 > 0.0D) - { - par3List.add(EnumChatFormatting.BLUE + StatCollector.translateToLocalFormatted("attribute.modifier.plus." + attributemodifier2.getOperation(), new Object[]{ItemStack.field_111284_a.format(d1), StatCollector.translateToLocal("attribute.name." + (String) entry1.getKey())})); - } else if (d0 < 0.0D) - { - d1 *= -1.0D; - par3List.add(EnumChatFormatting.RED + StatCollector.translateToLocalFormatted("attribute.modifier.take." + attributemodifier2.getOperation(), new Object[]{ItemStack.field_111284_a.format(d1), StatCollector.translateToLocal("attribute.name." + (String) entry1.getKey())})); - } - } - } - } - - public boolean isPotionThrowable(ItemStack par1ItemStack) - { - if (par1ItemStack.hasTagCompound() && par1ItemStack.getTagCompound().getBoolean("throwable")) - { - return true; - } else - { - return false; - } - - //return false; - } - - public void setIsPotionThrowable(boolean flag, ItemStack par1ItemStack) - { - if (!par1ItemStack.hasTagCompound()) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.stackTagCompound.setBoolean("throwable", flag); - } - - public EntityPotion getEntityPotion(ItemStack par1ItemStack, World worldObj, EntityLivingBase entityLivingBase) - { - ItemStack potionStack = new ItemStack(Items.potionitem, 1, 0); - potionStack.setTagCompound(new NBTTagCompound()); - ArrayList potionList = this.getPotionEffects(par1ItemStack); - - if (potionList == null) - { - return null; - } - - NBTTagList nbttaglist = new NBTTagList(); - - for (PotionEffect pe : potionList) - { - NBTTagCompound d = new NBTTagCompound(); - d.setByte("Id", (byte) pe.getPotionID()); - d.setByte("Amplifier", (byte) pe.getAmplifier()); - //byte b1 = par0NBTTagCompound.getByte("Amplifier"); - d.setInteger("Duration", pe.getDuration()); - //int i = par0NBTTagCompound.getInteger("Duration"); - d.setBoolean("Ambient", pe.getIsAmbient()); - // boolean flag = par0NBTTagCompound.getBoolean("Ambient"); - nbttaglist.appendTag(d); - } - - potionStack.stackTagCompound.setTag("CustomPotionEffects", nbttaglist); - EntityPotion entityPotion = new EntityPotion(worldObj, entityLivingBase, potionStack); - return entityPotion; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java deleted file mode 100644 index 3987c581..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java +++ /dev/null @@ -1,120 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AlchemyReagent extends Item -{ - public AlchemyReagent() - { - super(); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setMaxStackSize(64); - // TODO Auto-generated constructor stub - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - if (this == ModItems.incendium) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Incendium"); - return; - } - - if (this == ModItems.magicales) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Magicales"); - return; - } - - if (this == ModItems.sanctus) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Sanctus"); - return; - } - - if (this == ModItems.aether) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Aether"); - return; - } - - if (this == ModItems.simpleCatalyst) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SimpleCatalyst"); - return; - } - - if (this == ModItems.crepitous) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Crepitous"); - return; - } - - if (this == ModItems.crystallos) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Crystallos"); - return; - } - - if (this == ModItems.terrae) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Terrae"); - return; - } - - if (this == ModItems.aquasalus) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Aquasalus"); - return; - } - - if (this == ModItems.tennebrae) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:Tennebrae"); - return; - } - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used in alchemy"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AverageLengtheningCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AverageLengtheningCatalyst.java deleted file mode 100644 index 841a9729..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AverageLengtheningCatalyst.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AverageLengtheningCatalyst extends LengtheningCatalyst -{ - public AverageLengtheningCatalyst() - { - super(2); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:AverageLengtheningCatalyst"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AveragePowerCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AveragePowerCatalyst.java deleted file mode 100644 index 3ce2cde9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/AveragePowerCatalyst.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AveragePowerCatalyst extends PowerCatalyst -{ - public AveragePowerCatalyst() - { - super(2); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:AveragePowerCatalyst"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/CombinationalCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/CombinationalCatalyst.java deleted file mode 100644 index 8097cde0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/CombinationalCatalyst.java +++ /dev/null @@ -1,24 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.Item; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.alchemy.ICombinationalCatalyst; - -public class CombinationalCatalyst extends Item implements ICombinationalCatalyst -{ - public CombinationalCatalyst() - { - super(); - this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:CombinationalCatalyst"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/EnhancedFillingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/EnhancedFillingAgent.java deleted file mode 100644 index ecbad19d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/EnhancedFillingAgent.java +++ /dev/null @@ -1,57 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import java.util.Random; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EnhancedFillingAgent extends WeakFillingAgent -{ - public EnhancedFillingAgent() - { - super(); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public int getFilledAmountForPotionNumber(int potionEffects) - { - Random rand = new Random(); - - if (potionEffects == 0) - { - return 8; - } - - //if(potionEffects >=1 && potionEffects<=5) - { - switch (potionEffects) - { - case 1: - return 6; - - case 2: - return 4; - - case 3: - return 3; - - case 4: - return 2; - - case 5: - return 2; - } - } - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnhancedFillingAgent"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/GreaterLengtheningCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/GreaterLengtheningCatalyst.java deleted file mode 100644 index 65bb052e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/GreaterLengtheningCatalyst.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class GreaterLengtheningCatalyst extends LengtheningCatalyst -{ - public GreaterLengtheningCatalyst() - { - super(3); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:GreaterLengtheningCatalyst"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/GreaterPowerCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/GreaterPowerCatalyst.java deleted file mode 100644 index e5dd6d47..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/GreaterPowerCatalyst.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class GreaterPowerCatalyst extends PowerCatalyst -{ - public GreaterPowerCatalyst() - { - super(3); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:GreaterPowerCatalyst"); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java deleted file mode 100644 index 7476f689..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java +++ /dev/null @@ -1,64 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.common.ICatalyst; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import java.util.List; - -public class LengtheningCatalyst extends Item implements ICatalyst -{ - private int catalystStrength; - - public LengtheningCatalyst(int catalystStrength) - { - super(); - this.catalystStrength = catalystStrength; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public int getCatalystLevel() - { - return catalystStrength; - } - - @Override - public boolean isConcentration() - { - return false; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used in alchemy"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/MundaneLengtheningCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/MundaneLengtheningCatalyst.java deleted file mode 100644 index e945ed22..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/MundaneLengtheningCatalyst.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class MundaneLengtheningCatalyst extends LengtheningCatalyst -{ - public MundaneLengtheningCatalyst() - { - super(1); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:MundaneLengtheningCatalyst"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/MundanePowerCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/MundanePowerCatalyst.java deleted file mode 100644 index 86291dec..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/MundanePowerCatalyst.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class MundanePowerCatalyst extends PowerCatalyst -{ - public MundanePowerCatalyst() - { - super(1); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:MundanePowerCatalyst"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java deleted file mode 100644 index 60d98566..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java +++ /dev/null @@ -1,64 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.common.ICatalyst; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import java.util.List; - -public class PowerCatalyst extends Item implements ICatalyst -{ - private int catalystStrength; - - public PowerCatalyst(int catalystStrength) - { - super(); - this.catalystStrength = catalystStrength; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public int getCatalystLevel() - { - return catalystStrength; - } - - @Override - public boolean isConcentration() - { - return true; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used in alchemy"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java deleted file mode 100644 index 6a2edc0b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java +++ /dev/null @@ -1,66 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.common.IBindingAgent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class StandardBindingAgent extends Item implements IBindingAgent -{ - public StandardBindingAgent() - { - super(); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public float getSuccessRateForPotionNumber(int potions) - { - return (float) Math.pow(0.65, potions); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:StandardBindingAgent"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used in alchemy"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/StandardFillingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/StandardFillingAgent.java deleted file mode 100644 index 0cc4c9a8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/StandardFillingAgent.java +++ /dev/null @@ -1,39 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class StandardFillingAgent extends WeakFillingAgent -{ - public StandardFillingAgent() - { - super(); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public int getFilledAmountForPotionNumber(int potionEffects) - { - //Random rand = new Random(); - if (potionEffects == 0) - { - return 8; - } - - if (potionEffects >= 1 && potionEffects <= 3) - { - return (int) (4 * (Math.pow(0.5f, potionEffects - 1) + 0.01f)); - } - - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:StandardFillingAgent"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/WeakBindingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/WeakBindingAgent.java deleted file mode 100644 index 24ee6f0b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/WeakBindingAgent.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import net.minecraft.client.renderer.texture.IIconRegister; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class WeakBindingAgent extends StandardBindingAgent -{ - public WeakBindingAgent() - { - super(); - // TODO Auto-generated constructor stub - } - - @Override - public float getSuccessRateForPotionNumber(int potions) - { - return (float) Math.pow(0.4, potions); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WeakBindingAgent"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java deleted file mode 100644 index cd858f16..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java +++ /dev/null @@ -1,85 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.potion; - -import java.util.List; -import java.util.Random; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.common.IFillingAgent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class WeakFillingAgent extends Item implements IFillingAgent -{ - public WeakFillingAgent() - { - super(); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public int getFilledAmountForPotionNumber(int potionEffects) - { - Random rand = new Random(); - - if (potionEffects == 0) - { - return 8; - } - - if (potionEffects == 1 || potionEffects == 2) - { - if (rand.nextFloat() > 0.5f) - { - return (4 - potionEffects); - } else - { - return 3 - potionEffects; - } - } - - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WeakFillingAgent"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used in alchemy"); - - if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(par1ItemStack); - - if (recipe != null) - { - par3List.add(EnumChatFormatting.BLUE + "Recipe:"); - - for (ItemStack item : recipe) - { - if (item != null) - { - par3List.add("" + item.getDisplayName()); - } - } - } - } else - { - par3List.add("-Press " + EnumChatFormatting.BLUE + "shift" + EnumChatFormatting.GRAY + " for Recipe-"); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java deleted file mode 100644 index 8858819b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java +++ /dev/null @@ -1,106 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AirSigil extends EnergyItems implements ArmourUpgrade -{ - private int energyUsed; - - public AirSigil() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(50); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("I feel lighter already..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:AirSigil"); - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - Vec3 vec = par3EntityPlayer.getLookVec(); - double wantedVelocity = 1.7; - - if (par3EntityPlayer.isPotionActive(AlchemicalWizardry.customPotionBoost)) - { - int i = par3EntityPlayer.getActivePotionEffect(AlchemicalWizardry.customPotionBoost).getAmplifier(); - wantedVelocity += (1 + i) * (0.35); - } - - par3EntityPlayer.motionX = vec.xCoord * wantedVelocity; - par3EntityPlayer.motionY = vec.yCoord * wantedVelocity; - par3EntityPlayer.motionZ = vec.zCoord * wantedVelocity; - par2World.playSoundEffect((double) ((float) par3EntityPlayer.posX + 0.5F), (double) ((float) par3EntityPlayer.posY + 0.5F), (double) ((float) par3EntityPlayer.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (par2World.rand.nextFloat() - par2World.rand.nextFloat()) * 0.8F); - par3EntityPlayer.fallDistance = 0; - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } else - { - return par1ItemStack; - } - - return par1ItemStack; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, - ItemStack thisItemStack) - { - // TODO Auto-generated method stub - player.fallDistance = 0; - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 50; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java deleted file mode 100644 index bf83193b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java +++ /dev/null @@ -1,141 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IReagentHandler; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class DivinationSigil extends Item implements ArmourUpgrade, IReagentManipulator, IBindable -{ - public DivinationSigil() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:DivinationSigil"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Peer into the soul to"); - par3List.add("get the current essence"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.worldObj.isRemote) - { - return par1ItemStack; - } - - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null || itemTag.getString("ownerName").equals("")) - { - return par1ItemStack; - } - - String ownerName = itemTag.getString("ownerName"); - //PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(ownerName)); - int currentEssence = EnergyItems.getCurrentEssence(ownerName); - - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, false); - - if (movingobjectposition == null) - { - par3EntityPlayer.addChatMessage(new ChatComponentText("Current Essence: " + EnergyItems.getCurrentEssence(ownerName) + "LP")); - - return par1ItemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int x = movingobjectposition.blockX; - int y = movingobjectposition.blockY; - int z = movingobjectposition.blockZ; - - TileEntity tile = par2World.getTileEntity(x, y, z); - - if(!(tile instanceof IReagentHandler)) - { - par3EntityPlayer.addChatMessage(new ChatComponentText("Current Essence: " + EnergyItems.getCurrentEssence(ownerName) + "LP")); - - return par1ItemStack; - } - - IReagentHandler relay = (IReagentHandler)tile; - - ReagentContainerInfo[] infoList = relay.getContainerInfo(ForgeDirection.UNKNOWN); - if(infoList != null) - { - for(ReagentContainerInfo info : infoList) - { - if(info != null && info.reagent != null && info.reagent.reagent != null) - { - par3EntityPlayer.addChatComponentMessage(new ChatComponentText("Reagent: " + ReagentRegistry.getKeyForReagent(info.reagent.reagent) + ", Amount: " + info.reagent.amount)); - } - } - } - } - } - - return par1ItemStack; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - // TODO Auto-generated method stub - player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 400, 9, true)); - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 25; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemBloodLightSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemBloodLightSigil.java deleted file mode 100644 index 6134399a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemBloodLightSigil.java +++ /dev/null @@ -1,145 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityBloodLightProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemBloodLightSigil extends EnergyItems implements IHolding -{ - private int tickDelay = 100; - - public ItemBloodLightSigil() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(10); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - // TODO Auto-generated constructor stub - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("I see a light!"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BloodLightSigil"); - } - - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par2EntityPlayer); - EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); - - if (par3World.isRemote) - { - return true; - } - - if (par7 == 0 && par3World.isAirBlock(par4, par5 - 1, par6)) - { - par3World.setBlock(par4, par5 - 1, par6, ModBlocks.blockBloodLight); - } - - if (par7 == 1 && par3World.isAirBlock(par4, par5 + 1, par6)) - { - par3World.setBlock(par4, par5 + 1, par6, ModBlocks.blockBloodLight); - } - - if (par7 == 2 && par3World.isAirBlock(par4, par5, par6 - 1)) - { - par3World.setBlock(par4, par5, par6 - 1, ModBlocks.blockBloodLight); - } - - if (par7 == 3 && par3World.isAirBlock(par4, par5, par6 + 1)) - { - par3World.setBlock(par4, par5, par6 + 1, ModBlocks.blockBloodLight); - } - - if (par7 == 4 && par3World.isAirBlock(par4 - 1, par5, par6)) - { - par3World.setBlock(par4 - 1, par5, par6, ModBlocks.blockBloodLight); - } - - if (par7 == 5 && par3World.isAirBlock(par4 + 1, par5, par6)) - { - par3World.setBlock(par4 + 1, par5, par6, ModBlocks.blockBloodLight); - } - - return true; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed() * 5); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityBloodLightProjectile(par2World, par3EntityPlayer, 10)); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (par2World.getWorldTime() % tickDelay == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par3Entity instanceof EntityPlayer) - { - EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer) par3Entity, getEnergyUsed()); - } - } - - return; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemFluidSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemFluidSigil.java deleted file mode 100644 index 2af9459f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemFluidSigil.java +++ /dev/null @@ -1,811 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.MaterialLiquid; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidContainerItem; -import net.minecraftforge.fluids.IFluidHandler; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.Int3; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemFluidSigil extends Item implements IFluidContainerItem -{ - private int capacity = 128 * 1000; - private static final int STATE_SYPHON = 0; - private static final int STATE_FORCE_SYPHON = 1; - private static final int STATE_PLACE = 2; - private static final int STATE_INPUT_TANK = 3; - private static final int STATE_DRAIN_TANK = 4; - private static final int STATE_BEAST_DRAIN = 5; - private static final int maxNumOfStates = 6; - - public ItemFluidSigil() - { - super(); - this.setMaxDamage(0); - this.setMaxStackSize(1); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("A sigil with a lovely affinity for fluids"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - //par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - - switch(this.getActionState(par1ItemStack)) - { - case STATE_SYPHON: - par3List.add("Syphoning Mode"); - break; - case STATE_FORCE_SYPHON: - par3List.add("Force-syphon Mode"); - break; - case STATE_PLACE: - par3List.add("Fluid Placement Mode"); - break; - case STATE_INPUT_TANK: - par3List.add("Fill Tank Mode"); - break; - case STATE_DRAIN_TANK: - par3List.add("Drain Tank Mode"); - break; - case STATE_BEAST_DRAIN: - par3List.add("Beast Mode"); - break; - } - - FluidStack fluid = this.getFluid(par1ItemStack); - if(fluid!=null && fluid.amount>0) - { - String str = fluid.getFluid().getName(); - int amount = fluid.amount; - - par3List.add("" + amount + "mB of " + str); - }else - { - par3List.add("Empty"); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WaterSigil"); - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if(par3EntityPlayer.isSneaking()) - { - int curState = this.cycleActionState(par1ItemStack); - this.sendMessageViaState(curState, par3EntityPlayer); - return par1ItemStack; - } - -// if(par2World.isRemote) -// { -// return par1ItemStack; -// } - - switch(this.getActionState(par1ItemStack)) - { - case STATE_SYPHON: - return this.fillItemFromWorld(par1ItemStack, par2World, par3EntityPlayer,false); - case STATE_FORCE_SYPHON: - return this.fillItemFromWorld(par1ItemStack, par2World, par3EntityPlayer,true); - case STATE_PLACE: - return this.emptyItemToWorld(par1ItemStack, par2World, par3EntityPlayer); - case STATE_INPUT_TANK: - return this.fillSelectedTank(par1ItemStack, par2World, par3EntityPlayer); - case STATE_DRAIN_TANK: - return this.drainSelectedTank(par1ItemStack, par2World, par3EntityPlayer); - case STATE_BEAST_DRAIN: - return this.fillItemFromBeastWorld(par1ItemStack, par2World, par3EntityPlayer, true); - } - - return par1ItemStack; - } - - public int getActionState(ItemStack item) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - return item.stackTagCompound.getInteger("actionState"); - } - - public void setActionState(ItemStack item, int actionState) - { - if (item.stackTagCompound == null) - { - item.setTagCompound(new NBTTagCompound()); - } - - item.stackTagCompound.setInteger("actionState", actionState); - } - - public int cycleActionState(ItemStack item) - { - int state = this.getActionState(item); - - state++; - - if(state>=maxNumOfStates) - { - state = 0; - } - - this.setActionState(item, state); - - return state; - } - - public void sendMessageViaState(int state, EntityPlayer player) - { - if(player.worldObj.isRemote) - { - ChatComponentText cmc = new ChatComponentText(""); - switch(state) - { - case STATE_SYPHON: - cmc.appendText("Now in Syphoning Mode"); - break; - case STATE_FORCE_SYPHON: - cmc.appendText("Now in Force-syphon Mode"); - break; - case STATE_PLACE: - cmc.appendText("Now in Fluid Placement Mode"); - break; - case STATE_INPUT_TANK: - cmc.appendText("Now in Fill Tank Mode"); - break; - case STATE_DRAIN_TANK: - cmc.appendText("Now in Drain Tank Mode"); - break; - case STATE_BEAST_DRAIN: - cmc.appendText("Now in Beast Mode"); - break; - } - player.addChatComponentMessage(cmc); - } - } - - public ItemStack fillItemFromBeastWorld(ItemStack container, World world, EntityPlayer player, boolean forceFill) - { - if(world.isRemote) - { - return container; - } - int range = 5; - - float f = 1.0F; - double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double)f; - double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double)f + 1.62D - (double)player.yOffset; - double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double)f; - boolean flag = true; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, flag); - - if (movingobjectposition == null) - { - return container; - } - else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int x = movingobjectposition.blockX; - int y = movingobjectposition.blockY; - int z = movingobjectposition.blockZ; - - if (!world.canMineBlock(player, x, y, z)) - { - return container; - } - - if (!player.canPlayerEdit(x, y, z, movingobjectposition.sideHit, container)) - { - return container; - } - - boolean[][][] boolList = new boolean[range * 2 + 1][range * 2 + 1][range * 2 + 1]; - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - for(int k = 0; k < 2 * range + 1; k++) - { - boolList[i][j][k] = false; - } - } - } - - List positionList = new ArrayList(); - - boolList[range][range][range] = true; - positionList.add(new Int3(range, range, range)); - boolean isReady = false; - - while (!isReady) - { - isReady = true; - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - for(int k=0; k < 2*range+1;k++) - { - if (boolList[i][j][k]) - { - if (i - 1 >= 0 && !boolList[i - 1][j][k]) - { - Block block = world.getBlock(x - range + i - 1, y - range + j, z - range + k); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if (fluid != null) - { - boolList[i - 1][j][k] = true; - positionList.add(new Int3(i-1,j,k)); - isReady = false; - } - } - - if (j - 1 >= 0 && !boolList[i][j - 1][k]) - { - Block block = world.getBlock(x - range + i, y - range + j - 1, z - range + k); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if (fluid != null) - { - boolList[i][j - 1][k] = true; - positionList.add(new Int3(i,j-1,k)); - isReady = false; - } - } - - if(k - 1 >=0 && !boolList[i][j][k - 1]) - { - Block block = world.getBlock(x - range + i, y - range + j, z - range + k - 1); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if (fluid != null) - { - boolList[i][j][k - 1] = true; - positionList.add(new Int3(i,j,k-1)); - isReady = false; - } - } - - if (i + 1 <= 2 * range && !boolList[i + 1][j][k]) - { - Block block = world.getBlock(x - range + i + 1, y - range + j, z - range + k); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if (fluid != null) - { - boolList[i + 1][j][k] = true; - positionList.add(new Int3(i+1,j,k)); - isReady = false; - } - } - - if (j + 1 <= 2 * range && !boolList[i][j + 1][k]) - { - Block block = world.getBlock(x - range + i, y - range + j + 1, z - range + k); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if (fluid != null) - { - boolList[i][j + 1][k] = true; - positionList.add(new Int3(i,j+1,k)); - isReady = false; - } - } - - if(k + 1 <= 2*range && !boolList[i][j][k+1]) - { - Block block = world.getBlock(x - range + i, y - range + j, z - range + k + 1); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if (fluid != null) - { - boolList[i][j][k+1] = true; - positionList.add(new Int3(i,j,k+1)); - isReady = false; - } - } - } - } - } - } - } - - for(Int3 pos : positionList) - { - int i = pos.xCoord; - int j = pos.yCoord; - int k = pos.zCoord; - - if(!boolList[i][j][k]) - { - continue; - } - if (world.getBlock(x+i-range, y+j-range, z+k-range) != null && world.getBlock(x+i-range, y+j-range, z+k-range).getMaterial() instanceof MaterialLiquid) - { - //world.setBlockToAir(x+i-range, y+j-range, z+k-range); - Block block = world.getBlock(x+i-range, y+j-range, z+k-range); - if(block == null) - { - continue; - } - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - System.out.println("x: " + (i-range) + " y: " + (j-range) + " z: " + (k-range)); - - - if(fluid==null || world.getBlockMetadata(x+i-range, y+j-range, z+k-range) != 0) - { - continue; - } - - - FluidStack fillStack = new FluidStack(fluid,1000); - - int amount = this.fill(container, fillStack, false); - - if((amount > 0 && forceFill) || (amount >=1000 && !forceFill)) - { - //if(!player.capabilities.isCreativeMode) - { - world.setBlockToAir(x+i-range, y+j-range, z+k-range); - - } - - this.fill(container, new FluidStack(fluid,1000), true); - } - } - } - } - - return container; - } - } - - public ItemStack fillItemFromWorld(ItemStack container, World world, EntityPlayer player, boolean forceFill) - { - float f = 1.0F; - double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double)f; - double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double)f + 1.62D - (double)player.yOffset; - double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double)f; - boolean flag = true; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, flag); - - if (movingobjectposition == null) - { - return container; - } - else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!world.canMineBlock(player, i, j, k)) - { - return container; - } - - if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, container)) - { - return container; - } - - if (world.getBlock(i, j, k) != null && world.getBlock(i, j, k).getMaterial() instanceof MaterialLiquid) - { - Block block = world.getBlock(i, j, k); - Fluid fluid = FluidRegistry.lookupFluidForBlock(block); - - if(fluid==null) - { - return container; - } - - FluidStack fillStack = new FluidStack(fluid,1000); - - int amount = this.fill(container, fillStack, false); - - if((amount > 0 && forceFill) || (amount >=1000 && !forceFill)) - { - if(!player.capabilities.isCreativeMode) - { - world.setBlockToAir(i, j, k); - } - - this.fill(container, new FluidStack(fluid,1000), true); - - if (!player.capabilities.isCreativeMode) - { -// if (!EnergyItems.syphonBatteries(container, player, getEnergyUsed())) -// { -// } - } - else - { - return container; - } - } - } - } - - return container; - } - } - - public ItemStack emptyItemToWorld(ItemStack container, World world, EntityPlayer player) - { - FluidStack simStack = this.drain(container, 1000, false); - - if(simStack!=null && simStack.amount>=1000) - { - Block fluidBlock = simStack.getFluid().getBlock(); - - float f = 1.0F; - double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double)f; - double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double)f + 1.62D - (double)player.yOffset; - double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double)f; - boolean flag = false; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, flag); - - if (movingobjectposition == null) - { - return container; - } - else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!world.canMineBlock(player, i, j, k)) - { - return container; - } - - if (movingobjectposition.sideHit == 0) - { - --j; - } - - if (movingobjectposition.sideHit == 1) - { - ++j; - } - - if (movingobjectposition.sideHit == 2) - { - --k; - } - - if (movingobjectposition.sideHit == 3) - { - ++k; - } - - if (movingobjectposition.sideHit == 4) - { - --i; - } - - if (movingobjectposition.sideHit == 5) - { - ++i; - } - - if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, container)) - { - return container; - } - - if (this.tryPlaceContainedLiquid(world, fluidBlock, d0, d1, d2, i, j, k) && !player.capabilities.isCreativeMode) - { - this.drain(container, 1000, true); - - return container; - } - - } - - return container; - } - } - - return container; - } - - public boolean tryPlaceContainedLiquid(World par1World, Block block, double par2, double par4, double par6, int par8, int par9, int par10) - { - if (!par1World.isAirBlock(par8, par9, par10) && par1World.getBlock(par8, par9, par10).func_149730_j()) - { - return false; - } - else if ((par1World.getBlock(par8, par9, par10).getMaterial() instanceof MaterialLiquid && (par1World.getBlockMetadata(par8, par9, par10) == 0))) - { - return false; - } - else - { - if ((block == Blocks.water || block == Blocks.flowing_water) && par1World.provider.isHellWorld) - { - par1World.playSoundEffect(par2 + 0.5D, par4 + 0.5D, par6 + 0.5D, "random.fizz", 0.5F, 2.6F + (par1World.rand.nextFloat() - par1World.rand.nextFloat()) * 0.8F); - - for (int l = 0; l < 8; ++l) - { - par1World.spawnParticle("largesmoke", (double)par8 + Math.random(), (double)par9 + Math.random(), (double)par10 + Math.random(), 0.0D, 0.0D, 0.0D); - } - } - else - { - par1World.setBlock(par8, par9, par10, block, 0, 3); - } - - return true; - } - } - - public ItemStack fillSelectedTank(ItemStack container, World world, EntityPlayer player) - { - FluidStack fluid = this.getFluid(container); - - if(fluid == null) - { - return container; - } - - float f = 1.0F; - double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double)f; - double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double)f + 1.62D - (double)player.yOffset; - double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double)f; - boolean flag = false; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, flag); - - if (movingobjectposition == null) - { - return container; - } - else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - TileEntity tile = world.getTileEntity(i, j, k); - - if(tile instanceof IFluidHandler) - { - int amount = ((IFluidHandler) tile).fill(ForgeDirection.getOrientation(movingobjectposition.sideHit), fluid, true); - - this.drain(container, amount, true); - } - } - } - - return container; - } - - public ItemStack drainSelectedTank(ItemStack container, World world, EntityPlayer player) - { - float f = 1.0F; - double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double)f; - double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double)f + 1.62D - (double)player.yOffset; - double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double)f; - boolean flag = false; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, flag); - - if (movingobjectposition == null) - { - return container; - } - else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - TileEntity tile = world.getTileEntity(i, j, k); - - if(tile instanceof IFluidHandler) - { - FluidStack fluidAmount = ((IFluidHandler) tile).drain(ForgeDirection.getOrientation(movingobjectposition.sideHit), this.getCapacity(container), false); - - int amount = this.fill(container, fluidAmount, false); - - if(amount>0) - { - ((IFluidHandler) tile).drain(ForgeDirection.getOrientation(movingobjectposition.sideHit), this.getCapacity(container), true); - - this.fill(container, fluidAmount, true); - } - } - } - } - - return container; - } - - /* IFluidContainerItem */ - @Override - public FluidStack getFluid(ItemStack container) - { - if (container.stackTagCompound == null || !container.stackTagCompound.hasKey("Fluid")) - { - return null; - } - return FluidStack.loadFluidStackFromNBT(container.stackTagCompound.getCompoundTag("Fluid")); - } - - @Override - public int getCapacity(ItemStack container) - { - return capacity; - } - - @Override - public int fill(ItemStack container, FluidStack resource, boolean doFill) - { - if (resource == null) - { - return 0; - } - - if (!doFill) - { - if (container.stackTagCompound == null || !container.stackTagCompound.hasKey("Fluid")) - { - return Math.min(capacity, resource.amount); - } - - FluidStack stack = FluidStack.loadFluidStackFromNBT(container.stackTagCompound.getCompoundTag("Fluid")); - - if (stack == null || stack.amount <= 0) - { - return Math.min(capacity, resource.amount); - } - - if (!stack.isFluidEqual(resource)) - { - return 0; - } - - return Math.min(capacity - stack.amount, resource.amount); - } - - if (container.stackTagCompound == null) - { - container.stackTagCompound = new NBTTagCompound(); - } - - if (!container.stackTagCompound.hasKey("Fluid")) - { - NBTTagCompound fluidTag = resource.writeToNBT(new NBTTagCompound()); - - if (capacity < resource.amount) - { - fluidTag.setInteger("Amount", capacity); - container.stackTagCompound.setTag("Fluid", fluidTag); - return capacity; - } - - container.stackTagCompound.setTag("Fluid", fluidTag); - return resource.amount; - } - - NBTTagCompound fluidTag = container.stackTagCompound.getCompoundTag("Fluid"); - FluidStack stack = FluidStack.loadFluidStackFromNBT(fluidTag); - - if(stack==null || stack.amount<=0) - { - NBTTagCompound fluidTag1 = resource.writeToNBT(new NBTTagCompound()); - - if (capacity < resource.amount) - { - fluidTag1.setInteger("Amount", capacity); - container.stackTagCompound.setTag("Fluid", fluidTag1); - return capacity; - } - - container.stackTagCompound.setTag("Fluid", fluidTag1); - return resource.amount; - } - - if (!stack.isFluidEqual(resource)) - { - return 0; - } - - int filled = capacity - stack.amount; - if (resource.amount < filled) - { - stack.amount += resource.amount; - filled = resource.amount; - } - else - { - stack.amount = capacity; - } - - container.stackTagCompound.setTag("Fluid", stack.writeToNBT(fluidTag)); - return filled; - } - - @Override - public FluidStack drain(ItemStack container, int maxDrain, boolean doDrain) - { - if (container.stackTagCompound == null || !container.stackTagCompound.hasKey("Fluid")) - { - return null; - } - - FluidStack stack = FluidStack.loadFluidStackFromNBT(container.stackTagCompound.getCompoundTag("Fluid")); - if (stack == null) - { - return null; - } - - stack.amount = Math.min(stack.amount, maxDrain); - if (doDrain) - { - if (maxDrain >= capacity) - { - container.stackTagCompound.removeTag("Fluid"); - - if (container.stackTagCompound.hasNoTags()) - { - container.stackTagCompound = null; - } - return stack; - } - - NBTTagCompound fluidTag = container.stackTagCompound.getCompoundTag("Fluid"); - fluidTag.setInteger("Amount", fluidTag.getInteger("Amount") - maxDrain); - container.stackTagCompound.setTag("Fluid", fluidTag); - } - return stack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSeerSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSeerSigil.java deleted file mode 100644 index ea4e4db2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSeerSigil.java +++ /dev/null @@ -1,88 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSeerSigil extends Item implements IHolding, ArmourUpgrade -{ - public ItemSeerSigil() - { - super(); - this.maxStackSize = 1; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SeerSigil"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("When seeing all is not enough"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.worldObj.isRemote) - { - return par1ItemStack; - } - - NBTTagCompound itemTag = par1ItemStack.stackTagCompound; - - if (itemTag == null || itemTag.getString("ownerName").equals("")) - { - return par1ItemStack; - } - - String ownerName = itemTag.getString("ownerName"); - - return par1ItemStack; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, - ItemStack thisItemStack) - { - // TODO Auto-generated method stub - - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java deleted file mode 100644 index b341e859..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java +++ /dev/null @@ -1,171 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSigilOfEnderSeverance extends EnergyItems implements IHolding -{ - @SideOnly(Side.CLIENT) - private static IIcon activeIcon; - @SideOnly(Side.CLIENT) - private static IIcon passiveIcon; - - public ItemSigilOfEnderSeverance() - { - super(); - this.maxStackSize = 1; - setEnergyUsed(200); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Put those endermen in a Dire situation!"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - List list = SpellHelper.getEntitiesInRange(par2World, par3Entity.posX, par3Entity.posY, par3Entity.posZ, 4.5, 4.5); - for(Entity entity : list) - { - if(!entity.equals(par3Entity)&&entity instanceof EntityLiving) - { - ((EntityLiving)entity).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionPlanarBinding.id,5,0)); - } - } - } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - } - } - - return; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfSupression.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfSupression.java deleted file mode 100644 index c7c607c4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfSupression.java +++ /dev/null @@ -1,270 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import javax.swing.Icon; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSigilOfSupression extends EnergyItems implements ArmourUpgrade -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private int tickDelay = 200; - private int radius = 5; - private int refresh = 100; - - public ItemSigilOfSupression() - { - super(); - this.maxStackSize = 1; - setEnergyUsed(400); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Better than telekinesis"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSupression_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSupression_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSupression_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if(SpellHelper.isFakePlayer(par2World, par3EntityPlayer)) - { - return par1ItemStack; - } - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % tickDelay); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - if(SpellHelper.isFakePlayer(par2World, (EntityPlayer)par3Entity)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")&&(!par2World.isRemote)) - { - Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer); - int x = (int)blockVec.xCoord; - int y = (int)blockVec.yCoord; - int z = (int)blockVec.zCoord; - - for (int i = -radius; i <= radius; i++) - { - for (int j = -radius; j <= radius; j++) - { - for(int k = -radius; k <= radius; k++) - { - if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) - { - continue; - } - - Block block = par2World.getBlock(x+i, y+j, z+k); - - - if(SpellHelper.isBlockFluid(block)) - { - if(par2World.getTileEntity(x+i, y+j, z+k)!=null) - { - par2World.setBlockToAir(x+i, y+j, z+k); - } - TESpectralContainer.createSpectralBlockAtLocation(par2World, x+i, y+j, z+k, refresh); - } - else - { - TileEntity tile = par2World.getTileEntity(x+i, y+j, z+k); - if(tile instanceof TESpectralContainer) - { - ((TESpectralContainer) tile).resetDuration(refresh); - } - } - } - } - } - } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - - } - } - - return; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - Vec3 blockVec = SpellHelper.getEntityBlockVector(player); - int x = (int)blockVec.xCoord; - int y = (int)blockVec.yCoord; - int z = (int)blockVec.zCoord; - - for (int i = -radius; i <= radius; i++) - { - for (int j = -radius; j <= radius; j++) - { - for(int k = -radius; k <= radius; k++) - { - if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) - { - continue; - } - - Block block = world.getBlock(x+i, y+j, z+k); - - - if(SpellHelper.isBlockFluid(block)) - { - if(world.getTileEntity(x+i, y+j, z+k)!=null) - { - world.setBlockToAir(x+i, y+j, z+k); - } - TESpectralContainer.createSpectralBlockAtLocation(world, x+i, y+j, z+k, refresh); - } - else - { - TileEntity tile = world.getTileEntity(x+i, y+j, z+k); - if(tile instanceof TESpectralContainer) - { - ((TESpectralContainer) tile).resetDuration(refresh); - } - } - } - } - } - } - - @Override - public boolean isUpgrade() - { - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - return 200; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java deleted file mode 100644 index 75028002..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java +++ /dev/null @@ -1,310 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemBucket; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidHandler; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class LavaSigil extends ItemBucket implements ArmourUpgrade -{ - /** - * field for checking if the bucket has been filled. - */ - private Block isFull = Blocks.lava; - private int energyUsed; - - public LavaSigil() - { - super(Blocks.lava); - this.maxStackSize = 1; - //setMaxDamage(2000); - setEnergyUsed(1000); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:LavaSigil"); - } - - @Override - public ItemStack getContainerItem(ItemStack itemStack) - { - ItemStack copiedStack = itemStack.copy(); - copiedStack.setItemDamage(copiedStack.getItemDamage() + getEnergyUsed()); - copiedStack.stackSize = 1; - return copiedStack; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Contact with liquid is"); - par3List.add("highly unrecommended."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - float f = 1.0F; - double d0 = par3EntityPlayer.prevPosX + (par3EntityPlayer.posX - par3EntityPlayer.prevPosX) * (double) f; - double d1 = par3EntityPlayer.prevPosY + (par3EntityPlayer.posY - par3EntityPlayer.prevPosY) * (double) f + 1.62D - (double) par3EntityPlayer.yOffset; - double d2 = par3EntityPlayer.prevPosZ + (par3EntityPlayer.posZ - par3EntityPlayer.prevPosZ) * (double) f; - - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, false); - - if (movingobjectposition == null) - { - return par1ItemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) - { - return par1ItemStack; - } - - TileEntity tile = par2World.getTileEntity(i, j, k); - if(tile instanceof IFluidHandler) - { - FluidStack fluid = new FluidStack(FluidRegistry.LAVA,1000); - int amount = ((IFluidHandler) tile).fill(ForgeDirection.getOrientation(movingobjectposition.sideHit), fluid, false); - - if(amount>0) - { - ((IFluidHandler) tile).fill(ForgeDirection.getOrientation(movingobjectposition.sideHit), fluid, true); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return par1ItemStack; - } - - //if (this.isFull == 0) - { - //Empty - } //else - { - if (movingobjectposition.sideHit == 0) - { - --j; - } - - if (movingobjectposition.sideHit == 1) - { - ++j; - } - - if (movingobjectposition.sideHit == 2) - { - --k; - } - - if (movingobjectposition.sideHit == 3) - { - ++k; - } - - if (movingobjectposition.sideHit == 4) - { - --i; - } - - if (movingobjectposition.sideHit == 5) - { - ++i; - } - - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) - { - return par1ItemStack; - } - - if (this.tryPlaceContainedLiquid(par2World, d0, d1, d2, i, j, k) && !par3EntityPlayer.capabilities.isCreativeMode) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } else - { - return par1ItemStack; - } - } - } - } - - return par1ItemStack; - } - } - - /** - * Attempts to place the liquid contained inside the bucket. - */ - public boolean tryPlaceContainedLiquid(World par1World, double par2, double par4, double par6, int par8, int par9, int par10) - { - //if (this.isFull <= 0) - { - //return false; - } if (!par1World.isAirBlock(par8, par9, par10) && par1World.getBlock(par8, par9, par10).getMaterial().isSolid()) - { - return false; - } else if ((par1World.getBlock(par8, par9, par10) == Blocks.lava || par1World.getBlock(par8, par9, par10) == Blocks.flowing_lava) && par1World.getBlockMetadata(par8, par9, par10) == 0) - { - return false; - } else - { - par1World.setBlock(par8, par9, par10, this.isFull, 0, 3); - return true; - } - } - - protected void setEnergyUsed(int par1int) - { - this.energyUsed = par1int; - } - - protected int getEnergyUsed() - { - return this.energyUsed; - } - //Heals the player using the item. If the player is at full health, or if the durability cannot be used any more, - //the item is not used. - - // protected void damagePlayer(World world, EntityPlayer player, int damage) -// { -// if (world != null) -// { -// double posX = player.posX; -// double posY = player.posY; -// double posZ = player.posZ; -// world.playSoundEffect((double)((float)posX + 0.5F), (double)((float)posY + 0.5F), (double)((float)posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); -// float f = (float)1.0F; -// float f1 = f * 0.6F + 0.4F; -// float f2 = f * f * 0.7F - 0.5F; -// float f3 = f * f * 0.6F - 0.7F; -// -// for (int l = 0; l < 8; ++l) -// { -// world.spawnParticle("reddust", posX + Math.random() - Math.random(), posY + Math.random() - Math.random(), posZ + Math.random() - Math.random(), f1, f2, f3); -// } -// } -// -// for (int i = 0; i < damage; i++) -// { -// //player.setEntityHealth((player.getHealth()-1)); -// player.setEntityHealth(player.func_110143_aJ() - 1); -// -// if (player.func_110143_aJ() <= 0) -// { -// player.inventory.dropAllItems(); -// } -// } -// } - protected boolean syphonBatteries(ItemStack ist, EntityPlayer player, int damageToBeDone) - { - if (!player.capabilities.isCreativeMode) - { - boolean usedBattery = false; - IInventory inventory = player.inventory; - - for (int slot = 0; slot < inventory.getSizeInventory(); slot++) - { - ItemStack stack = inventory.getStackInSlot(slot); - - if (stack == null) - { - continue; - } - - if (stack.getItem() instanceof EnergyBattery && !usedBattery) - { - if (stack.getItemDamage() <= stack.getMaxDamage() - damageToBeDone) - { - stack.setItemDamage(stack.getItemDamage() + damageToBeDone); - usedBattery = true; - } - } - } - - if (!usedBattery) - { - return false; - } - - return true; - } else - { - return true; - } - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, - ItemStack thisItemStack) - { - // TODO Auto-generated method stub - player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2, 9,true)); - player.extinguish(); - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 100; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfElementalAffinity.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfElementalAffinity.java deleted file mode 100644 index daa017a1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfElementalAffinity.java +++ /dev/null @@ -1,171 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfElementalAffinity extends EnergyItems -{ - @SideOnly(Side.CLIENT) - private static IIcon activeIcon; - @SideOnly(Side.CLIENT) - private static IIcon passiveIcon; - - public SigilOfElementalAffinity() - { - super(); - this.maxStackSize = 1; - setEnergyUsed(200); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Perfect for a fire-breathing fish"); - par3List.add("who is afraid of heights!"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfTheFastMiner"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:ElementalSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:ElementalSigil_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 2, 0, true)); - par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2, 0, true)); - - //Test with added health boost - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3EntityPlayer.fallDistance = 0; - par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 2, 0, true)); - par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2, 0, true)); - } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java deleted file mode 100644 index 54c64001..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java +++ /dev/null @@ -1,305 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.IGrowable; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.BonemealEvent; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.alchemy.ICombinationalCatalyst; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.common.eventhandler.Event.Result; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfGrowth extends EnergyItems implements ArmourUpgrade -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private int tickDelay = 100; - - public SigilOfGrowth() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(150); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - // TODO Auto-generated constructor stub - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Who needs a green thumb when"); - par3List.add("you have a green slate?"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:GrowthSigil_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:GrowthSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:GrowthSigil_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par2EntityPlayer); - - if (applyBonemeal(par1ItemStack, par3World, par4, par5, par6, par2EntityPlayer)) - { - EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); - - if (par3World.isRemote) - { - par3World.playAuxSFX(2005, par4, par5, par6, 0); - return true; - } - - return true; - } - - return false; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if(par2World.isRemote) - { - return par1ItemStack; - } - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % tickDelay); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (par2World.getWorldTime() % tickDelay == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par3Entity instanceof EntityPlayer) - { - EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer) par3Entity, getEnergyUsed()); - } - - int range = 5; - int verticalRange = 2; - int posX = (int) Math.round(par3Entity.posX - 0.5f); - int posY = (int) par3Entity.posY; - int posZ = (int) Math.round(par3Entity.posZ - 0.5f); - - for (int ix = posX - range; ix <= posX + range; ix++) - { - for (int iz = posZ - range; iz <= posZ + range; iz++) - { - for (int iy = posY - verticalRange; iy <= posY + verticalRange; iy++) - { - Block block = par2World.getBlock(ix, iy, iz); - - - if (block instanceof IPlantable) - { - if (par2World.rand.nextInt(20) == 0) - { - block.updateTick(par2World, ix, iy, iz, par2World.rand); - } - } - } - } - } - } - - return; - } - - public static boolean applyBonemeal(ItemStack p_150919_0_, World p_150919_1_, int p_150919_2_, int p_150919_3_, int p_150919_4_, EntityPlayer player) - { - Block block = p_150919_1_.getBlock(p_150919_2_, p_150919_3_, p_150919_4_); - - BonemealEvent event = new BonemealEvent(player, p_150919_1_, block, p_150919_2_, p_150919_3_, p_150919_4_); - if (MinecraftForge.EVENT_BUS.post(event)) - { - return false; - } - - if (event.getResult() == Result.ALLOW) - { - if (!p_150919_1_.isRemote) - { - - } - return true; - } - - if (block instanceof IGrowable) - { - IGrowable igrowable = (IGrowable)block; - - if (igrowable.func_149851_a(p_150919_1_, p_150919_2_, p_150919_3_, p_150919_4_, p_150919_1_.isRemote)) - { - if (!p_150919_1_.isRemote) - { - if (igrowable.func_149852_a(p_150919_1_, p_150919_1_.rand, p_150919_2_, p_150919_3_, p_150919_4_)) - { - igrowable.func_149853_b(p_150919_1_, p_150919_1_.rand, p_150919_2_, p_150919_3_, p_150919_4_); - } - - - } - - return true; - } - } - - return false; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - if(world.isRemote) - { - return; - } - - int range = 5; - int verticalRange = 2; - int posX = (int) Math.round(player.posX - 0.5f); - int posY = (int) player.posY; - int posZ = (int) Math.round(player.posZ - 0.5f); - - for (int ix = posX - range; ix <= posX + range; ix++) - { - for (int iz = posZ - range; iz <= posZ + range; iz++) - { - for (int iy = posY - verticalRange; iy <= posY + verticalRange; iy++) - { - Block block = world.getBlock(ix, iy, iz); - - - if (block instanceof IPlantable) - { - if (world.rand.nextInt(10) == 0) - { - block.updateTick(world, ix, iy, iz, world.rand); - } - } - } - } - } - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 50; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java deleted file mode 100644 index 2aecbf25..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java +++ /dev/null @@ -1,198 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import javax.swing.Icon; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfHaste extends EnergyItems implements ArmourUpgrade -{ - @SideOnly(Side.CLIENT) - private static IIcon activeIcon; - @SideOnly(Side.CLIENT) - private static IIcon passiveIcon; - - public SigilOfHaste() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(100); - setEnergyUsed(250); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("One dose of caffeine later..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:HasteSigil_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:HasteSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:HasteSigil_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionBoost.id, 3, 1)); - //par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 2, 2)); - - //Test with added health boost - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionBoost.id, 3, 1)); - } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - //par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionBoost.id, 205, 1)); - - //par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 205, 2)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - player.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionBoost.id, 3, 1,true)); - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 150; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java deleted file mode 100644 index 03b1f730..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java +++ /dev/null @@ -1,371 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfHolding extends EnergyItems -{ - private int invSize = 4; - - public static List allowedSigils = new ArrayList(); - - public SigilOfHolding() - { - super(); - this.maxStackSize = 1; - //setEnergyUsed(100); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfHolding"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (!(stack.stackTagCompound == null)) - { - ItemStack[] inv = getInternalInventory(stack); - - if (inv == null) - { - return this.itemIcon; - } - - ItemStack item = inv[stack.stackTagCompound.getInteger("selectedSlot")]; - - if (item != null) - { - return item.getIconIndex(); - } - } - - return this.itemIcon; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Used to hold several Sigils!"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); -// par3List.add("Current slot: " + par1ItemStack.stackTagCompound.getInteger("selectedSlot")); - ItemStack[] inv = getInternalInventory(par1ItemStack); - - if (inv == null) - { - return; - } - - ItemStack item = inv[par1ItemStack.stackTagCompound.getInteger("selectedSlot")]; - - if (item != null) - { - par3List.add("Current item: " + item.getDisplayName()); - } - - for (int i = 0; i < invSize; i++) - { - if (inv[i] != null) - { - par3List.add("Item in slot " + i + ": " + inv[i].getDisplayName()); - } - } - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - //TODO Might be a good idea to have this item need to be in the player's first slot - //for it to search and consume sigils on right click. Might avoid confusion? At least - //will avoid the need to add a button just for it... - this.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - if (this.addSigilToInventory(par1ItemStack, par3EntityPlayer)) - { - return par1ItemStack; - } - - selectNextSlot(par1ItemStack); - return par1ItemStack; - } - - int currentSlot = this.getSelectedSlot(par1ItemStack); - ItemStack[] inv = getInternalInventory(par1ItemStack); - - if (inv == null) - { - return par1ItemStack; - } - - ItemStack itemUsed = inv[currentSlot]; - - if (itemUsed == null) - { - return par1ItemStack; - } - - itemUsed.getItem().onItemRightClick(itemUsed, par2World, par3EntityPlayer); - saveInternalInventory(par1ItemStack, inv); - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par1ItemStack.stackTagCompound == null)) - { - this.tickInternalInventory(par1ItemStack, par2World, par3Entity, par4, par5); - } - } - - public ItemStack[] getInternalInventory(ItemStack itemStack) - { - NBTTagCompound itemTag = itemStack.stackTagCompound; - - if (itemTag == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - return null; - } - - ItemStack[] inv = new ItemStack[9]; - NBTTagList tagList = itemTag.getTagList("Inventory", Constants.NBT.TAG_COMPOUND); - - if (tagList == null) - { - return null; - } - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < invSize) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - return inv; - } - - public void saveInternalInventory(ItemStack itemStack, ItemStack[] inventory) - { - NBTTagCompound itemTag = itemStack.stackTagCompound; - - if (itemTag == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < invSize; i++) - { - ItemStack stack = inventory[i]; - - if (inventory[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inventory[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - itemTag.setTag("Inventory", itemList); - } - - public void tickInternalInventory(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - ItemStack[] inv = getInternalInventory(par1ItemStack); - - if (inv == null) - { - return; - } - - for (int i = 0; i < invSize; i++) - { - if (inv[i] == null) - { - continue; - } - - inv[i].getItem().onUpdate(inv[i], par2World, par3Entity, par4, par5); - } - } - - public int getSelectedSlot(ItemStack itemStack) - { - NBTTagCompound itemTag = itemStack.stackTagCompound; - - if (itemTag == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - return itemTag.getInteger("selectedSlot"); - } - - public void selectNextSlot(ItemStack itemStack) - { - ItemStack[] inv = getInternalInventory(itemStack); - int filledSlots = 0; - - for (int i = 0; i < invSize; i++) - { - if (inv[i] != null) - { - filledSlots++; - } else - { - break; - } - } - - NBTTagCompound itemTag = itemStack.stackTagCompound; - - if (itemTag == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - if (getSelectedSlot(itemStack) + 1 < filledSlots) - { - itemTag.setInteger("selectedSlot", itemTag.getInteger("selectedSlot") + 1); - } else - { - itemTag.setInteger("selectedSlot", 0); - } - } - - public boolean hasAddedToInventory(ItemStack sigilItemStack, ItemStack addedItemStack) - { - ItemStack[] inv = getInternalInventory(sigilItemStack); - - if (inv == null) - { - return false; - } - - if (addedItemStack == null) - { - return false; - } - - Item item = addedItemStack.getItem(); - int candidateSlot = -1; - - for (int i = invSize - 1; i >= 0; i--) - { - ItemStack nextItem = inv[i]; - - if (nextItem == null) - { - candidateSlot = i; - continue; - } - - if (item == nextItem.getItem()) - { - return false; - } - } - - if (candidateSlot == -1) - { - return false; - } - - if(addedItemStack.getItem() instanceof IHolding) - { - inv[candidateSlot] = addedItemStack; - saveInternalInventory(sigilItemStack, inv); - return true; - } - - for (ItemStack i : allowedSigils) - { - if (i != null && i.getItem() == item) - { - inv[candidateSlot] = addedItemStack; - saveInternalInventory(sigilItemStack, inv); - return true; - } - } - - return false; - } - - public boolean addSigilToInventory(ItemStack sigilItemStack, EntityPlayer player) - { - ItemStack[] playerInventory = player.inventory.mainInventory; - - for (int i = 0; i < 36; i++) - { - if (this.hasAddedToInventory(sigilItemStack, playerInventory[i])) - { - player.inventory.consumeInventoryItem(playerInventory[i].getItem()); - //playerInventory[i].stackSize--; - return true; - } - } - - return false; - } - - public static void initiateSigilOfHolding() - { - allowedSigils.add(new ItemStack(ModItems.waterSigil)); - allowedSigils.add(new ItemStack(ModItems.lavaSigil)); - allowedSigils.add(new ItemStack(ModItems.voidSigil)); - allowedSigils.add(new ItemStack(ModItems.airSigil)); - allowedSigils.add(new ItemStack(ModItems.sigilOfTheFastMiner)); - allowedSigils.add(new ItemStack(ModItems.divinationSigil)); - allowedSigils.add(new ItemStack(ModItems.sigilOfElementalAffinity)); - allowedSigils.add(new ItemStack(ModItems.growthSigil)); - allowedSigils.add(new ItemStack(ModItems.sigilOfHaste)); - allowedSigils.add(new ItemStack(ModItems.sigilOfWind)); - } - - public ItemStack getCurrentItem(ItemStack sigilItemStack) - { - ItemStack[] items = this.getInternalInventory(sigilItemStack); - - if (items == null) - { - return null; - } - - return items[this.getSelectedSlot(sigilItemStack)]; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java deleted file mode 100644 index 5693d17f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java +++ /dev/null @@ -1,222 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfMagnetism extends EnergyItems implements ArmourUpgrade -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private int tickDelay = 300; - - public SigilOfMagnetism() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(50); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - // TODO Auto-generated constructor stub - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("I have a very magnetic personality!"); -// par3List.add("you have a green slate?"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfMagnetism_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfMagnetism_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfMagnetism_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - -// @Override -// public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) -// { -// EnergyItems.checkAndSetItemOwner(par1ItemStack, par2EntityPlayer); -// if(applyBonemeal(par1ItemStack,par3World,par4,par5,par6,par2EntityPlayer)) -// { -// if (par3World.isRemote) -// { -// par3World.playAuxSFX(2005, par4, par5, par6, 0); -// EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); -// return true; -// } -// return true; -// } -// return false; -// } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % tickDelay); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (par2World.getWorldTime() % tickDelay == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par3Entity instanceof EntityPlayer) - { - EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer) par3Entity, getEnergyUsed()); - } - - int range = 5; - int verticalRange = 5; - float posX = Math.round(par3Entity.posX); - float posY = (float) (par3Entity.posY - par3Entity.getEyeHeight()); - float posZ = Math.round(par3Entity.posZ); - List entities = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(posX - 0.5f, posY - 0.5f, posZ - 0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(range, verticalRange, range)); - - for (EntityItem entity : entities) - { - if (entity != null && !par2World.isRemote) - { - entity.onCollideWithPlayer(par3EntityPlayer); - } - } - } - - return; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - int range = 5; - int verticalRange = 5; - float posX = Math.round(player.posX); - float posY = (float) (player.posY - player.getEyeHeight()); - float posZ = Math.round(player.posZ); - List entities = player.worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(posX - 0.5f, posY - 0.5f, posZ - 0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(range, verticalRange, range)); - - for (EntityItem entity : entities) - { - if (entity != null && !world.isRemote) - { - entity.onCollideWithPlayer(player); - } - } - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 25; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java deleted file mode 100644 index 424b4904..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java +++ /dev/null @@ -1,336 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralBlock; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfTheBridge extends EnergyItems implements ArmourUpgrade -{ - private static IIcon activeIcon; - private static IIcon passiveIcon; - private int tickDelay = 200; - - public SigilOfTheBridge() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(100); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - // TODO Auto-generated constructor stub - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Activate to create a bridge"); - par3List.add("beneath your feet."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BridgeSigil_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:BridgeSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:BridgeSigil_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - -// @Override -// public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) -// { -// -// if(applyBonemeal(par1ItemStack,par3World,par4,par5,par6,par2EntityPlayer)) -// { -// if (par3World.isRemote) -// { -// par3World.playAuxSFX(2005, par4, par5, par6, 0); -// EnergyItems.syphonBatteries(par1ItemStack, par2EntityPlayer, getEnergyUsed()); -// return true; -// } -// return true; -// } -// return false; -// } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % tickDelay); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - if (par2World.getWorldTime() % tickDelay == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par3Entity instanceof EntityPlayer) - { - EnergyItems.syphonBatteries(par1ItemStack, (EntityPlayer) par3Entity, this.getLPUsed(par1ItemStack)); - this.setLPUsed(par1ItemStack, 0); - } - -// if(par2World.isRemote) -// { -// return; -// } - if (!par3EntityPlayer.onGround && !par3EntityPlayer.isSneaking()) - { - return; - } - - int range = 2; - int verticalOffset = -1; - - if (par3EntityPlayer.isSneaking()) - { - verticalOffset--; - } - - if (par2World.isRemote) - { - verticalOffset--; - } - - int posX = (int) Math.round(par3Entity.posX - 0.5f); - int posY = (int) par3Entity.posY; - int posZ = (int) Math.round(par3Entity.posZ - 0.5f); - int incremented = 0; - - for (int ix = posX - range; ix <= posX + range; ix++) - { - for (int iz = posZ - range; iz <= posZ + range; iz++) - { - //for(int iy=posY-verticalRange;iy<=posY+verticalRange;iy++) - { - Block block = par2World.getBlock(ix, posY + verticalOffset, iz); - - if (par2World.isAirBlock(ix, posY + verticalOffset, iz)) - { - par2World.setBlock(ix, posY + verticalOffset, iz, ModBlocks.spectralBlock, 0, 3); - - TileEntity tile = par2World.getTileEntity(ix, posY + verticalOffset, iz); - if(tile instanceof TESpectralBlock) - { - ((TESpectralBlock) tile).setDuration(100); - } - - if (par2World.rand.nextInt(2) == 0) - { - incremented++; - } - }else if(block == ModBlocks.spectralBlock) - { - TileEntity tile = par2World.getTileEntity(ix, posY + verticalOffset, iz); - if(tile instanceof TESpectralBlock) - { - ((TESpectralBlock) tile).setDuration(100); - } - } - } - } - } - - this.incrimentLPUSed(par1ItemStack, incremented); - } - - return; - } - - public int getLPUsed(ItemStack par1ItemStack) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return par1ItemStack.stackTagCompound.getInteger("LPUsed"); - } - - public void incrimentLPUSed(ItemStack par1ItemStack, int addedLP) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.stackTagCompound.setInteger("LPUsed", par1ItemStack.stackTagCompound.getInteger("LPUsed") + addedLP); - } - - public void setLPUsed(ItemStack par1ItemStack, int newLP) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.stackTagCompound.setInteger("LPUsed", newLP); - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - if (!player.onGround && !player.isSneaking()) - { - return; - } - - int range = 2; - int verticalOffset = -1; - - if (player.isSneaking()) - { - verticalOffset--; - } - - int posX = (int) Math.round(player.posX - 0.5f); - int posY = (int) player.posY; - int posZ = (int) Math.round(player.posZ - 0.5f); - - //int incremented = 0; - - for (int ix = posX - range; ix <= posX + range; ix++) - { - for (int iz = posZ - range; iz <= posZ + range; iz++) - { - //for(int iy=posY-verticalRange;iy<=posY+verticalRange;iy++) - { - Block block = world.getBlock(ix, posY + verticalOffset, iz); - - if (world.isAirBlock(ix, posY + verticalOffset, iz)) - { - world.setBlock(ix, posY + verticalOffset, iz, ModBlocks.spectralBlock, 0, 3); - - TileEntity tile = world.getTileEntity(ix, posY + verticalOffset, iz); - if(tile instanceof TESpectralBlock) - { - ((TESpectralBlock) tile).setDuration(100); - } - }else if(block == ModBlocks.spectralBlock) - { - TileEntity tile = world.getTileEntity(ix, posY + verticalOffset, iz); - if(tile instanceof TESpectralBlock) - { - ((TESpectralBlock) tile).setDuration(100); - } - } - } - } - } - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 100; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java deleted file mode 100644 index 4f439bfe..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java +++ /dev/null @@ -1,194 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfTheFastMiner extends EnergyItems implements ArmourUpgrade -{ - @SideOnly(Side.CLIENT) - private static IIcon activeIcon; - @SideOnly(Side.CLIENT) - private static IIcon passiveIcon; - - public SigilOfTheFastMiner() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(100); - setEnergyUsed(100); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Keep going and going and going..."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfTheFastMiner"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:MiningSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:MiningSigil_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 2, 1, true)); - - //Test with added health boost - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 2, 1, true)); - } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 3, 1, true)); - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 50; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java deleted file mode 100644 index 752797a7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java +++ /dev/null @@ -1,196 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class SigilOfWind extends EnergyItems implements ArmourUpgrade -{ - @SideOnly(Side.CLIENT) - private static IIcon activeIcon; - @SideOnly(Side.CLIENT) - private static IIcon passiveIcon; - - public SigilOfWind() - { - super(); - this.maxStackSize = 1; - //setMaxDamage(100); - setEnergyUsed(250); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Best not to wear a skirt."); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3List.add("Activated"); - } else - { - par3List.add("Deactivated"); - } - - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WindSigil_deactivated"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:WindSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:WindSigil_deactivated"); - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if (stack.stackTagCompound == null) - { - stack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = stack.stackTagCompound; - - if (tag.getBoolean("isActive")) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (par1 == 1) - { - return this.activeIcon; - } else - { - return this.passiveIcon; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tag = par1ItemStack.stackTagCompound; - tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); - - if (tag.getBoolean("isActive")) - { - par1ItemStack.setItemDamage(1); - tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 200); - par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 2, 1)); - //par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 2, 2)); - - //Test with added health boost - //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } else - { - par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); - } - - return par1ItemStack; - } - - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if (!(par3Entity instanceof EntityPlayer)) - { - return; - } - - EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; - - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - if (par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 2, 1)); - } - - if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) - { - //par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionBoost.id, 205, 1)); - - //par3EntityPlayer.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 205, 2)); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - player.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionProjProt.id, 3, 1)); - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 150; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java deleted file mode 100644 index 54695d21..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java +++ /dev/null @@ -1,195 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.MaterialLiquid; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemBucket; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.event.entity.player.FillBucketEvent; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidHandler; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class VoidSigil extends ItemBucket implements ArmourUpgrade -{ - private int isFull; - private int energyUsed; - - public VoidSigil() - { - super(null); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(50); - isFull = 0; - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:VoidSigil"); - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Better than a Swiffer!"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - @Override - public ItemStack getContainerItem(ItemStack itemStack) - { - ItemStack copiedStack = itemStack.copy(); - copiedStack.setItemDamage(copiedStack.getItemDamage() + getEnergyUsed()); - copiedStack.stackSize = 1; - return copiedStack; - } - - protected void setEnergyUsed(int par1int) - { - this.energyUsed = par1int; - } - - protected int getEnergyUsed() - { - return this.energyUsed; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - float f = 1.0F; - double d0 = par3EntityPlayer.prevPosX + (par3EntityPlayer.posX - par3EntityPlayer.prevPosX) * (double) f; - double d1 = par3EntityPlayer.prevPosY + (par3EntityPlayer.posY - par3EntityPlayer.prevPosY) * (double) f + 1.62D - (double) par3EntityPlayer.yOffset; - double d2 = par3EntityPlayer.prevPosZ + (par3EntityPlayer.posZ - par3EntityPlayer.prevPosZ) * (double) f; - boolean flag = this.isFull == 0; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, flag); - - if (movingobjectposition == null) - { - return par1ItemStack; - } else - { - FillBucketEvent event = new FillBucketEvent(par3EntityPlayer, par1ItemStack, par2World, movingobjectposition); - - if (MinecraftForge.EVENT_BUS.post(event)) - { - return par1ItemStack; - } - - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) - { - return par1ItemStack; - } - - TileEntity tile = par2World.getTileEntity(i, j, k); - if(tile instanceof IFluidHandler) - { - FluidStack amount = ((IFluidHandler) tile).drain(ForgeDirection.getOrientation(movingobjectposition.sideHit), 1000, false); - - if(amount != null && amount.amount > 0) - { - ((IFluidHandler) tile).drain(ForgeDirection.getOrientation(movingobjectposition.sideHit), 1000, true); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return par1ItemStack; - } - - if (this.isFull == 0) - { - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) - { - return par1ItemStack; - } - - if (par2World.getBlock(i, j, k).getMaterial() instanceof MaterialLiquid) - { - par2World.setBlockToAir(i, j, k); - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } else - { - return par1ItemStack; - } - } - } - } - - return par1ItemStack; - } - } - - /** - * Attempts to place the liquid contained inside the bucket. - */ - public boolean tryPlaceContainedLiquid(World par1World, double par2, double par4, double par6, int par8, int par9, int par10) - { - return false; - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, - ItemStack thisItemStack) - { - // TODO Auto-generated method stub - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 25; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java deleted file mode 100644 index e8378c7a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java +++ /dev/null @@ -1,285 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.sigil; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBucket; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidHandler; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class WaterSigil extends ItemBucket implements ArmourUpgrade -{ - /** - * field for checking if the bucket has been filled. - */ - private Block isFull = Blocks.water; - private int energyUsed; - - public WaterSigil() - { - super(Blocks.water); - this.maxStackSize = 1; - //setMaxDamage(1000); - setEnergyUsed(100); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (par1ItemStack.stackTagCompound == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:WaterSigil"); - } - - @Override - public ItemStack getContainerItem(ItemStack itemStack) - { - ItemStack copiedStack = itemStack.copy(); - copiedStack.setItemDamage(copiedStack.getItemDamage() + 1); - copiedStack.stackSize = 1; - return copiedStack; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Infinite water, anyone?"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - float f = 1.0F; - double d0 = par3EntityPlayer.prevPosX + (par3EntityPlayer.posX - par3EntityPlayer.prevPosX) * (double) f; - double d1 = par3EntityPlayer.prevPosY + (par3EntityPlayer.posY - par3EntityPlayer.prevPosY) * (double) f + 1.62D - (double) par3EntityPlayer.yOffset; - double d2 = par3EntityPlayer.prevPosZ + (par3EntityPlayer.posZ - par3EntityPlayer.prevPosZ) * (double) f; - //boolean flag = this.isFull == 0; - MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, false); - - if (movingobjectposition == null) - { - return par1ItemStack; - } else - { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) - { - return par1ItemStack; - } - - TileEntity tile = par2World.getTileEntity(i, j, k); - if(tile instanceof IFluidHandler) - { - FluidStack fluid = new FluidStack(FluidRegistry.WATER,1000); - int amount = ((IFluidHandler) tile).fill(ForgeDirection.getOrientation(movingobjectposition.sideHit), fluid, false); - - if(amount>0) - { - ((IFluidHandler) tile).fill(ForgeDirection.getOrientation(movingobjectposition.sideHit), fluid, true); - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } - } - - return par1ItemStack; - } - - { - if (movingobjectposition.sideHit == 0) - { - --j; - } - - if (movingobjectposition.sideHit == 1) - { - ++j; - } - - if (movingobjectposition.sideHit == 2) - { - --k; - } - - if (movingobjectposition.sideHit == 3) - { - ++k; - } - - if (movingobjectposition.sideHit == 4) - { - --i; - } - - if (movingobjectposition.sideHit == 5) - { - ++i; - } - - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) - { - return par1ItemStack; - } - - if (this.tryPlaceContainedLiquid(par2World, d0, d1, d2, i, j, k) && !par3EntityPlayer.capabilities.isCreativeMode) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - if (!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) - { - } - } else - { - return par1ItemStack; - } - } - } - } - - return par1ItemStack; - } - } - - /** - * Attempts to place the liquid contained inside the bucket. - */ - public boolean tryPlaceContainedLiquid(World par1World, double par2, double par4, double par6, int par8, int par9, int par10) - { - if (!par1World.isAirBlock(par8, par9, par10) && par1World.getBlock(par8, par9, par10).getMaterial().isSolid()) - { - return false; - } else if ((par1World.getBlock(par8, par9, par10) == Blocks.water || par1World.getBlock(par8, par9, par10) == Blocks.flowing_water) && par1World.getBlockMetadata(par8, par9, par10) == 0) - { - return false; - } else - { - if (par1World.provider.isHellWorld) - { - par1World.playSoundEffect(par2 + 0.5D, par4 + 0.5D, par6 + 0.5D, "random.fizz", 0.5F, 2.6F + (par1World.rand.nextFloat() - par1World.rand.nextFloat()) * 0.8F); - - for (int l = 0; l < 8; ++l) - { - par1World.spawnParticle("largesmoke", (double) par8 + Math.random(), (double) par9 + Math.random(), (double) par10 + Math.random(), 0.0D, 0.0D, 0.0D); - } - } else - { - par1World.setBlock(par8, par9, par10, this.isFull, 0, 3); - } - - return true; - } - } - - protected void setEnergyUsed(int par1int) - { - this.energyUsed = par1int; - } - - protected int getEnergyUsed() - { - return this.energyUsed; - } - //Heals the player using the item. If the player is at full health, or if the durability cannot be used any more, - //the item is not used. - -// protected void damagePlayer(World world, EntityPlayer player, int damage) -// { -// if (world != null) -// { -// double posX = player.posX; -// double posY = player.posY; -// double posZ = player.posZ; -// world.playSoundEffect((double)((float)posX + 0.5F), (double)((float)posY + 0.5F), (double)((float)posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); -// float f = (float)1.0F; -// float f1 = f * 0.6F + 0.4F; -// float f2 = f * f * 0.7F - 0.5F; -// float f3 = f * f * 0.6F - 0.7F; -// -// for (int l = 0; l < 8; ++l) -// { -// world.spawnParticle("reddust", posX + Math.random() - Math.random(), posY + Math.random() - Math.random(), posZ + Math.random() - Math.random(), f1, f2, f3); -// } -// } -// -// for (int i = 0; i < damage; i++) -// { -// //player.setEntityHealth((player.getHealth()-1)); -// player.setEntityHealth(player.func_110143_aJ() - 1); -// } -// -// if (player.func_110143_aJ() <= 0) -// { -// player.inventory.dropAllItems(); -// } -// } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, - ItemStack thisItemStack) - { - // TODO Auto-generated method stub - //PotionEffect effect = new PotionEffect(Potion.waterBreathing.id, 2,9); - player.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 2, 9,true)); - } - - @Override - public boolean isUpgrade() - { - // TODO Auto-generated method stub - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - // TODO Auto-generated method stub - return 50; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/spell/ItemSpellMultiTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/spell/ItemSpellMultiTool.java deleted file mode 100644 index 6f1806a1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/spell/ItemSpellMultiTool.java +++ /dev/null @@ -1,861 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.spell; - -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Random; -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmTool; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class ItemSpellMultiTool extends Item -{ - private static final String harvestLevelSuffix = "harvestLvl"; - private static final String digLevelSuffix = "digLvl"; - private static final String tagName = "BloodMagicTool"; - private Random rand = new Random(); - - public ItemSpellMultiTool() - { - super(); - this.setMaxDamage(0); - this.setMaxStackSize(1); - this.setFull3D(); - } - - @Override - public void registerIcons (IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundTool"); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) - { - float damage = this.getCustomItemAttack(par1ItemStack); - - SpellParadigmTool parad = this.loadParadigmFromStack(par1ItemStack); - - if(parad != null) - { - parad.onLeftClickEntity(par1ItemStack, par2EntityLivingBase, par3EntityLivingBase); - } - - damage += parad.getAddedDamageForEntity(par2EntityLivingBase); - - if(rand.nextFloat() < this.getCritChance(par1ItemStack)) - { - damage *= 1.75f; - } - - if(par3EntityLivingBase instanceof EntityPlayer) - { - par2EntityLivingBase.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer)par3EntityLivingBase), damage); - } - else - { - par2EntityLivingBase.attackEntityFrom(DamageSource.causeMobDamage(par3EntityLivingBase), damage); - } - - return true; - } - - @Override - public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) - { - SpellParadigmTool parad = this.loadParadigmFromStack(stack); - - if(parad != null && entity instanceof EntityLivingBase) - { - parad.onLeftClickEntity(stack, (EntityLivingBase)entity, player); - } - - return false; - } - - @Override - public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player) - { - if(player.worldObj.isRemote) - { - return false; - } - - if (!stack.hasTagCompound()) - return false; - - World world = player.worldObj; - Block block = player.worldObj.getBlock(x, y, z); - int meta = world.getBlockMetadata(x, y, z); - // Block block = Block.blocksList[bID]; - if (block == null || block == Blocks.air) - return false; - int hlvl = -1; - float blockHardness = block.getBlockHardness(world, x, y, z); - - MovingObjectPosition mop = SpellHelper.raytraceFromEntity(world, player, true, 5.0D); - - Block localBlock = world.getBlock(x, y, z); - int localMeta = world.getBlockMetadata(x, y, z); - String toolClass = block.getHarvestTool(meta); - if (toolClass != null && this.getHarvestLevel(stack, toolClass) != -1) - hlvl = block.getHarvestLevel(meta); - int toolLevel = this.getHarvestLevel(stack, toolClass); - - float localHardness = localBlock == null ? Float.MAX_VALUE : localBlock.getBlockHardness(world, x, y, z); - - if (hlvl <= toolLevel && localHardness - 1.5 <= blockHardness) - { - boolean cancelHarvest = false; - - if (!cancelHarvest) - { - if (localBlock != null && !(localHardness < 0)) - { - boolean isEffective = false; - - String localToolClass = this.getToolClassForMaterial(localBlock.getMaterial()); - - if(localToolClass != null && this.getHarvestLevel(stack, toolClass) >= localBlock.getHarvestLevel(localMeta)) - { - isEffective = true; - } - - - if (localBlock.getMaterial().isToolNotRequired()) - { - isEffective = true; - } - - if (!player.capabilities.isCreativeMode) - { - if (isEffective) - { - if (localBlock.removedByPlayer(world, player, x, y, z)) - { - localBlock.onBlockDestroyedByPlayer(world, x, y, z, localMeta); - } - //localBlock.harvestBlock(world, player, x, y, z, localMeta); - localBlock.onBlockHarvested(world, x, y, z, localMeta, player); - if (blockHardness > 0f) - onBlockDestroyed(stack, world, localBlock, x, y, z, player); - - List items = SpellHelper.getItemsFromBlock(world, localBlock, x, y, z, localMeta, this.getSilkTouch(stack), this.getFortuneLevel(stack)); - - SpellParadigmTool parad = this.loadParadigmFromStack(stack); - List newItems = parad.handleItemList(stack, items); - - if(!world.isRemote) - { - SpellHelper.spawnItemListInWorld(newItems, world, x + 0.5f, y + 0.5f, z + 0.5f); - } - - world.func_147479_m(x, y, z); - - int cost = 0; - - cost += parad.digSurroundingArea(stack, world, player, mop, localToolClass, localHardness, toolLevel, this); - - cost += parad.onBreakBlock(stack, world, player, localBlock, localMeta, x, y, z, ForgeDirection.getOrientation(mop.sideHit)); - - if(cost > 0) - { - EnergyItems.syphonAndDamageWhileInContainer(stack, player, cost); - } - } - else - { - world.setBlockToAir(x, y, z); - world.func_147479_m(x, y, z); - } - - } - else - { - world.setBlockToAir(x, y, z); - world.func_147479_m(x, y, z); - } - } - } - } - - if (!world.isRemote) - world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(block) + (meta << 12)); - return true; - - } - - public Material[] getMaterialsForToolclass(String toolClass) - { - if("pickaxe".equals(toolClass)) - { - return new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits }; - } - else if("shovel".equals(toolClass)) - { - return new Material[]{ Material.grass, Material.ground, Material.sand, Material.snow, Material.craftedSnow, Material.clay }; - } - else if("axe".equals(toolClass)) - { - return new Material[]{ Material.wood, Material.vine, Material.circuits, Material.cactus }; - } - return new Material[0]; - } - - public String getToolClassForMaterial(Material mat) - { - String testString = "pickaxe"; - - Material[] matList = this.getMaterialsForToolclass(testString); - for(int i=0; i < matList.length; i++) - { - if(matList[i] == mat) - { - return testString; - } - } - - testString = "shovel"; - matList = this.getMaterialsForToolclass(testString); - for(int i=0; i < matList.length; i++) - { - if(matList[i] == mat) - { - return testString; - } - } - - testString = "axe"; - matList = this.getMaterialsForToolclass(testString); - for(int i=0; i < matList.length; i++) - { - if(matList[i] == mat) - { - return testString; - } - } - - return null; - } - - public Set getToolClasses(ItemStack stack) - { - Set set = new HashSet(); - - if(this.getHarvestLevel(stack, "pickaxe") > -1) - { - set.add("pickaxe"); - } - - if(this.getHarvestLevel(stack, "axe") > -1) - { - set.add("axe"); - } - - if(this.getHarvestLevel(stack, "shovel") > -1) - { - set.add("shovel"); - } - - return set; - } - -// @Override -// public boolean onBlockDestroyed (ItemStack itemstack, World world, Block block, int x, int y, int z, EntityLivingBase player) -// { -// if (block != null && block.getMaterial() == Material.leaves) -// return false; -// -// -// return AbilityHelper.onBlockChanged(itemstack, world, block, x, y, z, player, random); -// } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) - { - String toolClass = block.getHarvestTool(meta); - - if(toolClass == null || toolClass.equals("")) - { - return 1.0f; - } - - //if (ForgeHooks.isToolEffective(stack, block, meta)) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - return tag.getFloat(digLevelSuffix + toolClass); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - } - } - - return 1.0f; - } - - @Override - public int getHarvestLevel(ItemStack stack, String toolClass) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - if(tag.hasKey(harvestLevelSuffix + toolClass)) - { - return tag.getInteger(harvestLevelSuffix + toolClass); - }else - { - return -1; - } - } - else - { - stack.setTagCompound(new NBTTagCompound()); - } - - return -1; - } - -// @Override -// public float func_150893_a(ItemStack p_150893_1_, Block p_150893_2_) -// { -// return p_150893_2_.getMaterial() != Material.iron && p_150893_2_.getMaterial() != Material.anvil && p_150893_2_.getMaterial() != Material.rock ? super.func_150893_a(p_150893_1_, p_150893_2_) : 15; -// } - - @Override - public boolean canHarvestBlock(Block par1Block, ItemStack itemStack) - { - - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return false; - } - - @Override - public void onUpdate(ItemStack toolStack, World world, Entity par3Entity, int par4, boolean par5) - { - if(world.isRemote) - { - return; - } - - SpellParadigmTool parad = this.loadParadigmFromStack(toolStack); - int cost = parad.onUpdate(toolStack, world, par3Entity, par4, par5); - - if(par3Entity instanceof EntityPlayer && cost > 0) - EnergyItems.syphonAndDamageWhileInContainer(toolStack, (EntityPlayer)par3Entity, cost); - - int duration = Math.max(this.getDuration(toolStack, world), 0); - - if(duration <= 0 && par3Entity instanceof EntityPlayer) - { - int banishCost = parad.onBanishTool(toolStack, world, par3Entity, par4, par5); - EnergyItems.syphonAndDamageWhileInContainer(toolStack, (EntityPlayer)par3Entity, banishCost); - ((EntityPlayer) par3Entity).inventory.mainInventory[par4] = this.getContainedCrystal(toolStack); - } - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if(par3EntityPlayer.isSneaking()) - { - par3EntityPlayer.setCurrentItemOrArmor(0, this.getContainedCrystal(par1ItemStack)); - return par1ItemStack; - } - - SpellParadigmTool parad = this.loadParadigmFromStack(par1ItemStack); - - MovingObjectPosition mop = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, false); - - int cost = 0; - - if(mop != null && mop.typeOfHit.equals(MovingObjectPosition.MovingObjectType.BLOCK)) - { - cost = parad.onRightClickBlock(par1ItemStack, par3EntityPlayer, par2World, mop); - }else - { - cost = parad.onRightClickAir(par1ItemStack, par2World, par3EntityPlayer); - } - - if(cost > 0) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, cost); - } - - return par1ItemStack; - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("A mace filled with ancient alchemy"); - - if (!(par1ItemStack.stackTagCompound == null)) - { - if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) - { - par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); - } - - for(String str : this.getToolListString(par1ItemStack)) - { - par3List.add(str); - } - - par3List.add(""); - float damage = this.getCustomItemAttack(par1ItemStack); - par3List.add("\u00A79+" + ((int)(damage*10))/10.0f + " " + "Attack Damage"); - float critChance = ((int)(this.getCritChance(par1ItemStack)*1000))/10.0f; - par3List.add("\u00A79+" + critChance + "% " + "Crit Chance"); - } - } - - //--------------Custom methods--------------// - - public void setHarvestLevel(ItemStack stack, String toolClass, int harvestLevel) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setInteger(harvestLevelSuffix + toolClass, Math.max(-1,harvestLevel)); - - stack.getTagCompound().setTag(tagName, tag); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setInteger(harvestLevelSuffix + toolClass, Math.max(-1,harvestLevel)); - - stack.getTagCompound().setTag(tagName, tag); - } - } - - public void setDigSpeed(ItemStack stack, String toolClass, float digSpeed) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setFloat(digLevelSuffix + toolClass, digSpeed); - - stack.getTagCompound().setTag(tagName, tag); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setFloat(digLevelSuffix + toolClass, digSpeed); - - stack.getTagCompound().setTag(tagName, tag); - } - } - - public float getDigSpeed(ItemStack stack, String toolClass) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - return tag.getFloat(digLevelSuffix + toolClass); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - return 0.0f; - } - } - - public void setItemAttack(ItemStack stack, float damage) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setFloat("itemAttack", Math.max(damage, 0.0f)); - - stack.stackTagCompound.setTag(tagName, tag); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setFloat("itemAttack", Math.max(damage, 0.0f)); - - stack.stackTagCompound.setTag(tagName, tag); - } - } - - public float getCustomItemAttack(ItemStack stack) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - return tag.getFloat("itemAttack"); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - return 0.0f; - } - } - - public ItemStack getContainedCrystal(ItemStack container) - { - if(container.hasTagCompound()) - { - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName).getCompoundTag("heldItem"); - - return ItemStack.loadItemStackFromNBT(tag); - } - else - { - container.setTagCompound(new NBTTagCompound()); - - return null; - } - } - - public void setContainedCrystal(ItemStack container, ItemStack crystal) - { - if(container.hasTagCompound()) - { - NBTTagCompound compTag = container.getTagCompound().getCompoundTag(tagName); - NBTTagCompound tag = compTag.getCompoundTag("heldItem"); - - crystal.writeToNBT(tag); - - compTag.setTag("heldItem", tag); - container.getTagCompound().setTag(tagName, compTag); - } - else - { - container.setTagCompound(new NBTTagCompound()); - - NBTTagCompound compTag = container.getTagCompound().getCompoundTag(tagName); - NBTTagCompound tag = compTag.getCompoundTag("heldItem"); - - crystal.writeToNBT(tag); - - compTag.setTag("heldItem", tag); - container.getTagCompound().setTag(tagName, compTag); - } - } - - public void setDuration(ItemStack container, World world, int duration) - { - if(world.isRemote) - { - return; - }else - { - World overWorld = DimensionManager.getWorld(0); - long worldtime = overWorld.getTotalWorldTime(); - - if(container.hasTagCompound()) - { - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); - - tag.setLong("duration", Math.max(duration + worldtime, worldtime)); - - container.getTagCompound().setTag(tagName, tag); - } - else - { - container.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); - - tag.setLong("duration", Math.max(duration + worldtime, worldtime)); - - container.getTagCompound().setTag(tagName, tag); - } - } - } - - public int getDuration(ItemStack container, World world) - { - if(world.isRemote) - { - return 0; - } - else - { - World overWorld = DimensionManager.getWorld(0); - long worldtime = overWorld.getTotalWorldTime(); - - if(container.hasTagCompound()) - { - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); - - return (int)(tag.getLong("duration") - worldtime); - } - else - { - container.setTagCompound(new NBTTagCompound()); - - return 0; - } - } -// if(container.hasTagCompound()) -// { -// NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); -// -// return tag.getInteger("duration"); -// } -// else -// { -// container.setTagCompound(new NBTTagCompound()); -// -// return 0; -// } - } - - public void loadParadigmIntoStack(ItemStack container, List list) - { - if(!container.hasTagCompound()) - { - container.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tagiest = container.getTagCompound().getCompoundTag(tagName); - - NBTTagList effectList = new NBTTagList(); - - for(SpellEffect eff : list) - { - effectList.appendTag(eff.getTag()); - } - - tagiest.setTag("Effects", effectList); - - container.getTagCompound().setTag(tagName, tagiest); - } - - public SpellParadigmTool loadParadigmFromStack(ItemStack container) - { - if(!container.hasTagCompound()) - { - container.setTagCompound(new NBTTagCompound()); - } - NBTTagCompound tagiest = container.getTagCompound().getCompoundTag(tagName); - - NBTTagList tagList = tagiest.getTagList("Effects",Constants.NBT.TAG_COMPOUND); - - List spellEffectList = new LinkedList(); - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - - SpellEffect eff = SpellEffect.getEffectFromTag(tag); - if(eff!=null) - { - spellEffectList.add(eff); - } - } - - return SpellParadigmTool.getParadigmForEffectArray(spellEffectList); - } - - public void setSilkTouch(ItemStack stack, boolean silkTouch) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setBoolean("silkTouch", silkTouch); - - stack.stackTagCompound.setTag(tagName, tag); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setBoolean("silkTouch", silkTouch); - - stack.stackTagCompound.setTag(tagName, tag); - } - } - - public boolean getSilkTouch(ItemStack stack) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - return tag.getBoolean("silkTouch"); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - return false; - } - } - - public void setFortuneLevel(ItemStack stack, int fortune) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setInteger("fortuneLevel", Math.max(fortune, 0)); - - stack.stackTagCompound.setTag(tagName, tag); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - tag.setInteger("fortuneLevel", Math.max(fortune, 0)); - - stack.stackTagCompound.setTag(tagName, tag); - } - } - - public int getFortuneLevel(ItemStack stack) - { - if(stack.hasTagCompound()) - { - NBTTagCompound tag = stack.getTagCompound().getCompoundTag(tagName); - - return tag.getInteger("fortuneLevel"); - } - else - { - stack.setTagCompound(new NBTTagCompound()); - - return 0; - } - } - - public List getToolListString(ItemStack container) - { - if(!container.hasTagCompound()) - { - container.setTagCompound(new NBTTagCompound()); - } - NBTTagCompound tagiest = container.getTagCompound().getCompoundTag(tagName); - - NBTTagList tagList = tagiest.getTagList("ToolTips",Constants.NBT.TAG_COMPOUND); - - List toolTipList = new LinkedList(); - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - - String str = tag.getString("tip"); - if(str!=null) - { - toolTipList.add(str); - } - } - - return toolTipList; - } - - public void setToolListString(ItemStack container, List toolTipString) - { - if(!container.hasTagCompound()) - { - container.setTagCompound(new NBTTagCompound()); - } - - NBTTagCompound tagiest = container.getTagCompound().getCompoundTag(tagName); - - NBTTagList stringList = new NBTTagList(); - - for(String str : toolTipString) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setString("tip", str); - - stringList.appendTag(tag); - } - - tagiest.setTag("ToolTips", stringList); - - container.getTagCompound().setTag(tagName, tagiest); - } - - public void setCritChance(ItemStack container, float chance) - { - if(container.hasTagCompound()) - { - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); - - tag.setFloat("critChance", Math.max(chance, 0)); - - container.stackTagCompound.setTag(tagName, tag); - } - else - { - container.setTagCompound(new NBTTagCompound()); - - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); - - tag.setFloat("critChance", Math.max(chance, 0)); - - container.stackTagCompound.setTag(tagName, tag); - } - } - - public float getCritChance(ItemStack container) - { - if(container.hasTagCompound()) - { - NBTTagCompound tag = container.getTagCompound().getCompoundTag(tagName); - - return tag.getFloat("critChance"); - } - else - { - container.setTagCompound(new NBTTagCompound()); - - return 0; - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java deleted file mode 100644 index d5eec374..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java +++ /dev/null @@ -1,186 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items.thaumcraft; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IGoggles; -import thaumcraft.api.IRepairable; -import thaumcraft.api.IRunicArmor; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.ThaumcraftApi; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.nodes.IRevealer; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade, IGoggles, IVisDiscountGear, IRevealer, IRunicArmor, IRepairable -{ - private static IIcon helmetIcon; - private static IIcon plateIcon; - private static IIcon leggingsIcon; - private static IIcon bootsIcon; - - public ItemSanguineArmour(int armorType) - { - super(AlchemicalWizardry.sanguineArmourArmourMaterial, 0, armorType); - setMaxDamage(1000); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:SanguineHelmet"); - this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundPlate"); - this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundLeggings"); - this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundBoots"); - } - - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) - { - if (this.equals(ModItems.sanguineHelmet)) - { - return this.helmetIcon; - } - - if (this.equals(ModItems.sanguineRobe)) - { - return this.plateIcon; - } - - if (this.equals(ModItems.sanguinePants)) - { - return this.leggingsIcon; - } - - if (this.equals(ModItems.sanguineBoots)) - { - return this.bootsIcon; - } - - return this.itemIcon; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) - { - if (this == ModItems.sanguineHelmet) - { - return "alchemicalwizardry:models/armor/sanguineArmour_layer_1.png"; - } - - if (this == ModItems.sanguineRobe || this == ModItems.sanguineBoots) - { - return "alchemicalwizardry:models/armor/sanguineArmour_layer_1.png"; - } - - if (this == ModItems.sanguinePants) - { - return "alchemicalwizardry:models/armor/sanguineArmour_layer_2.png"; - } else - { - return null; - } - } - - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - int discount = 0; - - switch(this.armorType) - { - case 0: - discount = 6; - break; - case 1: - discount = 3; - break; - case 2: - discount = 3; - break; - case 3: - discount = 2; - break; - } - - switch(this.armorType) - { - case 0: - par3List.add("A pair of goggles imbued with power"); - break; - case 1: - - case 2: - - case 3: - par3List.add("Robes imbued with forbidden power"); - } - - par3List.add("Vis discount: " + discount + "%"); - } - - @Override - public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) - { - return; - } - - @Override - public boolean isUpgrade() - { - return true; - } - - @Override - public int getEnergyForTenSeconds() - { - return 0; - } - - @Override - public boolean showNodes(ItemStack itemstack, EntityLivingBase player) - { - return true; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) - { - switch(this.armorType) - { - case 0: return 7; - case 1: return 3; - case 2: return 2; - case 3: return 2; - } - return 0; - } - - @Override - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) - { - return true; - } - - @Override - public int getRunicCharge(ItemStack itemstack) { - // TODO Auto-generated method stub - return 0; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/mcmod.info b/src-backup/main/java/WayofTime/alchemicalWizardry/common/mcmod.info deleted file mode 100644 index cd89dc4c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/mcmod.info +++ /dev/null @@ -1,22 +0,0 @@ -[ -{ - "modid": "AWWayofTime", - "name": "Blood Magic: Alchemical Wizardry", - "description": "Gruesome? Probably. Worth it? Definately!", - "version": "0.2.1c", - "url": "", - "updateUrl": "", - "logoFile": "", - "mcversion": "1.6.2", - "authorList": [ - "WayofTime" - ], - "credits": "", - "screenshots": [ - ], - "parent": "", - "dependencies": [ - ] -} -] - diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionBoost.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionBoost.java deleted file mode 100644 index 132205bb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionBoost.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionBoost extends Potion -{ - public PotionBoost(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDeaf.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDeaf.java deleted file mode 100644 index fc46e77b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDeaf.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionDeaf extends Potion -{ - public PotionDeaf(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDrowning.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDrowning.java deleted file mode 100644 index 87558f26..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDrowning.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionDrowning extends Potion -{ - public PotionDrowning(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFeatherFall.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFeatherFall.java deleted file mode 100644 index 0c35263b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFeatherFall.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionFeatherFall extends Potion -{ - public PotionFeatherFall(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFireFuse.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFireFuse.java deleted file mode 100644 index 8fe5d527..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFireFuse.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionFireFuse extends Potion -{ - public PotionFireFuse(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFlameCloak.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFlameCloak.java deleted file mode 100644 index b885d240..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFlameCloak.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionFlameCloak extends Potion -{ - public PotionFlameCloak(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFlight.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFlight.java deleted file mode 100644 index 23e93e57..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionFlight.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionFlight extends Potion -{ - public PotionFlight(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionHeavyHeart.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionHeavyHeart.java deleted file mode 100644 index 952fb59c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionHeavyHeart.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionHeavyHeart extends Potion -{ - public PotionHeavyHeart(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionIceCloak.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionIceCloak.java deleted file mode 100644 index d169b4d9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionIceCloak.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionIceCloak extends Potion -{ - public PotionIceCloak(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionInhibit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionInhibit.java deleted file mode 100644 index 2214e105..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionInhibit.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionInhibit extends Potion -{ - public PotionInhibit(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionPlanarBinding.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionPlanarBinding.java deleted file mode 100644 index 54d6cd72..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionPlanarBinding.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionPlanarBinding extends Potion -{ - public PotionPlanarBinding(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionProjectileProtect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionProjectileProtect.java deleted file mode 100644 index 317edd54..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionProjectileProtect.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionProjectileProtect extends Potion -{ - public PotionProjectileProtect(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionReciprocation.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionReciprocation.java deleted file mode 100644 index ddceed0b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionReciprocation.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionReciprocation extends Potion -{ - public PotionReciprocation(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionSoulFray.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionSoulFray.java deleted file mode 100644 index 78febaff..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionSoulFray.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionSoulFray extends Potion -{ - public PotionSoulFray(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionSoulHarden.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionSoulHarden.java deleted file mode 100644 index 0ac24694..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/potion/PotionSoulHarden.java +++ /dev/null @@ -1,18 +0,0 @@ -package WayofTime.alchemicalWizardry.common.potion; - -import net.minecraft.potion.Potion; - -public class PotionSoulHarden extends Potion -{ - public PotionSoulHarden(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/AlchemyCircleRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/AlchemyCircleRenderer.java deleted file mode 100644 index eeae462b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/AlchemyCircleRenderer.java +++ /dev/null @@ -1,92 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; - -public class AlchemyCircleRenderer extends MRSRenderer -{ - private ResourceLocation resourceLocation = new ResourceLocation("alchemicalwizardry:textures/models/TransCircle.png"); - private int colourRed; - private int colourGreen; - private int colourBlue; - private int colourIntensity; - private double xOffset; - private double yOffset; - private double zOffset; - private double radius; - private double initialY; - private boolean renderWithoutReagents; - - public AlchemyCircleRenderer(ResourceLocation resource, int red, int green, int blue, int intensity, double xOff, double initialY, double yOff, double zOff, double radius, boolean renderWithoutReagents) - { - this.resourceLocation = resource; - this.colourRed = red; - this.colourGreen = green; - this.colourBlue = blue; - this.colourIntensity = intensity; - this.xOffset = xOff; - this.initialY = initialY; - this.yOffset = yOff; - this.zOffset = zOff; - this.radius = radius; - this.renderWithoutReagents = renderWithoutReagents; - } - - @Override - public void renderAt(TEMasterStone tile, double x, double y, double z) - { - if(tile.areTanksEmpty() && !renderWithoutReagents) - { - return; - } - - GL11.glPushMatrix(); - float f1 = 1.0f; - Tessellator tessellator = Tessellator.instance; - this.bindTexture(resourceLocation); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - float f2 = 0; - float f3 = -f2 * 0.2F - (float)MathHelper.floor_float(-f2 * 0.1F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glDepthMask(false); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA(colourRed, colourGreen, colourBlue, colourIntensity); - - GL11.glTranslated(x+0.5+xOffset, y+0.5+(yOffset-initialY)*(tile.runningTime/100d)+initialY, z+0.5+zOffset); - - float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); - - GL11.glRotatef(rotationAngle, 0F, 1F, 0F); //Rotate on planar axis - //GL11.glRotatef(30F, 0F, 0F, 1F); //Rotate vertical axis - //GL11.glRotatef(tileAltar.getWorldObj().getWorldTime()*2f, 1F, 0F, 0F); //Rotate cylindrically - - tessellator.setBrightness(240); - - double finalRadius = (radius)*(tile.runningTime/100d); - - tessellator.addVertexWithUV(-finalRadius, 0, -finalRadius, 0.0d, 0.0d); - tessellator.addVertexWithUV(finalRadius, 0, -finalRadius, 1.0d, 0.0d); - tessellator.addVertexWithUV(finalRadius, 0, finalRadius, 1.0d, 1.0d); - tessellator.addVertexWithUV(-finalRadius, 0, finalRadius, 0.0d, 1.0d); - - tessellator.draw(); - - GL11.glDepthMask(true); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glPopMatrix(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/BeamRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/BeamRenderer.java deleted file mode 100644 index 01f6d125..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/BeamRenderer.java +++ /dev/null @@ -1,155 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.api.ColourAndCoords; - -public class BeamRenderer -{ - private static final ResourceLocation field_110629_a = new ResourceLocation("textures/entity/beacon_beam.png"); - - public int xInit; - public int yInit; - public int zInit; - - public int xFinal; - public int yFinal; - public int zFinal; - - public int colourRed; - public int colourGreen; - public int colourBlue; - public int colourIntensity; - - public double size; - - public void setInitialPosition(int x, int y, int z) - { - this.xInit = x; - this.yInit = y; - this.zInit = z; - } - - public void setColourAndFinalPosition(ColourAndCoords col) - { - this.colourRed = col.colourRed; - this.colourGreen = col.colourGreen; - this.colourBlue = col.colourBlue; - this.colourIntensity = col.colourIntensity; - - this.xFinal = col.xCoord; - this.yFinal = col.yCoord; - this.zFinal = col.zCoord; - } - - public void setSize(double size) - { - this.size = size; - } - - protected static void bindTexture(ResourceLocation p_147499_1_) - { - TextureManager texturemanager = TileEntityRendererDispatcher.instance.field_147553_e; - - if (texturemanager != null) - { - texturemanager.bindTexture(p_147499_1_); - } - } - - public void render(double d0, double d1, double d2) - { - int xDiff = this.xFinal - this.xInit; - int yDiff = this.yFinal - this.yInit; - int zDiff = this.zFinal - this.zInit; - - float planarAngle = (float)(Math.atan2(-zDiff, xDiff) * 180d / Math.PI); //Radians - float verticalAngle = (float)(Math.atan2(yDiff, Math.sqrt(xDiff*xDiff + zDiff+zDiff)) * 180d / Math.PI); - - float distance = (float) Math.sqrt(xDiff*xDiff + yDiff*yDiff + zDiff*zDiff); //Total distance - - GL11.glPushMatrix(); - float f1 = 1.0f; - Tessellator tessellator = Tessellator.instance; - BeamRenderer.bindTexture(field_110629_a); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - float f2 = 0; - float f3 = -f2 * 0.2F - (float)MathHelper.floor_float(-f2 * 0.1F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - - GL11.glDepthMask(false); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA(colourRed, colourGreen, colourBlue, colourIntensity); - //tessellator.setColorOpaque(255, 255, 255); - - double inside = -(this.size/2d); - double outside = 1.0d-(0.50d - this.size/2d)-0.5d; - - double d18 = inside; - double d19 = inside; - double d20 = outside; - double d21 = inside; - double d22 = inside; - double d23 = outside; - double d24 = outside; - double d25 = outside; - double d26 = (double)(distance * f1);// + 0.2; - double d27 = 0.0D; - double d28 = 1.0D; - double d29 = (double)(-1.0F + f3); - double d30 = (double)(distance * f1) + d29; - - GL11.glTranslated(d0+0.5, d1+0.5, d2+0.5); - - GL11.glRotatef(planarAngle, 0F, 1F, 0F); //Rotate on planar axis - GL11.glRotatef(verticalAngle, 0F, 0F, 1F); //Rotate vertical axis - //GL11.glRotatef(tileAltar.getWorldObj().getWorldTime()*2f, 1F, 0F, 0F); //Rotate cylindrically - - double offset = 0; - - tessellator.setBrightness(240); - float s = 1F / 16F; -// GL11.glTranslatef(0F, s, s); -// GL11.glScalef(1F, s * 14F, s * 14F); - tessellator.addVertexWithUV(d26, d18, d19, d28, d30); - tessellator.addVertexWithUV(offset, d18, d19, d28, d29); - tessellator.addVertexWithUV(offset, d20, d21, d27, d29); - tessellator.addVertexWithUV(d26, d20, d21, d27, d30); - tessellator.addVertexWithUV(d26, d24, d25, d28, d30); - tessellator.addVertexWithUV(offset, d24, d25, d28, d29); - tessellator.addVertexWithUV(offset, d22, d23, d27, d29); - tessellator.addVertexWithUV(d26, d22, d23, d27, d30); - tessellator.addVertexWithUV(d26, d20, d21, d28, d30); - tessellator.addVertexWithUV(offset, d20, d21, d28, d29); - tessellator.addVertexWithUV(offset, d24, d25, d27, d29); - tessellator.addVertexWithUV(d26, d24, d25, d27, d30); - tessellator.addVertexWithUV(d26, d22, d23, d28, d30); - tessellator.addVertexWithUV(offset, d22, d23, d28, d29); - tessellator.addVertexWithUV(offset, d18, d19, d27, d29); - tessellator.addVertexWithUV(d26, d18, d19, d27, d30); - - //ShaderHelper.useShaderWithProps(ShaderHelper.beam, "time", (int) tileAltar.getWorldObj().getTotalWorldTime()); - tessellator.draw(); - //ShaderHelper.releaseShader(); - - GL11.glDepthMask(true); - - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glPopMatrix(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/MRSRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/MRSRenderer.java deleted file mode 100644 index 4bf6de31..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/MRSRenderer.java +++ /dev/null @@ -1,22 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer; - -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; -import net.minecraft.util.ResourceLocation; -import WayofTime.alchemicalWizardry.common.renderer.block.RenderMasterStone; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; - -public abstract class MRSRenderer -{ - public abstract void renderAt(TEMasterStone tile, double x, double y, double z); - - protected void bindTexture(ResourceLocation p_147499_1_) - { - TextureManager texturemanager = TileEntityRendererDispatcher.instance.field_147553_e; - - if (texturemanager != null) - { - texturemanager.bindTexture(p_147499_1_); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderAlchemicCalcinator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderAlchemicCalcinator.java deleted file mode 100644 index 59c70a85..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderAlchemicCalcinator.java +++ /dev/null @@ -1,485 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelAlchemicalCalcinator; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAlchemicCalcinator; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderAlchemicCalcinator extends TileEntitySpecialRenderer -{ - private final RenderItem customRenderItem; - private ModelAlchemicalCalcinator modelConduit = new ModelAlchemicalCalcinator(); - - private ResourceLocation resourceLocation = new ResourceLocation("alchemicalwizardry:textures/models/Reagent.png"); - - public RenderAlchemicCalcinator() - { - customRenderItem = new RenderItem() - { - @Override - public boolean shouldBob() - { - return false; - } - }; - customRenderItem.setRenderManager(RenderManager.instance); - } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEAlchemicCalcinator) - { - TEAlchemicCalcinator tileAltar = (TEAlchemicCalcinator) tileEntity; - - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/AlchemicalCalcinator.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); -// GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - GL11.glPushMatrix(); - - if (tileAltar.getStackInSlot(1) != null) - { - float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(1)); - EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); - ghostEntityItem.hoverStart = 0.0F; - ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(1)); - //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); - float displacement = 0.2F; - - if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.7F, (float) d2 + 0.5F); - } else - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 10.4f / 16.0f, (float) d2 + 0.5F - 0.0625f*2f); - } - - //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); - GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); - - if (!(ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock)) - { - GL11.glRotatef(90f, 1.0f, 0.0f, 0.0F); - } - - customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); - } - - - GL11.glPopMatrix(); - GL11.glPushMatrix(); - - if (tileAltar.getStackInSlot(0) != null) - { - float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(0)); - EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); - ghostEntityItem.hoverStart = 0.0F; - ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(0)); - //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); - float displacement = -0.5F; - - if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.7F, (float) d2 + 0.5F); - } else - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 10.4f / 16.0f, (float) d2 + 0.5F - 0.0625f*2f); - } - - //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); - GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); - - if (!(ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock)) - { - GL11.glRotatef(90f, 1.0f, 0.0f, 0.0F); - } - - customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); - } - - GL11.glPopMatrix(); - - - ReagentContainerInfo[] info = tileAltar.getContainerInfo(ForgeDirection.UNKNOWN); - if(info.length >= 1 && info[0] != null) - { - ReagentStack reagentStack = info[0].reagent; - int capacity = info[0].capacity; - if(reagentStack != null && reagentStack.reagent != null) - { - Reagent reagent = reagentStack.reagent; - this.renderTankContents(d0, d1, d2, reagent.getColourRed(), reagent.getColourGreen(), reagent.getColourBlue(), 200 * reagentStack.amount / capacity); - } - } - - - -// for (int i = 0; i <= 1; i++) -// { -// GL11.glPushMatrix(); -// -// if (tileAltar.getStackInSlot(i) != null) -// { -// float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(i)); -// float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); -// EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); -// ghostEntityItem.hoverStart = 0.0F; -// ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(i)); -// //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); -// float displacementX = getXDisplacementForSlot(i); -// float displacementY = getYDisplacementForSlot(i); -// float displacementZ = getZDisplacementForSlot(i); -// -// if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) -// { -// GL11.glTranslatef((float) d0 + 0.5F + displacementX, (float) d1 + displacementY + 0.7F, (float) d2 + 0.5F + displacementZ); -// } else -// { -// GL11.glTranslatef((float) d0 + 0.5F + displacementX, (float) d1 + displacementY + 0.6F, (float) d2 + 0.5F + displacementZ); -// } -// -// //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); -// GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); -// GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); -// customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); -// } -// -// GL11.glPopMatrix(); -// } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } - - private void renderTankContents(double x, double y, double z, int colourRed, int colourGreen, int colourBlue, int colourIntensity) - { - GL11.glPushMatrix(); - float f1 = 1.0f; - Tessellator tessellator = Tessellator.instance; - this.bindTexture(resourceLocation); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - float f2 = 0; - float f3 = -f2 * 0.2F - (float)MathHelper.floor_float(-f2 * 0.1F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glDepthMask(false); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA(colourRed, colourGreen, colourBlue, colourIntensity); - - GL11.glTranslated(x+0.5, y+0.5, z+0.5); - //GL11.glRotatef(30F, 0F, 0F, 1F); //Rotate vertical axis - //GL11.glRotatef(tileAltar.getWorldObj().getWorldTime()*2f, 1F, 0F, 0F); //Rotate cylindrically - - tessellator.setBrightness(240); - - double x1 = -7d/16d; - double x2 = 7d/16d; - double y1 = 1d/16d; - double y2 = 5d/16d; - double z1 = -7d/16d; - double z2 = 7d/16d; - - double resx1 = 0.0d; - double resx2 = 0.0d; - double resy1 = 1.0d; - double resy2 = 1.0d; - - tessellator.addVertexWithUV(x1, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z1, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z1, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x1, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x1, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y1, z2, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z2, resx1, resy2); - tessellator.addVertexWithUV(x2, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x2, y2, z1, resx1, resy2); - tessellator.draw(); - - GL11.glDepthMask(true); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glPopMatrix(); - } - - private float getGhostItemScaleFactor(ItemStack itemStack) - { - float scaleFactor = 1.5F; - - if (itemStack != null) - { - if (itemStack.getItem() instanceof ItemBlock) - { - switch (customRenderItem.getMiniBlockCount(itemStack,(byte)1)) - { - case 1: - return 0.90F * scaleFactor; - - case 2: - return 0.90F * scaleFactor; - - case 3: - return 0.90F * scaleFactor; - - case 4: - return 0.90F * scaleFactor; - - case 5: - return 0.80F * scaleFactor; - - default: - return 0.90F * scaleFactor; - } - } else - { - switch (customRenderItem.getMiniItemCount(itemStack,(byte)1)) - { - case 1: - return 0.65F * scaleFactor; - - case 2: - return 0.65F * scaleFactor; - - case 3: - return 0.65F * scaleFactor; - - case 4: - return 0.65F * scaleFactor; - - default: - return 0.65F * scaleFactor; - } - } - } - - return scaleFactor; - } - - private float getXDisplacementForSlot(int slot) - { - switch (slot) - { - case 0: - return 0.0f; - - case 1: - return -0.375f; - - case 2: - return -0.125f; - - case 3: - return 0.3125f; - - case 4: - return 0.3125f; - - case 5: - return -0.125f; - - default: - return 0.0f; - } - } - - private float getYDisplacementForSlot(int slot) - { - switch (slot) - { - case 0: - return 0.4f; - - case 1: - return -0.35f; - - case 6: - return 0.4f; - - default: - return -0.35f; - } - } - - private float getZDisplacementForSlot(int slot) - { - switch (slot) - { - case 0: - return 0.0f; - - case 1: - return 0.0f; - - case 2: - return 0.375f; - - case 3: - return 0.25f; - - case 4: - return -0.25f; - - case 5: - return -0.375f; - - default: - return 0.0f; - } - } - - private void translateGhostItemByOrientation(ItemStack ghostItemStack, double x, double y, double z, ForgeDirection forgeDirection) - { - if (ghostItemStack != null) - { - if (ghostItemStack.getItem() instanceof ItemBlock) - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 2.7F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.25F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } else - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.6F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.20F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderConduit.java deleted file mode 100644 index 6c93e00e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderConduit.java +++ /dev/null @@ -1,43 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelConduit; -import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit; -import cpw.mods.fml.client.FMLClientHandler; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -public class RenderConduit extends TileEntitySpecialRenderer -{ - private ModelConduit modelConduit = new ModelConduit(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEConduit) - { - TEConduit tileConduit = (TEConduit) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/Conduit.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, tileConduit.getInputDirection(), tileConduit.getOutputDirection()); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderCrystalBelljar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderCrystalBelljar.java deleted file mode 100644 index c5d0a372..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderCrystalBelljar.java +++ /dev/null @@ -1,184 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelAlchemicalCalcinator; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelCrystalBelljar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderCrystalBelljar extends TileEntitySpecialRenderer -{ - private ModelCrystalBelljar modelConduit = new ModelCrystalBelljar(); - - private ResourceLocation resourceLocation = new ResourceLocation("alchemicalwizardry:textures/models/Reagent.png"); - - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEBellJar) - { - TEBellJar tileAltar = (TEBellJar) tileEntity; - - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/CrystalBelljar.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); -// GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - - - - ReagentContainerInfo[] info = tileAltar.getContainerInfo(ForgeDirection.UNKNOWN); - if(info.length >= 1 && info[0] != null) - { - ReagentStack reagentStack = info[0].reagent; - int capacity = info[0].capacity; - if(reagentStack != null && reagentStack.reagent != null) - { - Reagent reagent = reagentStack.reagent; - this.renderTankContents(d0, d1, d2, reagent.getColourRed(), reagent.getColourGreen(), reagent.getColourBlue(), 200 * reagentStack.amount / capacity); - } - } - -// this.renderTankContents(d0, d1, d2, 255, 0, 0, 200); - - - - -// for (int i = 0; i <= 1; i++) -// { -// GL11.glPushMatrix(); -// -// if (tileAltar.getStackInSlot(i) != null) -// { -// float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(i)); -// float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); -// EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); -// ghostEntityItem.hoverStart = 0.0F; -// ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(i)); -// //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); -// float displacementX = getXDisplacementForSlot(i); -// float displacementY = getYDisplacementForSlot(i); -// float displacementZ = getZDisplacementForSlot(i); -// -// if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) -// { -// GL11.glTranslatef((float) d0 + 0.5F + displacementX, (float) d1 + displacementY + 0.7F, (float) d2 + 0.5F + displacementZ); -// } else -// { -// GL11.glTranslatef((float) d0 + 0.5F + displacementX, (float) d1 + displacementY + 0.6F, (float) d2 + 0.5F + displacementZ); -// } -// -// //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); -// GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); -// GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); -// customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); -// } -// -// GL11.glPopMatrix(); -// } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } - - private void renderTankContents(double x, double y, double z, int colourRed, int colourGreen, int colourBlue, int colourIntensity) - { - GL11.glPushMatrix(); - float f1 = 1.0f; - Tessellator tessellator = Tessellator.instance; - this.bindTexture(resourceLocation); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - float f2 = 0; - float f3 = -f2 * 0.2F - (float)MathHelper.floor_float(-f2 * 0.1F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glDepthMask(false); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA(colourRed, colourGreen, colourBlue, colourIntensity); - - GL11.glTranslated(x+0.5, y+0.5, z+0.5); - //GL11.glRotatef(30F, 0F, 0F, 1F); //Rotate vertical axis - //GL11.glRotatef(tileAltar.getWorldObj().getWorldTime()*2f, 1F, 0F, 0F); //Rotate cylindrically - - tessellator.setBrightness(240); - - double x1 = -4d/16d; - double x2 = 4d/16d; - double y1 = -6d/16d; - double y2 = 4d/16d; - double z1 = -4d/16d; - double z2 = 4d/16d; - - double resx1 = 0.0d; - double resx2 = 0.0d; - double resy1 = 1.0d; - double resy2 = 1.0d; - - tessellator.addVertexWithUV(x1, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z1, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z1, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x1, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x1, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y1, z2, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z2, resx1, resy2); - tessellator.addVertexWithUV(x2, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x2, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y2, z1, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z2, resx1, resy2); - tessellator.draw(); - - GL11.glDepthMask(true); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glPopMatrix(); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderMasterStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderMasterStone.java deleted file mode 100644 index 0a54d29d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderMasterStone.java +++ /dev/null @@ -1,30 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import WayofTime.alchemicalWizardry.api.rituals.Rituals; -import WayofTime.alchemicalWizardry.common.renderer.MRSRenderer; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; - -public class RenderMasterStone extends TileEntitySpecialRenderer -{ - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEMasterStone) - { - String str = ((TEMasterStone) tileEntity).getCurrentRitual(); - MRSRenderer renderer = Rituals.getRendererForKey(str); - - if(renderer != null) - { - renderer.renderAt(((TEMasterStone) tileEntity), d0, d1, d2); - } - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderPedestal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderPedestal.java deleted file mode 100644 index 47e63753..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderPedestal.java +++ /dev/null @@ -1,273 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelPedestal; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderPedestal extends TileEntitySpecialRenderer -{ - private ModelPedestal modelPedestal = new ModelPedestal(); - private final RenderItem customRenderItem; - - public RenderPedestal() - { - customRenderItem = new RenderItem() - { - @Override - public boolean shouldBob() - { - return false; - } - }; - customRenderItem.setRenderManager(RenderManager.instance); - } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEPedestal) - { - TEPedestal tileAltar = (TEPedestal) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/Pedestal.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelPedestal.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - - if (tileAltar.getStackInSlot(0) != null) - { - float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(0)); - float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); - EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); - ghostEntityItem.hoverStart = 0.0F; - ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(0)); - //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); - float displacement = 0.2F; - - if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.7F, (float) d2 + 0.5F); - } else - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.6F, (float) d2 + 0.5F); - } - - //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); - GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); - GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); - customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); - } - - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); -// this.modelInputMirror.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, tileSpellBlock.getInputDirection(), tileSpellBlock.getOutputDirection()); - GL11.glPopMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - - - - } - } - - private float getGhostItemScaleFactor(ItemStack itemStack) - { - float scaleFactor = 1.0F; - - if (itemStack != null) - { - if (itemStack.getItem() instanceof ItemBlock) - { - switch (customRenderItem.getMiniBlockCount(itemStack,(byte)1)) - { - case 1: - return 0.90F; - - case 2: - return 0.90F; - - case 3: - return 0.90F; - - case 4: - return 0.90F; - - case 5: - return 0.80F; - - default: - return 0.90F; - } - } else - { - switch (customRenderItem.getMiniItemCount(itemStack,(byte)1)) - { - case 1: - return 0.65F; - - case 2: - return 0.65F; - - case 3: - return 0.65F; - - case 4: - return 0.65F; - - default: - return 0.65F; - } - } - } - - return scaleFactor; - } - - private void translateGhostItemByOrientation(ItemStack ghostItemStack, double x, double y, double z, ForgeDirection forgeDirection) - { - if (ghostItemStack != null) - { - if (ghostItemStack.getItem() instanceof ItemBlock) - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 2.7F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.25F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } else - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.6F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.20F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderPlinth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderPlinth.java deleted file mode 100644 index 6a233520..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderPlinth.java +++ /dev/null @@ -1,256 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelPlinth; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderPlinth extends TileEntitySpecialRenderer -{ - private ModelPlinth modelPlinth = new ModelPlinth(); - private final RenderItem customRenderItem; - - public RenderPlinth() - { - customRenderItem = new RenderItem() - { - @Override - public boolean shouldBob() - { - return false; - } - }; - customRenderItem.setRenderManager(RenderManager.instance); - } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEPlinth) - { - TEPlinth tileAltar = (TEPlinth) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/Plinth.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelPlinth.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - - if (tileAltar.getStackInSlot(0) != null) - { - float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(0)); - EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); - ghostEntityItem.hoverStart = 0.0F; - ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(0)); - //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); - float displacement = 0.2F; - - if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.7F, (float) d2 + 0.5F); - } else - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 10.4f / 16.0f, (float) d2 + 0.5F - 0.1875f); - } - - //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); - GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); - - if (!(ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock)) - { - GL11.glRotatef(90f, 1.0f, 0.0f, 0.0F); - } - - customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); - } - - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } - - private float getGhostItemScaleFactor(ItemStack itemStack) - { - float scaleFactor = 2.0F / 0.9F; - - if (itemStack != null) - { - if (itemStack.getItem() instanceof ItemBlock) - { - switch (customRenderItem.getMiniBlockCount(itemStack, (byte) 1)) - { - case 1: - return 0.90F * scaleFactor / 2; - - case 2: - return 0.90F * scaleFactor / 2; - - case 3: - return 0.90F * scaleFactor / 2; - - case 4: - return 0.90F * scaleFactor / 2; - - case 5: - return 0.80F * scaleFactor / 2; - - default: - return 0.90F * scaleFactor / 2; - } - } else - { - switch (customRenderItem.getMiniItemCount(itemStack, (byte) 1)) - { - case 1: - return 0.65F * scaleFactor; - - case 2: - return 0.65F * scaleFactor; - - case 3: - return 0.65F * scaleFactor; - - case 4: - return 0.65F * scaleFactor; - - default: - return 0.65F * scaleFactor; - } - } - } - - return scaleFactor; - } - - private void translateGhostItemByOrientation(ItemStack ghostItemStack, double x, double y, double z, ForgeDirection forgeDirection) - { - if (ghostItemStack != null) - { - if (ghostItemStack.getItem() instanceof ItemBlock) - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 2.7F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.25F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } else - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.6F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.20F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderReagentConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderReagentConduit.java deleted file mode 100644 index 66c743d7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderReagentConduit.java +++ /dev/null @@ -1,75 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.Int3; -import WayofTime.alchemicalWizardry.common.tileEntity.TEReagentConduit; - -public class RenderReagentConduit extends TileEntitySpecialRenderer -{ - private static final ResourceLocation field_110629_a = new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEReagentConduit) - { - int renderCount = ((TEReagentConduit)tileEntity).renderCount; - float key1 = (tileEntity.xCoord*54f - tileEntity.yCoord*38.72f + tileEntity.zCoord*10.432f); - float key2 = (tileEntity.xCoord*21.43f - tileEntity.yCoord*9.96f + tileEntity.zCoord*12.8f); - - Int3 colourMap = ((TEReagentConduit) tileEntity).getColour(); - - GL11.glPushMatrix(); - float f1 = 1.0f; - Tessellator tessellator = Tessellator.instance; - this.bindTexture(field_110629_a); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - float f2 = 0; - float f3 = -f2 * 0.2F - (float)MathHelper.floor_float(-f2 * 0.1F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - - GL11.glDepthMask(false); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA(colourMap.xCoord, colourMap.yCoord, colourMap.zCoord, 200); - //tessellator.setColorOpaque(255, 255, 255); - - GL11.glTranslated(d0+0.5, d1+0.5, d2+0.5); - - GL11.glRotatef(tileEntity.getWorldObj().getWorldTime()/3.0f, 0F, 1F, 0F); //Rotate on planar axis - GL11.glRotatef(renderCount + key1, 0F, 0F, 1F); //Rotate vertical axis - GL11.glRotatef(renderCount*2f + key2, 1F, 0F, 0F); //Rotate cylindrically - - double offset = 0; - - tessellator.setBrightness(240); -// GL11.glTranslatef(0F, s, s); -// GL11.glScalef(1F, s * 14F, s * 14F); - tessellator.addVertexWithUV(-0.5d, 0, -0.5d, 0.0d, 0.0d); - tessellator.addVertexWithUV(0.5d, 0, -0.5d, 1.0d, 0.0d); - tessellator.addVertexWithUV(0.5d, 0, 0.5d, 1.0d, 1.0d); - tessellator.addVertexWithUV(-0.5d, 0, 0.5d, 0.0d, 1.0d); - - tessellator.draw(); - - GL11.glDepthMask(true); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glPopMatrix(); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellEffectBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellEffectBlock.java deleted file mode 100644 index 644bb56b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellEffectBlock.java +++ /dev/null @@ -1,49 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellEffectBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderSpellEffectBlock extends TileEntitySpecialRenderer -{ - private ModelSpellEffectBlock modelSpellEffectBlock = new ModelSpellEffectBlock(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TESpellEffectBlock) - { - TESpellEffectBlock tileSpellBlock = (TESpellEffectBlock) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/BlockSpellEffect.png"); - int meta = tileEntity.getWorldObj().getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - String resource = tileSpellBlock.getResourceLocationForMeta(meta); - test = new ResourceLocation(resource); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellEffectBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, tileSpellBlock.getInputDirection(), tileSpellBlock.getOutputDirection()); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellEnhancementBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellEnhancementBlock.java deleted file mode 100644 index ad2b22ae..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellEnhancementBlock.java +++ /dev/null @@ -1,49 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellEnhancementBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEnhancementBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderSpellEnhancementBlock extends TileEntitySpecialRenderer -{ - private ModelSpellEnhancementBlock modelSpellEnhancementBlock = new ModelSpellEnhancementBlock(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TESpellEnhancementBlock) - { - TESpellEnhancementBlock tileSpellBlock = (TESpellEnhancementBlock) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/BlockSpellEnhancementPower1.png"); - int meta = tileEntity.getWorldObj().getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - String resource = tileSpellBlock.getResourceLocationForMeta(meta); - test = new ResourceLocation(resource); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellEnhancementBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, tileSpellBlock.getInputDirection(), tileSpellBlock.getOutputDirection()); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellModifierBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellModifierBlock.java deleted file mode 100644 index e61a6123..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellModifierBlock.java +++ /dev/null @@ -1,49 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellModifierBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellModifierBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderSpellModifierBlock extends TileEntitySpecialRenderer -{ - private ModelSpellModifierBlock modelSpellModifierBlock = new ModelSpellModifierBlock(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TESpellModifierBlock) - { - TESpellModifierBlock tileSpellBlock = (TESpellModifierBlock) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/BlockSpellModifier.png"); - int meta = tileEntity.getWorldObj().getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - String resource = tileSpellBlock.getResourceLocationForMeta(meta); - test = new ResourceLocation(resource); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellModifierBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, tileSpellBlock.getInputDirection(), tileSpellBlock.getOutputDirection()); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellParadigmBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellParadigmBlock.java deleted file mode 100644 index 9b28f3fb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderSpellParadigmBlock.java +++ /dev/null @@ -1,49 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellParadigmBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpellParadigmBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderSpellParadigmBlock extends TileEntitySpecialRenderer -{ - private ModelSpellParadigmBlock modelSpellParadigmBlock = new ModelSpellParadigmBlock(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TESpellParadigmBlock) - { - TESpellParadigmBlock tileSpellBlock = (TESpellParadigmBlock) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/BlockSpellParadigm.png"); - int meta = tileEntity.getWorldObj().getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - String resource = tileSpellBlock.getResourceLocationForMeta(meta); - test = new ResourceLocation(resource); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellParadigmBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, tileSpellBlock.getInputDirection(), tileSpellBlock.getOutputDirection()); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderWritingTable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderWritingTable.java deleted file mode 100644 index b53c496f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/RenderWritingTable.java +++ /dev/null @@ -1,328 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelWritingTable; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import cpw.mods.fml.client.FMLClientHandler; - -public class RenderWritingTable extends TileEntitySpecialRenderer -{ - private ModelWritingTable modelWritingTable = new ModelWritingTable(); - private final RenderItem customRenderItem; - - public RenderWritingTable() - { - customRenderItem = new RenderItem() - { - @Override - public boolean shouldBob() - { - return false; - } - }; - customRenderItem.setRenderManager(RenderManager.instance); - } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - if (tileEntity instanceof TEWritingTable) - { - TEWritingTable tileAltar = (TEWritingTable) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/WritingTable.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelWritingTable.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - - for (int i = 1; i <= 6; i++) - { - GL11.glPushMatrix(); - - if (tileAltar.getStackInSlot(i) != null) - { - float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(i)); - float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); - EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); - ghostEntityItem.hoverStart = 0.0F; - ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(i)); - //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); - float displacementX = getXDisplacementForSlot(i); - float displacementY = getYDisplacementForSlot(i); - float displacementZ = getZDisplacementForSlot(i); - - if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) - { - GL11.glTranslatef((float) d0 + 0.5F + displacementX, (float) d1 + displacementY + 0.7F, (float) d2 + 0.5F + displacementZ); - } else - { - GL11.glTranslatef((float) d0 + 0.5F + displacementX, (float) d1 + displacementY + 0.6F, (float) d2 + 0.5F + displacementZ); - } - - //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); - GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); - GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); - customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); - } - - GL11.glPopMatrix(); - } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } - - private float getGhostItemScaleFactor(ItemStack itemStack) - { - float scaleFactor = 0.8F; - - if (itemStack != null) - { - if (itemStack.getItem() instanceof ItemBlock) - { - switch (customRenderItem.getMiniBlockCount(itemStack,(byte)1)) - { - case 1: - return 0.90F * scaleFactor; - - case 2: - return 0.90F * scaleFactor; - - case 3: - return 0.90F * scaleFactor; - - case 4: - return 0.90F * scaleFactor; - - case 5: - return 0.80F * scaleFactor; - - default: - return 0.90F * scaleFactor; - } - } else - { - switch (customRenderItem.getMiniItemCount(itemStack,(byte)1)) - { - case 1: - return 0.65F * scaleFactor; - - case 2: - return 0.65F * scaleFactor; - - case 3: - return 0.65F * scaleFactor; - - case 4: - return 0.65F * scaleFactor; - - default: - return 0.65F * scaleFactor; - } - } - } - - return scaleFactor; - } - - private float getXDisplacementForSlot(int slot) - { - switch (slot) - { - case 0: - return 0.0f; - - case 1: - return -0.375f; - - case 2: - return -0.125f; - - case 3: - return 0.3125f; - - case 4: - return 0.3125f; - - case 5: - return -0.125f; - - default: - return 0.0f; - } - } - - private float getYDisplacementForSlot(int slot) - { - switch (slot) - { - case 0: - return 0.4f; - - case 1: - return -0.35f; - - case 6: - return 0.4f; - - default: - return -0.35f; - } - } - - private float getZDisplacementForSlot(int slot) - { - switch (slot) - { - case 0: - return 0.0f; - - case 1: - return 0.0f; - - case 2: - return 0.375f; - - case 3: - return 0.25f; - - case 4: - return -0.25f; - - case 5: - return -0.375f; - - default: - return 0.0f; - } - } - - private void translateGhostItemByOrientation(ItemStack ghostItemStack, double x, double y, double z, ForgeDirection forgeDirection) - { - if (ghostItemStack != null) - { - if (ghostItemStack.getItem() instanceof ItemBlock) - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 2.7F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.25F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } else - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.6F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.20F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/ShaderHelper.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/ShaderHelper.java deleted file mode 100644 index 46641497..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/ShaderHelper.java +++ /dev/null @@ -1,184 +0,0 @@ -/** - * This class was created by . It's distributed as - * part of the Botania Mod. Get the Source Code in github: - * https://github.com/Vazkii/Botania - * - * Botania is Open Source and distributed under a - * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License - * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) - * - * File Created @ [Apr 9, 2014, 11:20:26 PM (GMT)] - */ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.logging.Level; - -import org.lwjgl.opengl.ARBFragmentShader; -import org.lwjgl.opengl.ARBShaderObjects; -import org.lwjgl.opengl.ARBVertexShader; -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.common.FMLLog; - -public final class ShaderHelper { - - private static final int VERT = ARBVertexShader.GL_VERTEX_SHADER_ARB; - private static final int FRAG = ARBFragmentShader.GL_FRAGMENT_SHADER_ARB; - - public static int beam = 0; - - public static void initShaders() { -// if(!useShaders()) -// return; - - beam = createProgram(null, "/assets/alchemicalwizardry/shaders/beam.frag"); - } - - public static void useShaderWithProps(int shader, Object... props) { -// if(!useShaders()) -// return; - - ARBShaderObjects.glUseProgramObjectARB(shader); - - if(shader != 0 && props.length % 2 == 0) { - int propCount = props.length / 2; - for(int i = 0; i < propCount; i++) { - String propName = (String) props[i * 2]; - Object propVal = props[i * 2 + 1]; - - int uniform = ARBShaderObjects.glGetUniformLocationARB(shader, propName); - if(propVal instanceof Integer) - ARBShaderObjects.glUniform1iARB(uniform, (Integer) propVal); - if(propVal instanceof Float) - ARBShaderObjects.glUniform1fARB(uniform, (Float) propVal); - // Possible Vector2, Vector3 and Vector4, no need yet. - } - } - } - - public static void useShader(int shader) { - useShaderWithProps(shader); - } - - public static void releaseShader() { - useShader(0); - } - - public static boolean useShaders() { - return true;//ConfigHandler.useShaders && OpenGlHelper.shadersSupported; - } - - // Most of the code taken from the LWJGL wiki - // http://lwjgl.org/wiki/index.php?title=GLSL_Shaders_with_LWJGL - - private static int createProgram(String vert, String frag) { - int vertId = 0, fragId = 0, program = 0; - if(vert != null) - vertId = createShader(vert, VERT); - if(frag != null) - fragId = createShader(frag, FRAG); - - program = ARBShaderObjects.glCreateProgramObjectARB(); - if(program == 0) - return 0; - - if(vert != null) - ARBShaderObjects.glAttachObjectARB(program, vertId); - if(frag != null) - ARBShaderObjects.glAttachObjectARB(program, fragId); - - ARBShaderObjects.glLinkProgramARB(program); - if(ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_LINK_STATUS_ARB) == GL11.GL_FALSE) { -// FMLLog.log(Level.WARNING, getLogInfo(program)); - return 0; - } - - ARBShaderObjects.glValidateProgramARB(program); - if (ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_VALIDATE_STATUS_ARB) == GL11.GL_FALSE) { -// FMLLog.log(Level.WARNING, getLogInfo(program)); - return 0; - } - - return program; - } - - private static int createShader(String filename, int shaderType){ - int shader = 0; - try { - shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); - - if(shader == 0) - return 0; - - ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); - ARBShaderObjects.glCompileShaderARB(shader); - - if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) - throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); - - return shader; - } - catch(Exception e) { - ARBShaderObjects.glDeleteObjectARB(shader); - e.printStackTrace(); - return -1; - } - } - - private static String getLogInfo(int obj) { - return ARBShaderObjects.glGetInfoLogARB(obj, ARBShaderObjects.glGetObjectParameteriARB(obj, ARBShaderObjects.GL_OBJECT_INFO_LOG_LENGTH_ARB)); - } - - private static String readFileAsString(String filename) throws Exception { - StringBuilder source = new StringBuilder(); - InputStream in = ShaderHelper.class.getResourceAsStream(filename); - Exception exception = null; - BufferedReader reader; - - if(in == null) - return ""; - - try { - reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); - - Exception innerExc= null; - try { - String line; - while((line = reader.readLine()) != null) - source.append(line).append('\n'); - } catch(Exception exc) { - exception = exc; - } finally { - try { - reader.close(); - } catch(Exception exc) { - if(innerExc == null) - innerExc = exc; - else exc.printStackTrace(); - } - } - - if(innerExc != null) - throw innerExc; - } catch(Exception exc) { - exception = exc; - } finally { - try { - in.close(); - } catch(Exception exc) { - if(exception == null) - exception = exc; - else exc.printStackTrace(); - } - - if(exception != null) - throw exception; - } - - return source.toString(); - } -} - diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/TEAltarRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/TEAltarRenderer.java deleted file mode 100644 index 4036f435..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/TEAltarRenderer.java +++ /dev/null @@ -1,241 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block; - -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelBloodAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; - -public class TEAltarRenderer extends TileEntitySpecialRenderer -{ - private ModelBloodAltar modelBloodAltar = new ModelBloodAltar(); - private final RenderItem customRenderItem; - - public TEAltarRenderer() - { - customRenderItem = new RenderItem() - { - @Override - public boolean shouldBob() - { - return false; - } - }; - customRenderItem.setRenderManager(RenderManager.instance); - } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double d0, double d1, double d2, float f) - { - modelBloodAltar.renderBloodAltar((TEAltar) tileEntity, d0, d1, d2); - modelBloodAltar.renderBloodLevel((TEAltar) tileEntity, d0, d1, d2); - - if (tileEntity instanceof TEAltar) - { - TEAltar tileAltar = (TEAltar) tileEntity; - GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - - if (tileAltar.getStackInSlot(0) != null) - { - float scaleFactor = getGhostItemScaleFactor(tileAltar.getStackInSlot(0)); - float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); - EntityItem ghostEntityItem = new EntityItem(tileAltar.getWorldObj()); - ghostEntityItem.hoverStart = 0.0F; - ghostEntityItem.setEntityItemStack(tileAltar.getStackInSlot(0)); - //translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), d0, d1, d2, ForgeDirection.DOWN); - float displacement = 0.2F; - - if (ghostEntityItem.getEntityItem().getItem() instanceof ItemBlock) - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.7F, (float) d2 + 0.5F); - } else - { - GL11.glTranslatef((float) d0 + 0.5F, (float) d1 + displacement + 0.6F, (float) d2 + 0.5F); - } - - //GL11.glTranslatef((float) tileAltar.xCoord + 0.5F, (float) tileAltar.yCoord + 2.7F, (float) tileAltar.zCoord + 0.5F); - GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); - GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); - customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0); - } - - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - } - - private float getGhostItemScaleFactor(ItemStack itemStack) - { - float scaleFactor = 1.0F; - - if (itemStack != null) - { - if (itemStack.getItem() instanceof ItemBlock) - { - switch (customRenderItem.getMiniBlockCount(itemStack,(byte)1)) - { - case 1: - return 0.90F; - - case 2: - return 0.90F; - - case 3: - return 0.90F; - - case 4: - return 0.90F; - - case 5: - return 0.80F; - - default: - return 0.90F; - } - } else - { - switch (customRenderItem.getMiniItemCount(itemStack,(byte)1)) - { - case 1: - return 0.65F; - - case 2: - return 0.65F; - - case 3: - return 0.65F; - - case 4: - return 0.65F; - - default: - return 0.65F; - } - } - } - - return scaleFactor; - } - - private void translateGhostItemByOrientation(ItemStack ghostItemStack, double x, double y, double z, ForgeDirection forgeDirection) - { - if (ghostItemStack != null) - { - if (ghostItemStack.getItem() instanceof ItemBlock) - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 2.7F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.25F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.5F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } else - { - switch (forgeDirection) - { - case DOWN: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.6F, (float) z + 0.5F); - return; - } - - case UP: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.20F, (float) z + 0.5F); - return; - } - - case NORTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.7F); - return; - } - - case SOUTH: - { - GL11.glTranslatef((float) x + 0.5F, (float) y + 0.4F, (float) z + 0.3F); - return; - } - - case EAST: - { - GL11.glTranslatef((float) x + 0.3F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case WEST: - { - GL11.glTranslatef((float) x + 0.70F, (float) y + 0.4F, (float) z + 0.5F); - return; - } - - case UNKNOWN: - { - return; - } - - default: - { - return; - } - } - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEAlchemicalCalcinatorItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEAlchemicalCalcinatorItemRenderer.java deleted file mode 100644 index 87b7cb94..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEAlchemicalCalcinatorItemRenderer.java +++ /dev/null @@ -1,95 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelAlchemicalCalcinator; -import cpw.mods.fml.client.FMLClientHandler; - -public class TEAlchemicalCalcinatorItemRenderer implements IItemRenderer -{ - private ModelAlchemicalCalcinator modelConduit = new ModelAlchemicalCalcinator(); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - Tessellator tessellator = Tessellator.instance; - - Block block = ModBlocks.blockAlchemicCalcinator; - - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/AlchemicalCalcinator.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - } - - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEAltarItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEAltarItemRenderer.java deleted file mode 100644 index 72945f5a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEAltarItemRenderer.java +++ /dev/null @@ -1,81 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelBloodAltar; -import cpw.mods.fml.client.FMLClientHandler; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; - -public class TEAltarItemRenderer implements IItemRenderer -{ - private ModelBloodAltar modelBloodAltar; - - public TEAltarItemRenderer() - { - modelBloodAltar = new ModelBloodAltar(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - // TODO Auto-generated method stub - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - // TODO Auto-generated method stub - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) - { - float scale = 0.08f; - - // TODO Auto-generated method stub - switch (type) - { - case ENTITY: - renderBloodAltar((RenderBlocks) data[0], item, 0, 0, 0, scale); - break; - case EQUIPPED: - renderBloodAltar((RenderBlocks) data[0], item, 0, 0, 0.5f, scale); - break; - case EQUIPPED_FIRST_PERSON: - renderBloodAltar((RenderBlocks) data[0], item, +0.5f, 0.5f, +0.5f, scale); - break; - case INVENTORY: - renderBloodAltar((RenderBlocks) data[0], item, -0.5f, -0.75f, -0.5f, scale); - break; - - default: - return; - } - } - - private void renderBloodAltar(RenderBlocks render, ItemStack item, float x, float y, float z, float scale) - { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glPushMatrix(); - // Disable Lighting Calculations - GL11.glTranslatef(x, y, z); - GL11.glScalef(scale, scale, scale); - GL11.glRotatef(180f, 0f, 1f, 0f); - //FMLClientHandler.instance().getClient().renderEngine.bindTexture("/mods/OBJTutorial/textures/models/TutBox.png"); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/altar.png"); - //FMLClientHandler.instance().getClient().renderEngine.bindTexture("/mods/alchemicalwizardry/textures/models/altar.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - modelBloodAltar.renderBloodAltar(); - // Re-enable Lighting Calculations - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEBellJarItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEBellJarItemRenderer.java deleted file mode 100644 index 706d7305..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEBellJarItemRenderer.java +++ /dev/null @@ -1,206 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelCrystalBelljar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; -import cpw.mods.fml.client.FMLClientHandler; - -public class TEBellJarItemRenderer implements IItemRenderer -{ - ItemRenderer d; - private ModelCrystalBelljar modelConduit = new ModelCrystalBelljar(); - private ResourceLocation mainResource = new ResourceLocation("alchemicalwizardry:textures/models/CrystalBelljar.png"); - private ResourceLocation resourceLocation = new ResourceLocation("alchemicalwizardry:textures/models/Reagent.png"); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - GL11.glDepthMask(false); - Tessellator tessellator = Tessellator.instance; - - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(mainResource); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.renderSpecialItem((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, 0); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - - GL11.glDepthMask(true); - - ReagentContainerInfo[] info = TEBellJar.getContainerInfoFromItem(item); - if(info.length >= 1 && info[0] != null) - { - ReagentStack reagentStack = info[0].reagent; - int capacity = info[0].capacity; - if(reagentStack != null && reagentStack.reagent != null) - { - Reagent reagent = reagentStack.reagent; - this.renderTankContents(translateX, translateY, translateZ, reagent.getColourRed(), reagent.getColourGreen(), reagent.getColourBlue(), 200 * reagentStack.amount / capacity); - } - } - - GL11.glDepthMask(false); - - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(mainResource); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.renderSpecialItem((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, 1); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); -// GL11.glEnable(GL11.GL_CULL_FACE); -// GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDepthMask(true); - } - - private void renderTankContents(double x, double y, double z, int colourRed, int colourGreen, int colourBlue, int colourIntensity) - { - GL11.glPushMatrix(); - float f1 = 1.0f; - Tessellator tessellator = Tessellator.instance; - FMLClientHandler.instance().getClient().renderEngine.bindTexture(resourceLocation); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_TEXTURE_2D); - float f2 = 0; - float f3 = -f2 * 0.2F - (float)MathHelper.floor_float(-f2 * 0.1F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - GL11.glDepthMask(false); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA(colourRed, colourGreen, colourBlue, colourIntensity); - - GL11.glTranslated(x+0.5, y+0.5, z+0.5); - //GL11.glRotatef(30F, 0F, 0F, 1F); //Rotate vertical axis - //GL11.glRotatef(tileAltar.getWorldObj().getWorldTime()*2f, 1F, 0F, 0F); //Rotate cylindrically - - tessellator.setBrightness(240); - - double x1 = -4d/16d; - double x2 = 4d/16d; - double y1 = -6d/16d; - double y2 = 4d/16d; - double z1 = -4d/16d; - double z2 = 4d/16d; - - double resx1 = 0.0d; - double resx2 = 0.0d; - double resy1 = 1.0d; - double resy2 = 1.0d; - - tessellator.addVertexWithUV(x1, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z1, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z1, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x1, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x1, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y1, z2, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z2, resx1, resy2); - tessellator.addVertexWithUV(x2, y1, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y1, z2, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x2, y2, z1, resx1, resy2); - tessellator.addVertexWithUV(x1, y2, z1, resx1, resy1); - tessellator.addVertexWithUV(x2, y2, z1, resx2, resy1); - tessellator.addVertexWithUV(x2, y2, z2, resx2, resy2); - tessellator.addVertexWithUV(x1, y2, z2, resx1, resy2); - tessellator.draw(); - - GL11.glDepthMask(true); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glPopMatrix(); - } - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEConduitItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEConduitItemRenderer.java deleted file mode 100644 index 9e76b9f8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEConduitItemRenderer.java +++ /dev/null @@ -1,96 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelConduit; -import cpw.mods.fml.client.FMLClientHandler; - -public class TEConduitItemRenderer implements IItemRenderer -{ - private ModelConduit modelConduit = new ModelConduit(); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - Tessellator tessellator = Tessellator.instance; - - Block block = ModBlocks.blockConduit; - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/Conduit.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelConduit.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ForgeDirection.DOWN, ForgeDirection.UP); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellEffectBlockItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellEffectBlockItemRenderer.java deleted file mode 100644 index 30cb938a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellEffectBlockItemRenderer.java +++ /dev/null @@ -1,108 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellEffectBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class TESpellEffectBlockItemRenderer implements IItemRenderer -{ - private ModelSpellEffectBlock modelSpellBlock = new ModelSpellEffectBlock(); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - Tessellator tessellator = Tessellator.instance; - - Block block = ModBlocks.blockSpellEffect; - //Icon icon = item.getItem().getIconFromDamage(0); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - ResourceLocation test = new ResourceLocation(this.getResourceLocationForMeta(item.getItemDamage())); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ForgeDirection.DOWN, ForgeDirection.UP); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } - - public String getResourceLocationForMeta(int meta) - { - switch(meta) - { - case 0: return "alchemicalwizardry:textures/models/SpellEffectFire.png"; - case 1: return "alchemicalwizardry:textures/models/SpellEffectIce.png"; - case 2: return "alchemicalwizardry:textures/models/SpellEffectWind.png"; - case 3: return "alchemicalwizardry:textures/models/SpellEffectEarth.png"; - } - return ""; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellEnhancementBlockItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellEnhancementBlockItemRenderer.java deleted file mode 100644 index a25da6d7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellEnhancementBlockItemRenderer.java +++ /dev/null @@ -1,114 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellEnhancementBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class TESpellEnhancementBlockItemRenderer implements IItemRenderer -{ - private ModelSpellEnhancementBlock modelSpellBlock = new ModelSpellEnhancementBlock(); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - Tessellator tessellator = Tessellator.instance; - - Block block = ModBlocks.blockSpellEffect; - //Icon icon = item.getItem().getIconFromDamage(0); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - ResourceLocation test = new ResourceLocation(this.getResourceLocationForMeta(item.getItemDamage())); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ForgeDirection.DOWN, ForgeDirection.UP); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } - - 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"; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellModifierBlockItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellModifierBlockItemRenderer.java deleted file mode 100644 index c7809540..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellModifierBlockItemRenderer.java +++ /dev/null @@ -1,108 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellModifierBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class TESpellModifierBlockItemRenderer implements IItemRenderer -{ - private ModelSpellModifierBlock modelSpellBlock = new ModelSpellModifierBlock(); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - Tessellator tessellator = Tessellator.instance; - - Block block = ModBlocks.blockSpellEffect; - //Icon icon = item.getItem().getIconFromDamage(0); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - ResourceLocation test = new ResourceLocation(this.getResourceLocationForMeta(item.getItemDamage())); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ForgeDirection.DOWN, ForgeDirection.UP); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } - - public String getResourceLocationForMeta(int meta) - { - switch(meta) - { - case 0: return "alchemicalwizardry:textures/models/SpellModifierDefault.png"; - case 1: return "alchemicalwizardry:textures/models/SpellModifierOffensive.png"; - case 2: return "alchemicalwizardry:textures/models/SpellModifierDefensive.png"; - case 3: return "alchemicalwizardry:textures/models/SpellModifierEnvironmental.png"; - } - return "alchemicalwizardry:textures/models/SpellModifierDefault.png"; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellParadigmBlockItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellParadigmBlockItemRenderer.java deleted file mode 100644 index 848d36ae..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TESpellParadigmBlockItemRenderer.java +++ /dev/null @@ -1,108 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.renderer.model.ModelSpellParadigmBlock; -import cpw.mods.fml.client.FMLClientHandler; - -public class TESpellParadigmBlockItemRenderer implements IItemRenderer -{ - private ModelSpellParadigmBlock modelSpellBlock = new ModelSpellParadigmBlock(); - - private void renderConduitItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) - { - Tessellator tessellator = Tessellator.instance; - - Block block = ModBlocks.blockSpellEffect; - //Icon icon = item.getItem().getIconFromDamage(0); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - /** - * Render the ghost item inside of the Altar, slowly spinning - */ - GL11.glPushMatrix(); - GL11.glTranslatef((float) translateX + 0.5F, (float) translateY + 1.5F, (float) translateZ + 0.5F); - ResourceLocation test = new ResourceLocation(this.getResourceLocationForMeta(item.getItemDamage())); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - //GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F); - //A reference to your Model file. Again, very important. - this.modelSpellBlock.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ForgeDirection.DOWN, ForgeDirection.UP); - //Tell it to stop rendering for both the PushMatrix's - GL11.glPopMatrix(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - } - - - /** - * IItemRenderer implementation * - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case ENTITY: - return true; - case EQUIPPED: - return true; - case EQUIPPED_FIRST_PERSON: - return true; - case INVENTORY: - return true; - default: - return false; - } - } - - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - case EQUIPPED: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case EQUIPPED_FIRST_PERSON: - renderConduitItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f); - break; - case INVENTORY: - renderConduitItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - default: - } - } - - 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"; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEWritingTableItemRenderer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEWritingTableItemRenderer.java deleted file mode 100644 index 9705879c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/block/itemRender/TEWritingTableItemRenderer.java +++ /dev/null @@ -1,82 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.block.itemRender; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelWritingTable; -import cpw.mods.fml.client.FMLClientHandler; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import org.lwjgl.opengl.GL11; - -public class TEWritingTableItemRenderer implements IItemRenderer -{ - private ModelWritingTable modelBloodAltar; - - public TEWritingTableItemRenderer() - { - modelBloodAltar = new ModelWritingTable(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - // TODO Auto-generated method stub - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - // TODO Auto-generated method stub - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) - { - float scale = 0.08f; - - // TODO Auto-generated method stub - switch (type) - { - case ENTITY: - { - renderBloodAltar(0f, 0f, 0f, scale); - return; - } - - case EQUIPPED: - { - renderBloodAltar(0f, 0f, 0f, scale); - return; - } - - case INVENTORY: - { - renderBloodAltar(0f, -0.25f, 0f, scale); - return; - } - - default: - return; - } - } - - private void renderBloodAltar(float x, float y, float z, float scale) - { - GL11.glPushMatrix(); - // Disable Lighting Calculations - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glTranslatef(x, y, z); - GL11.glScalef(scale, scale, scale); - GL11.glRotatef(180f, 0f, 1f, 0f); - //FMLClientHandler.instance().getClient().renderEngine.bindTexture("/mods/OBJTutorial/textures/models/TutBox.png"); - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/WritingTable.png"); - //FMLClientHandler.instance().getClient().renderEngine.bindTexture("/mods/alchemicalwizardry/textures/models/altar.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - modelBloodAltar.render((Entity) null, 0, 0, 0, 0, 0, 0); - // Re-enable Lighting Calculations - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderBileDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderBileDemon.java deleted file mode 100644 index b09c6ca7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderBileDemon.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderBileDemon extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/BileDemon.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderBileDemon(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityBileDemon par1EntityBileDemon) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityBileDemon) par1Entity); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderBoulderFist.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderBoulderFist.java deleted file mode 100644 index 6db35edd..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderBoulderFist.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderBoulderFist extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/BoulderFist.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderBoulderFist(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityBoulderFist par1EntityBoulderFist) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityBoulderFist) par1Entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java deleted file mode 100644 index 485adc3a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java +++ /dev/null @@ -1,63 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.EntityAirElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.*; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderElemental extends RenderLiving -{ - private static final ResourceLocation airBeacon = new ResourceLocation("alchemicalwizardry", "textures/models/AirFloatingBeacon.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - private static final ResourceLocation waterBeacon = new ResourceLocation("alchemicalwizardry", "textures/models/WaterFloatingBeacon.png"); - private static final ResourceLocation earthBeacon = new ResourceLocation("alchemicalwizardry", "textures/models/EarthFloatingBeacon.png"); - private static final ResourceLocation fireBeacon = new ResourceLocation("alchemicalwizardry", "textures/models/FireFloatingBeacon.png"); - private static final ResourceLocation shadeBeacon = new ResourceLocation("alchemicalwizardry", "textures/models/DarkFloatingBeacon.png"); - private static final ResourceLocation holyBeacon = new ResourceLocation("alchemicalwizardry", "textures/models/HolyFloatingBeacon.png"); - - public RenderElemental(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityElemental par1EntityElemental) - { - if (par1EntityElemental instanceof EntityAirElemental) - { - return airBeacon; - } - - if (par1EntityElemental instanceof EntityWaterElemental) - { - return waterBeacon; - } - - if (par1EntityElemental instanceof EntityEarthElemental) - { - return earthBeacon; - } - - if (par1EntityElemental instanceof EntityFireElemental) - { - return fireBeacon; - } - - if (par1EntityElemental instanceof EntityShadeElemental) - { - return shadeBeacon; - } - - if (par1EntityElemental instanceof EntityHolyElemental) - { - return holyBeacon; - } - - return airBeacon; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityElemental) par1Entity); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderFallenAngel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderFallenAngel.java deleted file mode 100644 index 28a18eaa..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderFallenAngel.java +++ /dev/null @@ -1,30 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -@SideOnly(Side.CLIENT) -public class RenderFallenAngel extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/WingedAngel.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderFallenAngel(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityFallenAngel par1EntityFallenAngel) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityFallenAngel) par1Entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderIceDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderIceDemon.java deleted file mode 100644 index e7dd7219..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderIceDemon.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderIceDemon extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/IceDemon.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderIceDemon(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityIceDemon par1EntityIceDemon) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityIceDemon) par1Entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderLowerGuardian.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderLowerGuardian.java deleted file mode 100644 index 4eeaa4d3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderLowerGuardian.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderLowerGuardian extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/LowerGuardian.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderLowerGuardian(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityLowerGuardian par1EntityLowerGuardian) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityLowerGuardian) par1Entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderShade.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderShade.java deleted file mode 100644 index 38868202..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderShade.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShade; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderShade extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/ShadeMob.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderShade(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityShade par1EntityShade) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityShade) par1Entity); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderSmallEarthGolem.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderSmallEarthGolem.java deleted file mode 100644 index 16772df4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderSmallEarthGolem.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntitySmallEarthGolem; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderSmallEarthGolem extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/SmallEarthGolem.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderSmallEarthGolem(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntitySmallEarthGolem par1EntitySmallEarthGolem) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntitySmallEarthGolem) par1Entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderWingedFireDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderWingedFireDemon.java deleted file mode 100644 index 826f7832..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderWingedFireDemon.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.mob; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWingedFireDemon; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderWingedFireDemon extends RenderLiving -{ - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/WingedFireDemon.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - - public RenderWingedFireDemon(ModelBase par1ModelBase, float par2) - { - super(par1ModelBase, par2); - } - - public ResourceLocation func_110832_a(EntityWingedFireDemon par1EntityWingedFireDemon) - { - return field_110833_a; - } - - public ResourceLocation getEntityTexture(Entity par1Entity) - { - return this.func_110832_a((EntityWingedFireDemon) par1Entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelAlchemicalCalcinator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelAlchemicalCalcinator.java deleted file mode 100644 index 499d34c5..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelAlchemicalCalcinator.java +++ /dev/null @@ -1,140 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelAlchemicalCalcinator extends ModelBase -{ - //fields - ModelRenderer top1; - ModelRenderer top2; - ModelRenderer top3; - ModelRenderer top4; - ModelRenderer tank; - ModelRenderer centreCollumn; - ModelRenderer furnaceShape; - ModelRenderer glassWindow; - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - - public ModelAlchemicalCalcinator() - { - textureWidth = 128; - textureHeight = 128; - - top1 = new ModelRenderer(this, 0, 34); - top1.addBox(4F, -8F, -8F, 4, 3, 16); - top1.setRotationPoint(0F, 16F, 0F); - top1.setTextureSize(128, 128); - top1.mirror = true; - setRotation(top1, 0F, 0F, 0F); - top2 = new ModelRenderer(this, 41, 34); - top2.addBox(-8F, -8F, -8F, 4, 3, 16); - top2.setRotationPoint(0F, 16F, 0F); - top2.setTextureSize(128, 128); - top2.mirror = true; - setRotation(top2, 0F, 0F, 0F); - top3 = new ModelRenderer(this, 25, 55); - top3.addBox(-4F, -8F, 4F, 8, 3, 4); - top3.setRotationPoint(0F, 16F, 0F); - top3.setTextureSize(128, 128); - top3.mirror = true; - setRotation(top3, 0F, 0F, 0F); - top4 = new ModelRenderer(this, 0, 55); - top4.addBox(-4F, -8F, -8F, 8, 3, 4); - top4.setRotationPoint(0F, 16F, 0F); - top4.setTextureSize(128, 128); - top4.mirror = true; - setRotation(top4, 0F, 0F, 0F); - tank = new ModelRenderer(this, 0, 0); - tank.addBox(-8F, -5F, -8F, 16, 4, 16); - tank.setRotationPoint(0F, 16F, 0F); - tank.setTextureSize(128, 128); - tank.mirror = true; - setRotation(tank, 0F, 0F, 0F); - centreCollumn = new ModelRenderer(this, 0, 21); - centreCollumn.addBox(-4F, -5F, -4F, 8, 4, 8); - centreCollumn.setRotationPoint(0F, 16F, 0F); - centreCollumn.setTextureSize(128, 128); - centreCollumn.mirror = true; - setRotation(centreCollumn, 0F, 0F, 0F); - furnaceShape = new ModelRenderer(this, 0, 63); - furnaceShape.addBox(-8F, -1F, -8F, 16, 5, 16); - furnaceShape.setRotationPoint(0F, 16F, 0F); - furnaceShape.setTextureSize(128, 128); - furnaceShape.mirror = true; - setRotation(furnaceShape, 0F, 0F, 0F); - glassWindow = new ModelRenderer(this, 0, 85); - glassWindow.addBox(-4F, -8F, -4F, 8, 0, 8); - glassWindow.setRotationPoint(0F, 16F, 0F); - glassWindow.setTextureSize(128, 128); - glassWindow.mirror = true; - setRotation(glassWindow, 0F, 0F, 0F); - Shape1 = new ModelRenderer(this, 0, 94); - Shape1.addBox(-8F, 4F, -8F, 4, 4, 4); - Shape1.setRotationPoint(0F, 16F, 0F); - Shape1.setTextureSize(128, 128); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 103); - Shape2.addBox(-4F, 6F, -4F, 8, 1, 8); - Shape2.setRotationPoint(0F, 16F, 0F); - Shape2.setTextureSize(128, 128); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 94); - Shape3.addBox(4F, 4F, -8F, 4, 4, 4); - Shape3.setRotationPoint(0F, 16F, 0F); - Shape3.setTextureSize(128, 128); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 94); - Shape4.addBox(-8F, 4F, 4F, 4, 4, 4); - Shape4.setRotationPoint(0F, 16F, 0F); - Shape4.setTextureSize(128, 128); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 94); - Shape5.addBox(4F, 4F, 4F, 4, 4, 4); - Shape5.setRotationPoint(0F, 16F, 0F); - Shape5.setTextureSize(128, 128); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - top1.render(f5); - top2.render(f5); - top3.render(f5); - top4.render(f5); - tank.render(f5); - centreCollumn.render(f5); - furnaceShape.render(f5); - glassWindow.render(f5); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBileDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBileDemon.java deleted file mode 100644 index e09db58e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBileDemon.java +++ /dev/null @@ -1,181 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import org.lwjgl.opengl.GL11; - -public class ModelBileDemon extends ModelBase -{ - //fields - ModelRenderer belly; - ModelRenderer chest; - ModelRenderer head; - ModelRenderer nose; - ModelRenderer leftHorn; - ModelRenderer leftArmSpacer; - ModelRenderer leftArm; - ModelRenderer leftChain; - ModelRenderer leftBall; - ModelRenderer rightHorn; - ModelRenderer rightChain; - ModelRenderer rightBall; - ModelRenderer rightArmSpacer; - ModelRenderer rightArm; - - public ModelBileDemon() - { - textureWidth = 128; - textureHeight = 64; - belly = new ModelRenderer(this, 0, 31); - belly.addBox(-8F, -1F, -10F, 16, 15, 18); - belly.setRotationPoint(0F, 10F, 0F); - belly.setTextureSize(128, 64); - belly.mirror = true; - setRotation(belly, 0F, 0F, 0F); - chest = new ModelRenderer(this, 70, 46); - chest.addBox(-7F, -4F, -6F, 14, 4, 14); - chest.setRotationPoint(0F, 10F, 0F); - chest.setTextureSize(128, 64); - chest.mirror = true; - setRotation(chest, -0.1115358F, 0F, 0F); - head = new ModelRenderer(this, 0, 0); - head.addBox(-4F, -8F, -4F, 8, 8, 8); - head.setRotationPoint(0F, 6F, 3F); - head.setTextureSize(128, 64); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - nose = new ModelRenderer(this, 0, 0); - nose.addBox(-1F, -4F, -5F, 2, 1, 1); - nose.setRotationPoint(0F, 6F, 3F); - nose.setTextureSize(128, 64); - nose.mirror = true; - setRotation(nose, 0F, 0F, 0F); - leftHorn = new ModelRenderer(this, 93, 1); - leftHorn.addBox(4F, -7F, 0F, 16, 1, 1); - leftHorn.setRotationPoint(0F, 6F, 3F); - leftHorn.setTextureSize(128, 64); - leftHorn.mirror = true; - setRotation(leftHorn, 0F, 0F, 0F); - leftArmSpacer = new ModelRenderer(this, 80, 1); - leftArmSpacer.addBox(0F, -2F, -2F, 1, 4, 4); - leftArmSpacer.setRotationPoint(7F, 8F, 3F); - leftArmSpacer.setTextureSize(128, 64); - leftArmSpacer.mirror = true; - setRotation(leftArmSpacer, 0F, 0F, 0F); - leftArm = new ModelRenderer(this, 62, 1); - leftArm.addBox(1F, -2F, -2F, 4, 18, 4); - leftArm.setRotationPoint(7F, 8F, 3F); - leftArm.setTextureSize(128, 64); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - leftChain = new ModelRenderer(this, 95, 5); - leftChain.addBox(17F, -6F, 0F, 1, 6, 1); - leftChain.setRotationPoint(0F, 6F, 3F); - leftChain.setTextureSize(128, 64); - leftChain.mirror = true; - setRotation(leftChain, 0F, 0F, 0F); - leftBall = new ModelRenderer(this, 107, 4); - leftBall.addBox(15F, 0F, -2F, 5, 5, 5); - leftBall.setRotationPoint(0F, 6F, 3F); - leftBall.setTextureSize(128, 64); - leftBall.mirror = true; - setRotation(leftBall, 0F, 0F, 0F); - rightHorn = new ModelRenderer(this, 93, 1); - rightHorn.mirror = true; - rightHorn.addBox(-20F, -7F, 0F, 16, 1, 1); - rightHorn.setRotationPoint(0F, 6F, 3F); - rightHorn.setTextureSize(128, 64); - rightHorn.mirror = true; - setRotation(rightHorn, 0F, 0F, 0F); - rightHorn.mirror = false; - rightChain = new ModelRenderer(this, 95, 5); - rightChain.mirror = true; - rightChain.addBox(-18F, -6F, 0F, 1, 6, 1); - rightChain.setRotationPoint(0F, 6F, 3F); - rightChain.setTextureSize(128, 64); - rightChain.mirror = true; - setRotation(rightChain, 0F, 0F, 0F); - rightChain.mirror = false; - rightBall = new ModelRenderer(this, 107, 4); - rightBall.mirror = true; - rightBall.addBox(-20F, 0F, -2F, 5, 5, 5); - rightBall.setRotationPoint(0F, 6F, 3F); - rightBall.setTextureSize(128, 64); - rightBall.mirror = true; - setRotation(rightBall, 0F, 0F, 0F); - rightBall.mirror = false; - rightArmSpacer = new ModelRenderer(this, 80, 1); - rightArmSpacer.mirror = true; - rightArmSpacer.addBox(-1F, -2F, -2F, 1, 4, 4); - rightArmSpacer.setRotationPoint(-7F, 8F, 3F); - rightArmSpacer.setTextureSize(128, 64); - rightArmSpacer.mirror = true; - setRotation(rightArmSpacer, 0F, 0F, 0F); - rightArmSpacer.mirror = false; - rightArm = new ModelRenderer(this, 62, 1); - rightArm.mirror = true; - rightArm.addBox(-5F, -2F, -2F, 4, 18, 4); - rightArm.setRotationPoint(-7F, 8F, 3F); - rightArm.setTextureSize(128, 64); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - float scale = 1.3f; - GL11.glScalef(scale, scale, scale); - GL11.glTranslatef(0.0f, -(6.0f / 16.0f), 0.0f); - belly.render(f5); - chest.render(f5); - head.render(f5); - nose.render(f5); - leftHorn.render(f5); - leftArmSpacer.render(f5); - leftArm.render(f5); - leftChain.render(f5); - leftBall.render(f5); - rightHorn.render(f5); - rightChain.render(f5); - rightBall.render(f5); - rightArmSpacer.render(f5); - rightArm.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.rightArm.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; - this.leftArm.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; - this.rightArmSpacer.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; - this.leftArmSpacer.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; - this.leftBall.rotateAngleX = this.head.rotateAngleX; - this.leftBall.rotateAngleY = this.head.rotateAngleY; - this.rightBall.rotateAngleX = this.head.rotateAngleX; - this.rightBall.rotateAngleY = this.head.rotateAngleY; - this.leftChain.rotateAngleX = this.head.rotateAngleX; - this.leftChain.rotateAngleY = this.head.rotateAngleY; - this.rightChain.rotateAngleX = this.head.rotateAngleX; - this.rightChain.rotateAngleY = this.head.rotateAngleY; - this.leftHorn.rotateAngleX = this.head.rotateAngleX; - this.leftHorn.rotateAngleY = this.head.rotateAngleY; - this.rightHorn.rotateAngleX = this.head.rotateAngleX; - this.rightHorn.rotateAngleY = this.head.rotateAngleY; - this.nose.rotateAngleX = this.head.rotateAngleX; - this.nose.rotateAngleY = this.head.rotateAngleY; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBloodAltar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBloodAltar.java deleted file mode 100644 index eba407bb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBloodAltar.java +++ /dev/null @@ -1,72 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import cpw.mods.fml.client.FMLClientHandler; - -public class ModelBloodAltar extends ModelBase -{ - private IModelCustom modelBloodAltar; - private IModelCustom modelBloodLevel; //TODO - - public ModelBloodAltar() - { - modelBloodAltar = AdvancedModelLoader.loadModel(new ResourceLocation("alchemicalwizardry:models/bloodaltar-fixeUV.obj")); - modelBloodLevel = AdvancedModelLoader.loadModel(new ResourceLocation("alchemicalwizardry:models/bloodlevel.obj")); - } - - public void renderBloodAltar() - { - modelBloodAltar.renderAll(); - } - - public void renderBloodLevel() - { - modelBloodLevel.renderAll(); - } - - public void renderBloodAltar(TEAltar altar, double x, double y, double z) - { - float scale = 0.1f; - // Push a blank matrix onto the stack - GL11.glPushMatrix(); - // Move the object into the correct position on the block (because the OBJ's origin is the center of the object) - GL11.glTranslatef((float) x + 0.5f, (float) y, (float) z + 0.5f); - // Scale our object to about half-size in all directions (the OBJ file is a little large) - GL11.glScalef(scale, scale, scale); - // Bind the texture, so that OpenGL properly textures our block. - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/altar.png"); - //FMLClientHandler.instance().getClient().renderEngine.bindTexture("/mods/alchemicalwizardry/textures/models/altar.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - // Render the object, using modelTutBox.renderAll(); - this.renderBloodAltar(); - // Pop this matrix from the stack. - GL11.glPopMatrix(); - } - - public void renderBloodLevel(TEAltar altar, double x, double y, double z) - { - float scale = 0.1f; - // Push a blank matrix onto the stack - GL11.glPushMatrix(); - float level = altar.getFluidAmount(); - // Move the object into the correct position on the block (because the OBJ's origin is the center of the object) - GL11.glTranslatef((float) x + 0.5f, (float) y + 0.6499f + 0.12f * (level / altar.getCapacity()), (float) z + 0.5f); - // Scale our object to about half-size in all directions (the OBJ file is a little large) - GL11.glScalef(scale, scale, scale); - // Bind the texture, so that OpenGL properly textures our block. - ResourceLocation test = new ResourceLocation("alchemicalwizardry:textures/models/blood.png"); - //FMLClientHandler.instance().getClient().renderEngine.bindTexture("/mods/alchemicalwizardry/textures/models/altar.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(test); - // Render the object, using modelTutBox.renderAll(); - this.renderBloodLevel(); - // Pop this matrix from the stack. - GL11.glPopMatrix(); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBoulderFist.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBoulderFist.java deleted file mode 100644 index a2cebd46..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelBoulderFist.java +++ /dev/null @@ -1,153 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelBoulderFist extends ModelBase -{ - //fields - ModelRenderer leftFist; - ModelRenderer leftArm; - ModelRenderer body; - ModelRenderer leftLeg1; - ModelRenderer leftLeg2; - ModelRenderer leftFoot; - ModelRenderer rightFist; - ModelRenderer rightArm; - ModelRenderer rightLeg1; - ModelRenderer rightLeg2; - ModelRenderer rightFoot; - ModelRenderer head; - - public ModelBoulderFist() - { - textureWidth = 64; - textureHeight = 64; - leftFist = new ModelRenderer(this, 33, 52); - leftFist.addBox(-1F, 12F, -3F, 6, 6, 6); - leftFist.setRotationPoint(5F, 6F, -6F); - leftFist.setTextureSize(64, 64); - leftFist.mirror = true; - setRotation(leftFist, 0F, 0F, 0F); - leftArm = new ModelRenderer(this, 48, 33); - leftArm.addBox(0F, -2F, -2F, 4, 14, 4); - leftArm.setRotationPoint(5F, 6F, -6F); - leftArm.setTextureSize(64, 64); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - body = new ModelRenderer(this, 0, 40); - body.addBox(-5F, -2F, -3F, 10, 18, 6); - body.setRotationPoint(0F, 6F, -6F); - body.setTextureSize(64, 64); - body.mirror = true; - setRotation(body, 1.22173F, 0F, 0F); - leftLeg1 = new ModelRenderer(this, 0, 25); - leftLeg1.addBox(0F, -1F, -1F, 4, 6, 2); - leftLeg1.setRotationPoint(5F, 11F, 7F); - leftLeg1.setTextureSize(64, 64); - leftLeg1.mirror = true; - setRotation(leftLeg1, -((float) Math.PI / 4F), 0F, 0F); - leftLeg2 = new ModelRenderer(this, 1, 25); - leftLeg2.addBox(0F, 5F, -1F, 4, 2, 12); - leftLeg2.setRotationPoint(5F, 11F, 7F); - leftLeg2.setTextureSize(64, 64); - leftLeg2.mirror = true; - setRotation(leftLeg2, -((float) Math.PI / 4F), 0F, 0F); - leftFoot = new ModelRenderer(this, 22, 25); - leftFoot.addBox(0F, 11F, -1F, 4, 2, 5); - leftFoot.setRotationPoint(5F, 11F, 7F); - leftFoot.setTextureSize(64, 64); - leftFoot.mirror = true; - setRotation(leftFoot, 0F, 0F, 0F); - rightFist = new ModelRenderer(this, 33, 52); - rightFist.mirror = true; - rightFist.addBox(-5F, 12F, -3F, 6, 6, 6); - rightFist.setRotationPoint(-5F, 6F, -6F); - rightFist.setTextureSize(64, 64); - rightFist.mirror = true; - setRotation(rightFist, 0F, 0F, 0F); - rightFist.mirror = false; - rightArm = new ModelRenderer(this, 48, 33); - rightArm.mirror = true; - rightArm.addBox(-4F, -2F, -2F, 4, 14, 4); - rightArm.setRotationPoint(-5F, 6F, -6F); - rightArm.setTextureSize(64, 64); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - rightLeg1 = new ModelRenderer(this, 0, 25); - rightLeg1.mirror = true; - rightLeg1.addBox(-4F, -1F, -1F, 4, 6, 2); - rightLeg1.setRotationPoint(-5F, 11F, 7F); - rightLeg1.setTextureSize(64, 64); - rightLeg1.mirror = true; - setRotation(rightLeg1, -((float) Math.PI / 4F), 0F, 0F); - rightLeg1.mirror = false; - rightLeg2 = new ModelRenderer(this, 1, 25); - rightLeg2.mirror = true; - rightLeg2.addBox(-4F, 5F, -1F, 4, 2, 12); - rightLeg2.setRotationPoint(-5F, 11F, 7F); - rightLeg2.setTextureSize(64, 64); - rightLeg2.mirror = true; - setRotation(rightLeg2, -((float) Math.PI / 4F), 0F, 0F); - rightLeg2.mirror = false; - rightFoot = new ModelRenderer(this, 22, 25); - rightFoot.mirror = true; - rightFoot.addBox(-4F, 11F, -1F, 4, 2, 5); - rightFoot.setRotationPoint(-5F, 11F, 7F); - rightFoot.setTextureSize(64, 64); - rightFoot.mirror = true; - setRotation(rightFoot, 0F, 0F, 0F); - rightFoot.mirror = false; - head = new ModelRenderer(this, 0, 0); - head.addBox(-3F, -5F, -5F, 6, 6, 6); - head.setRotationPoint(0F, 5F, -7F); - head.setTextureSize(64, 64); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - leftFist.render(f5); - leftArm.render(f5); - body.render(f5); - leftLeg1.render(f5); - leftLeg2.render(f5); - leftFoot.render(f5); - rightFist.render(f5); - rightArm.render(f5); - rightLeg1.render(f5); - rightLeg2.render(f5); - rightFoot.render(f5); - head.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.leftFoot.rotateAngleX = MathHelper.cos(f * 0.6662F) * 0.8F * f1; - this.rightFoot.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 0.8F * f1; - this.leftLeg1.rotateAngleX = leftFoot.rotateAngleX - ((float) Math.PI / 4F); - this.rightLeg1.rotateAngleX = rightFoot.rotateAngleX - ((float) Math.PI / 4F); - this.leftLeg2.rotateAngleX = leftFoot.rotateAngleX - ((float) Math.PI / 4F); - this.rightLeg2.rotateAngleX = rightFoot.rotateAngleX - ((float) Math.PI / 4F); - this.rightArm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 0.9f * f1; - this.leftArm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 0.9f * f1; - this.leftFist.rotateAngleX = leftArm.rotateAngleX; - this.rightFist.rotateAngleX = rightArm.rotateAngleX; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelConduit.java deleted file mode 100644 index a6a510c4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelConduit.java +++ /dev/null @@ -1,287 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -//Date: 11/26/2013 1:57:16 PM -//Template version 1.1 -//Java generated by Techne -//Keep in mind that you still need to fill in some blanks -//- ZeuX - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraftforge.common.util.ForgeDirection; - -public class ModelConduit extends ModelBase -{ - //fields - ModelRenderer curvedInput; - ModelRenderer curvedOutput; - ModelRenderer straightBar1; - ModelRenderer curvedBar1; - ModelRenderer spacer1; - ModelRenderer straightBar2; - ModelRenderer curvedBar2; - ModelRenderer spacer2; - ModelRenderer straightBar3; - ModelRenderer curvedBar3; - ModelRenderer straightBar4; - ModelRenderer curvedBar4; - ModelRenderer spacer3; - ModelRenderer spacer4; - ModelRenderer spacer5; - ModelRenderer spacer6; - ModelRenderer spacer7; - ModelRenderer spacer8; - - public ModelConduit() - { - textureWidth = 64; - textureHeight = 32; - curvedInput = new ModelRenderer(this, 0, 0); - curvedInput.addBox(-2F, -2F, -8F, 4, 4, 10); - curvedInput.setRotationPoint(0F, 16F, 0F); - curvedInput.setTextureSize(64, 32); - curvedInput.mirror = true; - setRotation(curvedInput, 0F, 0F, 0F); - curvedOutput = new ModelRenderer(this, 18, 0); - curvedOutput.addBox(2F, -2F, -2F, 6, 4, 4); - curvedOutput.setRotationPoint(0F, 16F, 0F); - curvedOutput.setTextureSize(64, 32); - curvedOutput.mirror = true; - setRotation(curvedOutput, 0F, 0F, 0F); - straightBar1 = new ModelRenderer(this, 0, 17); - straightBar1.addBox(-5F, 3F, -8F, 2, 2, 13); - straightBar1.setRotationPoint(0F, 16F, 0F); - straightBar1.setTextureSize(64, 32); - straightBar1.mirror = true; - setRotation(straightBar1, 0F, 0F, 0F); - curvedBar1 = new ModelRenderer(this, 29, 10); - curvedBar1.addBox(-5F, 3F, 3F, 13, 2, 2); - curvedBar1.setRotationPoint(0F, 16F, 0F); - curvedBar1.setTextureSize(64, 32); - curvedBar1.mirror = true; - setRotation(curvedBar1, 0F, 0F, 0F); - spacer1 = new ModelRenderer(this, 40, 0); - spacer1.addBox(-5.5F, 2.5F, 2.5F, 3, 3, 3); - spacer1.setRotationPoint(0F, 16F, 0F); - spacer1.setTextureSize(64, 32); - spacer1.mirror = true; - setRotation(spacer1, 0F, 0F, 0F); - straightBar2 = new ModelRenderer(this, 0, 17); - straightBar2.addBox(-5F, -5F, -8F, 2, 2, 13); - straightBar2.setRotationPoint(0F, 16F, 0F); - straightBar2.setTextureSize(64, 32); - straightBar2.mirror = true; - setRotation(straightBar2, 0F, 0F, 0F); - curvedBar2 = new ModelRenderer(this, 29, 10); - curvedBar2.addBox(-5F, -5F, 3F, 13, 2, 2); - curvedBar2.setRotationPoint(0F, 16F, 0F); - curvedBar2.setTextureSize(64, 32); - curvedBar2.mirror = true; - setRotation(curvedBar2, 0F, 0F, 0F); - spacer2 = new ModelRenderer(this, 40, 0); - spacer2.addBox(-5.5F, -5.5F, 2.5F, 3, 3, 3); - spacer2.setRotationPoint(0F, 16F, 0F); - spacer2.setTextureSize(64, 32); - spacer2.mirror = true; - setRotation(spacer2, 0F, 0F, 0F); - straightBar3 = new ModelRenderer(this, 0, 17); - straightBar3.addBox(3F, 3F, -8F, 2, 2, 13); - straightBar3.setRotationPoint(0F, 16F, 0F); - straightBar3.setTextureSize(64, 32); - straightBar3.mirror = true; - setRotation(straightBar3, 0F, 0F, 0F); - curvedBar3 = new ModelRenderer(this, 29, 10); - curvedBar3.addBox(-5F, 3F, -5F, 13, 2, 2); - curvedBar3.setRotationPoint(0F, 16F, 0F); - curvedBar3.setTextureSize(64, 32); - curvedBar3.mirror = true; - setRotation(curvedBar3, 0F, 0F, 0F); - straightBar4 = new ModelRenderer(this, 0, 17); - straightBar4.addBox(3F, -5F, -8F, 2, 2, 13); - straightBar4.setRotationPoint(0F, 16F, 0F); - straightBar4.setTextureSize(64, 32); - straightBar4.mirror = true; - setRotation(straightBar4, 0F, 0F, 0F); - curvedBar4 = new ModelRenderer(this, 29, 10); - curvedBar4.addBox(-5F, -5F, -5F, 13, 2, 2); - curvedBar4.setRotationPoint(0F, 16F, 0F); - curvedBar4.setTextureSize(64, 32); - curvedBar4.mirror = true; - setRotation(curvedBar4, 0F, 0F, 0F); - spacer3 = new ModelRenderer(this, 40, 0); - spacer3.addBox(2.5F, 2.5F, 2.5F, 3, 3, 3); - spacer3.setRotationPoint(0F, 16F, 0F); - spacer3.setTextureSize(64, 32); - spacer3.mirror = true; - setRotation(spacer3, 0F, 0F, 0F); - spacer4 = new ModelRenderer(this, 40, 0); - spacer4.addBox(2.5F, 2.5F, -5.5F, 3, 3, 3); - spacer4.setRotationPoint(0F, 16F, 0F); - spacer4.setTextureSize(64, 32); - spacer4.mirror = true; - setRotation(spacer4, 0F, 0F, 0F); - spacer5 = new ModelRenderer(this, 40, 0); - spacer5.addBox(-5.5F, 2.5F, -5.484F, 3, 3, 3); - spacer5.setRotationPoint(0F, 16F, 0F); - spacer5.setTextureSize(64, 32); - spacer5.mirror = true; - setRotation(spacer5, 0F, 0F, 0F); - spacer6 = new ModelRenderer(this, 40, 0); - spacer6.addBox(2.5F, -5.5F, 2.5F, 3, 3, 3); - spacer6.setRotationPoint(0F, 16F, 0F); - spacer6.setTextureSize(64, 32); - spacer6.mirror = true; - setRotation(spacer6, 0F, 0F, 0F); - spacer7 = new ModelRenderer(this, 40, 0); - spacer7.addBox(2.5F, -5.5F, -5.5F, 3, 3, 3); - spacer7.setRotationPoint(0F, 16F, 0F); - spacer7.setTextureSize(64, 32); - spacer7.mirror = true; - setRotation(spacer7, 0F, 0F, 0F); - spacer8 = new ModelRenderer(this, 40, 0); - spacer8.addBox(-5.5F, -5.5F, -5.5F, 3, 3, 3); - spacer8.setRotationPoint(0F, 16F, 0F); - spacer8.setTextureSize(64, 32); - spacer8.mirror = true; - setRotation(spacer8, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ForgeDirection input, ForgeDirection output) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - float xInputRot = 0.0f; - float yInputRot = 0.0f; - float zInputRot = 0.0f; - float xOutputRot = 0.0f; - float yOutputRot = 0.0f; - float zOutputRot = 0.0f; - - switch (input) - { - case NORTH: - xInputRot = 0.0f; - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case EAST: - xInputRot = 0.0f; - yInputRot = (float) (0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case SOUTH: - xInputRot = 0.0f; - yInputRot = (float) (1.0f * Math.PI); - zInputRot = 0.0f; - break; - - case WEST: - xInputRot = 0.0f; - yInputRot = (float) (-0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case UP: - xInputRot = (float) (-0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case DOWN: - xInputRot = (float) (0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - default: - break; - } - - switch (output) - { - case NORTH: - xOutputRot = 0.0f; - yOutputRot = (float) (0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case EAST: - xOutputRot = 0.0f; - yOutputRot = (float) (1.0f * Math.PI); - zOutputRot = 0.0f; - break; - - case SOUTH: - xOutputRot = 0.0f; - yOutputRot = (float) (-0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case WEST: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = 0.0f; - break; - - case UP: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (-0.5f * Math.PI); - break; - - case DOWN: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (0.5f * Math.PI); - break; - - default: - break; - } - - this.setRotation(curvedInput, xInputRot, yInputRot, zInputRot); - this.setRotation(curvedOutput, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(straightBar1, xInputRot, yInputRot, zInputRot); - this.setRotation(curvedBar1, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(straightBar2, xInputRot, yInputRot, zInputRot); - this.setRotation(curvedBar2, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(straightBar3, xInputRot, yInputRot, zInputRot); - this.setRotation(curvedBar3, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(straightBar4, xInputRot, yInputRot, zInputRot); - this.setRotation(curvedBar4, xOutputRot, yOutputRot, zOutputRot); - curvedInput.render(f5); - curvedOutput.render(f5); - //setRotation(curvedOutput,0F,-(float)(Math.PI/2),0F); - straightBar1.render(f5); - curvedBar1.render(f5); - spacer1.render(f5); - straightBar2.render(f5); - curvedBar2.render(f5); - spacer2.render(f5); - straightBar3.render(f5); - curvedBar3.render(f5); - straightBar4.render(f5); - curvedBar4.render(f5); - spacer3.render(f5); - spacer4.render(f5); - spacer5.render(f5); - spacer6.render(f5); - spacer7.render(f5); - spacer8.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelCrystalBelljar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelCrystalBelljar.java deleted file mode 100644 index ce6f7d52..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelCrystalBelljar.java +++ /dev/null @@ -1,119 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelCrystalBelljar extends ModelBase -{ - //fields - ModelRenderer handle1; - ModelRenderer handle2; - ModelRenderer jar1; - ModelRenderer woodBottom; - ModelRenderer jar2; - ModelRenderer jar3; - ModelRenderer jar4; - ModelRenderer jar5; - - public ModelCrystalBelljar() - { - textureWidth = 128; - textureHeight = 64; - - handle1 = new ModelRenderer(this, 0, 17); - handle1.addBox(-2F, -7F, -2F, 4, 1, 4); - handle1.setRotationPoint(0F, 16F, 0F); - handle1.setTextureSize(128, 64); - handle1.mirror = true; - setRotation(handle1, 0F, 0F, 0F); - handle2 = new ModelRenderer(this, 0, 23); - handle2.addBox(-1F, -6F, -1F, 2, 1, 2); - handle2.setRotationPoint(0F, 16F, 0F); - handle2.setTextureSize(128, 64); - handle2.mirror = true; - setRotation(handle2, 0F, 0F, 0F); - jar1 = new ModelRenderer(this, 0, 27); - jar1.addBox(-4F, -5F, -4F, 8, 1, 8); - jar1.setRotationPoint(0F, 16F, 0F); - jar1.setTextureSize(128, 64); - jar1.mirror = true; - setRotation(jar1, 0F, 0F, 0F); - woodBottom = new ModelRenderer(this, 0, 0); - woodBottom.addBox(-7F, 6F, -7F, 14, 2, 14); - woodBottom.setRotationPoint(0F, 16F, 0F); - woodBottom.setTextureSize(128, 64); - woodBottom.mirror = true; - setRotation(woodBottom, 0F, 0F, 0F); - jar2 = new ModelRenderer(this, 0, 38); - jar2.addBox(-5F, -4F, 4F, 10, 10, 1); - jar2.setRotationPoint(0F, 16F, 0F); - jar2.setTextureSize(128, 64); - jar2.mirror = true; - setRotation(jar2, 0F, 0F, 0F); - jar3 = new ModelRenderer(this, 46, 38); - jar3.addBox(4F, -4F, -4F, 1, 10, 8); - jar3.setRotationPoint(0F, 16F, 0F); - jar3.setTextureSize(128, 64); - jar3.mirror = true; - setRotation(jar3, 0F, 0F, 0F); - jar4 = new ModelRenderer(this, 23, 38); - jar4.addBox(-5F, -4F, -5F, 10, 10, 1); - jar4.setRotationPoint(0F, 16F, 0F); - jar4.setTextureSize(128, 64); - jar4.mirror = true; - setRotation(jar4, 0F, 0F, 0F); - jar5 = new ModelRenderer(this, 65, 38); - jar5.addBox(-5F, -4F, -4F, 1, 10, 8); - jar5.setRotationPoint(0F, 16F, 0F); - jar5.setTextureSize(128, 64); - jar5.mirror = true; - setRotation(jar5, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - handle1.render(f5); - handle2.render(f5); - jar1.render(f5); - woodBottom.render(f5); - jar2.render(f5); - jar3.render(f5); - jar4.render(f5); - jar5.render(f5); - } - - public void renderSpecialItem(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, int part) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - if(part == 0) - { - woodBottom.render(f5); - }else - { - handle1.render(f5); - handle2.render(f5); - jar1.render(f5); - jar2.render(f5); - jar3.render(f5); - jar4.render(f5); - jar5.render(f5); - } - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelElemental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelElemental.java deleted file mode 100644 index 25cb2814..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelElemental.java +++ /dev/null @@ -1,81 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityBlaze; -import net.minecraft.world.World; - -public class ModelElemental extends ModelBase -{ - //fields - ModelRenderer body; - ModelRenderer Shape2; - ModelRenderer Shape1; - ModelRenderer Shape3; - - public ModelElemental() - { - textureWidth = 64; - textureHeight = 32; - body = new ModelRenderer(this, 33, 0); - body.addBox(-3F, -3F, -3F, 6, 6, 6); - body.setRotationPoint(0F, 14F, 0F); - body.setTextureSize(64, 32); - body.mirror = true; - setRotation(body, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(-4F, -4F, -4F, 8, 8, 8); - Shape2.setRotationPoint(0F, 14F, 0F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, ((float) Math.PI / 4F), ((float) Math.PI / 4F), 0F); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(-4F, -4F, -4F, 8, 8, 8); - Shape1.setRotationPoint(0F, 14F, 0F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, ((float) Math.PI / 4F), ((float) Math.PI / 4F)); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(-4F, -4F, -4F, 8, 8, 8); - Shape3.setRotationPoint(0F, 14F, 0F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, ((float) Math.PI / 4F), 0F, ((float) Math.PI / 4F)); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - body.render(f5); - Shape2.render(f5); - Shape1.render(f5); - Shape3.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - World world = entity.worldObj; - - if (world == null) - { - return; - } - - int ratio = 20; - float rot = (entity.worldObj.getWorldTime() % ratio) / ratio; - Shape1.rotateAngleX = f / 5; - Shape2.rotateAngleZ = f / 5; - Shape3.rotateAngleY = f / 5; - EntityBlaze d; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelEnergyBazookaMainProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelEnergyBazookaMainProjectile.java deleted file mode 100644 index de8e7e6b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelEnergyBazookaMainProjectile.java +++ /dev/null @@ -1,122 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelEnergyBazookaMainProjectile extends ModelBase -{ - //fields - ModelRenderer thirdWarHead; - ModelRenderer firstWarHead; - ModelRenderer secondWarHead; - ModelRenderer support1; - ModelRenderer mainBody; - ModelRenderer support2; - ModelRenderer support3; - ModelRenderer support4; - ModelRenderer base1; - ModelRenderer base2; - ModelRenderer base3; - - public ModelEnergyBazookaMainProjectile() - { - textureWidth = 64; - textureHeight = 32; - thirdWarHead = new ModelRenderer(this, 43, 0); - thirdWarHead.addBox(-1F, -1F, -9F, 2, 2, 1); - thirdWarHead.setRotationPoint(0F, 0F, 0F); - thirdWarHead.setTextureSize(64, 32); - thirdWarHead.mirror = true; - setRotation(thirdWarHead, 0F, 0F, 0F); - firstWarHead = new ModelRenderer(this, 52, 0); - firstWarHead.addBox(-2F, -2F, -8F, 4, 4, 2); - firstWarHead.setRotationPoint(0F, 0F, 0F); - firstWarHead.setTextureSize(64, 32); - firstWarHead.mirror = true; - setRotation(firstWarHead, 0F, 0F, 0F); - secondWarHead = new ModelRenderer(this, 48, 8); - secondWarHead.addBox(-3F, -3F, -6F, 6, 6, 2); - secondWarHead.setRotationPoint(0F, 0F, 0F); - secondWarHead.setTextureSize(64, 32); - secondWarHead.mirror = true; - setRotation(secondWarHead, 0F, 0F, 0F); - support1 = new ModelRenderer(this, 0, 0); - support1.addBox(2F, 2F, -4F, 1, 1, 9); - support1.setRotationPoint(0F, 0F, 0F); - support1.setTextureSize(64, 32); - support1.mirror = true; - setRotation(support1, 0F, 0F, 0F); - mainBody = new ModelRenderer(this, 0, 19); - mainBody.addBox(-2F, -2F, -4F, 4, 4, 9); - mainBody.setRotationPoint(0F, 0F, 0F); - mainBody.setTextureSize(64, 32); - mainBody.mirror = true; - setRotation(mainBody, 0F, 0F, 0F); - support2 = new ModelRenderer(this, 0, 0); - support2.addBox(-3F, 2F, -4F, 1, 1, 9); - support2.setRotationPoint(0F, 0F, 0F); - support2.setTextureSize(64, 32); - support2.mirror = true; - setRotation(support2, 0F, 0F, 0F); - support3 = new ModelRenderer(this, 0, 0); - support3.addBox(-3F, -3F, -4F, 1, 1, 9); - support3.setRotationPoint(0F, 0F, 0F); - support3.setTextureSize(64, 32); - support3.mirror = true; - setRotation(support3, 0F, 0F, 0F); - support4 = new ModelRenderer(this, 0, 0); - support4.addBox(2F, -3F, -4F, 1, 1, 9); - support4.setRotationPoint(0F, 0F, 0F); - support4.setTextureSize(64, 32); - support4.mirror = true; - setRotation(support4, 0F, 0F, 0F); - base1 = new ModelRenderer(this, 28, 0); - base1.addBox(-3F, -3F, 5F, 6, 6, 1); - base1.setRotationPoint(0F, 0F, 0F); - base1.setTextureSize(64, 32); - base1.mirror = true; - setRotation(base1, 0F, 0F, 0F); - base2 = new ModelRenderer(this, 28, 9); - base2.addBox(-2F, -2F, 6F, 4, 4, 1); - base2.setRotationPoint(0F, 0F, 0F); - base2.setTextureSize(64, 32); - base2.mirror = true; - setRotation(base2, 0F, 0F, 0F); - base3 = new ModelRenderer(this, 28, 15); - base3.addBox(-3F, -3F, 7F, 6, 6, 1); - base3.setRotationPoint(0F, 0F, 0F); - base3.setTextureSize(64, 32); - base3.mirror = true; - setRotation(base3, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - thirdWarHead.render(f5); - firstWarHead.render(f5); - secondWarHead.render(f5); - support1.render(f5); - mainBody.render(f5); - support2.render(f5); - support3.render(f5); - support4.render(f5); - base1.render(f5); - base2.render(f5); - base3.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelFallenAngel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelFallenAngel.java deleted file mode 100644 index aacef80d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelFallenAngel.java +++ /dev/null @@ -1,113 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelFallenAngel extends ModelBase -{ - //fields - ModelRenderer leftWing; - ModelRenderer rightWing; - ModelRenderer head; - ModelRenderer body; - ModelRenderer rightarm; - ModelRenderer leftarm; - ModelRenderer rightleg; - ModelRenderer leftleg; - - public ModelFallenAngel() - { - textureWidth = 64; - textureHeight = 32; - leftWing = new ModelRenderer(this, 33, 8); - leftWing.mirror = true; - leftWing.addBox(0F, 0F, 0F, 10, 7, 0); - leftWing.setRotationPoint(0F, 1F, 2F); - leftWing.setTextureSize(64, 32); - leftWing.mirror = true; - setRotation(leftWing, 0F, 0F, 0F); - rightWing = new ModelRenderer(this, 33, 8); - rightWing.addBox(-10F, 0F, 0F, 10, 7, 0); - rightWing.setRotationPoint(0F, 1F, 2F); - rightWing.setTextureSize(64, 32); - rightWing.mirror = true; - setRotation(rightWing, 0F, 0F, 0F); - rightWing.mirror = false; - head = new ModelRenderer(this, 0, 0); - head.addBox(-4F, -8F, -4F, 8, 8, 8); - head.setRotationPoint(0F, 0F, 0F); - head.setTextureSize(64, 32); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - body = new ModelRenderer(this, 16, 16); - body.addBox(-4F, 0F, -2F, 8, 12, 4); - body.setRotationPoint(0F, 0F, 0F); - body.setTextureSize(64, 32); - body.mirror = true; - setRotation(body, 0F, 0F, 0F); - rightarm = new ModelRenderer(this, 40, 16); - rightarm.addBox(-3F, -2F, -2F, 4, 12, 4); - rightarm.setRotationPoint(-5F, 2F, 0F); - rightarm.setTextureSize(64, 32); - rightarm.mirror = true; - setRotation(rightarm, 0F, 0F, 0F); - rightarm.mirror = false; - leftarm = new ModelRenderer(this, 40, 16); - leftarm.mirror = true; - leftarm.addBox(-1F, -2F, -2F, 4, 12, 4); - leftarm.setRotationPoint(5F, 2F, 0F); - leftarm.setTextureSize(64, 32); - leftarm.mirror = true; - setRotation(leftarm, 0F, 0F, 0F); - rightleg = new ModelRenderer(this, 0, 16); - rightleg.addBox(-2F, 0F, -2F, 4, 12, 4); - rightleg.setRotationPoint(-2F, 12F, 0F); - rightleg.setTextureSize(64, 32); - rightleg.mirror = true; - setRotation(rightleg, 0F, 0F, 0F); - rightleg.mirror = false; - leftleg = new ModelRenderer(this, 0, 16); - leftleg.mirror = true; - leftleg.addBox(-2F, 0F, -2F, 4, 12, 4); - leftleg.setRotationPoint(2F, 12F, 0F); - leftleg.setTextureSize(64, 32); - leftleg.mirror = true; - setRotation(leftleg, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - leftWing.render(f5); - rightWing.render(f5); - head.render(f5); - body.render(f5); - rightarm.render(f5); - leftarm.render(f5); - rightleg.render(f5); - leftleg.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.leftleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.rightleg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1; - this.rightarm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1; - this.leftarm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.rightWing.rotateAngleY = MathHelper.cos(0.1662F); - this.leftWing.rotateAngleY = MathHelper.cos(0.1662F + (float) Math.PI); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelIceDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelIceDemon.java deleted file mode 100644 index 9c6d3c32..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelIceDemon.java +++ /dev/null @@ -1,197 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelIceDemon extends ModelBase -{ - //fields - ModelRenderer head; - ModelRenderer leftHorn; - ModelRenderer rightHorn; - ModelRenderer body; - ModelRenderer leftArm; - ModelRenderer leftWrist; - ModelRenderer leftIcicle1; - ModelRenderer leftIcicle2; - ModelRenderer leftIcicle3; - ModelRenderer leftLeg; - ModelRenderer rightArm; - ModelRenderer rightWrist; - ModelRenderer rightIcicle1; - ModelRenderer rightIcicle2; - ModelRenderer rightIcicle3; - ModelRenderer rightLeg; - ModelRenderer Shape1; - - public ModelIceDemon() - { - textureWidth = 64; - textureHeight = 64; - head = new ModelRenderer(this, 40, 0); - head.addBox(-3F, -8F, -3F, 6, 8, 6); - head.setRotationPoint(0F, -3F, 0F); - head.setTextureSize(64, 64); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - leftHorn = new ModelRenderer(this, 0, 0); - leftHorn.addBox(3F, -7F, 2F, 1, 1, 10); - leftHorn.setRotationPoint(0F, -3F, 0F); - leftHorn.setTextureSize(64, 64); - leftHorn.mirror = true; - setRotation(leftHorn, 0.4363323F, 0F, 0F); - rightHorn = new ModelRenderer(this, 0, 0); - rightHorn.mirror = true; - rightHorn.addBox(-4F, -7F, 2F, 1, 1, 10); - rightHorn.setRotationPoint(0F, -3F, 0F); - rightHorn.setTextureSize(64, 64); - rightHorn.mirror = true; - setRotation(rightHorn, 0.4363323F, 0F, 0F); - rightHorn.mirror = false; - body = new ModelRenderer(this, 40, 15); - body.addBox(-4F, 0F, -2F, 8, 13, 4); - body.setRotationPoint(0F, -3F, 0F); - body.setTextureSize(64, 64); - body.mirror = true; - setRotation(body, 0F, 0F, 0F); - leftArm = new ModelRenderer(this, 0, 48); - leftArm.addBox(0F, -2F, -2F, 4, 12, 4); - leftArm.setRotationPoint(4F, -1F, 0F); - leftArm.setTextureSize(64, 64); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - leftWrist = new ModelRenderer(this, 32, 57); - leftWrist.addBox(0F, 6F, -2.5F, 5, 2, 5); - leftWrist.setRotationPoint(4F, -1F, 0F); - leftWrist.setTextureSize(64, 64); - leftWrist.mirror = true; - setRotation(leftWrist, 0F, 0F, 0F); - leftIcicle1 = new ModelRenderer(this, 0, 0); - leftIcicle1.addBox(4.9F, 0F, -0.5F, 1, 6, 1); - leftIcicle1.setRotationPoint(4F, -1F, 0F); - leftIcicle1.setTextureSize(64, 64); - leftIcicle1.mirror = true; - setRotation(leftIcicle1, 0F, 0F, 0.1396263F); - leftIcicle2 = new ModelRenderer(this, 0, 0); - leftIcicle2.addBox(5F, 0F, 0F, 1, 6, 1); - leftIcicle2.setRotationPoint(4F, -1F, 0F); - leftIcicle2.setTextureSize(64, 64); - leftIcicle2.mirror = true; - setRotation(leftIcicle2, 0F, 0.5585054F, 0.1919862F); - leftIcicle3 = new ModelRenderer(this, 0, 0); - leftIcicle3.addBox(5F, 0F, -1F, 1, 6, 1); - leftIcicle3.setRotationPoint(4F, -1F, 0F); - leftIcicle3.setTextureSize(64, 64); - leftIcicle3.mirror = true; - setRotation(leftIcicle3, 0F, -0.5585054F, 0.1919862F); - leftLeg = new ModelRenderer(this, 16, 46); - leftLeg.addBox(-2F, 0F, -2F, 4, 14, 4); - leftLeg.setRotationPoint(2F, 10F, 0F); - leftLeg.setTextureSize(64, 64); - leftLeg.mirror = true; - setRotation(leftLeg, 0F, 0F, 0F); - rightArm = new ModelRenderer(this, 0, 48); - rightArm.mirror = true; - rightArm.addBox(-4F, -2F, -2F, 4, 12, 4); - rightArm.setRotationPoint(-4F, -1F, 0F); - rightArm.setTextureSize(64, 64); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - rightWrist = new ModelRenderer(this, 32, 57); - rightWrist.mirror = true; - rightWrist.addBox(-5F, 6F, -2.5F, 5, 2, 5); - rightWrist.setRotationPoint(-4F, -1F, 0F); - rightWrist.setTextureSize(64, 64); - rightWrist.mirror = true; - setRotation(rightWrist, 0F, 0F, 0F); - rightWrist.mirror = false; - rightIcicle1 = new ModelRenderer(this, 0, 0); - rightIcicle1.addBox(-5.9F, 0F, -0.5F, 1, 6, 1); - rightIcicle1.setRotationPoint(-4F, -1F, 0F); - rightIcicle1.setTextureSize(64, 64); - rightIcicle1.mirror = true; - setRotation(rightIcicle1, 0F, 0F, -0.1396263F); - rightIcicle2 = new ModelRenderer(this, 0, 0); - rightIcicle2.addBox(-6F, 0F, 0F, 1, 6, 1); - rightIcicle2.setRotationPoint(-4F, -1F, 0F); - rightIcicle2.setTextureSize(64, 64); - rightIcicle2.mirror = true; - setRotation(rightIcicle2, 0F, -0.5585054F, -0.1919862F); - rightIcicle3 = new ModelRenderer(this, 0, 0); - rightIcicle3.addBox(-6F, 0F, -1F, 1, 6, 1); - rightIcicle3.setRotationPoint(-4F, -1F, 0F); - rightIcicle3.setTextureSize(64, 64); - rightIcicle3.mirror = true; - setRotation(rightIcicle3, 0F, 0.5585054F, -0.1919862F); - rightLeg = new ModelRenderer(this, 16, 46); - rightLeg.mirror = true; - rightLeg.addBox(-2F, 0F, -2F, 4, 14, 4); - rightLeg.setRotationPoint(-2F, 10F, 0F); - rightLeg.setTextureSize(64, 64); - rightLeg.mirror = true; - setRotation(rightLeg, 0F, 0F, 0F); - rightLeg.mirror = false; - Shape1 = new ModelRenderer(this, 0, 12); - Shape1.addBox(-0.5F, 0F, -0.5F, 1, 10, 1); - Shape1.setRotationPoint(0F, 8F, 1.5F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0.5948578F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - head.render(f5); - leftHorn.render(f5); - rightHorn.render(f5); - body.render(f5); - leftArm.render(f5); - leftWrist.render(f5); - leftIcicle1.render(f5); - leftIcicle2.render(f5); - leftIcicle3.render(f5); - leftLeg.render(f5); - rightArm.render(f5); - rightWrist.render(f5); - rightIcicle1.render(f5); - rightIcicle2.render(f5); - rightIcicle3.render(f5); - rightLeg.render(f5); - Shape1.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.leftLeg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.rightLeg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1; - this.rightArm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1; - this.leftArm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.leftHorn.rotateAngleX = head.rotateAngleX + 0.4363323F; - this.leftHorn.rotateAngleY = head.rotateAngleY; - this.rightHorn.rotateAngleX = head.rotateAngleX + 0.4363323F; - this.rightHorn.rotateAngleY = head.rotateAngleY; - this.rightIcicle1.rotateAngleX = rightArm.rotateAngleX; - this.rightIcicle2.rotateAngleX = rightArm.rotateAngleX; - this.rightIcicle3.rotateAngleX = rightArm.rotateAngleX; - this.leftIcicle1.rotateAngleX = leftArm.rotateAngleX; - this.leftIcicle2.rotateAngleX = leftArm.rotateAngleX; - this.leftIcicle3.rotateAngleX = leftArm.rotateAngleX; - this.rightWrist.rotateAngleX = rightArm.rotateAngleX; - this.leftWrist.rotateAngleX = leftArm.rotateAngleX; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelLowerGuardian.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelLowerGuardian.java deleted file mode 100644 index 61d7b85d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelLowerGuardian.java +++ /dev/null @@ -1,207 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.MathHelper; - -public class ModelLowerGuardian extends ModelBase -{ - //fields - ModelRenderer Body; - ModelRenderer Torso; - ModelRenderer Head; - ModelRenderer leftArm; - ModelRenderer rightArm; - ModelRenderer leftLeg; - ModelRenderer leftFoot; - ModelRenderer rightLeg; - ModelRenderer rightFoot; - ModelRenderer leftHorn; - ModelRenderer hornAppendage1; - ModelRenderer hornAppendage2; - ModelRenderer rightHorn; - ModelRenderer hornAppendage3; - ModelRenderer hornAppendage4; - - public ModelLowerGuardian() - { - textureWidth = 64; - textureHeight = 64; - Body = new ModelRenderer(this, 0, 0); - Body.addBox(-8F, -7F, -4F, 16, 14, 8); - Body.setRotationPoint(0F, -3F, 0F); - Body.setTextureSize(64, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Torso = new ModelRenderer(this, 0, 25); - Torso.addBox(-4F, 0F, -3F, 8, 4, 6); - Torso.setRotationPoint(0F, 4F, 0F); - Torso.setTextureSize(64, 64); - Torso.mirror = true; - setRotation(Torso, 0F, 0F, 0F); - Head = new ModelRenderer(this, 29, 25); - Head.addBox(-4F, -8F, -4F, 8, 8, 8); - Head.setRotationPoint(0F, -10F, 0F); - Head.setTextureSize(64, 64); - Head.mirror = true; - setRotation(Head, 0F, 0F, 0F); - leftArm = new ModelRenderer(this, 17, 42); - leftArm.addBox(0F, -2F, -2F, 4, 18, 4); - leftArm.setRotationPoint(8F, -8F, 0F); - leftArm.setTextureSize(64, 64); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - rightArm = new ModelRenderer(this, 17, 42); - rightArm.mirror = true; - rightArm.addBox(-4F, -2F, -2F, 4, 18, 4); - rightArm.setRotationPoint(-8F, -8F, 0F); - rightArm.setTextureSize(64, 64); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - leftLeg = new ModelRenderer(this, 0, 42); - leftLeg.addBox(0F, -2F, -2F, 4, 17, 4); - leftLeg.setRotationPoint(4F, 6F, 0F); - leftLeg.setTextureSize(64, 64); - leftLeg.mirror = true; - setRotation(leftLeg, 0F, 0F, 0F); - leftFoot = new ModelRenderer(this, 34, 42); - leftFoot.addBox(0F, 15F, -6F, 4, 3, 8); - leftFoot.setRotationPoint(4F, 6F, 0F); - leftFoot.setTextureSize(64, 64); - leftFoot.mirror = true; - setRotation(leftFoot, 0F, 0F, 0F); - rightLeg = new ModelRenderer(this, 0, 42); - rightLeg.mirror = true; - rightLeg.addBox(-4F, -2F, -2F, 4, 17, 4); - rightLeg.setRotationPoint(-4F, 6F, 0F); - rightLeg.setTextureSize(64, 64); - rightLeg.mirror = true; - setRotation(rightLeg, 0F, 0F, 0F); - rightLeg.mirror = false; - rightFoot = new ModelRenderer(this, 34, 42); - rightFoot.mirror = true; - rightFoot.addBox(-4F, 15F, -6F, 4, 3, 8); - rightFoot.setRotationPoint(-4F, 6F, 0F); - rightFoot.setTextureSize(64, 64); - rightFoot.mirror = true; - setRotation(rightFoot, 0F, 0F, 0F); - rightFoot.mirror = false; - leftHorn = new ModelRenderer(this, 0, 0); - leftHorn.addBox(4F, -11F, 0F, 1, 6, 1); - leftHorn.setRotationPoint(0F, -10F, 0F); - leftHorn.setTextureSize(64, 64); - leftHorn.mirror = true; - setRotation(leftHorn, 0F, 0F, 0F); - hornAppendage1 = new ModelRenderer(this, 0, 0); - hornAppendage1.addBox(4F, -7F, -1F, 1, 1, 1); - hornAppendage1.setRotationPoint(0F, -10F, 0F); - hornAppendage1.setTextureSize(64, 64); - hornAppendage1.mirror = true; - setRotation(hornAppendage1, 0F, 0F, 0F); - hornAppendage2 = new ModelRenderer(this, 0, 0); - hornAppendage2.addBox(4F, -6F, 1F, 1, 1, 1); - hornAppendage2.setRotationPoint(0F, -10F, 0F); - hornAppendage2.setTextureSize(64, 64); - hornAppendage2.mirror = true; - setRotation(hornAppendage2, 0F, 0F, 0F); - rightHorn = new ModelRenderer(this, 0, 0); - rightHorn.mirror = true; - rightHorn.addBox(-5F, -11F, 0F, 1, 6, 1); - rightHorn.setRotationPoint(0F, -10F, 0F); - rightHorn.setTextureSize(64, 64); - rightHorn.mirror = true; - setRotation(rightHorn, 0F, 0F, 0F); - rightHorn.mirror = false; - hornAppendage3 = new ModelRenderer(this, 0, 0); - hornAppendage3.mirror = true; - hornAppendage3.addBox(-5F, -7F, -1F, 1, 1, 1); - hornAppendage3.setRotationPoint(0F, -10F, 0F); - hornAppendage3.setTextureSize(64, 64); - hornAppendage3.mirror = true; - setRotation(hornAppendage3, 0F, 0F, 0F); - hornAppendage3.mirror = false; - hornAppendage4 = new ModelRenderer(this, 0, 0); - hornAppendage4.mirror = true; - hornAppendage4.addBox(-5F, -6F, 1F, 1, 1, 1); - hornAppendage4.setRotationPoint(0F, -10F, 0F); - hornAppendage4.setTextureSize(64, 64); - hornAppendage4.mirror = true; - setRotation(hornAppendage4, 0F, 0F, 0F); - hornAppendage4.mirror = false; - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Body.render(f5); - Torso.render(f5); - Head.render(f5); - leftArm.render(f5); - rightArm.render(f5); - leftLeg.render(f5); - leftFoot.render(f5); - rightLeg.render(f5); - rightFoot.render(f5); - leftHorn.render(f5); - hornAppendage1.render(f5); - hornAppendage2.render(f5); - rightHorn.render(f5); - hornAppendage3.render(f5); - hornAppendage4.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setLivingAnimations(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4) - { - EntityLowerGuardian entityLowerGuardian = (EntityLowerGuardian) par1EntityLivingBase; - int i = entityLowerGuardian.getAttackTimer(); - - if (i > 0) - { - this.rightLeg.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float) i - par4, 10.0F); - this.rightFoot.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float) i - par4, 10.0F); - //this.ironGolemLeftArm.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float)i - par4, 10.0F); - } - } - - private float func_78172_a(float par1, float par2) - { - return (Math.abs(par1 % par2 - par2 * 0.5F) - par2 * 0.25F) / (par2 * 0.25F); - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.Head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.Head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.leftLeg.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; - this.rightLeg.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; - this.leftFoot.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; - this.rightFoot.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; - this.rightArm.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; - this.leftArm.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; - this.hornAppendage1.rotateAngleX = this.Head.rotateAngleX; - this.hornAppendage1.rotateAngleY = this.Head.rotateAngleY; - this.hornAppendage2.rotateAngleX = this.Head.rotateAngleX; - this.hornAppendage2.rotateAngleY = this.Head.rotateAngleY; - this.hornAppendage3.rotateAngleX = this.Head.rotateAngleX; - this.hornAppendage3.rotateAngleY = this.Head.rotateAngleY; - this.hornAppendage4.rotateAngleX = this.Head.rotateAngleX; - this.hornAppendage4.rotateAngleY = this.Head.rotateAngleY; - this.leftHorn.rotateAngleX = this.Head.rotateAngleX; - this.leftHorn.rotateAngleY = this.Head.rotateAngleY; - this.rightHorn.rotateAngleX = this.Head.rotateAngleX; - this.rightHorn.rotateAngleY = this.Head.rotateAngleY; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMeteor.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMeteor.java deleted file mode 100644 index 26a94989..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMeteor.java +++ /dev/null @@ -1,90 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelMeteor extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - - public ModelMeteor() - { - textureWidth = 64; - textureHeight = 64; - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(-8F, -8F, -8F, 16, 16, 16); - Shape1.setRotationPoint(0F, 0F, 0F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 32); - Shape2.addBox(3F, -10F, -1F, 12, 12, 12); - Shape2.setRotationPoint(0F, 0F, 0F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 32); - Shape3.addBox(0F, 0F, -10F, 12, 12, 12); - Shape3.setRotationPoint(0F, 0F, 0F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 32); - Shape4.addBox(1F, 2F, 2F, 12, 12, 12); - Shape4.setRotationPoint(0F, 0F, 0F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 32); - Shape5.addBox(-12F, -5F, 0F, 12, 12, 12); - Shape5.setRotationPoint(0F, 0F, 0F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 32); - Shape6.addBox(-13F, -2F, -11F, 12, 12, 12); - Shape6.setRotationPoint(0F, 0F, 0F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 32); - Shape7.addBox(-6F, -14F, -9F, 12, 12, 12); - Shape7.setRotationPoint(0F, 0F, 0F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java deleted file mode 100644 index f583149e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java +++ /dev/null @@ -1,899 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelOmegaArmour extends ModelBiped -{ -// ModelRenderer head; -// ModelRenderer body; -// ModelRenderer rightarm; -// ModelRenderer leftarm; -// ModelRenderer rightleg; -// ModelRenderer leftleg; - ModelRenderer leftFacePlate; - ModelRenderer rightFacePlate; - ModelRenderer facePlate1; - ModelRenderer facePlate2; - ModelRenderer facePlate3; - ModelRenderer leftWingPlate1; - ModelRenderer leftWingPlate2; - ModelRenderer rightWingPlate1; - ModelRenderer rightWingPlate2; - ModelRenderer topPlate1; - ModelRenderer topPlate2; - ModelRenderer topPlate3; - ModelRenderer backPlate1; - ModelRenderer backPlate2; - ModelRenderer backPlate3; - ModelRenderer backPlate4; - ModelRenderer backPlate5; - ModelRenderer backPlate6; - ModelRenderer eyePlate; - ModelRenderer rightArmMain; - ModelRenderer rightKnucklePlate; - ModelRenderer rightKnuckleBrace; - ModelRenderer rightKnuckle1; - ModelRenderer rightKnuckle2; - ModelRenderer rightKnuckle3; - ModelRenderer rightKnuckle4; - ModelRenderer rightKnuckle5; - ModelRenderer rightKnuckle6; - ModelRenderer rightShoulder1; - ModelRenderer rightShoulder2; - ModelRenderer rightShoulder3; - ModelRenderer mainPlate; - ModelRenderer chestPlate1; - ModelRenderer chestPlate2; - ModelRenderer chestPlate3; - ModelRenderer chestPlate4; - ModelRenderer chestPlate5; - ModelRenderer chestPlate6; - ModelRenderer belt; - ModelRenderer leftArmMain; - ModelRenderer leftKnucklePlate; - ModelRenderer leftKnuckleBrace; - ModelRenderer leftKnuckle1; - ModelRenderer leftKnuckle2; - ModelRenderer leftKnuckle3; - ModelRenderer leftKnuckle4; - ModelRenderer leftKnuckle5; - ModelRenderer leftKnuckle6; - ModelRenderer leftShoulder1; - ModelRenderer leftShoulder2; - ModelRenderer leftShoulder3; - ModelRenderer leftBootBottom; - ModelRenderer leftBootPlate; - ModelRenderer leftBootBrace; - ModelRenderer leftBootWing1; - ModelRenderer leftBootWing2; - ModelRenderer rightBootBottom; - ModelRenderer rightBootPlate; - ModelRenderer rightBootBrace; - ModelRenderer rightBootWing1; - ModelRenderer rightBootWing2; - ModelRenderer leftLegSidePlate; - ModelRenderer leftLegMain; - ModelRenderer leftLegPlate1; - ModelRenderer leftLegPlate2; - ModelRenderer leftLegPlate3; - ModelRenderer leftLegPlate4; - ModelRenderer rightLegSidePlate; - ModelRenderer rightLegMain; - ModelRenderer rightLegPlate1; - ModelRenderer rightLegPlate2; - ModelRenderer rightLegPlate3; - ModelRenderer rightLegPlate4; - - public ModelOmegaArmour(float f, boolean addHelmet, boolean addChestPiece, boolean addLeggings, boolean addBoots) - { - super(f, 0.0f, 128, 128); - textureWidth = 128; - textureHeight = 128; - -// boolean addHelmet = true; -// boolean addChestPiece = true; -// boolean addLeggings = true; -// boolean addBoots = true; - - /* Duplicate player model */ - { -// head = new ModelRenderer(this, 0, 0); -// head.addBox(-4F, -8F, -4F, 8, 8, 8); -// head.setRotationPoint(0F, 0F, 0F); -// head.setTextureSize(128, 128); -// head.mirror = true; -// setRotation(head, 0F, 0F, 0F); -// body = new ModelRenderer(this, 16, 16); -// body.addBox(-4F, 0F, -2F, 8, 12, 4); -// body.setRotationPoint(0F, 0F, 0F); -// body.setTextureSize(128, 128); -// body.mirror = true; -// setRotation(body, 0F, 0F, 0F); -// rightarm = new ModelRenderer(this, 40, 16); -// rightarm.addBox(-3F, -2F, -2F, 4, 12, 4); -// rightarm.setRotationPoint(0F, 0F, 0F); -// rightarm.setTextureSize(128, 128); -// rightarm.mirror = true; -// setRotation(rightarm, 0F, 0F, 0F); -// leftarm = new ModelRenderer(this, 40, 16); -// leftarm.addBox(-1F, -2F, -2F, 4, 12, 4); -// leftarm.setRotationPoint(0F, 0F, 0F); -// leftarm.setTextureSize(128, 128); -// leftarm.mirror = true; -// setRotation(leftarm, 0F, 0F, 0F); -// rightleg = new ModelRenderer(this, 0, 16); -// rightleg.addBox(-2F, 0F, -2F, 4, 12, 4); -// rightleg.setRotationPoint(-2F, 12F, 0F); -// rightleg.setTextureSize(128, 128); -// rightleg.mirror = true; -// setRotation(rightleg, 0F, 0F, 0F); -// leftleg = new ModelRenderer(this, 0, 16); -// leftleg.addBox(-2F, 0F, -2F, 4, 12, 4); -// leftleg.setRotationPoint(2F, 12F, 0F); -// leftleg.setTextureSize(128, 128); -// leftleg.mirror = true; -// setRotation(leftleg, 0F, 0F, 0F); - } - - /* Helmet */ - { - leftFacePlate = new ModelRenderer(this, 66, 52); - leftFacePlate.addBox(-2F, -5F, -5F, 5, 4, 1); - leftFacePlate.setRotationPoint(0F, 0F, 0F); - leftFacePlate.setTextureSize(128, 128); - leftFacePlate.mirror = true; - setRotation(leftFacePlate, 0.296706F, -0.3490659F, -0.0872665F); - - rightFacePlate = new ModelRenderer(this, 66, 52); - rightFacePlate.mirror = true; - rightFacePlate.addBox(-3F, -5F, -5F, 5, 4, 1); - rightFacePlate.setRotationPoint(0F, 0F, 0F); - rightFacePlate.setTextureSize(128, 128); - rightFacePlate.mirror = true; - setRotation(rightFacePlate, 0.296706F, 0.3490659F, 0.0872665F); - rightFacePlate.mirror = false; - - facePlate1 = new ModelRenderer(this, 79, 52); - facePlate1.addBox(-5F, -8F, -5F, 10, 3, 1); - facePlate1.setRotationPoint(0F, 0F, 0F); - facePlate1.setTextureSize(128, 128); - facePlate1.mirror = true; - setRotation(facePlate1, 0F, 0F, 0F); - - facePlate2 = new ModelRenderer(this, 79, 57); - facePlate2.addBox(-1F, -5F, -5F, 2, 1, 1); - facePlate2.setRotationPoint(0F, 0F, 0F); - facePlate2.setTextureSize(128, 128); - facePlate2.mirror = true; - setRotation(facePlate2, 0F, 0F, 0F); - - facePlate3 = new ModelRenderer(this, 79, 60); - facePlate3.addBox(-3F, -4F, -5F, 6, 1, 1); - facePlate3.setRotationPoint(0F, 0F, 0F); - facePlate3.setTextureSize(128, 128); - facePlate3.mirror = true; - setRotation(facePlate3, 0F, 0F, 0F); - - leftWingPlate1 = new ModelRenderer(this, 66, 58); - leftWingPlate1.addBox(5F, -5F, -2.5F, 1, 5, 8); - leftWingPlate1.setRotationPoint(0F, 0F, 0F); - leftWingPlate1.setTextureSize(128, 128); - leftWingPlate1.mirror = true; - setRotation(leftWingPlate1, 0.2617994F, 0.1745329F, 0F); - - leftWingPlate2 = new ModelRenderer(this, 66, 72); - leftWingPlate2.addBox(5F, -8F, -2F, 1, 3, 10); - leftWingPlate2.setRotationPoint(0F, 0F, 0F); - leftWingPlate2.setTextureSize(128, 128); - leftWingPlate2.mirror = true; - setRotation(leftWingPlate2, 0.2617994F, 0.1745329F, 0F); - - rightWingPlate1 = new ModelRenderer(this, 66, 58); - rightWingPlate1.mirror = true; - rightWingPlate1.addBox(-6F, -5F, -2.5F, 1, 5, 8); - rightWingPlate1.setRotationPoint(0F, 0F, 0F); - rightWingPlate1.setTextureSize(128, 128); - rightWingPlate1.mirror = true; - setRotation(rightWingPlate1, 0.2617994F, -0.1745329F, 0F); - rightWingPlate1.mirror = false; - - rightWingPlate2 = new ModelRenderer(this, 66, 72); - rightWingPlate2.mirror = true; - rightWingPlate2.addBox(-6F, -8F, -2F, 1, 3, 10); - rightWingPlate2.setRotationPoint(0F, 0F, 0F); - rightWingPlate2.setTextureSize(128, 128); - rightWingPlate2.mirror = true; - setRotation(rightWingPlate2, 0.2617994F, -0.1745329F, 0F); - rightWingPlate2.mirror = false; - - topPlate1 = new ModelRenderer(this, 79, 72); - topPlate1.addBox(-5F, -9F, -0.5F, 10, 1, 5); - topPlate1.setRotationPoint(0F, 0F, 0F); - topPlate1.setTextureSize(128, 128); - topPlate1.mirror = true; - setRotation(topPlate1, 0.4363323F, 0F, 0F); - - topPlate2 = new ModelRenderer(this, 79, 72); - topPlate2.addBox(-5F, -8F, 1.5F, 10, 1, 5); - topPlate2.setRotationPoint(0F, 0F, 0F); - topPlate2.setTextureSize(128, 128); - topPlate2.mirror = true; - setRotation(topPlate2, 0.4363323F, 0F, 0F); - - topPlate3 = new ModelRenderer(this, 79, 72); - topPlate3.addBox(-5F, -7F, 3.5F, 10, 1, 5); - topPlate3.setRotationPoint(0F, 0F, 0F); - topPlate3.setTextureSize(128, 128); - topPlate3.mirror = true; - setRotation(topPlate3, 0.4363323F, 0F, 0F); - - backPlate1 = new ModelRenderer(this, 66, 86); - backPlate1.mirror = true; - backPlate1.addBox(-4.5F, -7F, 6F, 6, 4, 1); - backPlate1.setRotationPoint(0F, 0F, 0F); - backPlate1.setTextureSize(128, 128); - backPlate1.mirror = true; - setRotation(backPlate1, 0.2617994F, -0.2617994F, 0F); - backPlate1.mirror = false; - - backPlate2 = new ModelRenderer(this, 66, 86); - backPlate2.mirror = true; - backPlate2.addBox(-4.5F, -6.5F, 6F, 6, 4, 1); - backPlate2.setRotationPoint(0F, 2F, 0F); - backPlate2.setTextureSize(128, 128); - backPlate2.mirror = true; - setRotation(backPlate2, 0.2617994F, -0.2617994F, 0F); - backPlate2.mirror = false; - - backPlate3 = new ModelRenderer(this, 66, 86); - backPlate3.mirror = true; - backPlate3.addBox(-4.5F, -6F, 6F, 6, 4, 1); - backPlate3.setRotationPoint(0F, 4F, 0F); - backPlate3.setTextureSize(128, 128); - backPlate3.mirror = true; - setRotation(backPlate3, 0.2617994F, -0.2617994F, 0F); - backPlate3.mirror = false; - - backPlate4 = new ModelRenderer(this, 66, 86); - backPlate4.addBox(-1.5F, -7F, 6F, 6, 4, 1); - backPlate4.setRotationPoint(0F, 0F, 0F); - backPlate4.setTextureSize(128, 128); - backPlate4.mirror = true; - setRotation(backPlate4, 0.2617994F, 0.2617994F, 0F); - - backPlate5 = new ModelRenderer(this, 66, 86); - backPlate5.addBox(-1.5F, -7F, 6F, 6, 4, 1); - backPlate5.setRotationPoint(0F, 2.5F, 0F); - backPlate5.setTextureSize(128, 128); - backPlate5.mirror = true; - setRotation(backPlate5, 0.2617994F, 0.2617994F, 0F); - - backPlate6 = new ModelRenderer(this, 66, 86); - backPlate6.addBox(-1.5F, -7F, 6F, 6, 4, 1); - backPlate6.setRotationPoint(0F, 5F, 0F); - backPlate6.setTextureSize(128, 128); - backPlate6.mirror = true; - setRotation(backPlate6, 0.2617994F, 0.2617994F, 0F); - - eyePlate = new ModelRenderer(this, 63, 38); - eyePlate.addBox(-4F, -5F, -4.5F, 8, 2, 1); - eyePlate.setRotationPoint(0F, 0F, 0F); - eyePlate.setTextureSize(128, 128); - eyePlate.mirror = true; - setRotation(eyePlate, 0F, 0F, 0F); - } - - /* Right arm */ - { - rightArmMain = new ModelRenderer(this, 0, 33); - rightArmMain.mirror = true; - rightArmMain.addBox(-3.5F, -2.5F, -2.5F, 5, 11, 5); - rightArmMain.setRotationPoint(0F, 0F, 0F); - rightArmMain.setTextureSize(128, 128); - rightArmMain.mirror = true; - setRotation(rightArmMain, 0F, 0F, 0F); - - rightKnucklePlate = new ModelRenderer(this, 0, 50); - rightKnucklePlate.addBox(-4F, 4F, -1.5F, 1, 5, 3); - rightKnucklePlate.setRotationPoint(0F, 0F, 0F); - rightKnucklePlate.setTextureSize(128, 128); - rightKnucklePlate.mirror = true; - setRotation(rightKnucklePlate, 0F, 0F, 0F); - - rightKnuckleBrace = new ModelRenderer(this, 9, 50); - rightKnuckleBrace.mirror = true; - rightKnuckleBrace.addBox(-4F, 3F, -3F, 2, 1, 6); - rightKnuckleBrace.setRotationPoint(0F, 0F, 0F); - rightKnuckleBrace.setTextureSize(128, 128); - setRotation(rightKnuckleBrace, 0F, 0F, 0F); - - rightKnuckle1 = new ModelRenderer(this, 0, 59); - rightKnuckle1.mirror = true; - rightKnuckle1.addBox(-4F, 7F, -2.5F, 1, 6, 1); - rightKnuckle1.setRotationPoint(0F, 0F, 0F); - rightKnuckle1.setTextureSize(128, 128); - setRotation(rightKnuckle1, 0F, 0F, 0F); - - rightKnuckle2 = new ModelRenderer(this, 5, 59); - rightKnuckle2.mirror = true; - rightKnuckle2.addBox(-3F, 11F, -2.5F, 1, 3, 1); - rightKnuckle2.setRotationPoint(0F, 0F, 0F); - rightKnuckle2.setTextureSize(128, 128); - setRotation(rightKnuckle2, 0F, 0F, 0F); - - rightKnuckle3 = new ModelRenderer(this, 0, 59); - rightKnuckle3.mirror = true; - rightKnuckle3.addBox(-4.5F, 8F, -0.5F, 1, 6, 1); - rightKnuckle3.setRotationPoint(0F, 0F, 0F); - rightKnuckle3.setTextureSize(128, 128); - setRotation(rightKnuckle3, 0F, 0F, 0F); - - rightKnuckle4 = new ModelRenderer(this, 5, 59); - rightKnuckle4.mirror = true; - rightKnuckle4.addBox(-3.5F, 12F, -0.5F, 1, 3, 1); - rightKnuckle4.setRotationPoint(0F, 0F, 0F); - rightKnuckle4.setTextureSize(128, 128); - setRotation(rightKnuckle4, 0F, 0F, 0F); - - rightKnuckle5 = new ModelRenderer(this, 0, 59); - rightKnuckle5.mirror = true; - rightKnuckle5.addBox(-4F, 7F, 1.5F, 1, 6, 1); - rightKnuckle5.setRotationPoint(0F, 0F, 0F); - rightKnuckle5.setTextureSize(128, 128); - setRotation(rightKnuckle5, 0F, 0F, 0F); - - rightKnuckle6 = new ModelRenderer(this, 5, 59); - rightKnuckle6.mirror = true; - rightKnuckle6.addBox(-3F, 11F, 1.5F, 1, 3, 1); - rightKnuckle6.setRotationPoint(0F, 0F, 0F); - rightKnuckle6.setTextureSize(128, 128); - setRotation(rightKnuckle6, 0F, 0F, 0F); - - rightShoulder1 = new ModelRenderer(this, 10, 59); - rightShoulder1.mirror = true; - rightShoulder1.addBox(-5F, -3F, -4F, 1, 4, 8); - rightShoulder1.setRotationPoint(0F, 0F, 0F); - rightShoulder1.setTextureSize(128, 128); - setRotation(rightShoulder1, 0F, 0F, 0.6981317F); - - rightShoulder2 = new ModelRenderer(this, 10, 59); - rightShoulder2.mirror = true; - rightShoulder2.addBox(-4F, -1.5F, -4F, 1, 4, 8); - rightShoulder2.setRotationPoint(0F, 0F, 0F); - rightShoulder2.setTextureSize(128, 128); - setRotation(rightShoulder2, 0F, 0F, 0.6981317F); - - rightShoulder3 = new ModelRenderer(this, 10, 59); - rightShoulder3.mirror = true; - rightShoulder3.addBox(-3F, 0F, -4F, 1, 4, 8); - rightShoulder3.setRotationPoint(0F, 0F, 0F); - rightShoulder3.setTextureSize(128, 128); - setRotation(rightShoulder3, 0F, 0F, 0.6981317F); - } - - /* Chest piece main body */ - { - mainPlate = new ModelRenderer(this, 31, 33); - mainPlate.addBox(-4.5F, -0.5F, -3F, 9, 12, 6); - mainPlate.setRotationPoint(0F, 0F, 0F); - mainPlate.setTextureSize(128, 128); - mainPlate.mirror = true; - setRotation(mainPlate, 0F, 0F, 0F); - - chestPlate1 = new ModelRenderer(this, 63, 33); - chestPlate1.addBox(-1.5F, 3F, -4.5F, 6, 2, 1); - chestPlate1.setRotationPoint(0F, -3F, -1F); - chestPlate1.setTextureSize(128, 128); - setRotation(chestPlate1, 0.3490659F, 0F, -0.2617994F); - - chestPlate2 = new ModelRenderer(this, 63, 33); - chestPlate2.addBox(-1.5F, 3F, -4.5F, 6, 2, 1); - chestPlate2.setRotationPoint(0F, -1.5F, -1F); - chestPlate2.setTextureSize(128, 128); - setRotation(chestPlate2, 0.3490659F, 0F, -0.2617994F); - - chestPlate3 = new ModelRenderer(this, 63, 33); - chestPlate3.addBox(-1.5F, 3F, -4.5F, 6, 2, 1); - chestPlate3.setRotationPoint(0F, 0F, -1F); - chestPlate3.setTextureSize(128, 128); - setRotation(chestPlate3, 0.3490659F, 0F, -0.2617994F); - - chestPlate4 = new ModelRenderer(this, 63, 33); - chestPlate4.mirror = true; - chestPlate4.addBox(-4.5F, 3F, -4.5F, 6, 2, 1); - chestPlate4.setRotationPoint(0F, -3F, -1F); - chestPlate4.setTextureSize(128, 128); - setRotation(chestPlate4, 0.3490659F, 0F, 0.2617994F); - - chestPlate5 = new ModelRenderer(this, 63, 33); - chestPlate5.mirror = true; - chestPlate5.addBox(-4.5F, 3F, -4.5F, 6, 2, 1); - chestPlate5.setRotationPoint(0F, -1.5F, -1F); - chestPlate5.setTextureSize(128, 128); - setRotation(chestPlate5, 0.3490659F, 0F, 0.2617994F); - - chestPlate6 = new ModelRenderer(this, 63, 33); - chestPlate6.mirror = true; - chestPlate6.addBox(-4.5F, 3F, -4.5F, 6, 2, 1); - chestPlate6.setRotationPoint(0F, 0F, -1F); - chestPlate6.setTextureSize(128, 128); - setRotation(chestPlate6, 0.3490659F, 0F, 0.2617994F); - } - - /* Left arm */ - { - leftArmMain = new ModelRenderer(this, 0, 33); - leftArmMain.addBox(-1.5F, -2.533333F, -2.5F, 5, 11, 5); - leftArmMain.setRotationPoint(0F, 0F, 0F); - leftArmMain.setTextureSize(128, 128); - leftArmMain.mirror = true; - setRotation(leftArmMain, 0F, 0F, 0F); - - leftKnucklePlate = new ModelRenderer(this, 0, 50); - leftKnucklePlate.addBox(3F, 4F, -1.5F, 1, 5, 3); - leftKnucklePlate.setRotationPoint(0F, 0F, 0F); - leftKnucklePlate.setTextureSize(128, 128); - leftKnucklePlate.mirror = true; - setRotation(leftKnucklePlate, 0F, 0F, 0F); - - leftKnuckleBrace = new ModelRenderer(this, 9, 50); - leftKnuckleBrace.addBox(2F, 3F, -3F, 2, 1, 6); - leftKnuckleBrace.setRotationPoint(0F, 0F, 0F); - leftKnuckleBrace.setTextureSize(128, 128); - leftKnuckleBrace.mirror = true; - setRotation(leftKnuckleBrace, 0F, 0F, 0F); - - leftKnuckle1 = new ModelRenderer(this, 0, 59); - leftKnuckle1.addBox(3F, 7F, -2.5F, 1, 6, 1); - leftKnuckle1.setRotationPoint(0F, 0F, 0F); - leftKnuckle1.setTextureSize(128, 128); - leftKnuckle1.mirror = true; - setRotation(leftKnuckle1, 0F, 0F, 0F); - - leftKnuckle2 = new ModelRenderer(this, 5, 59); - leftKnuckle2.addBox(2F, 11F, -2.5F, 1, 3, 1); - leftKnuckle2.setRotationPoint(0F, 0F, 0F); - leftKnuckle2.setTextureSize(128, 128); - leftKnuckle2.mirror = true; - setRotation(leftKnuckle2, 0F, 0F, 0F); - - leftKnuckle3 = new ModelRenderer(this, 0, 59); - leftKnuckle3.addBox(3.5F, 8F, -0.5F, 1, 6, 1); - leftKnuckle3.setRotationPoint(0F, 0F, 0F); - leftKnuckle3.setTextureSize(128, 128); - leftKnuckle3.mirror = true; - setRotation(leftKnuckle3, 0F, 0F, 0F); - - leftKnuckle4 = new ModelRenderer(this, 5, 59); - leftKnuckle4.addBox(2.5F, 12F, -0.5F, 1, 3, 1); - leftKnuckle4.setRotationPoint(0F, 0F, 0F); - leftKnuckle4.setTextureSize(128, 128); - leftKnuckle4.mirror = true; - setRotation(leftKnuckle4, 0F, 0F, 0F); - - leftKnuckle5 = new ModelRenderer(this, 0, 59); - leftKnuckle5.addBox(3F, 7F, 1.5F, 1, 6, 1); - leftKnuckle5.setRotationPoint(0F, 0F, 0F); - leftKnuckle5.setTextureSize(128, 128); - leftKnuckle5.mirror = true; - setRotation(leftKnuckle5, 0F, 0F, 0F); - - leftKnuckle6 = new ModelRenderer(this, 5, 59); - leftKnuckle6.addBox(2F, 11F, 1.5F, 1, 3, 1); - leftKnuckle6.setRotationPoint(0F, 0F, 0F); - leftKnuckle6.setTextureSize(128, 128); - leftKnuckle6.mirror = true; - setRotation(leftKnuckle6, 0F, 0F, 0F); - - leftShoulder1 = new ModelRenderer(this, 10, 59); - leftShoulder1.addBox(4F, -3F, -4F, 1, 4, 8); - leftShoulder1.setRotationPoint(0F, 0F, 0F); - leftShoulder1.setTextureSize(128, 128); - leftShoulder1.mirror = true; - setRotation(leftShoulder1, 0F, 0F, -0.6981317F); - - leftShoulder2 = new ModelRenderer(this, 10, 59); - leftShoulder2.addBox(3F, -1.5F, -4F, 1, 4, 8); - leftShoulder2.setRotationPoint(0F, 0F, 0F); - leftShoulder2.setTextureSize(128, 128); - leftShoulder2.mirror = true; - setRotation(leftShoulder2, 0F, 0F, -0.6981317F); - - leftShoulder3 = new ModelRenderer(this, 10, 59); - leftShoulder3.addBox(2F, 0F, -4F, 1, 4, 8); - leftShoulder3.setRotationPoint(0F, 0F, 0F); - leftShoulder3.setTextureSize(128, 128); - leftShoulder3.mirror = true; - setRotation(leftShoulder3, 0F, 0F, -0.6981317F); - } - - /* Left boot */ - { - leftBootBottom = new ModelRenderer(this, 0, 84); - leftBootBottom.addBox(-2.5F, 9.5F, -5.5F, 6, 3, 8); - leftBootBottom.setRotationPoint(0F, 0F, 0F); - leftBootBottom.setTextureSize(128, 128); - leftBootBottom.mirror = true; - setRotation(leftBootBottom, 0F, 0F, 0F); - - leftBootPlate = new ModelRenderer(this, 0, 96); - leftBootPlate.addBox(-2F, 6F, 6F, 5, 3, 1); - leftBootPlate.setRotationPoint(0F, 0F, 0F); - leftBootPlate.setTextureSize(128, 128); - leftBootPlate.mirror = true; - setRotation(leftBootPlate, -1.151917F, 0F, 0F); - - leftBootBrace = new ModelRenderer(this, 0, 72); - leftBootBrace.addBox(-2F, 7F, -3F, 5, 3, 6); - leftBootBrace.setRotationPoint(0F, 0F, 0F); - leftBootBrace.setTextureSize(128, 128); - leftBootBrace.mirror = true; - setRotation(leftBootBrace, 0F, 0F, 0F); - - leftBootWing1 = new ModelRenderer(this, 13, 96); - leftBootWing1.addBox(3F, 7F, -4F, 1, 1, 7); - leftBootWing1.setRotationPoint(0F, 0F, 0F); - leftBootWing1.setTextureSize(128, 128); - leftBootWing1.mirror = true; - setRotation(leftBootWing1, 0.2617994F, 0.1745329F, 0F); - - leftBootWing2 = new ModelRenderer(this, 13, 96); - leftBootWing2.addBox(3F, 8F, -5F, 1, 1, 7); - leftBootWing2.setRotationPoint(0F, 0F, 0F); - leftBootWing2.setTextureSize(128, 128); - leftBootWing2.mirror = true; - setRotation(leftBootWing2, 0.2617994F, 0.1745329F, 0F); - } - - - /* Right boot */ - { - rightBootBottom = new ModelRenderer(this, 0, 84); - rightBootBottom.mirror = true; - rightBootBottom.addBox(-3.5F, 9.5F, -5.5F, 6, 3, 8); - rightBootBottom.setRotationPoint(0F, 0F, 0F); - rightBootBottom.setTextureSize(128, 128); - setRotation(rightBootBottom, 0F, 0F, 0F); - - rightBootPlate = new ModelRenderer(this, 0, 96); - rightBootPlate.mirror = true; - rightBootPlate.addBox(-3F, 6F, 6F, 5, 3, 1); - rightBootPlate.setRotationPoint(0F, 0F, 0F); - rightBootPlate.setTextureSize(128, 128); - setRotation(rightBootPlate, -1.151917F, 0F, 0F); - - rightBootBrace = new ModelRenderer(this, 0, 72); - rightBootBrace.mirror = true; - rightBootBrace.addBox(-3F, 7F, -3F, 5, 3, 6); - rightBootBrace.setRotationPoint(0F, 0F, 0F); - rightBootBrace.setTextureSize(128, 128); - setRotation(rightBootBrace, 0F, 0F, 0F); - - rightBootWing1 = new ModelRenderer(this, 13, 96); - rightBootWing1.mirror = true; - rightBootWing1.addBox(-4F, 7F, -4F, 1, 1, 7); - rightBootWing1.setRotationPoint(0F, 0F, 0F); - rightBootWing1.setTextureSize(128, 128); - setRotation(rightBootWing1, 0.2617994F, -0.1745329F, 0F); - - rightBootWing2 = new ModelRenderer(this, 13, 96); - rightBootWing2.mirror = true; - rightBootWing2.addBox(-4F, 8F, -5F, 1, 1, 7); - rightBootWing2.setRotationPoint(0F, 0F, 0F); - rightBootWing2.setTextureSize(128, 128); - setRotation(rightBootWing2, 0.2617994F, -0.1745329F, 0F); - } - - /* Main legs */ - { - belt = new ModelRenderer(this, 31, 52); - belt.addBox(-5F, 9.5F, -3.5F, 10, 2, 7); - belt.setRotationPoint(0F, 0F, 0F); - belt.setTextureSize(128, 128); - belt.mirror = true; - setRotation(belt, 0F, 0F, 0F); - } - - /* Left leg */ - { - leftLegSidePlate = new ModelRenderer(this, 40, 93); - leftLegSidePlate.addBox(-0.5F, 12F, -3F, 1, 6, 6); - leftLegSidePlate.setRotationPoint(-2F, -12F, 0F); - leftLegSidePlate.setTextureSize(128, 128); - leftLegSidePlate.mirror = true; - setRotation(leftLegSidePlate, 0F, 0F, -0.3490659F); - - leftLegMain = new ModelRenderer(this, 40, 93); - leftLegMain.addBox(-0.5F, 11F, -2.5F, 5, 9, 5); - leftLegMain.setRotationPoint(-2F, -12F, 0F); - leftLegMain.setTextureSize(128, 128); - leftLegMain.mirror = true; - setRotation(leftLegMain, 0F, 0F, 0F); - - leftLegPlate1 = new ModelRenderer(this, 46, 71); - leftLegPlate1.addBox(-2.5F, 11F, -3F, 2, 6, 1); - leftLegPlate1.setRotationPoint(-2F, -12F, 0F); - leftLegPlate1.setTextureSize(128, 128); - leftLegPlate1.mirror = true; - setRotation(leftLegPlate1, 0F, 0F, -0.3490659F); - - leftLegPlate2 = new ModelRenderer(this, 46, 71); - leftLegPlate2.addBox(-2.5F, 11F, 2F, 2, 6, 1); - leftLegPlate2.setRotationPoint(-2F, -12F, 0F); - leftLegPlate2.setTextureSize(128, 128); - leftLegPlate2.mirror = true; - setRotation(leftLegPlate2, 0F, 0F, -0.3490659F); - - leftLegPlate3 = new ModelRenderer(this, 31, 62); - leftLegPlate3.addBox(0F, 11.9F, -1F, 4, 7, 1); - leftLegPlate3.setRotationPoint(-2F, -12F, 0F); - leftLegPlate3.setTextureSize(128, 128); - leftLegPlate3.mirror = true; - setRotation(leftLegPlate3, -0.1745329F, 0F, 0F); - - leftLegPlate4 = new ModelRenderer(this, 42, 62); - leftLegPlate4.addBox(0F, 11.9F, 0F, 4, 7, 1); - leftLegPlate4.setRotationPoint(-2F, -12F, 0F); - leftLegPlate4.setTextureSize(128, 128); - leftLegPlate4.mirror = true; - setRotation(leftLegPlate4, 0.1745329F, 0F, 0F); - } - - /* Right leg */ - { - rightLegSidePlate = new ModelRenderer(this, 31, 71); - rightLegSidePlate.mirror = true; - rightLegSidePlate.addBox(-0.5F, 12F, -3F, 1, 6, 6); - rightLegSidePlate.setRotationPoint(2F, -12F, 0F); - rightLegSidePlate.setTextureSize(128, 128); - setRotation(rightLegSidePlate, 0F, 0F, 0.3490659F); - - rightLegMain = new ModelRenderer(this, 40, 93); - rightLegMain.mirror = true; - rightLegMain.addBox(-4.5F, 11F, -2.5F, 5, 9, 5); - rightLegMain.setRotationPoint(2F, -12F, 0F); - rightLegMain.setTextureSize(128, 128); - setRotation(rightLegMain, 0F, 0F, 0F); - - rightLegPlate1 = new ModelRenderer(this, 46, 71); - rightLegPlate1.mirror = true; - rightLegPlate1.addBox(0.5F, 11F, -3F, 2, 6, 1); - rightLegPlate1.setRotationPoint(2F, -12F, 0F); - rightLegPlate1.setTextureSize(128, 128); - setRotation(rightLegPlate1, 0F, 0F, 0.3490659F); - - rightLegPlate2 = new ModelRenderer(this, 46, 71); - rightLegPlate2.mirror = true; - rightLegPlate2.addBox(0.5F, 11F, 2F, 2, 6, 1); - rightLegPlate2.setRotationPoint(2F, -12F, 0F); - rightLegPlate2.setTextureSize(128, 128); - setRotation(rightLegPlate2, 0F, 0F, 0.3490659F); - - rightLegPlate3 = new ModelRenderer(this, 31, 62); - rightLegPlate3.mirror = true; - rightLegPlate3.addBox(-4F, 11.9F, -1F, 4, 7, 1); - rightLegPlate3.setRotationPoint(2F, -12F, 0F); - rightLegPlate3.setTextureSize(128, 128); - setRotation(rightLegPlate3, -0.1745329F, 0F, 0F); - - rightLegPlate4 = new ModelRenderer(this, 42, 62); - rightLegPlate4.mirror = true; - rightLegPlate4.addBox(-4F, 11.9F, 0F, 4, 7, 1); - rightLegPlate4.setRotationPoint(2F, -12F, 0F); - rightLegPlate4.setTextureSize(128, 128); - setRotation(rightLegPlate4, 0.1745329F, 0F, 0F); - } - - this.bipedHead.cubeList.clear(); - this.bipedHeadwear.cubeList.clear(); - if(addHelmet) - { - this.bipedHead.addChild(this.leftFacePlate); - this.bipedHead.addChild(this.rightFacePlate); - this.bipedHead.addChild(this.facePlate1); - this.bipedHead.addChild(this.facePlate2); - this.bipedHead.addChild(this.facePlate3); - this.bipedHead.addChild(this.leftWingPlate1); - this.bipedHead.addChild(this.leftWingPlate2); - this.bipedHead.addChild(this.rightWingPlate1); - this.bipedHead.addChild(this.rightWingPlate2); - this.bipedHead.addChild(this.topPlate1); - this.bipedHead.addChild(this.topPlate2); - this.bipedHead.addChild(this.topPlate3); - this.bipedHead.addChild(this.backPlate1); - this.bipedHead.addChild(this.backPlate2); - this.bipedHead.addChild(this.backPlate3); - this.bipedHead.addChild(this.backPlate4); - this.bipedHead.addChild(this.backPlate5); - this.bipedHead.addChild(this.backPlate6); - this.bipedHead.addChild(this.eyePlate); - } - - this.bipedBody.cubeList.clear(); - if(addChestPiece) - { - this.bipedBody.addChild(this.chestPlate1); - this.bipedBody.addChild(this.chestPlate2); - this.bipedBody.addChild(this.chestPlate3); - this.bipedBody.addChild(this.chestPlate4); - this.bipedBody.addChild(this.chestPlate5); - this.bipedBody.addChild(this.chestPlate6); - this.bipedBody.addChild(this.mainPlate); - } - if(addLeggings) - { - this.bipedBody.addChild(this.belt); - } - - this.bipedRightArm.cubeList.clear(); - if(addChestPiece) - { - this.bipedRightArm.addChild(rightArmMain); - this.bipedRightArm.addChild(this.rightKnucklePlate); - this.bipedRightArm.addChild(this.rightKnuckleBrace); - this.bipedRightArm.addChild(this.rightKnuckle1); - this.bipedRightArm.addChild(this.rightKnuckle2); - this.bipedRightArm.addChild(this.rightKnuckle3); - this.bipedRightArm.addChild(this.rightKnuckle4); - this.bipedRightArm.addChild(this.rightKnuckle5); - this.bipedRightArm.addChild(this.rightKnuckle6); - this.bipedRightArm.addChild(this.rightArmMain); - this.bipedRightArm.addChild(this.rightShoulder1); - this.bipedRightArm.addChild(this.rightShoulder2); - this.bipedRightArm.addChild(this.rightShoulder3); - } - - this.bipedLeftArm.cubeList.clear(); - if(addChestPiece) - { - this.bipedLeftArm.addChild(leftArmMain); - this.bipedLeftArm.addChild(this.leftKnucklePlate); - this.bipedLeftArm.addChild(this.leftKnuckleBrace); - this.bipedLeftArm.addChild(this.leftKnuckle1); - this.bipedLeftArm.addChild(this.leftKnuckle2); - this.bipedLeftArm.addChild(this.leftKnuckle3); - this.bipedLeftArm.addChild(this.leftKnuckle4); - this.bipedLeftArm.addChild(this.leftKnuckle5); - this.bipedLeftArm.addChild(this.leftKnuckle6); - this.bipedLeftArm.addChild(this.leftArmMain); - this.bipedLeftArm.addChild(this.leftShoulder1); - this.bipedLeftArm.addChild(this.leftShoulder2); - this.bipedLeftArm.addChild(this.leftShoulder3); - } - - this.bipedLeftLeg.cubeList.clear(); - if(addBoots) - { - this.bipedLeftLeg.addChild(this.leftBootBottom); - this.bipedLeftLeg.addChild(this.leftBootBrace); - this.bipedLeftLeg.addChild(this.leftBootPlate); - this.bipedLeftLeg.addChild(this.leftBootWing1); - this.bipedLeftLeg.addChild(this.leftBootWing2); - } - if(addLeggings) - { - this.bipedLeftLeg.addChild(this.leftLegMain); - this.bipedLeftLeg.addChild(this.leftLegSidePlate); - this.bipedLeftLeg.addChild(this.leftLegPlate1); - this.bipedLeftLeg.addChild(this.leftLegPlate2); - this.bipedLeftLeg.addChild(this.leftLegPlate3); - this.bipedLeftLeg.addChild(this.leftLegPlate4); - } - - this.bipedRightLeg.cubeList.clear(); - if(addBoots) - { - this.bipedRightLeg.addChild(this.rightBootBottom); - this.bipedRightLeg.addChild(this.rightBootBrace); - this.bipedRightLeg.addChild(this.rightBootPlate); - this.bipedRightLeg.addChild(this.rightBootWing1); - this.bipedRightLeg.addChild(this.rightBootWing2); - } - if(addLeggings) - { - this.bipedRightLeg.addChild(this.rightLegMain); - this.bipedRightLeg.addChild(this.rightLegSidePlate); - this.bipedRightLeg.addChild(this.rightLegPlate1); - this.bipedRightLeg.addChild(this.rightLegPlate2); - this.bipedRightLeg.addChild(this.rightLegPlate3); - this.bipedRightLeg.addChild(this.rightLegPlate4); - } - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { -// super.render(entity, f, f1, f2, f3, f4, f5); - - - - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - this.bipedHead.render(f5); - this.bipedBody.render(f5); - this.bipedLeftArm.render(f5); - this.bipedRightArm.render(f5); - this.bipedLeftLeg.render(f5); - this.bipedRightLeg.render(f5); - -// head.render(f5); -// body.render(f5); -// rightarm.render(f5); -// leftarm.render(f5); -// rightleg.render(f5); -// leftleg.render(f5); -// rightArmMain.render(f5); -// rightKnucklePlate.render(f5); -// rightKnuckleBrace.render(f5); -// rightKnuckle1.render(f5); -// rightKnuckle2.render(f5); -// rightKnuckle3.render(f5); -// rightKnuckle4.render(f5); -// rightKnuckle5.render(f5); -// rightKnuckle6.render(f5); -// rightShoulder1.render(f5); -// rightShoulder2.render(f5); -// rightShoulder3.render(f5); -// mainPlate.render(f5); -// chestPlate1.render(f5); -// chestPlate2.render(f5); -// chestPlate3.render(f5); -// chestPlate4.render(f5); -// chestPlate5.render(f5); -// chestPlate6.render(f5); -// belt.render(f5); -// leftArmMain.render(f5); -// leftKnucklePlate.render(f5); -// leftKnuckleBrace.render(f5); -// leftKnuckle1.render(f5); -// leftKnuckle2.render(f5); -// leftKnuckle3.render(f5); -// leftKnuckle4.render(f5); -// leftKnuckle5.render(f5); -// leftKnuckle6.render(f5); -// leftShoulder1.render(f5); -// leftShoulder2.render(f5); -// leftShoulder3.render(f5); -// leftBootBottom.render(f5); -// leftBootPlate.render(f5); -// leftBootBrace.render(f5); -// leftBootWing1.render(f5); -// leftBootWing2.render(f5); -// rightBootBottom.render(f5); -// rightBootPlate.render(f5); -// rightBootBrace.render(f5); -// rightBootWing1.render(f5); -// rightBootWing2.render(f5); -// -// { -// leftLegSidePlate.render(f5); -// leftLegMain.render(f5); -// leftLegPlate1.render(f5); -// leftLegPlate2.render(f5); -// leftLegPlate3.render(f5); -// leftLegPlate4.render(f5); -// } -// -// { -// rightLegSidePlate.render(f5); -// rightLegMain.render(f5); -// rightLegPlate1.render(f5); -// rightLegPlate2.render(f5); -// rightLegPlate3.render(f5); -// rightLegPlate4.render(f5); -// } - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelPedestal.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelPedestal.java deleted file mode 100644 index 753df6a5..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelPedestal.java +++ /dev/null @@ -1,58 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelPedestal extends ModelBase -{ - //fields - ModelRenderer base; - ModelRenderer top; - ModelRenderer middle; - - public ModelPedestal() - { - textureWidth = 64; - textureHeight = 32; - base = new ModelRenderer(this, 0, 0); - base.addBox(0F, 0F, 0F, 10, 1, 10); - base.setRotationPoint(-5F, 23F, -5F); - base.setTextureSize(64, 32); - base.mirror = true; - setRotation(base, 0F, 0F, 0F); - top = new ModelRenderer(this, 0, 19); - top.addBox(0F, 0F, 0F, 6, 1, 6); - top.setRotationPoint(-3F, 14F, -3F); - top.setTextureSize(64, 32); - top.mirror = true; - setRotation(top, 0F, 0F, 0F); - middle = new ModelRenderer(this, 50, 0); - middle.addBox(0F, 0F, 0F, 2, 8, 2); - middle.setRotationPoint(-1F, 15F, -1F); - middle.setTextureSize(64, 32); - middle.mirror = true; - setRotation(middle, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - base.render(f5); - top.render(f5); - middle.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelPlinth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelPlinth.java deleted file mode 100644 index f4190b5d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelPlinth.java +++ /dev/null @@ -1,90 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelPlinth extends ModelBase -{ - //fields - ModelRenderer base; - ModelRenderer table; - ModelRenderer pillar; - ModelRenderer edge1; - ModelRenderer edge2; - ModelRenderer edge3; - ModelRenderer edge4; - - public ModelPlinth() - { - textureWidth = 64; - textureHeight = 64; - base = new ModelRenderer(this, 0, 16); - base.addBox(0F, 0F, 0F, 10, 2, 10); - base.setRotationPoint(-5F, 22F, -5F); - base.setTextureSize(64, 64); - base.mirror = true; - setRotation(base, 0F, 0F, 0F); - table = new ModelRenderer(this, 0, 0); - table.addBox(0F, 0F, 0F, 14, 1, 14); - table.setRotationPoint(-7F, 11F, -7F); - table.setTextureSize(64, 64); - table.mirror = true; - setRotation(table, 0F, 0F, 0F); - pillar = new ModelRenderer(this, 0, 32); - pillar.addBox(0F, 0F, 0F, 6, 10, 6); - pillar.setRotationPoint(-3F, 12F, -3F); - pillar.setTextureSize(64, 64); - pillar.mirror = true; - setRotation(pillar, 0F, 0F, 0F); - edge1 = new ModelRenderer(this, 0, 29); - edge1.addBox(0F, 0F, 0F, 14, 1, 1); - edge1.setRotationPoint(-7F, 10F, 6F); - edge1.setTextureSize(64, 64); - edge1.mirror = true; - setRotation(edge1, 0F, 0F, 0F); - edge2 = new ModelRenderer(this, 0, 29); - edge2.addBox(0F, 0F, 0F, 14, 1, 1); - edge2.setRotationPoint(-7F, 10F, -7F); - edge2.setTextureSize(64, 64); - edge2.mirror = true; - setRotation(edge2, 0F, 0F, 0F); - edge3 = new ModelRenderer(this, 25, 32); - edge3.addBox(0F, 0F, 0F, 1, 1, 12); - edge3.setRotationPoint(-7F, 10F, -6F); - edge3.setTextureSize(64, 64); - edge3.mirror = true; - setRotation(edge3, 0F, 0F, 0F); - edge4 = new ModelRenderer(this, 25, 32); - edge4.addBox(0F, 0F, 0F, 1, 1, 12); - edge4.setRotationPoint(6F, 10F, -6F); - edge4.setTextureSize(64, 64); - edge4.mirror = true; - setRotation(edge4, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - base.render(f5); - table.render(f5); - pillar.render(f5); - edge1.render(f5); - edge2.render(f5); - edge3.render(f5); - edge4.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelShade.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelShade.java deleted file mode 100644 index 8a7f2632..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelShade.java +++ /dev/null @@ -1,86 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelShade extends ModelBase -{ - //fields - ModelRenderer body; - ModelRenderer tail1; - ModelRenderer leftArm; - ModelRenderer rightArm; - ModelRenderer tail2; - ModelRenderer head; - - public ModelShade() - { - textureWidth = 64; - textureHeight = 64; - body = new ModelRenderer(this, 0, 45); - body.addBox(-6F, 0F, -3F, 12, 12, 6); - body.setRotationPoint(0F, -4F, 0F); - body.setTextureSize(64, 64); - body.mirror = true; - setRotation(body, 0F, 0F, 0F); - tail1 = new ModelRenderer(this, 37, 43); - tail1.addBox(-2F, 1F, -2F, 4, 6, 4); - tail1.setRotationPoint(0F, 8F, 0F); - tail1.setTextureSize(64, 64); - tail1.mirror = true; - setRotation(tail1, 0.122173F, 0F, 0F); - leftArm = new ModelRenderer(this, 0, 0); - leftArm.addBox(0F, -4F, -2F, 4, 20, 4); - leftArm.setRotationPoint(6F, -2F, 0F); - leftArm.setTextureSize(64, 64); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - rightArm = new ModelRenderer(this, 0, 0); - rightArm.mirror = true; - rightArm.addBox(-4F, -4F, -2F, 4, 20, 4); - rightArm.setRotationPoint(-6F, -2F, 0F); - rightArm.setTextureSize(64, 64); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - tail2 = new ModelRenderer(this, 37, 54); - tail2.addBox(-1.5F, 6F, -3F, 3, 6, 3); - tail2.setRotationPoint(0F, 8F, 0F); - tail2.setTextureSize(64, 64); - tail2.mirror = true; - setRotation(tail2, 0.4363323F, 0F, 0F); - head = new ModelRenderer(this, 17, 0); - head.addBox(-4F, -8F, -4F, 8, 8, 8); - head.setRotationPoint(0F, -4F, -1F); - head.setTextureSize(64, 64); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - body.render(f5); - tail1.render(f5); - leftArm.render(f5); - rightArm.render(f5); - tail2.render(f5); - head.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSmallEarthGolem.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSmallEarthGolem.java deleted file mode 100644 index 45a232de..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSmallEarthGolem.java +++ /dev/null @@ -1,127 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelSmallEarthGolem extends ModelBase -{ - //fields - ModelRenderer leftLeg; - ModelRenderer rightLeg; - ModelRenderer body; - ModelRenderer head; - ModelRenderer chest1; - ModelRenderer chest2; - ModelRenderer chest3; - ModelRenderer leftArm; - ModelRenderer rightArm; - ModelRenderer back1; - - public ModelSmallEarthGolem() - { - textureWidth = 32; - textureHeight = 32; - leftLeg = new ModelRenderer(this, 13, 0); - leftLeg.addBox(-1F, 0F, -1F, 2, 5, 2); - leftLeg.setRotationPoint(1F, 19F, 0F); - leftLeg.setTextureSize(32, 32); - leftLeg.mirror = true; - setRotation(leftLeg, 0F, 0F, 0F); - rightLeg = new ModelRenderer(this, 13, 0); - rightLeg.mirror = true; - rightLeg.addBox(-1F, 0F, -1F, 2, 5, 2); - rightLeg.setRotationPoint(-1F, 19F, 0F); - rightLeg.setTextureSize(32, 32); - rightLeg.mirror = true; - setRotation(rightLeg, 0F, 0F, 0F); - rightLeg.mirror = false; - body = new ModelRenderer(this, 0, 7); - body.addBox(-2F, 0F, -1F, 4, 5, 2); - body.setRotationPoint(0F, 14F, 0F); - body.setTextureSize(32, 32); - body.mirror = true; - setRotation(body, 0F, 0F, 0F); - head = new ModelRenderer(this, 0, 0); - head.addBox(-1.5F, -3F, -2F, 3, 3, 3); - head.setRotationPoint(0F, 14F, 0F); - head.setTextureSize(32, 32); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - chest1 = new ModelRenderer(this, 22, 0); - chest1.addBox(-1F, 0.5F, -2F, 2, 3, 1); - chest1.setRotationPoint(0F, 14F, 0F); - chest1.setTextureSize(32, 32); - chest1.mirror = true; - setRotation(chest1, 0F, 0F, 0F); - chest2 = new ModelRenderer(this, 22, 5); - chest2.addBox(1F, 1.5F, -2F, 1, 1, 1); - chest2.setRotationPoint(0F, 14F, 0F); - chest2.setTextureSize(32, 32); - chest2.mirror = true; - setRotation(chest2, 0F, 0F, 0F); - chest3 = new ModelRenderer(this, 22, 5); - chest3.mirror = true; - chest3.addBox(-2F, 1.5F, -2F, 1, 1, 1); - chest3.setRotationPoint(0F, 14F, 0F); - chest3.setTextureSize(32, 32); - chest3.mirror = true; - setRotation(chest3, 0F, 0F, 0F); - chest3.mirror = false; - leftArm = new ModelRenderer(this, 13, 7); - leftArm.addBox(0F, -1F, -1F, 2, 5, 2); - leftArm.setRotationPoint(2F, 15F, 0F); - leftArm.setTextureSize(32, 32); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - rightArm = new ModelRenderer(this, 13, 7); - rightArm.mirror = true; - rightArm.addBox(-2F, -1F, -1F, 2, 5, 2); - rightArm.setRotationPoint(-2F, 15F, 0F); - rightArm.setTextureSize(32, 32); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - back1 = new ModelRenderer(this, 22, 8); - back1.addBox(-1.5F, 1.5F, 1F, 3, 1, 1); - back1.setRotationPoint(0F, 14F, 0F); - back1.setTextureSize(32, 32); - back1.mirror = true; - setRotation(back1, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - leftLeg.render(f5); - rightLeg.render(f5); - body.render(f5); - head.render(f5); - chest1.render(f5); - chest2.render(f5); - chest3.render(f5); - leftArm.render(f5); - rightArm.render(f5); - back1.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.leftLeg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.rightLeg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1; - this.rightArm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1; - this.leftArm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEffectBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEffectBlock.java deleted file mode 100644 index 61110926..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEffectBlock.java +++ /dev/null @@ -1,332 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraftforge.common.util.ForgeDirection; - -public class ModelSpellEffectBlock extends ModelBase -{ - //fields - ModelRenderer core; - ModelRenderer frame1; - ModelRenderer frame2; - ModelRenderer frame3; - ModelRenderer frame4; - ModelRenderer frame5; - ModelRenderer frame6; - ModelRenderer frame7; - ModelRenderer frame8; - ModelRenderer frame9; - ModelRenderer frame10; - ModelRenderer frame11; - ModelRenderer frame12; - ModelRenderer inputSpacer1; - ModelRenderer inputFace; - ModelRenderer inputSpacer2; - ModelRenderer inputSpacer3; - ModelRenderer inputSpacer4; - ModelRenderer outputFace; - ModelRenderer outputPlug; - ModelRenderer outputSpacer1; - ModelRenderer outputSpacer2; - ModelRenderer outputSpacer3; - ModelRenderer outputSpacer4; - - public ModelSpellEffectBlock() - { - textureWidth = 64; - textureHeight = 64; - - core = new ModelRenderer(this, 0, 0); - core.addBox(-3F, -3F, -3F, 6, 6, 6); - core.setRotationPoint(0F, 16F, 0F); - core.setTextureSize(64, 64); - core.mirror = true; - setRotation(core, 0F, 0F, 0F); - frame1 = new ModelRenderer(this, 16, 18); - frame1.addBox(3F, -3F, -5F, 2, 6, 2); - frame1.setRotationPoint(0F, 16F, 0F); - frame1.setTextureSize(64, 64); - frame1.mirror = true; - setRotation(frame1, 0F, 0F, 0F); - frame2 = new ModelRenderer(this, 0, 18); - frame2.addBox(-5F, -3F, -5F, 2, 6, 2); - frame2.setRotationPoint(0F, 16F, 0F); - frame2.setTextureSize(64, 64); - frame2.mirror = true; - setRotation(frame2, 0F, 0F, 0F); - frame3 = new ModelRenderer(this, 0, 13); - frame3.addBox(-5F, -5F, -5F, 10, 2, 2); - frame3.setRotationPoint(0F, 16F, 0F); - frame3.setTextureSize(64, 64); - frame3.mirror = true; - setRotation(frame3, 0F, 0F, 0F); - frame4 = new ModelRenderer(this, 0, 27); - frame4.addBox(-5F, 3F, -5F, 10, 2, 2); - frame4.setRotationPoint(0F, 16F, 0F); - frame4.setTextureSize(64, 64); - frame4.mirror = true; - setRotation(frame4, 0F, 0F, 0F); - frame5 = new ModelRenderer(this, 0, 34); - frame5.addBox(-5F, -5F, 3F, 10, 2, 2); - frame5.setRotationPoint(0F, 16F, 0F); - frame5.setTextureSize(64, 64); - frame5.mirror = true; - setRotation(frame5, 0F, 0F, 0F); - frame6 = new ModelRenderer(this, 0, 48); - frame6.addBox(-5F, 3F, 3F, 10, 2, 2); - frame6.setRotationPoint(0F, 16F, 0F); - frame6.setTextureSize(64, 64); - frame6.mirror = true; - setRotation(frame6, 0F, 0F, 0F); - frame7 = new ModelRenderer(this, 16, 39); - frame7.addBox(-5F, -3F, 3F, 2, 6, 2); - frame7.setRotationPoint(0F, 16F, 0F); - frame7.setTextureSize(64, 64); - frame7.mirror = true; - setRotation(frame7, 0F, 0F, 0F); - frame8 = new ModelRenderer(this, 0, 39); - frame8.addBox(3F, -3F, 3F, 2, 6, 2); - frame8.setRotationPoint(0F, 16F, 0F); - frame8.setTextureSize(64, 64); - frame8.mirror = true; - setRotation(frame8, 0F, 0F, 0F); - frame9 = new ModelRenderer(this, 25, 9); - frame9.addBox(-5F, 3F, -3F, 2, 2, 6); - frame9.setRotationPoint(0F, 16F, 0F); - frame9.setTextureSize(64, 64); - frame9.mirror = true; - setRotation(frame9, 0F, 0F, 0F); - frame10 = new ModelRenderer(this, 25, 0); - frame10.addBox(-5F, -5F, -3F, 2, 2, 6); - frame10.setRotationPoint(0F, 16F, 0F); - frame10.setTextureSize(64, 64); - frame10.mirror = true; - setRotation(frame10, 0F, 0F, 0F); - frame11 = new ModelRenderer(this, 42, 0); - frame11.addBox(3F, -5F, -3F, 2, 2, 6); - frame11.setRotationPoint(0F, 16F, 0F); - frame11.setTextureSize(64, 64); - frame11.mirror = true; - setRotation(frame11, 0F, 0F, 0F); - frame12 = new ModelRenderer(this, 42, 9); - frame12.addBox(3F, 3F, -3F, 2, 2, 6); - frame12.setRotationPoint(0F, 16F, 0F); - frame12.setTextureSize(64, 64); - frame12.mirror = true; - setRotation(frame12, 0F, 0F, 0F); - inputSpacer1 = new ModelRenderer(this, 25, 27); - inputSpacer1.addBox(3F, -5F, -8F, 2, 2, 3); - inputSpacer1.setRotationPoint(0F, 16F, 0F); - inputSpacer1.setTextureSize(64, 64); - inputSpacer1.mirror = true; - setRotation(inputSpacer1, 0F, 0F, 0F); - inputFace = new ModelRenderer(this, 38, 27); - inputFace.addBox(-2F, -2F, -8F, 4, 4, 5); - inputFace.setRotationPoint(0F, 16F, 0F); - inputFace.setTextureSize(64, 64); - inputFace.mirror = true; - setRotation(inputFace, 0F, 0F, 0F); - inputSpacer2 = new ModelRenderer(this, 25, 27); - inputSpacer2.addBox(-5F, -5F, -8F, 2, 2, 3); - inputSpacer2.setRotationPoint(0F, 16F, 0F); - inputSpacer2.setTextureSize(64, 64); - inputSpacer2.mirror = true; - setRotation(inputSpacer2, 0F, 0F, 0F); - inputSpacer3 = new ModelRenderer(this, 25, 27); - inputSpacer3.addBox(3F, 3F, -8F, 2, 2, 3); - inputSpacer3.setRotationPoint(0F, 16F, 0F); - inputSpacer3.setTextureSize(64, 64); - inputSpacer3.mirror = true; - setRotation(inputSpacer3, 0F, 0F, 0F); - inputSpacer4 = new ModelRenderer(this, 25, 27); - inputSpacer4.addBox(-5F, 3F, -8F, 2, 2, 3); - inputSpacer4.setRotationPoint(0F, 16F, 0F); - inputSpacer4.setTextureSize(64, 64); - inputSpacer4.mirror = true; - setRotation(inputSpacer4, 0F, 0F, 0F); - outputFace = new ModelRenderer(this, 38, 37); - outputFace.addBox(6F, -2F, -2F, 2, 4, 4); - outputFace.setRotationPoint(0F, 16F, 0F); - outputFace.setTextureSize(64, 64); - outputFace.mirror = true; - setRotation(outputFace, 0F, 0F, 0F); - outputPlug = new ModelRenderer(this, 36, 48); - outputPlug.addBox(3F, -3F, -3F, 2, 6, 6); - outputPlug.setRotationPoint(0F, 16F, 0F); - outputPlug.setTextureSize(64, 64); - outputPlug.mirror = true; - setRotation(outputPlug, 0F, 0F, 0F); - outputSpacer1 = new ModelRenderer(this, 25, 48); - outputSpacer1.addBox(5F, -5F, -5F, 3, 2, 2); - outputSpacer1.setRotationPoint(0F, 16F, 0F); - outputSpacer1.setTextureSize(64, 64); - outputSpacer1.mirror = true; - setRotation(outputSpacer1, 0F, 0F, 0F); - outputSpacer2 = new ModelRenderer(this, 25, 48); - outputSpacer2.addBox(5F, -5F, 3F, 3, 2, 2); - outputSpacer2.setRotationPoint(0F, 16F, 0F); - outputSpacer2.setTextureSize(64, 64); - outputSpacer2.mirror = true; - setRotation(outputSpacer2, 0F, 0F, 0F); - outputSpacer3 = new ModelRenderer(this, 25, 48); - outputSpacer3.addBox(5F, 3F, -5F, 3, 2, 2); - outputSpacer3.setRotationPoint(0F, 16F, 0F); - outputSpacer3.setTextureSize(64, 64); - outputSpacer3.mirror = true; - setRotation(outputSpacer3, 0F, 0F, 0F); - outputSpacer4 = new ModelRenderer(this, 25, 48); - outputSpacer4.addBox(5F, 3F, 3F, 3, 2, 2); - outputSpacer4.setRotationPoint(0F, 16F, 0F); - outputSpacer4.setTextureSize(64, 64); - outputSpacer4.mirror = true; - setRotation(outputSpacer4, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ForgeDirection input, ForgeDirection output) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - float xInputRot = 0.0f; - float yInputRot = 0.0f; - float zInputRot = 0.0f; - float xOutputRot = 0.0f; - float yOutputRot = 0.0f; - float zOutputRot = 0.0f; - - switch (input) - { - case NORTH: - xInputRot = 0.0f; - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case EAST: - xInputRot = 0.0f; - yInputRot = (float) (0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case SOUTH: - xInputRot = 0.0f; - yInputRot = (float) (1.0f * Math.PI); - zInputRot = 0.0f; - break; - - case WEST: - xInputRot = 0.0f; - yInputRot = (float) (-0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case UP: - xInputRot = (float) (-0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case DOWN: - xInputRot = (float) (0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - default: - break; - } - - switch (output) - { - case NORTH: - xOutputRot = 0.0f; - yOutputRot = (float) (0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case EAST: - xOutputRot = 0.0f; - yOutputRot = (float) (1.0f * Math.PI); - zOutputRot = 0.0f; - break; - - case SOUTH: - xOutputRot = 0.0f; - yOutputRot = (float) (-0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case WEST: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = 0.0f; - break; - - case UP: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (-0.5f * Math.PI); - break; - - case DOWN: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (0.5f * Math.PI); - break; - - default: - break; - } - - this.setRotation(inputFace, xInputRot, yInputRot, zInputRot); - this.setRotation(outputFace, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(inputSpacer1, xInputRot, yInputRot, zInputRot); - this.setRotation(inputSpacer2, xInputRot, yInputRot, zInputRot); - this.setRotation(inputSpacer3, xInputRot, yInputRot, zInputRot); - this.setRotation(inputSpacer4, xInputRot, yInputRot, zInputRot); - this.setRotation(outputPlug, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(outputSpacer1, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(outputSpacer2, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(outputSpacer3, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(outputSpacer4, xOutputRot, yOutputRot, zOutputRot); - - core.render(f5); - frame1.render(f5); - frame2.render(f5); - frame3.render(f5); - frame4.render(f5); - frame5.render(f5); - frame6.render(f5); - frame7.render(f5); - frame8.render(f5); - frame9.render(f5); - frame10.render(f5); - frame11.render(f5); - frame12.render(f5); - inputSpacer1.render(f5); - inputFace.render(f5); - inputSpacer2.render(f5); - inputSpacer3.render(f5); - inputSpacer4.render(f5); - outputFace.render(f5); - outputPlug.render(f5); - outputSpacer1.render(f5); - outputSpacer2.render(f5); - outputSpacer3.render(f5); - outputSpacer4.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEnhancementBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEnhancementBlock.java deleted file mode 100644 index f56dca24..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEnhancementBlock.java +++ /dev/null @@ -1,334 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraftforge.common.util.ForgeDirection; - - -public class ModelSpellEnhancementBlock extends ModelBase -{ - //fields - ModelRenderer core; - ModelRenderer frame1; - ModelRenderer frame2; - ModelRenderer frame3; - ModelRenderer frame4; - ModelRenderer frame5; - ModelRenderer frame6; - ModelRenderer frame7; - ModelRenderer frame8; - ModelRenderer frame9; - ModelRenderer frame10; - ModelRenderer frame11; - ModelRenderer frame12; - ModelRenderer outputMain; - ModelRenderer inputMain; - ModelRenderer output1; - ModelRenderer output2; - ModelRenderer output3; - ModelRenderer output4; - ModelRenderer input1; - ModelRenderer input2; - ModelRenderer input3; - ModelRenderer input4; - ModelRenderer outputSecond; - - public ModelSpellEnhancementBlock() - { - textureWidth = 128; - textureHeight = 64; - - core = new ModelRenderer(this, 0, 0); - core.addBox(-3F, -3F, -3F, 6, 6, 6); - core.setRotationPoint(0F, 16F, 0F); - core.setTextureSize(128, 64); - core.mirror = true; - setRotation(core, 0F, 0F, 0F); - frame1 = new ModelRenderer(this, 0, 32); - frame1.addBox(-7F, 5F, -7F, 14, 2, 2); - frame1.setRotationPoint(0F, 16F, 0F); - frame1.setTextureSize(128, 64); - frame1.mirror = true; - setRotation(frame1, 0F, 0F, 0F); - frame2 = new ModelRenderer(this, 24, 19); - frame2.addBox(5F, -5F, -7F, 2, 10, 2); - frame2.setRotationPoint(0F, 16F, 0F); - frame2.setTextureSize(128, 64); - frame2.mirror = true; - setRotation(frame2, 0F, 0F, 0F); - frame3 = new ModelRenderer(this, 0, 19); - frame3.addBox(-7F, -5F, -7F, 2, 10, 2); - frame3.setRotationPoint(0F, 16F, 0F); - frame3.setTextureSize(128, 64); - frame3.mirror = true; - setRotation(frame3, 0F, 0F, 0F); - frame4 = new ModelRenderer(this, 0, 14); - frame4.addBox(-7F, -7F, -7F, 14, 2, 2); - frame4.setRotationPoint(0F, 16F, 0F); - frame4.setTextureSize(128, 64); - frame4.mirror = true; - setRotation(frame4, 0F, 0F, 0F); - frame5 = new ModelRenderer(this, 0, 57); - frame5.addBox(-7F, 5F, 5F, 14, 2, 2); - frame5.setRotationPoint(0F, 16F, 0F); - frame5.setTextureSize(128, 64); - frame5.mirror = true; - setRotation(frame5, 0F, 0F, 0F); - frame6 = new ModelRenderer(this, 0, 44); - frame6.addBox(5F, -5F, 5F, 2, 10, 2); - frame6.setRotationPoint(0F, 16F, 0F); - frame6.setTextureSize(128, 64); - frame6.mirror = true; - setRotation(frame6, 0F, 0F, 0F); - frame7 = new ModelRenderer(this, 24, 44); - frame7.addBox(-7F, -5F, 5F, 2, 10, 2); - frame7.setRotationPoint(0F, 16F, 0F); - frame7.setTextureSize(128, 64); - frame7.mirror = true; - setRotation(frame7, 0F, 0F, 0F); - frame8 = new ModelRenderer(this, 0, 39); - frame8.addBox(-7F, -7F, 5F, 14, 2, 2); - frame8.setRotationPoint(0F, 16F, 0F); - frame8.setTextureSize(128, 64); - frame8.mirror = true; - setRotation(frame8, 0F, 0F, 0F); - frame9 = new ModelRenderer(this, 66, 14); - frame9.addBox(5F, 5F, -5F, 2, 2, 10); - frame9.setRotationPoint(0F, 16F, 0F); - frame9.setTextureSize(128, 64); - frame9.mirror = true; - setRotation(frame9, 0F, 0F, 0F); - frame10 = new ModelRenderer(this, 40, 14); - frame10.addBox(-7F, 5F, -5F, 2, 2, 10); - frame10.setRotationPoint(0F, 16F, 0F); - frame10.setTextureSize(128, 64); - frame10.mirror = true; - setRotation(frame10, 0F, 0F, 0F); - frame11 = new ModelRenderer(this, 66, 0); - frame11.addBox(5F, -7F, -5F, 2, 2, 10); - frame11.setRotationPoint(0F, 16F, 0F); - frame11.setTextureSize(128, 64); - frame11.mirror = true; - setRotation(frame11, 0F, 0F, 0F); - frame12 = new ModelRenderer(this, 40, 0); - frame12.addBox(-7F, -7F, -5F, 2, 2, 10); - frame12.setRotationPoint(0F, 16F, 0F); - frame12.setTextureSize(128, 64); - frame12.mirror = true; - setRotation(frame12, 0F, 0F, 0F); - outputMain = new ModelRenderer(this, 78, 36); - outputMain.addBox(6F, -2F, -2F, 2, 4, 4); - outputMain.setRotationPoint(0F, 16F, 0F); - outputMain.setTextureSize(128, 64); - outputMain.mirror = true; - setRotation(outputMain, 0F, 0F, 0F); - inputMain = new ModelRenderer(this, 40, 36); - inputMain.addBox(-2F, -2F, -8F, 4, 4, 5); - inputMain.setRotationPoint(0F, 16F, 0F); - inputMain.setTextureSize(128, 64); - inputMain.mirror = true; - setRotation(inputMain, 0F, 0F, 0F); - output1 = new ModelRenderer(this, 80, 30); - output1.addBox(5F, -5F, -5F, 3, 2, 2); - output1.setRotationPoint(0F, 16F, 0F); - output1.setTextureSize(128, 64); - output1.mirror = true; - setRotation(output1, 0F, 0F, 0F); - output2 = new ModelRenderer(this, 80, 30); - output2.addBox(5F, -5F, 3F, 3, 2, 2); - output2.setRotationPoint(0F, 16F, 0F); - output2.setTextureSize(128, 64); - output2.mirror = true; - setRotation(output2, 0F, 0F, 0F); - output3 = new ModelRenderer(this, 80, 30); - output3.addBox(5F, 3F, -5F, 3, 2, 2); - output3.setRotationPoint(0F, 16F, 0F); - output3.setTextureSize(128, 64); - output3.mirror = true; - setRotation(output3, 0F, 0F, 0F); - output4 = new ModelRenderer(this, 80, 30); - output4.addBox(5F, 3F, 3F, 3, 2, 2); - output4.setRotationPoint(0F, 16F, 0F); - output4.setTextureSize(128, 64); - output4.mirror = true; - setRotation(output4, 0F, 0F, 0F); - input1 = new ModelRenderer(this, 40, 27); - input1.addBox(3F, -5F, -8F, 2, 2, 5); - input1.setRotationPoint(0F, 16F, 0F); - input1.setTextureSize(128, 64); - input1.mirror = true; - setRotation(input1, 0F, 0F, 0F); - input2 = new ModelRenderer(this, 40, 27); - input2.addBox(-5F, -5F, -8F, 2, 2, 5); - input2.setRotationPoint(0F, 16F, 0F); - input2.setTextureSize(128, 64); - input2.mirror = true; - setRotation(input2, 0F, 0F, 0F); - input3 = new ModelRenderer(this, 40, 27); - input3.addBox(3F, 3F, -8F, 2, 2, 5); - input3.setRotationPoint(0F, 16F, 0F); - input3.setTextureSize(128, 64); - input3.mirror = true; - setRotation(input3, 0F, 0F, 0F); - input4 = new ModelRenderer(this, 40, 27); - input4.addBox(-5F, 3F, -8F, 2, 2, 5); - input4.setRotationPoint(0F, 16F, 0F); - input4.setTextureSize(128, 64); - input4.mirror = true; - setRotation(input4, 0F, 0F, 0F); - outputSecond = new ModelRenderer(this, 78, 47); - outputSecond.addBox(4F, -3F, -3F, 1, 6, 6); - outputSecond.setRotationPoint(0F, 16F, 0F); - outputSecond.setTextureSize(128, 64); - outputSecond.mirror = true; - setRotation(outputSecond, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ForgeDirection input, ForgeDirection output) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - float xInputRot = 0.0f; - float yInputRot = 0.0f; - float zInputRot = 0.0f; - float xOutputRot = 0.0f; - float yOutputRot = 0.0f; - float zOutputRot = 0.0f; - - switch (input) - { - case NORTH: - xInputRot = 0.0f; - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case EAST: - xInputRot = 0.0f; - yInputRot = (float) (0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case SOUTH: - xInputRot = 0.0f; - yInputRot = (float) (1.0f * Math.PI); - zInputRot = 0.0f; - break; - - case WEST: - xInputRot = 0.0f; - yInputRot = (float) (-0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case UP: - xInputRot = (float) (-0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case DOWN: - xInputRot = (float) (0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - default: - break; - } - - switch (output) - { - case NORTH: - xOutputRot = 0.0f; - yOutputRot = (float) (0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case EAST: - xOutputRot = 0.0f; - yOutputRot = (float) (1.0f * Math.PI); - zOutputRot = 0.0f; - break; - - case SOUTH: - xOutputRot = 0.0f; - yOutputRot = (float) (-0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case WEST: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = 0.0f; - break; - - case UP: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (-0.5f * Math.PI); - break; - - case DOWN: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (0.5f * Math.PI); - break; - - default: - break; - } - - this.setRotation(inputMain, xInputRot, yInputRot, zInputRot); - this.setRotation(outputMain, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(input1, xInputRot, yInputRot, zInputRot); - this.setRotation(input2, xInputRot, yInputRot, zInputRot); - this.setRotation(input3, xInputRot, yInputRot, zInputRot); - this.setRotation(input4, xInputRot, yInputRot, zInputRot); - this.setRotation(outputSecond, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output1, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output2, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output3, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output4, xOutputRot, yOutputRot, zOutputRot); - - core.render(f5); - frame1.render(f5); - frame2.render(f5); - frame3.render(f5); - frame4.render(f5); - frame5.render(f5); - frame6.render(f5); - frame7.render(f5); - frame8.render(f5); - frame9.render(f5); - frame10.render(f5); - frame11.render(f5); - frame12.render(f5); - outputMain.render(f5); - inputMain.render(f5); - output1.render(f5); - output2.render(f5); - output3.render(f5); - output4.render(f5); - input1.render(f5); - input2.render(f5); - input3.render(f5); - input4.render(f5); - outputSecond.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellModifierBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellModifierBlock.java deleted file mode 100644 index 3ceed7e9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellModifierBlock.java +++ /dev/null @@ -1,303 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraftforge.common.util.ForgeDirection; - -public class ModelSpellModifierBlock extends ModelBase -{ - //fields - ModelRenderer core; - ModelRenderer inputMain; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer outputMain; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer output1; - ModelRenderer output2; - ModelRenderer output3; - ModelRenderer output4; - - public ModelSpellModifierBlock() - { - textureWidth = 64; - textureHeight = 64; - - core = new ModelRenderer(this, 0, 0); - core.addBox(-3F, -3F, -3F, 6, 6, 6); - core.setRotationPoint(0F, 16F, 0F); - core.setTextureSize(64, 64); - core.mirror = true; - setRotation(core, 0F, 0F, 0F); - inputMain = new ModelRenderer(this, 25, 18); - inputMain.addBox(-2F, -2F, -8F, 4, 4, 1); - inputMain.setRotationPoint(0F, 16F, 0F); - inputMain.setTextureSize(64, 64); - inputMain.mirror = true; - setRotation(inputMain, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 13); - Shape2.addBox(-5F, -5F, -8F, 10, 2, 2); - Shape2.setRotationPoint(0F, 16F, 0F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 27); - Shape3.addBox(-5F, 3F, -8F, 10, 2, 2); - Shape3.setRotationPoint(0F, 16F, 0F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 16, 18); - Shape4.addBox(3F, -3F, -8F, 2, 6, 2); - Shape4.setRotationPoint(0F, 16F, 0F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 18); - Shape5.addBox(-5F, -3F, -8F, 2, 6, 2); - Shape5.setRotationPoint(0F, 16F, 0F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 32); - Shape6.addBox(-1F, -6F, -7F, 2, 1, 5); - Shape6.setRotationPoint(0F, 16F, 0F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 15, 32); - Shape7.addBox(-2F, -6F, -2F, 4, 1, 4); - Shape7.setRotationPoint(0F, 16F, 0F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 15, 39); - Shape8.addBox(-2F, 5F, -2F, 4, 1, 4); - Shape8.setRotationPoint(0F, 16F, 0F); - Shape8.setTextureSize(64, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 39); - Shape9.addBox(-1F, 5F, -7F, 2, 1, 5); - Shape9.setRotationPoint(0F, 16F, 0F); - Shape9.setTextureSize(64, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - outputMain = new ModelRenderer(this, 51, 23); - outputMain.addBox(7F, -2F, -2F, 1, 4, 4); - outputMain.setRotationPoint(0F, 16F, 0F); - outputMain.setTextureSize(64, 64); - outputMain.mirror = true; - setRotation(outputMain, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 13, 46); - Shape11.addBox(5F, -2F, -2F, 1, 4, 4); - Shape11.setRotationPoint(0F, 16F, 0F); - Shape11.setTextureSize(64, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 0, 46); - Shape12.addBox(5F, -1F, -7F, 1, 2, 5); - Shape12.setRotationPoint(0F, 16F, 0F); - Shape12.setTextureSize(64, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 0, 56); - Shape13.addBox(-6F, -1F, -7F, 1, 2, 5); - Shape13.setRotationPoint(0F, 16F, 0F); - Shape13.setTextureSize(64, 64); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 13, 56); - Shape14.addBox(-6F, -2F, -2F, 1, 4, 4); - Shape14.setRotationPoint(0F, 16F, 0F); - Shape14.setTextureSize(64, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - output1 = new ModelRenderer(this, 51, 18); - output1.addBox(5F, -5F, -5F, 3, 2, 2); - output1.setRotationPoint(0F, 16F, 0F); - output1.setTextureSize(64, 64); - output1.mirror = true; - setRotation(output1, 0F, 0F, 0F); - output2 = new ModelRenderer(this, 51, 18); - output2.addBox(5F, -5F, 3F, 3, 2, 2); - output2.setRotationPoint(0F, 16F, 0F); - output2.setTextureSize(64, 64); - output2.mirror = true; - setRotation(output2, 0F, 0F, 0F); - output3 = new ModelRenderer(this, 51, 18); - output3.addBox(5F, 3F, -5F, 3, 2, 2); - output3.setRotationPoint(0F, 16F, 0F); - output3.setTextureSize(64, 64); - output3.mirror = true; - setRotation(output3, 0F, 0F, 0F); - output4 = new ModelRenderer(this, 51, 18); - output4.addBox(5F, 3F, 3F, 3, 2, 2); - output4.setRotationPoint(0F, 16F, 0F); - output4.setTextureSize(64, 64); - output4.mirror = true; - setRotation(output4, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ForgeDirection input, ForgeDirection output) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - float xInputRot = 0.0f; - float yInputRot = 0.0f; - float zInputRot = 0.0f; - float xOutputRot = 0.0f; - float yOutputRot = 0.0f; - float zOutputRot = 0.0f; - - switch (input) - { - case NORTH: - xInputRot = 0.0f; - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case EAST: - xInputRot = 0.0f; - yInputRot = (float) (0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case SOUTH: - xInputRot = 0.0f; - yInputRot = (float) (1.0f * Math.PI); - zInputRot = 0.0f; - break; - - case WEST: - xInputRot = 0.0f; - yInputRot = (float) (-0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case UP: - xInputRot = (float) (-0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case DOWN: - xInputRot = (float) (0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - default: - break; - } - - switch (output) - { - case NORTH: - xOutputRot = 0.0f; - yOutputRot = (float) (0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case EAST: - xOutputRot = 0.0f; - yOutputRot = (float) (1.0f * Math.PI); - zOutputRot = 0.0f; - break; - - case SOUTH: - xOutputRot = 0.0f; - yOutputRot = (float) (-0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case WEST: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = 0.0f; - break; - - case UP: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (-0.5f * Math.PI); - break; - - case DOWN: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (0.5f * Math.PI); - break; - - default: - break; - } - - this.setRotation(inputMain, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape2, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape3, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape4, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape5, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape6, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape7, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape8, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape9, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape12, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape11, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape13, xInputRot, yInputRot, zInputRot); - this.setRotation(Shape14, xInputRot, yInputRot, zInputRot); - - this.setRotation(outputMain, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output1, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output2, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output3, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output4, xOutputRot, yOutputRot, zOutputRot); - - - core.render(f5); - inputMain.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - outputMain.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - output1.render(f5); - output2.render(f5); - output3.render(f5); - output4.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} - diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellParadigmBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellParadigmBlock.java deleted file mode 100644 index da48b87d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellParadigmBlock.java +++ /dev/null @@ -1,234 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -//Date: 07/03/2014 9:30:25 PM -//Template version 1.1 -//Java generated by Techne -//Keep in mind that you still need to fill in some blanks -//- ZeuX - - - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraftforge.common.util.ForgeDirection; - -public class ModelSpellParadigmBlock extends ModelBase -{ -//fields - ModelRenderer core; - ModelRenderer outputMain; - ModelRenderer output1; - ModelRenderer output2; - ModelRenderer output3; - ModelRenderer output4; - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - -public ModelSpellParadigmBlock() -{ - textureWidth = 64; - textureHeight = 64; - - core = new ModelRenderer(this, 0, 0); - core.addBox(-3F, -3F, -3F, 6, 6, 6); - core.setRotationPoint(0F, 16F, 0F); - core.setTextureSize(64, 64); - core.mirror = true; - setRotation(core, 0F, 0F, 0F); - outputMain = new ModelRenderer(this, 0, 13); - outputMain.addBox(6F, -2F, -2F, 2, 4, 4); - outputMain.setRotationPoint(0F, 16F, 0F); - outputMain.setTextureSize(64, 64); - outputMain.mirror = true; - setRotation(outputMain, 0F, 0F, 0F); - output1 = new ModelRenderer(this, 0, 22); - output1.addBox(5F, -5F, -5F, 3, 2, 2); - output1.setRotationPoint(0F, 16F, 0F); - output1.setTextureSize(64, 64); - output1.mirror = true; - setRotation(output1, 0F, 0F, 0F); - output2 = new ModelRenderer(this, 0, 22); - output2.addBox(5F, -5F, 3F, 3, 2, 2); - output2.setRotationPoint(0F, 16F, 0F); - output2.setTextureSize(64, 64); - output2.mirror = true; - setRotation(output2, 0F, 0F, 0F); - output3 = new ModelRenderer(this, 0, 22); - output3.addBox(5F, 3F, -5F, 3, 2, 2); - output3.setRotationPoint(0F, 16F, 0F); - output3.setTextureSize(64, 64); - output3.mirror = true; - setRotation(output3, 0F, 0F, 0F); - output4 = new ModelRenderer(this, 0, 22); - output4.addBox(5F, 3F, 3F, 3, 2, 2); - output4.setRotationPoint(0F, 16F, 0F); - output4.setTextureSize(64, 64); - output4.mirror = true; - setRotation(output4, 0F, 0F, 0F); - Shape1 = new ModelRenderer(this, 0, 28); - Shape1.addBox(-5F, -5F, -1F, 10, 1, 2); - Shape1.setRotationPoint(0F, 16F, 0F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 25, 28); - Shape2.addBox(-5F, -4F, -4F, 1, 8, 8); - Shape2.setRotationPoint(0F, 16F, 0F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 33); - Shape3.addBox(-5F, 4F, -1F, 10, 1, 2); - Shape3.setRotationPoint(0F, 16F, 0F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 38); - Shape4.addBox(-5F, -1F, -5F, 10, 2, 1); - Shape4.setRotationPoint(0F, 16F, 0F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 43); - Shape5.addBox(-5F, -1F, 4F, 10, 2, 1); - Shape5.setRotationPoint(0F, 16F, 0F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); -} - -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ForgeDirection input, ForgeDirection output) -{ - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - float xInputRot = 0.0f; - float yInputRot = 0.0f; - float zInputRot = 0.0f; - float xOutputRot = 0.0f; - float yOutputRot = 0.0f; - float zOutputRot = 0.0f; - - switch (input) - { - case NORTH: - xInputRot = 0.0f; - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case EAST: - xInputRot = 0.0f; - yInputRot = (float) (0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case SOUTH: - xInputRot = 0.0f; - yInputRot = (float) (1.0f * Math.PI); - zInputRot = 0.0f; - break; - - case WEST: - xInputRot = 0.0f; - yInputRot = (float) (-0.5f * Math.PI); - zInputRot = 0.0f; - break; - - case UP: - xInputRot = (float) (-0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - case DOWN: - xInputRot = (float) (0.5f * Math.PI); - yInputRot = 0.0f; - zInputRot = 0.0f; - break; - - default: - break; - } - - switch (output) - { - case NORTH: - xOutputRot = 0.0f; - yOutputRot = (float) (0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case EAST: - xOutputRot = 0.0f; - yOutputRot = (float) (1.0f * Math.PI); - zOutputRot = 0.0f; - break; - - case SOUTH: - xOutputRot = 0.0f; - yOutputRot = (float) (-0.5f * Math.PI); - zOutputRot = 0.0f; - break; - - case WEST: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = 0.0f; - break; - - case UP: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (-0.5f * Math.PI); - break; - - case DOWN: - xOutputRot = 0.0f; - yOutputRot = 0.0f; - zOutputRot = (float) (0.5f * Math.PI); - break; - - default: - break; - } - - this.setRotation(outputMain, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output1, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output2, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output3, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(output4, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(Shape1, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(Shape2, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(Shape3, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(Shape4, xOutputRot, yOutputRot, zOutputRot); - this.setRotation(Shape5, xOutputRot, yOutputRot, zOutputRot); - core.render(f5); - outputMain.render(f5); - output1.render(f5); - output2.render(f5); - output3.render(f5); - output4.render(f5); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); -} - -private void setRotation(ModelRenderer model, float x, float y, float z) -{ - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; -} - -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) -{ - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); -} - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelWingedFireDemon.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelWingedFireDemon.java deleted file mode 100644 index 07164ffd..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelWingedFireDemon.java +++ /dev/null @@ -1,203 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelWingedFireDemon extends ModelBase -{ - //fields - ModelRenderer leftLegPlate; - ModelRenderer leftLeg; - ModelRenderer codPiece; - ModelRenderer rightLegPlate; - ModelRenderer rightLeg; - ModelRenderer body; - ModelRenderer leftShoulder; - ModelRenderer leftArm; - ModelRenderer head; - ModelRenderer rightShoulder; - ModelRenderer rightArm; - ModelRenderer leftWing; - ModelRenderer rightWing; - ModelRenderer leftHorn1; - ModelRenderer rightHorn1; - ModelRenderer leftHorn2; - ModelRenderer rightHorn2; - - public ModelWingedFireDemon() - { - textureWidth = 64; - textureHeight = 64; - leftLegPlate = new ModelRenderer(this, 40, 36); - leftLegPlate.addBox(0F, -3F, -3F, 6, 6, 6); - leftLegPlate.setRotationPoint(2F, 5F, 0F); - leftLegPlate.setTextureSize(64, 64); - leftLegPlate.mirror = true; - setRotation(leftLegPlate, 0F, 0F, 0F); - leftLeg = new ModelRenderer(this, 48, 16); - leftLeg.addBox(1F, 3F, -2F, 4, 16, 4); - leftLeg.setRotationPoint(2F, 5F, 0F); - leftLeg.setTextureSize(64, 64); - leftLeg.mirror = true; - setRotation(leftLeg, 0F, 0F, 0F); - codPiece = new ModelRenderer(this, 48, 0); - codPiece.addBox(-2F, 0F, -2F, 4, 6, 4); - codPiece.setRotationPoint(0F, 1F, 0F); - codPiece.setTextureSize(64, 64); - codPiece.mirror = true; - setRotation(codPiece, 0F, 0F, 0F); - rightLegPlate = new ModelRenderer(this, 40, 36); - rightLegPlate.mirror = true; - rightLegPlate.addBox(-6F, -3F, -3F, 6, 6, 6); - rightLegPlate.setRotationPoint(-2F, 5F, 0F); - rightLegPlate.setTextureSize(64, 64); - rightLegPlate.mirror = true; - setRotation(rightLegPlate, 0F, 0F, 0F); - rightLegPlate.mirror = false; - rightLeg = new ModelRenderer(this, 48, 16); - rightLeg.mirror = true; - rightLeg.addBox(-5F, 3F, -2F, 4, 16, 4); - rightLeg.setRotationPoint(-2F, 5F, 0F); - rightLeg.setTextureSize(64, 64); - rightLeg.mirror = true; - setRotation(rightLeg, 0F, 0F, 0F); - rightLeg.mirror = false; - body = new ModelRenderer(this, 0, 44); - body.addBox(-5F, -14F, -3F, 10, 14, 6); - body.setRotationPoint(0F, 1F, 0F); - body.setTextureSize(64, 64); - body.mirror = true; - setRotation(body, 0F, 0F, 0F); - leftShoulder = new ModelRenderer(this, 0, 29); - leftShoulder.addBox(0F, -5F, -4F, 8, 7, 8); - leftShoulder.setRotationPoint(5F, -10F, 0F); - leftShoulder.setTextureSize(64, 64); - leftShoulder.mirror = true; - setRotation(leftShoulder, 0F, 0F, 0F); - leftArm = new ModelRenderer(this, 32, 0); - leftArm.addBox(3F, 2F, -2F, 4, 12, 4); - leftArm.setRotationPoint(5F, -10F, 0F); - leftArm.setTextureSize(64, 64); - leftArm.mirror = true; - setRotation(leftArm, 0F, 0F, 0F); - head = new ModelRenderer(this, 32, 48); - head.addBox(-4F, -7F, -4F, 8, 8, 8); - head.setRotationPoint(0F, -14F, -1F); - head.setTextureSize(64, 64); - head.mirror = true; - setRotation(head, 0F, 0F, 0F); - rightShoulder = new ModelRenderer(this, 0, 29); - rightShoulder.mirror = true; - rightShoulder.mirror = true; - rightShoulder.addBox(-8F, -5F, -4F, 8, 7, 8); - rightShoulder.setRotationPoint(-5F, -10F, 0F); - rightShoulder.setTextureSize(64, 64); - rightShoulder.mirror = true; - setRotation(rightShoulder, 0F, 0F, 0F); - rightShoulder.mirror = false; - rightArm = new ModelRenderer(this, 32, 0); - rightArm.mirror = true; - rightArm.mirror = true; - rightArm.addBox(-7F, 2F, -2F, 4, 12, 4); - rightArm.setRotationPoint(-5F, -10F, 0F); - rightArm.setTextureSize(64, 64); - rightArm.mirror = true; - setRotation(rightArm, 0F, 0F, 0F); - rightArm.mirror = false; - leftWing = new ModelRenderer(this, 0, 0); - leftWing.addBox(0F, -2F, 0F, 16, 12, 0); - leftWing.setRotationPoint(0F, -11F, 3F); - leftWing.setTextureSize(64, 64); - leftWing.mirror = true; - setRotation(leftWing, 0F, -0.5061455F, 0F); - rightWing = new ModelRenderer(this, 0, 0); - rightWing.mirror = true; - rightWing.addBox(-16F, -2F, 0F, 16, 12, 0); - rightWing.setRotationPoint(0F, -11F, 3F); - rightWing.setTextureSize(64, 64); - rightWing.mirror = true; - setRotation(rightWing, 0F, 0.5061455F, 0F); - rightWing.mirror = false; - leftHorn1 = new ModelRenderer(this, 0, 12); - leftHorn1.addBox(4F, -9F, -1F, 1, 5, 1); - leftHorn1.setRotationPoint(0F, -14F, -1F); - leftHorn1.setTextureSize(64, 64); - leftHorn1.mirror = true; - setRotation(leftHorn1, 0F, 0F, 0F); - rightHorn1 = new ModelRenderer(this, 0, 12); - rightHorn1.mirror = true; - rightHorn1.addBox(-5F, -9F, -1F, 1, 5, 1); - rightHorn1.setRotationPoint(0F, -14F, -1F); - rightHorn1.setTextureSize(64, 64); - rightHorn1.mirror = true; - setRotation(rightHorn1, 0F, 0F, 0F); - rightHorn1.mirror = false; - leftHorn2 = new ModelRenderer(this, 4, 12); - leftHorn2.addBox(4F, -10F, 0F, 1, 5, 1); - leftHorn2.setRotationPoint(0F, -14F, -1F); - leftHorn2.setTextureSize(64, 64); - leftHorn2.mirror = true; - setRotation(leftHorn2, 0F, 0F, 0F); - rightHorn2 = new ModelRenderer(this, 4, 12); - rightHorn2.mirror = true; - rightHorn2.addBox(-5F, -10F, 0F, 1, 5, 1); - rightHorn2.setRotationPoint(0F, -14F, -1F); - rightHorn2.setTextureSize(64, 64); - rightHorn2.mirror = true; - setRotation(rightHorn2, 0F, 0F, 0F); - rightHorn2.mirror = false; - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - leftLegPlate.render(f5); - leftLeg.render(f5); - codPiece.render(f5); - rightLegPlate.render(f5); - rightLeg.render(f5); - body.render(f5); - leftShoulder.render(f5); - leftArm.render(f5); - head.render(f5); - rightShoulder.render(f5); - rightArm.render(f5); - leftWing.render(f5); - rightWing.render(f5); - leftHorn1.render(f5); - rightHorn1.render(f5); - leftHorn2.render(f5); - rightHorn2.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.head.rotateAngleX = f4 / (180F / (float) Math.PI); - this.head.rotateAngleY = f3 / (180F / (float) Math.PI); - this.leftHorn1.rotateAngleX = head.rotateAngleX; - this.leftHorn1.rotateAngleY = head.rotateAngleY; - this.leftHorn2.rotateAngleX = head.rotateAngleX; - this.leftHorn2.rotateAngleY = head.rotateAngleY; - this.rightHorn1.rotateAngleX = head.rotateAngleX; - this.rightHorn1.rotateAngleY = head.rotateAngleY; - this.rightHorn2.rotateAngleX = head.rotateAngleX; - this.rightHorn2.rotateAngleY = head.rotateAngleY; - this.leftLeg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.rightLeg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.0F * f1; - this.rightArm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.0F * f1; - this.leftArm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; - this.leftShoulder.rotateAngleX = this.leftArm.rotateAngleX; - this.rightShoulder.rotateAngleX = this.rightArm.rotateAngleX; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelWritingTable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelWritingTable.java deleted file mode 100644 index 15dede34..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelWritingTable.java +++ /dev/null @@ -1,138 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelWritingTable extends ModelBase -{ - //fields - ModelRenderer base; - ModelRenderer support; - ModelRenderer appendage1; - ModelRenderer appendage2; - ModelRenderer appendage3; - ModelRenderer appendage4; - ModelRenderer appendage5; - ModelRenderer outputPad; - ModelRenderer input1; - ModelRenderer input5; - ModelRenderer input4; - ModelRenderer input3; - ModelRenderer Shape1; - - public ModelWritingTable() - { - textureWidth = 64; - textureHeight = 64; - base = new ModelRenderer(this, 0, 0); - base.addBox(0F, 0F, 0F, 16, 2, 16); - base.setRotationPoint(-8F, 22F, -8F); - base.setTextureSize(64, 32); - base.mirror = true; - setRotation(base, 0F, 0F, 0F); - support = new ModelRenderer(this, 0, 0); - support.addBox(0F, 0F, 0F, 2, 12, 2); - support.setRotationPoint(-1F, 10F, -1F); - support.setTextureSize(64, 32); - support.mirror = true; - setRotation(support, 0F, 0F, 0F); - appendage1 = new ModelRenderer(this, 48, 0); - appendage1.addBox(1F, 0F, 0F, 7, 11, 0); - appendage1.setRotationPoint(0F, 10F, 0F); - appendage1.setTextureSize(64, 32); - appendage1.mirror = true; - setRotation(appendage1, 0F, 0F, 0F); - appendage2 = new ModelRenderer(this, 48, 0); - appendage2.addBox(1F, 0F, 0F, 7, 11, 0); - appendage2.setRotationPoint(0F, 10F, 0F); - appendage2.setTextureSize(64, 32); - appendage2.mirror = true; - setRotation(appendage2, 0F, ((float) Math.PI * 2F / 5F), 0F); - appendage3 = new ModelRenderer(this, 48, 0); - appendage3.addBox(1F, 0F, 0F, 7, 11, 0); - appendage3.setRotationPoint(0F, 10F, 0F); - appendage3.setTextureSize(64, 32); - appendage3.mirror = true; - setRotation(appendage3, 0F, 2.513274F, 0F); - appendage4 = new ModelRenderer(this, 48, 0); - appendage4.addBox(1F, 0F, 0F, 7, 11, 0); - appendage4.setRotationPoint(0F, 10F, 0F); - appendage4.setTextureSize(64, 32); - appendage4.mirror = true; - setRotation(appendage4, 0F, -2.513274F, 0F); - appendage5 = new ModelRenderer(this, 48, 0); - appendage5.addBox(1F, 0F, 0F, 7, 11, 0); - appendage5.setRotationPoint(0F, 10F, 0F); - appendage5.setTextureSize(64, 32); - appendage5.mirror = true; - setRotation(appendage5, 0F, -((float) Math.PI * 2F / 5F), 0F); - outputPad = new ModelRenderer(this, 0, 20); - outputPad.addBox(0F, 0F, 0F, 4, 1, 4); - outputPad.setRotationPoint(-2F, 9F, -2F); - outputPad.setTextureSize(64, 64); - outputPad.mirror = true; - setRotation(outputPad, 0F, 0F, 0F); - input1 = new ModelRenderer(this, 0, 20); - input1.addBox(4F, 0F, -2F, 4, 1, 4); - input1.setRotationPoint(0F, 21F, 0F); - input1.setTextureSize(64, 64); - input1.mirror = true; - setRotation(input1, 0F, 0F, 0F); - input5 = new ModelRenderer(this, 0, 20); - input5.addBox(0F, 0F, 0F, 4, 1, 4); - input5.setRotationPoint(0F, 21F, -8F); - input5.setTextureSize(64, 64); - input5.mirror = true; - setRotation(input5, 0F, 0F, 0F); - input4 = new ModelRenderer(this, 0, 20); - input4.addBox(-7F, 0F, -6F, 4, 1, 4); - input4.setRotationPoint(0F, 21F, 0F); - input4.setTextureSize(64, 64); - input4.mirror = true; - setRotation(input4, 0F, 0F, 0F); - input3 = new ModelRenderer(this, 0, 20); - input3.addBox(-7F, 0F, 2F, 4, 1, 4); - input3.setRotationPoint(0F, 21F, 0F); - input3.setTextureSize(64, 64); - input3.mirror = true; - setRotation(input3, 0F, 0F, 0F); - Shape1 = new ModelRenderer(this, 0, 20); - Shape1.addBox(0F, 0F, 4F, 4, 1, 4); - Shape1.setRotationPoint(0F, 21F, 0F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - base.render(f5); - support.render(f5); - appendage1.render(f5); - appendage2.render(f5); - appendage3.render(f5); - appendage4.render(f5); - appendage5.render(f5); - outputPad.render(f5); - input1.render(f5); - input5.render(f5); - input4.render(f5); - input3.render(f5); - Shape1.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderEnergyBazookaMainProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderEnergyBazookaMainProjectile.java deleted file mode 100644 index 57df9912..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderEnergyBazookaMainProjectile.java +++ /dev/null @@ -1,39 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.projectile; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelEnergyBazookaMainProjectile; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RenderEnergyBazookaMainProjectile extends Render -{ - public ModelBase model = new ModelEnergyBazookaMainProjectile(); - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/EnergyBazookaMainProjectile.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - private float scale = 1.0f; - - @Override - public void doRender(Entity entity, double d0, double d1, double d2, float f, float f1) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0, (float) d1, (float) d2); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(scale, scale, scale); - this.bindTexture(this.getEntityTexture(entity)); - GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * f1, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(180.0f - entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * f1, 1.0F, 0.0F, 0.0f); - model.render(entity, 0, (float) d0, (float) d1, (float) d2, f, f1); - //GL11.glRotatef(entity.getRotationYawHead(), 0.0F, 1.0F, 0.0F); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) - { - // TODO Auto-generated method stub - return field_110833_a; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderEnergyBlastProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderEnergyBlastProjectile.java deleted file mode 100644 index 5e988929..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderEnergyBlastProjectile.java +++ /dev/null @@ -1,101 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.projectile; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.entity.IProjectile; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import WayofTime.alchemicalWizardry.common.entity.projectile.ExplosionProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.FireProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.HolyProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.IceProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.LightningBoltProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.MudProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.WaterProjectile; -import WayofTime.alchemicalWizardry.common.entity.projectile.WindGustProjectile; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderEnergyBlastProjectile extends Render -{ - public void doRenderEnergyBlastProjectile(Entity entityShot, double par2, double par4, double par6, float par8, float par9) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(0.1F, 0.1F, 0.1F); - this.bindTexture(this.getEntityTexture(entityShot)); - Tessellator var12 = Tessellator.instance; - GL11.glRotatef(180.0F - renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - var12.startDrawingQuads(); - var12.setNormal(0.0F, 1.0F, 0.0F); - var12.addVertexWithUV(-0.5F, -0.25F, 0.0D, 0, 1); - var12.addVertexWithUV(0.5F, -0.25F, 0.0D, 1, 1); - var12.addVertexWithUV(0.5F, 0.75F, 0.0D, 1, 0); - var12.addVertexWithUV(-0.5F, 0.75F, 0.0D, 0, 0); - var12.draw(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - @Override - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) - { - if (par1Entity instanceof IProjectile) - { - this.doRenderEnergyBlastProjectile(par1Entity, par2, par4, par6, par8, par9); - } - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) - { - if (entity instanceof IceProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/iceProjectile.png"); - } - - if (entity instanceof FireProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/fireProjectile.png"); - } - - if (entity instanceof ExplosionProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/explosionProjectile.png"); - } - - if (entity instanceof HolyProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/holyProjectile.png"); - } - - if (entity instanceof WindGustProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/windGustProjectile.png"); - } - - if (entity instanceof LightningBoltProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/lightningProjectile.png"); - } - - if (entity instanceof WaterProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/waterProjectile.png"); - } - - if (entity instanceof MudProjectile) - { - return new ResourceLocation("alchemicalwizardry", "textures/entities/mudProjectile.png"); - } - - return new ResourceLocation("alchemicalwizardry", "textures/entities/energyBlastProjectile.png"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderFireProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderFireProjectile.java deleted file mode 100644 index cda739fe..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderFireProjectile.java +++ /dev/null @@ -1,41 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.projectile; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderFireProjectile -{ -// public void doRenderProjectile(FireProjectile entityShot, double par2, double par4, double par6, float par8, float par9) -// { -// GL11.glPushMatrix(); -// GL11.glTranslatef((float)par2, (float)par4, (float)par6); -// GL11.glEnable(GL12.GL_RESCALE_NORMAL); -// GL11.glScalef(0.1F, 0.1F, 0.1F); -// this.func_110776_a(this.func_110775_a(entityShot)); -// Tessellator var12 = Tessellator.instance; -// GL11.glRotatef(180.0F - renderManager.playerViewY, 0.0F, 1.0F, 0.0F); -// GL11.glRotatef(-renderManager.playerViewX, 1.0F, 0.0F, 0.0F); -// var12.startDrawingQuads(); -// var12.setNormal(0.0F, 1.0F, 0.0F); -// var12.addVertexWithUV(-0.5F, -0.25F, 0.0D, 0, 1); -// var12.addVertexWithUV(0.5F, -0.25F, 0.0D, 1, 1); -// var12.addVertexWithUV(0.5F, 0.75F, 0.0D, 1, 0); -// var12.addVertexWithUV(-0.5F, 0.75F, 0.0D, 0, 0); -// var12.draw(); -// GL11.glDisable(GL12.GL_RESCALE_NORMAL); -// GL11.glPopMatrix(); -// } -// -// @Override -// public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) -// { -// this.doRenderProjectile((FireProjectile)par1Entity, par2, par4, par6, par8, par9); -// } -// -// @Override -// protected ResourceLocation func_110775_a(Entity entity) -// { -// return new ResourceLocation("alchemicalwizardry:/textures/entities/fireProjectile.png"); -// } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderMeteor.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderMeteor.java deleted file mode 100644 index c39dcb11..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/renderer/projectile/RenderMeteor.java +++ /dev/null @@ -1,39 +0,0 @@ -package WayofTime.alchemicalWizardry.common.renderer.projectile; - -import WayofTime.alchemicalWizardry.common.renderer.model.ModelMeteor; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RenderMeteor extends Render -{ - public ModelBase model = new ModelMeteor(); - private static final ResourceLocation field_110833_a = new ResourceLocation("alchemicalwizardry", "textures/models/Meteor.png"); //refers to:YourMod/modelsTextureFile/optionalFile/yourTexture.png - private float scale = 1.0f; - - @Override - public void doRender(Entity entity, double d0, double d1, double d2, float f, float f1) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float) d0, (float) d1, (float) d2); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(scale, scale, scale); - this.bindTexture(this.getEntityTexture(entity)); - GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * f1, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(180.0f - entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * f1, 1.0F, 0.0F, 0.0f); - model.render(entity, 0, (float) d0, (float) d1, (float) d2, f, f1); - //GL11.glRotatef(entity.getRotationYawHead(), 0.0F, 1.0F, 0.0F); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) - { - // TODO Auto-generated method stub - return field_110833_a; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java deleted file mode 100644 index ed0e7130..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java +++ /dev/null @@ -1,163 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectAnimalGrowth extends RitualEffect -{ - public static final int breedingCost = 50; - public static final int reductusDrain = 1; - public static final int virtusDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (world.getWorldTime() % 20 != 0) - { - return; - } - - double range = 2; - - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) x, (double) y + 1, (double) z, (double) (x + 1), (double) (y + 3), (double) (z + 1)).expand(range, 0, range); - List list = world.getEntitiesWithinAABB(EntityAgeable.class, axisalignedbb); - - int entityCount = 0; - boolean flag = false; - - if (currentEssence < this.getCostPerRefresh() * list.size()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - - for(EntityAgeable entity : list) - { - if (entity.getGrowingAge() < 0) - { - entity.addGrowth(5); - entityCount++; - }else - { - hasReductus = hasReductus && this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - if(hasReductus && entity instanceof EntityAnimal && entity.getGrowingAge() > 0) - { - EntityAnimal animal = (EntityAnimal)entity; - entity.setGrowingAge(Math.max(0, animal.getGrowingAge() - 20*2)); - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - entityCount++; - } - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * entityCount); - } - - boolean hasVirtus = this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, false); - - if(hasVirtus && SoulNetworkHandler.canSyphonFromOnlyNetwork(owner, breedingCost)) - { - List animalList = world.getEntitiesWithinAABB(EntityAnimal.class, axisalignedbb); - TileEntity tile = world.getTileEntity(x, y+1, z); - IInventory inventory = null; - if(tile instanceof IInventory) - { - inventory = (IInventory)tile; - }else - { - tile = world.getTileEntity(x, y-1, z); - if(tile instanceof IInventory) - { - inventory = (IInventory)tile; - } - } - - if(inventory != null) - { - for(EntityAnimal entityAnimal : animalList) - { - if(entityAnimal.isInLove() || entityAnimal.isChild() || entityAnimal.getGrowingAge() > 0) - { - continue; - } - - hasVirtus = hasVirtus && this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, false); - boolean hasLP = SoulNetworkHandler.canSyphonFromOnlyNetwork(owner, breedingCost); - - for(int i=0; i getRitualComponentList() - { - ArrayList animalGrowthRitual = new ArrayList(); - animalGrowthRitual.add(new RitualComponent(0, 0, 2, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(2, 0, 0, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, 2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(1, 0, -2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); - return animalGrowthRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java deleted file mode 100644 index 58977230..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java +++ /dev/null @@ -1,100 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectApiaryOverclock extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - World worldSave = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); - - if (data == null) - { - data = new LifeEssenceNetwork(owner); - worldSave.setItemData(owner, data); - } - - int currentEssence = data.currentEssence; - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - - if (currentEssence < this.getCostPerRefresh()) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { -// TileEntity tile = world.getTileEntity(x, y+1, z); -// -// try{ -// if(tile instanceof IBeeHousing && tile.getClass().getName().contains("Apiary")) -// { -// for (int i = 0; i < 10; i++) -// { -// PacketDispatcher.sendPacketToAllPlayers(TEAltar.getParticlePacket(x, y+1, z, (short) 3)); -// } -// -// for(int i=0; i<9; i++) -// { -// tile.updateEntity(); -// } -// -// data.currentEssence = currentEssence - this.getCostPerRefresh(); -// data.markDirty(); -// } -// }catch (Exception e) -// { -// -// } - - - } - - } - - @Override - public int getCostPerRefresh() - { - // TODO Auto-generated method stub - return 10; - } - - @Override - public List getRitualComponentList() - { - ArrayList apiaryRitual = new ArrayList(); - apiaryRitual.add(new RitualComponent(1,0,0, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(1,0,1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(1,0,-1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(-1,0,-1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(-1,0,1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(-1,0,0, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(0,0,-1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(0,0,1, RitualComponent.DUSK)); - return apiaryRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java deleted file mode 100644 index 29d8cd4a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java +++ /dev/null @@ -1,432 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; - -public class RitualEffectAutoAlchemy extends RitualEffect -{ - public static final boolean fillToOne = true; - - public static final int potentiaDrain = 2; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()*6) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - boolean hasPotentia = this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, false); - - int flag = 0; - - TileEntity topEntity = world.getTileEntity(x, y+1, z); - if(!(topEntity instanceof TEAltar)) - { - return; - } - - TEAltar tileAltar = (TEAltar)topEntity; - ItemStack targetStack = tileAltar.getStackInSlot(0); - if(targetStack == null) - { - return; - } - - ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(targetStack); - if(recipe!=null) - { - TEWritingTable alchemyEntity; - IInventory outputInv = null; - IInventory inputInv1 = null; - IInventory inputInv2 = null; - - TileEntity northEntity = world.getTileEntity(x,y,z-1); - TileEntity southEntity = world.getTileEntity(x,y,z+1); - TileEntity eastEntity = world.getTileEntity(x+1,y,z); - TileEntity westEntity = world.getTileEntity(x-1,y,z); - - if(northEntity instanceof TEWritingTable) - { - alchemyEntity = (TEWritingTable)northEntity; - if(southEntity instanceof IInventory && !(southEntity instanceof TEWritingTable)) - { - outputInv = (IInventory)southEntity; - } - if(eastEntity instanceof IInventory && !(eastEntity instanceof TEWritingTable)) - { - inputInv1 = (IInventory)eastEntity; - } - if(westEntity instanceof IInventory && !(westEntity instanceof TEWritingTable)) - { - inputInv2 = (IInventory)westEntity; - } - }else if(southEntity instanceof TEWritingTable) - { - alchemyEntity = (TEWritingTable)southEntity; - if(northEntity instanceof IInventory && !(northEntity instanceof TEWritingTable)) - { - outputInv = (IInventory)northEntity; - } - if(eastEntity instanceof IInventory && !(eastEntity instanceof TEWritingTable)) - { - inputInv1 = (IInventory)eastEntity; - } - if(westEntity instanceof IInventory && !(westEntity instanceof TEWritingTable)) - { - inputInv2 = (IInventory)westEntity; - } - }else if(eastEntity instanceof TEWritingTable) - { - alchemyEntity = (TEWritingTable)eastEntity; - if(westEntity instanceof IInventory && !(westEntity instanceof TEWritingTable)) - { - outputInv = (IInventory)westEntity; - } - if(northEntity instanceof IInventory && !(northEntity instanceof TEWritingTable)) - { - inputInv1 = (IInventory)northEntity; - } - if(southEntity instanceof IInventory && !(southEntity instanceof TEWritingTable)) - { - inputInv2 = (IInventory)southEntity; - } - }else if(westEntity instanceof TEWritingTable) - { - alchemyEntity = (TEWritingTable)westEntity; - if(eastEntity instanceof IInventory && !(eastEntity instanceof TEWritingTable)) - { - outputInv = (IInventory)eastEntity; - } - if(northEntity instanceof IInventory && !(northEntity instanceof TEWritingTable)) - { - inputInv1 = (IInventory)northEntity; - } - if(southEntity instanceof IInventory && !(southEntity instanceof TEWritingTable)) - { - inputInv2 = (IInventory)southEntity; - } - }else - { - return; - } - - if(alchemyEntity != null && hasPotentia) - { - alchemyEntity.setAccelerationTime(5); - if(alchemyEntity.isWorking()) - { - this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, true); - } - } - - if(outputInv!=null) - { - ItemStack outputStack = alchemyEntity.getStackInSlot(6); - if(outputStack!=null) - { - for(int i=0; i=(fillToOne ? 1 : alchStack.getMaxStackSize()))) - { - continue; - } - - for(int j=0;j=(fillToOne ? 1 : alchStack.getMaxStackSize()))) - { - continue; - } - - for(int j=0;j0) - { - world.markBlockForUpdate(x, y, z+1); - world.markBlockForUpdate(x, y, z-1); - world.markBlockForUpdate(x+1, y, z); - world.markBlockForUpdate(x-1, y, z); - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()*flag); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 10; - } - - @Override - public List getRitualComponentList() - { - ArrayList autoAlchemyRitual = new ArrayList(); - autoAlchemyRitual.add(new RitualComponent(1,0,1, RitualComponent.DUSK)); - autoAlchemyRitual.add(new RitualComponent(1,0,-1, RitualComponent.DUSK)); - autoAlchemyRitual.add(new RitualComponent(-1,0,-1, RitualComponent.DUSK)); - autoAlchemyRitual.add(new RitualComponent(-1,0,1, RitualComponent.DUSK)); - autoAlchemyRitual.add(new RitualComponent(2,0,2, RitualComponent.WATER)); - autoAlchemyRitual.add(new RitualComponent(2,0,-2, RitualComponent.WATER)); - autoAlchemyRitual.add(new RitualComponent(-2,0,-2, RitualComponent.WATER)); - autoAlchemyRitual.add(new RitualComponent(-2,0,2, RitualComponent.WATER)); - autoAlchemyRitual.add(new RitualComponent(-3,0,-2, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(-2,0,-3, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(-3,0,2, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(-2,0,3, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(3,0,-2, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(2,0,-3, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(3,0,2, RitualComponent.FIRE)); - autoAlchemyRitual.add(new RitualComponent(2,0,3, RitualComponent.FIRE)); - return autoAlchemyRitual; - } - - public boolean areItemStacksEqualWithWildcard(ItemStack recipeStack, ItemStack comparedStack) - { - return recipeStack.isItemEqual(comparedStack) || (recipeStack.getItemDamage() == OreDictionary.WILDCARD_VALUE && recipeStack.getItem() == comparedStack.getItem()); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java deleted file mode 100644 index bf3da6b7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java +++ /dev/null @@ -1,440 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.Chunk; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; - -public class RitualEffectBiomeChanger extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int cooldown = ritualStone.getCooldown(); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - if (cooldown > 0) - { - ritualStone.setCooldown(cooldown - 1); - - if (world.rand.nextInt(15) == 0) - { - world.addWeatherEffect(new EntityLightningBolt(world, x - 1 + world.rand.nextInt(3), y + 1, z - 1 + world.rand.nextInt(3))); - } - - return; - } - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - - - int range = 10; - - if (currentEssence < this.getCostPerRefresh()) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - boolean[][] boolList = new boolean[range * 2 + 1][range * 2 + 1]; - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - boolList[i][j] = false; - } - } - - boolList[range][range] = true; - boolean isReady = false; - - while (!isReady) - { - isReady = true; - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - if (boolList[i][j]) - { - if (i - 1 >= 0 && !boolList[i - 1][j]) - { - Block block = world.getBlock(x - range + i - 1, y + 1, z - range + j); - - if (!ModBlocks.largeBloodStoneBrick.equals(block) && !ModBlocks.bloodStoneBrick.equals(block)) - { - boolList[i - 1][j] = true; - isReady = false; - } - } - - if (j - 1 >= 0 && !boolList[i][j - 1]) - { - Block block = world.getBlock(x - range + i, y + 1, z - range + j - 1); - - if (!ModBlocks.largeBloodStoneBrick.equals(block) && !ModBlocks.bloodStoneBrick.equals(block)) - { - boolList[i][j - 1] = true; - isReady = false; - } - } - - if (i + 1 <= 2 * range && !boolList[i + 1][j]) - { - Block block = world.getBlock(x - range + i + 1, y + 1, z - range + j); - - if (!ModBlocks.largeBloodStoneBrick.equals(block) && !ModBlocks.bloodStoneBrick.equals(block)) - { - boolList[i + 1][j] = true; - isReady = false; - } - } - - if (j + 1 <= 2 * range && !boolList[i][j + 1]) - { - Block block = world.getBlock(x - range + i, y + 1, z - range + j + 1); - - if (!ModBlocks.largeBloodStoneBrick.equals(block) && !ModBlocks.bloodStoneBrick.equals(block)) - { - boolList[i][j + 1] = true; - isReady = false; - } - } - } - } - } - } - - float temperature = 0.5f; - float humidity = 0.5f; - float acceptableRange = 0.1f; - - for (int i = -1; i <= 1; i++) - { - for (int j = -1; j <= 1; j++) - { - if (i == 0 && j == 0) - { - continue; - } - - boolean isItemConsumed = false; - TileEntity tileEntity = world.getTileEntity(x + i, y, z + j); - - if (!(tileEntity instanceof TEPlinth)) - { - continue; - } - - TEPlinth tilePlinth = (TEPlinth) tileEntity; - ItemStack itemStack = tilePlinth.getStackInSlot(0); - - if (itemStack != null) - { - Item itemTest = itemStack.getItem(); - - if (itemTest != null) - { - if (itemTest instanceof ItemBlock) - { - Block item = ((ItemBlock)itemTest).field_150939_a; - if (item == (Blocks.sand)) - { - humidity -= 0.1f; - isItemConsumed = true; - } else if (item == (Blocks.lapis_block)) - { - humidity += 0.4f; - isItemConsumed = true; - } else if (item == (Blocks.sand)) - { - humidity -= 0.1f; - isItemConsumed = true; - } else if (item == (Blocks.sandstone)) - { - humidity -= 0.2f; - isItemConsumed = true; - } else if (item == (Blocks.netherrack)) - { - humidity -= 0.4f; - isItemConsumed = true; - } else if (item == (Blocks.coal_block)) - { - temperature += 0.2f; - isItemConsumed = true; - } else if (item == (Blocks.ice)) - { - temperature -= 0.4f; - isItemConsumed = true; - } else if (item == (Blocks.snow)) - { - temperature -= 0.2f; - isItemConsumed = true; - } - } else if (itemTest.equals(Items.dye) && itemStack.getItemDamage() == 4) - { - humidity += 0.1f; - isItemConsumed = true; - } else if (itemTest.equals(Items.lava_bucket)) - { - temperature += 0.4f; - isItemConsumed = true; - } else if (itemTest.equals(Items.water_bucket)) - { - humidity += 0.2f; - isItemConsumed = true; - } else if (itemTest.equals(Items.coal)) - { - temperature += 0.1f; - isItemConsumed = true; - } else if (itemTest.equals(Items.snowball)) - { - temperature -= 0.1f; - isItemConsumed = true; - } - } - } - - if (isItemConsumed) - { - tilePlinth.setInventorySlotContents(0, null); - world.markBlockForUpdate(x + i, y, z + j); - world.addWeatherEffect(new EntityLightningBolt(world, x + i, y + 1, z + j)); - } - } - } - - boolean wantsSnow = false; - boolean wantsRain = true; - int biomeID = 1; - BiomeGenBase[] biomeList = BiomeGenBase.getBiomeGenArray(); - int iteration = 0; - - for (BiomeGenBase biome : biomeList) - { - if (biome == null) - { - continue; - } - - float temp = biome.temperature; - float rainfall = biome.rainfall; - temperature = Math.min(2.0f, Math.max(0.0f, temperature)); - humidity = Math.min(2.0f, Math.max(0.0f, humidity)); - - if (Math.abs(rainfall - humidity) < acceptableRange && Math.abs(temperature - temp) < acceptableRange) - { - //if(biome.getEnableSnow()==wantsSnow) - { - biomeID = iteration; - break; - } - } - - iteration++; - } - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - //Testing of traversal of boolean matrix - if (boolList[i][j]) - { - Chunk chunk = world.getChunkFromBlockCoords(x - range + i, z - range + j); - byte[] byteArray = chunk.getBiomeArray(); - int moduX = (x - range + i) % 16; - int moduZ = (z - range + j) % 16; - - if (moduX < 0) - { - moduX = moduX + 16; - } - - if (moduZ < 0) - { - moduZ = moduZ + 16; - } - - byteArray[moduZ * 16 + moduX] = (byte) biomeID; - chunk.setBiomeArray(byteArray); - //world.setBlock(x-range+i, y+1, z-range+j, Block.blockClay); - } - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - ritualStone.setActive(false); - } - } - - @Override - public int getCostPerRefresh() - { - // TODO Auto-generated method stub - return 0; - } - - @Override - public int getInitialCooldown() - { - return 200; - } - - @Override - public List getRitualComponentList() - { - ArrayList biomeChangerRitual = new ArrayList(); - biomeChangerRitual.add(new RitualComponent(1, 0, -2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(1, 0, -3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(3, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(1, 0, 2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(1, 0, 3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(3, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(3, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, -5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(5, 0, -4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(3, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, 5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(5, 0, 4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-5, 0, -4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(0, 0, -5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(1, 0, -6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(0, 0, -8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(1, 0, -8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(0, 0, -10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(1, 0, -10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(0, 0, 5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(1, 0, 6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(0, 0, 8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(1, 0, 8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(0, 0, 10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(1, 0, 10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-6, 0, -1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-6, 0, 1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-8, 0, -1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 0, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-10, 0, -1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-10, 0, 0, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-10, 0, 1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(5, 0, 0, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(6, 0, -1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(6, 0, 1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(8, 0, -1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(8, 0, 0, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(8, 0, 1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(10, 0, -1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(10, 0, 0, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(10, 0, 1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(6, 0, -6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(6, 0, -7, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(7, 0, -6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(7, 0, -5, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(5, 0, -7, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(8, 0, -5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(8, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(9, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(5, 0, -8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(4, 0, -8, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, -9, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-6, 0, 6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-6, 0, 7, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-7, 0, 6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-7, 0, 5, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 7, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-9, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 8, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 9, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(6, 0, 6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(6, 0, 7, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(7, 0, 6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(7, 0, 5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(5, 0, 7, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(8, 0, 5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(8, 0, 4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(9, 0, 4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(5, 0, 8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(4, 0, 8, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(4, 0, 9, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-6, 0, -6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-6, 0, -7, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-7, 0, -6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-7, 0, -5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-5, 0, -7, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-8, 0, -5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, -4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-9, 0, -4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-5, 0, -8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -8, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -9, RitualComponent.WATER)); - return biomeChangerRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java deleted file mode 100644 index 99b04e9a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java +++ /dev/null @@ -1,133 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.ReflectionHelper; - -public class RitualEffectContainment extends RitualEffect -{ - public static final String[] TIME_SINCE_IGNITED = new String[] { "timeSinceIgnited", "field_70833_d", "bq" }; - public static final int crepitousDrain = 1; - public static final int terraeDrain = 3; - public static final int magicalesDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int d0 = 5; - List entityList = SpellHelper.getEntitiesInRange(world, x+0.5, y+0.5, z+0.5, d0, d0); - boolean flag = false; - boolean hasCrepitous = this.canDrainReagent(ritualStone, ReagentRegistry.crepitousReagent, crepitousDrain, false); - boolean hasTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - boolean hasMagicales = this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, false); - - for(Entity entity : entityList) - { - if(!(entity instanceof EntityLivingBase)) - { - continue; - } - - EntityLivingBase livingEntity = (EntityLivingBase)entity; - - if (livingEntity instanceof EntityPlayer) - { - continue; - } - - - double xDif = livingEntity.posX - (x + 0.5); - double yDif = livingEntity.posY - (y + 3); - double zDif = livingEntity.posZ - (z + 0.5); - livingEntity.motionX = -0.05 * xDif; - livingEntity.motionY = -0.05 * yDif; - livingEntity.motionZ = -0.05 * zDif; - flag = true; - - livingEntity.fallDistance = 0; - - if(hasMagicales && this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, false)) - { - if(!livingEntity.isPotionActive(AlchemicalWizardry.customPotionPlanarBinding)) - { - livingEntity.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionPlanarBinding.id,100,0)); - this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, true); - } - } - - if(hasCrepitous && this.canDrainReagent(ritualStone, ReagentRegistry.crepitousReagent, crepitousDrain, false)) - { - if(entity instanceof EntityCreeper) - { - ReflectionHelper.setPrivateValue(EntityCreeper.class, (EntityCreeper) entity, 2, TIME_SINCE_IGNITED); - ((EntityCreeper)entity).setAttackTarget(null); - this.canDrainReagent(ritualStone, ReagentRegistry.crepitousReagent, crepitousDrain, true); - } - } - } - - if (world.getWorldTime() % 2 == 0 && flag) - { - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 1; - } - - @Override - public List getRitualComponentList() - { - ArrayList containmentRitual = new ArrayList(); - containmentRitual.add(new RitualComponent(1, 0, 0, 3)); - containmentRitual.add(new RitualComponent(-1, 0, 0, 3)); - containmentRitual.add(new RitualComponent(0, 0, 1, 3)); - containmentRitual.add(new RitualComponent(0, 0, -1, 3)); - containmentRitual.add(new RitualComponent(2, 0, 2, 3)); - containmentRitual.add(new RitualComponent(2, 0, -2, 3)); - containmentRitual.add(new RitualComponent(-2, 0, 2, 3)); - containmentRitual.add(new RitualComponent(-2, 0, -2, 3)); - containmentRitual.add(new RitualComponent(1, 5, 0, 3)); - containmentRitual.add(new RitualComponent(-1, 5, 0, 3)); - containmentRitual.add(new RitualComponent(0, 5, 1, 3)); - containmentRitual.add(new RitualComponent(0, 5, -1, 3)); - containmentRitual.add(new RitualComponent(2, 5, 2, 3)); - containmentRitual.add(new RitualComponent(2, 5, -2, 3)); - containmentRitual.add(new RitualComponent(-2, 5, 2, 3)); - containmentRitual.add(new RitualComponent(-2, 5, -2, 3)); - return containmentRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java deleted file mode 100644 index 2b7a4643..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java +++ /dev/null @@ -1,353 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectCrushing extends RitualEffect -{ - public static final int crystallosDrain = 10; - public static final int orbisTerraeDrain = 10; - public static final int potentiaDrain = 10; - public static final int virtusDrain = 10; - public static final int incendiumDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - - if (world.getWorldTime() % 10 != 5) - { - return; - } - - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - TileEntity tile = world.getTileEntity(x, y + 1, z); - IInventory tileEntity; - - if (tile instanceof IInventory) - { - tileEntity = (IInventory) tile; - } else - { - return; - } - - if (tileEntity.getSizeInventory() <= 0) - { - return; - } - - boolean hasRoom = false; - for(int i=0; i 0) - { - world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); - //flag=true; - } - - if(hasCrystallos) - { - this.canDrainReagent(ritualStone, ReagentRegistry.crystallosReagent, crystallosDrain, true); - } - } - else - { - ArrayList itemDropList = block.getDrops(world, x + i, y + j, z + k, meta, fortuneLevel); - - if (itemDropList != null) - { - int invSize = tileEntity.getSizeInventory(); - - for (ItemStack item : itemDropList) - { - hasIncendium = hasIncendium && this.canDrainReagent(ritualStone, ReagentRegistry.incendiumReagent, incendiumDrain, false); - ItemStack copyStack = item.copyItemStack(item); - - if(this.usesIncendium(copyStack)) - { - copyStack = this.transformToNewItem(copyStack, hasIncendium, false); - this.canDrainReagent(ritualStone, ReagentRegistry.incendiumReagent, incendiumDrain, true); - } - - SpellHelper.insertStackIntoInventory(copyStack, tileEntity); - -// for (int n = 0; n < invSize; n++) -// { -// if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) -// { -// ItemStack itemStack = tileEntity.getStackInSlot(n); -// -// if (itemStack == null) -// { -// tileEntity.setInventorySlotContents(n, item); -// copyStack.stackSize = 0; -// } else -// { -// if (itemStack.getItem().equals(copyStack.getItem()) && itemStack.getItemDamage() == copyStack.getItemDamage()) -// { -// int itemSize = itemStack.stackSize; -// int copySize = copyStack.stackSize; -// int maxSize = itemStack.getMaxStackSize(); -// -// if (copySize + itemSize < maxSize) -// { -// copyStack.stackSize = 0; -// itemStack.stackSize = itemSize + copySize; -// tileEntity.setInventorySlotContents(n, itemStack); -// } else -// { -// copyStack.stackSize = itemSize + copySize - maxSize; -// itemStack.stackSize = maxSize; -// } -// } -// } -// } -// } - - if (copyStack.stackSize > 0) - { - world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); - //flag=true; - } - - if(hasOrbisTerrae){this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, true);} - if(hasPotentia){this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, true);} - if(hasVirtus){this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, true);} - } - } - - } - - //if(flag) - world.setBlockToAir(x + i, y + j, z + k); - world.playSoundEffect(x + i, y + j, z + k, "mob.endermen.portal", 1.0F, 1.0F); - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - - return; - } - } - } - } - } - } - - private boolean usesIncendium(ItemStack stack) - { - if(stack != null) - { - Item item = stack.getItem(); - if(item instanceof ItemBlock) - { - Block block = ((ItemBlock)item).field_150939_a; - - if(block == Blocks.cobblestone || block == Blocks.stone) - { - return true; - } - }else - { - - } - } - return false; - } - - private ItemStack transformToNewItem(ItemStack stack, boolean hasIncendium, boolean hasCrepitous) - { - if(stack != null) - { - ItemStack copyStack = ItemStack.copyItemStack(stack); - int stackSize = copyStack.stackSize; - - Item item = stack.getItem(); - if(item instanceof ItemBlock) - { - Block block = ((ItemBlock)item).field_150939_a; - - if(hasIncendium) - { - if(block == Blocks.cobblestone || block == Blocks.stone) - { - copyStack = new ItemStack(Blocks.netherrack, stackSize, 0); - } - } - }else - { - - } - - return copyStack; - } - return stack; - } - - public boolean isSilkTouch(World world, int x, int y, int z) - { - int index = 0; - for(int i=-2; i<=2; i++) - { - for(int j=-2; j<=2; j++) - { - int index1 = Math.abs(i); - int index2 = Math.abs(j); - - if((index1 == 2 && (index2 == 2 || index2 == 1)) || (index1 == 1 && index2 == 2)) - { - Block block = world.getBlock(x + i, y + 1, z + j); - if(block == Blocks.gold_block) - { - index++; - } - } - } - } - - return index>=12; - } - - public int getFortuneLevel(World world, int x, int y, int z) - { - int index = 0; - for(int i=-2; i<=2; i++) - { - for(int j=-2; j<=2; j++) - { - int index1 = Math.abs(i); - int index2 = Math.abs(j); - - if((index1 == 2 && (index2 == 2 || index2 == 1)) || (index1 == 1 && index2 == 2)) - { - Block block = world.getBlock(x + i, y + 1, z + j); - if(block == Blocks.emerald_block || block == Blocks.diamond_block) - { - index++; - } - } - } - } - - if(index>=12) - { - return 3; - }else if(index>=8) - { - return 2; - }else if(index>=4) - { - return 1; - } - - return 0; - } - - @Override - public int getCostPerRefresh() - { - return 7; - } - - @Override - public List getRitualComponentList() - { - ArrayList crushingRitual = new ArrayList(); - crushingRitual.add(new RitualComponent(0, 0, 1, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(1, 0, 0, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(0, 0, -1, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(2, 0, 0, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(0, 0, 2, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(0, 0, -2, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(2, 0, 2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(2, 0, -2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(2, 1, 0, RitualComponent.AIR)); - crushingRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.AIR)); - crushingRitual.add(new RitualComponent(0, 1, 2, RitualComponent.AIR)); - crushingRitual.add(new RitualComponent(0, 1, -2, RitualComponent.AIR)); - return crushingRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectEllipsoid.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectEllipsoid.java deleted file mode 100644 index ec6c24ef..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectEllipsoid.java +++ /dev/null @@ -1,167 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; - -public class RitualEffectEllipsoid extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - TileEntity tile = world.getTileEntity(x, y+1, z); - - if(!(tile instanceof IInventory) || ((IInventory)tile).getSizeInventory() < 3) - { - return; - } - - ItemStack item1 = ((IInventory) tile).getStackInSlot(0); - ItemStack item2 = ((IInventory) tile).getStackInSlot(1); - ItemStack item3 = ((IInventory) tile).getStackInSlot(2); - - int xSize = item1 == null ? 0 : item1.stackSize; - int ySize = item2 == null ? 0 : item2.stackSize; - int zSize = item3 == null ? 0 : item3.stackSize; - - int cost = (int)Math.pow((xSize+1)*(ySize+1)*(zSize+1),0.333); - - if (currentEssence < cost) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - //if(tile instanceof IInventory) - { - int refresh = 1000; - - int j = (int)(world.getWorldTime()%(ySize*2+1)) - ySize; - - for (int i = -xSize; i <= xSize; i++) - { -// for (int j = -ySize; j <= ySize; j++) - { - for(int k = -zSize; k <= zSize; k++) - { - if (Math.pow(i*(ySize - 0.50f)*(zSize - 0.50f),2) + Math.pow(j*(xSize - 0.50f)*(zSize - 0.50f),2) + Math.pow(k*(xSize - 0.50f)*(ySize - 0.50f),2) <= Math.pow((xSize - 1 + 0.50f)*(ySize - 1 + 0.50f)*(zSize - 1 + 0.50f), 2)) - { - continue; - } - - if (Math.pow(i*(ySize + 0.50f)*(zSize + 0.50f),2) + Math.pow(j*(xSize + 0.50f)*(zSize + 0.50f),2) + Math.pow(k*(xSize + 0.50f)*(ySize + 0.50f),2) >= Math.pow((xSize + 0.50f)*(ySize + 0.50f)*(zSize + 0.50f), 2)) - { - continue; - } - - Block block = world.getBlock(x+i, y+j, z+k); - - if(block.isAir(world, x+i, y+j, z+k)) - { - //world.setBlock(x+i, y+j, z+k, Blocks.stone); - TESpectralBlock.createSpectralBlockAtLocation(world, x+i, y+j, z+k, refresh); - } - else - { - TileEntity tile1 = world.getTileEntity(x+i, y+j, z+k); - if(tile instanceof TESpectralBlock) - { - ((TESpectralBlock) tile1).resetDuration(refresh); - } - } - } - } - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, cost); - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public List getRitualComponentList() - { - ArrayList ellipsoidRitual = new ArrayList(); - - ellipsoidRitual.add(new RitualComponent(-1,0,-1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-1,0,1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(1,0,-1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(1,0,1,RitualComponent.DUSK)); - - ellipsoidRitual.add(new RitualComponent(4,0,0,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(5,0,0,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(5,0,-1,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(5,0,-2,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(-4,0,0,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(-5,0,0,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(-5,0,1,RitualComponent.FIRE)); - ellipsoidRitual.add(new RitualComponent(-5,0,2,RitualComponent.FIRE)); - - ellipsoidRitual.add(new RitualComponent(0,0,4,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(0,0,5,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(1,0,5,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(2,0,5,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(0,0,-4,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(0,0,-5,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(-1,0,-5,RitualComponent.AIR)); - ellipsoidRitual.add(new RitualComponent(-2,0,-5,RitualComponent.AIR)); - - ellipsoidRitual.add(new RitualComponent(3,0,1,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(3,0,2,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(3,0,3,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(2,0,3,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(-3,0,-1,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(-3,0,-2,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(-3,0,-3,RitualComponent.EARTH)); - ellipsoidRitual.add(new RitualComponent(-2,0,-3,RitualComponent.EARTH)); - - ellipsoidRitual.add(new RitualComponent(1,0,-3,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(2,0,-3,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(3,0,-3,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(3,0,-2,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(-1,0,3,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(-2,0,3,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(-3,0,3,RitualComponent.WATER)); - ellipsoidRitual.add(new RitualComponent(-3,0,2,RitualComponent.WATER)); - - return ellipsoidRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectEvaporation.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectEvaporation.java deleted file mode 100644 index 9392e863..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectEvaporation.java +++ /dev/null @@ -1,258 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.MaterialLiquid; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.Int3; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralBlock; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; - -public class RitualEffectEvaporation extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < 0) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - Block block1 = world.getBlock(x, y-1, z); - int range = this.getRadiusForModifierBlock(block1); - - boolean[][][] boolList = new boolean[range * 2 + 1][range * 2 + 1][range * 2 + 1]; - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - for(int k = 0; k < 2 * range + 1; k++) - { - boolList[i][j][k] = false; - } - } - } - - boolList[range][range][range] = true; - boolean isReady = false; - - while (!isReady) - { - isReady = true; - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - for(int k=0; k<2*range+1;k++) - { - if (boolList[i][j][k]) - { - if (i - 1 >= 0 && !boolList[i - 1][j][k]) - { - Block block = world.getBlock(x - range + i - 1, y - range + j, z - range + k); - if(world.isAirBlock(x - range + i - 1, y - range + j, z - range + k) || block == ModBlocks.blockSpectralContainer) - { - boolList[i - 1][j][k] = true; - isReady = false; - } - } - - if (j - 1 >= 0 && !boolList[i][j - 1][k]) - { - Block block = world.getBlock(x - range + i, y - range + j - 1, z - range + k); - if(world.isAirBlock(x - range + i, y - range + j - 1, z - range + k) || block == ModBlocks.blockSpectralContainer) - { - boolList[i][j - 1][k] = true; - isReady = false; - } - } - - if(k - 1 >=0 && !boolList[i][j][k - 1]) - { - Block block = world.getBlock(x - range + i, y - range + j, z - range + k - 1); - if(world.isAirBlock(x - range + i, y - range + j, z - range + k - 1) || block == ModBlocks.blockSpectralContainer) - { - boolList[i][j][k - 1] = true; - isReady = false; - } - } - - if (i + 1 <= 2 * range && !boolList[i + 1][j][k]) - { - Block block = world.getBlock(x - range + i + 1, y - range + j, z - range + k); - if(world.isAirBlock(x - range + i + 1, y - range + j, z - range + k) || block == ModBlocks.blockSpectralContainer) - { - boolList[i + 1][j][k] = true; - isReady = false; - } - } - - if (j + 1 <= 2 * range && !boolList[i][j + 1][k]) - { - Block block = world.getBlock(x - range + i, y - range + j + 1, z - range + k); - if(world.isAirBlock(x - range + i, y - range + j + 1, z - range + k) || block == ModBlocks.blockSpectralContainer) - { - boolList[i][j + 1][k] = true; - isReady = false; - } - } - - if(k + 1 <= 2*range && !boolList[i][j][k+1]) - { - Block block = world.getBlock(x - range + i, y - range + j, z - range + k + 1); - if(world.isAirBlock(x - range + i, y - range + j, z - range + k + 1) || block == ModBlocks.blockSpectralContainer) - { - boolList[i][j][k+1] = true; - isReady = false; - } - } - } - } - } - } - } - - for (int i = 0; i < 2 * range + 1; i++) - { - for (int j = 0; j < 2 * range + 1; j++) - { - for(int k=0; k<2*range+1;k++) - { - if(!boolList[i][j][k]) - { - continue; - } - - Block block = world.getBlock(x+i-range, y+j-range, z+k-range); - - if(block == ModBlocks.blockSpectralContainer) - { - world.setBlockToAir(x+i-range, y+j-range, z+k-range); - } - } - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - - ritualStone.setActive(false); - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public List getRitualComponentList() - { - ArrayList ellipsoidRitual = new ArrayList(); - - ellipsoidRitual.add(new RitualComponent(-1,0,-1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-1,0,1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(1,0,-1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(1,0,1,RitualComponent.DUSK)); - - ellipsoidRitual.add(new RitualComponent(4,0,0,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(5,0,0,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(5,0,-1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(5,0,-2,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-4,0,0,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-5,0,0,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-5,0,1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-5,0,2,RitualComponent.DUSK)); - - ellipsoidRitual.add(new RitualComponent(0,0,4,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(0,0,5,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(1,0,5,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(2,0,5,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(0,0,-4,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(0,0,-5,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-1,0,-5,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-2,0,-5,RitualComponent.DUSK)); - - ellipsoidRitual.add(new RitualComponent(3,0,1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(3,0,2,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(3,0,3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(2,0,3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-3,0,-1,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-3,0,-2,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-3,0,-3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-2,0,-3,RitualComponent.DUSK)); - - ellipsoidRitual.add(new RitualComponent(1,0,-3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(2,0,-3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(3,0,-3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(3,0,-2,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-1,0,3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-2,0,3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-3,0,3,RitualComponent.DUSK)); - ellipsoidRitual.add(new RitualComponent(-3,0,2,RitualComponent.DUSK)); - - return ellipsoidRitual; - } - - public int getRadiusForModifierBlock(Block block) - { - if(block == null) - { - return 10; - } - - if(block == Blocks.diamond_block) - { - return 30; - } - - if(block == Blocks.gold_block) - { - return 20; - } - - if(block == Blocks.iron_block) - { - return 15; - } - - return 10; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectExpulsion.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectExpulsion.java deleted file mode 100644 index 08f3c2da..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectExpulsion.java +++ /dev/null @@ -1,345 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.EnderTeleportEvent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.simple.SpellTeleport; - -public class RitualEffectExpulsion extends RitualEffect -{ - public static final int virtusDrain = 10; - public static final int potentiaDrain = 10; - public static final int tennebraeDrain = 5; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - boolean hasVirtus = this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, false); - boolean hasPotentia = this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, false); - - int teleportDistance = hasVirtus ? 300 : 100; - int range = hasPotentia ? 50 : 25; - List playerList = SpellHelper.getPlayersInRange(world, x + 0.5, y + 0.5, z + 0.5, range, range); - boolean flag = false; - - TileEntity tile = world.getTileEntity(x, y+1, z); - IInventory inventoryTile = null; - if(tile instanceof IInventory) - { - inventoryTile = (IInventory)tile; - } - - for(EntityPlayer entityplayer : playerList) - { - String playerString = SpellHelper.getUsername(entityplayer); - if (!playerString.equals(owner)) - { - if(inventoryTile != null) - { - for(int i=0; i livingList = SpellHelper.getLivingEntitiesInRange(world, x + 0.5, y + 0.5, z + 0.5, range, range); - boolean flag = false; - - for(EntityLivingBase livingEntity : livingList) - { - if(livingEntity instanceof EntityPlayer) - { - continue; - } - - flag = teleportRandomly(livingEntity, teleportDistance) || flag; - } - - if(flag) - { - if(hasVirtus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, true); - } - - if(hasPotentia) - { - this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, true); - } - - this.canDrainReagent(ritualStone, ReagentRegistry.tenebraeReagent, tennebraeDrain, true); - - SoulNetworkHandler.syphonFromNetwork(owner, 1000); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 1000; - } - - public boolean teleportRandomly(EntityLivingBase entityLiving, double distance) - { - double x = entityLiving.posX; - double y = entityLiving.posY; - double z = entityLiving.posZ; - Random rand = new Random(); - double d0 = x + (rand.nextDouble() - 0.5D) * distance; - double d1 = y + (double) (rand.nextInt((int) distance) - (distance) / 2); - double d2 = z + (rand.nextDouble() - 0.5D) * distance; - int i = 0; - - while (!teleportTo(entityLiving, d0, d1, d2, x, y, z) && i < 100) - { - d0 = x + (rand.nextDouble() - 0.5D) * distance; - d1 = y + (double) (rand.nextInt((int) distance) - (distance) / 2); - d2 = z + (rand.nextDouble() - 0.5D) * distance; - i++; - } - - if (i >= 100) - { - return false; - } - - return true; - //return SpellTeleport.teleportTo(entityLiving, d0, d1, d2,x,y,z); - } - - public boolean teleportTo(EntityLivingBase entityLiving, double par1, double par3, double par5, double lastX, double lastY, double lastZ) - { - EnderTeleportEvent event = new EnderTeleportEvent(entityLiving, par1, par3, par5, 0); - - if (MinecraftForge.EVENT_BUS.post(event)) - { - return false; - } - - double d3 = lastX; - double d4 = lastY; - double d5 = lastZ; - SpellTeleport.moveEntityViaTeleport(entityLiving, event.targetX, event.targetY, event.targetZ); - boolean flag = false; - int i = MathHelper.floor_double(entityLiving.posX); - int j = MathHelper.floor_double(entityLiving.posY); - int k = MathHelper.floor_double(entityLiving.posZ); - int l; - - if (entityLiving.worldObj.blockExists(i, j, k)) - { - boolean flag1 = false; - - while (!flag1 && j > 0) - { - Block block = entityLiving.worldObj.getBlock(i, j - 1, k); - - if (block != null && block.getMaterial().blocksMovement()) - { - flag1 = true; - } else - { - --entityLiving.posY; - --j; - } - } - - if (flag1) - { - SpellTeleport.moveEntityViaTeleport(entityLiving, entityLiving.posX, entityLiving.posY, entityLiving.posZ); - - if (entityLiving.worldObj.getCollidingBoundingBoxes(entityLiving, entityLiving.boundingBox).isEmpty() && !entityLiving.worldObj.isAnyLiquid(entityLiving.boundingBox)) - { - flag = true; - } - } - } - - if (!flag) - { - SpellTeleport.moveEntityViaTeleport(entityLiving, d3, d4, d5); - return false; - } else - { - short short1 = 128; - - for (l = 0; l < short1; ++l) - { - double d6 = (double) l / ((double) short1 - 1.0D); - float f = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; - float f1 = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; - float f2 = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; - double d7 = d3 + (entityLiving.posX - d3) * d6 + (entityLiving.worldObj.rand.nextDouble() - 0.5D) * (double) entityLiving.width * 2.0D; - double d8 = d4 + (entityLiving.posY - d4) * d6 + entityLiving.worldObj.rand.nextDouble() * (double) entityLiving.height; - double d9 = d5 + (entityLiving.posZ - d5) * d6 + (entityLiving.worldObj.rand.nextDouble() - 0.5D) * (double) entityLiving.width * 2.0D; - entityLiving.worldObj.spawnParticle("portal", d7, d8, d9, (double) f, (double) f1, (double) f2); - } - -// this.worldObj.playSoundEffect(d3, d4, d5, "mob.endermen.portal", 1.0F, 1.0F); -// this.playSound("mob.endermen.portal", 1.0F, 1.0F); - return true; - } - } - - public void moveEntityViaTeleport(EntityLivingBase entityLiving, double x, double y, double z) - { - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving != null && entityLiving instanceof EntityPlayerMP) - { - EntityPlayerMP entityplayermp = (EntityPlayerMP) entityLiving; - - if (entityplayermp.worldObj == entityLiving.worldObj) - { - EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, x, y, z, 5.0F); - - if (!MinecraftForge.EVENT_BUS.post(event)) - { - if (entityLiving.isRiding()) - { - entityLiving.mountEntity((Entity) null); - } - - entityLiving.setPositionAndUpdate(event.targetX, event.targetY, event.targetZ); -// this.getThrower().fallDistance = 0.0F; -// this.getThrower().attackEntityFrom(DamageSource.fall, event.attackDamage); - } - } - } - } else if (entityLiving != null) - { - entityLiving.setPosition(x, y, z); - } - } - - @Override - public List getRitualComponentList() - { - ArrayList expulsionRitual = new ArrayList(); - expulsionRitual.add(new RitualComponent(2,0,2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(2,0,1, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(1,0,2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(2,0,-2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(2,0,-1, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-1,0,2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-2,0,2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-2,0,1, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(1,0,-2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-2,0,-2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-2,0,-1, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-1,0,-2, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(4,0,2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(5,0,2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(4,0,-2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(5,0,-2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-4,0,2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-5,0,2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-4,0,-2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-5,0,-2, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(2,0,4, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(2,0,5, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-2,0,4, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-2,0,5, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(2,0,-4, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(2,0,-5, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-2,0,-4, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(-2,0,-5, RitualComponent.AIR)); - expulsionRitual.add(new RitualComponent(0,0,6, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(0,0,-6, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(6,0,0, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-6,0,0, RitualComponent.EARTH)); - expulsionRitual.add(new RitualComponent(-5,0,0, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(-6,0,1, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(-6,0,-1, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(5,0,0, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(6,0,1, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(6,0,-1, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(0,0,5, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(1,0,6, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(-1,0,6, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(0,0,-5, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(1,0,-6, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(-1,0,-6, RitualComponent.DUSK)); - expulsionRitual.add(new RitualComponent(4,0,4, RitualComponent.FIRE)); - expulsionRitual.add(new RitualComponent(4,0,-4, RitualComponent.FIRE)); - expulsionRitual.add(new RitualComponent(-4,0,4, RitualComponent.FIRE)); - expulsionRitual.add(new RitualComponent(-4,0,-4, RitualComponent.FIRE)); - return expulsionRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java deleted file mode 100644 index d20906f5..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java +++ /dev/null @@ -1,177 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fall damage in the area of effect -{ - public static final int terraeDrain = 1; - public static final int orbisTerraeDrain = 1; - public static final int aetherDrain = 1; - - public static final int costCooldown = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (ritualStone.getCooldown() > 0) - { - world.addWeatherEffect(new EntityLightningBolt(world, x + 4, y + 5, z + 4)); - world.addWeatherEffect(new EntityLightningBolt(world, x + 4, y + 5, z - 4)); - world.addWeatherEffect(new EntityLightningBolt(world, x - 4, y + 5, z - 4)); - world.addWeatherEffect(new EntityLightningBolt(world, x - 4, y + 5, z + 4)); - ritualStone.setCooldown(0); - } - - boolean hasTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - boolean hasOrbisTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, false); - boolean hasAether = this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - - int range = this.getHorizontalRangeForReagent(hasTerrae, hasOrbisTerrae); - int verticalRange = hasAether ? 60 : 30; - List entities = world.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(range, verticalRange, range)); - int entityCount = 0; - boolean flag = false; - - for (EntityLivingBase entity : entities) - { - entityCount++; - } - - if (currentEssence < this.getCostPerRefresh() * entityCount) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - for (EntityLivingBase entity : entities) - { - entity.fallDistance = 0; - flag = true; - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * entityCount); - - if(flag && world.getWorldTime() % costCooldown == 0) - { - if(hasTerrae) - { - this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, true); - } - if(hasOrbisTerrae) - { - this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, true); - } - if(hasAether) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, true); - } - } - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public int getInitialCooldown() - { - return 1; - } - - @Override - public List getRitualComponentList() - { - ArrayList featheredEarthRitual = new ArrayList(); - featheredEarthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(2, 0, 2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(2, 0, -2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(1, 0, 3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(0, 0, 3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(1, 0, -3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(0, 0, -3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(3, 0, 1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(3, 0, 0, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(3, 0, -1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(4, 4, 4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(-4, 4, 4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(-4, 4, -4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(4, 4, -4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(4, 5, 5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(4, 5, 3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(5, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(3, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, 5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, 3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-5, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-3, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(4, 5, -5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(4, 5, -3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(5, 5, -4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(3, 5, -4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, -5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, -3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-5, 5, -4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-3, 5, -4, RitualComponent.AIR)); - return featheredEarthRitual; - } - - public int getHorizontalRangeForReagent(boolean hasTerrae, boolean hasOrbisTerrae) - { - if(hasOrbisTerrae) - { - if(hasTerrae) - { - return 64; - }else - { - return 45; - } - }else - { - if(hasTerrae) - { - return 30; - }else - { - return 20; - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java deleted file mode 100644 index ba8d6782..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java +++ /dev/null @@ -1,189 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; - -public class RitualEffectFeatheredKnife extends RitualEffect -{ - public final int amount = 100; - - public static final int sanctusDrain = 5; - public static final int reductusDrain = 3; - public static final int magicalesDrain = 2; - public static final int potentiaDrain = 5; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - boolean hasPotentia = this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, false); - - int timeDelay = hasPotentia ? 10 : 20; - - if (world.getWorldTime() % timeDelay != 0) - { - return; - } - - TEAltar tileAltar = null; - boolean testFlag = false; - - for (int i = -5; i <= 5; i++) - { - for (int j = -5; j <= 5; j++) - { - for (int k = -10; k <= 10; k++) - { - if (world.getTileEntity(x + i, y + k, z + j) instanceof TEAltar) - { - tileAltar = (TEAltar) world.getTileEntity(x + i, y + k, z + j); - testFlag = true; - } - } - } - } - - if (!testFlag) - { - return; - } - - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - - double range = hasReductus ? 8 : 15; - double vertRange = hasReductus ? 8 : 20; - List list = SpellHelper.getPlayersInRange(world, x+0.5, y+0.5, z+0.5, range, vertRange); - - int entityCount = 0; - boolean flag = false; - - if (currentEssence < this.getCostPerRefresh() * list.size()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - boolean hasMagicales = this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, false); - boolean hasSanctus = this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - - EntityPlayer ownerPlayer = SpellHelper.getPlayerForUsername(owner); - for(EntityPlayer player : list) - { - hasSanctus = hasSanctus && this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - double threshold = hasSanctus ? 0.7d : 0.3d; - - if((hasMagicales && player == ownerPlayer) || !hasMagicales) - { - if (!SpellHelper.isFakePlayer(world, player)) - { - if (player.getHealth()/player.getMaxHealth() > threshold) - { - player.setHealth(player.getHealth() - 1); - entityCount++; - tileAltar.sacrificialDaggerCall(this.amount, false); - if(hasSanctus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, true); - } - if(hasMagicales) - { - this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, true); - break; - } - } - } - } - } - - if(entityCount > 0) - { - if(hasReductus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - if(hasPotentia) - { - this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, true); - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * entityCount); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 20; - } - - @Override - public List getRitualComponentList() - { - ArrayList featheredKnifeRitual = new ArrayList(); - featheredKnifeRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(2, -1, 0, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(-2, -1, 0, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(0, -1, 2, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(0, -1, -2, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(1, -1, 1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(1, -1, -1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-1, -1, 1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-1, -1, -1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(4, -1, 2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(2, -1, 4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-4, -1, 2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(2, -1, -4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(4, -1, -2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-2, -1, 4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-4, -1, -2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-2, -1, -4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(4, 0, 2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(2, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, 2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(2, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(4, 0, -2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-2, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, -2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-2, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(3, 0, 3, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(3, 0, -3, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.AIR)); - return featheredKnifeRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java deleted file mode 100644 index ae4031d8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java +++ /dev/null @@ -1,186 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectFlight extends RitualEffect -{ - public static final int aetherDrain = 10; - public static final int reductusDrain = 5; - public static final int reagentCooldown = 50; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - int range = 20; - int verticalRange = 30; - AxisAlignedBB axis = AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(range, verticalRange, range); - axis.maxY = 256; - axis.minY = 0; - List entities = world.getEntitiesWithinAABB(EntityPlayer.class, axis); - int entityCount = 0; - - boolean hasAether = this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - - for (EntityPlayer entity : entities) - { - entityCount++; - } - - if (currentEssence < this.getCostPerRefresh() * entityCount) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - entityCount = 0; - EntityPlayer ownerEntity = SpellHelper.getPlayerForUsername(owner); - for (EntityPlayer entity : entities) - { - if(hasReductus && entity != ownerEntity) - { - continue; - } - entity.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionFlight.id, hasAether ? 30*20 : 20, 0)); - entityCount ++; - } - - if(entityCount > 0 && world.getWorldTime() % reagentCooldown == 0) - { - if(hasAether) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, true); - } - if(hasReductus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * entityCount); - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public int getInitialCooldown() - { - return 1; - } - - @Override - public List getRitualComponentList() - { - ArrayList flightRitual = new ArrayList(); - flightRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(2, 0, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(2, 0, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(1, 0, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 0, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(1, 0, -3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 0, -3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(3, 0, 1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(3, 0, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(3, 0, -1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(4, 0, -3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(3, 0, -4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(3, 0, 4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(4, 0, 3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-1, 1, 0, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(1, 1, 0, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(0, 1, -1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(0, 1, 1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(2, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, -2, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, 2, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(-4, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(4, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, -4, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, 4, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(-5, 1, 0, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(5, 1, 0, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(0, 1, -5, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(0, 1, 5, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(5, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, 5, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, -5, RitualComponent.DUSK)); - - for (int i = 2; i <= 4; i++) - { - flightRitual.add(new RitualComponent(-i, 2, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(i, 2, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 2, -i, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 2, i, RitualComponent.EARTH)); - } - - flightRitual.add(new RitualComponent(2, 4, 1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(1, 4, 2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-2, 4, 1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(1, 4, -2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(2, 4, -1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-1, 4, 2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-2, 4, -1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-1, 4, -2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(2, 4, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 4, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(2, 4, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 4, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-4, 2, -4, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(4, 2, 4, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(4, 2, -4, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-4, 2, 4, RitualComponent.FIRE)); - - for (int i = -1; i <= 1; i++) - { - flightRitual.add(new RitualComponent(3, 4, i, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 4, i, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(i, 4, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(i, 4, -3, RitualComponent.EARTH)); - } - return flightRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java deleted file mode 100644 index 2753a118..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java +++ /dev/null @@ -1,147 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.FoodStats; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectFullStomach extends RitualEffect -{ - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (world.getWorldTime() % 20 != 0) - { - return; - } - - double horizRange = 16; - double vertRange = 16; - - List playerList = SpellHelper.getPlayersInRange(world, x+0.5, y+0.5, z+0.5, horizRange, vertRange); - - if(playerList == null) - { - return; - } - - if (currentEssence < this.getCostPerRefresh() * playerList.size()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - TileEntity tile = world.getTileEntity(x, y+1, z); - IInventory inventory = null; - if(tile instanceof IInventory) - { - inventory = (IInventory)tile; - }else - { - tile = world.getTileEntity(x, y-1, z); - if(tile instanceof IInventory) - { - inventory = (IInventory)tile; - } - } - - int count = 0; - - if(inventory != null) - { - for(EntityPlayer player : playerList) - { - FoodStats foodStats = player.getFoodStats(); - float satLevel = foodStats.getSaturationLevel(); - - for(int i=0; i getRitualComponentList() - { - ArrayList fullRitual = new ArrayList(); - fullRitual.add(new RitualComponent(0, 0, 3, RitualComponent.FIRE)); - fullRitual.add(new RitualComponent(0, 0, -3, RitualComponent.FIRE)); - fullRitual.add(new RitualComponent(3, 0, 0, RitualComponent.FIRE)); - fullRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.FIRE)); - fullRitual.add(new RitualComponent(1, 0, 1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(1, 0, -1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.AIR)); - - fullRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(1, 0, 2, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(1, 0, -2, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.AIR)); - fullRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.AIR)); - - fullRitual.add(new RitualComponent(4, 0, 4, RitualComponent.WATER)); - fullRitual.add(new RitualComponent(4, 0, -4, RitualComponent.WATER)); - fullRitual.add(new RitualComponent(-4, 0, -4, RitualComponent.WATER)); - fullRitual.add(new RitualComponent(-4, 0, 4, RitualComponent.WATER)); - - fullRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); - fullRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); - - return fullRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java deleted file mode 100644 index 91d24751..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java +++ /dev/null @@ -1,148 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFarmland; -import net.minecraft.init.Blocks; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectGrowth extends RitualEffect -{ - private static final int aquasalusDrain = 10; - private static final int terraeDrain = 20; - private static final int orbisTerraeDrain = 20; - private static final int virtusDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()*9) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - boolean hasTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - boolean hasOrbisTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, false); - boolean hasVirtus = this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, false); - - int speed = this.getSpeedForReagents(hasTerrae, hasOrbisTerrae); - if (world.getWorldTime() % speed != 0) - { - return; - } - - if(this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, false)) - { - int hydrationRange = hasVirtus ? 4 : 1; - for(int i=-hydrationRange; i<=hydrationRange; i++) - { - for(int j=-hydrationRange; j<=hydrationRange; j++) - { - if(this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, false)) - { - if(SpellHelper.hydrateSoil(world, x + i, y + 1, z + j)) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, true); - } - } - } - } - } - - int flag = 0; - - int range = hasVirtus ? 4 : 1; - for (int i = -range; i <= range; i++) - { - for (int j = -range; j <= range; j++) - { - Block block = world.getBlock(x + i, y + 2, z + j); - - if (block instanceof IPlantable) - { - { - SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 3, x, y, z); - block.updateTick(world, x + i, y + 2, z + j, world.rand); - flag++; - } - } - } - } - - if (flag > 0) - { - if(hasTerrae) - this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, true); - if(hasOrbisTerrae) - this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, true); - if(hasVirtus) - this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, true); - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()*flag); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 20; - } - - @Override - public List getRitualComponentList() - { - ArrayList growthRitual = new ArrayList(); - growthRitual.add(new RitualComponent(1, 0, 0, 1)); - growthRitual.add(new RitualComponent(-1, 0, 0, 1)); - growthRitual.add(new RitualComponent(0, 0, 1, 1)); - growthRitual.add(new RitualComponent(0, 0, -1, 1)); - growthRitual.add(new RitualComponent(-1, 0, 1, 3)); - growthRitual.add(new RitualComponent(1, 0, 1, 3)); - growthRitual.add(new RitualComponent(-1, 0, -1, 3)); - growthRitual.add(new RitualComponent(1, 0, -1, 3)); - return growthRitual; - } - - public int getSpeedForReagents(boolean hasTerrae, boolean hasOrbisTerrae) - { - if(hasOrbisTerrae) - { - if(hasTerrae) - { - return 10; - }else - { - return 15; - } - }else - { - if(hasTerrae) - { - return 20; - }else - { - return 30; - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHarvest.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHarvest.java deleted file mode 100644 index f85d611e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHarvest.java +++ /dev/null @@ -1,143 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.api.harvest.HarvestRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectHarvest extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - int maxCount = 100; - - if (currentEssence < this.getCostPerRefresh() * maxCount) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - if (world.getWorldTime() % 5 != 0) - { - return; - } - - Block block = world.getBlock(x, y-1, z); - int flag = 0; - int range = this.getRadiusForModifierBlock(block); - int vertRange = 4; - - for (int i = -range; i <= range; i++) - { - for (int j = -vertRange; j <= vertRange; j++) - { - for(int k = -range; k<=range; k++) - { - if(HarvestRegistry.harvestBlock(world, x + i, y + j, z + k) && flag < maxCount) - { - flag++; - } - } - } - } - - if (flag > 0) - { - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * Math.min(maxCount, flag)); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 20; - } - - public int getRadiusForModifierBlock(Block block) - { - if(block == null) - { - return 4; - } - - if(block == Blocks.diamond_block) - { - return 15; - } - - if(block == Blocks.gold_block) - { - return 10; - } - - if(block == Blocks.iron_block) - { - return 6; - } - - return 4; - } - - @Override - public List getRitualComponentList() - { - ArrayList harvestRitual = new ArrayList(); - - harvestRitual.add(new RitualComponent(1,0,1,RitualComponent.DUSK)); - harvestRitual.add(new RitualComponent(1,0,-1,RitualComponent.DUSK)); - harvestRitual.add(new RitualComponent(-1,0,-1,RitualComponent.DUSK)); - harvestRitual.add(new RitualComponent(-1,0,1,RitualComponent.DUSK)); - harvestRitual.add(new RitualComponent(2,0,0,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(-2,0,0,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(0,0,2,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(0,0,-2,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(3,0,1,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(3,0,-1,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(-3,0,1,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(-3,0,-1,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(1,0,3,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(-1,0,3,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(1,0,-3,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(-1,0,-3,RitualComponent.EARTH)); - harvestRitual.add(new RitualComponent(2,0,3,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(3,0,2,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(2,0,-3,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(-3,0,2,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(-2,0,3,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(3,0,-2,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(-2,0,-3,RitualComponent.WATER)); - harvestRitual.add(new RitualComponent(-3,0,-2,RitualComponent.WATER)); - - - return harvestRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java deleted file mode 100644 index a0c86f27..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java +++ /dev/null @@ -1,185 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectHealing extends RitualEffect -{ - public static final int reductusDrain = 10; - public static final int virtusDrain = 10; - public static final int praesidiumDrain = 2; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - int timeDelay = 50; - - if (world.getWorldTime() % timeDelay != 0) - { - return; - } - - boolean hasPraesidium = this.canDrainReagent(ritualStone, ReagentRegistry.praesidiumReagent, praesidiumDrain, false); - - int range = 15 * (hasPraesidium ? 3 : 1); - int vertRange = 15 * (hasPraesidium ? 3 : 1); - - List list = SpellHelper.getLivingEntitiesInRange(world, x+0.5, y+0.5, z+0.5, range, vertRange); - int entityCount = 0; - boolean flag = false; - - for(EntityLivingBase livingEntity : list) - { - if (livingEntity instanceof EntityPlayer) - { - entityCount += 10; - } else - { - entityCount++; - } - } - - boolean hasVirtus = this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, false); - - int cost = this.getCostPerRefresh() * (hasVirtus ? 3 : 1); - int potency = hasVirtus ? 1 : 0; - - if (currentEssence < cost * entityCount) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - entityCount = 0; - - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - - for(EntityLivingBase livingEntity : list) - { - hasReductus = hasReductus && this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - if(hasReductus && !(livingEntity instanceof EntityPlayer)) - { - continue; - } - - if (livingEntity.getHealth() + 0.1f < livingEntity.getMaxHealth()) - { - PotionEffect effect = livingEntity.getActivePotionEffect(Potion.regeneration); - if(effect == null || (effect != null && effect.getAmplifier() <= potency && effect.getDuration() <= timeDelay)) - { - if(!hasVirtus || (this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, false))) - { - livingEntity.addPotionEffect(new PotionEffect(Potion.regeneration.id, timeDelay + 2, potency)); - if(hasReductus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - if(hasVirtus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.virtusReagent, virtusDrain, true); - } - - if (livingEntity instanceof EntityPlayer) - { - entityCount += 10; - } else - { - entityCount++; - } - } - } - } - } - - if(entityCount > 0) - { - if(hasPraesidium) - { - this.canDrainReagent(ritualStone, ReagentRegistry.praesidiumReagent, praesidiumDrain, true); - } - SoulNetworkHandler.syphonFromNetwork(owner, cost * entityCount); - } - } - } - - @Override - public int getCostPerRefresh() - { - // TODO Auto-generated method stub - return 20; - } - - @Override - public List getRitualComponentList() - { - ArrayList healingRitual = new ArrayList(); - healingRitual.add(new RitualComponent(4, 0, 0, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(5, 0, -1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(5, 0, 1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(-4, 0, 0, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(-5, 0, -1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(-5, 0, 1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(0, 0, 4, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(-1, 0, 5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(1, 0, 5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(0, 0, -4, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(-1, 0, -5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(1, 0, -5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(3, 0, 5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(5, 0, 3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(3, 0, -5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(5, 0, -3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-3, 0, 5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-5, 0, 3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-3, 0, -5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-5, 0, -3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(3, 0, -3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(3, 0, 3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(4, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(4, -1, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, -1, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(4, 0, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(4, -1, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, -1, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, -1, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, -1, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, 0, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, -1, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, -1, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, -5, RitualComponent.EARTH)); - return healingRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java deleted file mode 100644 index 12fc1b63..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java +++ /dev/null @@ -1,149 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectInterdiction extends RitualEffect -{ - public static final int aetherDrain = 1; - public static final int magicalesDrain = 1; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int d0 = 5; - - List list = SpellHelper.getLivingEntitiesInRange(world, x+0.5, y+0.5, z+0.5, d0, d0); - boolean flag = false; - - boolean hasOffensa = this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, false); - boolean playerFlag = false; - - for(EntityLivingBase entityLiving : list) - { - if (!((!hasOffensa && entityLiving instanceof EntityPlayer) && (SpellHelper.getUsername((EntityPlayer)entityLiving).equals(owner)))) - { - double xDif = entityLiving.posX - x; - double yDif = entityLiving.posY - (y + 1); - double zDif = entityLiving.posZ - z; - entityLiving.motionX = 0.1 * xDif; - entityLiving.motionY = 0.1 * yDif; - entityLiving.motionZ = 0.1 * zDif; - - if(hasOffensa && entityLiving instanceof EntityPlayer) - { - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)entityLiving, 0.1 * xDif, 0.1 * yDif, 0.1 * zDif); - playerFlag = true; - } - - entityLiving.fallDistance = 0; - - - flag = true; - - - //entityLiving.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } - } - - if(playerFlag) - { - this.canDrainReagent(ritualStone, ReagentRegistry.magicalesReagent, magicalesDrain, true); - } - - boolean hasAether = this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - - if(hasAether) - { - int aetherDrainRate = 10; - - int horizontalRadius = 5; - int verticalRadius = 5; - List itemList = world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(horizontalRadius, verticalRadius, horizontalRadius)); - - if(itemList != null) - { - boolean itemFlag = false; - - for(EntityItem entity : itemList) - { - double xDif = entity.posX - x; - double yDif = entity.posY - (y + 1); - double zDif = entity.posZ - z; - entity.motionX = 0.1 * xDif; - entity.motionY = 0.1 * yDif; - entity.motionZ = 0.1 * zDif; - - itemFlag = true; - } - - if(itemFlag) - { - flag = true; - if(world.getWorldTime() % aetherDrainRate == 0) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, true); - } - } - } - } - - - if (world.getWorldTime() % 2 == 0 && flag) - { - SoulNetworkHandler.syphonFromNetwork(owner, getCostPerRefresh()); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 1; - } - - @Override - public List getRitualComponentList() - { - ArrayList interdictionRitual = new ArrayList(); - interdictionRitual.add(new RitualComponent(1, 0, 0, 4)); - interdictionRitual.add(new RitualComponent(-1, 0, 0, 4)); - interdictionRitual.add(new RitualComponent(0, 0, 1, 4)); - interdictionRitual.add(new RitualComponent(0, 0, -1, 4)); - interdictionRitual.add(new RitualComponent(-1, 0, 1, 4)); - interdictionRitual.add(new RitualComponent(1, 0, 1, 4)); - interdictionRitual.add(new RitualComponent(-1, 0, -1, 4)); - interdictionRitual.add(new RitualComponent(1, 0, -1, 4)); - return interdictionRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java deleted file mode 100644 index f4800145..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java +++ /dev/null @@ -1,178 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFurnace; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectItemSuction extends RitualEffect -{ - public static final int reductusDrain = 1; - - public static final int timeDelayMin = 60; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - TileEntity tile = world.getTileEntity(x, y + 1, z); - IInventory tileEntity; - - if (tile instanceof IInventory) - { - tileEntity = (IInventory) tile; - } else - { - return; - } - - if (tileEntity.getSizeInventory() <= 0) - { - return; - } - - if (currentEssence < this.getCostPerRefresh()*100) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - List itemDropList = SpellHelper.getItemsInRange(world, x+0.5f, y+0.5f, z+0.5f, 10, 10); - - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - - int count = 0; - - if (itemDropList != null) - { - int invSize = tileEntity.getSizeInventory(); - - for (EntityItem itemEntity : itemDropList) - { - hasReductus = hasReductus && this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - if(hasReductus && itemEntity.age < this.timeDelayMin) - { - continue; - } - ItemStack item = itemEntity.getEntityItem(); - ItemStack copyStack = itemEntity.getEntityItem().copy(); - - int pastAmount = copyStack.stackSize; - -// for (int n = 0; n < invSize; n++) -// { -// if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) -// { -// ItemStack itemStack = tileEntity.getStackInSlot(n); -// -// if (itemStack == null) -// { -// tileEntity.setInventorySlotContents(n, item); -// copyStack.stackSize = 0; -// } else -// { -// if (itemStack.getItem().equals(copyStack.getItem()) && itemStack.getItemDamage() == copyStack.getItemDamage()) -// { -// int itemSize = itemStack.stackSize; -// int copySize = copyStack.stackSize; -// int maxSize = itemStack.getMaxStackSize(); -// -// if (copySize + itemSize < maxSize) -// { -// copyStack.stackSize = 0; -// itemStack.stackSize = itemSize + copySize; -// tileEntity.setInventorySlotContents(n, itemStack); -// } else -// { -// copyStack.stackSize = itemSize + copySize - maxSize; -// itemStack.stackSize = maxSize; -// } -// } -// } -// } -// } - - //count++; - - ItemStack newStack = SpellHelper.insertStackIntoInventory(copyStack, tileEntity); - - if(newStack != null && newStack.stackSize < pastAmount) - { - count++; - if(newStack.stackSize<=0) - { - itemEntity.setDead(); - itemEntity.getEntityItem().stackSize = newStack.stackSize; - } - - if (newStack.stackSize > 0) - { - itemEntity.getEntityItem().stackSize = newStack.stackSize; - } - if(hasReductus) - { - BlockFurnace d; - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - } - } - } - - if(count>0) - { - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()*Math.min(count, 100)); - return; - } - } - } - - @Override - public int getCostPerRefresh() - { - return 5; - } - - @Override - public List getRitualComponentList() - { - ArrayList suctionRitual = new ArrayList(); - suctionRitual.add(new RitualComponent(2, 0, 0, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(0, 0, 2, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(0, 0, -2, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(1, 1, 1, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(1, 1, -1, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(-1, 1, 1, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(-1, 1, -1, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(1, -1, 0, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(-1, -1, 0, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(0, -1, 1, RitualComponent.AIR)); - suctionRitual.add(new RitualComponent(0, -1, -1, RitualComponent.AIR)); - return suctionRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java deleted file mode 100644 index 69ffe1a0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java +++ /dev/null @@ -1,115 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectJumping extends RitualEffect -{ - public static final int aetherDrain = 10; - public static final int terraeDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - double range = 0.5; - List livingList = SpellHelper.getLivingEntitiesInRange(world, x+0.5, y+1.5, z+0.5, range, range); - - if (currentEssence < this.getCostPerRefresh() * livingList.size()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int flag = 0; - - boolean hasAether = this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - boolean hasTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - - for(EntityLivingBase livingEntity : livingList) - { - if(livingEntity.isSneaking()) - { - continue; - } - - hasAether = hasAether && this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - hasTerrae = hasTerrae && this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - - double motionY = 1.5 * (hasAether ? 2 : 1); - - if (livingEntity instanceof EntityPlayer) - { - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)livingEntity, livingEntity.motionX, motionY, livingEntity.motionZ); - livingEntity.motionY = motionY; - livingEntity.fallDistance = 0; - flag++; - } else - { - livingEntity.motionY = motionY; - livingEntity.fallDistance = 0; - flag++; - } - - if(hasAether) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, true); - } - if(hasTerrae) - { - if(!livingEntity.isPotionActive(AlchemicalWizardry.customPotionFeatherFall)) - { - livingEntity.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionFeatherFall.id, 5 * 20, 0)); - this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, true); - } - } - } - - if (flag > 0) - { - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()*flag); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 5; - } - - @Override - public List getRitualComponentList() - { - ArrayList jumpingRitual = new ArrayList(); - - for (int i = -1; i <= 1; i++) - { - jumpingRitual.add(new RitualComponent(1, i, 1, RitualComponent.AIR)); - jumpingRitual.add(new RitualComponent(-1, i, 1, RitualComponent.AIR)); - jumpingRitual.add(new RitualComponent(-1, i, -1, RitualComponent.AIR)); - jumpingRitual.add(new RitualComponent(1, i, -1, RitualComponent.AIR)); - } - return jumpingRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java deleted file mode 100644 index 96576e8b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java +++ /dev/null @@ -1,141 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidHandler; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.block.BlockSpectralContainer; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectLava extends RitualEffect -{ - public static final int sanctusDrain = 20; - public static final int offensaDrain = 50; - public static final int reductusDrain = 5; - - public static final int fireFuseCost = 1000; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - - if(this.canDrainReagent(ritualStone, ReagentRegistry.offensaReagent, offensaDrain, false) && SoulNetworkHandler.canSyphonFromOnlyNetwork(owner, fireFuseCost)) - { - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - boolean drainReductus = world.getWorldTime() % 100 == 0; - - int range = 5; - List entityList = SpellHelper.getLivingEntitiesInRange(world, x + 0.5, y + 0.5, z + 0.5, range, range); - EntityPlayer player = SpellHelper.getPlayerForUsername(owner); - - for(EntityLivingBase entity : entityList) - { - if(entity != player && this.canDrainReagent(ritualStone, ReagentRegistry.offensaReagent, offensaDrain, false) && SoulNetworkHandler.canSyphonFromOnlyNetwork(owner, fireFuseCost) && !entity.isPotionActive(AlchemicalWizardry.customPotionFireFuse)) - { - if(hasReductus && this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false)) - { - if(entity instanceof EntityPlayer) - { - if(drainReductus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - - continue; - } - } - - entity.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionFireFuse.id,100,0)); - this.canDrainReagent(ritualStone, ReagentRegistry.offensaReagent, offensaDrain, true); - SoulNetworkHandler.syphonFromNetwork(owner, fireFuseCost); - } - } - } - - Block block = world.getBlock(x, y + 1, z); - - if (world.isAirBlock(x, y + 1, z) && !(block instanceof BlockSpectralContainer)) - { - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - for (int i = 0; i < 10; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 3, x, y, z); - } - - world.setBlock(x, y + 1, z, Blocks.lava, 0, 3); - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - }else - { - boolean hasSanctus = this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - if(!hasSanctus) - { - return; - } - TileEntity tile = world.getTileEntity(x, y + 1, z); - if(tile instanceof IFluidHandler) - { - int amount = ((IFluidHandler) tile).fill(ForgeDirection.DOWN, new FluidStack(FluidRegistry.LAVA, 1000), false); - if(amount >= 1000) - { - ((IFluidHandler) tile).fill(ForgeDirection.DOWN, new FluidStack(FluidRegistry.LAVA, 1000), true); - - this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, true); - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - } - - - - } - - @Override - public int getCostPerRefresh() - { - // TODO Auto-generated method stub - return 500; - } - - @Override - public List getRitualComponentList() - { - ArrayList lavaRitual = new ArrayList(); - lavaRitual.add(new RitualComponent(1, 0, 0, 2)); - lavaRitual.add(new RitualComponent(-1, 0, 0, 2)); - lavaRitual.add(new RitualComponent(0, 0, 1, 2)); - lavaRitual.add(new RitualComponent(0, 0, -1, 2)); - return lavaRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java deleted file mode 100644 index cde539ff..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java +++ /dev/null @@ -1,194 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectLeap extends RitualEffect -{ - public static final int aetherDrain = 10; - public static final int terraeDrain = 10; - public static final int reductusDrain = 10; - public static final int tenebraeDrain = 10; - public static final int sanctusDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - double range = 2.0; - - List livingList = SpellHelper.getLivingEntitiesInRange(world, x+0.5, y+0.5, z+0.5, range, range); - - if(livingList == null){return;} - - if (currentEssence < this.getCostPerRefresh() * livingList.size()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - boolean hasAether = this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - boolean hasTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - boolean hasTenebrae = this.canDrainReagent(ritualStone, ReagentRegistry.tenebraeReagent, tenebraeDrain, false); - boolean hasSanctus = this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - - int direction = ritualStone.getDirection(); - - int flag = 0; - - for(EntityLivingBase livingEntity : livingList) - { - if(livingEntity.isSneaking()) - { - continue; - } - - hasAether = hasAether && this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - hasTerrae = hasTerrae && this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - hasReductus = hasReductus && this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - hasTenebrae = hasTenebrae && this.canDrainReagent(ritualStone, ReagentRegistry.tenebraeReagent, tenebraeDrain, false); - hasSanctus = hasSanctus && this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - - double motionY = hasTerrae ? 0.6 : 1.2; - double speed = hasAether ? 6.0 : 3.0; - - if (!(hasTenebrae || hasSanctus)|| livingEntity instanceof EntityPlayer) - { - livingEntity.motionY = motionY; - livingEntity.fallDistance = 0; - - switch (direction) - { - case 1: - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)livingEntity, 0, motionY, -speed); - break; - - case 2: - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)livingEntity, speed, motionY, 0); - break; - - case 3: - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)livingEntity, 0, motionY, speed); - break; - - case 4: - SpellHelper.setPlayerSpeedFromServer((EntityPlayer)livingEntity, -speed, motionY, 0); - break; - } - - flag++; - } else - { - if((hasSanctus && !livingEntity.isChild()) || (hasTenebrae && livingEntity.isChild())) - { - continue; - } - - livingEntity.motionY = motionY; - - switch (direction) - { - case 1: - livingEntity.motionX = 0.0; - livingEntity.motionZ = -speed; - break; - - case 2: - livingEntity.motionX = speed; - livingEntity.motionZ = 0.0; - break; - - case 3: - livingEntity.motionX = 0.0; - livingEntity.motionZ = -speed; - break; - - case 4: - livingEntity.motionX = -speed; - livingEntity.motionZ = 0.0; - break; - } - - if(hasTenebrae) - { - this.canDrainReagent(ritualStone, ReagentRegistry.tenebraeReagent, tenebraeDrain, true); - } - if(hasSanctus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, true); - } - - livingEntity.fallDistance = 0; - flag++; - } - - if(hasAether) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, true); - } - if(hasTerrae) - { - this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, true); - } - if(hasReductus) - { - if(!livingEntity.isPotionActive(AlchemicalWizardry.customPotionFeatherFall)) - { - livingEntity.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionFeatherFall.id, 3*20, 0)); - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - } - - } - - if (flag > 0) - { - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * flag); - } - } - } - - @Override - public int getCostPerRefresh() - { - return 5; - } - - @Override - public List getRitualComponentList() - { - ArrayList leapingRitual = new ArrayList(); - leapingRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); - leapingRitual.add(new RitualComponent(1, 0, -1, RitualComponent.AIR)); - leapingRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.AIR)); - - for (int i = 0; i <= 2; i++) - { - leapingRitual.add(new RitualComponent(2, 0, i, RitualComponent.AIR)); - leapingRitual.add(new RitualComponent(-2, 0, i, RitualComponent.AIR)); - } - return leapingRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLifeConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLifeConduit.java deleted file mode 100644 index fab7e120..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLifeConduit.java +++ /dev/null @@ -1,173 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; - -public class RitualEffectLifeConduit extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - TEAltar tileAltar = null; - boolean testFlag = false; - - for (int i = -5; i <= 5; i++) - { - for (int j = -5; j <= 5; j++) - { - for (int k = -10; k <= 10; k++) - { - if (world.getTileEntity(x + i, y + k, z + j) instanceof TEAltar) - { - tileAltar = (TEAltar) world.getTileEntity(x + i, y + k, z + j); - testFlag = true; - } - } - } - } - - if (!testFlag) - { - return; - } - - //tileAltar = (TEAltar)world.getBlockTileEntity(x,y-1,z); - int d0 = 15; - int vertRange = 20; - - EntityPlayer entityOwner = null; - List list = SpellHelper.getPlayersInRange(world, x, y, z, d0, vertRange); - - for(EntityPlayer player : list) - { - if(SpellHelper.getUsername(player).equals(owner)) - { - entityOwner = player; - } - } - - if (entityOwner == null) - { - return; - } - - int fillAmount = Math.min(currentEssence/2,tileAltar.fill(ForgeDirection.UP, new FluidStack(AlchemicalWizardry.lifeEssenceFluid,10000), false)); - - { - tileAltar.fill(ForgeDirection.UP, new FluidStack(AlchemicalWizardry.lifeEssenceFluid,fillAmount), true); - if(entityOwner.getHealth() > 2.0f && fillAmount != 0) - { - entityOwner.setHealth(2.0f); - } - SoulNetworkHandler.syphonFromNetwork(owner, fillAmount*2); - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public List getRitualComponentList() - { - ArrayList conduitRitual = new ArrayList(); - - conduitRitual.add(new RitualComponent(-1,0,-1,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-1,0,1,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(1,0,1,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(1,0,-1,RitualComponent.FIRE)); - - for(int i=0; i<4; i++) - { - conduitRitual.add(new RitualComponent(-2,i,-2,RitualComponent.AIR)); - conduitRitual.add(new RitualComponent(-2,i,2,RitualComponent.AIR)); - conduitRitual.add(new RitualComponent(2,i,2,RitualComponent.AIR)); - conduitRitual.add(new RitualComponent(2,i,-2,RitualComponent.AIR)); - } - - conduitRitual.add(new RitualComponent(4,1,4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(4,1,-4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(-4,1,-4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(-4,1,4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(3,1,4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(4,1,3,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(-3,1,4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(-4,1,3,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(3,1,-4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(4,1,-3,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(-3,1,-4,RitualComponent.EARTH)); - conduitRitual.add(new RitualComponent(-4,1,-3,RitualComponent.EARTH)); - - - for(int i=0; i<2; i++) - { - conduitRitual.add(new RitualComponent(4,i+2,4,RitualComponent.WATER)); - conduitRitual.add(new RitualComponent(4,i+2,-4,RitualComponent.WATER)); - conduitRitual.add(new RitualComponent(-4,i+2,-4,RitualComponent.WATER)); - conduitRitual.add(new RitualComponent(-4,i+2,4,RitualComponent.WATER)); - } - - conduitRitual.add(new RitualComponent(4,4,4,RitualComponent.DUSK)); - conduitRitual.add(new RitualComponent(4,4,-4,RitualComponent.DUSK)); - conduitRitual.add(new RitualComponent(-4,4,-4,RitualComponent.DUSK)); - conduitRitual.add(new RitualComponent(-4,4,4,RitualComponent.DUSK)); - - conduitRitual.add(new RitualComponent(6,0,5,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(5,0,6,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-6,0,5,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-5,0,6,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(6,0,-5,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(5,0,-6,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-6,0,-5,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-5,0,-6,RitualComponent.FIRE)); - - for(int i=0; i<2; i++) - { - conduitRitual.add(new RitualComponent(6,i,6,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(6,i,-6,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-6,i,6,RitualComponent.FIRE)); - conduitRitual.add(new RitualComponent(-6,i,-6,RitualComponent.FIRE)); - } - - for(int i=0; i<3; i++) - { - conduitRitual.add(new RitualComponent(6,i+2,6,RitualComponent.BLANK)); - conduitRitual.add(new RitualComponent(6,i+2,-6,RitualComponent.BLANK)); - conduitRitual.add(new RitualComponent(-6,i+2,6,RitualComponent.BLANK)); - conduitRitual.add(new RitualComponent(-6,i+2,-6,RitualComponent.BLANK)); - } - - conduitRitual.add(new RitualComponent(6,5,6,RitualComponent.DUSK)); - conduitRitual.add(new RitualComponent(6,5,-6,RitualComponent.DUSK)); - conduitRitual.add(new RitualComponent(-6,5,6,RitualComponent.DUSK)); - conduitRitual.add(new RitualComponent(-6,5,-6,RitualComponent.DUSK)); - - return conduitRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java deleted file mode 100644 index 01e289eb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java +++ /dev/null @@ -1,187 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectMagnetic extends RitualEffect -{ - private static final int potentiaDrain = 10; - private static final int terraeDrain = 10; - private static final int orbisTerraeDrain = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - boolean hasPotentia = this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, false); - - if(world.getWorldTime() % (hasPotentia ? 10 : 40) != 0) - { - return; - } - - boolean hasTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, false); - boolean hasOrbisTerrae = this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, false); - - int radius = this.getRadiusForReagents(hasTerrae, hasOrbisTerrae); - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int xRep = 0; - int yRep = 0; - int zRep = 0; - boolean replace = false; - - for (int j = 1; j <= 3; j++) - { - for (int i = -1; i <= 1; i++) - { - for (int k = -1; k <= 1; k++) - { - if ((!replace) && world.isAirBlock(x + i, y + j, z + k)) - { - xRep = x + i; - yRep = y + j; - zRep = z + k; - replace = true; - } - } - } - } - - if (replace) - { - //boolean hasReplaced = false; - for (int j = y - 1; j >= 0; j--) - { - for (int i = -radius; i <= radius; i++) - { - for (int k = -radius; k <= radius; k++) - { - Block block = world.getBlock(x + i, j, z + k); - int meta = world.getBlockMetadata(x + i, j, z + k); - - if (block == null) - { - continue; - } - - ItemStack itemStack = new ItemStack(block, 1, meta); - int id = OreDictionary.getOreID(itemStack); - - if (id != -1) - { - String oreName = OreDictionary.getOreName(id); - - if (oreName.contains("ore")) - { - //TODO - //Allow swapping code. This means the searched block is an ore. - BlockTeleposer.swapBlocks(world, world, x + i, j, z + k, xRep, yRep, zRep); - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - - if(hasPotentia) - { - this.canDrainReagent(ritualStone, ReagentRegistry.potentiaReagent, potentiaDrain, true); - } - - if(hasTerrae) - { - this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, terraeDrain, true); - } - - if(hasOrbisTerrae) - { - this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, orbisTerraeDrain, true); - } - - return; - } - } - } - } - } - } - } - } - - @Override - public int getCostPerRefresh() - { - return 50; - } - - @Override - public List getRitualComponentList() - { - ArrayList magneticRitual = new ArrayList(); - magneticRitual.add(new RitualComponent(1, 0, 1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(1, 0, -1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(2, 1, 0, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(0, 1, 2, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(0, 1, -2, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(2, 1, 2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(2, 1, -2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(-2, 1, 2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(-2, 1, -2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(2, 2, 0, RitualComponent.FIRE)); - magneticRitual.add(new RitualComponent(0, 2, 2, RitualComponent.FIRE)); - magneticRitual.add(new RitualComponent(-2, 2, 0, RitualComponent.FIRE)); - magneticRitual.add(new RitualComponent(0, 2, -2, RitualComponent.FIRE)); - return magneticRitual; - } - - public int getRadiusForReagents(boolean hasTerrae, boolean hasOrbisTerrae) - { - if(hasTerrae) - { - if(hasOrbisTerrae) - { - return 31; - }else - { - return 7; - } - }else - { - if(hasOrbisTerrae) - { - return 12; - }else - { - return 3; - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java deleted file mode 100644 index 2099ca3d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java +++ /dev/null @@ -1,191 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.bindingRegistry.BindingRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectSoulBound extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - if (ritualStone.getVar1() == 0) - { - int d0 = 0; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) x, (double) y + 1, (double) z, (double) (x + 1), (double) (y + 2), (double) (z + 1)).expand(d0, d0, d0); - List list = world.getEntitiesWithinAABB(EntityItem.class, axisalignedbb); - Iterator iterator = list.iterator(); - EntityItem item; - - while (iterator.hasNext()) - { - item = (EntityItem) iterator.next(); -// double xDif = item.posX - (xCoord+0.5); -// double yDif = item.posY - (yCoord+1); -// double zDif = item.posZ - (zCoord+0.5); - ItemStack itemStack = item.getEntityItem(); - - if (itemStack == null) - { - continue; - } - - - if(BindingRegistry.isRequiredItemValid(itemStack)) - { - ritualStone.setVar1(BindingRegistry.getIndexForItem(itemStack)+1); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - break; - } - - if (world.rand.nextInt(10) == 0) - { - SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 1, x, y, z); - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, getCostPerRefresh()); - } else - { - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - - if (world.rand.nextInt(20) == 0) - { - int lightningPoint = world.rand.nextInt(8); - - switch (lightningPoint) - { - case 0: - world.addWeatherEffect(new EntityLightningBolt(world, x + 4, y + 3, z + 0)); - break; - - case 1: - world.addWeatherEffect(new EntityLightningBolt(world, x - 4, y + 3, z + 0)); - break; - - case 2: - world.addWeatherEffect(new EntityLightningBolt(world, x + 0, y + 3, z + 4)); - break; - - case 3: - world.addWeatherEffect(new EntityLightningBolt(world, x + 0, y + 3, z - 4)); - break; - - case 4: - world.addWeatherEffect(new EntityLightningBolt(world, x + 3, y + 3, z + 3)); - break; - - case 5: - world.addWeatherEffect(new EntityLightningBolt(world, x - 3, y + 3, z + 3)); - break; - - case 6: - world.addWeatherEffect(new EntityLightningBolt(world, x + 3, y + 3, z - 3)); - break; - - case 7: - world.addWeatherEffect(new EntityLightningBolt(world, x - 3, y + 3, z - 3)); - break; - } - } - - if (ritualStone.getCooldown() <= 0) - { - - ItemStack spawnedItem = BindingRegistry.getOutputForIndex(ritualStone.getVar1()-1); - - if (spawnedItem != null) - { - EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, spawnedItem.copy()); - world.spawnEntityInWorld(newItem); - } - - ritualStone.setActive(false); - } - } - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public int getInitialCooldown() - { - return 200; - } - - @Override - public List getRitualComponentList() - { - ArrayList boundSoulRitual = new ArrayList(); - boundSoulRitual.add(new RitualComponent(3, 0, 0, 2)); - boundSoulRitual.add(new RitualComponent(-3, 0, 0, 2)); - boundSoulRitual.add(new RitualComponent(0, 0, 3, 2)); - boundSoulRitual.add(new RitualComponent(0, 0, -3, 2)); - boundSoulRitual.add(new RitualComponent(2, 0, 2, 4)); - boundSoulRitual.add(new RitualComponent(-2, 0, 2, 4)); - boundSoulRitual.add(new RitualComponent(2, 0, -2, 4)); - boundSoulRitual.add(new RitualComponent(-2, 0, -2, 4)); - boundSoulRitual.add(new RitualComponent(4, 2, 0, 1)); - boundSoulRitual.add(new RitualComponent(-4, 2, 0, 1)); - boundSoulRitual.add(new RitualComponent(0, 2, 4, 1)); - boundSoulRitual.add(new RitualComponent(0, 2, -4, 1)); - boundSoulRitual.add(new RitualComponent(3, 2, 3, 3)); - boundSoulRitual.add(new RitualComponent(3, 2, -3, 3)); - boundSoulRitual.add(new RitualComponent(-3, 2, 3, 3)); - boundSoulRitual.add(new RitualComponent(-3, 2, -3, 3)); - boundSoulRitual.add(new RitualComponent(4, 1, 0, 0)); - boundSoulRitual.add(new RitualComponent(-4, 1, 0, 0)); - boundSoulRitual.add(new RitualComponent(0, 1, 4, 0)); - boundSoulRitual.add(new RitualComponent(0, 1, -4, 0)); - boundSoulRitual.add(new RitualComponent(3, 1, 3, 0)); - boundSoulRitual.add(new RitualComponent(3, 1, -3, 0)); - boundSoulRitual.add(new RitualComponent(-3, 1, 3, 0)); - boundSoulRitual.add(new RitualComponent(-3, 1, -3, 0)); - return boundSoulRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSpawnWard.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSpawnWard.java deleted file mode 100644 index 0d69aa0e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSpawnWard.java +++ /dev/null @@ -1,133 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks; -import WayofTime.alchemicalWizardry.common.CoordAndRange; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectSpawnWard extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - -// if (world.getWorldTime() % 20 != 0) -// { -// return; -// } - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int horizRange = 32; - int vertRange = 32; - - int dimension = world.provider.dimensionId; - - if(AlchemicalWizardryEventHooks.respawnMap.containsKey(new Integer(dimension))) - { - List list = AlchemicalWizardryEventHooks.respawnMap.get(new Integer(dimension)); - if(list != null) - { - if(!list.contains(new CoordAndRange(x,y,z,horizRange,vertRange))) - { - boolean hasFoundAndRemoved = false; - for(CoordAndRange coords : list) - { - int xLocation = coords.xCoord; - int yLocation = coords.yCoord; - int zLocation = coords.zCoord; - - if(xLocation == x && yLocation == y && zLocation == z) - { - list.remove(coords); - hasFoundAndRemoved = true; - break; - } - } - list.add(new CoordAndRange(x,y,z,horizRange,vertRange)); - } - }else - { - list = new LinkedList(); - list.add(new CoordAndRange(x,y,z,horizRange,vertRange)); - AlchemicalWizardryEventHooks.respawnMap.put(new Integer(dimension), list); - } - }else - { - List list = new LinkedList(); - list.add(new CoordAndRange(x,y,z,horizRange,vertRange)); - AlchemicalWizardryEventHooks.respawnMap.put(new Integer(dimension), list); - } - - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - - @Override - public int getCostPerRefresh() - { - return 15; - } - - @Override - public List getRitualComponentList() - { - ArrayList wardRitualRitual = new ArrayList(); - - for(int i=2; i<=4; i++) - { - if(i <= 3) - { - wardRitualRitual.add(new RitualComponent(0, 0, i, RitualComponent.AIR)); - wardRitualRitual.add(new RitualComponent(0, 0, -i, RitualComponent.AIR)); - wardRitualRitual.add(new RitualComponent(i, 0, 0, RitualComponent.AIR)); - wardRitualRitual.add(new RitualComponent(-i, 0, 0, RitualComponent.AIR)); - } - - wardRitualRitual.add(new RitualComponent(i, 0, i, RitualComponent.FIRE)); - wardRitualRitual.add(new RitualComponent(i, 0, -i, RitualComponent.FIRE)); - wardRitualRitual.add(new RitualComponent(-i, 0, -i, RitualComponent.FIRE)); - wardRitualRitual.add(new RitualComponent(-i, 0, i, RitualComponent.FIRE)); - } - - wardRitualRitual.add(new RitualComponent(0, 0, 5, RitualComponent.DUSK)); - wardRitualRitual.add(new RitualComponent(0, 0, -5, RitualComponent.DUSK)); - wardRitualRitual.add(new RitualComponent(5, 0, 0, RitualComponent.DUSK)); - wardRitualRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.DUSK)); - - wardRitualRitual.add(new RitualComponent(6, 0, 5, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(5, 0, 6, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(6, 0, -5, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(-5, 0, 6, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(-6, 0, 5, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(5, 0, -6, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(-6, 0, -5, RitualComponent.WATER)); - wardRitualRitual.add(new RitualComponent(-5, 0, -6, RitualComponent.WATER)); - - return wardRitualRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java deleted file mode 100644 index 70985878..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java +++ /dev/null @@ -1,214 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityMeteor; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry; - -public class RitualEffectSummonMeteor extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (ritualStone.getCooldown() > 0) - { - ritualStone.setCooldown(0); - } - - if (currentEssence < this.getCostPerRefresh()) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - List entities = world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(x, y + 1, z, x + 1, y + 2, z + 1)); - - if (entities == null) - { - return; - } - - for (EntityItem entityItem : entities) - { - if (entityItem != null && MeteorRegistry.isValidParadigmItem(entityItem.getEntityItem())) - { - int meteorID = MeteorRegistry.getParadigmIDForItem(entityItem.getEntityItem()); - EntityMeteor meteor = new EntityMeteor(world, x + 0.5f, 257, z + 0.5f, meteorID); - meteor.motionY = -1.0f; - - if(this.canDrainReagent(ritualStone, ReagentRegistry.terraeReagent, 1000, true)) - { - meteor.hasTerrae = true; - } - if(this.canDrainReagent(ritualStone, ReagentRegistry.orbisTerraeReagent, 1000, true)) - { - meteor.hasOrbisTerrae = true; - } - if(this.canDrainReagent(ritualStone, ReagentRegistry.crystallosReagent, 1000, true)) - { - meteor.hasCrystallos = true; - } - if(this.canDrainReagent(ritualStone, ReagentRegistry.incendiumReagent, 1000, true)) - { - meteor.hasIncendium = true; - } - if(this.canDrainReagent(ritualStone, ReagentRegistry.tenebraeReagent, 1000, true)) - { - meteor.hasTennebrae = true; - } - - entityItem.setDead(); - world.spawnEntityInWorld(meteor); - ritualStone.setActive(false); - break; - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - - @Override - public int getCostPerRefresh() - { - return 0; - } - - @Override - public List getRitualComponentList() - { - ArrayList meteorRitual = new ArrayList(); - meteorRitual.add(new RitualComponent(2, 0, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 0, 2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 0, -2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 0, 1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(3, 0, -1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(1, 0, 3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(1, 0, -3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(4, 0, 2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(4, 0, -2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-4, 0, 2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-4, 0, -2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(2, 0, 4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-2, 0, 4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(2, 0, -4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-2, 0, -4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(5, 0, 3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(5, 0, -3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-5, 0, 3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-5, 0, -3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(3, 0, 5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-3, 0, 5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(3, 0, -5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-3, 0, -5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-4, 0, -4, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-4, 0, 4, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(4, 0, 4, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(4, 0, -4, RitualComponent.DUSK)); - - for (int i = 4; i <= 6; i++) - { - meteorRitual.add(new RitualComponent(i, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-i, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, i, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, -i, RitualComponent.EARTH)); - } - - meteorRitual.add(new RitualComponent(8, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-8, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, 8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, -8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(8, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-8, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, 8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, -8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(7, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-7, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, 7, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, -7, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(7, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-7, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, 7, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, -7, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(6, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-6, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, 6, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, -6, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(6, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-6, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, 6, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, -6, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(5, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-5, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, 5, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, -5, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(5, 4, 0, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-5, 4, 0, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(0, 4, 5, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(0, 4, -5, RitualComponent.AIR)); - - for (int i = -1; i <= 1; i++) - { - meteorRitual.add(new RitualComponent(i, 4, 4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(i, 4, -4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(4, 4, i, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-4, 4, i, RitualComponent.AIR)); - } - - meteorRitual.add(new RitualComponent(2, 4, 4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(4, 4, 2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(2, 4, -4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-4, 4, 2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-2, 4, 4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(4, 4, -2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-2, 4, -4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-4, 4, -2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(2, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, 2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-2, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, -2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, -3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(2, 4, -3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, 2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-2, 4, -3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, -2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, -3, RitualComponent.FIRE)); - return meteorRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSupression.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSupression.java deleted file mode 100644 index 9a93eb98..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSupression.java +++ /dev/null @@ -1,189 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; - -public class RitualEffectSupression extends RitualEffect -{ - public static final int aquasalusDrain = 15; - public static final int aetherDrain = 15; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - Block blockish = world.getBlock(x, y-1, z); - - boolean hasAquasalus = this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, false); - boolean hasAether = this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, false); - - int costMod = this.getCostModifier(blockish); - int radius = this.getRadiusForReagents(hasAether, hasAquasalus); - int masterRadius = radius; - - int yIndex = (int)(world.getWorldTime() % (2*radius + 1))-radius; - boolean expansion = false; - - if(ritualStone.getVar1()<(radius+1)) - { - expansion = true; - radius = ritualStone.getVar1(); - ritualStone.setVar1(ritualStone.getVar1() + 1); - } - - if (currentEssence < this.getCostPerRefresh()*costMod) - { - EntityPlayer entityOwner = SpellHelper.getPlayerForUsername(owner); - - if (entityOwner == null) - { - return; - } - - entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); - } else - { - for (int i = -radius; i <= radius; i++) - { - for (int j = (expansion ? -radius : yIndex); j <= (expansion ? radius : yIndex); j++) - { - for(int k = -radius; k <= radius; k++) - { - if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) - { - continue; - } - - Block block = world.getBlock(x+i, y+j, z+k); - - - if(SpellHelper.isBlockFluid(block)) - { - TESpectralContainer.createSpectralBlockAtLocation(world, x+i, y+j, z+k, 3*masterRadius); - } - else - { - TileEntity tile = world.getTileEntity(x+i, y+j, z+k); - if(tile instanceof TESpectralContainer) - { - ((TESpectralContainer) tile).resetDuration(3*masterRadius); - } - } - } - } - } - - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()*costMod); - - if(world.getWorldTime() % 100 == 0) - { - if(hasAquasalus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, true); - } - if(hasAether) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aetherReagent, aetherDrain, true); - } - } - } - } - - @Override - public int getCostPerRefresh() - { - return 2; - } - - @Override - public List getRitualComponentList() - { - ArrayList supressionRitual = new ArrayList(); - supressionRitual.add(new RitualComponent(2,0,2, RitualComponent.WATER)); - supressionRitual.add(new RitualComponent(2,0,-2, RitualComponent.WATER)); - supressionRitual.add(new RitualComponent(-2,0,2, RitualComponent.WATER)); - supressionRitual.add(new RitualComponent(-2,0,-2, RitualComponent.WATER)); - supressionRitual.add(new RitualComponent(-2,0,-1, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(-1,0,-2, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(-2,0,1, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(1,0,-2, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(2,0,1, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(1,0,2, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(2,0,-1, RitualComponent.AIR)); - supressionRitual.add(new RitualComponent(-1,0,2, RitualComponent.AIR)); - return supressionRitual; - } - - public int getCostModifier(Block block) - { -// if(block == null) -// { -// return 1; -// } -// -// if(block == Blocks.diamond_block) -// { -// return 20; -// } -// -// if(block == Blocks.gold_block) -// { -// return 10; -// } -// -// if(block == Blocks.iron_block) -// { -// return 5; -// } - - return 1; - } - - public int getRadiusForReagents(boolean hasAether, boolean hasAquasalus) - { - if(hasAether) - { - if(hasAquasalus) - { - return 30; - }else - { - return 20; - } - }else - { - if(hasAquasalus) - { - return 15; - }else - { - return 10; - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java deleted file mode 100644 index fdcd8d86..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java +++ /dev/null @@ -1,221 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectUnbinding extends RitualEffect -{ - public static final int sanctusDrain = 1000; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int d0 = 0; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) x, (double) y + 1, (double) z, (double) (x + 1), (double) (y + 2), (double) (z + 1)).expand(d0, d0, d0); - List list = world.getEntitiesWithinAABB(EntityItem.class, axisalignedbb); - Iterator iterator = list.iterator(); - EntityItem item; - - boolean drain = false; - - while (iterator.hasNext()) - { - item = (EntityItem) iterator.next(); -// double xDif = item.posX - (xCoord+0.5); -// double yDif = item.posY - (yCoord+1); -// double zDif = item.posZ - (zCoord+0.5); - ItemStack itemStack = item.getEntityItem(); - - if (itemStack == null) - { - continue; - } - - boolean hasSanctus = this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - if(hasSanctus) - { - if(itemStack.getItem() instanceof IBindable && !EnergyItems.getOwnerName(itemStack).equals("")) - { - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z - 5)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z + 5)); - world.addWeatherEffect(new EntityLightningBolt(world, x - 5, y + 1, z)); - world.addWeatherEffect(new EntityLightningBolt(world, x + 5, y + 1, z)); - - EnergyItems.setItemOwner(itemStack, ""); - this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, true); - drain = true; - ritualStone.setActive(false); - break; - } - } - - if (itemStack.getItem() == ModItems.boundHelmet) - { - ritualStone.setVar1(5); - } else if (itemStack.getItem() == ModItems.boundPlate) - { - ritualStone.setVar1(8); - } else if (itemStack.getItem() == ModItems.boundLeggings) - { - ritualStone.setVar1(7); - } else if (itemStack.getItem() == ModItems.boundBoots) - { - ritualStone.setVar1(4); - } else if (itemStack.getItem() == ModItems.sigilOfHolding) - { - ritualStone.setVar1(-1); - } - - if (ritualStone.getVar1() > 0) - { - item.setDead(); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z - 5)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z + 5)); - world.addWeatherEffect(new EntityLightningBolt(world, x - 5, y + 1, z)); - world.addWeatherEffect(new EntityLightningBolt(world, x + 5, y + 1, z)); - NBTTagCompound itemTag = itemStack.stackTagCompound; - ItemStack[] inv = ((BoundArmour) itemStack.getItem()).getInternalInventory(itemStack); - - if (inv != null) - { - for (ItemStack internalItem : inv) - { - if (internalItem != null) - { - EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, internalItem.copy()); - world.spawnEntityInWorld(newItem); - } - } - } - - EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, new ItemStack(ModBlocks.bloodSocket, ritualStone.getVar1())); - world.spawnEntityInWorld(newItem); - ritualStone.setActive(false); - drain = true; - break; - } else if (ritualStone.getVar1() == -1) - { - item.setDead(); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z - 5)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z + 5)); - world.addWeatherEffect(new EntityLightningBolt(world, x - 5, y + 1, z)); - world.addWeatherEffect(new EntityLightningBolt(world, x + 5, y + 1, z)); - NBTTagCompound itemTag = itemStack.stackTagCompound; - ItemStack[] inv = ((SigilOfHolding) itemStack.getItem()).getInternalInventory(itemStack); - - if (inv != null) - { - for (ItemStack internalItem : inv) - { - if (internalItem != null) - { - EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, internalItem.copy()); - world.spawnEntityInWorld(newItem); - } - } - } - - EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, new ItemStack(ModItems.sigilOfHolding, 1, 0)); - world.spawnEntityInWorld(newItem); - ritualStone.setActive(false); - drain = true; - break; - } - - - - } - - if(drain) - { - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - - if (world.rand.nextInt(10) == 0) - { - SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 1, x, y, z); - } - } - - @Override - public int getCostPerRefresh() - { - // TODO Auto-generated method stub - return 0; - } - - @Override - public List getRitualComponentList() - { - ArrayList unbindingRitual = new ArrayList(); - unbindingRitual.add(new RitualComponent(-2, 0, 0, 4)); - unbindingRitual.add(new RitualComponent(2, 0, 0, 4)); - unbindingRitual.add(new RitualComponent(0, 0, 2, 4)); - unbindingRitual.add(new RitualComponent(0, 0, -2, 4)); - unbindingRitual.add(new RitualComponent(-2, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(-2, 0, -3, 3)); - unbindingRitual.add(new RitualComponent(-3, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, -3, 3)); - unbindingRitual.add(new RitualComponent(3, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(-2, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(-2, 0, 3, 3)); - unbindingRitual.add(new RitualComponent(-3, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, 3, 3)); - unbindingRitual.add(new RitualComponent(3, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(3, 1, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 1, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 1, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 1, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 2, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 2, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 2, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 2, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 3, 3, 2)); - unbindingRitual.add(new RitualComponent(3, 3, -3, 2)); - unbindingRitual.add(new RitualComponent(-3, 3, -3, 2)); - unbindingRitual.add(new RitualComponent(-3, 3, 3, 2)); - unbindingRitual.add(new RitualComponent(-5, 0, 0, 2)); - unbindingRitual.add(new RitualComponent(5, 0, 0, 2)); - unbindingRitual.add(new RitualComponent(0, 0, 5, 2)); - unbindingRitual.add(new RitualComponent(0, 0, -5, 2)); - return unbindingRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectVeilOfEvil.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectVeilOfEvil.java deleted file mode 100644 index 362b608f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectVeilOfEvil.java +++ /dev/null @@ -1,150 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks; -import WayofTime.alchemicalWizardry.common.CoordAndRange; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectVeilOfEvil extends RitualEffect -{ - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - -// if (world.getWorldTime() % 20 != 0) -// { -// return; -// } - - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - int horizRange = 32; - int vertRange = 32; - - int dimension = world.provider.dimensionId; - - if(AlchemicalWizardryEventHooks.forceSpawnMap.containsKey(new Integer(dimension))) - { - List list = AlchemicalWizardryEventHooks.forceSpawnMap.get(new Integer(dimension)); - if(list != null) - { - if(!list.contains(new CoordAndRange(x,y,z,horizRange,vertRange))) - { - boolean hasFoundAndRemoved = false; - for(CoordAndRange coords : list) - { - int xLocation = coords.xCoord; - int yLocation = coords.yCoord; - int zLocation = coords.zCoord; - - if(xLocation == x && yLocation == y && zLocation == z) - { - list.remove(coords); - hasFoundAndRemoved = true; - break; - } - } - list.add(new CoordAndRange(x,y,z,horizRange,vertRange)); - } - }else - { - list = new LinkedList(); - list.add(new CoordAndRange(x,y,z,horizRange,vertRange)); - AlchemicalWizardryEventHooks.forceSpawnMap.put(new Integer(dimension), list); - } - }else - { - List list = new LinkedList(); - list.add(new CoordAndRange(x,y,z,horizRange,vertRange)); - AlchemicalWizardryEventHooks.forceSpawnMap.put(new Integer(dimension), list); - } - - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - - @Override - public int getCostPerRefresh() - { - return 20; - } - - @Override - public List getRitualComponentList() - { - ArrayList veilRitual = new ArrayList(); - - veilRitual.add(new RitualComponent(1, 0, 2, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(2, 0, 1, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(1, 0, -2, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(2, 0, -1, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.DUSK)); - - veilRitual.add(new RitualComponent(3, 0, 3, RitualComponent.FIRE)); - veilRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.FIRE)); - veilRitual.add(new RitualComponent(3, 0, -3, RitualComponent.FIRE)); - veilRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.FIRE)); - - for(int i=0; i<=1; i++) - { - veilRitual.add(new RitualComponent((4+i), i, 0, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent((4+i), i, -1, RitualComponent.BLANK)); - veilRitual.add(new RitualComponent((4+i), i, 1, RitualComponent.BLANK)); - - veilRitual.add(new RitualComponent(-(4+i), i, 0, RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(-(4+i), i, -1, RitualComponent.BLANK)); - veilRitual.add(new RitualComponent(-(4+i), i, 1, RitualComponent.BLANK)); - - veilRitual.add(new RitualComponent(0, i, (4+i), RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(1, i, (4+i), RitualComponent.BLANK)); - veilRitual.add(new RitualComponent(-1, i, (4+i), RitualComponent.BLANK)); - - veilRitual.add(new RitualComponent(0, i, -(4+i), RitualComponent.DUSK)); - veilRitual.add(new RitualComponent(1, i, -(4+i), RitualComponent.BLANK)); - veilRitual.add(new RitualComponent(-1, i, -(4+i), RitualComponent.BLANK)); - - veilRitual.add(new RitualComponent(4, i, 5, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(5, i, 4, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(4, i, -5, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(-5, i, 4, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(-4, i, 5, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(5, i, -4, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(-4, i, -5, RitualComponent.EARTH)); - veilRitual.add(new RitualComponent(-5, i, -4, RitualComponent.EARTH)); - } - - veilRitual.add(new RitualComponent(5, 1, 5, RitualComponent.BLANK)); - veilRitual.add(new RitualComponent(-5, 1, 5, RitualComponent.BLANK)); - veilRitual.add(new RitualComponent(5, 1, -5, RitualComponent.BLANK)); - veilRitual.add(new RitualComponent(-5, 1, -5, RitualComponent.BLANK)); - - return veilRitual; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java deleted file mode 100644 index 9b1718cb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java +++ /dev/null @@ -1,202 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidHandler; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.block.BlockSpectralContainer; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class RitualEffectWater extends RitualEffect -{ - public static final int aquasalusDrain = 5; - public static final int offensaDrain = 20; - public static final int sanctusDrain = 5; - public static final int reductusDrain = 2; - public static final int crystallosDrain = 10; - - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - boolean hasCrystallos = this.canDrainReagent(ritualStone, ReagentRegistry.crystallosReagent, crystallosDrain, false); - boolean hasAquasalus = this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, false); - boolean hasOffensa = this.canDrainReagent(ritualStone, ReagentRegistry.offensaReagent, offensaDrain, false); - - if(hasAquasalus) - { - int hydrationRange = 4; - int vertRange = 3; - - for(int i=-hydrationRange; i<=hydrationRange; i++) - { - for(int j=-vertRange; j<=vertRange; j++) - { - for(int k=-hydrationRange; k<=hydrationRange; k++) - { - if(SpellHelper.hydrateSoil(world, x+i, y+j, z+k)) - { - this.canDrainReagent(ritualStone, ReagentRegistry.aquasalusReagent, aquasalusDrain, true); - } - } - } - } - } - - if(hasOffensa) - { - boolean hasReductus = this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false); - boolean drainReductus = world.getWorldTime() % 100 == 0; - - int range = 10; - List list = SpellHelper.getEntitiesInRange(world, x + 0.5, y + 0.5, z + 0.5, range, range); - for(Entity entity : list) - { - if(entity instanceof EntityLivingBase) - { - EntityLivingBase livingEntity = (EntityLivingBase) entity; - - if(livingEntity == SpellHelper.getPlayerForUsername(owner)) - { - continue; - } - - if(hasReductus && this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, false)) - { - if(livingEntity instanceof EntityPlayer) - { - if(drainReductus) - { - this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } - - continue; - } - } - - if(!livingEntity.isPotionActive(AlchemicalWizardry.customPotionDrowning)) - { - livingEntity.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionDrowning.id,100,0)); - this.canDrainReagent(ritualStone, ReagentRegistry.offensaReagent, offensaDrain, true); - } - } - } - } - - Block block = world.getBlock(x, y + 1, z); - - if (world.isAirBlock(x, y + 1, z) && !(block instanceof BlockSpectralContainer)) - { - if (currentEssence < this.getCostPerRefresh()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - for (int i = 0; i < 10; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 3, x, y, z); - } - - world.setBlock(x, y + 1, z, Blocks.water, 0, 3); - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - }else - { - boolean hasSanctus = this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, false); - if(!hasSanctus) - { - return; - } - TileEntity tile = world.getTileEntity(x, y + 1, z); - if(tile instanceof IFluidHandler) - { - int amount = ((IFluidHandler) tile).fill(ForgeDirection.DOWN, new FluidStack(FluidRegistry.WATER, 1000), false); - if(amount >= 1000) - { - ((IFluidHandler) tile).fill(ForgeDirection.DOWN, new FluidStack(FluidRegistry.WATER, 1000), true); - - this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, true); - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); - } - } - } - - if(hasCrystallos) - { - int range = 2; - for(int i=-range; i<=range; i++) - { - for(int j=-range; j<=range; j++) - { - for(int k=-range; k<=range; k++) - { - hasCrystallos = hasCrystallos && this.canDrainReagent(ritualStone, ReagentRegistry.crystallosReagent, crystallosDrain, false); - - if(hasCrystallos) - { - boolean success = false; - if(!world.isAirBlock(x+i, y+j, z+k) && SpellHelper.freezeWaterBlock(world, x+i, y+j, z+k)) - { - success = true; - }else - { - if(world.rand.nextInt(100) == 0 && world.isSideSolid(x+i, y+j-1, z+k, ForgeDirection.UP)) - { - success = true; - } - } - - if(success) - { - this.canDrainReagent(ritualStone, ReagentRegistry.crystallosReagent, crystallosDrain, true); - } - } - } - } - } - } - } - - public int getCostPerRefresh() - { - return 25; - } - - @Override - public List getRitualComponentList() - { - ArrayList waterRitual = new ArrayList(); - waterRitual.add(new RitualComponent(-1, 0, 1, 1)); - waterRitual.add(new RitualComponent(-1, 0, -1, 1)); - waterRitual.add(new RitualComponent(1, 0, -1, 1)); - waterRitual.add(new RitualComponent(1, 0, 1, 1)); - return waterRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java deleted file mode 100644 index 7ec6e98b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java +++ /dev/null @@ -1,146 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; - -public class RitualEffectWellOfSuffering extends RitualEffect -{ - public static final int timeDelay = 25; - public static final int amount = 10; - - @Override - public void performEffect(IMasterRitualStone ritualStone) - { - String owner = ritualStone.getOwner(); - - int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); - World world = ritualStone.getWorld(); - int x = ritualStone.getXCoord(); - int y = ritualStone.getYCoord(); - int z = ritualStone.getZCoord(); - - if (world.getWorldTime() % this.timeDelay != 0) - { - return; - } - - TEAltar tileAltar = null; - boolean testFlag = false; - - for (int i = -5; i <= 5; i++) - { - for (int j = -5; j <= 5; j++) - { - for (int k = -10; k <= 10; k++) - { - if (world.getTileEntity(x + i, y + k, z + j) instanceof TEAltar) - { - tileAltar = (TEAltar) world.getTileEntity(x + i, y + k, z + j); - testFlag = true; - } - } - } - } - - if (!testFlag) - { - return; - } - - int d0 = 10; - int vertRange = 10; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) (x + 1), (double) (y + 1), (double) (z + 1)).expand(d0, vertRange, d0); - List list = world.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - - int entityCount = 0; - - if (currentEssence < this.getCostPerRefresh() * list.size()) - { - SoulNetworkHandler.causeNauseaToPlayer(owner); - } else - { - for(EntityLivingBase livingEntity : list) - { - if (livingEntity instanceof EntityPlayer || AlchemicalWizardry.wellBlacklist.contains(livingEntity.getClass())) - { - continue; - } - - if(livingEntity.attackEntityFrom(DamageSource.outOfWorld, 1)) - { - entityCount++; - tileAltar.sacrificialDaggerCall(this.amount, true); - } - } - - SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh() * entityCount); - } - } - - @Override - public int getCostPerRefresh() - { - return 2; - } - - @Override - public List getRitualComponentList() - { - ArrayList wellOfSufferingRitual = new ArrayList(); - wellOfSufferingRitual.add(new RitualComponent(1, 0, 1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(1, 0, -1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, 2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, -2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, 2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, -2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(0, -1, 2, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, 0, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(0, -1, -2, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, 0, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(-3, -1, -3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(3, -1, -3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(-3, -1, 3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(3, -1, 3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, -1, 2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, -1, -2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, -1, 2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, -1, -2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(1, 0, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, 0, 1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(1, 0, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, 0, 1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, 0, -1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, 0, -1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, 1, 0, RitualComponent.AIR)); - wellOfSufferingRitual.add(new RitualComponent(0, 1, 4, RitualComponent.AIR)); - wellOfSufferingRitual.add(new RitualComponent(-4, 1, 0, RitualComponent.AIR)); - wellOfSufferingRitual.add(new RitualComponent(0, 1, -4, RitualComponent.AIR)); - return wellOfSufferingRitual; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/EntitySpellProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/EntitySpellProjectile.java deleted file mode 100644 index 767b22f3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/EntitySpellProjectile.java +++ /dev/null @@ -1,624 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.IProjectileImpactEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.IProjectileUpdateEffect; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntitySpellProjectile extends Entity implements IProjectile -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - /** The owner of this arrow. */ - public EntityPlayer shootingEntity; - private int ticksInAir = 0; - private int ricochetCounter = 0; - private boolean scheduledForDeath = false; - private boolean isSilkTouch = false; - - //Custom variables - private int maxRicochet = 0; - private float damage = 1; - public List impactList = new ArrayList(); - private boolean penetration = false; - public List updateEffectList = new ArrayList(); - public List spellEffectList = new LinkedList(); - private int blocksBroken = 0; - - public EntitySpellProjectile(World par1World) - { - super(par1World); - this.setSize(0.5F, 0.5F); - } - - public EntitySpellProjectile(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - yOffset = 0.0F; - } - - public EntitySpellProjectile(World par1World, EntityPlayer par2EntityPlayer) - { - super(par1World); - shootingEntity = par2EntityPlayer; - float par3 = 0.8F; - this.setSize(0.1F, 0.1F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + par2EntityPlayer.getEyeHeight(), par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - posX -= MathHelper.cos(rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - posY -= 0.2D; - posZ -= MathHelper.sin(rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(posX, posY, posZ); - yOffset = 0.0F; - motionX = -MathHelper.sin(rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float)Math.PI); - motionZ = MathHelper.cos(rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float)Math.PI); - motionY = -MathHelper.sin(rotationPitch / 180.0F * (float)Math.PI); - this.setThrowableHeading(motionX, motionY, motionZ, par3 * 1.5F, 1.0F); - - } - - @Override - protected void entityInit() { - dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - @Override - public void setThrowableHeading(double var1, double var3, double var5, float var7, float var8) { - float var9 = MathHelper.sqrt_double(var1 * var1 + var3 * var3 + var5 * var5); - var1 /= var9; - var3 /= var9; - var5 /= var9; - var1 += rand.nextGaussian() * 0.007499999832361937D * var8; - var3 += rand.nextGaussian() * 0.007499999832361937D * var8; - var5 += rand.nextGaussian() * 0.007499999832361937D * var8; - var1 *= var7; - var3 *= var7; - var5 *= var7; - motionX = var1; - motionY = var3; - motionZ = var5; - float var10 = MathHelper.sqrt_double(var1 * var1 + var5 * var5); - prevRotationYaw = rotationYaw = (float)(Math.atan2(var1, var5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float)(Math.atan2(var3, var10) * 180.0D / Math.PI); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - motionX = par1; - motionY = par3; - motionZ = par5; - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) { - float var7 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - prevRotationYaw = rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float)(Math.atan2(par3, var7) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch; - prevRotationYaw = rotationYaw; - this.setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - super.onUpdate(); - this.performUpdateEffects(); - if (ticksInAir > 600) { - this.setDead(); - } - if (shootingEntity == null) { - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(posX - 1, posY - 1, posZ - 1, posX + 1, posY + 1, posZ + 1)); - Iterator i = players.iterator(); - double closestDistance = Double.MAX_VALUE; - EntityPlayer closestPlayer = null; - while (i.hasNext()) { - EntityPlayer e = (EntityPlayer)i.next(); - double distance = e.getDistanceToEntity(this); - if (distance < closestDistance) { - closestPlayer = e; - } - } - if (closestPlayer != null) { - shootingEntity = closestPlayer; - } - } - if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) { - float var1 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - prevRotationYaw = rotationYaw = (float)(Math.atan2(motionX, motionZ) * 180.0D / Math.PI); - prevRotationPitch = rotationPitch = (float)(Math.atan2(motionY, var1) * 180.0D / Math.PI); - } - Block var16 = worldObj.getBlock(xTile, yTile, zTile); - - if (var16 != null) - { - var16.setBlockBoundsBasedOnState(worldObj, xTile, yTile, zTile); - AxisAlignedBB var2 = var16.getCollisionBoundingBoxFromPool(worldObj, xTile, yTile, zTile); - - if (var2 != null && var2.isVecInside(Vec3.createVectorHelper(posX, posY, posZ))) - { - inGround = true; - } - } - - if (inGround) - { - Block var18 = worldObj.getBlock(xTile, yTile, zTile); - int var19 = worldObj.getBlockMetadata(xTile, yTile, zTile); - - if (var18.equals(Block.getBlockById(inTile)) && var19 == inData) - { - // this.groundImpact(); - // this.setDead(); - } - } else - { - ++ticksInAir; - - if (ticksInAir > 1 && ticksInAir < 3) - { - //worldObj.spawnParticle("flame", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0D, 0D, 0D); - for (int particles = 0; particles < 3; particles++) - { - this.doFiringParticles(); - } - } - - Vec3 var17 = Vec3.createVectorHelper(posX, posY, posZ); - Vec3 var3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ); - MovingObjectPosition var4 = worldObj.func_147447_a(var17, var3, true, false, false); - var17 = Vec3.createVectorHelper(posX, posY, posZ); - var3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ); - - if (var4 != null) - { - var3 = Vec3.createVectorHelper(var4.hitVec.xCoord, var4.hitVec.yCoord, var4.hitVec.zCoord); - } - - Entity var5 = null; - List var6 = worldObj.getEntitiesWithinAABBExcludingEntity(this, boundingBox.addCoord(motionX, motionY, motionZ).expand(1.0D, 1.0D, 1.0D)); - double var7 = 0.0D; - Iterator var9 = var6.iterator(); - float var11; - - while (var9.hasNext()) - { - Entity var10 = (Entity) var9.next(); - - if (var10.canBeCollidedWith() && (var10 != shootingEntity || ticksInAir >= 5)) - { - var11 = 0.3F; - AxisAlignedBB var12 = var10.boundingBox.expand(var11, var11, var11); - MovingObjectPosition var13 = var12.calculateIntercept(var17, var3); - - if (var13 != null) - { - double var14 = var17.distanceTo(var13.hitVec); - - if (var14 < var7 || var7 == 0.0D) - { - var5 = var10; - var7 = var14; - } - } - } - } - - if (var5 != null) - { - var4 = new MovingObjectPosition(var5); - } - - if (var4 != null) - { - this.onImpact(var4); - - if (scheduledForDeath) - { - this.setDead(); - } - } - - posX += motionX; - posY += motionY; - posZ += motionZ; - MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); - this.setPosition(posX, posY, posZ); - //this.doBlockCollisions(); - } - } - - private void doFlightParticles() { - if (ticksInAir % 3 == 0) { - double gauss = gaussian(1.0F); - worldObj.spawnParticle("mobSpell", posX, posY, posZ, gauss, gauss, 0.0F); - } - } - - private void doFiringParticles() { - worldObj.spawnParticle("mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), 0.5D, 0.5D, 0.5D); - worldObj.spawnParticle("flame", posX, posY, posZ, gaussian(motionX), gaussian(motionY), gaussian(motionZ)); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)xTile); - par1NBTTagCompound.setShort("yTile", (short)yTile); - par1NBTTagCompound.setShort("zTile", (short)zTile); - par1NBTTagCompound.setByte("inTile", (byte)inTile); - par1NBTTagCompound.setByte("inData", (byte)inData); - par1NBTTagCompound.setByte("inGround", (byte)(inGround ? 1 : 0)); - - NBTTagList effectList = new NBTTagList(); - - for(SpellEffect eff : spellEffectList) - { - effectList.appendTag(eff.getTag()); - } - -// for (String str : this.effectList) -// { -// if (str != null) -// { -// NBTTagCompound tag = new NBTTagCompound(); -// -// tag.setString("Class", str); -// effectList.appendTag(tag); -// } -// } - - par1NBTTagCompound.setTag("Effects", effectList); - par1NBTTagCompound.setInteger("blocksBroken", blocksBroken); - par1NBTTagCompound.setBoolean("isSilkTouch", isSilkTouch); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - xTile = par1NBTTagCompound.getShort("xTile"); - yTile = par1NBTTagCompound.getShort("yTile"); - zTile = par1NBTTagCompound.getShort("zTile"); - inTile = par1NBTTagCompound.getByte("inTile") & 255; - inData = par1NBTTagCompound.getByte("inData") & 255; - inGround = par1NBTTagCompound.getByte("inGround") == 1; - blocksBroken = par1NBTTagCompound.getInteger("blocksBroken"); - isSilkTouch = par1NBTTagCompound.getBoolean("isSilkTouch"); - - NBTTagList tagList = par1NBTTagCompound.getTagList("Effects",Constants.NBT.TAG_COMPOUND); - - List spellEffectList = new LinkedList(); - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - - SpellEffect eff = SpellEffect.getEffectFromTag(tag); - if(eff!=null) - { - spellEffectList.add(eff); - } - } - this.spellEffectList = spellEffectList; - - -// this.effectList = new LinkedList(); -// for (int i = 0; i < tagList.tagCount(); i++) -// { -// NBTTagCompound tag = (NBTTagCompound) tagList.tagAt(i); -// -// this.effectList.add(tag.getString("Class")); -// } - - //SpellParadigmProjectile parad = SpellParadigmProjectile.getParadigmForStringArray(effectList); - SpellParadigmProjectile parad = SpellParadigmProjectile.getParadigmForEffectArray(spellEffectList); - parad.applyAllSpellEffects(); - parad.prepareProjectile(this); - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte var2 = dataWatcher.getWatchableObjectByte(16); - if (par1) { - dataWatcher.updateObject(16, Byte.valueOf((byte)(var2 | 1))); - } else { - dataWatcher.updateObject(16, Byte.valueOf((byte)(var2 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte var1 = dataWatcher.getWatchableObjectByte(16); - return (var1 & 1) != 0; - } - - private void onImpact(MovingObjectPosition mop) - { - if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY && mop.entityHit != null) - { - if (mop.entityHit == shootingEntity) return; - this.onImpact(mop.entityHit); - this.performEntityImpactEffects(mop.entityHit); - } - else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) - { - if(!this.penetration) - { - this.groundImpact(mop.sideHit); - this.performTileImpactEffects(mop); - } - } - } - - private void onImpact(Entity mop) //TODO - { - if (mop == shootingEntity && ticksInAir > 3) - { - shootingEntity.attackEntityFrom(DamageSource.causePlayerDamage(shootingEntity), 1); - this.setDead(); - } - else - { - doDamage(this.damage, mop); - } - spawnHitParticles("exorcism", 8); - this.setDead(); - } - - - private void spawnHitParticles(String string, int i) { - for (int particles = 0; particles < i; particles++) { - worldObj.spawnParticle("mobSpellAmbient", posX + smallGauss(0.1D), posY + smallGauss(0.1D), posZ + smallGauss(0.1D), posGauss(1.0F), posGauss(1.0F), 0.0F); - } - } - - private void doDamage(float f, Entity mop) - { - mop.attackEntityFrom(this.getDamageSource(), f); - } - - private DamageSource getDamageSource() - { - return DamageSource.causePlayerDamage(shootingEntity); - } - - private void groundImpact(int sideHit) { - this.ricochet(sideHit); - } - - private double smallGauss(double d) { - return (worldObj.rand.nextFloat() - 0.5D) * d; - } - - private double posGauss(double d) { - return rand.nextFloat() * 0.5D * d; - } - - private double gaussian(double d) { - return d + d * ((rand.nextFloat() - 0.5D) / 4); - } - - private void ricochet(int sideHit) { - switch (sideHit) { - case 0: - case 1: - // topHit, bottomHit, reflect Y - motionY = motionY * -1; - break; - case 2: - case 3: - // westHit, eastHit, reflect Z - motionZ = motionZ * -1; - break; - case 4: - case 5: - // southHit, northHit, reflect X - motionX = motionX * -1; - break; - } - ricochetCounter++; - if (ricochetCounter > this.getRicochetMax()) { - scheduledForDeath = true; - for (int particles = 0; particles < 4; particles++) { - switch (sideHit) { - case 0: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), -gaussian(0.1D), gaussian(0.1D)); - break; - case 1: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - case 2: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), -gaussian(0.1D)); - break; - case 3: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - case 4: - worldObj.spawnParticle("smoke", posX, posY, posZ, -gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - case 5: - worldObj.spawnParticle("smoke", posX, posY, posZ, gaussian(0.1D), gaussian(0.1D), gaussian(0.1D)); - break; - } - } - } - } - - //Custom stuff - public int getRicochetMax() - { - return this.maxRicochet; - } - - public void setRicochetMax(int ricochet) - { - this.maxRicochet = ricochet; - } - - public void setImpactList(List list) - { - this.impactList = list; - } - - public void setUpdateEffectList(List list) - { - this.updateEffectList = list; - } - - private void performEntityImpactEffects(Entity mop) - { - if(impactList!=null) - { - for(IProjectileImpactEffect impactEffect : impactList) - { - impactEffect.onEntityImpact(mop, this); - } - } - } - - private void performTileImpactEffects(MovingObjectPosition mop) - { - if(impactList!=null) - { - for(IProjectileImpactEffect impactEffect : impactList) - { - impactEffect.onTileImpact(worldObj, mop); - } - } - } - - private void performUpdateEffects() - { - if(updateEffectList!=null) - { - for(IProjectileUpdateEffect updateEffect : updateEffectList) - { - updateEffect.onUpdateEffect(this); - } - } - } - - public void setPenetration(boolean penetration) - { - this.penetration = penetration; - } - - public float getDamage() - { - return this.damage; - } - - public void setDamage(float damage) - { - this.damage = damage; - } - - public void setSpellEffectList(List list) - { - this.spellEffectList = list; - } - - public int getBlocksBroken() - { - return this.blocksBroken; - } - - public void setBlocksBroken(int blocksBroken) - { - this.blocksBroken = blocksBroken; - } - - public boolean getIsSilkTouch() - { - return this.isSilkTouch; - } - - public void setIsSilkTouch(boolean bool) - { - this.isSilkTouch = bool; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifier.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifier.java deleted file mode 100644 index 39297530..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifier.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -public class SpellModifier -{ - public static final int DEFAULT = 0; - public static final int OFFENSIVE = 1; - public static final int DEFENSIVE = 2; - public static final int ENVIRONMENTAL = 3; - - private int modifier; - - protected SpellModifier(int modifier) - { - this.modifier = modifier; - } - - public int getModifier() - { - return this.modifier; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierDefault.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierDefault.java deleted file mode 100644 index fd379ae1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierDefault.java +++ /dev/null @@ -1,9 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -public class SpellModifierDefault extends SpellModifier -{ - public SpellModifierDefault() - { - super(SpellModifier.DEFAULT); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierDefensive.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierDefensive.java deleted file mode 100644 index f9f69dbe..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierDefensive.java +++ /dev/null @@ -1,9 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -public class SpellModifierDefensive extends SpellModifier -{ - public SpellModifierDefensive() - { - super(SpellModifier.DEFENSIVE); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierEnvironmental.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierEnvironmental.java deleted file mode 100644 index ff9ef7f4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierEnvironmental.java +++ /dev/null @@ -1,9 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -public class SpellModifierEnvironmental extends SpellModifier -{ - public SpellModifierEnvironmental() - { - super(SpellModifier.ENVIRONMENTAL); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierOffensive.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierOffensive.java deleted file mode 100644 index 783ab1e3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellModifierOffensive.java +++ /dev/null @@ -1,9 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -public class SpellModifierOffensive extends SpellModifier -{ - public SpellModifierOffensive() - { - super(SpellModifier.OFFENSIVE); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigm.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigm.java deleted file mode 100644 index 75bad220..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigm.java +++ /dev/null @@ -1,163 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; - -public abstract class SpellParadigm -{ - protected List bufferedEffectList = new LinkedList(); - public List effectList = new LinkedList(); - - public void addBufferedEffect(SpellEffect effect) - { - if(effect!=null) - { - this.bufferedEffectList.add(effect); - - effectList.add(effect.getClass().getName()); - } - } - - public void modifyBufferedEffect(SpellModifier modifier) - { - SpellEffect effect = this.getBufferedEffect(); - if(effect!=null) - { - effect.modifyEffect(modifier); - - effectList.add(modifier.getClass().getName()); - } - } - - public void applyEnhancement(SpellEnhancement enh) - { - if(enh!=null) - { - if(bufferedEffectList.isEmpty()) - { - this.enhanceParadigm(enh); - } - else - { - SpellEffect effect = this.getBufferedEffect(); - if(effect!=null) - { - effect.enhanceEffect(enh); - } - } - - effectList.add(enh.getClass().getName()); - } - - } - - public abstract void enhanceParadigm(SpellEnhancement enh); - public abstract void castSpell(World world, EntityPlayer entityPlayer, ItemStack itemStack); - - public void applySpellEffect(SpellEffect effect) - { - effect.modifyParadigm(this); - } - - public void applyAllSpellEffects() - { - for(SpellEffect effect : bufferedEffectList) - { - this.applySpellEffect(effect); - } - } - - public SpellEffect getBufferedEffect() - { - if(bufferedEffectList.isEmpty()) - { - return null; - } - else - { - return bufferedEffectList.get(bufferedEffectList.size()-1); - } - } - - public int getTotalCost() - { - int cost = 0; - if(this.bufferedEffectList!=null && !this.bufferedEffectList.isEmpty()) - { - if(this instanceof SpellParadigmProjectile) - { - for(SpellEffect effect : bufferedEffectList) - { - cost+=effect.getCostForProjectile(); - } - }else if(this instanceof SpellParadigmSelf) - { - for(SpellEffect effect : bufferedEffectList) - { - cost+=effect.getCostForSelf(); - } - }else if(this instanceof SpellParadigmMelee) - { - for(SpellEffect effect : bufferedEffectList) - { - cost+=effect.getCostForMelee(); - } - }else if(this instanceof SpellParadigmTool) - { - for(SpellEffect effect : bufferedEffectList) - { - cost+=effect.getCostForTool(); - } - } - - return (int)(cost*Math.sqrt(this.bufferedEffectList.size())); - } - - return getDefaultCost(); - } - - public abstract int getDefaultCost(); - - public int getBufferedEffectPower() - { - SpellEffect eff = this.getBufferedEffect(); - - if(eff!=null) - { - return eff.getPowerEnhancements(); - } - - return 0; - } - - public int getBufferedEffectCost() - { - SpellEffect eff = this.getBufferedEffect(); - - if(eff!=null) - { - return eff.getCostEnhancements(); - } - - return 0; - } - - public int getBufferedEffectPotency() - { - SpellEffect eff = this.getBufferedEffect(); - - if(eff!=null) - { - return eff.getPotencyEnhancements(); - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmMelee.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmMelee.java deleted file mode 100644 index b1cac7de..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmMelee.java +++ /dev/null @@ -1,70 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.IMeleeSpellEntityEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.IMeleeSpellWorldEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; - -public class SpellParadigmMelee extends SpellParadigm -{ - private List entityEffectList; - private List worldEffectList; - - public SpellParadigmMelee() - { - this.entityEffectList = new ArrayList(); - this.worldEffectList = new ArrayList(); - } - - @Override - public void enhanceParadigm(SpellEnhancement enh) - { - - } - - @Override - public void castSpell(World world, EntityPlayer entityPlayer, ItemStack itemStack) - { - for(IMeleeSpellEntityEffect effect : entityEffectList) - { - effect.onEntityImpact(world, entityPlayer); - } - - for(IMeleeSpellWorldEffect effect : worldEffectList) - { - effect.onWorldEffect(world, entityPlayer); - } - - int cost = this.getTotalCost(); - - EnergyItems.syphonBatteries(itemStack, entityPlayer, cost); - } - - 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 - public int getDefaultCost() - { - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmProjectile.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmProjectile.java deleted file mode 100644 index 8bb44f6a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmProjectile.java +++ /dev/null @@ -1,102 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -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.impactEffects.IProjectileImpactEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.IProjectileUpdateEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ProjectileDefaultFire; -import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; - -public class SpellParadigmProjectile extends SpellParadigm -{ - public DamageSource damageSource; - public float damage; - public int cost; - public List impactList; - public List updateEffectList; - public boolean penetration; - public int ricochetMax; - public boolean isSilkTouch; - - public SpellParadigmProjectile() - { - this.damageSource = DamageSource.generic; - this.damage = 1; - this.cost = 0; - this.impactList = new ArrayList(); - this.updateEffectList = new ArrayList(); - this.penetration = false; - this.ricochetMax = 0; - this.isSilkTouch = false; - } - - @Override - public void enhanceParadigm(SpellEnhancement enh) - { - - } - - @Override - public void castSpell(World world, EntityPlayer entityPlayer, ItemStack itemStack) - { - EntitySpellProjectile proj = new EntitySpellProjectile(world, entityPlayer); - this.prepareProjectile(proj); - world.spawnEntityInWorld(proj); - int cost = this.getTotalCost(); - - EnergyItems.syphonBatteries(itemStack, entityPlayer, cost); - } - - public static SpellParadigmProjectile getParadigmForEffectArray(List effectList) - { - SpellParadigmProjectile parad = new SpellParadigmProjectile(); - - for(SpellEffect eff : effectList) - { - parad.addBufferedEffect(eff); - } - - return parad; - } - - public void prepareProjectile(EntitySpellProjectile proj) - { - proj.setDamage(damage); - proj.setImpactList(impactList); - proj.setUpdateEffectList(updateEffectList); - proj.setPenetration(penetration); - proj.setRicochetMax(ricochetMax); - proj.setIsSilkTouch(isSilkTouch); - proj.setSpellEffectList(bufferedEffectList); - } - - 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 - public int getDefaultCost() - { - return 50; - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmSelf.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmSelf.java deleted file mode 100644 index 94a7186a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmSelf.java +++ /dev/null @@ -1,58 +0,0 @@ -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.effect.SpellEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ISelfSpellEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class SpellParadigmSelf extends SpellParadigm -{ - public List selfSpellEffectList; - - public SpellParadigmSelf() - { - selfSpellEffectList = new ArrayList(); - } - - @Override - public void enhanceParadigm(SpellEnhancement enh) - { - - } - - @Override - public void castSpell(World world, EntityPlayer entityPlayer, ItemStack itemStack) - { - this.applyAllSpellEffects(); - - 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 - public int getDefaultCost() - { - return 100; - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmTool.java deleted file mode 100644 index 16b1498f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/SpellParadigmTool.java +++ /dev/null @@ -1,501 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map.Entry; -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.items.spell.ItemSpellMultiTool; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IDigAreaEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IItemManipulator; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.ILeftClickEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IOnBanishTool; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IOnBreakBlock; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IOnSummonTool; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IRightClickEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.ISpecialDamageEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.IToolUpdateEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.RightClickTunnel; -import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; - -public class SpellParadigmTool extends SpellParadigm -{ - private List leftClickEffectList; - private List rightClickEffectList; - private List toolUpdateEffectList; - private List toolSummonEffectList; - private List toolBanishEffectList; - private List breakBlockEffectList; - private List itemManipulatorEffectList; - private List digAreaEffectList; - private List specialDamageEffectList; - - private float maxDamage; - private HashMap harvestLevel; - private HashMap digSpeed; - private HashMap maxDamageHash; - private HashMap critChanceHash; - private HashMap durationHash; //ticks - - private HashMap toolInfoString; - - private int fortuneLevel; - private boolean silkTouch; - - private int duration; - - public SpellParadigmTool() - { - this.leftClickEffectList = new LinkedList(); - this.rightClickEffectList = new LinkedList(); - this.toolUpdateEffectList = new LinkedList(); - this.toolSummonEffectList = new LinkedList(); - this.toolBanishEffectList = new LinkedList(); - this.breakBlockEffectList = new LinkedList(); - this.itemManipulatorEffectList = new LinkedList(); - this.digAreaEffectList = new LinkedList(); - this.specialDamageEffectList = new LinkedList(); - this.durationHash = new HashMap(); - - this.toolInfoString = new HashMap(); - this.critChanceHash = new HashMap(); - - this.maxDamage = 5; - - this.harvestLevel = new HashMap(); - this.harvestLevel.put("pickaxe", -1); - this.harvestLevel.put("shovel", -1); - this.harvestLevel.put("axe", -1); - - this.digSpeed = new HashMap(); - this.digSpeed.put("pickaxe", 1.0f); - this.digSpeed.put("shovel", 1.0f); - this.digSpeed.put("axe", 1.0f); - - this.maxDamageHash = new HashMap(); - this.maxDamageHash.put("default", 5.0f); - - this.fortuneLevel = 0; - this.silkTouch = false; - - this.duration = 0; - - this.durationHash.put("default", 2400); - - //this.addRightClickEffect(new RightClickTunnel(0,0,0)); - - //this.addItemManipulatorEffect(new ToolDefaultFire(0,0,0)); - //this.addDigAreaEffect(new DigAreaEffect(0,0,0)); - } - - @Override - public void enhanceParadigm(SpellEnhancement enh) - { - - } - - @Override - public void castSpell(World world, EntityPlayer entityPlayer, ItemStack crystal) - { - if(entityPlayer.worldObj.isRemote) - { - return; - } - - int cost = this.getTotalCost(); - - EnergyItems.syphonBatteries(crystal, entityPlayer, cost); - - ItemStack toolStack = this.prepareTool(crystal, world); - - entityPlayer.setCurrentItemOrArmor(0, toolStack); - - this.onSummonTool(toolStack, world, entityPlayer); - } - - /** - * - * @param crystalStack - * @return stack containing the new multitool - */ - public ItemStack prepareTool(ItemStack crystalStack, World world) - { - ItemStack toolStack = new ItemStack(ModItems.customTool,1); - - ItemSpellMultiTool itemTool = (ItemSpellMultiTool) ModItems.customTool; - - itemTool.setItemAttack(toolStack, this.composeMaxDamageFromHash()); - - Set> harvestLevelSet = this.harvestLevel.entrySet(); - - for(Entry testMap : harvestLevelSet) - { - String tool = testMap.getKey(); - int level = testMap.getValue(); - - itemTool.setHarvestLevel(toolStack, tool, level); - } - - Set> digSpeedSet = this.digSpeed.entrySet(); - - for(Entry testMap : digSpeedSet) - { - String tool = testMap.getKey(); - float speed = testMap.getValue(); - - itemTool.setDigSpeed(toolStack, tool, speed); - } - - itemTool.setFortuneLevel(toolStack, getFortuneLevel()); - itemTool.setSilkTouch(toolStack, this.getSilkTouch()); - - if(this.getSilkTouch()) - { - this.addToolString("SilkTouch", "Silk Touch" + " " + SpellHelper.getNumeralForInt(1)); - } - - if(this.getFortuneLevel() > 0) - { - this.addToolString("Fortune", "Fortune" + " " + SpellHelper.getNumeralForInt(this.getFortuneLevel())); - } - - itemTool.setCritChance(toolStack, this.getCritChance()/100f); - - List toolStringList = new LinkedList(); - - for(String str : this.toolInfoString.values()) - { - toolStringList.add(str); - } - - itemTool.setToolListString(toolStack, toolStringList); - - for(Integer integ : this.durationHash.values()) - { - this.duration += integ; - } - - itemTool.setDuration(toolStack, world, this.duration); - itemTool.loadParadigmIntoStack(toolStack, this.bufferedEffectList); - - EnergyItems.checkAndSetItemOwner(toolStack, EnergyItems.getOwnerName(crystalStack)); - - itemTool.setContainedCrystal(toolStack, crystalStack); - - return toolStack; - } - - @Override - public int getDefaultCost() - { - return 100; - } - - public static SpellParadigmTool getParadigmForEffectArray(List effectList) - { - SpellParadigmTool parad = new SpellParadigmTool(); - - for(SpellEffect eff : effectList) - { - parad.addBufferedEffect(eff); - } - - parad.applyAllSpellEffects(); - - return parad; - } - - public void addLeftClickEffect(ILeftClickEffect eff) - { - if(eff != null) - { - this.leftClickEffectList.add(eff); - } - } - - public void addRightClickEffect(IRightClickEffect eff) - { - if(eff != null) - { - this.rightClickEffectList.add(eff); - } - } - - public void addUpdateEffect(IToolUpdateEffect eff) - { - if(eff != null) - { - this.toolUpdateEffectList.add(eff); - } - } - - public void addToolSummonEffect(IOnSummonTool eff) - { - if(eff != null) - { - this.toolSummonEffectList.add(eff); - } - } - - public void addToolBanishEffect(IOnBanishTool eff) - { - if(eff != null) - { - this.toolBanishEffectList.add(eff); - } - } - - public void addBlockBreakEffect(IOnBreakBlock eff) - { - if(eff != null) - { - this.breakBlockEffectList.add(eff); - } - } - - public void addItemManipulatorEffect(IItemManipulator eff) - { - if(eff != null) - { - this.itemManipulatorEffectList.add(eff); - } - } - - public void addDigAreaEffect(IDigAreaEffect eff) - { - if(eff != null) - { - this.digAreaEffectList.add(eff); - } - } - - public void addSpecialDamageEffect(ISpecialDamageEffect eff) - { - if(eff != null) - { - this.specialDamageEffectList.add(eff); - } - } - - public int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder) - { - int total = 0; - for(ILeftClickEffect effect : this.leftClickEffectList) - { - total += effect.onLeftClickEntity(stack, attacked, weilder); - } - - return total; - } - - public int onRightClickBlock(ItemStack toolStack, EntityLivingBase weilder, World world, MovingObjectPosition mop) - { - int total = 0; - for(IRightClickEffect effect : this.rightClickEffectList) - { - total += effect.onRightClickBlock(toolStack, weilder, world, mop); - } - - return total; - } - - public int onRightClickAir(ItemStack toolStack, World world, EntityPlayer player) - { - int total = 0; - for(IRightClickEffect effect : this.rightClickEffectList) - { - total += effect.onRightClickAir(toolStack, player); - } - - return total; - } - - public int onUpdate(ItemStack toolStack, World world, Entity par3Entity, int invSlot, boolean inHand) - { - int total = 0; - for(IToolUpdateEffect effect : this.toolUpdateEffectList) - { - total += effect.onUpdate(toolStack, world, par3Entity, invSlot, inHand); - } - - return total; - } - - public int onSummonTool(ItemStack toolStack, World world, Entity entity) - { - int total = 0; - for(IOnSummonTool effect : this.toolSummonEffectList) - { - total += effect.onSummonTool(toolStack, world, entity); - } - - return total; - } - - public int onBanishTool(ItemStack toolStack, World world, Entity entity, int invSlot, boolean inHand) - { - int total = 0; - for(IOnBanishTool effect : this.toolBanishEffectList) - { - total += effect.onBanishTool(toolStack, world, entity, invSlot, inHand); - } - - return total; - } - - public int onBreakBlock(ItemStack container, World world, EntityPlayer player, Block block, int meta, int x, int y, int z, ForgeDirection sideBroken) - { - int total = 0; - for(IOnBreakBlock effect : this.breakBlockEffectList) - { - total += effect.onBlockBroken(container, world, player, block, meta, x, y, z, sideBroken); - } - - return total; - } - - public List handleItemList(ItemStack toolStack, List items) - { - List heldList = items; - - for(IItemManipulator eff : this.itemManipulatorEffectList) - { - List newHeldList = eff.handleItemsOnBlockBroken(toolStack, heldList); - heldList = newHeldList; - } - - return heldList; - } - - public int digSurroundingArea(ItemStack container, World world, EntityPlayer player, MovingObjectPosition blockPos, String usedToolClass, float blockHardness, int harvestLvl, ItemSpellMultiTool itemTool) - { - int cost = 0; - - for(IDigAreaEffect effect : this.digAreaEffectList) - { - cost += effect.digSurroundingArea(container, world, player, blockPos, usedToolClass, blockHardness, harvestLvl, itemTool); - } - - return cost; - } - - public int getFortuneLevel() - { - return this.fortuneLevel; - } - - public void setFortuneLevel(int fortuneLevel) - { - this.fortuneLevel = fortuneLevel; - } - - public boolean getSilkTouch() - { - return this.silkTouch; - } - - public void setSilkTouch(boolean silkTouch) - { - this.silkTouch = silkTouch; - } - - public int getDuration() - { - return this.duration; - } - - public void setDuration(int duration) - { - this.duration = duration; - } - - public void setDigSpeed(String toolClass, float digSpeed) - { - this.digSpeed.put(toolClass, digSpeed); - } - - public void setHarvestLevel(String toolClass, int hlvl) - { - this.harvestLevel.put(toolClass, hlvl); - } - - public float composeMaxDamageFromHash() - { - float damage = 0.0f; - - for(float f : this.maxDamageHash.values()) - { - damage += f; - } - - return damage; - } - - public void addDamageToHash(String key, float dmg) - { - this.maxDamageHash.put(key, dmg); - } - - public void addToolString(String key, String str) - { - if(str != null && key != null) - { - this.toolInfoString.put(key, str); - } - } - - public void addCritChance(String key, float chance) - { - //Chance is in percentage chance i.e. chance = 1.0 means 1.0% - this.critChanceHash.put(key, chance); - } - - public void addDuration(String key, int dur) - { - this.durationHash.put(key, dur); - } - - public float getCritChance() - { - float chance = 0.0f; - - for(float fl : this.critChanceHash.values()) - { - chance += fl; - } - - return chance; - } - - public float getAddedDamageForEntity(Entity entity) - { - HashMap hash = new HashMap(); - - for(ISpecialDamageEffect effect : this.specialDamageEffectList) - { - hash.put(effect.getKey(), effect.getDamageForEntity(entity)); - } - - float addedDmg = 0.0f; - - for(float fl : hash.values()) - { - addedDmg += fl; - } - - return addedDmg; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffect.java deleted file mode 100644 index d241917e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffect.java +++ /dev/null @@ -1,259 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect; - -import net.minecraft.nbt.NBTTagCompound; -import WayofTime.alchemicalWizardry.common.spell.complex.SpellModifier; -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; -import WayofTime.alchemicalWizardry.common.spell.complex.enhancement.SpellEnhancement; - -public abstract class SpellEffect -{ - protected int modifierState; - protected int powerEnhancement; - protected int costEnhancement; - protected int potencyEnhancement; - - public SpellEffect() - { - this.modifierState = SpellModifier.DEFAULT; - this.powerEnhancement = 0; - this.costEnhancement = 0; - this.potencyEnhancement = 0; - } - - public void enhanceEffect(SpellEnhancement enh) - { - if(enh!=null) - { - switch(enh.getState()) - { - case SpellEnhancement.POWER: this.powerEnhancement++; break; - case SpellEnhancement.EFFICIENCY: this.costEnhancement++; break; - case SpellEnhancement.POTENCY: this.potencyEnhancement++; break; - } - } - } - - public void modifyEffect(SpellModifier mod) - { - if(mod!=null) - modifierState = mod.getModifier(); - } - - public void modifyParadigm(SpellParadigm parad) - { - if(parad instanceof SpellParadigmProjectile) - { - this.modifyProjectileParadigm((SpellParadigmProjectile)parad); - } - if(parad instanceof SpellParadigmSelf) - { - this.modifySelfParadigm((SpellParadigmSelf)parad); - } - if(parad instanceof SpellParadigmMelee) - { - this.modifyMeleeParadigm((SpellParadigmMelee)parad); - } - if(parad instanceof SpellParadigmTool) - { - this.modifyToolParadigm((SpellParadigmTool)parad); - } - } - - public void modifyProjectileParadigm(SpellParadigmProjectile parad) - { - switch(modifierState) - { - case SpellModifier.DEFAULT: this.defaultModificationProjectile(parad); break; - case SpellModifier.OFFENSIVE: this.offensiveModificationProjectile(parad); break; - case SpellModifier.DEFENSIVE: this.defensiveModificationProjectile(parad); break; - case SpellModifier.ENVIRONMENTAL: this.environmentalModificationProjectile(parad); break; - } - } - - public abstract void defaultModificationProjectile(SpellParadigmProjectile parad); - public abstract void offensiveModificationProjectile(SpellParadigmProjectile parad); - public abstract void defensiveModificationProjectile(SpellParadigmProjectile parad); - public abstract void environmentalModificationProjectile(SpellParadigmProjectile parad); - - public void modifySelfParadigm(SpellParadigmSelf parad) - { - switch(modifierState) - { - case SpellModifier.DEFAULT: this.defaultModificationSelf(parad); break; - case SpellModifier.OFFENSIVE: this.offensiveModificationSelf(parad); break; - case SpellModifier.DEFENSIVE: this.defensiveModificationSelf(parad); break; - case SpellModifier.ENVIRONMENTAL: this.environmentalModificationSelf(parad); break; - } - } - - public abstract void defaultModificationSelf(SpellParadigmSelf parad); - public abstract void offensiveModificationSelf(SpellParadigmSelf parad); - public abstract void defensiveModificationSelf(SpellParadigmSelf parad); - public abstract void environmentalModificationSelf(SpellParadigmSelf parad); - - public void modifyMeleeParadigm(SpellParadigmMelee parad) - { - switch(modifierState) - { - case SpellModifier.DEFAULT: this.defaultModificationMelee(parad); break; - case SpellModifier.OFFENSIVE: this.offensiveModificationMelee(parad); break; - case SpellModifier.DEFENSIVE: this.defensiveModificationMelee(parad); break; - case SpellModifier.ENVIRONMENTAL: this.environmentalModificationMelee(parad); break; - } - } - - public abstract void defaultModificationMelee(SpellParadigmMelee parad); - public abstract void offensiveModificationMelee(SpellParadigmMelee parad); - public abstract void defensiveModificationMelee(SpellParadigmMelee parad); - public abstract void environmentalModificationMelee(SpellParadigmMelee parad); - - public void modifyToolParadigm(SpellParadigmTool parad) - { - switch(modifierState) - { - case SpellModifier.DEFAULT: this.defaultModificationTool(parad); break; - case SpellModifier.OFFENSIVE: this.offensiveModificationTool(parad); break; - case SpellModifier.DEFENSIVE: this.defensiveModificationTool(parad); break; - case SpellModifier.ENVIRONMENTAL: this.environmentalModificationTool(parad); break; - } - } - - public abstract void defaultModificationTool(SpellParadigmTool parad); - public abstract void offensiveModificationTool(SpellParadigmTool parad); - public abstract void defensiveModificationTool(SpellParadigmTool parad); - public abstract void environmentalModificationTool(SpellParadigmTool parad); - - public int getCostForProjectile() - { - switch(this.modifierState) - { - case SpellModifier.DEFAULT: return this.getCostForDefaultProjectile(); - case SpellModifier.OFFENSIVE: return this.getCostForOffenseProjectile(); - case SpellModifier.DEFENSIVE: return this.getCostForDefenseProjectile(); - case SpellModifier.ENVIRONMENTAL: return this.getCostForEnvironmentProjectile(); - } - return 0; - } - - protected abstract int getCostForDefaultProjectile(); - protected abstract int getCostForOffenseProjectile(); - protected abstract int getCostForDefenseProjectile(); - protected abstract int getCostForEnvironmentProjectile(); - - public int getCostForSelf() - { - switch(this.modifierState) - { - case SpellModifier.DEFAULT: return this.getCostForDefaultSelf(); - case SpellModifier.OFFENSIVE: return this.getCostForOffenseSelf(); - case SpellModifier.DEFENSIVE: return this.getCostForDefenseSelf(); - case SpellModifier.ENVIRONMENTAL: return this.getCostForEnvironmentSelf(); - } - return 0; - } - - protected abstract int getCostForDefaultSelf(); - protected abstract int getCostForOffenseSelf(); - protected abstract int getCostForDefenseSelf(); - protected abstract int getCostForEnvironmentSelf(); - - public int getCostForMelee() - { - switch(this.modifierState) - { - case SpellModifier.DEFAULT: return this.getCostForDefaultMelee(); - case SpellModifier.OFFENSIVE: return this.getCostForOffenseMelee(); - case SpellModifier.DEFENSIVE: return this.getCostForDefenseMelee(); - case SpellModifier.ENVIRONMENTAL: return this.getCostForEnvironmentMelee(); - } - return 0; - } - - protected abstract int getCostForDefaultMelee(); - protected abstract int getCostForOffenseMelee(); - protected abstract int getCostForDefenseMelee(); - protected abstract int getCostForEnvironmentMelee(); - - public int getCostForTool() - { - switch(this.modifierState) - { - case SpellModifier.DEFAULT: return this.getCostForDefaultTool(); - case SpellModifier.OFFENSIVE: return this.getCostForOffenseTool(); - case SpellModifier.DEFENSIVE: return this.getCostForDefenseTool(); - case SpellModifier.ENVIRONMENTAL: return this.getCostForEnvironmentTool(); - } - return 0; - } - - protected abstract int getCostForDefaultTool(); - protected abstract int getCostForOffenseTool(); - protected abstract int getCostForDefenseTool(); - protected abstract int getCostForEnvironmentTool(); - - public int getPowerEnhancements() - { - return this.powerEnhancement; - } - - public int getCostEnhancements() - { - return this.costEnhancement; - } - - public int getPotencyEnhancements() - { - return this.potencyEnhancement; - } - - public NBTTagCompound getTag() - { - NBTTagCompound tag = new NBTTagCompound(); - - tag.setString("Class", this.getClass().getName()); - tag.setInteger("modifier", modifierState); - tag.setInteger("power", powerEnhancement); - tag.setInteger("cost", costEnhancement); - tag.setInteger("potency", potencyEnhancement); - - return tag; - } - - public static SpellEffect getEffectFromTag(NBTTagCompound tag) - { - try { - Class clazz = Class.forName(tag.getString("Class")); - if(clazz !=null) - { - try { - Object obj = clazz.newInstance(); - if(obj instanceof SpellEffect) - { - SpellEffect eff = (SpellEffect) obj; - - eff.modifierState = tag.getInteger("modifier"); - eff.powerEnhancement = tag.getInteger("power"); - eff.costEnhancement = tag.getInteger("cost"); - eff.potencyEnhancement = tag.getInteger("potency"); - - return eff; - } - } catch (InstantiationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectEarth.java deleted file mode 100644 index 094d3fb4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectEarth.java +++ /dev/null @@ -1,280 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect; - -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; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.MeleeDefaultEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.MeleeDefensiveEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.MeleeEnvironmentalEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.MeleeOffensiveEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.ProjectileDefaultEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.ProjectileDefensiveEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.ProjectileEnvironmentalEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.ProjectileOffensiveEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.SelfDefaultEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.SelfDefensiveEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.SelfEnvironmentalEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.SelfOffensiveEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.ToolEnvironmentalEarth; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth.ToolOffensiveEarth; - -public class SpellEffectEarth extends SpellEffect -{ - @Override - public void defaultModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileDefaultEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void offensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileOffensiveEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void defensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileDefensiveEarth(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationProjectile(SpellParadigmProjectile parad) - { - parad.addUpdateEffect(new ProjectileEnvironmentalEarth(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefaultEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void offensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfOffensiveEarth(this.powerEnhancement,this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void defensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefensiveEarth(this.powerEnhancement,this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void environmentalModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfEnvironmentalEarth(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeDefaultEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void offensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeOffensiveEarth(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeDefensiveEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void environmentalModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeEnvironmentalEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - protected int getCostForDefaultProjectile() - { - return (int)(10*Math.pow((0.5*(this.powerEnhancement)+1)*2 + 1,3)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseProjectile() - { - - return (int)(10*(1.5*this.potencyEnhancement+1)*(Math.pow(1*this.powerEnhancement+1,2))*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseProjectile() - { - return (int)(3*Math.pow((this.powerEnhancement*2+1),2)*(this.potencyEnhancement*2+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentProjectile() - { - return (int)(10*2*(0.1d*(this.potencyEnhancement+1))*Math.pow(3.47,this.potencyEnhancement)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultSelf() - { - return (int)(20*Math.pow(1.5*powerEnhancement+1,2)*(2*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseSelf() - { - return (int)(10*Math.pow(2*this.powerEnhancement+1,2)*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseSelf() - { - return (int)(750*(1.1*this.powerEnhancement+1)*(0.5*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentSelf() - { - return (int)(250*(1.2*this.potencyEnhancement+1)*(3*this.powerEnhancement+2.5)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultMelee() - { - return (int)(50*Math.pow(1.5*this.potencyEnhancement + 1,3)*(0.5*this.powerEnhancement + 1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseMelee() - { - return (int)(20*Math.pow(1.5*this.powerEnhancement+1,3)*(0.25*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseMelee() - { - return (int)(5*(1.2*this.powerEnhancement+1)*(1.0f/3.0f*Math.pow(this.potencyEnhancement,2)+2+1.0f/2.0f*this.potencyEnhancement)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentMelee() - { - return (int)(500*Math.pow(2*this.potencyEnhancement+1, 3)*(0.25*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - public void defaultModificationTool(SpellParadigmTool parad) - { - String toolClass = "pickaxe"; - - - float digSpeed = 7.0f; - - - switch(this.powerEnhancement) - { - case 1: - digSpeed = 9.0f; - break; - case 2: - digSpeed = 12.0f; - break; - case 3: - digSpeed = 16.0f; - break; - case 4: - digSpeed = 21.0f; - break; - case 5: - digSpeed = 27.0f; - break; - } - - - parad.setDigSpeed(toolClass, digSpeed); - - - int hlvl = this.potencyEnhancement + 2; - parad.setHarvestLevel(toolClass, hlvl); - } - - - @Override - public void offensiveModificationTool(SpellParadigmTool parad) - { - parad.addItemManipulatorEffect(new ToolOffensiveEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void defensiveModificationTool(SpellParadigmTool parad) - { - String toolClass = "shovel"; - - - float digSpeed = 7.0f; - - - switch(this.powerEnhancement) - { - case 1: - digSpeed = 9.0f; - break; - case 2: - digSpeed = 12.0f; - break; - case 3: - digSpeed = 16.0f; - break; - case 4: - digSpeed = 21.0f; - break; - case 5: - digSpeed = 27.0f; - break; - } - - - parad.setDigSpeed(toolClass, digSpeed); - - - int hlvl = this.potencyEnhancement + 2; - parad.setHarvestLevel(toolClass, hlvl); - } - - - @Override - public void environmentalModificationTool(SpellParadigmTool parad) - { - parad.addDigAreaEffect(new ToolEnvironmentalEarth(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - - @Override - protected int getCostForDefaultTool() - { - return (int)(1000 * (1 + this.potencyEnhancement*0.1f) * (1 + this.powerEnhancement*0.2f) * Math.pow(0.85, costEnhancement)); - } - - - @Override - protected int getCostForOffenseTool() - { - return 1000; - } - - @Override - protected int getCostForDefenseTool() - { - return (int)(1000 * (1 + this.potencyEnhancement*0.1f) * (1 + this.powerEnhancement*0.2f) * Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentTool() - { - return (int)(10 * (1+this.potencyEnhancement*0.8) * Math.pow(1.5*this.powerEnhancement + 3, 2) * Math.pow(0.85, this.costEnhancement)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectFire.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectFire.java deleted file mode 100644 index a4027390..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectFire.java +++ /dev/null @@ -1,225 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect; - -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; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.MeleeDefaultFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.MeleeDefensiveFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.MeleeEnvironmentalFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.MeleeOffensiveFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ProjectileDefaultFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ProjectileDefensiveFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ProjectileEnvironmentalFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ProjectileOffensiveFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfDefaultFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfDefensiveFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfEnvironmentalFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfOffensiveFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolDefaultFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolEnvironmentalFire; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolOffensiveFire; - -public class SpellEffectFire extends SpellEffect -{ - @Override - public void defaultModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileDefaultFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - parad.damage+=this.potencyEnhancement; - } - - @Override - public void offensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileOffensiveFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileDefensiveFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationProjectile(SpellParadigmProjectile parad) - { - parad.addUpdateEffect(new ProjectileEnvironmentalFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefaultFire(powerEnhancement, potencyEnhancement, costEnhancement)); - } - - @Override - public void offensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfOffensiveFire(powerEnhancement,potencyEnhancement,costEnhancement)); - } - - @Override - public void defensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefensiveFire(powerEnhancement,potencyEnhancement,costEnhancement)); - } - - @Override - public void environmentalModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfEnvironmentalFire(powerEnhancement, potencyEnhancement, costEnhancement)); - } - - @Override - public void defaultModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeDefaultFire(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void offensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeOffensiveFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeDefensiveFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeEnvironmentalFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - protected int getCostForDefaultProjectile() - { - return (int)((5*Math.pow(1.5*this.powerEnhancement+1, 2)*(1.5*this.potencyEnhancement+1)+this.potencyEnhancement*15)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseProjectile() - { - return (int)(10*Math.pow((this.powerEnhancement)*1.3+1,2)*((1.5*this.potencyEnhancement+1))*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseProjectile() - { - return (int)(25*Math.pow(1*this.powerEnhancement+1,2)*(1*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentProjectile() - { - return (int)(75*(0.5*this.powerEnhancement+1)*(0.5*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultSelf() - { - return 10*(int)(10*Math.pow(1.5, this.powerEnhancement+1.5*this.potencyEnhancement)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseSelf() - { - return (int)(300*(3*powerEnhancement+1)*(2*potencyEnhancement + 1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseSelf() - { - return (int)(25*(3*this.potencyEnhancement+1)*(2*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentSelf() - { - return (int)((15*Math.pow(1.7, powerEnhancement)+10*Math.pow(potencyEnhancement,1.8))*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultMelee() - { - return (int)(25*(1.2*this.potencyEnhancement+1)*(2.5*this.powerEnhancement+2)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseMelee() - { - return (int)(500*(1+this.potencyEnhancement)*(this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseMelee() - { - return (int)(30*(1.5*potencyEnhancement+1)*(3*powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentMelee() - { - return (int)(25*Math.pow(1.5*this.powerEnhancement+1,3)*(0.25*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - public void defaultModificationTool(SpellParadigmTool parad) - { - parad.addItemManipulatorEffect(new ToolDefaultFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void offensiveModificationTool(SpellParadigmTool parad) - { - parad.addLeftClickEffect(new ToolOffensiveFire(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - - parad.addToolString("offFire", "Fire Aspect" + " " + SpellHelper.getNumeralForInt(this.powerEnhancement + 1)); - } - - @Override - public void defensiveModificationTool(SpellParadigmTool parad) - { - parad.addCritChance("defFire", this.potencyEnhancement); - - parad.addDuration("defFire", 1200 * this.powerEnhancement); - - parad.addToolString("defFire", "Unbreaking" + " " + SpellHelper.getNumeralForInt(this.powerEnhancement + 1)); - } - - @Override - public void environmentalModificationTool(SpellParadigmTool parad) - { - parad.addBlockBreakEffect(new ToolEnvironmentalFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - - parad.addToolString("envFire", "Magma Plume" + " " + SpellHelper.getNumeralForInt(this.powerEnhancement + 1)); - } - - @Override - protected int getCostForDefaultTool() - { - return 1000; - } - - @Override - protected int getCostForOffenseTool() - { - return (int)(1000 * (1 + this.powerEnhancement*0.3f) * (1 + this.potencyEnhancement*0.2f) * Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseTool() - { - return (int)(500 * (1 + this.powerEnhancement*0.5f) * (1 + this.potencyEnhancement) * Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentTool() - { - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectIce.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectIce.java deleted file mode 100644 index ee85fb46..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectIce.java +++ /dev/null @@ -1,241 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect; - -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; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.MeleeDefaultIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.MeleeDefensiveIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.MeleeEnvironmentalIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.MeleeOffensiveIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.ProjectileDefaultIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.ProjectileDefensiveIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.ProjectileEnvironmentalIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.ProjectileOffensiveIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.SelfDefaultIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.SelfDefensiveIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.SelfEnvironmentalIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.SelfOffensiveIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.ToolDefaultIce; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice.ToolDefensiveIce; - -public class SpellEffectIce extends SpellEffect -{ - @Override - public void defaultModificationProjectile(SpellParadigmProjectile parad) - { - parad.damage+=this.potencyEnhancement; - parad.addImpactEffect(new ProjectileDefaultIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void offensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.damage+=2; - parad.addImpactEffect(new ProjectileOffensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileDefensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - - } - - @Override - public void environmentalModificationProjectile(SpellParadigmProjectile parad) - { - parad.addUpdateEffect(new ProjectileEnvironmentalIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefaultIce(this.powerEnhancement,this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void offensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfOffensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfEnvironmentalIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeDefaultIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void offensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeOffensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeDefensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeEnvironmentalIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - protected int getCostForDefaultProjectile() - { - return (int)((30)*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseProjectile() - { - return (int)((60)*(this.powerEnhancement+1)*(3*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseProjectile() - { - return (int)(75*(2*this.powerEnhancement+1)*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentProjectile() - { - return (int)(200*(2*this.powerEnhancement+1)*(2*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultSelf() - { - return (int)(20*(this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseSelf() - { - return (int)(100*(2*this.powerEnhancement+1)*(2*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseSelf() - { - return (int)(200*(3*powerEnhancement+1)*(2*potencyEnhancement + 1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentSelf() - { - return (int)(10*(1.5*potencyEnhancement+1)*(3*powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultMelee() - { - return (int)(250*(potencyEnhancement+1)*(1.5*powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseMelee() - { - return (int)(40*(1.5*potencyEnhancement+1)*Math.pow(1.5, powerEnhancement)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseMelee() - { - return (int)(50*(0.5*potencyEnhancement+1)*(0.7*powerEnhancement+1)*(0.5*powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentMelee() - { - return (int)(20*(0.5*potencyEnhancement+1)*(0*powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - public void defaultModificationTool(SpellParadigmTool parad) - { - parad.addLeftClickEffect(new ToolDefaultIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - - - parad.addToolString("FrostTouch", "FrostTouch" + " " + SpellHelper.getNumeralForInt((this.powerEnhancement+1))); - - - parad.addCritChance("FrostCrit", this.potencyEnhancement * 0.5f); - } - - - @Override - public void offensiveModificationTool(SpellParadigmTool parad) - { - parad.addDamageToHash("Sharpness", (this.powerEnhancement+1)*1.5f); - - - parad.addToolString("Sharpness", "Sharpness" + " " + SpellHelper.getNumeralForInt((this.powerEnhancement+1))); - - - parad.addCritChance("SharpCrit", this.potencyEnhancement); - } - - - @Override - public void defensiveModificationTool(SpellParadigmTool parad) - { - parad.addToolSummonEffect(new ToolDefensiveIce(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - - @Override - public void environmentalModificationTool(SpellParadigmTool parad) - { - parad.addToolString("SilkTouch", "Silk Touch" + " " + SpellHelper.getNumeralForInt((this.powerEnhancement+1))); - - - parad.setSilkTouch(true); - } - - - @Override - protected int getCostForDefaultTool() - { - return (int)(500 * (1 + this.powerEnhancement*0.3f) * (1 + this.potencyEnhancement*0.1f) * Math.pow(0.85, costEnhancement)); - } - - - @Override - protected int getCostForOffenseTool() - { - return (int)(1000 * (1 + this.powerEnhancement*0.3f) * (1 + this.potencyEnhancement*0.2f) * Math.pow(0.85, costEnhancement)); - } - - - @Override - protected int getCostForDefenseTool() - { - return (int)(500 * (1 + this.powerEnhancement*0.2) * (1 + this.potencyEnhancement*0.5) * Math.pow(0.85, costEnhancement)); - } - - - @Override - protected int getCostForEnvironmentTool() - { - return (int)(1000 * Math.pow(0.85, costEnhancement)); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectWind.java deleted file mode 100644 index 7bf6ec80..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectWind.java +++ /dev/null @@ -1,242 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect; - -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; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.MeleeDefaultWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.MeleeDefensiveWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.MeleeEnvironmentalWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.MeleeOffensiveWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ProjectileDefaultWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ProjectileEnvironmentalWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ProjectileOffensiveWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.SelfDefaultWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.SelfDefensiveWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.SelfEnvironmentalWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.SelfOffensiveWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ToolDefensiveWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ToolEnvironmentalWind; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ToolOffensiveWind; - -public class SpellEffectWind extends SpellEffect -{ - @Override - public void defaultModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileDefaultWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void offensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.addImpactEffect(new ProjectileOffensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationProjectile(SpellParadigmProjectile parad) - { - parad.isSilkTouch = true; - } - - @Override - public void environmentalModificationProjectile(SpellParadigmProjectile parad) - { - parad.addUpdateEffect(new ProjectileEnvironmentalWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefaultWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void offensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfOffensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfDefensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationSelf(SpellParadigmSelf parad) - { - parad.addSelfSpellEffect(new SelfEnvironmentalWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defaultModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeDefaultWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void offensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeOffensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void defensiveModificationMelee(SpellParadigmMelee parad) - { - parad.addEntityEffect(new MeleeDefensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - public void environmentalModificationMelee(SpellParadigmMelee parad) - { - parad.addWorldEffect(new MeleeEnvironmentalWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement)); - } - - @Override - protected int getCostForDefaultProjectile() - { - return (int)(100*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseProjectile() - { - return (int)(100*(0.5*this.potencyEnhancement+1)*(this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseProjectile() - { - return (int)(100*(this.potencyEnhancement+1)); - } - - @Override - protected int getCostForEnvironmentProjectile() - { - return (int)(50*(this.powerEnhancement+1)*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultSelf() - { - return (int)(100*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseSelf() - { - return (int)(100*(0.5*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseSelf() - { - return (int)(500*(0.7d*this.powerEnhancement+1)*(0.8*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentSelf() - { - return (int)(500*(0.7d*this.powerEnhancement+1)*(0.2*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefaultMelee() - { - return (int)(350*(1.0*this.potencyEnhancement+1)*(1.2*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseMelee() - { - return (int)(250*(1.0*this.potencyEnhancement+1)*(0.7*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForDefenseMelee() - { - return (int)(150*(1.0*this.potencyEnhancement+1)*(0.7*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentMelee() - { - return (int)(100*(1.0*this.potencyEnhancement+1)*(0.7*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement)); - } - - @Override - public void defaultModificationTool(SpellParadigmTool parad) - { - String toolClass = "axe"; - - float digSpeed = 7.0f; - - switch(this.powerEnhancement) - { - case 1: - digSpeed = 9.0f; - break; - case 2: - digSpeed = 12.0f; - break; - case 3: - digSpeed = 16.0f; - break; - case 4: - digSpeed = 21.0f; - break; - case 5: - digSpeed = 27.0f; - break; - } - - parad.setDigSpeed(toolClass, digSpeed); - - int hlvl = this.potencyEnhancement + 2; - parad.setHarvestLevel(toolClass, hlvl); - } - - @Override - public void offensiveModificationTool(SpellParadigmTool parad) - { - parad.addLeftClickEffect(new ToolOffensiveWind(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - public void defensiveModificationTool(SpellParadigmTool parad) - { - parad.addLeftClickEffect(new ToolDefensiveWind(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - parad.addToolString("DefWind", "Knockback" + " " + SpellHelper.getNumeralForInt(this.powerEnhancement + 1)); - } - - @Override - public void environmentalModificationTool(SpellParadigmTool parad) - { - parad.addBlockBreakEffect(new ToolEnvironmentalWind(this.powerEnhancement, this.potencyEnhancement, this.costEnhancement)); - } - - @Override - protected int getCostForDefaultTool() - { - return (int)(1000 * (1 + this.potencyEnhancement*0.1f) * (1 + this.powerEnhancement*0.2f) * Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForOffenseTool() - { - return 0; //Cost is on the attack method - } - - @Override - protected int getCostForDefenseTool() - { - return (int)(150 * (1+this.powerEnhancement*0.4f) * (1+this.potencyEnhancement*0.3f) * Math.pow(0.85, costEnhancement)); - } - - @Override - protected int getCostForEnvironmentTool() - { - return (int)(150 * (1+this.powerEnhancement) * Math.pow(0.85, costEnhancement)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java deleted file mode 100644 index 8aa7fd8e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java +++ /dev/null @@ -1,523 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockLiquid; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles; -import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; - -public class SpellHelper -{ - public static Random rand = new Random(); - public static final double root2 = Math.sqrt(2); - - public static boolean canEntityBeSeen(Entity entity, Entity entity2) - { - return entity.worldObj.rayTraceBlocks(Vec3.createVectorHelper(entity.posX, entity.posY, entity.posZ), Vec3.createVectorHelper(entity2.posX, entity2.posY, entity2.posZ), false) == null; - } - - public static void smeltBlockInWorld(World world, int posX, int posY, int posZ) - { - FurnaceRecipes recipes = FurnaceRecipes.smelting(); - - Block block = world.getBlock(posX, posY, posZ); - if(block==null) - { - return; - } - - int meta = world.getBlockMetadata(posX, posY, posZ); - - ItemStack smeltedStack = recipes.getSmeltingResult(new ItemStack(block,1,meta)); - if(smeltedStack!=null && smeltedStack.getItem() instanceof ItemBlock) - { - world.setBlock(posX, posY, posZ, ((ItemBlock)(smeltedStack.getItem())).field_150939_a, smeltedStack.getItemDamage(), 3); - } - } - - public static boolean canPlayerSeeAlchemy(EntityPlayer player) - { - if(player != null) - { - ItemStack stack = player.getCurrentArmor(3); - if(stack != null) - { - Item item = stack.getItem(); - if(item instanceof IAlchemyGoggles && ((IAlchemyGoggles)item).showIngameHUD(player.worldObj, stack, player)) - { - return true; - } - } - - ItemStack heldStack = player.getHeldItem(); - if(heldStack != null && heldStack.getItem() instanceof IReagentManipulator) - { - return true; - } - } - - return false; - } - - public static List getEntitiesInRange(World world, double posX, double posY, double posZ, double horizontalRadius, double verticalRadius) - { - return world.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(posX-0.5f, posY-0.5f, posZ-0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(horizontalRadius, verticalRadius, horizontalRadius)); - } - - public static List getLivingEntitiesInRange(World world, double posX, double posY, double posZ, double horizontalRadius, double verticalRadius) - { - return world.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(posX-0.5f, posY-0.5f, posZ-0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(horizontalRadius, verticalRadius, horizontalRadius)); - } - - public static List getItemsInRange(World world, double posX, double posY, double posZ, double horizontalRadius, double verticalRadius) - { - return world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(posX-0.5f, posY-0.5f, posZ-0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(horizontalRadius, verticalRadius, horizontalRadius)); - } - - public static List getPlayersInRange(World world, double posX, double posY, double posZ, double horizontalRadius, double verticalRadius) - { - return world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(posX-0.5f, posY-0.5f, posZ-0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(horizontalRadius, verticalRadius, horizontalRadius)); - } - - public static double gaussian(double d) - { - return d * ((rand.nextFloat() - 0.5D)); - } - - public static Vec3 getEntityBlockVector(Entity entity) - { - int posX = (int) Math.round(entity.posX - 0.5f); - int posY = (int) entity.posY; - int posZ = (int) Math.round(entity.posZ - 0.5f); - - return entity.getLookVec().createVectorHelper(posX, posY, posZ); - } - - public static ForgeDirection getDirectionForLookVector(Vec3 lookVec) - { - double distance = lookVec.lengthVector(); - - if(lookVec.yCoord>distance*0.9) - { - return ForgeDirection.UP; - } - if(lookVec.yCoordradius*1/root2) - { - return ForgeDirection.SOUTH; - } - if(lookVec.zCoord<-radius*1/root2) - { - return ForgeDirection.NORTH; - } - if(lookVec.xCoord>radius*1/root2) - { - return ForgeDirection.EAST; - } - if(lookVec.xCoord<-radius*1/root2) - { - return ForgeDirection.WEST; - } - - return ForgeDirection.EAST; - } - - public static boolean freezeWaterBlock(World world, int posX, int posY, int posZ) - { - Block block = world.getBlock(posX, posY, posZ); - - if(block == Blocks.water || block == Blocks.flowing_water) - { - world.setBlock(posX, posY, posZ, Blocks.ice); - return true; - } - - return false; - } - - public static String getUsername(EntityPlayer player) - { - return SoulNetworkHandler.getUsername(player); - } - - public static EntityPlayer getPlayerForUsername(String str) - { - return SoulNetworkHandler.getPlayerForUsername(str); - } - - public static void sendParticleToPlayer(EntityPlayer player, String str, double xCoord, double yCoord, double zCoord, double xVel, double yVel, double zVel) - { - if(player instanceof EntityPlayerMP) - { - NewPacketHandler.INSTANCE.sendTo(NewPacketHandler.getParticlePacket(str, xCoord, yCoord, zCoord, xVel, yVel, zVel),(EntityPlayerMP) player); - } - } - - public static void sendIndexedParticleToPlayer(EntityPlayer player, int index, double xCoord, double yCoord, double zCoord) - { - switch(index) - { - case 1: - SpellHelper.sendParticleToPlayer(player, "mobSpell", xCoord + 0.5D + rand.nextGaussian() / 8, yCoord + 1.1D, zCoord + 0.5D + rand.nextGaussian() / 8, 0.5117D, 0.0117D, 0.0117D); - break; - case 2: - SpellHelper.sendParticleToPlayer(player, "reddust", xCoord + 0.5D + rand.nextGaussian() / 8, yCoord + 1.1D, zCoord + 0.5D + rand.nextGaussian() / 8, 0.82D, 0.941D, 0.91D); - break; - case 3: - SpellHelper.sendParticleToPlayer(player, "mobSpell", xCoord + 0.5D + rand.nextGaussian() / 8, yCoord + 1.1D, zCoord + 0.5D + rand.nextGaussian() / 8, 1.0D, 0.371D, 0.371D); - break; - case 4: - float f = (float) 1.0F; - float f1 = f * 0.6F + 0.4F; - float f2 = f * f * 0.7F - 0.5F; - float f3 = f * f * 0.6F - 0.7F; - - for (int l = 0; l < 8; ++l) - { - SpellHelper.sendParticleToPlayer(player,"reddust", xCoord + Math.random() - Math.random(), yCoord + Math.random() - Math.random(), zCoord + Math.random() - Math.random(), f1, f2, f3); - } - break; - } - } - - public static void sendParticleToAllAround(World world, double xPos, double yPos, double zPos, int radius, int dimension, String str, double xCoord, double yCoord, double zCoord, double xVel, double yVel, double zVel) - { - List entities = SpellHelper.getPlayersInRange(world, xPos, yPos, zPos, radius, radius); - - if(entities==null) - { - return; - } - - for(EntityPlayer player : entities) - { - SpellHelper.sendParticleToPlayer(player, str, xCoord, yCoord, zCoord, xVel, yVel, zVel); - } - } - - public static void sendIndexedParticleToAllAround(World world, double xPos, double yPos, double zPos, int radius, int dimension, int index, double xCoord, double yCoord, double zCoord) - { - List entities = SpellHelper.getPlayersInRange(world, xPos, yPos, zPos, radius, radius); - - if(entities==null) - { - return; - } - - for(EntityPlayer player : entities) - { - SpellHelper.sendIndexedParticleToPlayer(player, index, xCoord, yCoord, zCoord); - } - } - - public static void setPlayerSpeedFromServer(EntityPlayer player, double motionX, double motionY, double motionZ) - { - if(player instanceof EntityPlayerMP) - { - NewPacketHandler.INSTANCE.sendTo(NewPacketHandler.getVelSettingPacket(motionX, motionY, motionZ), (EntityPlayerMP) player); - } - } - - public static boolean isFakePlayer(World world, EntityPlayer player) - { - if(world.isRemote) - { - return false; - } - - if(player instanceof FakePlayer || SpellHelper.getUsername(player).contains("[CoFH]")) - { - return true; - } - - String str = player.getClass().getSimpleName(); - if(str.contains("GC")) - { - return false; - } - - if(player.getClass().equals(EntityPlayerMP.class)) - { - return false; - } - - return false; - } - - public static void smashBlock(World world, int posX, int posY, int posZ) - { - Block block = world.getBlock(posX, posY, posZ); - - if(block==Blocks.stone) - { - world.setBlock(posX, posY, posZ, Blocks.cobblestone); - return; - } - else if(block==Blocks.cobblestone) - { - world.setBlock(posX, posY, posZ, Blocks.gravel); - return; - } - else if(block==Blocks.gravel) - { - world.setBlock(posX, posY, posZ, Blocks.sand); - return; - } - } - - public static boolean isBlockFluid(Block block) - { - return block instanceof BlockLiquid; - } - - public static void evaporateWaterBlock(World world, int posX, int posY, int posZ) - { - Block block = world.getBlock(posX, posY, posZ); - - if(block == Blocks.water || block == Blocks.flowing_water) - { - world.setBlockToAir(posX, posY, posZ); - } - } - - public static ItemStack getDustForOre(ItemStack item) - { - String oreName = OreDictionary.getOreName(OreDictionary.getOreID(item)); - - if(oreName.contains("ore")) - { - String lowercaseOre = oreName.toLowerCase(); - boolean isAllowed = false; - - for(String str : AlchemicalWizardry.allowedCrushedOresArray) - { - String testStr = str.toLowerCase(); - - if(lowercaseOre.contains(testStr)) - { - isAllowed = true; - break; - } - } - - if(!isAllowed) - { - return null; - } - - String dustName = oreName.replace("ore", "dust"); - - ArrayList items = OreDictionary.getOres(dustName); - - if(items!=null && items.size()>=1) - { - return(items.get(0).copy()); - } - } - - return null; - } - - public static List getItemsFromBlock(World world, Block block, int x, int y, int z, int meta, boolean silkTouch, int fortune) - { - boolean canSilk = block.canSilkHarvest(world, null, x, y, z, meta); - - if(canSilk && silkTouch) - { - ArrayList items = new ArrayList(); - ItemStack item = new ItemStack(block, 1, meta); - - items.add(item); - - return items; - }else - { - return block.getDrops(world, x, y, z, meta, fortune); - } - } - - public static void spawnItemListInWorld(List items, World world, float x, float y, float z) - { - for(ItemStack stack : items) - { - EntityItem itemEntity = new EntityItem(world, x, y, z, stack); - itemEntity.delayBeforeCanPickup = 10; - world.spawnEntityInWorld(itemEntity); - } - } - - public static MovingObjectPosition raytraceFromEntity (World world, Entity player, boolean par3, double range) - { - float f = 1.0F; - float f1 = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * f; - float f2 = player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * f; - double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double) f; - double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double) f; - if (!world.isRemote && player instanceof EntityPlayer) - d1 += 1.62D; - double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double) f; - Vec3 vec3 = Vec3.createVectorHelper(d0, d1, d2); - float f3 = MathHelper.cos(-f2 * 0.017453292F - (float) Math.PI); - float f4 = MathHelper.sin(-f2 * 0.017453292F - (float) Math.PI); - float f5 = -MathHelper.cos(-f1 * 0.017453292F); - float f6 = MathHelper.sin(-f1 * 0.017453292F); - float f7 = f4 * f5; - float f8 = f3 * f5; - double d3 = range; - if (player instanceof EntityPlayerMP) - { - d3 = ((EntityPlayerMP) player).theItemInWorldManager.getBlockReachDistance(); - } - Vec3 vec31 = vec3.addVector((double) f7 * d3, (double) f6 * d3, (double) f8 * d3); - return world.func_147447_a(vec3, vec31, par3, !par3, par3); - } - - public static String getNumeralForInt(int num) - { - switch(num) - { - case 1: return "I"; - case 2: return "II"; - case 3: return "III"; - case 4: return "IV"; - case 5: return "V"; - case 6: return "VI"; - case 7: return "VII"; - case 8: return "VIII"; - case 9: return "IX"; - case 10: return "X"; - default: return ""; - } - } - - /** - * Used to determine if stack1 can be placed into stack2. If stack2 is null and stack1 isn't null, returns true. Ignores stack size - * @param stack1 Stack that is placed into a slot - * @param stack2 Slot content that stack1 is placed into - * @return True if they can be combined - */ - public static boolean canCombine(ItemStack stack1, ItemStack stack2) - { - if(stack1 == null) - { - return false; - } - - if(stack2 == null) - { - return true; - } - - if(stack1.isItemStackDamageable() ^ stack2.isItemStackDamageable()) - { - return false; - } - - boolean tagsEqual = ItemStack.areItemStackTagsEqual(stack1, stack2); - - return stack1.getItem() == stack2.getItem() && tagsEqual && stack1.getItemDamage() == stack2.getItemDamage() && Math.min(stack2.getMaxStackSize() - stack2.stackSize, stack1.stackSize) > 0; - } - - /** - * - * @param stack1 Stack that is placed into a slot - * @param stack2 Slot content that stack1 is placed into - * @return Stacks after stacking - */ - public static ItemStack[] combineStacks(ItemStack stack1, ItemStack stack2) - { - ItemStack[] returned = new ItemStack[2]; - - if(canCombine(stack1, stack2)) - { - int transferedAmount = stack2 == null ? stack1.stackSize : Math.min(stack2.getMaxStackSize() - stack2.stackSize, stack1.stackSize); - if(transferedAmount > 0) - { - ItemStack copyStack = stack1.splitStack(transferedAmount); - if(stack2 == null) - { - stack2 = copyStack; - }else - { - stack2.stackSize+=transferedAmount; - } - } - } - - returned[0] = stack1; - returned[1] = stack2; - - return returned; - } - - public static ItemStack insertStackIntoInventory(ItemStack stack, IInventory inventory) - { - if(stack == null) - { - return stack; - } - - for(int i=0; i entities = world.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(x-0.5f, y-0.5f, z-0.5f, x + 0.5f, y + 0.5f, z + 0.5f).expand(radius, radius, radius)); - int hit = 0; - - if(entities!=null) - { - for(Entity entity : entities) - { - if(hit=maxBlocks) - { - return; - } - - for(int i=-horizRange; i<=horizRange; i++) - { - for(int j=-vertRange; j<=vertRange; j++) - { - for(int k=-horizRange; k<=horizRange; k++) - { - if(!worldObj.isAirBlock(posX+i, posY+j, posZ+k)&&blocksBroken=-vertRange; j--) - { - if(!world.isAirBlock(posX+i, posY+j, posZ+k)&&!SpellHelper.isBlockFluid(world.getBlock(posX+i, posY+j, posZ+k))) - { - BlockTeleposer.swapBlocks(world, world, posX+i, posY, posZ+k, posX+i, posY+j, posZ+k); - - break; - } - } - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfDefensiveEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfDefensiveEarth.java deleted file mode 100644 index d0053320..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfDefensiveEarth.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfDefensiveEarth extends SelfSpellEffect -{ - - public SelfDefensiveEarth(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - int pot = 2*this.potencyUpgrades + 1; - int duration = 20*60*(this.powerUpgrades+1); - - player.addPotionEffect(new PotionEffect(Potion.field_76434_w.id,duration, pot)); - player.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionHeavyHeart.id, duration, pot)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfEnvironmentalEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfEnvironmentalEarth.java deleted file mode 100644 index d73381ee..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfEnvironmentalEarth.java +++ /dev/null @@ -1,37 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfEnvironmentalEarth extends SelfSpellEffect -{ - public SelfEnvironmentalEarth(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - float radius = this.powerUpgrades*2 + 1.5f; - int dur = this.powerUpgrades*5*20 + 60; - - List entities = SpellHelper.getEntitiesInRange(world, player.posX, player.posY, player.posZ, radius, radius); - - for(Entity entity : entities) - { - if(entity instanceof EntityLiving) - { - ((EntityLiving) entity).addPotionEffect(new PotionEffect(Potion.weakness.id,dur,this.potencyUpgrades)); - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfOffensiveEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfOffensiveEarth.java deleted file mode 100644 index 6637e9d8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/SelfOffensiveEarth.java +++ /dev/null @@ -1,43 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfOffensiveEarth extends SelfSpellEffect -{ - - public SelfOffensiveEarth(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - int horizRadius = this.powerUpgrades; - int vertRadius = this.potencyUpgrades + 1; - - Vec3 blockVec = SpellHelper.getEntityBlockVector(player); - - int posX = (int)(blockVec.xCoord); - int posY = (int)(blockVec.yCoord); - int posZ = (int)(blockVec.zCoord); - - for(int i=-horizRadius; i<=horizRadius; i++) - { - for(int j=-vertRadius; j<0; j++) - { - for(int k=-horizRadius; k<=horizRadius; k++) - { - if(world.rand.nextFloat()<0.7f) - { - SpellHelper.smashBlock(world, posX+i, posY+j, posZ+k); - } - } - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/ToolEnvironmentalEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/ToolEnvironmentalEarth.java deleted file mode 100644 index a6f03bc1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/ToolEnvironmentalEarth.java +++ /dev/null @@ -1,86 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.items.spell.ItemSpellMultiTool; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.DigAreaEffect; - -public class ToolEnvironmentalEarth extends DigAreaEffect -{ - public ToolEnvironmentalEarth(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int digSurroundingArea(ItemStack container, World world, EntityPlayer player, MovingObjectPosition blockPos, String usedToolClass, float blockHardness, int harvestLvl, ItemSpellMultiTool itemTool) - { - if(!blockPos.typeOfHit.equals(MovingObjectPosition.MovingObjectType.BLOCK)) - { - return 0; - } - - int x = blockPos.blockX; - int y = blockPos.blockY; - int z = blockPos.blockZ; - ForgeDirection sidehit = ForgeDirection.getOrientation(blockPos.sideHit); - - int radius = 2; - int depth = 5; - - depth--; - - int posX = radius; - int negX = radius; - int posY = radius; - int negY = radius; - int posZ = radius; - int negZ = radius; - - switch(sidehit) - { - case UP: - posY = 0; - negY = depth; - break; - case DOWN: - negY = 0; - posY = depth; - break; - case SOUTH: - posZ = 0; - negZ = depth; - break; - case NORTH: - negZ = 0; - posZ = depth; - break; - case WEST: - negX = 0; - posX = depth; - break; - case EAST: - posX = 0; - negX = depth; - break; - - default: - } - - for(int xPos = x-negX; xPos <= x+posX; xPos++) - { - for(int yPos = y-negY; yPos <= y+posY; yPos++) - { - for(int zPos = z-negZ; zPos <= z+posZ; zPos++) - { - this.breakBlock(container, world, player, blockHardness, xPos, yPos, zPos, itemTool); - } - } - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/ToolOffensiveEarth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/ToolOffensiveEarth.java deleted file mode 100644 index 240bef61..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/earth/ToolOffensiveEarth.java +++ /dev/null @@ -1,58 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.earth; - - -import java.util.LinkedList; -import java.util.List; - - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.ItemManipulator; - - -public class ToolOffensiveEarth extends ItemManipulator -{ - public static Block[] mundaneList = new Block[]{Blocks.stone,Blocks.cobblestone,Blocks.sand,Blocks.gravel,Blocks.netherrack,Blocks.dirt}; - - - public ToolOffensiveEarth(int power, int potency, int cost) - { - super(power, potency, cost); - } - - - @Override - public List handleItemsOnBlockBroken(ItemStack toolStack, List itemList) - { - List newList = new LinkedList(); - - - for(ItemStack stack : itemList) - { - if(stack != null && stack.getItem() instanceof ItemBlock && !this.isMundaneBlock(((ItemBlock)stack.getItem()).field_150939_a)) - { - newList.add(stack); - } - } - - - return newList; - } - - - public boolean isMundaneBlock(Block block) - { - for(Block test : mundaneList) - { - if(test.equals(block)) - { - return true; - } - } - - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/MeleeDefaultFire.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/MeleeDefaultFire.java deleted file mode 100644 index af369dea..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/MeleeDefaultFire.java +++ /dev/null @@ -1,30 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ExtrapolatedMeleeEntityEffect; - -public class MeleeDefaultFire extends ExtrapolatedMeleeEntityEffect -{ - public MeleeDefaultFire(int power, int potency, int cost) - { - super(power, potency, cost); - this.setRange(3+0.3f*potency); - this.setRadius(2+0.3f*potency); - this.setMaxNumberHit(potency+1); - } - - @Override - protected boolean entityEffect(World world, Entity entity, EntityPlayer entityPlayer) - { - if(entity instanceof EntityLiving) - { - entity.setFire(3*this.powerUpgrades+3); - return true; - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/MeleeDefensiveFire.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/MeleeDefensiveFire.java deleted file mode 100644 index 3fb3d275..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/MeleeDefensiveFire.java +++ /dev/null @@ -1,49 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.MeleeSpellWorldEffect; - -public class MeleeDefensiveFire extends MeleeSpellWorldEffect -{ - public MeleeDefensiveFire(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onWorldEffect(World world, EntityPlayer entityPlayer) - { - ForgeDirection look = SpellHelper.getCompassDirectionForLookVector(entityPlayer.getLookVec()); - - int width = this.potencyUpgrades + 1; - int length = 5*this.powerUpgrades + 3; - - int xOffset = look.offsetX; - int zOffset = look.offsetZ; - - Vec3 lookVec = SpellHelper.getEntityBlockVector(entityPlayer); - - int xStart = (int)(lookVec.xCoord)+1*xOffset; - int zStart = (int)(lookVec.zCoord)+1*zOffset; - int yStart = (int)(lookVec.yCoord)-1; - - for(int i=-width; i<=width; i++) - { - for(int j=0; j handleItemsOnBlockBroken(ItemStack toolStack, List itemList) - { - LinkedList newList = new LinkedList(); - for(ItemStack item : itemList) - { - ItemStack newItem = FurnaceRecipes.smelting().getSmeltingResult(item); - if(newItem != null) - { - newList.add(newItem); - } - else - { - newList.add(item); - } - } - - return newList; - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/ToolEnvironmentalFire.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/ToolEnvironmentalFire.java deleted file mode 100644 index cfa1aa8b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/ToolEnvironmentalFire.java +++ /dev/null @@ -1,47 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.OnBreakBlockEffect; - -public class ToolEnvironmentalFire extends OnBreakBlockEffect -{ - public ToolEnvironmentalFire(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onBlockBroken(ItemStack container, World world, EntityPlayer player, Block block, int meta, int x, int y, int z, ForgeDirection sideBroken) - { - int amount = 0; - int cost = (int)(250 * (1 - 0.1f*powerUpgrades) * Math.pow(0.85, costUpgrades)); - int radius = this.powerUpgrades; - float chance = 0.35f + 0.15f*this.potencyUpgrades; - - for(int i=-radius; i<=radius; i++) - { - for(int j=-radius; j<=radius; j++) - { - for(int k=-radius; k<=radius; k++) - { - Block blockAffected = world.getBlock(x + i -sideBroken.offsetX, y + j, z + k - sideBroken.offsetZ); - - if((new Random().nextFloat() <= chance) && (blockAffected == Blocks.gravel || blockAffected == Blocks.stone || blockAffected == Blocks.cobblestone)) - { - world.setBlock(x + i -sideBroken.offsetX, y + j, z + k - sideBroken.offsetZ, Blocks.lava); - amount += cost; - } - } - } - } - - return amount; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/ToolOffensiveFire.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/ToolOffensiveFire.java deleted file mode 100644 index 40a59bf0..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/fire/ToolOffensiveFire.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.LeftClickEffect; - -public class ToolOffensiveFire extends LeftClickEffect -{ - public ToolOffensiveFire(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder) - { - attacked.setFire(3 + 4*this.powerUpgrades); - - return (int)(10*(1+this.powerUpgrades)*Math.pow(0.85, this.costUpgrades)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/MeleeDefaultIce.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/MeleeDefaultIce.java deleted file mode 100644 index 7992509e..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/MeleeDefaultIce.java +++ /dev/null @@ -1,28 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ExtrapolatedMeleeEntityEffect; - -public class MeleeDefaultIce extends ExtrapolatedMeleeEntityEffect { - - public MeleeDefaultIce(int power, int potency, int cost) - { - super(power, potency, cost); - this.setRange(3+0.3f*potency); - this.setRadius(2+0.3f*potency); - this.setMaxNumberHit(potency+1); - } - - @Override - protected boolean entityEffect(World world, Entity entity, EntityPlayer entityPlayer) - { - if(entity.hurtResistantTime>0) - { - entity.hurtResistantTime = Math.max(0, -(potencyUpgrades+1)+entity.hurtResistantTime); - } - - return true; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/MeleeDefensiveIce.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/MeleeDefensiveIce.java deleted file mode 100644 index 03471ca7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/MeleeDefensiveIce.java +++ /dev/null @@ -1,48 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.MeleeSpellWorldEffect; - -public class MeleeDefensiveIce extends MeleeSpellWorldEffect -{ - public MeleeDefensiveIce(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onWorldEffect(World world, EntityPlayer entityPlayer) - { - ForgeDirection look = SpellHelper.getCompassDirectionForLookVector(entityPlayer.getLookVec()); - - int width = this.powerUpgrades; - int height = this.powerUpgrades + 2; - - int xOffset = look.offsetX; - int zOffset = look.offsetZ; - - int range = this.potencyUpgrades + 1; - - Vec3 lookVec = SpellHelper.getEntityBlockVector(entityPlayer); - - int xStart = (int)(lookVec.xCoord) + range * xOffset; - int zStart = (int)(lookVec.zCoord) + range * zOffset; - int yStart = (int)(lookVec.yCoord); - - for(int i=-width; i<=width; i++) - { - for(int j=0; j entities = SpellHelper.getEntitiesInRange(world, player.posX, player.posY, player.posZ,horizRadius, vertRadius); - - if(entities==null) - { - return; - } - - int i=0; - int number = this.powerUpgrades+1; - - for(Entity entity : entities) - { - if(i>=number) - { - continue; - } - - if(entity instanceof EntityLivingBase && !entity.equals(player)) - { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id,60*(1+this.powerUpgrades),this.potencyUpgrades)); - - i++; - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/ToolDefaultIce.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/ToolDefaultIce.java deleted file mode 100644 index 295ed906..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/ToolDefaultIce.java +++ /dev/null @@ -1,30 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice; - - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.LeftClickEffect; - - -public class ToolDefaultIce extends LeftClickEffect -{ - public ToolDefaultIce(int power, int potency, int cost) - { - super(power, potency, cost); - } - - - @Override - public int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder) - { - int duration = 200; - - - attacked.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id,duration,this.powerUpgrades)); - - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/ToolDefensiveIce.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/ToolDefensiveIce.java deleted file mode 100644 index 4a4fac77..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/ice/ToolDefensiveIce.java +++ /dev/null @@ -1,62 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ice; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.SummonToolEffect; - -public class ToolDefensiveIce extends SummonToolEffect -{ - public ToolDefensiveIce(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onSummonTool(ItemStack toolStack, World world, Entity entity) - { - int horizRadius = this.powerUpgrades*2+2; - int vertRadius = this.powerUpgrades * 3 + 2; - List entityList = SpellHelper.getEntitiesInRange(world, entity.posX, entity.posY, entity.posZ, horizRadius, vertRadius); - - for(Entity ent : entityList) - { - if(ent instanceof EntityLivingBase && !ent.equals(entity)) - { - ((EntityLivingBase)ent).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id,200,this.potencyUpgrades*2)); - } - } - - Vec3 blockVec = SpellHelper.getEntityBlockVector(entity); - - int x = (int)(blockVec.xCoord); - int y = (int)(blockVec.yCoord); - int z = (int)(blockVec.zCoord); - - for(int posX = x-horizRadius; posX <= x+horizRadius; posX++) - { - for(int posY = y-vertRadius; posY <= y+vertRadius; posY++) - { - for(int posZ = z-horizRadius; posZ <= z+horizRadius; posZ++) - { - SpellHelper.freezeWaterBlock(world, posX, posY, posZ); - if(world.isSideSolid(posX, posY, posZ, ForgeDirection.UP) && world.isAirBlock(posX, posY+1, posZ)) - { - world.setBlock(posX, posY+1, posZ, Blocks.snow_layer); - } - } - } - } - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/DigAreaEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/DigAreaEffect.java deleted file mode 100644 index c1e9511f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/DigAreaEffect.java +++ /dev/null @@ -1,138 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.items.spell.ItemSpellMultiTool; -import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmTool; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class DigAreaEffect implements IDigAreaEffect -{ - protected int powerUpgrades; - protected int potencyUpgrades; - protected int costUpgrades; - - public DigAreaEffect(int power, int potency, int cost) - { - this.powerUpgrades = power; - this.potencyUpgrades = potency; - this.costUpgrades = cost; - } - - @Override - public int digSurroundingArea(ItemStack container, World world, EntityPlayer player, MovingObjectPosition blockPos, String usedToolClass, float blockHardness, int harvestLvl, ItemSpellMultiTool itemTool) - { - if(!blockPos.typeOfHit.equals(MovingObjectPosition.MovingObjectType.BLOCK)) - { - return 0; - } - - int x = blockPos.blockX; - int y = blockPos.blockY; - int z = blockPos.blockZ; - ForgeDirection sidehit = ForgeDirection.getOrientation(blockPos.sideHit); - - for(int xPos = x-1; xPos <= x+1; xPos++) - { - for(int yPos = y-1; yPos <= y+1; yPos++) - { - for(int zPos = z-1; zPos <= z+1; zPos++) - { - this.breakBlock(container, world, player, blockHardness, xPos, yPos, zPos, itemTool); - } - } - } - - return 0; - } - - public void breakBlock(ItemStack container, World world, EntityPlayer player, float blockHardness, int x, int y, int z, ItemSpellMultiTool itemTool) - { - int hlvl = -1; - Block localBlock = world.getBlock(x, y, z); - int localMeta = world.getBlockMetadata(x, y, z); - String toolClass = localBlock.getHarvestTool(localMeta); - if (toolClass != null && itemTool.getHarvestLevel(container, toolClass) != -1) - hlvl = localBlock.getHarvestLevel(localMeta); - int toolLevel = itemTool.getHarvestLevel(container, toolClass); - - float localHardness = localBlock == null ? Float.MAX_VALUE : localBlock.getBlockHardness(world, x, y, z); - - if (hlvl <= toolLevel && localHardness - this.getHardnessDifference() <= blockHardness) - { - boolean cancelHarvest = false; - - if (!cancelHarvest) - { - if (localBlock != null && !(localHardness < 0)) - { - boolean isEffective = false; - - String localToolClass = itemTool.getToolClassForMaterial(localBlock.getMaterial()); - - if(localToolClass != null && itemTool.getHarvestLevel(container, toolClass) >= localBlock.getHarvestLevel(localMeta)) - { - isEffective = true; - } - - - if (localBlock.getMaterial().isToolNotRequired()) - { - isEffective = true; - } - - - if (!player.capabilities.isCreativeMode) - { - if (isEffective) - { - if (localBlock.removedByPlayer(world, player, x, y, z)) - { - localBlock.onBlockDestroyedByPlayer(world, x, y, z, localMeta); - } - //localBlock.harvestBlock(world, player, x, y, z, localMeta); - localBlock.onBlockHarvested(world, x, y, z, localMeta, player); - if (localHardness > 0f) - itemTool.onBlockDestroyed(container, world, localBlock, x, y, z, player); - - List items = SpellHelper.getItemsFromBlock(world, localBlock, x, y, z, localMeta, itemTool.getSilkTouch(container), itemTool.getFortuneLevel(container)); - - SpellParadigmTool parad = itemTool.loadParadigmFromStack(container); - items = parad.handleItemList(container, items); - - if(!world.isRemote) - { - SpellHelper.spawnItemListInWorld(items, world, x + 0.5f, y + 0.5f, z + 0.5f); - } - - world.func_147479_m(x, y, z); - } - else - { -// world.setBlockToAir(x, y, z); -// world.func_147479_m(x, y, z); - } - - - } - else - { - world.setBlockToAir(x, y, z); - world.func_147479_m(x, y, z); - } - } - } - } - } - - public float getHardnessDifference() - { - return 1.5f; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/DigAreaTunnel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/DigAreaTunnel.java deleted file mode 100644 index 323ab050..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/DigAreaTunnel.java +++ /dev/null @@ -1,171 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import java.util.LinkedList; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.common.items.spell.ItemSpellMultiTool; - -public class DigAreaTunnel extends DigAreaEffect -{ - Random rand = new Random(); - - public DigAreaTunnel(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int digSurroundingArea(ItemStack container, World world, EntityPlayer player, MovingObjectPosition blockPos, String usedToolClass, float blockHardness, int harvestLvl, ItemSpellMultiTool itemTool) - { - if(!blockPos.typeOfHit.equals(MovingObjectPosition.MovingObjectType.BLOCK)) - { - return 0; - } - - List vectorLine = new LinkedList(); - - double initialX = blockPos.blockX; - double initialY = blockPos.blockY; - double initialZ = blockPos.blockZ; - ForgeDirection sidehit = ForgeDirection.getOrientation(blockPos.sideHit); - ForgeDirection opposite = sidehit.getOpposite(); - - System.out.println(opposite.toString()); - - double initialLength = this.getRandomVectorLength(); - - Vec3 initialVector = Vec3.createVectorHelper(opposite.offsetX*initialLength, opposite.offsetY*initialLength, opposite.offsetZ*initialLength); - - Vec3 lastVec = Vec3.createVectorHelper(initialVector.xCoord, initialVector.yCoord, initialVector.zCoord); - vectorLine.add(initialVector); - - double currentLength = lastVec.lengthVector(); - double totalLength = this.totalLength(); - - while(currentLength < totalLength-0.01) - { - Vec3 tempVec = lastVec.addVector(0, 0, 0); - - tempVec = tempVec.normalize(); - - double varr = this.varyRate(); - - tempVec = tempVec.addVector(varr*(rand.nextFloat() - rand.nextFloat()), varr*(rand.nextFloat() - rand.nextFloat()), varr*(rand.nextFloat() - rand.nextFloat())); - - tempVec = tempVec.normalize(); - - double length = Math.min(this.getRandomVectorLength(), totalLength-currentLength); - - tempVec.xCoord = tempVec.xCoord*length; - tempVec.yCoord = tempVec.yCoord*length; - tempVec.zCoord = tempVec.zCoord*length; - - vectorLine.add(tempVec); - - lastVec = tempVec; - - currentLength += tempVec.lengthVector(); - } - - for(Vec3 testVec : vectorLine) - { - this.travelVector(testVec, world, initialX, initialY, initialZ); - - initialX += testVec.xCoord; - initialY += testVec.yCoord; - initialZ += testVec.zCoord; - } - - this.travelVector(lastVec, world, initialX, initialY, initialZ); - - return 0; - } - - public double totalLength() - { - return 100; - } - - public double getStepSize() - { - return 1; - } - - public double varyRate() - { - return 0.5; - } - - public double getRandomVectorLength() - { - return 10; - } - - public double getRandomStepLength() - { - return 0.5; - } - - public int getRandomRadius() - { - return 3; - } - - public void destroySphereOfMundane(World world, double x, double y, double z, int radius) - { - for(int i=-radius; i<=radius; i++) - { - for(int j=-radius; j<=radius; j++) - { - for(int k=-radius; k<=radius; k++) - { - if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) - { - continue; - } - - int newX = (int)(i + x + 0.5); - int newY = (int)(j + y + 0.5); - int newZ = (int)(k + z + 0.5); - - this.destroyMunadeAt(world, newX, newY, newZ); - } - } - } - } - - public void destroyMunadeAt(World world, int x, int y, int z) - { - world.setBlockToAir(x, y, z); - } - - public void travelVector(Vec3 vector, World world, double x, double y, double z) - { - double vecLength = vector.lengthVector(); - System.out.println(vecLength); - Vec3 normVec = Vec3.createVectorHelper(vector.xCoord, vector.yCoord, vector.zCoord); - normVec = normVec.normalize(); - - Vec3 prevVec = Vec3.createVectorHelper(0, 0, 0); - double distanceTravelled = 0; - - while(distanceTravelled < vecLength) - { - System.out.println(distanceTravelled); - double stepLength = this.getRandomStepLength(); - - prevVec = prevVec.addVector(stepLength*normVec.xCoord, stepLength*normVec.yCoord, normVec.zCoord); - - this.destroySphereOfMundane(world, prevVec.xCoord + x, prevVec.yCoord + y, prevVec.zCoord + z, this.getRandomRadius()); - - distanceTravelled = prevVec.lengthVector(); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IDigAreaEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IDigAreaEffect.java deleted file mode 100644 index 8e993b49..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IDigAreaEffect.java +++ /dev/null @@ -1,12 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.items.spell.ItemSpellMultiTool; - -public interface IDigAreaEffect -{ - public abstract int digSurroundingArea(ItemStack container, World world, EntityPlayer player, MovingObjectPosition blockPos, String usedToolClass, float blockHardness, int harvestLvl, ItemSpellMultiTool itemTool); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IItemManipulator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IItemManipulator.java deleted file mode 100644 index 4df354e2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IItemManipulator.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -public interface IItemManipulator -{ - public List handleItemsOnBlockBroken(ItemStack toolStack, List itemList); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ILeftClickEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ILeftClickEffect.java deleted file mode 100644 index 64ee0ce9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ILeftClickEffect.java +++ /dev/null @@ -1,11 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface ILeftClickEffect -{ - public abstract int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnBanishTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnBanishTool.java deleted file mode 100644 index d734154a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnBanishTool.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface IOnBanishTool -{ - public abstract int onBanishTool(ItemStack toolStack, World world, Entity entity, int invSlot, boolean inHand); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnBreakBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnBreakBlock.java deleted file mode 100644 index 0bb58be6..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnBreakBlock.java +++ /dev/null @@ -1,12 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public interface IOnBreakBlock -{ - public abstract int onBlockBroken(ItemStack container, World world, EntityPlayer player, Block block, int meta, int x, int y, int z, ForgeDirection sideBroken); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnSummonTool.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnSummonTool.java deleted file mode 100644 index 612e23c8..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IOnSummonTool.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface IOnSummonTool -{ - public abstract int onSummonTool(ItemStack toolStack, World world, Entity entity); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IRightClickEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IRightClickEffect.java deleted file mode 100644 index 9bd8db88..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IRightClickEffect.java +++ /dev/null @@ -1,15 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public interface IRightClickEffect -{ - //public abstract int onRightClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder); - - public abstract int onRightClickBlock(ItemStack stack, EntityLivingBase weilder, World world, MovingObjectPosition mop); - - public abstract int onRightClickAir(ItemStack stack, EntityLivingBase weilder); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ISpecialDamageEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ISpecialDamageEffect.java deleted file mode 100644 index 3882fd6c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ISpecialDamageEffect.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.Entity; - -public interface ISpecialDamageEffect -{ - public float getDamageForEntity(Entity entity); - - public String getKey(); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IToolUpdateEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IToolUpdateEffect.java deleted file mode 100644 index ffb0d6cf..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/IToolUpdateEffect.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface IToolUpdateEffect -{ - public abstract int onUpdate(ItemStack toolStack, World world, Entity par3Entity, int invSlot, boolean inHand); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ItemManipulator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ItemManipulator.java deleted file mode 100644 index 079b7e98..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/ItemManipulator.java +++ /dev/null @@ -1,22 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -public abstract class ItemManipulator implements IItemManipulator -{ - protected int powerUpgrades; - protected int potencyUpgrades; - protected int costUpgrades; - - public ItemManipulator(int power, int potency, int cost) - { - this.powerUpgrades = power; - this.potencyUpgrades = potency; - this.costUpgrades = cost; - } - - @Override - public abstract List handleItemsOnBlockBroken(ItemStack toolStack,List itemList); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/LeftClickEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/LeftClickEffect.java deleted file mode 100644 index 63e0629a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/LeftClickEffect.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; - -public abstract class LeftClickEffect implements ILeftClickEffect -{ - protected int powerUpgrades; - protected int potencyUpgrades; - protected int costUpgrades; - - public LeftClickEffect(int power, int potency, int cost) - { - this.powerUpgrades = power; - this.potencyUpgrades = potency; - this.costUpgrades = cost; - } - - @Override - public abstract int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/OnBreakBlockEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/OnBreakBlockEffect.java deleted file mode 100644 index d8521990..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/OnBreakBlockEffect.java +++ /dev/null @@ -1,21 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public abstract class OnBreakBlockEffect implements IOnBreakBlock -{ - protected int powerUpgrades; - protected int potencyUpgrades; - protected int costUpgrades; - - public OnBreakBlockEffect(int power, int potency, int cost) - { - this.powerUpgrades = power; - this.potencyUpgrades = potency; - this.costUpgrades = cost; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/RightClickEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/RightClickEffect.java deleted file mode 100644 index e047b01a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/RightClickEffect.java +++ /dev/null @@ -1,15 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -public abstract class RightClickEffect implements IRightClickEffect -{ - protected int powerUpgrades; - protected int potencyUpgrades; - protected int costUpgrades; - - public RightClickEffect(int power, int potency, int cost) - { - this.powerUpgrades = power; - this.potencyUpgrades = potency; - this.costUpgrades = cost; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/RightClickTunnel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/RightClickTunnel.java deleted file mode 100644 index 6f300afb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/RightClickTunnel.java +++ /dev/null @@ -1,177 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -import java.util.LinkedList; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class RightClickTunnel extends RightClickEffect -{ - Random rand = new Random(); - public RightClickTunnel(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onRightClickBlock(ItemStack stack, EntityLivingBase weilder, World world, MovingObjectPosition mop) - { - if(weilder.worldObj.isRemote) - { - return 0; - } - if(!mop.typeOfHit.equals(MovingObjectPosition.MovingObjectType.BLOCK)) - { - return 0; - } - - List vectorLine = new LinkedList(); - - double initialX = mop.blockX; - double initialY = mop.blockY; - double initialZ = mop.blockZ; - ForgeDirection sidehit = ForgeDirection.getOrientation(mop.sideHit); - ForgeDirection opposite = sidehit.getOpposite(); - - double initialLength = this.getRandomVectorLength(); - - Vec3 initialVector = Vec3.createVectorHelper(opposite.offsetX*initialLength, opposite.offsetY*initialLength, opposite.offsetZ*initialLength); - - Vec3 lastVec = Vec3.createVectorHelper(initialVector.xCoord, initialVector.yCoord, initialVector.zCoord); - vectorLine.add(initialVector); - - double currentLength = lastVec.lengthVector(); - double totalLength = this.totalLength(); - - while(currentLength < totalLength-0.01) - { - Vec3 tempVec = lastVec.addVector(0, 0, 0); - - tempVec = tempVec.normalize(); - - double varr = this.varyRate(); - - tempVec = tempVec.addVector(varr*(rand.nextFloat() - rand.nextFloat()), varr*(rand.nextFloat() - rand.nextFloat()), varr*(rand.nextFloat() - rand.nextFloat())); - - tempVec = tempVec.normalize(); - - double length = Math.min(this.getRandomVectorLength(), totalLength-currentLength); - - tempVec.xCoord = tempVec.xCoord*length; - tempVec.yCoord = tempVec.yCoord*length; - tempVec.zCoord = tempVec.zCoord*length; - - vectorLine.add(tempVec); - - lastVec = tempVec; - - currentLength += tempVec.lengthVector(); - } - - for(Vec3 testVec : vectorLine) - { - this.travelVector(testVec, world, initialX, initialY, initialZ); - - initialX += testVec.xCoord; - initialY += testVec.yCoord; - initialZ += testVec.zCoord; - } - - this.travelVector(lastVec, world, initialX, initialY, initialZ); - - return 0; - } - - @Override - public int onRightClickAir(ItemStack stack, EntityLivingBase weilder) - { - //Empty Method - return 0; - } - - public double totalLength() - { - return 100; - } - - public double getStepSize() - { - return 1; - } - - public double varyRate() - { - return 0.5; - } - - public double getRandomVectorLength() - { - return 10; - } - - public double getRandomStepLength() - { - return 0.5; - } - - public int getRandomRadius() - { - return 3; - } - - public void destroySphereOfMundane(World world, double x, double y, double z, int radius) - { - for(int i=-radius; i<=radius; i++) - { - for(int j=-radius; j<=radius; j++) - { - for(int k=-radius; k<=radius; k++) - { - if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) - { - continue; - } - - int newX = (int)(i + x + 0.5); - int newY = (int)(j + y + 0.5); - int newZ = (int)(k + z + 0.5); - - this.destroyMunadeAt(world, newX, newY, newZ); - } - } - } - } - - public void destroyMunadeAt(World world, int x, int y, int z) - { - world.setBlockToAir(x, y, z); - } - - public void travelVector(Vec3 vector, World world, double x, double y, double z) - { - double vecLength = vector.lengthVector(); - - Vec3 normVec = Vec3.createVectorHelper(vector.xCoord, vector.yCoord, vector.zCoord); - normVec = normVec.normalize(); - - Vec3 prevVec = Vec3.createVectorHelper(0, 0, 0); - double distanceTravelled = 0; - - while(distanceTravelled < vecLength) - { - double stepLength = this.getRandomStepLength(); - - prevVec = prevVec.addVector(stepLength*normVec.xCoord, stepLength*normVec.yCoord, normVec.zCoord); - - this.destroySphereOfMundane(world, prevVec.xCoord + x, prevVec.yCoord + y, prevVec.zCoord + z, this.getRandomRadius()); - - distanceTravelled = prevVec.lengthVector(); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/SummonToolEffect.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/SummonToolEffect.java deleted file mode 100644 index e8bb04a4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/tool/SummonToolEffect.java +++ /dev/null @@ -1,15 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool; - -public abstract class SummonToolEffect implements IOnSummonTool -{ - protected int powerUpgrades; - protected int potencyUpgrades; - protected int costUpgrades; - - public SummonToolEffect(int power, int potency, int cost) - { - this.powerUpgrades = power; - this.potencyUpgrades = potency; - this.costUpgrades = cost; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeDefaultWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeDefaultWind.java deleted file mode 100644 index 31b324ef..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeDefaultWind.java +++ /dev/null @@ -1,40 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ExtrapolatedMeleeEntityEffect; - -public class MeleeDefaultWind extends ExtrapolatedMeleeEntityEffect -{ - public MeleeDefaultWind(int power, int potency, int cost) - { - super(power, potency, cost); - this.setRange(4+2.0f*potency); - this.setRadius(4+2.0f*potency); - this.setMaxNumberHit(potency+1); - } - - @Override - protected boolean entityEffect(World world, Entity entity, EntityPlayer player) - { - double wantedVel = -(0.5d+0.7d*this.powerUpgrades); - - if(entity instanceof EntityLiving) - { - double dist = Math.sqrt(entity.getDistanceToEntity(player)); - double xVel = wantedVel*(entity.posX - player.posX)/dist; - double yVel = wantedVel*(entity.posY - player.posY)/dist; - double zVel = wantedVel*(entity.posZ - player.posZ)/dist; - - entity.motionX = xVel; - entity.motionY = yVel; - entity.motionZ = zVel; - - return true; - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeDefensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeDefensiveWind.java deleted file mode 100644 index 5f146e25..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeDefensiveWind.java +++ /dev/null @@ -1,33 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ExtrapolatedMeleeEntityEffect; - -public class MeleeDefensiveWind extends ExtrapolatedMeleeEntityEffect -{ - public MeleeDefensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - this.setRange(3+0.3f*potency); - this.setRadius(2+0.3f*potency); - this.setMaxNumberHit(potency+1); - } - - @Override - protected boolean entityEffect(World world, Entity entity, EntityPlayer player) - { - double wantedVel = 0.5d+0.5d*this.powerUpgrades; - - if(entity instanceof EntityLiving) - { - entity.motionY = wantedVel; - - return true; - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeEnvironmentalWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeEnvironmentalWind.java deleted file mode 100644 index 2eed2c73..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeEnvironmentalWind.java +++ /dev/null @@ -1,36 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.MeleeSpellCenteredWorldEffect; - -public class MeleeEnvironmentalWind extends MeleeSpellCenteredWorldEffect -{ - public MeleeEnvironmentalWind(int power, int potency, int cost) - { - super(power, potency, cost); - this.setRange(5*power + 5); - } - - @Override - public void onCenteredWorldEffect(EntityPlayer player, World world, int posX, int posY, int posZ) - { - int radius = 5*this.potencyUpgrades + 3; - - List entities = SpellHelper.getEntitiesInRange(world, posX, posY, posZ, radius, radius); - - for(Entity entity : entities) - { - if(entity instanceof EntityItem) - { - ((EntityItem)entity).delayBeforeCanPickup = 0; - entity.onCollideWithPlayer((EntityPlayer)player); - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeOffensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeOffensiveWind.java deleted file mode 100644 index dd283246..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/MeleeOffensiveWind.java +++ /dev/null @@ -1,40 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ExtrapolatedMeleeEntityEffect; - -public class MeleeOffensiveWind extends ExtrapolatedMeleeEntityEffect -{ - public MeleeOffensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - this.setRange(3+0.3f*potency); - this.setRadius(2+0.3f*potency); - this.setMaxNumberHit(potency+1); - } - - @Override - protected boolean entityEffect(World world, Entity entity, EntityPlayer player) - { - double wantedVel = 1.0d+1.0d*this.powerUpgrades; - - if(entity instanceof EntityLiving) - { - double dist = Math.sqrt(entity.getDistanceToEntity(player)); - double xVel = wantedVel*(entity.posX - player.posX)/dist; - double yVel = wantedVel*(entity.posY - player.posY+0.5f)/dist; - double zVel = wantedVel*(entity.posZ - player.posZ)/dist; - - entity.motionX = xVel; - entity.motionY = yVel; - entity.motionZ = zVel; - - return true; - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileDefaultWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileDefaultWind.java deleted file mode 100644 index a50dcbd3..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileDefaultWind.java +++ /dev/null @@ -1,33 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ProjectileImpactEffect; - -public class ProjectileDefaultWind extends ProjectileImpactEffect -{ - public ProjectileDefaultWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onEntityImpact(Entity mop, Entity proj) - { - float wantedYVel = (float)((0.5)*(0.5*this.potencyUpgrades + 1)); - - mop.motionX = proj.motionX; - mop.motionY = mop.motionY += wantedYVel; - mop.motionZ = proj.motionZ; - } - - @Override - public void onTileImpact(World world, MovingObjectPosition mop) - { - return; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileEnvironmentalWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileEnvironmentalWind.java deleted file mode 100644 index e1871678..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileEnvironmentalWind.java +++ /dev/null @@ -1,53 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.EntitySpellProjectile; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ProjectileUpdateEffect; - -public class ProjectileEnvironmentalWind extends ProjectileUpdateEffect -{ - public ProjectileEnvironmentalWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onUpdateEffect(Entity projectile) - { - Vec3 posVec = SpellHelper.getEntityBlockVector(projectile); - - int horizRange = this.powerUpgrades+1; - int vertRange = 1*this.potencyUpgrades+1; - - World worldObj = projectile.worldObj; - - if(projectile instanceof EntitySpellProjectile) - { - Entity shooter = ((EntitySpellProjectile) projectile).shootingEntity; - if(shooter instanceof EntityPlayer) - { - List entitylist = SpellHelper.getEntitiesInRange(worldObj, projectile.posX, projectile.posY, projectile.posZ, horizRange, vertRange); - if(entitylist !=null) - { - for(Entity entity : entitylist) - { - if(entity instanceof EntityItem) - { - ((EntityItem)entity).delayBeforeCanPickup = 0; - entity.onCollideWithPlayer((EntityPlayer)shooter); - } - } - } - } - } - - - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileOffensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileOffensiveWind.java deleted file mode 100644 index 661fa367..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ProjectileOffensiveWind.java +++ /dev/null @@ -1,33 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.ProjectileImpactEffect; - -public class ProjectileOffensiveWind extends ProjectileImpactEffect -{ - - public ProjectileOffensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onEntityImpact(Entity mop, Entity proj) - { - if(mop instanceof EntityLiving) - { - ((EntityLiving) mop).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionHeavyHeart.id,(int)(100*(2*this.powerUpgrades+1)*(1/(this.potencyUpgrades+1))),this.potencyUpgrades)); - } - } - - @Override - public void onTileImpact(World world, MovingObjectPosition mop) - { - return; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfDefaultWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfDefaultWind.java deleted file mode 100644 index 3e13568a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfDefaultWind.java +++ /dev/null @@ -1,27 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfDefaultWind extends SelfSpellEffect -{ - public SelfDefaultWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - player.extinguish(); - player.fallDistance = 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfDefensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfDefensiveWind.java deleted file mode 100644 index 125ef17d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfDefensiveWind.java +++ /dev/null @@ -1,39 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfDefensiveWind extends SelfSpellEffect -{ - public SelfDefensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - double radius = 1.5d*this.powerUpgrades+1.5d; - double posX = player.posX; - double posY = player.posY; - double posZ = player.posZ; - - List entities = SpellHelper.getEntitiesInRange(world, posX, posY, posZ, radius, radius); - - for(Entity entity: entities) - { - if((!entity.equals(player))&&entity instanceof EntityLiving) - { - ((EntityLiving)entity).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionHeavyHeart.id,200,this.potencyUpgrades)); - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfEnvironmentalWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfEnvironmentalWind.java deleted file mode 100644 index 3ea0f86b..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfEnvironmentalWind.java +++ /dev/null @@ -1,45 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfEnvironmentalWind extends SelfSpellEffect -{ - public SelfEnvironmentalWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - double radius = 1.5d*this.potencyUpgrades+1; - double posX = player.posX; - double posY = player.posY-0.7d; - double posZ = player.posZ; - double wantedVel = 0.7d+0.7d*this.powerUpgrades; - - List entities = SpellHelper.getEntitiesInRange(world, posX, posY, posZ, radius, radius); - - for(Entity entity: entities) - { - if((!entity.equals(player))&&entity instanceof EntityLiving) - { - double dist = Math.sqrt(entity.getDistanceToEntity(player)); - double xVel = wantedVel*(entity.posX - posX)/dist; - double yVel = wantedVel*(entity.posY - posY)/dist; - double zVel = wantedVel*(entity.posZ - posZ)/dist; - - entity.motionX = xVel; - entity.motionY = yVel; - entity.motionZ = zVel; - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfOffensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfOffensiveWind.java deleted file mode 100644 index 74dd6e13..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/SelfOffensiveWind.java +++ /dev/null @@ -1,32 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.SelfSpellEffect; - -public class SelfOffensiveWind extends SelfSpellEffect -{ - public SelfOffensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public void onSelfUse(World world, EntityPlayer player) - { - Vec3 vec = player.getLookVec(); - double wantedVelocity = 1.5 + this.powerUpgrades*0.4; - - SpellHelper.setPlayerSpeedFromServer(player, vec.xCoord * wantedVelocity, vec.yCoord * wantedVelocity, vec.zCoord * wantedVelocity); - - player.fallDistance = 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolDefensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolDefensiveWind.java deleted file mode 100644 index 02dd42dc..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolDefensiveWind.java +++ /dev/null @@ -1,32 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Vec3; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.LeftClickEffect; - -public class ToolDefensiveWind extends LeftClickEffect -{ - - public ToolDefensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder) - { - Vec3 vec = weilder.getLookVec(); - vec.yCoord = 0; - vec.normalize(); - - float velocity = 0.5f*(1+this.powerUpgrades*0.8f); - float ratio = 0.1f + 0.3f*this.potencyUpgrades; - - attacked.motionX += vec.xCoord*velocity; - attacked.motionY += velocity*ratio; - attacked.motionZ += vec.zCoord*velocity; - - return 0; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolEnvironmentalWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolEnvironmentalWind.java deleted file mode 100644 index 082c27e2..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolEnvironmentalWind.java +++ /dev/null @@ -1,41 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -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.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.OnBreakBlockEffect; - -public class ToolEnvironmentalWind extends OnBreakBlockEffect -{ - public ToolEnvironmentalWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onBlockBroken(ItemStack container, World world, EntityPlayer player, Block block, int meta, int x, int y, int z, ForgeDirection sideBroken) - { - double vertRange = 0.5 + (this.powerUpgrades*this.powerUpgrades + this.powerUpgrades)/2; - double horizRange = vertRange; - - List itemList = SpellHelper.getItemsInRange(world, x + 0.5f, y + 0.5f, z + 0.5f, horizRange, vertRange); - - for(EntityItem entity : itemList) - { - if(!world.isRemote) - { - entity.delayBeforeCanPickup = 0; - entity.onCollideWithPlayer(player); - } - } - - return 0; - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolOffensiveWind.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolOffensiveWind.java deleted file mode 100644 index 5d08d2df..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/impactEffects/wind/ToolOffensiveWind.java +++ /dev/null @@ -1,24 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind; - -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.LeftClickEffect; - -public class ToolOffensiveWind extends LeftClickEffect -{ - public ToolOffensiveWind(int power, int potency, int cost) - { - super(power, potency, cost); - } - - @Override - public int onLeftClickEntity(ItemStack stack, EntityLivingBase attacked, EntityLivingBase weilder) - { - attacked.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionHeavyHeart.id,(int)(100*(2*this.powerUpgrades+1)*(1/(this.potencyUpgrades+1))),this.potencyUpgrades)); - - return (int)(100*(0.5*this.potencyUpgrades+1)*(this.powerUpgrades+1)*Math.pow(0.85, costUpgrades)); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancement.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancement.java deleted file mode 100644 index b17c5659..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancement.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.enhancement; - -public class SpellEnhancement -{ - public static final int POWER = 0; - public static final int EFFICIENCY = 1; - public static final int POTENCY = 2; - - private int state = this.POWER; - - protected SpellEnhancement(int state) - { - this.state = state; - } - - public int getState() - { - return this.state; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementCost.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementCost.java deleted file mode 100644 index 2e0df1fb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementCost.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.enhancement; - -public class SpellEnhancementCost extends SpellEnhancement -{ - - public SpellEnhancementCost() - { - super(SpellEnhancement.EFFICIENCY); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementPotency.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementPotency.java deleted file mode 100644 index 6231c8a7..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementPotency.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.enhancement; - -public class SpellEnhancementPotency extends SpellEnhancement -{ - public SpellEnhancementPotency() - { - super(SpellEnhancement.POTENCY); - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementPower.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementPower.java deleted file mode 100644 index 527dfe46..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/complex/enhancement/SpellEnhancementPower.java +++ /dev/null @@ -1,10 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.complex.enhancement; - -public class SpellEnhancementPower extends SpellEnhancement -{ - - public SpellEnhancementPower() - { - super(SpellEnhancement.POWER); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpell.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpell.java deleted file mode 100644 index 903f4fb9..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpell.java +++ /dev/null @@ -1,143 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -public abstract class HomSpell implements ISimpleSpell -{ - private int offensiveRangedEnergy; - private int offensiveMeleeEnergy; - private int defensiveEnergy; - private int environmentalEnergy; - - public HomSpell() - { - //super(id); - //this.setMaxStackSize(1); - // TODO Auto-generated constructor stub - } - - @Override - public abstract ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - ; - - @Override - public abstract ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - @Override - public abstract ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - @Override - public abstract ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - public int getOffensiveRangedEnergy() - { - return offensiveRangedEnergy; - } - - public int getOffensiveMeleeEnergy() - { - return offensiveMeleeEnergy; - } - - public int getDefensiveEnergy() - { - return defensiveEnergy; - } - - public int getEnvironmentalEnergy() - { - return environmentalEnergy; - } - - public void setEnergies(int offensiveRanged, int offensiveMelee, int defensive, int environmental) - { - this.offensiveRangedEnergy = offensiveRanged; - this.offensiveMeleeEnergy = offensiveMelee; - this.defensiveEnergy = defensive; - this.environmentalEnergy = environmental; - } - - public void setSpellParadigm(ItemStack itemStack, int paradigm) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - itemStack.stackTagCompound.setInteger("paradigm", paradigm); - } - - public int getSpellParadigm(ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - return (itemStack.stackTagCompound.getInteger("paradigm")); - } - - //@Override - public ItemStack useSpell(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - int paradigm = getSpellParadigm(par1ItemStack); - - if (par3EntityPlayer.isSneaking()) - { - if (paradigm < 3) - { - this.setSpellParadigm(par1ItemStack, paradigm + 1); - } else - { - this.setSpellParadigm(par1ItemStack, 0); - } - - return par1ItemStack; - } - - switch (paradigm) - { - case 0: - return this.onOffensiveRangedRightClick(par1ItemStack, par2World, par3EntityPlayer); - - case 1: - return this.onOffensiveMeleeRightClick(par1ItemStack, par2World, par3EntityPlayer); - - case 2: - return this.onDefensiveRightClick(par1ItemStack, par2World, par3EntityPlayer); - - case 3: - return this.onEnvironmentalRightClick(par1ItemStack, par2World, par3EntityPlayer); - } - - return par1ItemStack; - } - -// @Override -// public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) -// { -// if (!(par1ItemStack.stackTagCompound == null)) -// { -// if (!par1ItemStack.stackTagCompound.getString("ownerName").equals("")) -// { -// par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); -// } -// -// par3List.add("Current paradigm: " + this.getSpellParadigm(par1ItemStack)); -// } -// } - - public int getDimensionID(ItemStack itemStack) - { - if (itemStack.stackTagCompound == null) - { - itemStack.setTagCompound(new NBTTagCompound()); - } - - return itemStack.stackTagCompound.getInteger("dimensionId"); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpellComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpellComponent.java deleted file mode 100644 index 41cfcaab..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpellComponent.java +++ /dev/null @@ -1,26 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import net.minecraft.item.ItemStack; - -public class HomSpellComponent -{ - public HomSpell spell; - public ItemStack item; - public int blockID; - - public HomSpellComponent(ItemStack item, HomSpell spell) - { - this.item = item; - this.spell = spell; - } - - public HomSpell getSpell() - { - return spell; - } - - public ItemStack getItemStack() - { - return this.item; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpellRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpellRegistry.java deleted file mode 100644 index 645bd99c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/HomSpellRegistry.java +++ /dev/null @@ -1,55 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class HomSpellRegistry -{ - public static List spellList = new ArrayList(); - - public static void registerBasicSpell(ItemStack item, HomSpell spell) - { - spellList.add(new HomSpellComponent(item, spell)); - } - - public static HomSpell getSpellForItemStack(ItemStack testItem) - { - if (testItem == null) - { - return null; - } - - for (HomSpellComponent hsc : spellList) - { - ItemStack item = hsc.getItemStack(); - - if (item != null) - { - if (item.getItem() instanceof ItemBlock) - { - if (testItem.getItem() instanceof ItemBlock) - { - if (testItem.getItem() == item.getItem()) - { - return hsc.getSpell(); - } - } - } else - { - if (!(testItem.getItem() instanceof ItemBlock)) - { - if (testItem.getItem() == item.getItem()) - { - return hsc.getSpell(); - } - } - } - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/ISimpleSpell.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/ISimpleSpell.java deleted file mode 100644 index 77a8799d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/ISimpleSpell.java +++ /dev/null @@ -1,16 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public interface ISimpleSpell -{ - public abstract ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - public abstract ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - public abstract ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); - - public abstract ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer); -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellEarthBender.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellEarthBender.java deleted file mode 100644 index e4a31e55..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellEarthBender.java +++ /dev/null @@ -1,199 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.MudProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class SpellEarthBender extends HomSpell -{ - Random itemRand = new Random(); - - public SpellEarthBender() - { - super(); - this.setEnergies(100, 150, 350, 200); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.spawnEntityInWorld(new MudProjectile(par2World, par3EntityPlayer, 8, false)); - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - if (!par2World.isRemote) - { - for (int i = -1; i <= 1; i++) - { - for (int j = -1; j <= 1; j++) - { - par2World.spawnEntityInWorld(new MudProjectile(par2World, par3EntityPlayer, 3, 3, par3EntityPlayer.posX, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight(), par3EntityPlayer.posZ, par3EntityPlayer.rotationYaw + i * 10F, par3EntityPlayer.rotationPitch + j * 5F, true)); - } - } - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - int posX = (int) xCoord; - int posY = (int) yCoord; - int posZ = (int) zCoord; - Block blockID = Blocks.stone; - - if (par2World.isAirBlock(posX, posY + 3, posZ)) - { - par2World.setBlock(posX, posY + 3, posZ, Blocks.glass); - } - - for (int i = 0; i < 4; i++) - { - for (int j = 0; j < 4; j++) - { - if (par2World.isAirBlock(posX + i - 1, posY + j, posZ - 2)) - { - par2World.setBlock(posX + i - 1, posY + j, posZ - 2, blockID); - } - - if (par2World.isAirBlock(posX + 2, posY + j, posZ - 1 + i)) - { - par2World.setBlock(posX + 2, posY + j, posZ - 1 + i, blockID); - } - - if (par2World.isAirBlock(posX - i + 1, posY + j, posZ + 2)) - { - par2World.setBlock(posX - i + 1, posY + j, posZ + 2, blockID); - } - - if (par2World.isAirBlock(posX - 2, posY + j, posZ + 1 - i)) - { - par2World.setBlock(posX - 2, posY + j, posZ + 1 - i, blockID); - } - - { - if (par2World.isAirBlock(posX - 1 + i, posY + 3, posZ - 1 + j)) - { - par2World.setBlock(posX - 1 + i, posY + 3, posZ - 1 + j, blockID); - } - } - } - } - - for (int i = 0; i < 20; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, PacketHandler.getCustomParticlePacket("mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F)); - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - int range = 3; - - if (!par2World.isRemote) - { - for (int i = -range; i <= range; i++) - { - for (int j = -1; j <= 1; j++) - { - for (int k = -range; k <= range; k++) - { - if (par2World.getBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k) == Blocks.water || par2World.getBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k) == Blocks.flowing_water) - { - int x = par2World.rand.nextInt(2); - - if (x == 0) - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k, Blocks.sand); - } else - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k, Blocks.dirt); - } - } - } - } - } - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 16; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, PacketHandler.getCustomParticlePacket("mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, 0.0F, 0.410F, 1.0F)); - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - } - - return par1ItemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellExplosions.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellExplosions.java deleted file mode 100644 index 44ede225..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellExplosions.java +++ /dev/null @@ -1,116 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import WayofTime.alchemicalWizardry.common.entity.projectile.ExplosionProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.Random; - -public class SpellExplosions extends HomSpell -{ - Random itemRand = new Random(); - - public SpellExplosions() - { - super(); - this.setEnergies(400, 500, 1900, 1500); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new ExplosionProjectile(par2World, par3EntityPlayer, 6, true)); - } - - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - int distance = 4; - double yaw = par3EntityPlayer.rotationYaw / 180 * Math.PI; - double pitch = par3EntityPlayer.rotationPitch / 180 * Math.PI; - par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX + Math.sin(yaw) * Math.cos(pitch) * (-distance), par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance, par3EntityPlayer.posZ + Math.cos(yaw) * Math.cos(pitch) * distance, (float) (3), true); - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - int distance = 4; -// double yaw = par3EntityPlayer.rotationYaw/180*Math.PI; -// double pitch = par3EntityPlayer.rotationPitch/180*Math.PI; - par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight(), par3EntityPlayer.posZ, (float) (distance), false); - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - int radius = 3; - - for (int i = 0; i < 360; i += 36) - { - par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX + Math.cos(i) * radius, par3EntityPlayer.posY, par3EntityPlayer.posZ + Math.sin(i) * radius, (float) (2), true); - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellFireBurst.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellFireBurst.java deleted file mode 100644 index 2d02fdaa..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellFireBurst.java +++ /dev/null @@ -1,175 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.entity.projectile.FireProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; - -public class SpellFireBurst extends HomSpell -{ - public Random itemRand = new Random(); - - public SpellFireBurst() - { - super(); - this.setEnergies(100, 300, 400, 100); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - FireProjectile proj = new FireProjectile(par2World, par3EntityPlayer, 7); - par2World.spawnEntityInWorld(proj); - } - - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - for (int i = -1; i <= 1; i++) - { - for (int j = -1; j <= 1; j++) - { - par2World.spawnEntityInWorld(new FireProjectile(par2World, par3EntityPlayer, 8, 2, par3EntityPlayer.posX, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight(), par3EntityPlayer.posZ, par3EntityPlayer.rotationYaw + i * 10F, par3EntityPlayer.rotationPitch + j * 10F)); - } - } - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - int d0 = 2; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) par3EntityPlayer.posX, (double) par3EntityPlayer.posY, (double) par3EntityPlayer.posZ, (double) (par3EntityPlayer.posX + 1), (double) (par3EntityPlayer.posY + 2), (double) (par3EntityPlayer.posZ + 1)).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - entityLiving.setFire(100); - entityLiving.attackEntityFrom(DamageSource.inFire, 2); - } - -// if (!par2World.isRemote) -// { -// -// for(int i=0;i<10;i++) -// { -// for(int j=0;j<5;j++) -// { -// par2World.spawnEntityInWorld(new FireProjectile(par2World, par3EntityPlayer, 10,5,par3EntityPlayer.posX,par3EntityPlayer.posY+par3EntityPlayer.getEyeHeight(),par3EntityPlayer.posZ, par3EntityPlayer.rotationYaw+i*36F,par3EntityPlayer.rotationPitch+j*72F)); -// } -// } -// } - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - World worldObj = par2World; - - for (int i = -1; i <= 1; i++) - { - for (int j = -1; j <= 1; j++) - { - for (int k = -1; k <= 1; k++) - { - if (worldObj.isAirBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k)) - { - if (worldObj.rand.nextFloat() < 0.8F) - { - worldObj.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k, Blocks.fire); - } - } - } - } - } - - return par1ItemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellFrozenWater.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellFrozenWater.java deleted file mode 100644 index bfa441eb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellFrozenWater.java +++ /dev/null @@ -1,208 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.entity.projectile.IceProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; - -public class SpellFrozenWater extends HomSpell -{ - public Random itemRand = new Random(); - - public SpellFrozenWater() - { - super(); - this.setEnergies(100, 200, 150, 100); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new IceProjectile(par2World, par3EntityPlayer, 6)); - } - - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - for (int i = -2; i <= 2; i++) - { - par2World.spawnEntityInWorld(new IceProjectile(par2World, par3EntityPlayer, 6, 2, par3EntityPlayer.posX, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight(), par3EntityPlayer.posZ, par3EntityPlayer.rotationYaw + i * 5F, par3EntityPlayer.rotationPitch)); - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, getDefensiveEnergy()); - } - - float yaw = par3EntityPlayer.rotationYaw; - float pitch = par3EntityPlayer.rotationPitch; - int range = 2; - - if (pitch > 40F) - { - for (int i = -range; i <= range; i++) - { - for (int j = -range; j <= range; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY - 1, (int) par3EntityPlayer.posZ + j)) - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY - 1, (int) par3EntityPlayer.posZ + j, Blocks.ice); - } - } - } - - return par1ItemStack; - } else if (pitch < -40F) - { - for (int i = -range; i <= range; i++) - { - for (int j = -range; j <= range; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + 3, (int) par3EntityPlayer.posZ + j)) - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + 3, (int) par3EntityPlayer.posZ + j, Blocks.ice); - } - } - } - - return par1ItemStack; - } - - if ((yaw >= 315 && yaw < 360) || (yaw >= 0 && yaw < 45)) - { - for (int i = -range; i <= range; i++) - { - for (int j = 0; j < range * 2 + 1; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + 2)) - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + 2, Blocks.ice); - } - } - } - } else if (yaw >= 45 && yaw < 135) - { - for (int i = -range; i <= range; i++) - { - for (int j = 0; j < range * 2 + 1; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX - 2, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + i)) - { - par2World.setBlock((int) par3EntityPlayer.posX - 2, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + i, Blocks.ice); - } - } - } - } else if (yaw >= 135 && yaw < 225) - { - for (int i = -range; i <= range; i++) - { - for (int j = 0; j < range * 2 + 1; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ - 2)) - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ - 2, Blocks.ice); - } - } - } - } else - { - for (int i = -range; i <= range; i++) - { - for (int j = 0; j < range * 2 + 1; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX + 2, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + i)) - { - par2World.setBlock((int) par3EntityPlayer.posX + 2, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + i, Blocks.ice); - } - } - } - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - int radius = 3; - int posX = (int) par3EntityPlayer.posX; - int posY = (int) par3EntityPlayer.posY; - int posZ = (int) par3EntityPlayer.posZ; - - for (int i = -radius; i <= radius; i++) - { - for (int j = -radius; j <= radius; j++) - { - for (int k = -radius; k <= radius; k++) - { - Block block = par2World.getBlock((int) par3EntityPlayer.posX + i - 1, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k); - - //Block block = Block.blocksList[blockID]; - if (block == Blocks.water || block == Blocks.flowing_water) - { - par2World.setBlock((int) par3EntityPlayer.posX + i - 1, (int) par3EntityPlayer.posY + j, (int) par3EntityPlayer.posZ + k, Blocks.ice); - } - } - } - } - -// int blockID = par2World.getBlockId((int)par3EntityPlayer.posX+i, (int)par3EntityPlayer.posY+j, (int)par3EntityPlayer.posZ+k); -// //Block block = Block.blocksList[blockID]; -// if(blockID==Block.waterMoving.blockID||blockID==Block.waterStill.blockID) -// { -// par2World.setBlock((int)par3EntityPlayer.posX+i, (int)par3EntityPlayer.posY+j, (int)par3EntityPlayer.posZ+k, Blocks.ice); -// } - return par1ItemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellHolyBlast.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellHolyBlast.java deleted file mode 100644 index f712073f..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellHolyBlast.java +++ /dev/null @@ -1,200 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.HolyProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class SpellHolyBlast extends HomSpell -{ - Random itemRand = new Random(); - - public SpellHolyBlast() - { - super(); - this.setEnergies(100, 300, 500, 400); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new HolyProjectile(par2World, par3EntityPlayer, 8)); - } - - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - int distance = 2; - double yaw = par3EntityPlayer.rotationYaw / 180 * Math.PI; - double pitch = par3EntityPlayer.rotationPitch / 180 * Math.PI; - double xCoord = par3EntityPlayer.posX + Math.sin(yaw) * Math.cos(pitch) * (-distance); - double yCoord = par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance; - double zCoord = par3EntityPlayer.posZ + Math.cos(yaw) * Math.cos(pitch) * distance; - float d0 = 0.5f; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox(par3EntityPlayer.posX - 0.5 + Math.sin(yaw) * Math.cos(pitch) * (-distance), par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance, par3EntityPlayer.posZ - 0.5 + Math.cos(yaw) * Math.cos(pitch) * distance, par3EntityPlayer.posX + Math.sin(yaw) * Math.cos(pitch) * (-distance) + 0.5, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance + 1, par3EntityPlayer.posZ + Math.cos(yaw) * Math.cos(pitch) * distance + 0.5).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - int i = 1; - - if (entityLiving.isEntityUndead()) - { - i = 3; - } - - //entityLiving.setFire(50); - entityLiving.attackEntityFrom(DamageSource.causePlayerDamage(par3EntityPlayer), 5 * i); - //par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float)(2), false); - } - - par2World.createExplosion(par3EntityPlayer, xCoord, yCoord, zCoord, (float) (1), false); - - for (int i = 0; i < 5; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, PacketHandler.getCustomParticlePacket("mobSpell", xCoord + itemRand.nextFloat() - itemRand.nextFloat(), yCoord + itemRand.nextFloat() - itemRand.nextFloat(), zCoord + itemRand.nextFloat() - itemRand.nextFloat(), 1.0F, 1.0F, 1.0F)); - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + itemRand.nextFloat() - itemRand.nextFloat(), yCoord + itemRand.nextFloat() - itemRand.nextFloat(), zCoord + itemRand.nextFloat() - itemRand.nextFloat(), 1.0F, 1.0F, 1.0F); - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - if (!par2World.isRemote) - { - for (int i = 0; i < 360; i += 18) - { - par2World.spawnEntityInWorld(new HolyProjectile(par2World, par3EntityPlayer, 8, 3, par3EntityPlayer.posX, par3EntityPlayer.posY + (par3EntityPlayer.height / 2), par3EntityPlayer.posZ, i, 0)); - } - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - int d0 = 3; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) par3EntityPlayer.posX, (double) par3EntityPlayer.posY, (double) par3EntityPlayer.posZ, (double) (par3EntityPlayer.posX + 1), (double) (par3EntityPlayer.posY + 2), (double) (par3EntityPlayer.posZ + 1)).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - int i = 1; - - if (entityLiving.isEntityUndead()) - { - i = 3; - } - - //entityLiving.setFire(50); - entityLiving.attackEntityFrom(DamageSource.causePlayerDamage(par3EntityPlayer), 5 * i); - //par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float)(2), false); - } - - par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float) (2), false); - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 20; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + itemRand.nextFloat() - itemRand.nextFloat(), yCoord + itemRand.nextFloat() - itemRand.nextFloat(), zCoord + itemRand.nextFloat() - itemRand.nextFloat(), 1.0F, 1.0F, 1.0F); - } - - return par1ItemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellLightningBolt.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellLightningBolt.java deleted file mode 100644 index 576b9884..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellLightningBolt.java +++ /dev/null @@ -1,141 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Random; - -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.LightningBoltProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class SpellLightningBolt extends HomSpell -{ - Random itemRand = new Random(); - - public SpellLightningBolt() - { - super(); - this.setEnergies(75, 200, 700, 700); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new LightningBoltProjectile(par2World, par3EntityPlayer, 8, false)); - } - - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - //TODO Make it work better...? - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - par2World.getWorldInfo().setRaining(true); - //par2World.setRainStrength(1.0F); - par2World.setRainStrength(1.0f); - par2World.setThunderStrength(1.0f); - par2World.getWorldInfo().setThunderTime(0); - par2World.getWorldInfo().setThundering(true); - - for (int i = 0; i < 5; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, PacketHandler.getCustomParticlePacket("mobSpell", xCoord + itemRand.nextFloat() - itemRand.nextFloat(), yCoord + itemRand.nextFloat() - itemRand.nextFloat(), zCoord + itemRand.nextFloat() - itemRand.nextFloat(), 1.0F, 1.0F, 1.0F)); - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + itemRand.nextFloat() - itemRand.nextFloat(), yCoord + itemRand.nextFloat() - itemRand.nextFloat(), zCoord + itemRand.nextFloat() - itemRand.nextFloat(), 1.0F, 1.0F, 1.0F); - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 5; i++) - { - par2World.addWeatherEffect(new EntityLightningBolt(par2World, xCoord + itemRand.nextInt(64) - 32, yCoord + itemRand.nextInt(8) - 8, zCoord + itemRand.nextInt(64) - 32)); - } - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + itemRand.nextFloat() - itemRand.nextFloat(), yCoord + itemRand.nextFloat() - itemRand.nextFloat(), zCoord + itemRand.nextFloat() - itemRand.nextFloat(), 1.0F, 1.0F, 1.0F); - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new LightningBoltProjectile(par2World, par3EntityPlayer, 8, true)); - } - - return par1ItemStack; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellTeleport.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellTeleport.java deleted file mode 100644 index b1276d95..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellTeleport.java +++ /dev/null @@ -1,289 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.EnderTeleportEvent; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.TeleportProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class SpellTeleport extends HomSpell -{ - Random itemRand = new Random(); - - public SpellTeleport() - { - super(); - this.setEnergies(500, 300, 500, 1000); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.spawnEntityInWorld(new TeleportProjectile(par2World, par3EntityPlayer, 8, true)); - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - EntityEnderman g; - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - par2World.spawnEntityInWorld(new TeleportProjectile(par2World, par3EntityPlayer, 8, false)); - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - SpellTeleport.teleportRandomly(par3EntityPlayer, 128); - - for (int i = 0; i < 20; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, PacketHandler.getCustomParticlePacket("portal", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, itemRand.nextFloat(), itemRand.nextFloat(), itemRand.nextFloat())); - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "portal", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, itemRand.nextFloat(), itemRand.nextFloat(), itemRand.nextFloat()); - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - if (!par2World.isRemote) - { - int d0 = 3; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) par3EntityPlayer.posX, (double) par3EntityPlayer.posY, (double) par3EntityPlayer.posZ, (double) (par3EntityPlayer.posX + 1), (double) (par3EntityPlayer.posY + 2), (double) (par3EntityPlayer.posZ + 1)).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - SpellTeleport.teleportRandomly(entityLiving, 128); - //entityLiving.attackEntityFrom(DamageSource.inFire, 5); - } - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 32; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "portal", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 2, itemRand.nextFloat(), itemRand.nextFloat(), itemRand.nextFloat()); - } - - return par1ItemStack; - } - - public static boolean teleportRandomly(EntityLivingBase entityLiving, double distance) - { - double x = entityLiving.posX; - double y = entityLiving.posY; - double z = entityLiving.posZ; - Random rand = new Random(); - double d0 = x + (rand.nextDouble() - 0.5D) * distance; - double d1 = y + (double) (rand.nextInt((int) distance) - (distance) / 2); - double d2 = z + (rand.nextDouble() - 0.5D) * distance; - int i = 0; - - while (!SpellTeleport.teleportTo(entityLiving, d0, d1, d2, x, y, z) && i < 100) - { - d0 = x + (rand.nextDouble() - 0.5D) * distance; - d1 = y + (double) (rand.nextInt((int) distance) - (distance) / 2); - d2 = z + (rand.nextDouble() - 0.5D) * distance; - i++; - } - - if (i >= 100) - { - return false; - } - - return true; - //return SpellTeleport.teleportTo(entityLiving, d0, d1, d2,x,y,z); - } - - private static boolean teleportTo(EntityLivingBase entityLiving, double par1, double par3, double par5, double lastX, double lastY, double lastZ) - { - EnderTeleportEvent event = new EnderTeleportEvent(entityLiving, par1, par3, par5, 0); - - if (MinecraftForge.EVENT_BUS.post(event)) - { - return false; - } - - double d3 = lastX; - double d4 = lastY; - double d5 = lastZ; - SpellTeleport.moveEntityViaTeleport(entityLiving, event.targetX, event.targetY, event.targetZ); - boolean flag = false; - int i = MathHelper.floor_double(entityLiving.posX); - int j = MathHelper.floor_double(entityLiving.posY); - int k = MathHelper.floor_double(entityLiving.posZ); - Block l; - - if (entityLiving.worldObj.blockExists(i, j, k)) - { - boolean flag1 = false; - - while (!flag1 && j > 0) - { - l = entityLiving.worldObj.getBlock(i, j - 1, k); - - if (l != null && l.getMaterial().blocksMovement()) - { - flag1 = true; - } else - { - --entityLiving.posY; - --j; - } - } - - if (flag1) - { - SpellTeleport.moveEntityViaTeleport(entityLiving, entityLiving.posX, entityLiving.posY, entityLiving.posZ); - - if (entityLiving.worldObj.getCollidingBoundingBoxes(entityLiving, entityLiving.boundingBox).isEmpty() && !entityLiving.worldObj.isAnyLiquid(entityLiving.boundingBox)) - { - flag = true; - } - } - } - - if (!flag) - { - SpellTeleport.moveEntityViaTeleport(entityLiving, d3, d4, d5); - return false; - } else - { - short short1 = 128; - - for (j = 0; j < short1; ++j) - { - double d6 = (double) j / ((double) short1 - 1.0D); - float f = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; - float f1 = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; - float f2 = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; - double d7 = d3 + (entityLiving.posX - d3) * d6 + (entityLiving.worldObj.rand.nextDouble() - 0.5D) * (double) entityLiving.width * 2.0D; - double d8 = d4 + (entityLiving.posY - d4) * d6 + entityLiving.worldObj.rand.nextDouble() * (double) entityLiving.height; - double d9 = d5 + (entityLiving.posZ - d5) * d6 + (entityLiving.worldObj.rand.nextDouble() - 0.5D) * (double) entityLiving.width * 2.0D; - entityLiving.worldObj.spawnParticle("portal", d7, d8, d9, (double) f, (double) f1, (double) f2); - } - -// this.worldObj.playSoundEffect(d3, d4, d5, "mob.endermen.portal", 1.0F, 1.0F); -// this.playSound("mob.endermen.portal", 1.0F, 1.0F); - return true; - } - } - - public static void moveEntityViaTeleport(EntityLivingBase entityLiving, double x, double y, double z) - { - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving != null && entityLiving instanceof EntityPlayerMP) - { - EntityPlayerMP entityplayermp = (EntityPlayerMP) entityLiving; - - //if (!entityplayermp.playerNetServerHandler.connectionClosed && entityplayermp.worldObj == entityLiving.worldObj) - if (entityplayermp.worldObj == entityLiving.worldObj) - { - EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, x, y, z, 5.0F); - - if (!MinecraftForge.EVENT_BUS.post(event)) - { - if (entityLiving.isRiding()) - { - entityLiving.mountEntity((Entity) null); - } - - entityLiving.setPositionAndUpdate(event.targetX, event.targetY, event.targetZ); -// this.getThrower().fallDistance = 0.0F; -// this.getThrower().attackEntityFrom(DamageSource.fall, event.attackDamage); - } - } - } - } else if (entityLiving != null) - { - entityLiving.setPosition(x, y, z); - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWateryGrave.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWateryGrave.java deleted file mode 100644 index 58450299..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWateryGrave.java +++ /dev/null @@ -1,180 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.WaterProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class SpellWateryGrave extends HomSpell -{ - Random itemRand = new Random(); - - public SpellWateryGrave() - { - super(); - this.setEnergies(250, 350, 500, 750); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.spawnEntityInWorld(new WaterProjectile(par2World, par3EntityPlayer, 8)); - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - if (!par2World.isRemote) - { - for (int i = -1; i <= 1; i++) - { - for (int j = -1; j <= 1; j++) - { - par2World.spawnEntityInWorld(new WaterProjectile(par2World, par3EntityPlayer, 3, 3, par3EntityPlayer.posX, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight(), par3EntityPlayer.posZ, par3EntityPlayer.rotationYaw + i * 10F, par3EntityPlayer.rotationPitch + j * 5F)); - } - } - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - int d0 = 3; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) par3EntityPlayer.posX, (double) par3EntityPlayer.posY, (double) par3EntityPlayer.posZ, (double) (par3EntityPlayer.posX + 1), (double) (par3EntityPlayer.posY + 2), (double) (par3EntityPlayer.posZ + 1)).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - int x = 1; - - if (entityLiving.isImmuneToFire()) - { - x = 2; - } - - entityLiving.attackEntityFrom(DamageSource.drown, 2 * x); - entityLiving.addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionDrowning.id, 100, x - 1)); - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 20; i++) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, PacketHandler.getCustomParticlePacket("mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F)); - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - int range = 2; - - if (!par2World.isRemote) - { - for (int i = -range; i <= range; i++) - { - for (int j = -range; j <= range; j++) - { - if (par2World.isAirBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY, (int) par3EntityPlayer.posZ + j)) - { - par2World.setBlock((int) par3EntityPlayer.posX + i, (int) par3EntityPlayer.posY, (int) par3EntityPlayer.posZ + j, Blocks.water); - } - } - } - } - - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 16; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - } - - return par1ItemStack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java deleted file mode 100644 index 0e9e831d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java +++ /dev/null @@ -1,219 +0,0 @@ -package WayofTime.alchemicalWizardry.common.spell.simple; - -import ibxm.Player; - -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.PacketHandler; -import WayofTime.alchemicalWizardry.common.entity.projectile.WindGustProjectile; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class SpellWindGust extends HomSpell -{ - Random itemRand = new Random(); - - public SpellWindGust() - { - super(); - this.setEnergies(300, 400, 300, 500); - //this.setCreativeTab(CreativeTabs.tabMisc); - } - - @Override - public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveRangedEnergy()); - } - - par2World.playSoundAtEntity(par3EntityPlayer, "random.fizz", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - //par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage)); - par2World.spawnEntityInWorld(new WindGustProjectile(par2World, par3EntityPlayer, 8)); - } - - return par1ItemStack; - } - - @Override - public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getOffensiveMeleeEnergy()); - } - - int distance = 3; - double yaw = par3EntityPlayer.rotationYaw / 180 * Math.PI; - double pitch = par3EntityPlayer.rotationPitch / 180 * Math.PI; - double xCoord = par3EntityPlayer.posX + Math.sin(yaw) * Math.cos(pitch) * (-distance); - double yCoord = par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance; - double zCoord = par3EntityPlayer.posZ + Math.cos(yaw) * Math.cos(pitch) * distance; - float d0 = 0.5f; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox(par3EntityPlayer.posX - 0.5 + Math.sin(yaw) * Math.cos(pitch) * (-distance), par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance, par3EntityPlayer.posZ - 0.5 + Math.cos(yaw) * Math.cos(pitch) * distance, par3EntityPlayer.posX + Math.sin(yaw) * Math.cos(pitch) * (-distance) + 0.5, par3EntityPlayer.posY + par3EntityPlayer.getEyeHeight() + Math.sin(-pitch) * distance + 1, par3EntityPlayer.posZ + Math.cos(yaw) * Math.cos(pitch) * distance + 0.5).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - //entityLiving.setFire(50); - //entityLiving.attackEntityFrom(DamageSource.causePlayerDamage(par3EntityPlayer), 5*i); - //entityLiving.setVelocity(Math.sin(-yaw)*2, 2, Math.cos(yaw)*2); - entityLiving.motionX = Math.sin(-yaw) * 2; - entityLiving.motionY = 2; - entityLiving.motionZ = Math.cos(yaw) * 2; - //par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float)(2), false); - } - - //par2World.createExplosion(par3EntityPlayer, xCoord, yCoord, zCoord, (float)(1), false); - - for (int i = 0; i < 5; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - - } - - return par1ItemStack; - } - - @Override - public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); - } - - int distance = 3; - double yaw = par3EntityPlayer.rotationYaw / 180 * Math.PI; - double pitch = par3EntityPlayer.rotationPitch / 180 * Math.PI; - double wantedVelocity = 5; - double xVel = Math.sin(yaw) * Math.cos(pitch) * (-wantedVelocity); - double yVel = Math.sin(-pitch) * wantedVelocity; - double zVel = Math.cos(yaw) * Math.cos(pitch) * wantedVelocity; - Vec3 vec = par3EntityPlayer.getLookVec(); - par3EntityPlayer.motionX = vec.xCoord * wantedVelocity; - par3EntityPlayer.motionY = vec.yCoord * wantedVelocity; - par3EntityPlayer.motionZ = vec.zCoord * wantedVelocity; - //PacketDispatcher.sendPacketToPlayer(PacketHandler.getPlayerVelocitySettingPacket(xVel, yVel, zVel), (Player) par3EntityPlayer); - SpellHelper.setPlayerSpeedFromServer(par3EntityPlayer, xVel, yVel, zVel); - par2World.playSoundEffect((double) ((float) par3EntityPlayer.posX + 0.5F), (double) ((float) par3EntityPlayer.posY + 0.5F), (double) ((float) par3EntityPlayer.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (par2World.rand.nextFloat() - par2World.rand.nextFloat()) * 0.8F); - par3EntityPlayer.fallDistance = 0; - //par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float)(2), false); - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - } - - return par1ItemStack; - } - - @Override - public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); - - if (par3EntityPlayer.isSneaking()) - { - return par1ItemStack; - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) - { - EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getEnvironmentalEnergy()); - } - - int d0 = 3; - AxisAlignedBB axisalignedbb = AxisAlignedBB.getBoundingBox((double) par3EntityPlayer.posX, (double) par3EntityPlayer.posY, (double) par3EntityPlayer.posZ, (double) (par3EntityPlayer.posX + 1), (double) (par3EntityPlayer.posY + 2), (double) (par3EntityPlayer.posZ + 1)).expand(d0, d0, d0); - //axisalignedbb.maxY = (double)this.worldObj.getHeight(); - List list = par3EntityPlayer.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb); - Iterator iterator = list.iterator(); - double xCoord = par3EntityPlayer.posX; - double yCoord = par3EntityPlayer.posY; - double zCoord = par3EntityPlayer.posZ; - double wantedVel = 2; - - while (iterator.hasNext()) - { - EntityLivingBase entityLiving = (EntityLivingBase) iterator.next(); - - if (entityLiving instanceof EntityPlayer) - { - if (entityLiving.equals(par3EntityPlayer)) - { - continue; - } - } - - double posXDif = entityLiving.posX - par3EntityPlayer.posX; - double posYDif = entityLiving.posY - par3EntityPlayer.posY + 1; - double posZDif = entityLiving.posZ - par3EntityPlayer.posZ; - double distance2 = Math.pow(posXDif, 2) + Math.pow(posYDif, 2) + Math.pow(posZDif, 2); - double distance = Math.sqrt(distance2); - //entityLiving.setVelocity(posXDif*wantedVel/distance, posYDif*wantedVel/distance, posZDif*wantedVel/distance); - entityLiving.motionX = posXDif * wantedVel / distance; - entityLiving.motionY = posYDif * wantedVel / distance; - entityLiving.motionZ = posZDif * wantedVel / distance; - //entityLiving.setFire(50); - //entityLiving.attackEntityFrom(DamageSource.causePlayerDamage(par3EntityPlayer), 5*i); - //par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float)(2), false); - } - - //par2World.createExplosion(par3EntityPlayer, par3EntityPlayer.posX, par3EntityPlayer.posY, par3EntityPlayer.posZ, (float)(2), false); - - for (int i = 0; i < 20; i++) - { - SpellHelper.sendParticleToAllAround(par2World, xCoord, yCoord, zCoord, 30, par2World.provider.dimensionId, "mobSpell", xCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, yCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, zCoord + (itemRand.nextFloat() - itemRand.nextFloat()) * 3, 0.0F, 0.410F, 1.0F); - } - - return par1ItemStack; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java deleted file mode 100644 index bade513d..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java +++ /dev/null @@ -1,20 +0,0 @@ -package WayofTime.alchemicalWizardry.common.summoning; - -import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningHelper; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.world.World; - -public class SummoningFallenAngel extends SummoningHelper -{ - public SummoningFallenAngel(int id) - { - super(id); - // TODO Auto-generated constructor stub - } - - public EntityLivingBase getEntity(World worldObj) - { - return new EntityFallenAngel(worldObj); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java deleted file mode 100644 index 8d615cf1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java +++ /dev/null @@ -1,109 +0,0 @@ -package WayofTime.alchemicalWizardry.common.summoning; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntityPig; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningHelper; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFireElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityHolyElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShade; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityShadeElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntitySmallEarthGolem; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWaterElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityWingedFireDemon; - -public class SummoningHelperAW extends SummoningHelper -{ - public SummoningHelperAW(int id) - { - super(id); - } - - public EntityLivingBase getEntity(World worldObj) - { - if (this.id == AlchemicalWizardry.entityFallenAngelID) - { - return new EntityFallenAngel(worldObj); - } - - if (this.id == AlchemicalWizardry.entityLowerGuardianID) - { - return new EntityLowerGuardian(worldObj); - } - - if (this.id == AlchemicalWizardry.entityBileDemonID) - { - return new EntityBileDemon(worldObj); - } - - if (this.id == AlchemicalWizardry.entityWingedFireDemonID) - { - return new EntityWingedFireDemon(worldObj); - } - - if (this.id == AlchemicalWizardry.entitySmallEarthGolemID) - { - return new EntitySmallEarthGolem(worldObj); - } - - if (this.id == AlchemicalWizardry.entityIceDemonID) - { - return new EntityIceDemon(worldObj); - } - - if (this.id == AlchemicalWizardry.entityBoulderFistID) - { - return new EntityBoulderFist(worldObj); - } - - if (this.id == AlchemicalWizardry.entityShadeID) - { - return new EntityShade(worldObj); - } - - if (this.id == AlchemicalWizardry.entityAirElementalID) - { - return new EntityAirElemental(worldObj); - } - - if (this.id == AlchemicalWizardry.entityWaterElementalID) - { - return new EntityWaterElemental(worldObj); - } - - if (this.id == AlchemicalWizardry.entityEarthElementalID) - { - return new EntityEarthElemental(worldObj); - } - - if (this.id == AlchemicalWizardry.entityFireElementalID) - { - return new EntityFireElemental(worldObj); - } - - if (this.id == AlchemicalWizardry.entityShadeElementalID) - { - return new EntityShadeElemental(worldObj); - } - - if (this.id == AlchemicalWizardry.entityHolyElementalID) - { - return new EntityHolyElemental(worldObj); - } - - return new EntityPig(worldObj); - } - - public int getSummoningHelperID() - { - return id; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorParadigm.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorParadigm.java deleted file mode 100644 index 56a615e6..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorParadigm.java +++ /dev/null @@ -1,160 +0,0 @@ -package WayofTime.alchemicalWizardry.common.summoning.meteor; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; - -public class MeteorParadigm -{ - public List componentList = new ArrayList(); - public ItemStack focusStack; - public int radius; - public static int maxChance = 1000; - - public static Random rand = new Random(); - - public MeteorParadigm(ItemStack focusStack, int radius) - { - this.focusStack = focusStack; - this.radius = radius; - } - - public void parseStringArray(String[] oreArray) - { - for (int i = 0; i + 1 < oreArray.length; i += 2) - { - String oreName = oreArray[i]; - int oreChance = Integer.parseInt(oreArray[i + 1]); - MeteorParadigmComponent mpc = new MeteorParadigmComponent(oreName, oreChance); - componentList.add(mpc); - } - } - - public void createMeteorImpact(World world, int x, int y, int z, boolean[] flags) - { - boolean hasTerrae = false; - boolean hasOrbisTerrae = false; - boolean hasCrystallos = false; - boolean hasIncendium = false; - boolean hasTennebrae = false; - - if(flags != null && flags.length >= 5) - { - hasTerrae = flags[0]; - hasOrbisTerrae = flags[1]; - hasCrystallos = flags[2]; - hasIncendium = flags[3]; - hasTennebrae = flags[4]; - } - - int newRadius = radius; - int chance = maxChance; - - if(hasOrbisTerrae) - { - newRadius += 2; - chance += 200; - }else if(hasTerrae) - { - newRadius += 1; - chance += 100; - } - - world.createExplosion(null, x, y, z, newRadius * 4, AlchemicalWizardry.doMeteorsDestroyBlocks); - - float iceChance = hasCrystallos ? 1 : 0; - float soulChance = hasIncendium ? 1 : 0; - float obsidChance = hasTennebrae ? 1 : 0; - - float totalChance = iceChance + soulChance + obsidChance; - - for (int i = -newRadius; i <= newRadius; i++) - { - for (int j = -newRadius; j <= newRadius; j++) - { - for (int k = -newRadius; k <= newRadius; k++) - { - if (i * i + j * j + k * k >= (newRadius + 0.50f) * (newRadius + 0.50f)) - { - continue; - } - - if (!world.isAirBlock(x + i, y + j, z + k)) - { - continue; - } - - int randNum = world.rand.nextInt(chance); - boolean hasPlacedBlock = false; - - for (MeteorParadigmComponent mpc : componentList) - { - if (mpc == null || !mpc.isValidBlockParadigm()) - { - continue; - } - - randNum -= mpc.getChance(); - - if (randNum < 0) - { - ItemStack blockStack = mpc.getValidBlockParadigm(); - world.setBlock(x + i, y + j, z + k, Block.getBlockById(Item.getIdFromItem(blockStack.getItem())), blockStack.getItemDamage(), 3); - hasPlacedBlock = true; - break; - } - } - - if (!hasPlacedBlock) - { - float randChance = rand.nextFloat() * totalChance; - - if(randChance < iceChance) - { - world.setBlock(x + i, y + j, z + k, Blocks.ice, 0, 3); - }else - { - randChance-=iceChance; - - if(randChance < soulChance) - { - switch(rand.nextInt(3)) - { - case 0: - world.setBlock(x + i, y + j, z + k, Blocks.soul_sand, 0, 3); - break; - case 1: - world.setBlock(x + i, y + j, z + k, Blocks.glowstone, 0, 3); - break; - case 2: - world.setBlock(x + i, y + j, z + k, Blocks.netherrack, 0, 3); - break; - } - }else - { - randChance-=soulChance; - - if(randChance < obsidChance) - { - world.setBlock(x + i, y + j, z + k, Blocks.obsidian, 0, 3); - }else - { - randChance-=obsidChance; - - world.setBlock(x + i, y + j, z + k, Blocks.stone, 0, 3); - } - } - } - } - } - } - } - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorParadigmComponent.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorParadigmComponent.java deleted file mode 100644 index 0daa43a1..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorParadigmComponent.java +++ /dev/null @@ -1,54 +0,0 @@ -package WayofTime.alchemicalWizardry.common.summoning.meteor; - -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import java.util.List; - -public class MeteorParadigmComponent -{ - public String oreDictName; - public int chance; - - public MeteorParadigmComponent(String dictName, int chance) - { - this.oreDictName = dictName; - this.chance = chance; - } - - public boolean isValidBlockParadigm() - { - if (this.getValidBlockParadigm() != null) - { - return true; - } - - return false; - } - - public String getOreDictName() - { - return this.oreDictName; - } - - public int getChance() - { - return this.chance; - } - - public ItemStack getValidBlockParadigm() - { - List list = OreDictionary.getOres(getOreDictName()); - - for (ItemStack stack : list) - { - if (stack != null && stack.getItem() instanceof ItemBlock) - { - return stack; - } - } - - return null; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorRegistry.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorRegistry.java deleted file mode 100644 index eb26421a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/summoning/meteor/MeteorRegistry.java +++ /dev/null @@ -1,61 +0,0 @@ -package WayofTime.alchemicalWizardry.common.summoning.meteor; - -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; - -import java.util.ArrayList; -import java.util.List; - -public class MeteorRegistry -{ - public static List paradigmList = new ArrayList(); - - public static void registerMeteorParadigm(MeteorParadigm paradigm) - { - paradigmList.add(paradigm); - } - - public static void registerMeteorParadigm(ItemStack stack, String[] oreList, int radius) - { - if (stack != null && oreList != null) - { - MeteorParadigm meteor = new MeteorParadigm(stack, radius); - meteor.parseStringArray(oreList); - paradigmList.add(meteor); - } - } - - public static void createMeteorImpact(World world, int x, int y, int z, int paradigmID, boolean[] flags) - { - if (paradigmID < paradigmList.size()) - { - paradigmList.get(paradigmID).createMeteorImpact(world, x, y, z, flags); - } - } - - public static int getParadigmIDForItem(ItemStack stack) - { - if (stack == null) - { - return -1; - } - - for (int i = 0; i < paradigmList.size(); i++) - { - ItemStack focusStack = paradigmList.get(i).focusStack; - - if (focusStack != null && focusStack.getItem()== stack.getItem() && (focusStack.getItemDamage() == OreDictionary.WILDCARD_VALUE || focusStack.getItemDamage() == stack.getItemDamage())) - { - return i; - } - } - - return -1; - } - - public static boolean isValidParadigmItem(ItemStack stack) - { - return getParadigmIDForItem(stack) != -1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAlchemicCalcinator.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAlchemicCalcinator.java deleted file mode 100644 index cdca4619..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAlchemicCalcinator.java +++ /dev/null @@ -1,376 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainer; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class TEAlchemicCalcinator extends TEReagentConduit implements IInventory -{ - protected ItemStack[] inv; - protected ReagentContainer bufferTank = new ReagentContainer(Reagent.REAGENT_SIZE * 2); - - protected int bufferTransferRate = 20; - - private int lpPerTick = 10; - private int ticksPerReagent = 200; - - public int progress; - - public TEAlchemicCalcinator() - { - super(1, Reagent.REAGENT_SIZE * 4); - this.inv = new ItemStack[2]; - this.tickRate = 20; - this.maxConnextions = 1; - this.progress = 0; - } - - @Override - public void readFromNBT(NBTTagCompound tag) - { - super.readFromNBT(tag); - bufferTransferRate = tag.getInteger("bufferTransferRate"); - progress = tag.getInteger("progress"); - - NBTTagCompound bufferTankTag = tag.getCompoundTag("bufferTank"); - - this.bufferTank = ReagentContainer.readFromNBT(bufferTankTag); - - NBTTagList tagList = tag.getTagList("Inventory",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound savedTag = (NBTTagCompound) tagList.getCompoundTagAt(i); - - if(savedTag.getBoolean("Empty")) - { - inv[i] = null; - }else - { - inv[i] = ItemStack.loadItemStackFromNBT(savedTag); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound tag) - { - super.writeToNBT(tag); - tag.setInteger("bufferTransferRate", bufferTransferRate); - tag.setInteger("progress", progress); - - NBTTagCompound bufferTankTag = new NBTTagCompound(); - - this.bufferTank.writeToNBT(bufferTankTag); - - tag.setTag("bufferTank", bufferTankTag); - - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - NBTTagCompound savedTag = new NBTTagCompound(); - - if (inv[i] != null) - { - inv[i].writeToNBT(savedTag); - }else - { - savedTag.setBoolean("Empty", true); - } - - itemList.appendTag(savedTag); - } - - tag.setTag("Inventory", itemList); - } - - @Override - public void updateEntity() - { - super.updateEntity(); - - if(!worldObj.isRemote) - { - moveBufferToMain(); - tickProgress(); - } - } - - public void moveBufferToMain() - { - ReagentStack amountStack = this.bufferTank.drain(bufferTransferRate, false); - int drainAmount = this.fill(ForgeDirection.UNKNOWN, amountStack, false); - - if(drainAmount > 0) - { - ReagentStack drainedStack = this.bufferTank.drain(drainAmount, true); - this.fill(ForgeDirection.UNKNOWN, drainedStack, true); - } - } - - public void tickProgress() - { - ItemStack reagentItemStack = this.getStackInSlot(1); - if(reagentItemStack == null) - { - progress = 0; - return; - } - - ReagentStack possibleReagent = ReagentRegistry.getReagentStackForItem(reagentItemStack); - if(possibleReagent == null || !this.canReagentFitBuffer(possibleReagent)) - { - return; - } - - ItemStack orbStack = this.getStackInSlot(0); - if(orbStack == null || !(orbStack.getItem() instanceof IBloodOrb)) - { - return; - } - - if(!SoulNetworkHandler.canSyphonFromOnlyNetwork(orbStack, lpPerTick)) - { - SoulNetworkHandler.causeNauseaToPlayer(orbStack); - return; - } - - SoulNetworkHandler.syphonFromNetwork(orbStack, lpPerTick); - progress++; - - if (worldObj.getWorldTime() % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if(progress >= this.ticksPerReagent) - { - progress = 0; - this.bufferTank.fill(possibleReagent, true); - this.decrStackSize(1, 1); - } - } - - public boolean canReagentFitBuffer(ReagentStack stack) - { - int amount = this.bufferTank.fill(stack, false); - - return amount >= stack.amount; - } - - @Override - public void readClientNBT(NBTTagCompound tag) - { - super.readClientNBT(tag); - - NBTTagList tagList = tag.getTagList("reagentTanks", Constants.NBT.TAG_COMPOUND); - - int size = tagList.tagCount(); - this.tanks = new ReagentContainer[size]; - - for(int i=0; i getInventoryStackLimit()) - { - stack.stackSize = getInventoryStackLimit(); - } - - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public int getInventoryStackLimit() - { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - } - - @Override - public void closeInventory() - { - } - - @Override - public String getInventoryName() - { - return "AlchemicCalcinator"; - } - - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemStack) - { - return true; - } - - @Override - public int fill(ForgeDirection from, ReagentStack resource, boolean doFill) - { - if(doFill && !worldObj.isRemote) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return super.fill(from, resource, doFill); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java deleted file mode 100644 index 5ef267a6..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java +++ /dev/null @@ -1,1179 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.Packet; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidEvent; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; -import net.minecraftforge.fluids.IFluidTank; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipe; -import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.api.tile.IBloodAltar; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.AltarUpgradeComponent; -import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFluidHandler, IBloodAltar -{ - public static final int sizeInv = 1; - private ItemStack[] inv; - private int resultID; - private int resultDamage; - private int upgradeLevel; - //public final LiquidTank tank = new LiquidTank(LiquidContainerRegistry.BUCKET_VOLUME * 10); - protected FluidStack fluid; - public int capacity; - private boolean isActive; - private int liquidRequired; //mB - private boolean canBeFilled; - private int consumptionRate; - private int drainRate; - private float consumptionMultiplier; - private float efficiencyMultiplier; - private float sacrificeEfficiencyMultiplier; - private float selfSacrificeEfficiencyMultiplier; - private float capacityMultiplier; - private float orbCapacityMultiplier; - private float dislocationMultiplier; - private boolean isUpgraded; - private boolean isResultBlock; - private int bufferCapacity; - protected FluidStack fluidOutput; - protected FluidStack fluidInput; - private int progress; - private int hasChanged = 0; - - private int lockdownDuration; - - public TEAltar() - { - this.inv = new ItemStack[1]; - resultID = 0; - resultDamage = 0; - this.capacity = FluidContainerRegistry.BUCKET_VOLUME * 10; - fluid = new FluidStack(AlchemicalWizardry.lifeEssenceFluid, 0); - fluidOutput = new FluidStack(AlchemicalWizardry.lifeEssenceFluid, 0); - fluidInput = new FluidStack(AlchemicalWizardry.lifeEssenceFluid, 0); - bufferCapacity = FluidContainerRegistry.BUCKET_VOLUME; - isActive = false; - consumptionRate = 0; - drainRate = 0; - consumptionMultiplier = 0; - efficiencyMultiplier = 0; - capacityMultiplier = 1; - isUpgraded = false; - upgradeLevel = 0; - isResultBlock = false; - progress = 0; - this.lockdownDuration = 0; - } - - public int getRSPowerOutput() - { - return 5; - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList tagList = par1NBTTagCompound.getTagList("Inventory",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - resultID = par1NBTTagCompound.getInteger("resultID"); - resultDamage = par1NBTTagCompound.getInteger("resultDamage"); - - if (!par1NBTTagCompound.hasKey("Empty")) - { - FluidStack fluid = this.fluid.loadFluidStackFromNBT(par1NBTTagCompound); - - if (fluid != null) - { - setMainFluid(fluid); - } - - FluidStack fluidOut = new FluidStack(AlchemicalWizardry.lifeEssenceFluid, par1NBTTagCompound.getInteger("outputAmount")); - - if (fluidOut != null) - { - setOutputFluid(fluidOut); - } - - FluidStack fluidIn = new FluidStack(AlchemicalWizardry.lifeEssenceFluid, par1NBTTagCompound.getInteger("inputAmount")); - - if (fluidIn != null) - { - setInputFluid(fluidIn); - } - } - - upgradeLevel = par1NBTTagCompound.getInteger("upgradeLevel"); - isActive = par1NBTTagCompound.getBoolean("isActive"); - liquidRequired = par1NBTTagCompound.getInteger("liquidRequired"); - canBeFilled = par1NBTTagCompound.getBoolean("canBeFilled"); - isUpgraded = par1NBTTagCompound.getBoolean("isUpgraded"); - consumptionRate = par1NBTTagCompound.getInteger("consumptionRate"); - drainRate = par1NBTTagCompound.getInteger("drainRate"); - consumptionMultiplier = par1NBTTagCompound.getFloat("consumptionMultiplier"); - efficiencyMultiplier = par1NBTTagCompound.getFloat("efficiencyMultiplier"); - selfSacrificeEfficiencyMultiplier = par1NBTTagCompound.getFloat("selfSacrificeEfficiencyMultiplier"); - sacrificeEfficiencyMultiplier = par1NBTTagCompound.getFloat("sacrificeEfficiencyMultiplier"); - capacityMultiplier = par1NBTTagCompound.getFloat("capacityMultiplier"); - orbCapacityMultiplier = par1NBTTagCompound.getFloat("orbCapacityMultiplier"); - dislocationMultiplier = par1NBTTagCompound.getFloat("dislocationMultiplier"); - capacity = par1NBTTagCompound.getInteger("capacity"); - bufferCapacity = par1NBTTagCompound.getInteger("bufferCapacity"); - progress = par1NBTTagCompound.getInteger("progress"); - isResultBlock = par1NBTTagCompound.getBoolean("isResultBlock"); - lockdownDuration = par1NBTTagCompound.getInteger("lockdownDuration"); - } - - public void setMainFluid(FluidStack fluid) - { - this.fluid = fluid; - } - - public void setOutputFluid(FluidStack fluid) - { - this.fluidOutput = fluid; - } - - public void setInputFluid(FluidStack fluid) - { - this.fluidInput = fluid; - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inv[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - par1NBTTagCompound.setInteger("resultID", resultID); - par1NBTTagCompound.setInteger("resultDamage", resultDamage); - par1NBTTagCompound.setTag("Inventory", itemList); - - if (fluid != null) - { - fluid.writeToNBT(par1NBTTagCompound); - } else - { - par1NBTTagCompound.setString("Empty", ""); - } - - if (fluidOutput != null) - { - par1NBTTagCompound.setInteger("outputAmount", fluidOutput.amount); - } - - if (fluidInput != null) - { - par1NBTTagCompound.setInteger("inputAmount", fluidInput.amount); - } - - par1NBTTagCompound.setInteger("upgradeLevel", upgradeLevel); - par1NBTTagCompound.setBoolean("isActive", isActive); - par1NBTTagCompound.setInteger("liquidRequired", liquidRequired); - par1NBTTagCompound.setBoolean("canBeFilled", canBeFilled); - par1NBTTagCompound.setBoolean("isUpgraded", isUpgraded); - par1NBTTagCompound.setInteger("consumptionRate", consumptionRate); - par1NBTTagCompound.setInteger("drainRate", drainRate); - par1NBTTagCompound.setFloat("consumptionMultiplier", consumptionMultiplier); - par1NBTTagCompound.setFloat("efficiencyMultiplier", efficiencyMultiplier); - par1NBTTagCompound.setFloat("sacrificeEfficiencyMultiplier", sacrificeEfficiencyMultiplier); - par1NBTTagCompound.setFloat("selfSacrificeEfficiencyMultiplier", selfSacrificeEfficiencyMultiplier); - par1NBTTagCompound.setBoolean("isResultBlock", isResultBlock); - par1NBTTagCompound.setFloat("capacityMultiplier", capacityMultiplier); - par1NBTTagCompound.setFloat("orbCapacityMultiplier", orbCapacityMultiplier); - par1NBTTagCompound.setFloat("dislocationMultiplier", dislocationMultiplier); - par1NBTTagCompound.setInteger("capacity", capacity); - par1NBTTagCompound.setInteger("progress", progress); - par1NBTTagCompound.setInteger("bufferCapacity", bufferCapacity); - par1NBTTagCompound.setInteger("lockdownDuration", lockdownDuration); - } - - @Override - public int getSizeInventory() - { - return inv.length; - } - - @Override - public ItemStack getStackInSlot(int slot) - { - return inv[slot]; - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack itemStack) - { - inv[slot] = itemStack; - this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() - { - return "TEAltar"; - } - - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - @Override - public int getInventoryStackLimit() - { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer entityPlayer) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && entityPlayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - // TODO Auto-generated method stub - } - - @Override - public void closeInventory() - { - // TODO Auto-generated method stub - } - - //IFluidTank methods - @Override - public FluidStack getFluid() - { - return fluid; - } - - public FluidStack getInputFluid() - { - return fluidInput; - } - - public FluidStack getOutputFluid() - { - return fluidOutput; - } - - @Override - public int getFluidAmount() - { - if (fluid == null) - { - return 0; - } - - return fluid.amount; - } - - @Override - public int getCapacity() - { - return capacity; - } - - @Override - public int getCurrentBlood() - { - return getFluidAmount(); - } - - @Override - public int getTier() - { - return upgradeLevel; - } - - @Override - public int getProgress() - { - return progress; - } - - @Override - public float getSacrificeMultiplier() - { - return sacrificeEfficiencyMultiplier; - } - - @Override - public float getSelfSacrificeMultiplier() - { - return selfSacrificeEfficiencyMultiplier; - } - - @Override - public float getOrbMultiplier() - { - return orbCapacityMultiplier; - } - - @Override - public float getDislocationMultiplier() - { - return dislocationMultiplier; - } - - @Override - public int getBufferCapacity() - { - return bufferCapacity; - } - - @Override - public FluidTankInfo getInfo() - { - return new FluidTankInfo(this); - } - - @Override - public int fill(FluidStack resource, boolean doFill) - { - TileEntity tile = this; - - if (resource == null) - { - return 0; - } - - if (resource.fluidID != (new FluidStack(AlchemicalWizardry.lifeEssenceFluid, 1)).fluidID) - { - return 0; - } - - if (!doFill) - { - if (fluidInput == null) - { - return Math.min(bufferCapacity, resource.amount); - } - - if (!fluidInput.isFluidEqual(resource)) - { - return 0; - } - - return Math.min(bufferCapacity - fluidInput.amount, resource.amount); - } - - if (fluidInput == null) - { - fluidInput = new FluidStack(resource, Math.min(bufferCapacity, resource.amount)); - - //The tile is never null, so we dont need this - if (tile != null) - { - FluidEvent.fireEvent(new FluidEvent.FluidFillingEvent(fluidInput, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord, this)); - } - - return fluidInput.amount; - } - - if (!fluidInput.isFluidEqual(resource)) - { - return 0; - } - - int filled = bufferCapacity - fluidInput.amount; - - if (resource.amount < filled) - { - fluidInput.amount += resource.amount; - filled = resource.amount; - } else - { - fluidInput.amount = bufferCapacity; - } - - //Never null, so not needed :P - if (tile != null) - { - FluidEvent.fireEvent(new FluidEvent.FluidFillingEvent(fluidInput, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord, this)); - } - - return filled; - } - - @Override - public FluidStack drain(int maxDrain, boolean doDrain) - { - if (fluidOutput == null) - { - return null; - } - - int drained = maxDrain; - - if (fluidOutput.amount < drained) - { - drained = fluidOutput.amount; - } - - FluidStack stack = new FluidStack(fluidOutput, drained); - - if (doDrain) - { - fluidOutput.amount -= drained; - - if (fluidOutput.amount <= 0) - { - fluidOutput = null; - } - - //This is never null, so its un needed :D - if (this != null) - { - FluidEvent.fireEvent(new FluidEvent.FluidDrainingEvent(fluidOutput, this.worldObj, this.xCoord, this.yCoord, this.zCoord, this)); - } - } - - if (fluidOutput == null) - { - fluidOutput = new FluidStack(AlchemicalWizardry.lifeEssenceFluid, 0); - } - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return stack; - } - - //Logic for the actual block is under here - @Override - public void updateEntity() - { - //this.capacity=(int) (10000*this.capacityMultiplier); - if(this.lockdownDuration > 0) - { - this.lockdownDuration --; - } - - if (!worldObj.isRemote && worldObj.getWorldTime() % 20 == 0) - { - //TODO - { - Block block = worldObj.getBlock(xCoord+1, yCoord, zCoord); - block.onNeighborBlockChange(worldObj, xCoord+1, yCoord, zCoord, block); - block = worldObj.getBlock(xCoord-1, yCoord, zCoord); - block.onNeighborBlockChange(worldObj, xCoord-1, yCoord, zCoord, block); - block = worldObj.getBlock(xCoord, yCoord+1, zCoord); - block.onNeighborBlockChange(worldObj, xCoord, yCoord+1, zCoord, block); - block = worldObj.getBlock(xCoord, yCoord-1, zCoord); - block.onNeighborBlockChange(worldObj, xCoord, yCoord-1, zCoord, block); - block = worldObj.getBlock(xCoord, yCoord, zCoord+1); - block.onNeighborBlockChange(worldObj, xCoord, yCoord, zCoord+1, block); - block = worldObj.getBlock(xCoord, yCoord, zCoord-1); - block.onNeighborBlockChange(worldObj, xCoord, yCoord, zCoord-1, block); - } - - int syphonMax = (int) (20 * this.dislocationMultiplier); - int fluidInputted = 0; - int fluidOutputted = 0; - fluidInputted = Math.min(syphonMax, -this.fluid.amount + capacity); - fluidInputted = Math.min(this.fluidInput.amount, fluidInputted); - this.fluid.amount += fluidInputted; - this.fluidInput.amount -= fluidInputted; - fluidOutputted = Math.min(syphonMax, this.bufferCapacity - this.fluidOutput.amount); - fluidOutputted = Math.min(this.fluid.amount, fluidOutputted); - this.fluidOutput.amount += fluidOutputted; - this.fluid.amount -= fluidOutputted; - - if(AlchemicalWizardry.lockdownAltar) - { - List list = SpellHelper.getPlayersInRange(worldObj, xCoord+0.5, yCoord+0.5, zCoord+0.5, 15, 15); - boolean hasHighRegen = false; - for(EntityPlayer player : list) - { - PotionEffect regenEffect = player.getActivePotionEffect(Potion.regeneration); - if(regenEffect != null && regenEffect.getAmplifier() >= 2) - { - this.lockdownDuration += 20; - } - } - } - - if(AlchemicalWizardry.causeHungerWithRegen) - { - List list = SpellHelper.getPlayersInRange(worldObj, xCoord+0.5, yCoord+0.5, zCoord+0.5, 15, 15); - for(EntityPlayer player : list) - { - PotionEffect regenEffect = player.getActivePotionEffect(Potion.regeneration); - if(regenEffect != null && regenEffect.getAmplifier() > 0) - { - player.addPotionEffect(new PotionEffect(Potion.hunger.id, 40, regenEffect.getAmplifier()*2 - 2)); - } - } - } - } - - if (worldObj.getWorldTime() % 100 == 0) - { - startCycle(); - } - - if (!isActive) - { - return; - } - - if (getStackInSlot(0) == null) - { - return; - } - - int worldTime = (int) (worldObj.getWorldTime() % 24000); - - if (worldObj.isRemote) - { - return; - } -// -// int range = 5; -// -// for(int i=-range; i<=range; i++) -// { -// for(int j=-range; j<=range; j++) -// { -// for(int k=-range; k<=range; k++) -// { -// Block block = worldObj.getBlock(xCoord + i, yCoord + j, zCoord + k); -// int meta = worldObj.getBlockMetadata(xCoord + i, yCoord + j, zCoord + k); -// -// List list = block.getDrops(worldObj, xCoord + i, yCoord + j, zCoord + k, meta, 1); -// for(ItemStack stack : list) -// { -// String str = stack.getUnlocalizedName(); -// if(str.contains("fallenKanade")) -// { -// System.out.println("" + str); -// } -// } -// } -// } -// } - - //o,o this is always true - if (worldTime % 1 == 0) - { - if (!canBeFilled) - { - if (fluid != null && fluid.amount >= 1) - { - int stackSize = getStackInSlot(0).stackSize; - int liquidDrained = Math.min((int) (upgradeLevel >= 2 ? consumptionRate * (1 + consumptionMultiplier) : consumptionRate), fluid.amount); - - if (liquidDrained > (liquidRequired * stackSize - progress)) - { - liquidDrained = liquidRequired * stackSize - progress; - } - - fluid.amount = fluid.amount - liquidDrained; - progress += liquidDrained; - - //getStackInSlot(0).setItemDamage(getStackInSlot(0).getItemDamage() + liquidDrained); - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (progress >= liquidRequired * stackSize) - { - ItemStack result = null; - result = AltarRecipeRegistry.getItemForItemAndTier(this.getStackInSlot(0), this.upgradeLevel); - if(result!=null) - { - result.stackSize*=stackSize; - } - -// if (!isResultBlock) -// { -// result = new ItemStack(resultID, stackSize, resultDamage); -// } else -// { -// result = new ItemStack(Block.blocksList[resultID], stackSize, 0); -// } - - setInventorySlotContents(0, result); - progress = 0; - - for (int i = 0; i < 8; i++) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 4, xCoord+0.5f, yCoord+1.0f, zCoord+0.5f); - } - - //setInventorySlotContents(1, null); - this.isActive = false; - } - } else if (progress > 0) - { - progress -= (int) (efficiencyMultiplier * drainRate); - - if (worldTime % 2 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 2, xCoord, yCoord, zCoord); - } - } - } else - { - ItemStack returnedItem = getStackInSlot(0); - - if (!(returnedItem.getItem() instanceof IBloodOrb)) - { - return; - } - - IBloodOrb item = (IBloodOrb) (returnedItem.getItem()); - NBTTagCompound itemTag = returnedItem.stackTagCompound; - - if (itemTag == null) - { - return; - } - - String ownerName = itemTag.getString("ownerName"); - - if (ownerName.equals("")) - { - return; - } - - //EntityPlayer owner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(itemTag.getString("ownerName")); - World world = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); - - if (data == null) - { - data = new LifeEssenceNetwork(ownerName); - world.setItemData(ownerName, data); - } - - int currentEssence = data.currentEssence; -// if(owner==null){return;} -// NBTTagCompound playerTag = owner.getEntityData(); -// if(playerTag==null){return;} - //int currentEssence=playerTag.getInteger("currentEssence"); - - if (fluid != null && fluid.amount >= 1) - { - int liquidDrained = Math.min((int) (upgradeLevel >= 2 ? consumptionRate * (1 + consumptionMultiplier) : consumptionRate), fluid.amount); - - if (liquidDrained > (item.getMaxEssence() * this.orbCapacityMultiplier - currentEssence)) - { - liquidDrained = (int) (item.getMaxEssence() * this.orbCapacityMultiplier - currentEssence); - } - - if (liquidDrained <= 0) - { - return; - } - - fluid.amount = fluid.amount - liquidDrained; -// int maxAmount = (int) Math.min(item.getMaxEssence() - consumptionRate * (1 + consumptionMultiplier), consumptionRate * (1 + consumptionMultiplier)); -// fluid.amount -= maxAmount; - data.currentEssence = liquidDrained + data.currentEssence; - data.markDirty(); -// playerTag.setInteger("currentEssence", currentEssence+maxAmount); - - if (worldTime % 4 == 0) - { - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, getParticlePacket(xCoord, yCoord, zCoord, (short) 3)); - SpellHelper.sendIndexedParticleToAllAround(world, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 3, xCoord, yCoord, zCoord); - } - } - } - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - //AlchemicalWizardry.proxy.getClientWorld().markBlockForUpdate(xCoord, yCoord, zCoord); - //PacketDispatcher.sendPacketToAllAround(xCoord, yCoord, zCoord, 10, 1, getDescriptionPacket()); - /* - progress++; - - if(progress>=liquidRequired) - { - setActive(); - setInventorySlotContents(0, new ItemStack(AlchemicalWizardry.weakBloodOrb)); - } - */ - } - } - - public void setActive() - { - isActive = false; - } - - public boolean isActive() - { - return isActive; - } - - public void sacrificialDaggerCall(int amount, boolean isSacrifice) - { - if(!isSacrifice && this.lockdownDuration > 0) - { - int amt = (int) Math.min(bufferCapacity - fluidInput.amount, (isSacrifice ? 1 + sacrificeEfficiencyMultiplier : 1 + selfSacrificeEfficiencyMultiplier) * amount); - fluidInput.amount += amt; - }else - { - fluid.amount += Math.min(capacity - fluid.amount, (isSacrifice ? 1 + sacrificeEfficiencyMultiplier : 1 + selfSacrificeEfficiencyMultiplier) * amount); - } - } - - @Override - public Packet getDescriptionPacket() - { - return NewPacketHandler.getPacket(this); - } - - public void handlePacketData(int[] intData, int[] fluidData, int capacity) - { - if (intData == null) - { - return; - } - - if (intData.length == 3) - { - for (int i = 0; i < 1; i++) - { - if (intData[i * 3 + 2] != 0) - { - ItemStack is = new ItemStack(Item.getItemById(intData[i * 3]), intData[i * 3 + 2], intData[i * 3 + 1]); - inv[i] = is; - } else - { - inv[i] = null; - } - } - } - - FluidStack flMain = new FluidStack(fluidData[0],fluidData[1]); - FluidStack flIn = new FluidStack(fluidData[2],fluidData[3]); - FluidStack flOut = new FluidStack(fluidData[4],fluidData[5]); - - this.setMainFluid(flMain); - this.setInputFluid(flIn); - this.setOutputFluid(flOut); - - this.capacity = capacity; - } - - public int[] buildIntDataList() - { - int[] sortList = new int[1 * 3]; - int pos = 0; - - for (ItemStack is : inv) - { - if (is != null) - { - sortList[pos++] = Item.getIdFromItem(is.getItem()); - sortList[pos++] = is.getItemDamage(); - sortList[pos++] = is.stackSize; - } else - { - sortList[pos++] = 0; - sortList[pos++] = 0; - sortList[pos++] = 0; - } - } - - return sortList; - } - - public void startCycle() - { - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - this.checkAndSetAltar(); - - if (fluid == null || fluid.amount <= 0) - { - return; - } - - if (getStackInSlot(0) == null) - { - return; - } - - if (!isActive) - { - progress = 0; - } - - if(AltarRecipeRegistry.isRequiredItemValid(getStackInSlot(0), upgradeLevel)) - { - AltarRecipe recipe = AltarRecipeRegistry.getAltarRecipeForItemAndTier(getStackInSlot(0), upgradeLevel); - this.isActive = true; - this.liquidRequired = recipe.getLiquidRequired(); - this.canBeFilled = recipe.getCanBeFilled(); - this.consumptionRate = recipe.getConsumptionRate(); - this.drainRate = recipe.drainRate; - return; - } - - isActive = false; - } - - public void checkAndSetAltar() - { - boolean checkUpgrade = true; - int upgradeState = UpgradedAltars.isAltarValid(worldObj, xCoord, yCoord, zCoord); - - if (upgradeState <= 1) - { - upgradeLevel = 1; - isUpgraded = false; - this.consumptionMultiplier = 0; - this.efficiencyMultiplier = 1; - this.sacrificeEfficiencyMultiplier = 0; - this.selfSacrificeEfficiencyMultiplier = 0; - this.capacityMultiplier = 1; - this.orbCapacityMultiplier = 1; - this.dislocationMultiplier = 1; - return; - } - - AltarUpgradeComponent upgrades = UpgradedAltars.getUpgrades(worldObj, xCoord, yCoord, zCoord, upgradeState); - - if (upgrades == null) - { - upgradeLevel = 1; - isUpgraded = false; - this.consumptionMultiplier = 0; - this.efficiencyMultiplier = 1; - this.sacrificeEfficiencyMultiplier = 0; - this.selfSacrificeEfficiencyMultiplier = 0; - this.capacityMultiplier = 1; - this.orbCapacityMultiplier = 1; - this.dislocationMultiplier = 1; - this.upgradeLevel = upgradeState; - return; - } - - this.isUpgraded = checkUpgrade; - this.upgradeLevel = upgradeState; - this.consumptionMultiplier = (float) (0.20 * upgrades.getSpeedUpgrades()); - this.efficiencyMultiplier = (float) Math.pow(0.85, upgrades.getSpeedUpgrades()); - this.sacrificeEfficiencyMultiplier = (float) (0.10 * upgrades.getSacrificeUpgrades()); - this.selfSacrificeEfficiencyMultiplier = (float) (0.10 * upgrades.getSelfSacrificeUpgrades()); - this.capacityMultiplier = (float) ((1*Math.pow(1.10,upgrades.getBetterCapacitiveUpgrades()) + 0.20 * upgrades.getAltarCapacitiveUpgrades())); - //TODO finalize values - this.dislocationMultiplier = (float) (Math.pow(1.2, upgrades.getDisplacementUpgrades())); - this.orbCapacityMultiplier = (float) (1 + 0.02 * upgrades.getOrbCapacitiveUpgrades()); - this.capacity = (int) (FluidContainerRegistry.BUCKET_VOLUME * 10 * capacityMultiplier); - this.bufferCapacity = (int) (FluidContainerRegistry.BUCKET_VOLUME * 1 * capacityMultiplier); - - if (this.fluid.amount > this.capacity) - { - this.fluid.amount = this.capacity; - } - - if (this.fluidOutput.amount > this.bufferCapacity) - { - this.fluidOutput.amount = this.bufferCapacity; - } - - if (this.fluidInput.amount > this.bufferCapacity) - { - this.fluidInput.amount = this.bufferCapacity; - } - - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); -// for (int x = -1; x <= 1; x++) -// { -// for (int z = -1; z <= 1; z++) -// { -// if (!(x == 0 && z == 0)) -// { -// Block block = Block.blocksList[worldObj.getBlockId(xCoord + x, yCoord - 1, zCoord + z)]; -// -// if (!(block instanceof BloodRune)) -// { -// checkUpgrade = false; -// this.isUpgraded = false; -// return; -// } -// -// if ((z == 0 && (x == -1 || x == 1)) || (x == 0 && (z == -1 || z == 1))) -// { -// switch (((BloodRune)block).getRuneEffect()) -// { -// case 1: -// speedUpgrades++; -// -// case 2: -// efficiencyUpgrades++; -// -// case 3: -// sacrificeUpgrades++; -// -// case 4: -// selfSacrificeUpgrades++; -// } -// } -// } -// } -// } -// this.isUpgraded = checkUpgrade; -// this.consumptionMultiplier = (float)(0.20 * speedUpgrades); -// this.efficiencyMultiplier = (float)Math.pow(0.80, efficiencyUpgrades); -// this.sacrificeEfficiencyMultiplier = (float)(0.10 * sacrificeUpgrades); -// this.selfSacrificeEfficiencyMultiplier = (float)(0.10 * sacrificeUpgrades); - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemstack) - { - return slot == 0; - } - - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) - { - //TODO - if (resource == null) - { - return 0; - } - - resource = resource.copy(); - int totalUsed = 0; - //TileTank tankToFill = getBottomTank(); - int used = this.fill(resource, doFill); - resource.amount -= used; - totalUsed += used; - //FluidStack liquid = tankToFill.tank.getFluid(); -// if (liquid != null && liquid.amount > 0 && !liquid.isFluidEqual(resource)) -// { -// return 0; -// } -// while (tankToFill != null && resource.amount > 0) -// { -// int used = tankToFill.tank.fill(resource, doFill); -// resource.amount -= used; -// if (used > 0) -// { -// tankToFill.hasUpdate = true; -// } -// -// -// totalUsed += used; -// tankToFill = getTankAbove(tankToFill); -// } - this.startCycle(); - return totalUsed; - } - - @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) - { - if (resource == null) - { - return null; - } - - if (!resource.isFluidEqual(fluidOutput)) - { - return null; - } - - return drain(from, resource.amount, doDrain); - } - - @Override - public FluidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) - { - return this.drain(maxEmpty, doDrain); - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) - { - // TODO Auto-generated method stub - //I changed this, since fluidstack != fluid... :p dunno if it was a accident? so you might wanna check this - return this.fluidInput != null && this.fluid.getFluid().equals(fluidInput.getFluid()); - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) - { - // TODO Auto-generated method stub - return true; - } - - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) - { - // TODO Auto-generated method stub - FluidTank compositeTank = new FluidTank(capacity); - compositeTank.setFluid(fluid); - return new FluidTankInfo[]{compositeTank.getInfo()}; - } - - public int[] buildFluidList() - { - int[] sortList = new int[6]; - - if(this.fluid == null) - { - sortList[0] = AlchemicalWizardry.lifeEssenceFluid.getID(); - sortList[1] = 0; - }else - { - sortList[0] = this.fluid.fluidID; - sortList[1] = this.fluid.amount; - } - - if(this.fluidInput == null) - { - sortList[2] = AlchemicalWizardry.lifeEssenceFluid.getID(); - sortList[3] = 0; - }else - { - sortList[2] = this.fluidInput.fluidID; - sortList[3] = this.fluidInput.amount; - } - - if(this.fluidOutput == null) - { - sortList[4] = AlchemicalWizardry.lifeEssenceFluid.getID(); - sortList[5] = 0; - }else - { - sortList[4] = this.fluidOutput.fluidID; - sortList[5] = this.fluidOutput.amount; - } - - return sortList; - } - - public void sendChatInfoToPlayer(EntityPlayer player) - { - player.addChatMessage(new ChatComponentText("Altar's Current Essence: " + this.fluid.amount + "LP")); - player.addChatMessage(new ChatComponentText("Altar's Current Tier: " + UpgradedAltars.isAltarValid(worldObj, xCoord, yCoord, zCoord))); - player.addChatMessage(new ChatComponentText("Capacity: " + this.getCapacity() + "LP")); - } - - public void sendMoreChatInfoToPlayer(EntityPlayer player) - { - if(getStackInSlot(0) != null) - { - int stackSize = getStackInSlot(0).stackSize; - player.addChatMessage(new ChatComponentText("Altar's Progress: " + progress + "LP/" + liquidRequired * stackSize + "LP")); - player.addChatMessage(new ChatComponentText("Consumption rate: " + (int)(consumptionRate * (1+consumptionMultiplier)) + "LP/t")); - } - player.addChatMessage(new ChatComponentText("Altar's Current Essence: " + this.fluid.amount + "LP")); - player.addChatMessage(new ChatComponentText(" Input tank: " + this.fluidInput.amount + "LP")); - player.addChatMessage(new ChatComponentText(" Output tank: " + this.fluidOutput.amount + "LP")); - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEBellJar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEBellJar.java deleted file mode 100644 index 8db83a89..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEBellJar.java +++ /dev/null @@ -1,158 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainer; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; - -public class TEBellJar extends TEReagentConduit -{ - public TEBellJar() - { - super(1, 16000); - this.maxConnextions = 1; - this.affectedByRedstone = false; - } - - public int getRSPowerOutput() - { - ReagentContainer thisTank = this.tanks[0]; - if(thisTank != null) - { - ReagentStack stack = thisTank.getReagent(); - if(stack != null) - { - return (15*stack.amount/thisTank.getCapacity()); - } - } - return 0; - } - - public static ReagentContainerInfo[] getContainerInfoFromItem(ItemStack stack) - { - if(stack != null && stack.getItem() instanceof ItemBlock && ModBlocks.blockCrystalBelljar == ((ItemBlock)stack.getItem()).field_150939_a) - { - NBTTagCompound tag = stack.getTagCompound(); - if(tag != null) - { - NBTTagList tagList = tag.getTagList("reagentTanks", Constants.NBT.TAG_COMPOUND); - - int size = tagList.tagCount(); - ReagentContainer[] tanks = new ReagentContainer[size]; - - ReagentContainerInfo[] infos = new ReagentContainerInfo[size]; - - for(int i=0; i buildingList = new ArrayList(); - public Random rand = new Random(); - private GridSpace[][] area; - - private int negXRadius; //These variables indicate how much the grid has expanded from the 1x1 - private int posXRadius; //matrix in each direction - private int negZRadius; - private int posZRadius; - - private boolean isInitialized; - - public int houseCooldown; - public int roadCooldown; - public int tier; //Tier of the demon portal - Should select buildings 2 below to this - public int totalPoints; - - public int yLevelDestination; - public boolean hasLocationChanged; - - public TEDemonPortal() - { - super(); - - negXRadius = posXRadius = negZRadius = posZRadius = 1; - - area = new GridSpace[negXRadius + posXRadius + 1][negZRadius + posZRadius + 1]; - for(int xIndex = -negXRadius; xIndex <= posXRadius; xIndex++) - { - for(int zIndex = -negZRadius; zIndex <= posZRadius; zIndex++) - { - if(Math.abs(xIndex) == 1 || Math.abs(zIndex) == 1) - { - this.setGridSpace(xIndex, zIndex, new GridSpace(GridSpace.ROAD,4)); - }else - { - this.setGridSpace(xIndex, zIndex, new GridSpace()); - } - } - } - - isInitialized = false; - - this.setGridSpace(0, 0, new GridSpace(GridSpace.MAIN_PORTAL, yCoord)); - - this.houseCooldown = 0; - this.roadCooldown = 0; - this.tier = 0; - - this.yLevelDestination = 0; - this.hasLocationChanged = false; - } - - public void initialize() - { - if(isInitialized) - { - return; - } - - for(int xIndex = -negXRadius; xIndex <= posXRadius; xIndex++) - { - for(int zIndex = -negZRadius; zIndex <= posZRadius; zIndex++) - { - if(Math.abs(xIndex) == 1 || Math.abs(zIndex) == 1) - { - this.setGridSpace(xIndex, zIndex, new GridSpace(GridSpace.ROAD,yCoord)); - }else if(xIndex == 0 && zIndex == 0) - { - this.setGridSpace(0, 0, new GridSpace(GridSpace.MAIN_PORTAL, yCoord)); - }else - { - this.setGridSpace(xIndex, zIndex, new GridSpace()); - } - } - } - - this.houseCooldown = TEDemonPortal.buildingGridDelay; - this.roadCooldown = TEDemonPortal.roadGridDelay; - - isInitialized = true; - } - - @Override - public void updateEntity() - { - if(!isInitialized) - { - return; - } - - if(this.hasLocationChanged) - { - if(this.changePortalLocation()) - { - return; - }else - { - this.hasLocationChanged = false; - } - } - - if(this.roadCooldown <= 0) - { - int roadsMade = this.createRandomRoad(); - if(roadsMade > 0) - { - this.roadCooldown = TEDemonPortal.roadGridDelay * roadsMade; - this.totalPoints += this.roadCooldown; - } - } - else if(this.houseCooldown <= 0) - { - int gridsUsed = this.createRandomBuilding(0, 0); - if(gridsUsed > 0) - { - this.houseCooldown = TEDemonPortal.buildingGridDelay * gridsUsed; - this.totalPoints += this.houseCooldown; - } - } - - if(this.tier < this.tierCostList.length && this.totalPoints > this.tierCostList[this.tier]) - { - this.tier++; - - if(this.createRandomBuilding(DemonBuilding.BUILDING_PORTAL, tier+1) >= 1) - { - } - } - - this.houseCooldown = Math.max(0, this.houseCooldown - 1); //Current dummy implementation of the increasing costs - this.roadCooldown = Math.max(0, this.roadCooldown - 1); - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - this.negXRadius = par1NBTTagCompound.getInteger("negXRadius"); - this.negZRadius = par1NBTTagCompound.getInteger("negZRadius"); - this.posXRadius = par1NBTTagCompound.getInteger("posXRadius"); - this.posZRadius = par1NBTTagCompound.getInteger("posZRadius"); - this.houseCooldown = par1NBTTagCompound.getInteger("houseCooldown"); - this.roadCooldown = par1NBTTagCompound.getInteger("roadCooldown"); - - area = new GridSpace[negXRadius + posXRadius + 1][negZRadius + posZRadius + 1]; - - NBTTagList tagList = par1NBTTagCompound.getTagList("Grid",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - int length = (negZRadius+posZRadius+1); - - int x = i/length; - int z = i%length; - - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - GridSpace space = GridSpace.getGridFromTag(tag); - - area[x][z] = space; - } - - this.isInitialized = par1NBTTagCompound.getBoolean("init"); - - this.tier = par1NBTTagCompound.getInteger("tier"); - this.totalPoints = par1NBTTagCompound.getInteger("totalPoints"); - this.yLevelDestination = par1NBTTagCompound.getInteger("yLevelDestination"); - this.hasLocationChanged = par1NBTTagCompound.getBoolean("hasLocationChanged"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - par1NBTTagCompound.setInteger("negXRadius", negXRadius); - par1NBTTagCompound.setInteger("negZRadius", negZRadius); - par1NBTTagCompound.setInteger("posXRadius", posXRadius); - par1NBTTagCompound.setInteger("posZRadius", posZRadius); - par1NBTTagCompound.setInteger("houseCooldown", houseCooldown); - par1NBTTagCompound.setInteger("roadCooldown", roadCooldown); - - NBTTagList gridList = new NBTTagList(); - - for(int i=0; i<=negXRadius+posXRadius; i++) - { - for(int j=0; j<=negZRadius+posZRadius; j++) - { - int index = i + (negZRadius+posZRadius+1)*j; - - GridSpace space = area[i][j]; - NBTTagCompound nextTag; - - if(space == null) - { - nextTag = new GridSpace().getTag(); - }else - { - nextTag = space.getTag(); - } - - gridList.appendTag(nextTag); - } - } - - par1NBTTagCompound.setTag("Grid", gridList); - - par1NBTTagCompound.setBoolean("init", this.isInitialized); - par1NBTTagCompound.setInteger("tier", this.tier); - par1NBTTagCompound.setInteger("totalPoints", this.totalPoints); - par1NBTTagCompound.setInteger("yLevelDestination", this.yLevelDestination); - par1NBTTagCompound.setBoolean("hasLocationChanged", this.hasLocationChanged); - } - - public int createRandomRoad() //Return the number of road spaces - { - int next = rand.nextInt(4); - ForgeDirection dir; - - switch(next) - { - case 0: - dir = ForgeDirection.NORTH; - break; - case 1: - dir = ForgeDirection.SOUTH; - break; - case 2: - dir = ForgeDirection.EAST; - break; - case 3: - dir = ForgeDirection.WEST; - break; - default: - dir = ForgeDirection.NORTH; - } - - int length = 5; - - Int3 road = findRoadSpaceFromDirection(dir, (rand.nextInt(negXRadius + negZRadius + posXRadius + posZRadius))+1); - - int x = road.xCoord; - int yLevel = road.yCoord; - int z = road.zCoord; - - System.out.println("X: " + x + " Z: " + z + " Direction: " + dir.toString()); - - List directions = this.findValidExtentionDirection(x, z); - - if(directions.size() <= 0) - { - return 0; - } - - int maxDistance = 5; - - int distance = 0; - ForgeDirection dominantDirection = null; - - for(ForgeDirection direction: directions) - { - int amt = this.getLength(direction, maxDistance, x, z); - if(amt > distance) - { - distance = amt; - dominantDirection = direction; - }else if(amt == distance && rand.nextBoolean()) - { - dominantDirection = direction; - } - } - - if(dominantDirection == null) - { - return 0; - } - System.out.println("I got here!"); - System.out.println("Distance: " + distance + " Direction: " + dominantDirection.toString() + " yLevel: " + yLevel); - - this.createGriddedRoad(x, yLevel, z, dominantDirection, distance+1, true); - - return distance; - } - - public List findValidExtentionDirection(int x, int z) - { - List directions = new LinkedList(); - - if(this.getGridSpace(x, z) == null || !this.getGridSpace(x, z).isRoadSegment()) - { - return directions; - } - - GridSpace nextGrid = this.getGridSpace(x+1, z); - if(nextGrid.isEmpty()) - { - directions.add(ForgeDirection.EAST); - } - - nextGrid = this.getGridSpace(x-1, z); - if(nextGrid.isEmpty()) - { - directions.add(ForgeDirection.WEST); - } - - nextGrid = this.getGridSpace(x, z+1); - if(nextGrid.isEmpty()) - { - directions.add(ForgeDirection.SOUTH); - } - - nextGrid = this.getGridSpace(x, z-1); - if(nextGrid.isEmpty()) - { - directions.add(ForgeDirection.NORTH); - } - - return directions; - } - - public int getLength(ForgeDirection dir, int maxLength, int x, int z) //Number of spaces forward - { - for(int i=1; i<=maxLength; i++) - { - GridSpace space = this.getGridSpace(x + i*dir.offsetX, z + i*dir.offsetZ); - if(space.isEmpty()) - { - for(int k=1; k<=this.getRoadSpacer(); k++) - { - GridSpace space1 = this.getGridSpace(x + i*dir.offsetX + dir.offsetZ*k, z + i*dir.offsetZ + dir.offsetX*k); - GridSpace space2 = this.getGridSpace(x + i*dir.offsetX - dir.offsetZ*k, z + i*dir.offsetZ - dir.offsetX*k); - - if(space1.isRoadSegment() || space2.isRoadSegment()) - { - return i-1; - } - } - - continue; - } - if(space.isRoadSegment()) - { - return i; - }else - { - return i-1; - } - } - return maxLength; - } - - public Int3 findRoadSpaceFromDirection(ForgeDirection dir, int amount) - { - int index = 0; - if(dir == ForgeDirection.NORTH) - { - System.out.print("NORTH!"); - for(int i=0; i<= negZRadius + posZRadius; i++) - { - for(int j=0; j<= negXRadius + posXRadius; j++) - { - GridSpace space = area[j][i]; - if(space.isRoadSegment()) - { - index++; - if(index >= amount) - { - return new Int3(j-negXRadius,space.getYLevel(),i-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.SOUTH) - { - for(int i=negZRadius + posZRadius; i >= 0 ; i--) - { - for(int j=0; j<= negXRadius + posXRadius; j++) - { - GridSpace space = area[j][i]; - if(space.isRoadSegment()) - { - index++; - if(index >= amount) - { - return new Int3(j-negXRadius,space.getYLevel(),i-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.EAST) - { - for(int i=negXRadius + posXRadius; i >= 0; i--) - { - for(int j=0; j <= negZRadius + posZRadius ; j++) - { - GridSpace space = area[i][j]; - if(space.isRoadSegment()) - { - index++; - if(index >= amount) - { - return new Int3(i-negXRadius,space.getYLevel(),j-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.WEST) - { - for(int i=0; i <= negXRadius + posXRadius; i++) - { - for(int j=0; j <= negZRadius + posZRadius ; j++) - { - GridSpace space = area[i][j]; - if(space.isRoadSegment()) - { - index++; - if(index >= amount) - { - return new Int3(i-negXRadius,space.getYLevel(),j-negZRadius); - } - } - } - } - } - - return new Int3(0,0,0); - } - - public Int3 findEmptySpaceNearRoad(ForgeDirection dir, int amount, int closeness) - { - int index = 0; - if(dir == ForgeDirection.NORTH) - { - System.out.print("NORTH!"); - for(int i=0; i<= negZRadius + posZRadius; i++) - { - for(int j=0; j<= negXRadius + posXRadius; j++) - { - GridSpace space = area[j][i]; - if(space.isEmpty()) - { - int yLevel = this.findNearestRoadYLevel(j-negXRadius, i-negZRadius, closeness); - if(yLevel == -1) - { - continue; - } - index++; - if(index >= amount) - { - return new Int3(j-negXRadius,yLevel,i-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.SOUTH) - { - for(int i=negZRadius + posZRadius; i >= 0 ; i--) - { - for(int j=0; j<= negXRadius + posXRadius; j++) - { - GridSpace space = area[j][i]; - int yLevel = this.findNearestRoadYLevel(j-negXRadius, i-negZRadius, closeness); - if(yLevel == -1) - { - continue; - } - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(j-negXRadius,yLevel,i-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.EAST) - { - for(int i=negXRadius + posXRadius; i >= 0; i--) - { - for(int j=0; j <= negZRadius + posZRadius ; j++) - { - GridSpace space = area[i][j]; - int yLevel = this.findNearestRoadYLevel(i-negXRadius, j-negZRadius, closeness); - if(yLevel == -1) - { - continue; - } - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(i-negXRadius,yLevel,j-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.WEST) - { - for(int i=0; i <= negXRadius + posXRadius; i++) - { - for(int j=0; j <= negZRadius + posZRadius ; j++) - { - GridSpace space = area[i][j]; - int yLevel = this.findNearestRoadYLevel(i-negXRadius, j-negZRadius, closeness); - if(yLevel == -1) - { - continue; - } - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(i-negXRadius,yLevel,j-negZRadius); - } - } - } - } - } - - return new Int3(0,0,0); - } - - public Int3 findEmptySpaceFromDirection(ForgeDirection dir, int amount) - { - int index = 0; - if(dir == ForgeDirection.NORTH) - { - System.out.print("NORTH!"); - for(int i=0; i<= negZRadius + posZRadius; i++) - { - for(int j=0; j<= negXRadius + posXRadius; j++) - { - GridSpace space = area[j][i]; - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(j-negXRadius,space.getYLevel(),i-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.SOUTH) - { - for(int i=negZRadius + posZRadius; i >= 0 ; i--) - { - for(int j=0; j<= negXRadius + posXRadius; j++) - { - GridSpace space = area[j][i]; - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(j-negXRadius,space.getYLevel(),i-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.EAST) - { - for(int i=negXRadius + posXRadius; i >= 0; i--) - { - for(int j=0; j <= negZRadius + posZRadius ; j++) - { - GridSpace space = area[i][j]; - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(i-negXRadius,space.getYLevel(),j-negZRadius); - } - } - } - } - }else if(dir == ForgeDirection.WEST) - { - for(int i=0; i <= negXRadius + posXRadius; i++) - { - for(int j=0; j <= negZRadius + posZRadius ; j++) - { - GridSpace space = area[i][j]; - if(space.isEmpty()) - { - index++; - if(index >= amount) - { - return new Int3(i-negXRadius,space.getYLevel(),j-negZRadius); - } - } - } - } - } - - return new Int3(0,0,0); - } - - public void createGriddedRoad(int gridXi, int yi, int gridZi, ForgeDirection dir, int gridLength, boolean convertStarter) //Total grid length - { - if(gridLength == 0 || gridLength == 1) - { - return; - } - - if(convertStarter) - { - - } - - int initGridX = gridXi; - int initGridZ = gridZi; - int initY = yi; - - if(convertStarter) - { - this.setGridSpace(initGridX, initGridZ, new GridSpace(GridSpace.CROSSROAD,initY)); - - DemonCrosspath crosspath = new DemonCrosspath(xCoord + initGridX*5, initY, zCoord + initGridZ*5); - crosspath.createCrosspath(worldObj); - } - - for(int index=0; index posXRadius|| x < -negXRadius || z > posZRadius || z < -negZRadius) - { - return new GridSpace(); - }else - { - return (area[x + negXRadius][z + negZRadius]); - } - } - - public void setGridSpace(int x, int z, GridSpace space) - { - if(x > posXRadius) - { - this.expandAreaInPosX(); - this.setGridSpace(x, z, space); - return; - }else if(x < -negXRadius) - { - this.expandAreaInNegX(); - this.setGridSpace(x, z, space); - return; - }else if(z > posZRadius) - { - this.expandAreaInPosZ(); - this.setGridSpace(x, z, space); - return; - }else if(z < -negZRadius) - { - this.expandAreaInNegZ(); - this.setGridSpace(x, z, space); - return; - }else - { - area[x + negXRadius][z + negZRadius] = space; - } - } - - public void rightClickBlock(EntityPlayer player, int side) - { - if(worldObj.isRemote) - { - return; - } - - this.initialize(); - - if(ForgeDirection.getOrientation(side) == ForgeDirection.UP) - { - this.createRandomBuilding(DemonBuilding.BUILDING_HOUSE, 0); - }else if(ForgeDirection.getOrientation(side) == ForgeDirection.DOWN) - { - this.createRandomBuilding(DemonBuilding.BUILDING_PORTAL, 0); - }else - { - this.createRandomRoad(); - } - } - - public int createRandomBuilding(int type, int tier) - { - switch(type) - { - case DemonBuilding.BUILDING_HOUSE: - return this.createRandomHouse(tier); - case DemonBuilding.BUILDING_PORTAL: - return this.createPortalBuilding(tier); - } - - return 0; - } - - public int createPortalBuilding(int buildingTier) - { - int x = 0; - int z = 0; - - GridSpace home = this.getGridSpace(x, z); - int yLevel = home.getYLevel(); - - GridSpaceHolder grid = this.createGSH(); - - List directions = new ArrayList(); - - for(int i=2; i<6; i++) - { - ForgeDirection testDir = ForgeDirection.getOrientation(i); - //if(this.getGridSpace(x + testDir.offsetX, z + testDir.offsetZ).isEmpty()) - { - directions.add(testDir); - } - } - - if(directions.isEmpty()) - { - return 0; - } - - HashMap> schemMap = new HashMap(); - - for(ForgeDirection nextDir : directions) - { - for(DemonBuilding build : TEDemonPortal.buildingList) - { - if(build.buildingType != DemonBuilding.BUILDING_PORTAL) - { - continue; - } - if(schemMap.containsKey(nextDir)) - { - schemMap.get(nextDir).add(build); - }else - { - schemMap.put(nextDir, new ArrayList()); - schemMap.get(nextDir).add(build); - } - } - } - - if(schemMap.keySet().isEmpty()) - { - return 0; - } - - ForgeDirection chosenDirection = (ForgeDirection) schemMap.keySet().toArray()[new Random().nextInt(schemMap.keySet().size())]; - DemonBuilding build = schemMap.get(chosenDirection).get(new Random().nextInt(schemMap.get(chosenDirection).size())); - - build.destroyAllInField(worldObj, xCoord + (x)*5, yLevel, zCoord + (z)*5, chosenDirection.getOpposite()); - - Int3 portalSpace = build.getDoorSpace(chosenDirection); - int yOffset = portalSpace.yCoord; - - //TODO - -// for(int i=0; i<256; i++) -// { -// Block block = worldObj.getBlock(xCoord + (x)*5, i, zCoord + (z)*5); -// if(block == ModBlocks.blockDemonPortal) -// { -// BlockTeleposer.swapBlocks(worldObj, worldObj, xCoord, i, zCoord, xCoord, yLevel + yOffset, zCoord); -// break; -// } -// } - - build.buildAll(worldObj, xCoord + (x)*5, yLevel, zCoord + (z)*5, chosenDirection.getOpposite()); - build.setAllGridSpaces(x, z, yLevel, chosenDirection.getOpposite(), GridSpace.MAIN_PORTAL, grid); - this.loadGSH(grid); - - return build.getNumberOfGridSpaces(); - } - - public int createRandomHouse(int buildingTier) - { - int next = rand.nextInt(4); - ForgeDirection dir; - - switch(next) - { - case 0: - dir = ForgeDirection.NORTH; - break; - case 1: - dir = ForgeDirection.SOUTH; - break; - case 2: - dir = ForgeDirection.EAST; - break; - case 3: - dir = ForgeDirection.WEST; - break; - default: - dir = ForgeDirection.NORTH; - } - - boolean newProtocol = true; - - if(newProtocol) - { - Int3 space = this.findRoadSpaceFromDirection(dir, 1*(rand.nextInt(negXRadius + negZRadius + posXRadius + posZRadius))+1); - - int x = space.xCoord; - int z = space.zCoord; - int yLevel = space.yCoord; - - System.out.println("Road space - x: " + x + " z: " + z); - - GridSpaceHolder grid = this.createGSH(); - - if(!this.getGridSpace(x, z).isRoadSegment()) - { - return 0; - } - - List directions = new ArrayList(); - - for(int i=2; i<6; i++) - { - ForgeDirection testDir = ForgeDirection.getOrientation(i); - if(this.getGridSpace(x + testDir.offsetX, z + testDir.offsetZ).isEmpty()) - { - directions.add(testDir); - } - } - - if(directions.isEmpty()) - { - return 0; - } - - HashMap> schemMap = new HashMap(); - - for(ForgeDirection nextDir : directions) - { - for(DemonBuilding build : TEDemonPortal.buildingList) - { - if(build.buildingTier != buildingTier || build.buildingType != DemonBuilding.BUILDING_HOUSE) - { - continue; - } - Int3 offsetSpace = build.getGridOffsetFromRoad(nextDir, yLevel); - int xOff = offsetSpace.xCoord; - int zOff = offsetSpace.zCoord; - - if(build.isValid(grid, x + xOff, z + zOff, nextDir.getOpposite())) - { - if(schemMap.containsKey(nextDir)) - { - schemMap.get(nextDir).add(build); - }else - { - schemMap.put(nextDir, new ArrayList()); - schemMap.get(nextDir).add(build); - } - }else - { - System.out.println("This ISN'T valid!"); - } - } - } - - if(schemMap.keySet().isEmpty()) - { - return 0; - } - - ForgeDirection chosenDirection = (ForgeDirection) schemMap.keySet().toArray()[new Random().nextInt(schemMap.keySet().size())]; - DemonBuilding build = schemMap.get(chosenDirection).get(new Random().nextInt(schemMap.get(chosenDirection).size())); - - Int3 offsetSpace = build.getGridOffsetFromRoad(chosenDirection, yLevel); - int xOff = offsetSpace.xCoord; - int zOff = offsetSpace.zCoord; - - build.destroyAllInField(worldObj, xCoord + (x + xOff)*5, yLevel, zCoord + (z + zOff)*5, chosenDirection.getOpposite()); - build.buildAll(worldObj, xCoord + (x + xOff)*5, yLevel, zCoord + (z + zOff)*5, chosenDirection.getOpposite()); - build.setAllGridSpaces(x + xOff, z + zOff, yLevel, chosenDirection.getOpposite(), GridSpace.HOUSE, grid); - this.loadGSH(grid); - - return build.getNumberOfGridSpaces(); - }else - { - Int3 space = findEmptySpaceNearRoad(dir, 3*(rand.nextInt(negXRadius + negZRadius + posXRadius + posZRadius))+1, 2); - - int x = space.xCoord; - int z = space.zCoord; - int yLevel = space.yCoord; - - GridSpace newSpace = this.getGridSpace(x, z); - if(!newSpace.isEmpty()) - { - return 0; - } - - if(yLevel == -1) - { - return 0; - } - - GridSpaceHolder grid = this.createGSH(); - - ForgeDirection chosenDirection = ForgeDirection.NORTH; - - HashMap> bigList = new HashMap(); - - for(DemonBuilding build : TEDemonPortal.buildingList) - { - for(int i=2; i<6; i++) - { - chosenDirection = ForgeDirection.getOrientation(i); - System.out.println("" + chosenDirection.toString()); - if(build.isValid(grid, x, z, chosenDirection)) - { - System.out.println("Valid!"); - if(bigList.containsKey(chosenDirection)) - { - bigList.get(chosenDirection).add(build); - }else - { - bigList.put(chosenDirection, new ArrayList()); - bigList.get(chosenDirection).add(build); - } - } - } - } - - chosenDirection = ForgeDirection.getOrientation(new Random().nextInt(4) + 2); //Change to favour a direction with a road nearby - - List buildingList = bigList.get(chosenDirection); - DemonBuilding build; - - if(buildingList != null && buildingList.size() > 0) - { - build = buildingList.get(new Random().nextInt(buildingList.size())); - }else - { - return 0; - } - //TODO: Finish the selection algorythm - //TODO: Should favour those directions that have a road right next to them. - - build.buildAll(worldObj, xCoord + x*5, yLevel, zCoord + z*5, chosenDirection); - build.setAllGridSpaces(x, z, yLevel, chosenDirection, GridSpace.HOUSE, grid); - this.loadGSH(grid); - - return build.getNumberOfGridSpaces(); -// System.out.println("X: " + x + " Z: " + z + " Direction: " + chosenDirection.toString()); - } - } - - public int findNearestRoadYLevel(int xCoord, int zCoord, int maxDistance) - { - for(int l=1; l<=maxDistance; l++) - { - for(int i=-l; i<=l; i++) - { - for(int j=-l; j<=l; j++) - { - if(Math.abs(i)!=l && Math.abs(j)!=l) - { - continue; - } - - if(this.getGridSpace(xCoord + i, zCoord + j).isRoadSegment()) - { - return this.getGridSpace(xCoord + i, zCoord + j).getYLevel(); - } - } - } - } - - return -1; - } - - public void createRoad(int xi, int yi, int zi, ForgeDirection dir, int length, boolean doesNotDrop) - { - int curX = xi; - int curY = yi; - int curZ = zi; - int roadRadius = this.getRoadRadius(); - - if(dir.offsetY != 0) - { - return; - } - - DemonVillagePath path = new DemonVillagePath(xi, yi, zi, dir, length); - - path.constructFullPath(worldObj, this.getRoadStepClearance(), this.getRoadBlock(), this.getRoadMeta()); - } - - public int placeMaterialOnNextAvailable() - { - return 0; - } - - public int getRoadRadius() - { - return 1; - } - - public Block getRoadBlock() - { - return Blocks.nether_brick; - } - - public int getRoadMeta() - { - return 0; - } - - public int getRoadStepClearance() - { - return 10; - } - - public int getRoadSpacer() - { - return 1; - } - - public GridSpaceHolder createGSH() - { - GridSpaceHolder grid = new GridSpaceHolder(); - grid.area = this.area; - grid.negXRadius = this.negXRadius; - grid.negZRadius = this.negZRadius; - grid.posXRadius = this.posXRadius; - grid.posZRadius = this.posZRadius; - - return grid; - } - - public void loadGSH(GridSpaceHolder grid) - { - this.area = grid.area; - this.negXRadius = grid.negXRadius; - this.negZRadius = grid.negZRadius; - this.posXRadius = grid.posXRadius; - this.posZRadius = grid.posZRadius; - } - - public static void loadBuildingList() - { - String folder = "config/BloodMagic/schematics"; - Gson gson = new GsonBuilder().setPrettyPrinting().create(); - - File file = new File(folder); - File[] files = file.listFiles(); - BufferedReader br; - - try{ - for(File f : files) - { - br = new BufferedReader(new FileReader(f)); - BuildingSchematic schema = gson.fromJson(br, BuildingSchematic.class); - TEDemonPortal.buildingList.add(new DemonBuilding(schema)); - } - }catch(FileNotFoundException e) - { - e.printStackTrace(); - } -// -// try { -// br = new BufferedReader(new FileReader(folder + "test3.json")); -// BuildingSchematic schema = gson.fromJson(br, BuildingSchematic.class); -// TEDemonPortal.buildingList.add(new DemonBuilding(schema)); -// } catch (FileNotFoundException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } - - - } - - public int getTotalPoints() - { - return this.totalPoints; - } - - public void addToPoints(int addition) - { - this.totalPoints += addition; - } - - public void setPortalDestination(int yLevel) - { - if(yLevel != this.yCoord) - { - this.hasLocationChanged = true; - this.yLevelDestination = yLevel; - } - } - - public boolean changePortalLocation() - { - if(yLevelDestination == yCoord) - { - return false; - } - - BlockTeleposer.swapBlocks(worldObj, worldObj, xCoord, yCoord, zCoord, xCoord, yLevelDestination, zCoord); - - return true; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEHomHeart.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEHomHeart.java deleted file mode 100644 index 180b0d35..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEHomHeart.java +++ /dev/null @@ -1,167 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntitySkull; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.spell.simple.HomSpell; -import WayofTime.alchemicalWizardry.common.spell.simple.HomSpellRegistry; - -public class TEHomHeart extends TileEntity -{ - public boolean canCastSpell(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - return true; - } - - public int castSpell(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - HomSpell spell = getSpell(); - - if (spell != null) - { - switch (getModifiedParadigm()) - { - case 0: - spell.onOffensiveRangedRightClick(par1ItemStack, par2World, par3EntityPlayer); - break; - - case 1: - spell.onOffensiveMeleeRightClick(par1ItemStack, par2World, par3EntityPlayer); - break; - - case 2: - spell.onDefensiveRightClick(par1ItemStack, par2World, par3EntityPlayer); - break; - - case 3: - spell.onEnvironmentalRightClick(par1ItemStack, par2World, par3EntityPlayer); - break; - } - - //spell.onOffensiveRangedRightClick(par1ItemStack, par2World, par3EntityPlayer); - } - - return 0; - } - - public HomSpell getSpell() - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); - - if (tileEntity instanceof TEAltar) - { - ItemStack itemStack = ((TEAltar) tileEntity).getStackInSlot(0); - - if (itemStack != null) - { - HomSpell spell = HomSpellRegistry.getSpellForItemStack(itemStack); - - if (spell != null) - { - return spell; - } - } - } - - tileEntity = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); - - if (tileEntity instanceof TEAltar) - { - ItemStack itemStack = ((TEAltar) tileEntity).getStackInSlot(0); - - if (itemStack != null) - { - HomSpell spell = HomSpellRegistry.getSpellForItemStack(itemStack); - - if (spell != null) - { - return spell; - } - } - } - - tileEntity = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); - - if (tileEntity instanceof TEAltar) - { - ItemStack itemStack = ((TEAltar) tileEntity).getStackInSlot(0); - - if (itemStack != null) - { - HomSpell spell = HomSpellRegistry.getSpellForItemStack(itemStack); - - if (spell != null) - { - return spell; - } - } - } - - tileEntity = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); - - if (tileEntity instanceof TEAltar) - { - ItemStack itemStack = ((TEAltar) tileEntity).getStackInSlot(0); - - if (itemStack != null) - { - HomSpell spell = HomSpellRegistry.getSpellForItemStack(itemStack); - - if (spell != null) - { - return spell; - } - } - } - - return null; - } - - public int getModifiedParadigm() - { - //TODO change so that it works with a Tile Entity for a custom head or whatnot - Block block = worldObj.getBlock(xCoord, yCoord + 1, zCoord); - - if (block == Blocks.glowstone) - { - return 0; - } else if (block == Blocks.redstone_block) - { - return 1; - } else if (block == Blocks.anvil) - { - return 2; - } else if (block == Blocks.glass) - { - return 3; - } - - TileEntity tileEntity = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); - - if (tileEntity instanceof TileEntitySkull) - { - int skullType = ((TileEntitySkull) tileEntity).func_145904_a(); - - switch (skullType) - { - case 0: - return 0; - - case 1: - return 1; - - case 2: - return 2; - - case 4: - return 3; - } - } - - return -1; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEImperfectRitualStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEImperfectRitualStone.java deleted file mode 100644 index 110996ea..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEImperfectRitualStone.java +++ /dev/null @@ -1,11 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.tileentity.TileEntity; - -public class TEImperfectRitualStone extends TileEntity -{ - public TEImperfectRitualStone() - { - // TODO Auto-generated constructor stub - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java deleted file mode 100644 index 94b4458a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java +++ /dev/null @@ -1,638 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainer; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; -import WayofTime.alchemicalWizardry.api.rituals.Rituals; -import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class TEMasterStone extends TileEntity implements IMasterRitualStone -{ - private String currentRitualString; - private boolean isActive; - private String owner; - private String varString1; - private int cooldown; - private int var1; - private int direction; - public boolean isRunning; - public int runningTime; - - private NBTTagCompound customRitualTag; - - protected ReagentContainer[] tanks; - protected Map attunedTankMap; - - public TEMasterStone() - { - tanks = new ReagentContainer[]{new ReagentContainer(1000),new ReagentContainer(1000),new ReagentContainer(1000)}; - this.attunedTankMap = new HashMap(); - - isActive = false; - owner = ""; - cooldown = 0; - var1 = 0; - direction = 0; - varString1 = ""; - currentRitualString = ""; - isRunning = false; - runningTime = 0; - - this.customRitualTag = new NBTTagCompound(); - } - - public void readClientNBT(NBTTagCompound tag) - { - currentRitualString = tag.getString("currentRitualString"); - isRunning = tag.getBoolean("isRunning"); - runningTime = tag.getInteger("runningTime"); - - NBTTagList tagList = tag.getTagList("reagentTanks", Constants.NBT.TAG_COMPOUND); - - int size = tagList.tagCount(); - this.tanks = new ReagentContainer[size]; - - for(int i=0; i entry : this.attunedTankMap.entrySet()) - { - NBTTagCompound savedTag = new NBTTagCompound(); - savedTag.setString("reagent", ReagentRegistry.getKeyForReagent(entry.getKey())); - savedTag.setInteger("amount", entry.getValue()); - attunedTagList.appendTag(savedTag); - } - - tag.setTag("attunedTankMap", attunedTagList); - - tag.setTag("customRitualTag", customRitualTag); - } - - public void activateRitual(World world, int crystalLevel, EntityPlayer player) - { - if (world.isRemote) - { - return; - } - - String testRitual = Rituals.checkValidRitual(world, xCoord, yCoord, zCoord); - - if (testRitual.equals("")) - { - player.addChatMessage(new ChatComponentText("Nothing appears to have happened...")); - return; - } - - boolean testLevel = Rituals.canCrystalActivate(testRitual, crystalLevel); - - if (!testLevel) - { - player.addChatMessage(new ChatComponentText("Your crystal vibrates pathetically.")); - - return; - } - - World worldSave = MinecraftServer.getServer().worldServers[0]; - LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); - - if (data == null) - { - data = new LifeEssenceNetwork(owner); - worldSave.setItemData(owner, data); - } - - int currentEssence = data.currentEssence; - - if (currentEssence < Rituals.getCostForActivation(testRitual)) - { - player.addChatMessage(new ChatComponentText("You feel a pull, but you are too weak to push any further.")); - - return; - } - - if (!world.isRemote) - { - if(!Rituals.startRitual(this, testRitual, player)) - { - player.addChatMessage(new ChatComponentText("The ritual appears to actively resist you!")); - - return; - }else - { - data.currentEssence = currentEssence - Rituals.getCostForActivation(testRitual); - data.markDirty(); - - player.addChatMessage(new ChatComponentText("A rush of energy flows through the ritual!")); - - for (int i = 0; i < 12; i++) - { - SpellHelper.sendIndexedParticleToAllAround(world, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - } - } - - cooldown = Rituals.getInitialCooldown(testRitual); - var1 = 0; - currentRitualString = testRitual; - isActive = true; - isRunning = true; - direction = Rituals.getDirectionOfRitual(world, xCoord, yCoord, zCoord, testRitual); - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - public void setOwner(String owner) - { - this.owner = owner; - } - - public void useOnRitualBroken() - { - Rituals.onRitualBroken(this, this.currentRitualString); - } - - @Override - public void updateEntity() - { - if(isRunning && runningTime < 100) - { - runningTime++; - }else if(!isRunning && runningTime > 0) - { - runningTime--; - } - - if (!isActive) - { - return; - } - - int worldTime = (int) (worldObj.getWorldTime() % 24000); - - if (worldObj.isRemote) - { - return; - } - - if (worldTime % 100 == 0) - { - boolean testRunes = Rituals.checkDirectionOfRitualValid(worldObj, xCoord, yCoord, zCoord, currentRitualString, direction); - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - - if (!testRunes) - { - Rituals.onRitualBroken(this, currentRitualString); - isActive = false; - currentRitualString = ""; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - return; - } - } - - if (worldObj.getBlockPowerInput(xCoord, yCoord, zCoord) > 0) - { - if(isRunning) - { - isRunning = false; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - return; - }else - { - if(!isRunning) - { - isRunning = true; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - - performRitual(worldObj, xCoord, yCoord, zCoord, currentRitualString); - } - - public void performRitual(World world, int x, int y, int z, String currentRitualString2) - { - Rituals.performEffect(this, currentRitualString2); - } - - public String getOwner() - { - return owner; - } - - public void setCooldown(int newCooldown) - { - this.cooldown = newCooldown; - } - - public int getCooldown() - { - return this.cooldown; - } - - public void setVar1(int newVar1) - { - this.var1 = newVar1; - } - - public int getVar1() - { - return this.var1; - } - - public void setActive(boolean active) - { - this.isActive = active; - this.isRunning = active; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - public int getDirection() - { - return this.direction; - } - - @Override - public World getWorld() - { - return this.getWorldObj(); - } - - @Override - public int getXCoord() - { - return xCoord; - } - - @Override - public int getYCoord() - { - return yCoord; - } - - @Override - public int getZCoord() - { - return zCoord; - } - - public String getCurrentRitual() - { - return this.currentRitualString; - } - - public void setCurrentRitual(String str) - { - this.currentRitualString = str; - } - -// @Override -// public Packet getDescriptionPacket() -// { -// return NewPacketHandler.getPacket(this); -// } - - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeClientNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, -999, nbttagcompound); - } - - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - super.onDataPacket(net, packet); - readClientNBT(packet.func_148857_g()); - } - - public AxisAlignedBB getRenderBoundingBox() - { - double renderExtention = 1.0d; - AxisAlignedBB bb = AxisAlignedBB. getBoundingBox(xCoord-renderExtention, yCoord-renderExtention, zCoord-renderExtention, xCoord+1+renderExtention, yCoord+1+renderExtention, zCoord+1+renderExtention); - return bb; - } - - /* ISegmentedReagentHandler */ - @Override - public int fill(ForgeDirection from, ReagentStack resource, boolean doFill) - { - if(doFill) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - int totalFill = 0; - - boolean useTankLimit = !this.attunedTankMap.isEmpty(); - - if(resource != null) - { - int totalTanksFillable = useTankLimit ? this.getTanksTunedToReagent(resource.reagent) : this.tanks.length; - int tanksFilled = 0; - - int maxFill = resource.amount; - - for(int i=this.tanks.length-1; i>=0; i--) - { - ReagentStack remainingStack = resource.copy(); - remainingStack.amount = maxFill - totalFill; - - boolean doesReagentMatch = tanks[i].getReagent() == null ? false : tanks[i].getReagent().isReagentEqual(remainingStack); - - if(doesReagentMatch) - { - totalFill += tanks[i].fill(remainingStack, doFill); - tanksFilled++; - }else - { - continue; - } - - if(totalFill >= maxFill || tanksFilled >= totalTanksFillable) - { - return totalFill; - } - } - - if(tanksFilled >= totalTanksFillable) - { - return totalFill; - } - - for(int i=this.tanks.length-1; i>=0; i--) - { - ReagentStack remainingStack = resource.copy(); - remainingStack.amount = maxFill - totalFill; - - boolean isTankEmpty = tanks[i].getReagent() == null; - - if(isTankEmpty) - { - totalFill += tanks[i].fill(remainingStack, doFill); - tanksFilled++; - }else - { - continue; - } - - if(totalFill >= maxFill || tanksFilled >= totalTanksFillable) - { - return totalFill; - } - } - } - return totalFill; - } - - @Override - public ReagentStack drain(ForgeDirection from, ReagentStack resource, boolean doDrain) - { - if(resource == null) - { - return null; - } - - if(doDrain) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - int maxDrain = resource.amount; - Reagent reagent = resource.reagent; - int drained = 0; - - for(int i=0; i= maxDrain) - { - break; - } - - if (resource.isReagentEqual(tanks[i].getReagent())) - { - ReagentStack drainStack = tanks[i].drain(maxDrain-drained, doDrain); - if(drainStack != null) - { - drained += drainStack.amount; - } - } - } - - return new ReagentStack(reagent, drained); - } - - /* Only returns the amount from the first available tank */ - @Override - public ReagentStack drain(ForgeDirection from, int maxDrain, boolean doDrain) - { - for(int i=0; i getAttunedTankMap() - { - return this.attunedTankMap; - } - - public boolean areTanksEmpty() - { - for(int i=0; i= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - resultID = par1NBTTagCompound.getInteger("resultID"); - resultDamage = par1NBTTagCompound.getInteger("resultDamage"); - isActive = par1NBTTagCompound.getBoolean("isActive"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inv[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - par1NBTTagCompound.setInteger("resultID", resultID); - par1NBTTagCompound.setInteger("resultDamage", resultDamage); - par1NBTTagCompound.setTag("Inventory", itemList); - par1NBTTagCompound.setBoolean("isActive", isActive); - } - - @Override - public int getSizeInventory() - { - return 1; - } - - @Override - public ItemStack getStackInSlot(int slot) - { - return inv[slot]; - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack itemStack) - { - inv[slot] = itemStack; - - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() - { - return "TEPedestal"; - } - - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - @Override - public int getInventoryStackLimit() - { - return 1; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer entityPlayer) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && entityPlayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - // TODO Auto-generated method stub - } - - @Override - public void closeInventory() - { - // TODO Auto-generated method stub - } - - //Logic for the actual block is under here - @Override - public void updateEntity() - { - super.updateEntity(); - } - - public void setActive() - { - isActive = false; - } - - public boolean isActive() - { - return isActive; - } - - @Override - public Packet getDescriptionPacket() - { - return NewPacketHandler.getPacket(this); - } - - public void handlePacketData(int[] intData) - { - if (intData == null) - { - return; - } - - if (intData.length == 3) - { - for (int i = 0; i < 1; i++) - { - if (intData[i * 3 + 2] != 0) - { - ItemStack is = new ItemStack(Item.getItemById(intData[i * 3]), intData[i * 3 + 2], intData[i * 3 + 1]); - inv[i] = is; - } else - { - inv[i] = null; - } - } - } - } - - public int[] buildIntDataList() - { - int[] sortList = new int[1 * 3]; - int pos = 0; - - for (ItemStack is : inv) - { - if (is != null) - { - sortList[pos++] = Item.getIdFromItem(is.getItem()); - sortList[pos++] = is.getItemDamage(); - sortList[pos++] = is.stackSize; - } else - { - sortList[pos++] = 0; - sortList[pos++] = 0; - sortList[pos++] = 0; - } - } - - return sortList; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemstack) - { - if (slot == 0) - { - return true; - } - - return false; - } - - public void onItemDeletion() - { - //worldObj.createExplosion(null, xCoord+0.5, yCoord+0.5, zCoord+0.5, 1, false); - worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, xCoord, yCoord, zCoord)); - - for (int i = 0; i < 16; i++) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 2, xCoord, yCoord, zCoord); - } - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java deleted file mode 100644 index f9cfdbf4..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java +++ /dev/null @@ -1,694 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; -import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistryComponent; -import WayofTime.alchemicalWizardry.common.IDemon; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.PlinthComponent; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; - -public class TEPlinth extends TileEntity implements IInventory -{ - private ItemStack[] inv; - - private boolean isActive; - private boolean paradigm; - - private ItemStack[] ring1Inv; - private ItemStack[] ring2Inv; - private ItemStack[] ring3Inv; - - public static final int sizeInv = 1; - - private int progressInterval; - private int progress; - - public static List pedestalPositions = new ArrayList(); - - public TEPlinth() - { - this.inv = new ItemStack[1]; - this.ring1Inv = new ItemStack[6]; - this.ring2Inv = new ItemStack[6]; - this.ring3Inv = new ItemStack[6]; - isActive = false; - progress = 0; - progressInterval = 50; - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList tagList = par1NBTTagCompound.getTagList("Inventory",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - NBTTagList ring1TagList = par1NBTTagCompound.getTagList("ring1Inv",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < ring1TagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) ring1TagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - ring1Inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - NBTTagList ring2TagList = par1NBTTagCompound.getTagList("ring2Inv",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < ring2TagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) ring2TagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - ring2Inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - NBTTagList ring3TagList = par1NBTTagCompound.getTagList("ring3Inv",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < ring3TagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) ring3TagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - ring3Inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - progress = par1NBTTagCompound.getInteger("progress"); - progressInterval = par1NBTTagCompound.getInteger("progressInterval"); - isActive = par1NBTTagCompound.getBoolean("isActive"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inv[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - par1NBTTagCompound.setTag("Inventory", itemList); - NBTTagList ring1ItemList = new NBTTagList(); - - for (int i = 0; i < ring1Inv.length; i++) - { - ItemStack stack = ring1Inv[i]; - - if (ring1Inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - ring1Inv[i].writeToNBT(tag); - ring1ItemList.appendTag(tag); - } - } - - par1NBTTagCompound.setTag("ring1Inv", ring1ItemList); - NBTTagList ring2ItemList = new NBTTagList(); - - for (int i = 0; i < ring2Inv.length; i++) - { - ItemStack stack = ring2Inv[i]; - - if (ring2Inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - ring2Inv[i].writeToNBT(tag); - ring2ItemList.appendTag(tag); - } - } - - par1NBTTagCompound.setTag("ring2Inv", ring1ItemList); - NBTTagList ring3ItemList = new NBTTagList(); - - for (int i = 0; i < ring3Inv.length; i++) - { - ItemStack stack = ring3Inv[i]; - - if (ring3Inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - ring3Inv[i].writeToNBT(tag); - ring3ItemList.appendTag(tag); - } - } - - par1NBTTagCompound.setTag("ring3Inv", ring1ItemList); - par1NBTTagCompound.setInteger("progress", progress); - par1NBTTagCompound.setInteger("progressInterval", progressInterval); - par1NBTTagCompound.setBoolean("isActive", isActive); - } - - @Override - public int getSizeInventory() - { - return 1; - } - - @Override - public ItemStack getStackInSlot(int slot) - { - return inv[slot]; - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack itemStack) - { - inv[slot] = itemStack; - - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() - { - return "TEPlinth"; - } - - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - @Override - public int getInventoryStackLimit() - { - return 1; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer entityPlayer) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && entityPlayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - // TODO Auto-generated method stub - } - - @Override - public void closeInventory() - { - // TODO Auto-generated method stub - } - - //Logic for the actual block is under here - @Override - public void updateEntity() - { - super.updateEntity(); - - if (worldObj.isRemote) - { - return; - } - - if (!isActive()) - { - if (getStackInSlot(0) != null && getStackInSlot(0).getItem() instanceof EnergyBattery) - { - int bloodOrbLevel = ((EnergyBattery) getStackInSlot(0).getItem()).getOrbLevel(); - - if (SummoningRegistry.isRecipeValid(bloodOrbLevel, composeItemsForRingAndParadigm(1, true), composeItemsForRingAndParadigm(2, true), composeItemsForRingAndParadigm(3, true))) - { - SummoningRegistryComponent src = SummoningRegistry.getRegistryComponent(bloodOrbLevel, composeItemsForRingAndParadigm(1, true), composeItemsForRingAndParadigm(2, true), composeItemsForRingAndParadigm(3, true)); - isActive = true; - paradigm = true; - progress = 0; - ring1Inv = src.getRingRecipeForRing(1); - ring2Inv = src.getRingRecipeForRing(2); - ring3Inv = src.getRingRecipeForRing(3); - } else if (SummoningRegistry.isRecipeValid(bloodOrbLevel, composeItemsForRingAndParadigm(1, false), composeItemsForRingAndParadigm(2, false), composeItemsForRingAndParadigm(3, false))) - { - SummoningRegistryComponent src = SummoningRegistry.getRegistryComponent(bloodOrbLevel, composeItemsForRingAndParadigm(1, false), composeItemsForRingAndParadigm(2, false), composeItemsForRingAndParadigm(3, false)); - isActive = true; - paradigm = false; - progress = 0; - ring1Inv = src.getRingRecipeForRing(1); - ring2Inv = src.getRingRecipeForRing(2); - ring3Inv = src.getRingRecipeForRing(3); - } else - { - isActive = false; - progress = 0; - } - } - } else - { - if (getStackInSlot(0) != null && getStackInSlot(0).getItem() instanceof EnergyBattery) - { - if (progress % progressInterval == 0) - { - int ring = (progress / progressInterval) / 6 + 1; - int slot = (progress / progressInterval) % 6; - ItemStack itemStack; - - switch (ring) - { - case 1: - itemStack = this.ring1Inv[slot]; - break; - - case 2: - itemStack = this.ring2Inv[slot]; - break; - - case 3: - itemStack = this.ring3Inv[slot]; - break; - - default: - itemStack = null; - } - - if (itemStack == null) - { - progress += progressInterval; - } else - { - if (this.deleteItemStackInRing(ring, itemStack)) - { - progress++; - } - } - } else - { - progress++; - } - - if (progress >= progressInterval * 18) - { - int bloodOrbLevel = ((EnergyBattery) getStackInSlot(0).getItem()).getOrbLevel(); - EntityLivingBase entity = SummoningRegistry.getEntity(worldObj, bloodOrbLevel, ring1Inv, ring2Inv, ring3Inv); - //EntityLivingBase entity = new EntityFallenAngel(worldObj); - - if (entity != null) - { - //entity.worldObj = worldObj; - entity.setPosition(xCoord + 0.5, yCoord + 1, zCoord + 0.5); - worldObj.spawnEntityInWorld(entity); - - if (entity instanceof IDemon) - { - ((IDemon) entity).setSummonedConditions(); - } - - worldObj.createExplosion(entity, entity.posX, entity.posY, entity.posZ, 3, false); - deleteItemsInRing(1); - isActive = false; - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } - } - } - - public void deleteItemsInRing(int ring) - { - if (paradigm) - { - int i = 0; - - for (PlinthComponent pc : pedestalPositions) - { - if (i < 6 && pc.getRing() == ring) - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord + pc.xOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - - if (tileEntity instanceof TEPedestal) - { - ((TEPedestal) tileEntity).setInventorySlotContents(0, null); - worldObj.markBlockForUpdate(xCoord + pc.xOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - i++; - } - } - } - } else - { - int i = 0; - - for (PlinthComponent pc : pedestalPositions) - { - if (i < 6 && pc.getRing() == ring) - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord + pc.zOffset, yCoord + pc.yOffset, zCoord + pc.xOffset); - - if (tileEntity instanceof TEPedestal) - { - ((TEPedestal) tileEntity).setInventorySlotContents(0, null); - worldObj.markBlockForUpdate(xCoord + pc.zOffset, yCoord + pc.yOffset, zCoord + pc.xOffset); - i++; - } - } - } - } - } - - public boolean deleteItemStackInRing(int ring, ItemStack itemStack) - { - if (itemStack == null) - { - return true; - } - - if (paradigm) - { - int i = 0; - - for (PlinthComponent pc : pedestalPositions) - { - if (i < 6 && pc.getRing() == ring) - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord + pc.xOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - - if (tileEntity instanceof TEPedestal) - { - ItemStack possibleItem = ((TEPedestal) tileEntity).getStackInSlot(0); - - if (possibleItem == null) - { - i++; - continue; - } - - boolean test = false; - - if (possibleItem.getItem() instanceof ItemBlock) - { - if (itemStack.getItem() instanceof ItemBlock) - { - test = true; - } - } else if (!(itemStack.getItem() instanceof ItemBlock)) - { - test = true; - } - - if (test) - { - if (itemStack.getItem()== possibleItem.getItem() && (itemStack.getItemDamage() == possibleItem.getItemDamage() || itemStack.getItemDamage() == OreDictionary.WILDCARD_VALUE)) - { - ((TEPedestal) tileEntity).decrStackSize(0, 1); - if(((TEPedestal) tileEntity).getStackInSlot(0) !=null && ((TEPedestal) tileEntity).getStackInSlot(0).stackSize==0) - { - ((TEPedestal) tileEntity).setInventorySlotContents(0, null); - } - ((TEPedestal) tileEntity).onItemDeletion(); - worldObj.markBlockForUpdate(xCoord + pc.xOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - return true; - } - } - - i++; - } - } - } - } else - { - int i = 0; - - for (PlinthComponent pc : pedestalPositions) - { - if (i < 6 && pc.getRing() == ring) - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord + pc.zOffset, yCoord + pc.yOffset, zCoord + pc.xOffset); - - if (tileEntity instanceof TEPedestal) - { - ItemStack possibleItem = ((TEPedestal) tileEntity).getStackInSlot(0); - - if (possibleItem == null) - { - i++; - continue; - } - - boolean test = false; - - if (possibleItem.getItem() instanceof ItemBlock) - { - if (itemStack.getItem() instanceof ItemBlock) - { - test = true; - } - } else if (!(itemStack.getItem() instanceof ItemBlock)) - { - test = true; - } - - if (test) - { - if (itemStack.getItem() == possibleItem.getItem() && (itemStack.getItemDamage() == possibleItem.getItemDamage() || itemStack.getItemDamage() == OreDictionary.WILDCARD_VALUE)) - { - ((TEPedestal) tileEntity).decrStackSize(0, 1); - ((TEPedestal) tileEntity).onItemDeletion(); - //worldObj.markBlockForUpdate(xCoord + pc.xOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - worldObj.markBlockForUpdate(xCoord + pc.zOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - return true; - } - } - - i++; - } - } - } - } - - return false; - } - - public ItemStack[] composeItemsForRingAndParadigm(int ring, boolean paradigm) - { - ItemStack[] composed = new ItemStack[6]; - - if (paradigm) - { - int i = 0; - - for (PlinthComponent pc : pedestalPositions) - { - if (i < 6 && pc.getRing() == ring) - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord + pc.xOffset, yCoord + pc.yOffset, zCoord + pc.zOffset); - - if (tileEntity instanceof TEPedestal) - { - composed[i] = ((TEPedestal) tileEntity).getStackInSlot(0); - i++; - } - } - } - } else - { - int i = 0; - - for (PlinthComponent pc : pedestalPositions) - { - if (i < 6 && pc.getRing() == ring) - { - TileEntity tileEntity = worldObj.getTileEntity(xCoord + pc.zOffset, yCoord + pc.yOffset, zCoord + pc.xOffset); - - if (tileEntity instanceof TEPedestal) - { - composed[i] = ((TEPedestal) tileEntity).getStackInSlot(0); - i++; - } - } - } - } - - return composed; - } - - public void setActive() - { - isActive = false; - } - - public boolean isActive() - { - return isActive; - } - - @Override - public Packet getDescriptionPacket() - { - return NewPacketHandler.getPacket(this); - } - - public void handlePacketData(int[] intData) - { - if (intData == null) - { - return; - } - - if (intData.length == 3) - { - for (int i = 0; i < 1; i++) - { - if (intData[i * 3 + 2] != 0) - { - ItemStack is = new ItemStack(Item.getItemById(intData[i * 3]), intData[i * 3 + 2], intData[i * 3 + 1]); - inv[i] = is; - } else - { - inv[i] = null; - } - } - } - } - - public int[] buildIntDataList() - { - int[] sortList = new int[1 * 3]; - int pos = 0; - - for (ItemStack is : inv) - { - if (is != null) - { - sortList[pos++] = Item.getIdFromItem(is.getItem()); - sortList[pos++] = is.getItemDamage(); - sortList[pos++] = is.stackSize; - } else - { - sortList[pos++] = 0; - sortList[pos++] = 0; - sortList[pos++] = 0; - } - } - - return sortList; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemstack) - { - if (slot == 0) - { - return true; - } - - return false; - } - - public static void initialize() - { - pedestalPositions.add(new PlinthComponent(1, 0, -2, 1)); - pedestalPositions.add(new PlinthComponent(2, 0, 0, 1)); - pedestalPositions.add(new PlinthComponent(1, 0, +2, 1)); - pedestalPositions.add(new PlinthComponent(-1, 0, -2, 1)); - pedestalPositions.add(new PlinthComponent(-2, 0, 0, 1)); - pedestalPositions.add(new PlinthComponent(-1, 0, +2, 1)); - pedestalPositions.add(new PlinthComponent(3, 1, -5, 2)); - pedestalPositions.add(new PlinthComponent(6, 1, 0, 2)); - pedestalPositions.add(new PlinthComponent(3, 1, +5, 2)); - pedestalPositions.add(new PlinthComponent(-3, 1, -5, 2)); - pedestalPositions.add(new PlinthComponent(-6, 1, 0, 2)); - pedestalPositions.add(new PlinthComponent(-3, 1, +5, 2)); - pedestalPositions.add(new PlinthComponent(0, 2, -9, 3)); - pedestalPositions.add(new PlinthComponent(7, 2, -4, 3)); - pedestalPositions.add(new PlinthComponent(7, 2, +4, 3)); - pedestalPositions.add(new PlinthComponent(0, 2, +9, 3)); - pedestalPositions.add(new PlinthComponent(-7, 2, -4, 3)); - pedestalPositions.add(new PlinthComponent(-7, 2, 4, 3)); - } - - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEReagentConduit.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEReagentConduit.java deleted file mode 100644 index 2743ac9c..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEReagentConduit.java +++ /dev/null @@ -1,544 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; -import WayofTime.alchemicalWizardry.api.ColourAndCoords; -import WayofTime.alchemicalWizardry.api.alchemy.energy.IReagentHandler; -import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainer; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; -import WayofTime.alchemicalWizardry.api.alchemy.energy.TileSegmentedReagentHandler; -import WayofTime.alchemicalWizardry.common.Int3; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityParticleBeam; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class TEReagentConduit extends TileSegmentedReagentHandler -{ - public List destinationList; //These are offsets - public Map> reagentTargetList; - public Map reagentTankDesignationList; - public int tickRate = 20; //Rate that the reagents are sent - - int hasChanged = 0; - public boolean affectedByRedstone = true; - - public int maxConnextions = 5; - - public int renderCount = 0; - - public TEReagentConduit() - { - this(2, 2000); - } - - public TEReagentConduit(int numberOfTanks, int size) - { - super(numberOfTanks, size); - - destinationList = new LinkedList(); - reagentTargetList = new HashMap(); - reagentTankDesignationList = new HashMap(); - } - - public Int3 getColour() - { - int[] redMap = new int[this.tanks.length]; - int[] greenMap = new int[this.tanks.length]; - int[] blueMap = new int[this.tanks.length]; - - for(int i=0; i> entry : reagentTargetList.entrySet()) - { - NBTTagCompound savedTag = new NBTTagCompound(); - savedTag.setString("reagent", ReagentRegistry.getKeyForReagent(entry.getKey())); - - NBTTagList coordinateTagList = new NBTTagList(); - - for(Int3 coord : entry.getValue()) - { - NBTTagCompound coordinateTag = new NBTTagCompound(); - - coord.writeToNBT(coordinateTag); - - coordinateTagList.appendTag(coordinateTag); - } - - savedTag.setTag("coordinateList", coordinateTagList); - - reagentTagList.appendTag(savedTag); - } - - tag.setTag("reagentTargetList", reagentTagList); - - NBTTagList tankDesignationList = new NBTTagList(); - - for(Entry entry : this.reagentTankDesignationList.entrySet()) - { - NBTTagCompound savedTag = new NBTTagCompound(); - - savedTag.setString("reagent", ReagentRegistry.getKeyForReagent(entry.getKey())); - savedTag.setInteger("integer", entry.getValue()); - - tankDesignationList.appendTag(savedTag); - } - - tag.setTag("tankDesignationList", tankDesignationList); - - } - - @Override - public void readFromNBT(NBTTagCompound tag) - { - super.readFromNBT(tag); - - hasChanged = tag.getInteger("hasChanged"); - - NBTTagList tagList = tag.getTagList("destinationList", Constants.NBT.TAG_COMPOUND); - - destinationList = new LinkedList(); - - for(int i=0; i coordList = new LinkedList(); - - NBTTagList coordinateList = savedTag.getTagList("coordinateList", Constants.NBT.TAG_COMPOUND); - - for(int j=0; j 1) - { - hasChanged = 1; - }else if(hasChanged == 1) - { - hasChanged = 0; - } - - if(worldObj.getWorldTime() % 100 == 99) - { - this.updateColourList(); - } - - if(affectedByRedstone && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) - { - return; - } - - int totalTransfered = 0; - - for(Entry> entry : this.reagentTargetList.entrySet()) - { - for(Int3 coord : entry.getValue()) - { - if(totalTransfered >= this.tickRate) - { - break; - } - - ReagentStack maxDrainAmount = this.drain(ForgeDirection.UNKNOWN, new ReagentStack(entry.getKey(), this.tickRate - totalTransfered), false); - - if(maxDrainAmount == null) - { - continue; - } - - int amountLeft = maxDrainAmount.amount; - - if(amountLeft <= 0) - { - continue; - } - - int x = xCoord + coord.xCoord; - int y = yCoord + coord.yCoord; - int z = zCoord + coord.zCoord; - - TileEntity tile = worldObj.getTileEntity(x, y, z); - if(tile instanceof IReagentHandler) - { - int amount = Math.min(((IReagentHandler) tile).fill(ForgeDirection.UNKNOWN, maxDrainAmount, false), amountLeft); - if(amount > 0) - { - amountLeft -= amount; - totalTransfered += amount; - - ReagentStack stack = this.drain(ForgeDirection.UNKNOWN, new ReagentStack(entry.getKey(), amount), true); - ((IReagentHandler) tile).fill(ForgeDirection.UNKNOWN, stack, true); - } - } - } - } - }else - { - if(affectedByRedstone && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) - { - return; - } - - renderCount++; - - if(worldObj.getWorldTime() % 100 != 0) - { - return; - } - - this.sendPlayerStuffs(); - } - } - - - @SideOnly(Side.CLIENT) - public void sendPlayerStuffs() - { - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayer player = mc.thePlayer; - World world = mc.theWorld; - if(SpellHelper.canPlayerSeeAlchemy(player)) - { - for(ColourAndCoords colourSet : this.destinationList) - { - if(!(worldObj.getTileEntity(xCoord + colourSet.xCoord, yCoord + colourSet.yCoord, zCoord + colourSet.zCoord) instanceof IReagentHandler)) - { - continue; - } - EntityParticleBeam beam = new EntityParticleBeam(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5); - double velocity = Math.sqrt(Math.pow(colourSet.xCoord, 2) + Math.pow(colourSet.yCoord, 2) + Math.pow(colourSet.zCoord, 2)); - double wantedVel = 0.3d; - beam.setVelocity(wantedVel*colourSet.xCoord/velocity, wantedVel*colourSet.yCoord/velocity, wantedVel*colourSet.zCoord/velocity); - beam.setColour(colourSet.colourRed / 255f, colourSet.colourGreen/255f, colourSet.colourBlue/255f); - beam.setDestination(xCoord + colourSet.xCoord, yCoord + colourSet.yCoord, zCoord + colourSet.zCoord); - worldObj.spawnEntityInWorld(beam); - } - } - } - - public void updateColourList() - { - if(worldObj.isRemote) - { - return; - } - - List newList = this.compileListForReagentTargets(this.reagentTargetList); - - if(newList != null && !newList.equals(destinationList)) - { - this.destinationList = newList; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - - public List compileListForReagentTargets(Map> map) - { - List list = new LinkedList(); - - for(Entry> entry : map.entrySet()) - { - if(entry.getValue() != null) - { - Reagent reagent = entry.getKey(); - if(reagent == null) - { - continue; - } - List coords = entry.getValue(); - for(Int3 coord : coords) - { - if(coord == null) - { - continue; - } - list.add(new ColourAndCoords(reagent.getColourRed(), reagent.getColourGreen(), reagent.getColourBlue(), reagent.getColourIntensity(), coord.xCoord, coord.yCoord, coord.zCoord)); - } - } - } - - return list; - } - - public boolean addDestinationViaOffset(int red, int green, int blue, int intensity, int xOffset, int yOffset, int zOffset) - { - if(xOffset == 0 && yOffset == 0 && zOffset == 0) - { - return false; - } - - this.destinationList.add(new ColourAndCoords(red, green, blue, intensity, xOffset, yOffset, zOffset)); - - return true; - } - - public boolean addDestinationViaActual(int red, int green, int blue, int intensity, int x, int y, int z) - { - return this.addDestinationViaOffset(red, green, blue, intensity, x - this.xCoord, y - this.yCoord, z - this.zCoord); - } - - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeClientNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 90210, nbttagcompound); - } - - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - super.onDataPacket(net, packet); - readClientNBT(packet.func_148857_g()); - } - - public boolean addReagentDestinationViaOffset(Reagent reagent, int xOffset, int yOffset, int zOffset) - { - int totalConnections = 0; - - for(Entry> entry : this.reagentTargetList.entrySet()) - { - if(entry.getValue() != null) - { - totalConnections += entry.getValue().size(); - } - } - - if(totalConnections >= this.maxConnextions) - { - //Send message that it cannot be done? Maybe add a Player instance - return false; - } - - if(xOffset == 0 && yOffset == 0 && zOffset == 0) - { - return false; - } - - Int3 newCoord = new Int3(xOffset, yOffset, zOffset); - - if(this.reagentTargetList.containsKey(reagent)) - { - List coordList = this.reagentTargetList.get(reagent); - if(coordList == null) - { - List newCoordList = new LinkedList(); - newCoordList.add(newCoord); - this.reagentTargetList.put(reagent, newCoordList); - }else - { - coordList.add(newCoord); - } - - return true; - }else - { - List newCoordList = new LinkedList(); - newCoordList.add(newCoord); - this.reagentTargetList.put(reagent, newCoordList); - - return true; - } - } - - public boolean addReagentDestinationViaActual(Reagent reagent, int x, int y, int z) - { - return (this.addReagentDestinationViaOffset(reagent, x-xCoord, y-yCoord, z-zCoord)); - } - - public boolean removeReagentDestinationViaOffset(Reagent reagent, int xOffset, int yOffset, int zOffset) - { - if(this.reagentTargetList.containsKey(reagent)) - { - List coords = this.reagentTargetList.get(reagent); - if(coords != null) - { - Int3 reference = new Int3(xOffset, yOffset, zOffset); - - return coords.remove(reference); - } - } - return false; - } - - public boolean removeReagentDestinationViaActual(Reagent reagent, int x, int y, int z) - { - return this.removeReagentDestinationViaOffset(reagent, x-xCoord, y-yCoord, z-zCoord); - } - - @Override - public int fill(ForgeDirection from, ReagentStack resource, boolean doFill) - { - if(doFill && !worldObj.isRemote) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - hasChanged = 2; - } - - return super.fill(from, resource, doFill); - } - - @Override - public ReagentStack drain(ForgeDirection from, ReagentStack resource, boolean doDrain) - { - if(doDrain && !worldObj.isRemote) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - hasChanged = 2; - } - - return super.drain(from, resource, doDrain); - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESchematicSaver.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESchematicSaver.java deleted file mode 100644 index 8558b667..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESchematicSaver.java +++ /dev/null @@ -1,158 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.Writer; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.demonVillage.BuildingSchematic; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - -public class TESchematicSaver extends TileEntity -{ - public Block targetBlock = ModBlocks.largeBloodStoneBrick; - - public void rightClickBlock(EntityPlayer player, int side) - { - BuildingSchematic schematic = new BuildingSchematic(); - - int negX = this.getNegXLimit(); - int negY = this.getNegYLimit(); - int negZ = this.getNegZLimit(); - int posX = this.getPosXLimit(); - int posY = this.getPosYLimit(); - int posZ = this.getPosZLimit(); - - for(int i=-negX+1; i<=posX-1; i++) - { - for(int j=-negY+1; j<=posY-1; j++) - { - for(int k=-negZ+1; k<=posZ-1; k++) - { - int meta = worldObj.getBlockMetadata(xCoord + i, yCoord + j, zCoord + k); - Block block = worldObj.getBlock(xCoord + i, yCoord + j, zCoord + k); - - if(!block.isAir(worldObj, xCoord + i, yCoord + j, zCoord + k)) - { - schematic.addBlockWithMeta(block, meta, i, j, k); - } - - } - } - - System.out.println("" + i); - } - - System.out.println("I got here!"); - Gson gson = new GsonBuilder().setPrettyPrinting().create(); - String json = gson.toJson(schematic); - System.out.println("Here, too!"); - Writer writer; - try - { - writer = new FileWriter("config/BloodMagic/schematics/" + new Random().nextInt() + ".json"); - writer.write(json); - writer.close(); - } - catch (IOException e) - { - e.printStackTrace(); - } - } - - public int getPosYLimit() - { - int i=1; - while(i<100) - { - if(targetBlock == (worldObj.getBlock(xCoord, yCoord + i, zCoord))) - { - return i; - } - - i++; - } - return 1; - } - - public int getNegYLimit() - { - int i=1; - while(i<100) - { - if(targetBlock == (worldObj.getBlock(xCoord, yCoord - i, zCoord))) - { - return i; - } - - i++; - } - return 1; - } - - public int getPosXLimit() - { - int i=1; - while(i<100) - { - if(targetBlock == (worldObj.getBlock(xCoord + i, yCoord, zCoord))) - { - return i; - } - - i++; - } - return 1; - } - - public int getNegXLimit() - { - int i=1; - while(i<100) - { - if(targetBlock == (worldObj.getBlock(xCoord - i, yCoord, zCoord))) - { - return i; - } - - i++; - } - return 1; - } - - public int getPosZLimit() - { - int i=1; - while(i<100) - { - if(targetBlock == (worldObj.getBlock(xCoord, yCoord, zCoord + i))) - { - return i; - } - - i++; - } - return 1; - } - - public int getNegZLimit() - { - int i=1; - while(i<100) - { - if(targetBlock == (worldObj.getBlock(xCoord, yCoord, zCoord - i))) - { - return i; - } - - i++; - } - return 1; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java deleted file mode 100644 index 9f43b483..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java +++ /dev/null @@ -1,255 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; - -public class TESocket extends TileEntity implements IInventory -{ - private ItemStack[] inv; - private int resultID; - private int resultDamage; - - public static final int sizeInv = 1; - - private boolean isActive; - - public TESocket() - { - this.inv = new ItemStack[1]; - resultID = 0; - resultDamage = 0; - isActive = false; - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList tagList = par1NBTTagCompound.getTagList("Inventory",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - resultID = par1NBTTagCompound.getInteger("resultID"); - resultDamage = par1NBTTagCompound.getInteger("resultDamage"); - isActive = par1NBTTagCompound.getBoolean("isActive"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inv[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - par1NBTTagCompound.setInteger("resultID", resultID); - par1NBTTagCompound.setInteger("resultDamage", resultDamage); - par1NBTTagCompound.setTag("Inventory", itemList); - par1NBTTagCompound.setBoolean("isActive", isActive); - } - - @Override - public int getSizeInventory() - { - return 1; - } - - @Override - public ItemStack getStackInSlot(int slot) - { - return inv[slot]; - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack itemStack) - { - inv[slot] = itemStack; - - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() - { - return "TESocket"; - } - - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - @Override - public int getInventoryStackLimit() - { - return 1; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer entityPlayer) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && entityPlayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - // TODO Auto-generated method stub - } - - @Override - public void closeInventory() - { - // TODO Auto-generated method stub - } - - //Logic for the actual block is under here - @Override - public void updateEntity() - { - super.updateEntity(); - } - - public void setActive() - { - isActive = false; - } - - public boolean isActive() - { - return isActive; - } - - @Override - public Packet getDescriptionPacket() - { - return NewPacketHandler.getPacket(this); - } - - public void handlePacketData(int[] intData) - { - if (intData == null) - { - return; - } - - if (intData.length == 3) - { - for (int i = 0; i < 1; i++) - { - if (intData[i * 3 + 2] != 0) - { - ItemStack is = new ItemStack(Item.getItemById(intData[i * 3]), intData[i * 3 + 2], intData[i * 3 + 1]); - inv[i] = is; - } else - { - inv[i] = null; - } - } - } - } - - public int[] buildIntDataList() - { - int[] sortList = new int[1 * 3]; - int pos = 0; - - for (ItemStack is : inv) - { - if (is != null) - { - sortList[pos++] = Item.getIdFromItem(is.getItem()); - sortList[pos++] = is.getItemDamage(); - sortList[pos++] = is.stackSize; - } else - { - sortList[pos++] = 0; - sortList[pos++] = 0; - sortList[pos++] = 0; - } - } - - return sortList; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemstack) - { - if (slot == 0) - { - return true; - } - - return false; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpectralBlock.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpectralBlock.java deleted file mode 100644 index bf182598..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpectralBlock.java +++ /dev/null @@ -1,90 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.fluids.IFluidBlock; -import WayofTime.alchemicalWizardry.ModBlocks; - -public class TESpectralBlock extends TileEntity -{ - private int ticksRemaining; - - public TESpectralBlock() - { - ticksRemaining = 0; - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - - ticksRemaining = par1NBTTagCompound.getInteger("ticksRemaining"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - - par1NBTTagCompound.setInteger("ticksRemaining", ticksRemaining); - } - - @Override - public void updateEntity() - { - super.updateEntity(); - - if(worldObj.isRemote) - { - return; - } - - this.ticksRemaining--; - - if(this.ticksRemaining<=0) - { - worldObj.setBlockToAir(xCoord, yCoord, zCoord); - } - } - - public static boolean createSpectralBlockAtLocation(World world, int x, int y, int z, int duration) - { - if(!world.isAirBlock(x, y, z)) - { - return false; - } - - //if(world.getTileEntity(x, y, z)==null) - { - world.setBlock(x, y, z, ModBlocks.spectralBlock); - TileEntity tile = world.getTileEntity(x, y, z); - if(tile instanceof TESpectralBlock) - { - ((TESpectralBlock) tile).setDuration(duration); - return true; - } - } - - return false; - } - - public void setDuration(int dur) - { - this.ticksRemaining = dur; - } - - public void resetDuration(int dur) - { - if(this.ticksRemaining= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - ticksRemaining = par1NBTTagCompound.getInteger("ticksRemaining"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inv[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - par1NBTTagCompound.setTag("Inventory", itemList); - par1NBTTagCompound.setInteger("ticksRemaining", ticksRemaining); - } - - @Override - public void updateEntity() - { - super.updateEntity(); - - this.ticksRemaining--; - - if(this.ticksRemaining<=0) - { - this.returnContainedBlock(); - } - } - - public static boolean createSpectralBlockAtLocation(World world, int x, int y, int z, int duration) - { - Block block = world.getBlock(x, y, z); - - if(block==null) - { - return false; - } - - if(world.getTileEntity(x, y, z)==null || block instanceof IFluidBlock) - { - int meta = world.getBlockMetadata(x, y, z); - ItemStack item = new ItemStack(block, 1, meta); - - world.setBlock(x, y, z, ModBlocks.blockSpectralContainer); - TileEntity tile = world.getTileEntity(x, y, z); - if(tile instanceof TESpectralContainer) - { - ((TESpectralContainer) tile).setContainedItem(item); - ((TESpectralContainer) tile).setDuration(duration); - return true; - } - } - - return false; - } - - public void setDuration(int dur) - { - this.ticksRemaining = dur; - } - - public void resetDuration(int dur) - { - if(this.ticksRemaining 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 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; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java deleted file mode 100644 index 946b1ddb..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java +++ /dev/null @@ -1,377 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; - -public class TETeleposer extends TileEntity implements IInventory -{ - private ItemStack[] inv; - private int resultID; - private int resultDamage; - private int previousInput; - - public static final int sizeInv = 1; - - private boolean isActive; - - public TETeleposer() - { - this.inv = new ItemStack[1]; - resultID = 0; - resultDamage = 0; - isActive = false; - previousInput = 0; - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList tagList = par1NBTTagCompound.getTagList("Inventory", Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - int slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - resultID = par1NBTTagCompound.getInteger("resultID"); - resultDamage = par1NBTTagCompound.getInteger("resultDamage"); - isActive = par1NBTTagCompound.getBoolean("isActive"); - previousInput = par1NBTTagCompound.getInteger("previousInput"); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (inv[i] != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - inv[i].writeToNBT(tag); - itemList.appendTag(tag); - } - } - - par1NBTTagCompound.setInteger("resultID", resultID); - par1NBTTagCompound.setInteger("resultDamage", resultDamage); - par1NBTTagCompound.setTag("Inventory", itemList); - par1NBTTagCompound.setBoolean("isActive", isActive); - par1NBTTagCompound.setInteger("previousInput", previousInput); - } - - @Override - public int getSizeInventory() - { - return 1; - } - - @Override - public ItemStack getStackInSlot(int slot) - { - return inv[slot]; - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack itemStack) - { - inv[slot] = itemStack; - - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() - { - return "TETeleposer"; - } - - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - @Override - public int getInventoryStackLimit() - { - return 1; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer entityPlayer) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && entityPlayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - // TODO Auto-generated method stub - } - - @Override - public void closeInventory() - { - // TODO Auto-generated method stub - } - - //Logic for the actual block is under here - @Override - public void updateEntity() - { - super.updateEntity(); - EntityPlayer d; - - if (worldObj.isRemote) - { - return; - } - - int currentInput = worldObj.getBlockPowerInput(xCoord, yCoord, zCoord); - - if (previousInput == 0 && currentInput != 0) - { - ItemStack focus = this.getStackInSlot(0); - - if (focus != null && focus.getItem() instanceof TelepositionFocus) - { - TelepositionFocus focusItem = (TelepositionFocus) (focus.getItem()); - int xf = focusItem.xCoord(focus); - int yf = focusItem.yCoord(focus); - int zf = focusItem.zCoord(focus); - World worldF = focusItem.getWorld(focus); - int damage = (int) (0.5f * Math.sqrt((xCoord - xf) * (xCoord - xf) + (yCoord - yf + 1) * (yCoord - yf + 1) + (zCoord - zf) * (zCoord - zf))); - int focusLevel = ((TelepositionFocus) focusItem).getFocusLevel(); - int transportCount = 0; - int entityCount = 0; - - if (worldF != null && worldF.getTileEntity(xf, yf, zf) instanceof TETeleposer && !worldF.getTileEntity(xf, yf, zf).equals(this)) - { - //Prime the teleportation - int d0 = focusLevel - 1; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox((double) this.xCoord, (double) this.yCoord + d0 + 1, (double) this.zCoord, (double) (this.xCoord + 1), (double) (this.yCoord + 2 + d0), (double) (this.zCoord + 1)).expand(d0, d0, d0); - axisalignedbb1.maxY = Math.min((double) this.worldObj.getHeight(), this.yCoord + 2 + d0 + d0); - List list1 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb1); - Iterator iterator1 = list1.iterator(); - EntityLivingBase entityplayer1; - - while (iterator1.hasNext()) - { - entityplayer1 = (EntityLivingBase) iterator1.next(); - entityCount++; - } - - //int d0 = focusLevel-1; - AxisAlignedBB axisalignedbb2 = AxisAlignedBB.getBoundingBox(xf, yf + d0 + 1, zf, xf + 1, yf + 2 + d0, zf).expand(d0, d0, d0); - //axisalignedbb2.maxY = Math.min((double)worldF.getHeight(),yf+1+d0+d0); - List list2 = worldF.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb2); - Iterator iterator2 = list2.iterator(); - EntityLivingBase entityplayer2; - - while (iterator2.hasNext()) - { - entityplayer2 = (EntityLivingBase) iterator2.next(); - entityCount++; - } - - if (EnergyItems.canSyphonInContainer(focus, damage * (focusLevel * 2 - 1) * (focusLevel * 2 - 1) * (focusLevel * 2 - 1) + damage * entityCount)) - { - for (int k = 0; k <= (focusLevel * 2 - 2); k++) - //for(int k=(focusLevel*2-1);k>=0;k--) - { - for (int i = -(focusLevel - 1); i <= (focusLevel - 1); i++) - { - for (int j = -(focusLevel - 1); j <= (focusLevel - 1); j++) - { - { - if (BlockTeleposer.swapBlocks(worldObj, worldF, xCoord + i, yCoord + 1 + k, zCoord + j, xf + i, yf + 1 + k, zf + j)) - { - transportCount++; - } - } - } - } - } - - if (!worldF.equals(worldObj)) - { - entityCount = 0; - } - - EnergyItems.syphonWhileInContainer(focus, damage * transportCount + damage * entityCount); - //Teleport - - if (worldF.equals(worldObj)) - { - iterator1 = list1.iterator(); - iterator2 = list2.iterator(); - - while (iterator1.hasNext()) - { - entityplayer1 = (EntityLivingBase) iterator1.next(); - entityplayer1.worldObj = worldF; - entityplayer1.setPositionAndUpdate(entityplayer1.posX - this.xCoord + xf, entityplayer1.posY - this.yCoord + yf, entityplayer1.posZ - this.zCoord + zf); - //entityplayer1.travelToDimension(worldF.provider.dimensionId); - } - - while (iterator2.hasNext()) - { - entityplayer2 = (EntityLivingBase) iterator2.next(); - entityplayer2.worldObj = worldF; - entityplayer2.setPositionAndUpdate(entityplayer2.posX + this.xCoord - xf, entityplayer2.posY + this.yCoord - yf, entityplayer2.posZ + this.zCoord - zf); - //entityplayer2.travelToDimension(worldObj.provider.dimensionId); - } - } - } - } - } - } - - previousInput = currentInput; - } - - public void setActive() - { - isActive = false; - } - - public boolean isActive() - { - return isActive; - } - - @Override - public Packet getDescriptionPacket() - { - return NewPacketHandler.getPacket(this); - } - - public void handlePacketData(int[] intData) - { - if (intData == null) - { - return; - } - - if (intData.length == 3) - { - for (int i = 0; i < 1; i++) - { - if (intData[i * 3 + 2] != 0) - { - ItemStack is = new ItemStack(Item.getItemById(intData[i * 3]), intData[i * 3 + 2], intData[i * 3 + 1]); - inv[i] = is; - } else - { - inv[i] = null; - } - } - } - } - - public int[] buildIntDataList() - { - int[] sortList = new int[1 * 3]; - int pos = 0; - - for (ItemStack is : inv) - { - if (is != null) - { - sortList[pos++] = Item.getIdFromItem(is.getItem()); - sortList[pos++] = is.getItemDamage(); - sortList[pos++] = is.stackSize; - } else - { - sortList[pos++] = 0; - sortList[pos++] = 0; - sortList[pos++] = 0; - } - } - - return sortList; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemstack) - { - if (slot == 0) - { - return true; - } - - return false; - } - -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java deleted file mode 100644 index 1ed5ae95..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java +++ /dev/null @@ -1,916 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemicalPotionCreationHandler; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipe; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import WayofTime.alchemicalWizardry.common.IBindingAgent; -import WayofTime.alchemicalWizardry.common.ICatalyst; -import WayofTime.alchemicalWizardry.common.IFillingAgent; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.alchemy.CombinedPotionRegistry; -import WayofTime.alchemicalWizardry.common.alchemy.ICombinationalCatalyst; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.items.potion.AlchemyFlask; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; - -public class TEWritingTable extends TileEntity implements IInventory -{ - private ItemStack[] inv; - private int progress; - private int progressNeeded = 100; - private int amountUsed; - - private int accelerationTime; - - public static final int sizeInv = 7; - - public TEWritingTable() - { - inv = new ItemStack[7]; - } - - @Override - public int getSizeInventory() - { - return inv.length; - } - - @Override - public ItemStack getStackInSlot(int slot) - { - return inv[slot]; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack stack) - { - inv[slot] = stack; - - if (stack != null && stack.stackSize > getInventoryStackLimit()) - { - stack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public ItemStack decrStackSize(int slot, int amt) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - if (stack.stackSize <= amt) - { - setInventorySlotContents(slot, null); - } else - { - stack = stack.splitStack(amt); - - if (stack.stackSize == 0) - { - setInventorySlotContents(slot, null); - } - } - } - - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - - if (stack != null) - { - setInventorySlotContents(slot, null); - } - - return stack; - } - - @Override - public int getInventoryStackLimit() - { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) - { - return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this && player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64; - } - - @Override - public void openInventory() - { - } - - @Override - public void closeInventory() - { - } - - @Override - public void readFromNBT(NBTTagCompound tagCompound) - { - super.readFromNBT(tagCompound); - NBTTagList tagList = tagCompound.getTagList("Inventory",Constants.NBT.TAG_COMPOUND); - - for (int i = 0; i < tagList.tagCount(); i++) - { - NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); - byte slot = tag.getByte("Slot"); - - if (slot >= 0 && slot < inv.length) - { - inv[slot] = ItemStack.loadItemStackFromNBT(tag); - } - } - - progress = tagCompound.getInteger("progress"); - amountUsed = tagCompound.getInteger("amountUsed"); - - accelerationTime = tagCompound.getInteger("accelerationTime"); - } - - @Override - public void writeToNBT(NBTTagCompound tagCompound) - { - super.writeToNBT(tagCompound); - NBTTagList itemList = new NBTTagList(); - - for (int i = 0; i < inv.length; i++) - { - ItemStack stack = inv[i]; - - if (stack != null) - { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - stack.writeToNBT(tag); - itemList.appendTag(tag); - } - } - - tagCompound.setTag("Inventory", itemList); - tagCompound.setInteger("progress", progress); - tagCompound.setInteger("amountUsed", amountUsed); - - tagCompound.setInteger("accelerationTime", accelerationTime); - } - - @Override - public String getInventoryName() - { - return "aw.TEWritingTable"; - } - - @Override - public boolean hasCustomInventoryName() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemstack) - { - // TODO Auto-generated method stub - return false; - } - - @Override - public net.minecraft.network.Packet getDescriptionPacket() - { - return NewPacketHandler.getPacket(this); - } - - public void handlePacketData(int[] intData) - { - if (intData == null) - { - return; - } - - if (intData.length == 3 * 7) - { - for (int i = 0; i < 7; i++) - { - if (intData[i * 3 + 2] != 0) - { - ItemStack is = new ItemStack(Item.getItemById(intData[i * 3]), intData[i * 3 + 2], intData[i * 3 + 1]); - inv[i] = is; - } else - { - inv[i] = null; - } - } - } - } - - public int[] buildIntDataList() - { - int[] sortList = new int[7 * 3]; - int pos = 0; - - for (ItemStack is : inv) - { - if (is != null) - { - sortList[pos++] = Item.getIdFromItem(is.getItem()); - sortList[pos++] = is.getItemDamage(); - sortList[pos++] = is.stackSize; - } else - { - sortList[pos++] = 0; - sortList[pos++] = 0; - sortList[pos++] = 0; - } - } - - return sortList; - } - - public ItemStack getResultingItemStack() - { - ItemStack[] composedRecipe = new ItemStack[5]; - - for (int i = 0; i < 5; i++) - { - composedRecipe[i] = inv[i + 1]; - } - - return AlchemyRecipeRegistry.getResult(composedRecipe, inv[0]); - } - - public boolean isRecipeValid() - { - return (getResultingItemStack() != null); - } - - public int getAmountNeeded(ItemStack bloodOrb) - { - ItemStack[] composedRecipe = new ItemStack[5]; - - for (int i = 0; i < 5; i++) - { - composedRecipe[i] = inv[i + 1]; - } - - return AlchemyRecipeRegistry.getAmountNeeded(composedRecipe, bloodOrb); - } - - public boolean containsPotionFlask() - { - if (getPotionFlaskPosition() != -1) - { - return true; - } else - { - return false; - } - } - - public int getPotionFlaskPosition() - { - for (int i = 1; i <= 5; i++) - { - if (inv[i] != null && !(inv[i].getItem() instanceof ItemBlock) && inv[i].getItem() == ModItems.alchemyFlask) - { - return i; - } - } - - return -1; - } - - public boolean containsCombinationCatalyst() - { - if (getCombinationCatalystPosition() != -1) - { - return true; - } else - { - return false; - } - } - - public int getCombinationCatalystPosition() - { - for (int i = 1; i <= 5; i++) - { - if (inv[i] != null && inv[i].getItem() instanceof ICombinationalCatalyst) - { - return i; - } - } - - return -1; - } - - public boolean containsRegisteredPotionIngredient() - { - if (getRegisteredPotionIngredientPosition() != -1) - { - return true; - } else - { - return false; - } - } - - public int getRegisteredPotionIngredientPosition() - { - ItemStack[] composedRecipe = new ItemStack[5]; - - for (int i = 0; i < 5; i++) - { - composedRecipe[i] = inv[i + 1]; - } - - int location = AlchemicalPotionCreationHandler.getRegisteredPotionIngredientPosition(composedRecipe); - - if (location != -1) - { - return location + 1; - } - - return -1; - } - - public boolean containsCatalyst() - { - if (getCatalystPosition() != -1) - { - return true; - } - - return false; - } - - public int getCatalystPosition() - { - for (int i = 0; i < 5; i++) - { - if (inv[i + 1] != null && inv[i + 1].getItem() instanceof ICatalyst) - { - return i + 1; - } - } - - return -1; - } - - public boolean containsBindingAgent() - { - if (getBindingAgentPosition() != -1) - { - return true; - } - - return false; - } - - public int getBindingAgentPosition() - { - for (int i = 0; i < 5; i++) - { - if (inv[i + 1] != null && inv[i + 1].getItem() instanceof IBindingAgent) - { - return i + 1; - } - } - - return -1; - } - - public boolean containsFillingAgent() - { - if (getFillingAgentPosition() != -1) - { - return true; - } - - return false; - } - - public int getFillingAgentPosition() - { - for (int i = 0; i < 5; i++) - { - if (inv[i + 1] != null && inv[i + 1].getItem() instanceof IFillingAgent) - { - return i + 1; - } - } - - return -1; - } - - public boolean containsBlankSlate() - { - if (getBlankSlatePosition() != -1) - { - return true; - } - - return false; - } - - public int getBlankSlatePosition() - { - for (int i = 0; i < 5; i++) - { - if (inv[i + 1] != null && inv[i + 1].getItem() == ModItems.blankSlate) - { - return i + 1; - } - } - - return -1; - } - - @Override - public void updateEntity() - { - long worldTime = worldObj.getWorldTime(); - - if (worldObj.isRemote) - { - return; - } - -// if(worldTime%100==0) -// { -// if (worldObj != null) -// { -// worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); -// } -// } - - if(accelerationTime > 0) - { - accelerationTime--; - } - - if (containsPotionFlask() && containsRegisteredPotionIngredient()) - { - if (containsCatalyst()) - { - if (getStackInSlot(6) == null) - { - progress++; - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (progress >= progressNeeded) - { - ItemStack flaskStack = inv[this.getPotionFlaskPosition()]; - ItemStack ingredientStack = inv[this.getRegisteredPotionIngredientPosition()]; - ItemStack catalystStack = inv[this.getCatalystPosition()]; - - if (flaskStack == null || ingredientStack == null || catalystStack == null) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - int potionID = AlchemicalPotionCreationHandler.getPotionIDForStack(ingredientStack); - int catalystLevel = ((ICatalyst) catalystStack.getItem()).getCatalystLevel(); - boolean isConcentration = ((ICatalyst) catalystStack.getItem()).isConcentration(); - - if (potionID == -1 || catalystLevel < 0) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - if (isConcentration) - { - ((AlchemyFlask) flaskStack.getItem()).setConcentrationOfPotion(flaskStack, potionID, catalystLevel); - } else - { - ((AlchemyFlask) flaskStack.getItem()).setDurationFactorOfPotion(flaskStack, potionID, catalystLevel); - } - - //((AlchemyFlask)flaskStack.getItem()).setConcentrationOfPotion(flaskStack, Potion.regeneration.id, 2); - this.setInventorySlotContents(6, flaskStack); - this.decrStackSize(this.getPotionFlaskPosition(), 1); - this.decrStackSize(this.getCatalystPosition(), 1); - this.decrStackSize(this.getRegisteredPotionIngredientPosition(), 1); - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } else if (containsBindingAgent()) - { - if (getStackInSlot(6) == null) - { - progress++; - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (progress >= progressNeeded) - { - ItemStack flaskStack = inv[this.getPotionFlaskPosition()]; - ItemStack ingredientStack = inv[this.getRegisteredPotionIngredientPosition()]; - ItemStack agentStack = inv[this.getBindingAgentPosition()]; - - if (flaskStack == null || ingredientStack == null || agentStack == null) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - int potionEffectNumber = ((AlchemyFlask) flaskStack.getItem()).getNumberOfPotionEffects(flaskStack); - int potionID = AlchemicalPotionCreationHandler.getPotionIDForStack(ingredientStack); - int tickDuration = AlchemicalPotionCreationHandler.getPotionTickDurationForStack(ingredientStack); - float successChance = ((IBindingAgent) agentStack.getItem()).getSuccessRateForPotionNumber(potionEffectNumber); - //boolean isConcentration = ((ICatalyst)catalystStack.getItem()).isConcentration(); - - if (potionID == -1) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - ((AlchemyFlask) flaskStack.getItem()).addPotionEffect(flaskStack, potionID, tickDuration); - - //((AlchemyFlask)flaskStack.getItem()).addPotionEffect(flaskStack, Potion.regeneration.id, 1000); - - if (successChance > worldObj.rand.nextFloat()) - { - this.setInventorySlotContents(6, flaskStack); - } else - { - worldObj.createExplosion(null, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 2, false); - } - - this.decrStackSize(this.getPotionFlaskPosition(), 1); - this.decrStackSize(this.getBindingAgentPosition(), 1); - this.decrStackSize(this.getRegisteredPotionIngredientPosition(), 1); - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } - } else if (this.containsBlankSlate() && this.containsPotionFlask()) - { - if (getStackInSlot(6) == null) - { - progress++; - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (progress >= progressNeeded) - { - ItemStack flaskStack = inv[this.getPotionFlaskPosition()]; - //ItemStack ingredientStack = inv[this.getRegisteredPotionIngredientPosition()]; - ItemStack blankSlate = inv[this.getBlankSlatePosition()]; - - if (flaskStack == null || blankSlate == null) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - //boolean isConcentration = ((ICatalyst)catalystStack.getItem()).isConcentration(); - ((AlchemyFlask) flaskStack.getItem()).setIsPotionThrowable(true, flaskStack); - //((AlchemyFlask)flaskStack.getItem()).addPotionEffect(flaskStack, Potion.regeneration.id, 1000); - //if(successChance>worldObj.rand.nextFloat()) - this.setInventorySlotContents(6, flaskStack); - this.decrStackSize(this.getPotionFlaskPosition(), 1); - this.decrStackSize(this.getBlankSlatePosition(), 1); - //this.decrStackSize(this.getRegisteredPotionIngredientPosition(), 1); - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } else if (this.containsFillingAgent() && this.containsPotionFlask()) - { - if (getStackInSlot(6) == null) - { - progress++; - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (progress >= progressNeeded) - { - ItemStack flaskStack = inv[this.getPotionFlaskPosition()]; - //ItemStack ingredientStack = inv[this.getRegisteredPotionIngredientPosition()]; - ItemStack fillingAgent = inv[this.getFillingAgentPosition()]; - - if (flaskStack == null || fillingAgent == null) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - //boolean isConcentration = ((ICatalyst)catalystStack.getItem()).isConcentration(); - int potionEffects = ((AlchemyFlask) flaskStack.getItem()).getNumberOfPotionEffects(flaskStack); - int potionFillAmount = ((IFillingAgent) fillingAgent.getItem()).getFilledAmountForPotionNumber(potionEffects); - flaskStack.setItemDamage(Math.max(0, flaskStack.getItemDamage() - potionFillAmount)); - //((AlchemyFlask)flaskStack.getItem()).addPotionEffect(flaskStack, Potion.regeneration.id, 1000); - //if(successChance>worldObj.rand.nextFloat()) - this.setInventorySlotContents(6, flaskStack); - this.decrStackSize(this.getPotionFlaskPosition(), 1); - this.decrStackSize(this.getFillingAgentPosition(), 1); - //this.decrStackSize(this.getRegisteredPotionIngredientPosition(), 1); - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } - else if (this.containsPotionFlask() && this.containsCombinationCatalyst()) - { - //TODO - if (getStackInSlot(6) == null && CombinedPotionRegistry.hasCombinablePotionEffect(inv[this.getPotionFlaskPosition()])) - { - progress++; - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (progress >= progressNeeded) - { - ItemStack flaskStack = inv[this.getPotionFlaskPosition()]; - //ItemStack ingredientStack = inv[this.getRegisteredPotionIngredientPosition()]; - ItemStack combinationCatalyst = inv[this.getCombinationCatalystPosition()]; - - if (flaskStack == null || combinationCatalyst == null) - { - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - return; - } - - ItemStack newFlask = CombinedPotionRegistry.applyPotionEffect(flaskStack); - if(newFlask != null) - { - this.setInventorySlotContents(6, newFlask); - this.decrStackSize(this.getPotionFlaskPosition(), 1); - this.decrStackSize(this.getCombinationCatalystPosition(), 1); - - progress = 0; - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } - } - else - { - if (!isRecipeValid()) - { - progress = 0; - return; - } - - if (progress <= 0) - { - progress = 0; - amountUsed = this.getAmountNeeded(getStackInSlot(0)); - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - - int acceleration = this.getSpeedIncrease(); - - if (getStackInSlot(6) == null) - { - if (!EnergyItems.syphonWhileInContainer(getStackInSlot(0), amountUsed*acceleration)) - { - return; - } - - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - progress+=acceleration; - - if (progress >= progressNeeded) - { - progress = 0; - this.setInventorySlotContents(6, getResultingItemStack()); - - ItemStack[] composedRecipe = new ItemStack[5]; - - for (int i = 0; i < 5; i++) - { - composedRecipe[i] = inv[i + 1]; - } - - this.decrementSlots(this.getRecipeForItems(composedRecipe, inv[0])); - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } else if (getStackInSlot(6).getItem() == getResultingItemStack().getItem() && getResultingItemStack().stackSize <= (getStackInSlot(6).getMaxStackSize() - getStackInSlot(6).stackSize)) - { - if (worldTime % 4 == 0) - { - SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); - } - - if (!EnergyItems.syphonWhileInContainer(getStackInSlot(0), amountUsed*acceleration)) - { - return; - } - - progress+=acceleration; - - if (progress >= progressNeeded) - { - progress = 0; - ItemStack result = getResultingItemStack().copy(); - result.stackSize += getStackInSlot(6).stackSize; - this.setInventorySlotContents(6, result); - - ItemStack[] composedRecipe = new ItemStack[5]; - - for (int i = 0; i < 5; i++) - { - composedRecipe[i] = inv[i + 1]; - } - - this.decrementSlots(this.getRecipeForItems(composedRecipe, inv[0])); - - if (worldObj != null) - { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - } - } - - //worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - public void decrementSlots(ItemStack[] recipe) //TODO Fix this. This doesn't work. - { - boolean[] decrementedList = new boolean[]{false,false,false,false,false}; - - for(int i=0; i<(Math.min(recipe.length,5)); i++) - { - ItemStack decStack = recipe[i]; - - if(decStack == null) - { - continue; - } - - for(int j=0; j<5; j++) - { - ItemStack testStack = this.getStackInSlot(j+1); - - if(testStack != null && (testStack.isItemEqual(decStack) || (testStack.getItem() == decStack.getItem() && decStack.getItemDamage() == OreDictionary.WILDCARD_VALUE)) && !(decrementedList[j])) - { - if(testStack.getItem().hasContainerItem(testStack)) - { - this.inv[j+1] = testStack.getItem().getContainerItem(testStack); - }else - { - this.decrStackSize(j+1, 1); - } - - decrementedList[j] = true; - break; - } - } - } - } - - public ItemStack[] getRecipeForItems(ItemStack[] recipe, ItemStack bloodOrb) - { - if (bloodOrb == null) - { - return null; - } - - if (!(bloodOrb.getItem() instanceof IBloodOrb)) - { - return null; - } - - int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel(); - - for (AlchemyRecipe ar : AlchemyRecipeRegistry.recipes) - { - if (ar.doesRecipeMatch(recipe, bloodOrbLevel)) - { - return ar.getRecipe(); - } - } - - return null; - } - - public int getSpeedIncrease() - { - return accelerationTime > 0 ? 5 : 1; - } - - public boolean isWorking() - { - return this.progress > 0; - } - - public void setAccelerationTime(int accelerationTime) - { - this.accelerationTime = accelerationTime; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerAltar.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerAltar.java deleted file mode 100644 index 9f926427..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerAltar.java +++ /dev/null @@ -1,96 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity.container; - -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerAltar extends Container -{ - protected TEAltar tileEntity; - - public ContainerAltar(InventoryPlayer inventoryPlayer, TEAltar te) - { - tileEntity = te; - - for (int i = 0; i < 3; i++) - { - for (int j = 0; j < 3; j++) - { - addSlotToContainer(new Slot(tileEntity, j + i * 3, 62 + j * 18, 17 + i * 18)); - } - } - - bindPlayerInventory(inventoryPlayer); - } - - @Override - public boolean canInteractWith(EntityPlayer entityplayer) - { - return tileEntity.isUseableByPlayer(entityplayer); - } - - protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) - { - for (int i = 0; i < 3; i++) - { - for (int j = 0; j < 9; j++) - { - addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9, - 8 + j * 18, 84 + i * 18)); - } - } - - for (int i = 0; i < 9; i++) - { - addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer player, int slot) - { - ItemStack stack = null; - Slot slotObject = (Slot) inventorySlots.get(slot); - - //null checks and checks if the item can be stacked (maxStackSize > 1) - if (slotObject != null && slotObject.getHasStack()) - { - ItemStack stackInSlot = slotObject.getStack(); - stack = stackInSlot.copy(); - - //merges the item into player inventory since its in the tileEntity - if (slot < 9) - { - if (!this.mergeItemStack(stackInSlot, 0, 35, true)) - { - return null; - } - } - //places it into the tileEntity is possible since its in the player inventory - else if (!this.mergeItemStack(stackInSlot, 0, 9, false)) - { - return null; - } - - if (stackInSlot.stackSize == 0) - { - slotObject.putStack(null); - } else - { - slotObject.onSlotChanged(); - } - - if (stackInSlot.stackSize == stack.stackSize) - { - return null; - } - - slotObject.onPickupFromSlot(player, stackInSlot); - } - - return stack; - } -} diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerTeleposer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerTeleposer.java deleted file mode 100644 index 09104284..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerTeleposer.java +++ /dev/null @@ -1,106 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity.container; - -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerTeleposer extends Container -{ - protected TETeleposer tileEntity; - - public ContainerTeleposer(InventoryPlayer inventoryPlayer, TETeleposer te) - { - tileEntity = te; - //the Slot constructor takes the IInventory and the slot number in that it binds to - //and the x-y coordinates it resides on-screen -// addSlotToContainer(new Slot(tileEntity, 0, 152, 110)); -// addSlotToContainer(new Slot(tileEntity, 1, 80, 18)); -// addSlotToContainer(new Slot(tileEntity, 2, 33, 52)); -// addSlotToContainer(new Slot(tileEntity, 3, 51, 110)); -// addSlotToContainer(new Slot(tileEntity, 4, 109, 110)); -// addSlotToContainer(new Slot(tileEntity, 5, 127, 52)); - addSlotToContainer(new Slot(tileEntity, 0, 80, 67)); - //commonly used vanilla code that adds the player's inventory - bindPlayerInventory(inventoryPlayer); - } - - @Override - public boolean canInteractWith(EntityPlayer player) - { - return tileEntity.isUseableByPlayer(player); - } - - protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) - { - for (int i = 0; i < 3; i++) - { - for (int j = 0; j < 9; j++) - { - addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9, 8 + j * 18, 140 + i * 18)); - } - } - - for (int i = 0; i < 9; i++) - { - addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 198)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer player, int slot) - { - ItemStack stack = null; - Slot slotObject = (Slot) inventorySlots.get(slot); - - //null checks and checks if the item can be stacked (maxStackSize > 1) - if (slotObject != null && slotObject.getHasStack()) - { - ItemStack stackInSlot = slotObject.getStack(); - stack = stackInSlot.copy(); - - if (slot == 7) - { - if (!this.mergeItemStack(stackInSlot, 7, 35, true)) - { - return null; - } - - slotObject.onSlotChange(stackInSlot, stack); - } - - //merges the item into player inventory since its in the tileEntity - if (slot < 1) - { - if (!this.mergeItemStack(stackInSlot, 7, 35, true)) - { - return null; - } - } - //places it into the tileEntity is possible since its in the player inventory - else if (!this.mergeItemStack(stackInSlot, 0, 0, false)) - { - return null; - } - - if (stackInSlot.stackSize == 0) - { - slotObject.putStack(null); - } else - { - slotObject.onSlotChanged(); - } - - if (stackInSlot.stackSize == stack.stackSize) - { - return null; - } - - slotObject.onPickupFromSlot(player, stackInSlot); - } - - return stack; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java deleted file mode 100644 index 03c42933..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java +++ /dev/null @@ -1,104 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity.container; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; - -public class ContainerWritingTable extends Container -{ - protected TEWritingTable tileEntity; - - public ContainerWritingTable(InventoryPlayer inventoryPlayer, TEWritingTable te) - { - tileEntity = te; - //the Slot constructor takes the IInventory and the slot number in that it binds to - //and the x-y coordinates it resides on-screen - addSlotToContainer(new Slot(tileEntity, 0, 152, 110)); - addSlotToContainer(new Slot(tileEntity, 1, 80, 18)); - addSlotToContainer(new Slot(tileEntity, 2, 33, 52)); - addSlotToContainer(new Slot(tileEntity, 3, 51, 110)); - addSlotToContainer(new Slot(tileEntity, 4, 109, 110)); - addSlotToContainer(new Slot(tileEntity, 5, 127, 52)); - addSlotToContainer(new Slot(tileEntity, 6, 80, 67)); - //commonly used vanilla code that adds the player's inventory - bindPlayerInventory(inventoryPlayer); - } - - @Override - public boolean canInteractWith(EntityPlayer player) - { - return tileEntity.isUseableByPlayer(player); - } - - protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) - { - for (int i = 0; i < 3; i++) - { - for (int j = 0; j < 9; j++) - { - addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9, 8 + j * 18, 140 + i * 18)); - } - } - - for (int i = 0; i < 9; i++) - { - addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 198)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer player, int slot) - { - ItemStack stack = null; - Slot slotObject = (Slot) inventorySlots.get(slot); - - //null checks and checks if the item can be stacked (maxStackSize > 1) - if (slotObject != null && slotObject.getHasStack()) - { - ItemStack stackInSlot = slotObject.getStack(); - stack = stackInSlot.copy(); - - //merges the item into player inventory since its in the tileEntity - if (slot <= 6) - { - if (!this.mergeItemStack(stackInSlot, 7, 43, true)) - { - return null; - } - } - else if(stack.getItem() instanceof IBloodOrb) - { - if (!this.mergeItemStack(stackInSlot, 0, 1, false)) - { - return null; - } - } - //places it into the tileEntity is possible since its in the player inventory - else if (!this.mergeItemStack(stackInSlot, 1, 6, false)) - { - return null; - } - - if (stackInSlot.stackSize == 0) - { - slotObject.putStack(null); - } else - { - slotObject.onSlotChanged(); - } - - if (stackInSlot.stackSize == stack.stackSize) - { - return null; - } - - slotObject.onPickupFromSlot(player, stackInSlot); - } - - return stack; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiHandler.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiHandler.java deleted file mode 100644 index 2c50234a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiHandler.java +++ /dev/null @@ -1,73 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity.gui; - -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import WayofTime.alchemicalWizardry.common.tileEntity.container.ContainerTeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.container.ContainerWritingTable; -import cpw.mods.fml.common.network.IGuiHandler; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class GuiHandler implements IGuiHandler -{ - //returns an instance of the Container you made earlier - @Override - public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) - { - TileEntity tileEntity; - - switch (id) - { - case 0: - tileEntity = world.getTileEntity(x, y, z); - - if (tileEntity instanceof TEWritingTable) - { - return new ContainerWritingTable(player.inventory, (TEWritingTable) tileEntity); - } - - case 1: - tileEntity = world.getTileEntity(x, y, z); - - if (tileEntity instanceof TETeleposer) - { - return new ContainerTeleposer(player.inventory, (TETeleposer) tileEntity); - } - } - - return null; - } - - //returns an instance of the Gui you made earlier - @Override - public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) - { - TileEntity tileEntity; - - switch (id) - { - case 0: - tileEntity = world.getTileEntity(x, y, z); - - if (tileEntity instanceof TEWritingTable) - { - return new GuiWritingTable(player.inventory, (TEWritingTable) tileEntity); - } - - break; - - case 1: - tileEntity = world.getTileEntity(x, y, z); - - if (tileEntity instanceof TETeleposer) - { - return new GuiTeleposer(player.inventory, (TETeleposer) tileEntity); - } - - break; - } - - return null; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiTeleposer.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiTeleposer.java deleted file mode 100644 index a6d5f58a..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiTeleposer.java +++ /dev/null @@ -1,47 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity.gui; - -import net.minecraft.client.gui.inventory.GuiBrewingStand; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -import org.lwjgl.opengl.GL11; - -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.container.ContainerTeleposer; - -public class GuiTeleposer extends GuiContainer -{ - public GuiTeleposer(InventoryPlayer inventoryPlayer, TETeleposer tileEntity) - { - //the container is instanciated and passed to the superclass for handling - super(new ContainerTeleposer(inventoryPlayer, tileEntity)); - xSize = 176; - ySize = 222; - } - - @Override - protected void drawGuiContainerForegroundLayer(int param1, int param2) - { - //draw text and stuff here - //the parameters for drawString are: string, x, y, color - fontRendererObj.drawString("Teleposer", 8, 6, 4210752); - //draws "Inventory" or your regional equivalent - fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, 130, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) - { - //draw your Gui here, only thing you need to change is the path - //ResourceLocation texture = mc.renderEngine.getTexture("/gui/trap.png"); - ResourceLocation test = new ResourceLocation("alchemicalwizardry", "gui/Teleposer.png"); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(test); - int x = (width - xSize) / 2; - int y = (height - ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize); - GuiBrewingStand d; - } -} \ No newline at end of file diff --git a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiWritingTable.java b/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiWritingTable.java deleted file mode 100644 index 53a74f19..00000000 --- a/src-backup/main/java/WayofTime/alchemicalWizardry/common/tileEntity/gui/GuiWritingTable.java +++ /dev/null @@ -1,45 +0,0 @@ -package WayofTime.alchemicalWizardry.common.tileEntity.gui; - -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; -import WayofTime.alchemicalWizardry.common.tileEntity.container.ContainerWritingTable; -import net.minecraft.client.gui.inventory.GuiBrewingStand; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; -import org.lwjgl.opengl.GL11; - -public class GuiWritingTable extends GuiContainer -{ - public GuiWritingTable(InventoryPlayer inventoryPlayer, TEWritingTable tileEntity) - { - //the container is instanciated and passed to the superclass for handling - super(new ContainerWritingTable(inventoryPlayer, tileEntity)); - xSize = 176; - ySize = 222; - } - - @Override - protected void drawGuiContainerForegroundLayer(int param1, int param2) - { - //draw text and stuff here - //the parameters for drawString are: string, x, y, color - fontRendererObj.drawString("Alchemic Chemistry Set", 8, 6, 4210752); - //draws "Inventory" or your regional equivalent - fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, 130, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) - { - //draw your Gui here, only thing you need to change is the path - //ResourceLocation texture = mc.renderEngine.getTexture("/gui/trap.png"); - ResourceLocation test = new ResourceLocation("alchemicalwizardry", "gui/WritingTable.png"); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(test); - int x = (width - xSize) / 2; - int y = (height - ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize); - GuiBrewingStand d; - } -} \ No newline at end of file diff --git a/src-backup/main/java/joshie/alchemicalWizardy/ShapedBloodOrbRecipe.java b/src-backup/main/java/joshie/alchemicalWizardy/ShapedBloodOrbRecipe.java deleted file mode 100644 index f508fe6a..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/ShapedBloodOrbRecipe.java +++ /dev/null @@ -1,227 +0,0 @@ -package joshie.alchemicalWizardy; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.block.Block; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.ShapedRecipes; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; - -/** Shaped Blood Orb Recipe Handler by joshie **/ -public class ShapedBloodOrbRecipe implements IRecipe { - private static final int MAX_CRAFT_GRID_WIDTH = 3; - private static final int MAX_CRAFT_GRID_HEIGHT = 3; - - private ItemStack output = null; - private Object[] input = null; - public int width = 0; - public int height = 0; - private boolean mirrored = true; - - public ShapedBloodOrbRecipe(Block result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapedBloodOrbRecipe(Item result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapedBloodOrbRecipe(ItemStack result, Object... recipe) { - output = result.copy(); - - String shape = ""; - int idx = 0; - - if (recipe[idx] instanceof Boolean) { - mirrored = (Boolean) recipe[idx]; - if (recipe[idx + 1] instanceof Object[]) { - recipe = (Object[]) recipe[idx + 1]; - } else { - idx = 1; - } - } - - if (recipe[idx] instanceof String[]) { - String[] parts = ((String[]) recipe[idx++]); - - for (String s : parts) { - width = s.length(); - shape += s; - } - - height = parts.length; - } else { - while (recipe[idx] instanceof String) { - String s = (String) recipe[idx++]; - shape += s; - width = s.length(); - height++; - } - } - - if (width * height != shape.length()) { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - - HashMap itemMap = new HashMap(); - - for (; idx < recipe.length; idx += 2) { - Character chr = (Character) recipe[idx]; - Object in = recipe[idx + 1]; - - if (in instanceof IBloodOrb || (in instanceof ItemStack && ((ItemStack)in).getItem() instanceof IBloodOrb)) { //If the item is an instanceof IBloodOrb then save the level of the orb - if(in instanceof ItemStack) itemMap.put(chr, (Integer)(((IBloodOrb)((ItemStack)in).getItem()).getOrbLevel())); - else itemMap.put(chr, (Integer)(((IBloodOrb)in).getOrbLevel())); - } else if (in instanceof ItemStack) { - itemMap.put(chr, ((ItemStack) in).copy()); - } else if (in instanceof Item) { - itemMap.put(chr, new ItemStack((Item) in)); - } else if (in instanceof Block) { - itemMap.put(chr, new ItemStack((Block) in, 1, OreDictionary.WILDCARD_VALUE)); - } else if (in instanceof String) { - itemMap.put(chr, OreDictionary.getOres((String) in)); - } else { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - - input = new Object[width * height]; - int x = 0; - for (char chr : shape.toCharArray()) { - input[x++] = itemMap.get(chr); - } - } - - ShapedBloodOrbRecipe(ShapedRecipes recipe, Map replacements) { - output = recipe.getRecipeOutput(); - width = recipe.recipeWidth; - height = recipe.recipeHeight; - - input = new Object[recipe.recipeItems.length]; - - for (int i = 0; i < input.length; i++) { - ItemStack ingred = recipe.recipeItems[i]; - - if (ingred == null) - continue; - - input[i] = recipe.recipeItems[i]; - - for (Entry replace : replacements.entrySet()) { - if (OreDictionary.itemMatches(replace.getKey(), ingred, true)) { - input[i] = OreDictionary.getOres(replace.getValue()); - break; - } - } - } - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting var1) { - return output.copy(); - } - - @Override - public int getRecipeSize() { - return input.length; - } - - @Override - public ItemStack getRecipeOutput() { - return output; - } - - @Override - public boolean matches(InventoryCrafting inv, World world) { - for (int x = 0; x <= MAX_CRAFT_GRID_WIDTH - width; x++) { - for (int y = 0; y <= MAX_CRAFT_GRID_HEIGHT - height; ++y) { - if (checkMatch(inv, x, y, false)) { - return true; - } - - if (mirrored && checkMatch(inv, x, y, true)) { - return true; - } - } - } - - return false; - } - - @SuppressWarnings("unchecked") - private boolean checkMatch(InventoryCrafting inv, int startX, int startY, boolean mirror) { - for (int x = 0; x < MAX_CRAFT_GRID_WIDTH; x++) { - for (int y = 0; y < MAX_CRAFT_GRID_HEIGHT; y++) { - int subX = x - startX; - int subY = y - startY; - Object target = null; - - if (subX >= 0 && subY >= 0 && subX < width && subY < height) { - if (mirror) { - target = input[width - subX - 1 + subY * width]; - } else { - target = input[subX + subY * width]; - } - } - - ItemStack slot = inv.getStackInRowAndColumn(x, y); - //If target is integer, then we should be check the blood orb value of the item instead - if(target instanceof Integer) { - if(slot != null && slot.getItem() instanceof IBloodOrb) { - IBloodOrb orb = (IBloodOrb) slot.getItem(); - if(orb.getOrbLevel() < (Integer)target) { - return false; - } - } else return false; - } else if (target instanceof ItemStack) { - if (!OreDictionary.itemMatches((ItemStack) target, slot, false)) { - return false; - } - } else if (target instanceof ArrayList) { - boolean matched = false; - - Iterator itr = ((ArrayList) target).iterator(); - while (itr.hasNext() && !matched) { - matched = OreDictionary.itemMatches(itr.next(), slot, false); - } - - if (!matched) { - return false; - } - } else if (target == null && slot != null) { - return false; - } - } - } - - return true; - } - - public ShapedBloodOrbRecipe setMirrored(boolean mirror) { - mirrored = mirror; - return this; - } - - public Object[] getInput() { - return this.input; - } -} \ No newline at end of file diff --git a/src-backup/main/java/joshie/alchemicalWizardy/ShapelessBloodOrbRecipe.java b/src-backup/main/java/joshie/alchemicalWizardy/ShapelessBloodOrbRecipe.java deleted file mode 100644 index f33f9158..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/ShapelessBloodOrbRecipe.java +++ /dev/null @@ -1,140 +0,0 @@ -package joshie.alchemicalWizardy; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.block.Block; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; - -/** Shapeless Blood Orb Recipe Handler by joshie **/ -public class ShapelessBloodOrbRecipe implements IRecipe { - private ItemStack output = null; - private ArrayList input = new ArrayList(); - - public ShapelessBloodOrbRecipe(Block result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapelessBloodOrbRecipe(Item result, Object... recipe) { - this(new ItemStack(result), recipe); - } - - public ShapelessBloodOrbRecipe(ItemStack result, Object... recipe) { - output = result.copy(); - for (Object in : recipe) { - if (in instanceof ItemStack) { - input.add(((ItemStack) in).copy()); - } else if (in instanceof IBloodOrb) { //If the item is an instanceof IBloodOrb then save the level of the orb - input.add((Integer)(((IBloodOrb)in).getOrbLevel())); - } else if (in instanceof Item) { - input.add(new ItemStack((Item) in)); - } else if (in instanceof Block) { - input.add(new ItemStack((Block) in)); - } else if (in instanceof String) { - input.add(OreDictionary.getOres((String) in)); - } else { - String ret = "Invalid shapeless ore recipe: "; - for (Object tmp : recipe) { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - } - - @SuppressWarnings("unchecked") - ShapelessBloodOrbRecipe(ShapelessRecipes recipe, Map replacements) { - output = recipe.getRecipeOutput(); - - for (ItemStack ingred : ((List) recipe.recipeItems)) { - Object finalObj = ingred; - for (Entry replace : replacements.entrySet()) { - if (OreDictionary.itemMatches(replace.getKey(), ingred, false)) { - finalObj = OreDictionary.getOres(replace.getValue()); - break; - } - } - input.add(finalObj); - } - } - - @Override - public int getRecipeSize() { - return input.size(); - } - - @Override - public ItemStack getRecipeOutput() { - return output; - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting var1) { - return output.copy(); - } - - @SuppressWarnings("unchecked") - @Override - public boolean matches(InventoryCrafting var1, World world) { - ArrayList required = new ArrayList(input); - - for (int x = 0; x < var1.getSizeInventory(); x++) { - ItemStack slot = var1.getStackInSlot(x); - - if (slot != null) { - boolean inRecipe = false; - Iterator req = required.iterator(); - - while (req.hasNext()) { - boolean match = false; - - Object next = req.next(); - - //If target is integer, then we should be check the blood orb value of the item instead - if(next instanceof Integer) { - if(slot != null && slot.getItem() instanceof IBloodOrb) { - IBloodOrb orb = (IBloodOrb) slot.getItem(); - if(orb.getOrbLevel() < (Integer)next) { - return false; - } - } else return false; - } else if (next instanceof ItemStack) { - match = OreDictionary.itemMatches((ItemStack) next, slot, false); - } else if (next instanceof ArrayList) { - Iterator itr = ((ArrayList) next).iterator(); - while (itr.hasNext() && !match) { - match = OreDictionary.itemMatches(itr.next(), slot, false); - } - } - - if (match) { - inRecipe = true; - required.remove(next); - break; - } - } - - if (!inRecipe) { - return false; - } - } - } - - return required.isEmpty(); - } - - public ArrayList getInput() { - return this.input; - } -} \ No newline at end of file diff --git a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIAlchemyRecipeHandler.java b/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIAlchemyRecipeHandler.java deleted file mode 100644 index 64ce0980..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIAlchemyRecipeHandler.java +++ /dev/null @@ -1,154 +0,0 @@ -package joshie.alchemicalWizardy.nei; - -import static joshie.alchemicalWizardy.nei.NEIConfig.bloodOrbs; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipe; -import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import codechicken.nei.ItemList; -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.TemplateRecipeHandler; -import codechicken.nei.recipe.TemplateRecipeHandler.CachedRecipe; - -public class NEIAlchemyRecipeHandler extends TemplateRecipeHandler { - public class CachedAlchemyRecipe extends CachedRecipe { - public class BloodOrbs { - public PositionedStack stack; - public BloodOrbs(ItemStack orb) { - this.stack = new PositionedStack(orb, 136, 47, false); - } - } - - ArrayList orbs; - PositionedStack output; - List inputs; - int lp; - - public CachedAlchemyRecipe(AlchemyRecipe recipe, ItemStack orb) { - this(recipe); - this.orbs = new ArrayList(); - orbs.add(new BloodOrbs(orb)); - } - - public CachedAlchemyRecipe(AlchemyRecipe recipe) { - List inputs = new ArrayList(); - ItemStack[] stacks = recipe.getRecipe(); - if(stacks.length > 0) - inputs.add(new PositionedStack(stacks[0], 76, 3)); - if(stacks.length > 1) - inputs.add(new PositionedStack(stacks[1], 51, 19)); - if(stacks.length > 2) - inputs.add(new PositionedStack(stacks[2], 101, 19)); - if(stacks.length > 3) - inputs.add(new PositionedStack(stacks[3], 64, 47)); - if(stacks.length > 4) - inputs.add(new PositionedStack(stacks[4], 88, 47)); - this.inputs = inputs; - this.output = new PositionedStack(recipe.getResult(), 76, 25); - this.lp = recipe.getAmountNeeded() * 100; - this.orbs = new ArrayList(); - for(Item orb: bloodOrbs) { - if(((IBloodOrb)orb).getOrbLevel() >= recipe.getOrbLevel()) { - orbs.add(new BloodOrbs(new ItemStack(orb))); - } - } - } - - @Override - public List getIngredients() { - return inputs; - } - - @Override - public PositionedStack getResult() { - return output; - } - - @Override - public PositionedStack getOtherStack() { - if(orbs == null || orbs.size() <= 0) return null; - return orbs.get((cycleticks/48) % orbs.size()).stack; - } - } - - @Override - public TemplateRecipeHandler newInstance() { - for(ItemStack item : ItemList.items) { - if(item != null && item.getItem() instanceof IBloodOrb) { - bloodOrbs.add(item.getItem()); - } - } - - return super.newInstance(); - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - for(AlchemyRecipe recipe: AlchemyRecipeRegistry.recipes) { - ItemStack output = recipe.getResult(); - if(NEIServerUtils.areStacksSameTypeCrafting(result, recipe.getResult())) { - arecipes.add(new CachedAlchemyRecipe(recipe)); - } - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - if(ingredient.getItem() instanceof IBloodOrb) { - for(AlchemyRecipe recipe: AlchemyRecipeRegistry.recipes) { - if(((IBloodOrb)ingredient.getItem()).getOrbLevel() >= recipe.getOrbLevel()) { - arecipes.add(new CachedAlchemyRecipe(recipe, ingredient)); - } - } - } else { - for(AlchemyRecipe recipe: AlchemyRecipeRegistry.recipes) { - ItemStack[] stacks = recipe.getRecipe(); - for(ItemStack stack: stacks) { - if(NEIServerUtils.areStacksSameTypeCrafting(stack, ingredient)) { - arecipes.add(new CachedAlchemyRecipe(recipe)); - break; - } - } - } - } - } - - @Override - public void drawExtras(int id) { - CachedAlchemyRecipe cache = (CachedAlchemyRecipe) arecipes.get(id); - Minecraft.getMinecraft().fontRenderer.drawString("\u00a77" + cache.lp + "LP", getLPX(cache.lp), 34, 0); - } - - public int getLPX(int lp) { - if(lp < 10) - return 122; - else if (lp < 100) - return 122; - else if (lp < 1000) - return 130; - else if (lp < 10000) - return 127; - else if (lp < 100000) - return 124; - return 122; - } - - @Override - public String getRecipeName() { - return StatCollector.translateToLocal("tile.blockWritingTable.name"); - } - - @Override - public String getGuiTexture() { - return new ResourceLocation("alchemicalwizardry", "gui/nei/alchemy.png").toString(); - } -} diff --git a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIAltarRecipeHandler.java b/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIAltarRecipeHandler.java deleted file mode 100644 index 38b97903..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIAltarRecipeHandler.java +++ /dev/null @@ -1,182 +0,0 @@ -package joshie.alchemicalWizardy.nei; - -import java.awt.Dimension; -import java.awt.Point; -import java.awt.Rectangle; -import java.lang.reflect.Field; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -import org.lwjgl.input.Mouse; - -import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipe; -import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.GuiRecipe; -import codechicken.nei.recipe.TemplateRecipeHandler; - -public class NEIAltarRecipeHandler extends TemplateRecipeHandler { - public class CachedAltarRecipe extends CachedRecipe { - PositionedStack input; - PositionedStack output; - int tier, lp_amount, consumption, drain; - - public CachedAltarRecipe(AltarRecipe recipe) { - input = new PositionedStack(recipe.requiredItem, 38, 2, false); - output = new PositionedStack(recipe.result, 132, 32, false); - tier = recipe.minTier; - lp_amount = recipe.liquidRequired; - consumption = recipe.consumptionRate; - drain = recipe.drainRate; - } - - @Override - public PositionedStack getIngredient() { - return input; - } - - @Override - public PositionedStack getResult() { - return output; - } - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if (outputId.equals("altarrecipes") && getClass() == NEIAltarRecipeHandler.class) { - for(AltarRecipe recipe: AltarRecipeRegistry.altarRecipes) { - if(recipe.result != null) arecipes.add(new CachedAltarRecipe(recipe)); - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - for(AltarRecipe recipe: AltarRecipeRegistry.altarRecipes) { - if(NEIServerUtils.areStacksSameTypeCrafting(recipe.result, result)) { - if(recipe.result != null) arecipes.add(new CachedAltarRecipe(recipe)); - } - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - for(AltarRecipe recipe: AltarRecipeRegistry.altarRecipes) { - if(NEIServerUtils.areStacksSameTypeCrafting(recipe.requiredItem, ingredient)) { - if(recipe.result != null) arecipes.add(new CachedAltarRecipe(recipe)); - } - } - } - - //Mouse Position helper - public Point getMouse(int width, int height) { - Point mousepos = this.getMousePosition(); - int guiLeft = (width - 176) / 2; - int guiTop = (height - 166) / 2; - Point relMouse = new Point(mousepos.x - guiLeft, mousepos.y - guiTop); - return relMouse; - } - - //width helper, getting width normal way hates me on compile - public int getGuiWidth(GuiRecipe gui) { - try { - Field f = gui.getClass().getField("width"); - return (Integer) f.get(gui); - } catch (NoSuchFieldException e) { - try { - Field f = gui.getClass().getField("field_146294_l"); - return (Integer) f.get(gui); - } catch (Exception e2) { - return 0; - } - } catch (Exception e) { - e.printStackTrace(); - return 0; - } - } - - //height helper, getting height normal way hates me on compile - public int getGuiHeight(GuiRecipe gui) { - try { - Field f = gui.getClass().getField("height"); - return (Integer) f.get(gui); - } catch (NoSuchFieldException e) { - try { - Field f = gui.getClass().getField("field_146295_m"); - return (Integer) f.get(gui); - } catch (Exception e2) { - return 0; - } - } catch (Exception e) { - e.printStackTrace(); - return 0; - } - } - - @Override - public void drawExtras(int id) { - CachedAltarRecipe recipe = (CachedAltarRecipe) arecipes.get(id); - Minecraft.getMinecraft().fontRenderer.drawString("\u00a77" + StatCollector.translateToLocal("bm.string.tier") + ": " + recipe.tier, 78, 5, 0); - Minecraft.getMinecraft().fontRenderer.drawString("\u00a77" + "LP: " + recipe.lp_amount, 78, 15, 0); - } - - @Override - public List handleTooltip(GuiRecipe gui, List currenttip, int id) { - currenttip = super.handleTooltip(gui, currenttip, id); - Point mouse = getMouse(getGuiWidth(gui), getGuiHeight(gui)); - CachedAltarRecipe recipe = (CachedAltarRecipe) arecipes.get(id); - int yLow = id % 2 == 0 ? 38 : 102; - int yHigh = id % 2 == 0 ? 72 : 136; - if(mouse.x >= 19 && mouse.x <= 80 && mouse.y >= yLow && mouse.y <= yHigh) { - currenttip.add(StatCollector.translateToLocal("bm.string.consume") + ": " + recipe.consumption + "LP/t"); - currenttip.add(StatCollector.translateToLocal("bm.string.drain") + ": " + recipe.drain + "LP/t"); - } - - return currenttip; - } - - @Override - public String getOverlayIdentifier() { - return "altarrecipes"; - } - - @Override - public void loadTransferRects() { - transferRects.add(new RecipeTransferRect(new Rectangle(90, 32, 22, 16), "altarrecipes")); - } - - @Override - public String getRecipeName() { - return " " + StatCollector.translateToLocal("tile.bloodAltar.name"); - } - - @Override - public String getGuiTexture() { - return new ResourceLocation("alchemicalwizardry", "gui/nei/altar.png").toString(); - } - - public static Point getMousePosition() { - Dimension size = displaySize(); - Dimension res = displayRes(); - return new Point(Mouse.getX() * size.width / res.width, size.height - Mouse.getY() * size.height / res.height - 1); - } - - public static Dimension displaySize() { - Minecraft mc = Minecraft.getMinecraft(); - ScaledResolution res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); - return new Dimension(res.getScaledWidth(), res.getScaledHeight()); - } - - public static Dimension displayRes() { - Minecraft mc = Minecraft.getMinecraft(); - return new Dimension(mc.displayWidth, mc.displayHeight); - } -} diff --git a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIBloodOrbShapedHandler.java b/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIBloodOrbShapedHandler.java deleted file mode 100644 index fafac295..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIBloodOrbShapedHandler.java +++ /dev/null @@ -1,139 +0,0 @@ -package joshie.alchemicalWizardy.nei; - -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; - -import joshie.alchemicalWizardy.ShapedBloodOrbRecipe; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.CraftingManager; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.util.StatCollector; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.ShapedRecipeHandler; - -/** Extended from the default recipe handler **/ -public class NEIBloodOrbShapedHandler extends ShapedRecipeHandler { - public class CachedBloodOrbRecipe extends CachedShapedRecipe { - public CachedBloodOrbRecipe(int width, int height, Object[] items, ItemStack out) { - super(width, height, items, out); - } - - @Override - public void setIngredients(int width, int height, Object[] items) { - for (int x = 0; x < width; x++) { - for (int y = 0; y < height; y++) { - if (items[y * width + x] == null) - continue; - - Object o = items[y * width + x]; - if (o instanceof ItemStack) { - PositionedStack stack = new PositionedStack(items[y * width + x], 25 + x * 18, 6 + y * 18, false); - stack.setMaxSize(1); - ingredients.add(stack); - } else if (o instanceof Integer) { - ArrayList orbs = new ArrayList(); - for (Item item : NEIConfig.bloodOrbs) { - if (((IBloodOrb) item).getOrbLevel() >= (Integer) o) { - orbs.add(new ItemStack(item)); - } - } - - PositionedStack stack = new PositionedStack(orbs, 25 + x * 18, 6 + y * 18, false); - stack.setMaxSize(1); - ingredients.add(stack); - } - } - } - } - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if (outputId.equals("orbCrafting") && getClass() == NEIBloodOrbShapedHandler.class) { - for (IRecipe irecipe : (List) CraftingManager.getInstance().getRecipeList()) { - if (irecipe instanceof ShapedBloodOrbRecipe) { - CachedBloodOrbRecipe recipe = forgeShapedRecipe((ShapedBloodOrbRecipe) irecipe); - if (recipe == null) - continue; - - recipe.computeVisuals(); - arecipes.add(recipe); - } - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - for (IRecipe irecipe : (List) CraftingManager.getInstance().getRecipeList()) { - if (irecipe instanceof ShapedBloodOrbRecipe) { - CachedBloodOrbRecipe recipe = forgeShapedRecipe((ShapedBloodOrbRecipe) irecipe); - if (recipe == null || !NEIServerUtils.areStacksSameTypeCrafting(recipe.result.item, result)) - continue; - - recipe.computeVisuals(); - arecipes.add(recipe); - } - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - for (IRecipe irecipe : (List) CraftingManager.getInstance().getRecipeList()) { - CachedShapedRecipe recipe = null; - if (irecipe instanceof ShapedBloodOrbRecipe) - recipe = forgeShapedRecipe((ShapedBloodOrbRecipe) irecipe); - - if (recipe == null || !recipe.contains(recipe.ingredients, ingredient.getItem())) - continue; - - recipe.computeVisuals(); - if (recipe.contains(recipe.ingredients, ingredient)) { - recipe.setIngredientPermutation(recipe.ingredients, ingredient); - arecipes.add(recipe); - } - } - } - - private CachedBloodOrbRecipe forgeShapedRecipe(ShapedBloodOrbRecipe recipe) { - int width; - int height; - try { - width = recipe.width; - height = recipe.height; - } catch (Exception e) { - e.printStackTrace(); - return null; - } - - Object[] items = recipe.getInput(); - for (Object item : items) - if (item instanceof List && ((List) item).isEmpty())// ore - // handler, - // no ores - return null; - - return new CachedBloodOrbRecipe(width, height, items, recipe.getRecipeOutput()); - } - - @Override - public void loadTransferRects() { - transferRects.add(new RecipeTransferRect(new Rectangle(84, 23, 24, 18), "orbCrafting")); - } - - @Override - public String getOverlayIdentifier() { - return "orbCrafting"; - } - - @Override - public String getRecipeName() { - return StatCollector.translateToLocal("bm.string.crafting.orb.shaped"); - } -} diff --git a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIBloodOrbShapelessHandler.java b/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIBloodOrbShapelessHandler.java deleted file mode 100644 index a82a6b35..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIBloodOrbShapelessHandler.java +++ /dev/null @@ -1,130 +0,0 @@ -package joshie.alchemicalWizardy.nei; - -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; - -import joshie.alchemicalWizardy.ShapelessBloodOrbRecipe; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.CraftingManager; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraft.util.StatCollector; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.ShapelessRecipeHandler; -import codechicken.nei.recipe.ShapelessRecipeHandler.CachedShapelessRecipe; - -public class NEIBloodOrbShapelessHandler extends ShapelessRecipeHandler { - public class CachedBloodOrbRecipe extends CachedShapelessRecipe { - public CachedBloodOrbRecipe(ArrayList items, ItemStack recipeOutput) { - super(items, recipeOutput); - } - - @Override - public void setIngredients(List items) { - ingredients.clear(); - for (int ingred = 0; ingred < items.size(); ingred++) { - Object o = items.get(ingred); - if (o instanceof ItemStack) { - PositionedStack stack = new PositionedStack(items.get(ingred), 25 + stackorder[ingred][0] * 18, 6 + stackorder[ingred][1] * 18); - stack.setMaxSize(1); - ingredients.add(stack); - } else if (o instanceof Integer) { - ArrayList orbs = new ArrayList(); - for (Item item : NEIConfig.bloodOrbs) { - if (((IBloodOrb) item).getOrbLevel() >= (Integer) o) { - orbs.add(new ItemStack(item)); - } - } - - PositionedStack stack = new PositionedStack(orbs, 25 + stackorder[ingred][0] * 18, 6 + stackorder[ingred][1] * 18); - stack.setMaxSize(1); - ingredients.add(stack); - } - } - } - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if (outputId.equals("orbCrafting") && getClass() == NEIBloodOrbShapelessHandler.class) { - List allrecipes = CraftingManager.getInstance().getRecipeList(); - for (IRecipe irecipe : allrecipes) { - CachedBloodOrbRecipe recipe = null; - if (irecipe instanceof ShapelessBloodOrbRecipe) - recipe = forgeShapelessRecipe((ShapelessBloodOrbRecipe) irecipe); - - if (recipe == null) - continue; - - arecipes.add(recipe); - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - List allrecipes = CraftingManager.getInstance().getRecipeList(); - for (IRecipe irecipe : allrecipes) { - if (NEIServerUtils.areStacksSameTypeCrafting(irecipe.getRecipeOutput(), result)) { - CachedBloodOrbRecipe recipe = null; - if (irecipe instanceof ShapelessBloodOrbRecipe) - recipe = forgeShapelessRecipe((ShapelessBloodOrbRecipe) irecipe); - - if (recipe == null) - continue; - - arecipes.add(recipe); - } - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - List allrecipes = CraftingManager.getInstance().getRecipeList(); - for (IRecipe irecipe : allrecipes) { - CachedBloodOrbRecipe recipe = null; - if (irecipe instanceof ShapelessBloodOrbRecipe) - recipe = forgeShapelessRecipe((ShapelessBloodOrbRecipe) irecipe); - - if (recipe == null) - continue; - - if (recipe.contains(recipe.ingredients, ingredient)) { - recipe.setIngredientPermutation(recipe.ingredients, ingredient); - arecipes.add(recipe); - } - } - } - - public CachedBloodOrbRecipe forgeShapelessRecipe(ShapelessBloodOrbRecipe recipe) { - ArrayList items = recipe.getInput(); - - for (Object item : items) - if (item instanceof List && ((List) item).isEmpty())//ore handler, no ores - return null; - - return new CachedBloodOrbRecipe(items, recipe.getRecipeOutput()); - } - - @Override - public void loadTransferRects() { - transferRects.add(new RecipeTransferRect(new Rectangle(84, 23, 24, 18), "orbCrafting")); - } - - @Override - public String getOverlayIdentifier() { - return "orbCrafting"; - } - - @Override - public String getRecipeName() { - return StatCollector.translateToLocal("bm.string.crafting.orb.shapeless"); - } -} diff --git a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIConfig.java b/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIConfig.java deleted file mode 100644 index 90703207..00000000 --- a/src-backup/main/java/joshie/alchemicalWizardy/nei/NEIConfig.java +++ /dev/null @@ -1,33 +0,0 @@ -package joshie.alchemicalWizardy.nei; - -import java.util.ArrayList; - -import net.minecraft.item.Item; -import codechicken.nei.api.API; -import codechicken.nei.api.IConfigureNEI; - -public class NEIConfig implements IConfigureNEI { - public static ArrayList bloodOrbs = new ArrayList(); - - @Override - public void loadConfig() { - API.registerRecipeHandler(new NEIAlchemyRecipeHandler()); - API.registerUsageHandler(new NEIAlchemyRecipeHandler()); - API.registerRecipeHandler(new NEIAltarRecipeHandler()); - API.registerUsageHandler(new NEIAltarRecipeHandler()); - API.registerRecipeHandler(new NEIBloodOrbShapedHandler()); - API.registerUsageHandler(new NEIBloodOrbShapedHandler()); - API.registerRecipeHandler(new NEIBloodOrbShapelessHandler()); - API.registerUsageHandler(new NEIBloodOrbShapelessHandler()); - } - - @Override - public String getName() { - return "Blood Magic NEI"; - } - - @Override - public String getVersion() { - return "1.2"; - } -} diff --git a/src-backup/main/resources/assets/alchemicalwizardry/altar.png b/src-backup/main/resources/assets/alchemicalwizardry/altar.png deleted file mode 100644 index 6b6ac12e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/altar.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/books/architect.xml b/src-backup/main/resources/assets/alchemicalwizardry/books/architect.xml deleted file mode 100644 index d8bfebc9..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/books/architect.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - The Architect - -My name is Tiberius. I was a kid when the demons came for my village during The Wars. They ransacked the houses and turned the shacks into splinters, wielding fire and water to blast the land asunder. I woke up to some travelling merchants that were passing by, equipping the warriors who were futily trying to drive off the demons that still clawed the village. - -I was brought to a village nearby, where a magician named Magus helped tend to my wounds. The magic that he used was something that I had never seen before – it wasn’t Thaumaturgy, nor Alchemy, and it was definitely not Botany. He winked at me once he saw that my eyes were open, holding his finger to his lips. - - - - - Fast-forward several years, and I have learned almost everything from Master Magus, being his third student ever to master his arts. Against his wishes, I have recorded my research and put several wards and spells on this book. So welcome, apprentice. I am known as The Architect, and I am a Blood Mage. - -It took several years of pestering before I managed to convince Magus to teach me. He kept on telling me that, “Magic that uses the life essence of living beings requires patience and preparation in order to master it. One false move, go a little past your natural endurance, and you may find yourself taking a nice vacation in Tartarus.” The thing was, I wanted to go there – I had some unfinished business with the demons. - - - - - The process that Magus originally constructed required powerful artifacts that he constructed himself, but were rather lacking where teaching was concerned. After studying a bit of alchemy and the process of “Equivalent Exchange,” I managed to construct myself an altar that would transmute items inside of its basin into new powerful forms. The only issue was that it needed a worthy catalyst, and so with a prick of the finger I set the Blood Altar alight! - - - - - The Blood Altar - -To start any form of transmutation involving blood, you would need to construct a blood altar and a sacrificial knife, as well as have a solitary diamond in your possession. After placing the blood altar down, Magus advised me to be careful as I filled it slowly with my blood, and said that I would need to be really close to the altar (about a metre) for the knife to work. With about 2 buckets of blood in the altar, which Master Magus reminds me is about 10 hearts worth, I placed the diamond inside of the altar by activating it with the diamond in hand. - -The blood dissipated in a cloud of red swirls as I waited for the atoms of the diamond to shift and reform. There were a few - - - - - moments where the particles turned gray, which meant that the altar was empty and I had to hurry to fill it. After the diamond burst in a shower of red particles, what finally sat in the altar was a Weak Blood Orb. - - - - - - Blood Altar - - bloodAltar - three - - - - - Sacrificial Knife - - sacrificialKnife - three - - - - - The Soul Network - -One thing that I initially didn’t understand was the overarching connection between the blood orb and myself. When I initially met Magus, I could see many sparkling strands branching off of him, flowing throughout his house and linking with intricate stones and runic drawings. I asked Magus about the strands, but he had no clue what I was talking about. It took three years of thorough research to finally find the answer, and when I brought my notes to him he was really impressed with what I have found. - -When you send power into the orb, the energy is transmitted from the strand connecting the orb and into the very soul of the person the orb is bound to. Similarly, and Magus - - - - - - managed to show this effect with several of his rituals, when you use something that drains energy it will drain the energy directly from the soul. The thing is that if you use an item whose owner has no energy left, the item will instead grab the requisite energy from the user of the item. Directly. From his or her life force. As such, the unit of measurement is called “Life Points,” or LP. I experimented with this, and one heart equals 200 LP. - -I have christened this system to be the “Soul Network,” and is used in all branches of Blood Magic indirectly. - - - - - - Sigils - -Magus is a master at rituals. His power in the intricate layering of stones and inks is unmatched. The problem is that these rituals are rather… static in nature. Sure, being able to summon a meteor is all fine and dandy, but won’t exactly protect you when you are on fire. To this end, I decided to link my soul network to powerful items that I have created. To start, I decided to transmute a piece of smooth stone in the Blood Altar with just 1kLP to create a blank slate. - -The first thing I did was to arrange the blank slate with some reflective glass and my weak blood orb. Pouring my power into the configuration created a Divination Sigil, which I could link to my network and see - - - - - - how much power that my soul network holds. What is more, holding the sigil to the Blood Altar flooded my mind with information, giving me the knowledge about its current tier, capacity, and even how much it was holding. - - Happy with the sigil, I brought a fresh unbound one to Master Magus for him to use. When I took the divination sigil back in my hands and tried to use it to view his network, for some reason I could not gleam any information from him. I don’t really see why this is, considering that I used this same method for other people and I saw that they had no power at all, but to gleam actually … nothing from Magus is strange. - - - - - Divination Sigil - - divinationSigil - three - - - - - - - - - - - \ No newline at end of file diff --git a/src-backup/main/resources/assets/alchemicalwizardry/gui/Teleposer.png b/src-backup/main/resources/assets/alchemicalwizardry/gui/Teleposer.png deleted file mode 100644 index 394b08ad..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/gui/Teleposer.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/gui/WritingTable.png b/src-backup/main/resources/assets/alchemicalwizardry/gui/WritingTable.png deleted file mode 100644 index 18623f3e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/gui/WritingTable.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/gui/bookleft.png b/src-backup/main/resources/assets/alchemicalwizardry/gui/bookleft.png deleted file mode 100644 index 08b462df..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/gui/bookleft.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/gui/nei/alchemy.png b/src-backup/main/resources/assets/alchemicalwizardry/gui/nei/alchemy.png deleted file mode 100644 index 70819322..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/gui/nei/alchemy.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/gui/nei/altar.png b/src-backup/main/resources/assets/alchemicalwizardry/gui/nei/altar.png deleted file mode 100644 index b1de616a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/gui/nei/altar.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/de_DE.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/de_DE.lang deleted file mode 100644 index 52220010..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/de_DE.lang +++ /dev/null @@ -1,181 +0,0 @@ -#Block Localization -tile.bloodAltar.name=Blutaltar -tile.bloodRune.blank.name=Blutrune -tile.bloodRune.fill.name=Rune der Erweiterten Kapazität -tile.bloodRune.empty.name=Rune der Dislokation -tile.bloodRune.test.name=Rune des Gestirns -tile.speedRune.name=Geschwindigkeitsrune -tile.efficiencyRune.name=Effizienzrune -tile.runeOfSacrifice.name=Rune der Opferung -tile.runeOfSelfSacrifice.name=Rune der Selbstopferung -tile.ritualStone.name=Ritualstein -tile.blockMasterStone.name=Meister-Ritualstein -tile.bloodSocket.name=Gefüllte Fassung -tile.imperfectRitualStone.name=Unvollkommener Ritualstein -tile.armourForge.name=Seelrüstungsschmiede -tile.emptySocket.name=Leere Fassung -tile.bloodStoneBrick.name=Blutsteinziegel -tile.largeBloodStoneBrick.name=Große Blutsteinziegel -tile.blockWritingTable.name=Alchemisches Chemieset -tile.blockHomHeart.name=Zaubertisch -tile.bloodPedestal.name=Arkaner Sockel -tile.bloodPlinth.name=Arkane Plinthe -tile.bloodTeleposer.name=Teleposer -tile.blockConduit.name=Zauberleitung -tile.blockSpellParadigm.projectile.name=Partikelgenerator -tile.blockSpellParadigm.self.name=Selbstverbesserer -tile.blockSpellParadigm.melee.name=Nahrkampfaggregator -tile.blockSpellEnhancement.power1.name=Instabile Zaubersteigerung -tile.blockSpellEnhancement.power2.name=Standard-Zaubersteigerung -tile.blockSpellEnhancement.power3.name=Verstärkte Zaubersteigerung -tile.blockSpellEnhancement.power4.name=Erfüllte Zaubersteigerung -tile.blockSpellEnhancement.power5.name=Dämonische Zaubersteigerung -tile.blockSpellEnhancement.cost1.name=Instabiler Zauberdämpfer -tile.blockSpellEnhancement.cost2.name=Standard-Zauberdämpfer -tile.blockSpellEnhancement.cost3.name=Verstärkter Zauberdämpfer -tile.blockSpellEnhancement.cost4.name=Erfüllter Zauberdämpfer -tile.blockSpellEnhancement.cost5.name=Dämonischer Zauberdämpfer -tile.blockSpellEnhancement.potency1.name=Instabiler Zauberverbesserer -tile.blockSpellEnhancement.potency2.name=Standard-Zauberverbesserer -tile.blockSpellEnhancement.potency3.name=Verstärkter Zauberverbesserer -tile.blockSpellEnhancement.potency4.name=Erfüllter Zauberverbesserer -tile.blockSpellEnhancement.potency5.name=Dämonischer Zauberverbesserer -tile.blockSpellModifier.default.name=Standard-Zaubermodifikator -tile.blockSpellModifier.offensive.name=Offensiv-Zaubermodifikator -tile.blockSpellModifier.defensive.name=Defensiv-Zaubermodifikator -tile.blockSpellModifier.environmental.name=Umwelt-Zaubermodifikator -tile.blockSpellEffect.fire.name=Tiegel des Feuers -tile.blockSpellEffect.ice.name=Eismacher -tile.blockSpellEffect.wind.name=Windgenerator -tile.blockSpellEffect.earth.name=Erdformer - -#Item Localization -item.weakBloodOrb.name=Schwacher Blutorb -item.apprenticeBloodOrb.name=Lehrlingsblutorb -item.magicianBloodOrb.name=Blutorb des Magiers -item.masterBloodOrb.name=Blutorb des Meisters -item.archmageBloodOrb.name=Blutorb des Erzmagiers -item.energyBlast.name=Energie-Blaster -item.energySword.name=Gebundene Klinge -item.lavaCrystal.name=Lavakristall -item.waterSigil.name=Wassersiegel -item.lavaSigil.name=Lavasiegel -item.voidSigil.name=Leerensiegel -item.blankSlate.name=Leere Tafel -item.reinforcedSlate.name=Verstärkte Tafel -item.sacrificialDagger.name=Opfermesser -item.daggerOfSacrifice.name=Dolch der Opferung -item.airSigil.name=Luftsiegel -item.sigilOfTheFastMiner.name=Siegel des Schnellen Bergbaus -item.sigilOfElementalAffinity.name=Siegel der Elementaraffinität -item.sigilOfHaste.name=Siegel der Hast -item.sigilOfHolding.name=Siegel des Haltens -item.divinationSigil.name=Wahrheitssiegel -item.waterScribeTool.name=Elementar-Gravurwerkzeug: Wasser -item.fireScribeTool.name=Elementar-Gravurwerkzeug: Feuer -item.earthScribeTool.name=Elementar-Gravurwerkzeug: Erde -item.airScribeTool.name=Elementar-Gravurwerkzeug: Luft -item.duskScribeTool.name=Elementar-Gravurwerkzeug: Dämmerung -item.activationCrystalWeak.name=Schwacher Aktivierungskristall -item.activationCrystalAwakened.name=Erweckter Aktivierungskristall -item.boundPickaxe.name=Gebundene Spitzhacke -item.boundAxe.name=Gebundene Axt -item.boundShovel.name=Gebundene Schaufel -item.boundHelmet.name=Gebundener Helm -item.boundPlate.name=Gebundene Platte -item.boundLeggings.name=Gebundener Beinschutz -item.boundBoots.name=Gebundene Stiefel -item.weakBloodShard.name=Schwache Blutscherbe -item.growthSigil.name=Siegel des Grünen Hains -item.blankSpell.name=Ungebundener Kristall -item.alchemyFlask.name=Trankfläschchen -item.standardBindingAgent.name=Standard-Bindemittel -item.mundanePowerCatalyst.name=Gewöhnlicher Energiekatalysator -item.averagePowerCatalyst.name=Durschschnittlicher Energiekatalysator -item.greaterPowerCatalyst.name=Besserer Energiekatalysator -item.mundaneLengtheningCatalyst.name=Gewöhnlicher Verlängerungskatalysator -item.averageLengtheningCatalyst.name=Durschschnittlicher Verlängerungskatalysator -item.greaterLengtheningCatalyst.name=Besserer Verlängerungskatalysator -item.incendium.name=Incendium -item.magicales.name=Magicales -item.sanctus.name=Sanctus -item.aether.name=Aether -item.simpleCatalyst.name=Einfacher Katalysator -item.crepitous.name=Crepitous -item.crystallos.name=Crystallos -item.terrae.name=Terrae -item.aquasalus.name=Aquasalus -item.tennebrae.name=Tenebrae -item.demonBloodShard.name=Dämonenblutscherbe -item.sigilOfWind.name=Siegel des Wirbelwindes -item.telepositionFocus.name=Telepositionsfokus -item.enhancedTelepositionFocus.name=Verbesserter Telepositionsfokus -item.reinforcedTelepositionFocus.name=Verstärkter Telepositionsfokus -item.demonicTelepositionFocus.name=Dämonischer Telepositionsfokus -item.imbuedSlate.name=Erfüllte Tafel -item.demonicSlate.name=Dämonische Tafel -item.sigilOfTheBridge.name=Siegel der Phantombrücke -item.armourInhibitor.name=Rüstungshemmer -item.cheatyItem.name=Orb des Testens -item.weakFillingAgent.name=Schwaches Füllmittel -item.standardFillingAgent.name=Standard-Füllmittel -item.enhancedFillingAgent.name=Verbessertes Füllmittel -item.weakBindingAgent.name=Schwaches Bindemittel -item.ritualDiviner.name=Ritualrute -item.sigilOfMagnetism.name=Siegel des Magnetismus -item.itemDiabloKey.name=Schlüssel der Bindung -item.energyBazooka.name=Energie-Bazooka -item.bloodLightSigil.name=Siegel der Blutlampe -item.itemComplexSpellCrystal.name=Komplexer Zauberkristall -item.itemSigilOfSupression.name=Siegel der Unterdrückung -item.itemSigilOfEnderSeverance.name=Siegel des Endertrennens -item.bucketLive.name=Lebenseimer -item.bloodMagicBaseItem.quartzRod.name=Quarzstab -item.bloodMagicBaseItem.EmptyCore.name=Leerer Kern -item.bloodMagicBaseItem.MagicalesCable.name=Magicales-Kabel -item.bloodMagicBaseItem.WoodBrace.name=Hölzerne Klammer -item.bloodMagicBaseItem.StoneBrace.name=Steinklammer -item.bloodMagicBaseItem.ProjectileCore.name=Projektilkern -item.bloodMagicBaseItem.SelfCore.name=Selbstkern -item.bloodMagicBaseItem.MeleeCore.name=Nahkampfkern -item.bloodMagicBaseItem.ParadigmBackPlate.name=Paradigmaplatte -item.bloodMagicBaseItem.OutputCable.name=Ausgangszauberkabel -item.bloodMagicBaseItem.InputCable.name=Eingangszauberkabel -item.bloodMagicBaseItem.FlameCore.name=Feuriger Kern -item.bloodMagicBaseItem.IcyCore.name=Eisiger Kern -item.bloodMagicBaseItem.GustCore.name=Windiger Kern -item.bloodMagicBaseItem.EarthenCore.name=Irdener Kern -item.bloodMagicBaseItem.CrackedRunicPlate.name=Brüchige Runenplatte -item.bloodMagicBaseItem.RunicPlate.name=Runenplatte -item.bloodMagicBaseItem.ScribedRunicPlate.name=Erfüllte Runenplatte -item.bloodMagicBaseItem.DefaultCore.name=Unbestimmter Kern -item.bloodMagicBaseItem.OffensiveCore.name=Offensivkern -item.bloodMagicBaseItem.DefensiveCore.name=Defensivkern -item.bloodMagicBaseItem.EnvironmentalCore.name=Umweltkern -item.bloodMagicBaseItem.PowerCore.name=Energiekern -item.bloodMagicBaseItem.CostCore.name=Reduktionskern -item.bloodMagicBaseItem.PotencyCore.name=Machtkern -item.bloodMagicBaseItem.ObsidianBrace.name=Obsidianklammer -item.bloodMagicAlchemyItem.Offensa.name=Offensa -item.bloodMagicAlchemyItem.Praesidium.name=Praesidium -item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Gestärkter Katalysator -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Konzentierter Katalysator -item.bloodMagicAlchemyItem.FracturedBone.name=Gebrochener Knochen -item.bloodMagicAlchemyItem.Virtus.name=Virtus -item.bloodMagicAlchemyItem.Reductus.name=Reductus -item.bloodMagicAlchemyItem.Potentia.name=Potentia -item.sanguineHelmet.name=Bluthelm -item.itemSeerSigil.name=Siegel der Sicht -item.itemFluidSigil.name= - - -#Creative Tab -itemGroup.tabBloodMagic=Blood Magic - -#Extra Strings -bm.string.consume=Verbrauch -bm.string.drain=Entzug -bm.string.tier=Stufe -bm.string.crafting.orb.shaped=Geformte Orb-Fertigung -bm.string.crafting.orb.shapeless=Formfreie Orb-Fertigung diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/en_US.lang deleted file mode 100644 index f8b7f85e..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ /dev/null @@ -1,194 +0,0 @@ -#Block Localization -tile.bloodAltar.name=Blood Altar -tile.bloodRune.blank.name=Blood Rune -tile.bloodRune.fill.name=Rune of Augmented Capacity -tile.bloodRune.empty.name=Rune of Dislocation -tile.bloodRune.orb.name=Rune of the Orb -tile.bloodRune.betterCapacity.name=Rune of Superior Capacity -tile.speedRune.name=Speed Rune -tile.efficiencyRune.name=Efficiency Rune -tile.runeOfSacrifice.name=Rune of Sacrifice -tile.runeOfSelfSacrifice.name=Rune of Self-Sacrifice -tile.ritualStone.name=Ritual Stone -tile.blockMasterStone.name=Master Ritual Stone -tile.bloodSocket.name=Filled Socket -tile.imperfectRitualStone.name=Imperfect Ritual Stone -tile.armourForge.name=Soul Armour Forge -tile.emptySocket.name=Empty Socket -tile.bloodStoneBrick.name=Bloodstone Brick -tile.largeBloodStoneBrick.name=Large Bloodstone Brick -tile.blockWritingTable.name=Alchemic Chemistry Set -tile.blockHomHeart.name=Spell Table -tile.bloodPedestal.name=Arcane Pedestal -tile.bloodPlinth.name=Arcane Plinth -tile.bloodTeleposer.name=Teleposer -tile.blockConduit.name=Spell Conduit -tile.blockSpellParadigm.projectile.name=Particle Generator -tile.blockSpellParadigm.self.name=Self Augmentator -tile.blockSpellParadigm.melee.name=Melee Aggregator -tile.blockSpellParadigm.tool.name=Tool Forger -tile.blockSpellEnhancement.power1.name=Unstable Spell Empowerer -tile.blockSpellEnhancement.power2.name=Standard Spell Empowerer -tile.blockSpellEnhancement.power3.name=Reinforced Spell Empowerer -tile.blockSpellEnhancement.power4.name=Imbued Spell Empowerer -tile.blockSpellEnhancement.power5.name=Demonic Spell Empowerer -tile.blockSpellEnhancement.cost1.name=Unstable Spell Dampener -tile.blockSpellEnhancement.cost2.name=Standard Spell Dampener -tile.blockSpellEnhancement.cost3.name=Reinforced Spell Dampener -tile.blockSpellEnhancement.cost4.name=Imbued Spell Dampener -tile.blockSpellEnhancement.cost5.name=Demonic Spell Dampener -tile.blockSpellEnhancement.potency1.name=Unstable Spell Augmentor -tile.blockSpellEnhancement.potency2.name=Standard Spell Augmentor -tile.blockSpellEnhancement.potency3.name=Reinforced Spell Augmentor -tile.blockSpellEnhancement.potency4.name=Imbued Spell Augmentor -tile.blockSpellEnhancement.potency5.name=Demonic Spell Augmentor -tile.blockSpellModifier.default.name=Default Spell Modifier -tile.blockSpellModifier.offensive.name=Offensive Spell Modifier -tile.blockSpellModifier.defensive.name=Defensive Spell Modifier -tile.blockSpellModifier.environmental.name=Environmental Spell Modifier -tile.blockSpellEffect.fire.name=Crucible of Fire -tile.blockSpellEffect.ice.name=Ice Maker -tile.blockSpellEffect.wind.name=Wind Generator -tile.blockSpellEffect.earth.name=Earth Former -tile.alchemicCalcinator.name=Alchemic Calcinator -tile.crystalBelljar.name=Crystal Belljar -tile.blockReagentConduit.name=Alchemy Relay - -#Item Localization -item.weakBloodOrb.name=Weak Blood Orb -item.apprenticeBloodOrb.name=Apprentice Blood Orb -item.magicianBloodOrb.name=Magician's Blood Orb -item.masterBloodOrb.name=Master Blood Orb -item.archmageBloodOrb.name=Archmage's Blood Orb -item.energyBlast.name=Energy Blaster -item.energySword.name=Bound Blade -item.lavaCrystal.name=Lava Crystal -item.waterSigil.name=Water Sigil -item.lavaSigil.name=Lava Sigil -item.voidSigil.name=Void Sigil -item.blankSlate.name=Blank Slate -item.reinforcedSlate.name=Reinforced Slate -item.sacrificialDagger.name=Sacrificial Knife -item.daggerOfSacrifice.name=Dagger of Sacrifice -item.airSigil.name=Air Sigil -item.sigilOfTheFastMiner.name=Sigil of the Fast Miner -item.sigilOfElementalAffinity.name=Sigil of Elemental Affinity -item.sigilOfHaste.name=Sigil of Haste -item.sigilOfHolding.name=Sigil of Holding -item.divinationSigil.name=Divination Sigil -item.waterScribeTool.name=Elemental Inscription Tool: Water -item.fireScribeTool.name=Elemental Inscription Tool: Fire -item.earthScribeTool.name=Elemental Inscription Tool: Earth -item.airScribeTool.name=Elemental Inscription Tool: Air -item.duskScribeTool.name=Elemental Inscription Tool: Dusk -item.activationCrystalWeak.name=Weak Activation Crystal -item.activationCrystalAwakened.name=Awakened Activation Crystal -item.boundPickaxe.name=Bound Pickaxe -item.boundAxe.name=Bound Axe -item.boundShovel.name=Bound Shovel -item.boundHelmet.name=Bound Helmet -item.boundPlate.name=Bound Plate -item.boundLeggings.name=Bound Leggings -item.boundBoots.name=Bound Boots -item.weakBloodShard.name=Weak Blood Shard -item.growthSigil.name=Sigil of the Green Grove -item.blankSpell.name=Unbound Crystal -item.alchemyFlask.name=Potion Flask -item.standardBindingAgent.name=Standard Binding Agent -item.mundanePowerCatalyst.name=Mundane Power Catalyst -item.averagePowerCatalyst.name=Average Power Catalyst -item.greaterPowerCatalyst.name=Greater Power Catalyst -item.mundaneLengtheningCatalyst.name=Mundane Lengthening Catalyst -item.averageLengtheningCatalyst.name=Average Lengthening Catalyst -item.greaterLengtheningCatalyst.name=Greater Lengthening Catalyst -item.incendium.name=Incendium -item.magicales.name=Magicales -item.sanctus.name=Sanctus -item.aether.name=Aether -item.simpleCatalyst.name=Simple Catalyst -item.crepitous.name=Crepitous -item.crystallos.name=Crystallos -item.terrae.name=Terrae -item.aquasalus.name=Aquasalus -item.tennebrae.name=Tenebrae -item.demonBloodShard.name=Demon Blood Shard -item.sigilOfWind.name=Sigil of the Whirlwind -item.telepositionFocus.name=Teleposition Focus -item.enhancedTelepositionFocus.name=Enhanced Teleposition Focus -item.reinforcedTelepositionFocus.name=Reinforced Teleposition Focus -item.demonicTelepositionFocus.name=Demonic Teleposition Focus -item.imbuedSlate.name=Imbued Slate -item.demonicSlate.name=Demonic Slate -item.sigilOfTheBridge.name=Sigil of the Phantom Bridge -item.armourInhibitor.name=Armour Inhibitor -item.cheatyItem.name=Orb of Testing -item.weakFillingAgent.name=Weak Filling Agent -item.standardFillingAgent.name=Standard Filling Agent -item.enhancedFillingAgent.name=Enhanced Filling Agent -item.weakBindingAgent.name=Weak Binding Agent -item.ritualDiviner.name=Ritual Diviner -item.sigilOfMagnetism.name=Sigil of Magnetism -item.itemDiabloKey.name=Key of Binding -item.energyBazooka.name=Energy Bazooka -item.bloodLightSigil.name=Sigil of the Blood Lamp -item.itemComplexSpellCrystal.name=Complex Spell Crystal -item.itemSigilOfSupression.name=Sigil of Supression -item.itemSigilOfEnderSeverance.name=Sigil of Ender Severance -item.bucketLife.name=Bucket of Life -item.bloodMagicBaseItem.QuartzRod.name=Quartz Rod -item.bloodMagicBaseItem.EmptyCore.name=Empty Core -item.bloodMagicBaseItem.MagicalesCable.name=Magicales Cable -item.bloodMagicBaseItem.WoodBrace.name=Wooden Brace -item.bloodMagicBaseItem.StoneBrace.name=Stone Brace -item.bloodMagicBaseItem.ProjectileCore.name=Projectile Core -item.bloodMagicBaseItem.SelfCore.name=Self Core -item.bloodMagicBaseItem.MeleeCore.name=Melee Core -item.bloodMagicBaseItem.ToolCore.name=Tool Core -item.bloodMagicBaseItem.ParadigmBackPlate.name=Paradigm Plate -item.bloodMagicBaseItem.OutputCable.name=Output Spell Cable -item.bloodMagicBaseItem.InputCable.name=Input Spell Cable -item.bloodMagicBaseItem.FlameCore.name=Fire Core -item.bloodMagicBaseItem.IcyCore.name=Icy Core -item.bloodMagicBaseItem.GustCore.name=Gusty Core -item.bloodMagicBaseItem.EarthenCore.name=Earthen Core -item.bloodMagicBaseItem.CrackedRunicPlate.name=Cracked Runic Plate -item.bloodMagicBaseItem.RunicPlate.name=Runic Plate -item.bloodMagicBaseItem.ScribedRunicPlate.name=Imbued Runic Plate -item.bloodMagicBaseItem.DefaultCore.name=Unattuned Core -item.bloodMagicBaseItem.OffensiveCore.name=Offensive Core -item.bloodMagicBaseItem.DefensiveCore.name=Defensive Core -item.bloodMagicBaseItem.EnvironmentalCore.name=Environmental Core -item.bloodMagicBaseItem.PowerCore.name=Power Core -item.bloodMagicBaseItem.CostCore.name=Reduction Core -item.bloodMagicBaseItem.PotencyCore.name=Potency Core -item.bloodMagicBaseItem.ObsidianBrace.name=Obsidian Brace -item.bloodMagicAlchemyItem.Offensa.name=Offensa -item.bloodMagicAlchemyItem.Praesidium.name=Praesidium -item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Strengthened Catalyst -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Concentrated Catalyst -item.bloodMagicAlchemyItem.FracturedBone.name=Fractured Bone -item.bloodMagicAlchemyItem.Virtus.name=Virtus -item.bloodMagicAlchemyItem.Reductus.name=Reductus -item.bloodMagicAlchemyItem.Potentia.name=Potentia -item.sanguineHelmet.name=Sanguine Helmet -item.itemSeerSigil.name=Sigil of Sight -item.itemFluidSigil.name= -item.multiTool.name=Dynamic Mace -item.itemCombinationalCatalyst.name=Combinational Catalyst -item.sanguineRobe.name=Sanguine Robes -item.sanguinePants.name=Sanguine Leggings -item.sanguineBoots.name=Sanguine Boots -item.itemAttunedCrystal.name=Alchemic Router -item.itemTankSegmenter.name=Alchemic Segmenter -item.destinationClearer.name=Alchemic Cleanser - -#Creative Tab -itemGroup.tabBloodMagic=Blood Magic - -#Extra Strings -bm.string.consume=Usage -bm.string.drain=Drain -bm.string.tier=Tier -bm.string.crafting.orb.shaped=Shaped Orb Crafting -bm.string.crafting.orb.shapeless=Shapeless Orb Crafting diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/it_IT.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/it_IT.lang deleted file mode 100644 index 265b4275..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/it_IT.lang +++ /dev/null @@ -1,181 +0,0 @@ -#Block Localization -tile.bloodAltar.name=Altare del Sangue -tile.bloodRune.blank.name=Runa del Sangue -tile.bloodRune.fill.name=Runa di Capacit Aumentata -tile.bloodRune.empty.name=Runa di Dislocazione -tile.bloodRune.test.name=Runa del Globo -tile.speedRune.name=Runa di Velocit -tile.efficiencyRune.name=Runa di Efficienza -tile.runeOfSacrifice.name=Runa del Sacrificio -tile.runeOfSelfSacrifice.name=Runa di Auto-Sacrificio -tile.ritualStone.name=Pietra del Rituale -tile.blockMasterStone.name=Pietra Maestra del Rituale -tile.bloodSocket.name=Cavit Piena -tile.imperfectRitualStone.name=Pietra del Rituale Imperfetta -tile.armourForge.name=Forgia delle Armature dell'Anima -tile.emptySocket.name=Cavit Vuota -tile.bloodStoneBrick.name=Mattone di Pietra del Sangue -tile.largeBloodStoneBrick.name=Gran Mattone di Pietra del Sangue -tile.blockWritingTable.name=Set da Alchimista -tile.blockHomHeart.name=Tavolo della Magia -tile.bloodPedestal.name=Piedistallo Arcano -tile.bloodPlinth.name=Basamento Arcano -tile.bloodTeleposer.name=Teleposer -tile.blockConduit.name=Condotto di Magia -tile.blockSpellParadigm.projectile.name=Generatore di Particelle -tile.blockSpellParadigm.self.name=Auto-Miglioratore -tile.blockSpellParadigm.melee.name=Aggregatore di Mischia -tile.blockSpellEnhancement.power1.name=Potenziatore Instabile di Magia -tile.blockSpellEnhancement.power2.name=Potenziatore Standard di Magia -tile.blockSpellEnhancement.power3.name=Potenziatore Rinforzato di Magia -tile.blockSpellEnhancement.power4.name=Potenziatore Invaso di Magia -tile.blockSpellEnhancement.power5.name=Potenziatore Demoniaco di Magia -tile.blockSpellEnhancement.cost1.name=Smorzatore Instabile di Magia -tile.blockSpellEnhancement.cost2.name=Smorzatore Standard di Magia -tile.blockSpellEnhancement.cost3.name=Smorzatore Rinforzato di Magia -tile.blockSpellEnhancement.cost4.name=Smorzatore Invaso di Magia -tile.blockSpellEnhancement.cost5.name=Smorzatore Demoniaco di Magia -tile.blockSpellEnhancement.potency1.name=Miglioratore Instabile di Magia -tile.blockSpellEnhancement.potency2.name=Miglioratore Standard di Magia -tile.blockSpellEnhancement.potency3.name=Miglioratore Rinforzato di Magia -tile.blockSpellEnhancement.potency4.name=Miglioratore Invaso di Magia -tile.blockSpellEnhancement.potency5.name=Miglioratore Demoniaco di Magia -tile.blockSpellModifier.default.name=Modificatore di Magia -tile.blockSpellModifier.offensive.name=Modificatore di Magia Offensiva -tile.blockSpellModifier.defensive.name=Modificatore di Magia Difensiva -tile.blockSpellModifier.environmental.name=Modificatore di Magia Ambientale -tile.blockSpellEffect.fire.name=Crogiolo del Fuoco -tile.blockSpellEffect.ice.name=Creatore di Ghiaccio -tile.blockSpellEffect.wind.name=Generatore del Vento -tile.blockSpellEffect.earth.name=Formatore della Terra - -#Item Localization -item.weakBloodOrb.name=Globo di Sangue Debole -item.apprenticeBloodOrb.name=Globo di Sangue dell'Apprendista -item.magicianBloodOrb.name=Globo di Sangue del Mago -item.masterBloodOrb.name=Globo di Sangue del Maestro -item.archmageBloodOrb.name=Globo di Sangue dell'Arcimago -item.energyBlast.name=Blaster Energetico -item.energySword.name=Lama Legata -item.lavaCrystal.name=Cristallo Lavico -item.waterSigil.name=Sigillo dell'Acqua -item.lavaSigil.name=Sigillo di Lava -item.voidSigil.name=Sigillo del Vuoto -item.blankSlate.name=Ardesia Bianca -item.reinforcedSlate.name=Ardesia Rinforzata -item.sacrificialDagger.name=Pugnale Sacrificale -item.daggerOfSacrifice.name=Daga Sacrificale -item.airSigil.name=Sigillo dell'Aria -item.sigilOfTheFastMiner.name=Sigillo del Rapido Minatore -item.sigilOfElementalAffinity.name=Sigillo di Affinit Elementale -item.sigilOfHaste.name=Sigillo di Rapidit -item.sigilOfHolding.name=Sigillo della Tenacia Egoista -item.divinationSigil.name=Sigillo di Divinatione -item.waterScribeTool.name=Utensile d'Iscrizione Elementale: Acqua -item.fireScribeTool.name=Utensile d'Iscrizione Elementale: Fuoco -item.earthScribeTool.name=Utensile d'Iscrizione Elementale: Terra -item.airScribeTool.name=Utensile d'Iscrizione Elementale: Aria -item.duskScribeTool.name=Utensile d'Iscrizione Elementale: Crepuscolo -item.activationCrystalWeak.name=Cristallo d'Attivazione Debole -item.activationCrystalAwakened.name=Cristallo d'Attivazione Risvegliato -item.boundPickaxe.name=Piccone Vincolato -item.boundAxe.name=Ascia Vincolata -item.boundShovel.name=Vanga Vincolata -item.boundHelmet.name=Elmo Vincolato -item.boundPlate.name=Piastra Vincolata -item.boundLeggings.name=Gambali Vincolati -item.boundBoots.name=Stivali Vincolati -item.weakBloodShard.name=Scheggia di Sangue Debole -item.growthSigil.name=Sigillo del Verde Bosco -item.blankSpell.name=Cristallo non Vincolato -item.alchemyFlask.name=Boccetta per Pozione -item.standardBindingAgent.name=Agente Vincolante Standard -item.mundanePowerCatalyst.name=Catalizzatore Comune di Potere -item.averagePowerCatalyst.name=Catalizzatore Medio di Potere -item.greaterPowerCatalyst.name=Catalizzatore Maggiore di Potere -item.mundaneLengtheningCatalyst.name=Catalizzatore Procastinante Comune -item.averageLengtheningCatalyst.name=Catalizzatore Procastinante Medio -item.greaterLengtheningCatalyst.name=Catalizzatore Procastinante Maggiore -item.incendium.name=Incendium -item.magicales.name=Magicales -item.sanctus.name=Sanctus -item.aether.name=Etere -item.simpleCatalyst.name=Catalizzatore Semplice -item.crepitous.name=Crepitous -item.crystallos.name=Crystallos -item.terrae.name=Terrae -item.aquasalus.name=Aquasalus -item.tennebrae.name=Tenebrae -item.demonBloodShard.name=Scheggia di Sangue di Demone -item.sigilOfWind.name=Sigillo del Vortice -item.telepositionFocus.name=Focus di Teleposizione -item.enhancedTelepositionFocus.name=Focus Migliorato di Teleposizione -item.reinforcedTelepositionFocus.name=Focus Rinforzato di Teleposizione -item.demonicTelepositionFocus.name=Focus Demoniaco di Teleposizione -item.imbuedSlate.name=Piastra Invasa -item.demonicSlate.name=Piastra Demoniaca -item.sigilOfTheBridge.name=Sigillo del POnte Spettrale -item.armourInhibitor.name=Inibitore di Armatura -item.cheatyItem.name=Globo di Prova -item.weakFillingAgent.name=Agente Riempiente Debole -item.standardFillingAgent.name=Agente Riempiente Standard -item.enhancedFillingAgent.name=Agente Riempiente Potenziato -item.weakBindingAgent.name=Agente Vincolante Debole -item.ritualDiviner.name=Divinatore del Rituale -item.sigilOfMagnetism.name=Sigillo del Magnetismo -item.itemDiabloKey.name=Chiave del Vincolo -item.energyBazooka.name=Cannone Energetico -item.bloodLightSigil.name=Sigillo della Torcia di Sangue -item.itemComplexSpellCrystal.name=Cristallo Magico Complesso -item.itemSigilOfSupression.name=Sigillo di Soppressione -item.itemSigilOfEnderSeverance.name=Sigillo di Disgiunzione Ender -item.bucketLive.name=Secchio di Vita -item.bloodMagicBaseItem.QuartzRod.name=Verga di Quarzo -item.bloodMagicBaseItem.EmptyCore.name=Nucleo Vuoto -item.bloodMagicBaseItem.MagicalesCable.name=Connessione Magicales -item.bloodMagicBaseItem.WoodBrace.name=Pilastro di Legno -item.bloodMagicBaseItem.StoneBrace.name=Pilastro di Pietra -item.bloodMagicBaseItem.ProjectileCore.name=Nucleo Proiettile -item.bloodMagicBaseItem.SelfCore.name=Auto-Nucleo -item.bloodMagicBaseItem.MeleeCore.name=Nucleo di Mischia -item.bloodMagicBaseItem.ParadigmBackPlate.name=Piastra Modello -item.bloodMagicBaseItem.OutputCable.name=Connessione in Uscita di Magia -item.bloodMagicBaseItem.InputCable.name=Connessione in Entrata di Magia -item.bloodMagicBaseItem.FlameCore.name=Nucleo Infuocato -item.bloodMagicBaseItem.IcyCore.name=Nucleo Ghiacciato -item.bloodMagicBaseItem.GustCore.name=Nucleo Ventoso -item.bloodMagicBaseItem.EarthenCore.name=Nucleo Terroso -item.bloodMagicBaseItem.CrackedRunicPlate.name=Piastra Runica Incrinata -item.bloodMagicBaseItem.RunicPlate.name=Piastra Runica -item.bloodMagicBaseItem.ScribedRunicPlate.name=Piastra Runica Invasa -item.bloodMagicBaseItem.DefaultCore.name=Nucleo Disarmonico -item.bloodMagicBaseItem.OffensiveCore.name=Nucleo Offensivo -item.bloodMagicBaseItem.DefensiveCore.name=Nucleo Difensivo -item.bloodMagicBaseItem.EnvironmentalCore.name=Nucleo Ambientale -item.bloodMagicBaseItem.PowerCore.name=Nucleo di Forza -item.bloodMagicBaseItem.CostCore.name=Nucleo di Riduzione -item.bloodMagicBaseItem.PotencyCore.name=Nucleo di Potenza -item.bloodMagicBaseItem.ObsidianBrace.name=Pilastro di Ossidiana -item.bloodMagicAlchemyItem.Offensa.name=Offensa -item.bloodMagicAlchemyItem.Praesidium.name=Praesidium -item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Catalizzatore Rafforzato -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Catalizzatore Concentrato -item.bloodMagicAlchemyItem.FracturedBone.name=Osso Fratturato -item.bloodMagicAlchemyItem.Virtus.name=Virtus -item.bloodMagicAlchemyItem.Reductus.name=Reductus -item.bloodMagicAlchemyItem.Potentia.name=Potentia -item.sanguineHelmet.name=Elmo Sanguigno -item.itemSeerSigil.name=Sigillo della Veduta -item.itemFluidSigil.name= - - -#Creative Tab -itemGroup.tabBloodMagic=Magia del Sangue - -#Extra Strings -bm.string.consume=Utilizzo -bm.string.drain=Drenaggio -bm.string.tier=Livello -bm.string.crafting.orb.shaped=Creazione di un Glodo Formato -bm.string.crafting.orb.shapeless=Creazione di un Globo Informe \ No newline at end of file diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/ko_KR.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/ko_KR.lang deleted file mode 100644 index 7daaacae..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/ko_KR.lang +++ /dev/null @@ -1,194 +0,0 @@ -#Block Localization -tile.bloodAltar.name=피의 제단 -tile.bloodRune.blank.name=피의 룬 -tile.bloodRune.fill.name=저장량증가의 룬 -tile.bloodRune.empty.name=흡수의 룬 -tile.bloodRune.orb.name=보주의 룬 -tile.bloodRune.betterCapacity.name=Rune of Superior Capacity -tile.speedRune.name=속도의 룬 -tile.efficiencyRune.name=효율의 룬 -tile.runeOfSacrifice.name=희생의 룬 -tile.runeOfSelfSacrifice.name=자기희생의 룬 -tile.ritualStone.name=의식의 돌 -tile.blockMasterStone.name=의식의돌 제어 -tile.bloodSocket.name=Filled Socket -tile.imperfectRitualStone.name=Imperfect Ritual Stone -tile.armourForge.name=Soul Armour Forge -tile.emptySocket.name=빈 소켓 -tile.bloodStoneBrick.name=Bloodstone Brick -tile.largeBloodStoneBrick.name=큰 선혈석재벽돌 -tile.blockWritingTable.name=Alchemic Chemistry Set -tile.blockHomHeart.name=Spell Table -tile.bloodPedestal.name=Arcane Pedestal -tile.bloodPlinth.name=Arcane Plinth -tile.bloodTeleposer.name=Teleposer -tile.blockConduit.name=Spell Conduit -tile.blockSpellParadigm.projectile.name=Particle Generator -tile.blockSpellParadigm.self.name=Self Augmentator -tile.blockSpellParadigm.melee.name=Melee Aggregator -tile.blockSpellParadigm.tool.name=Tool Forger -tile.blockSpellEnhancement.power1.name=Unstable Spell Empowerer -tile.blockSpellEnhancement.power2.name=Standard Spell Empowerer -tile.blockSpellEnhancement.power3.name=Reinforced Spell Empowerer -tile.blockSpellEnhancement.power4.name=Imbued Spell Empowerer -tile.blockSpellEnhancement.power5.name=Demonic Spell Empowerer -tile.blockSpellEnhancement.cost1.name=Unstable Spell Dampener -tile.blockSpellEnhancement.cost2.name=Standard Spell Dampener -tile.blockSpellEnhancement.cost3.name=Reinforced Spell Dampener -tile.blockSpellEnhancement.cost4.name=Imbued Spell Dampener -tile.blockSpellEnhancement.cost5.name=Demonic Spell Dampener -tile.blockSpellEnhancement.potency1.name=Unstable Spell Augmentor -tile.blockSpellEnhancement.potency2.name=Standard Spell Augmentor -tile.blockSpellEnhancement.potency3.name=Reinforced Spell Augmentor -tile.blockSpellEnhancement.potency4.name=Imbued Spell Augmentor -tile.blockSpellEnhancement.potency5.name=Demonic Spell Augmentor -tile.blockSpellModifier.default.name=Default Spell Modifier -tile.blockSpellModifier.offensive.name=Offensive Spell Modifier -tile.blockSpellModifier.defensive.name=Defensive Spell Modifier -tile.blockSpellModifier.environmental.name=Environmental Spell Modifier -tile.blockSpellEffect.fire.name=Crucible of Fire -tile.blockSpellEffect.ice.name=Ice Maker -tile.blockSpellEffect.wind.name=Wind Generator -tile.blockSpellEffect.earth.name=Earth Former -tile.alchemicCalcinator.name=Alchemic Calcinator -tile.crystalBelljar.name=Crystal Belljar -tile.blockReagentConduit.name=Alchemy Relay - -#Item Localization -item.weakBloodOrb.name=약한 선혈의 보주 -item.apprenticeBloodOrb.name=견습 선혈의 보주 -item.magicianBloodOrb.name=마법사의 선혈보주 -item.masterBloodOrb.name=마스터 선혈의 보주 -item.archmageBloodOrb.name=아크메이지의 선혈보주 -item.energyBlast.name=Energy Blaster -item.energySword.name=Bound Blade -item.lavaCrystal.name=용암수정 -item.waterSigil.name=물의 부적 -item.lavaSigil.name=용암의 부적 -item.voidSigil.name=공허의 부적 -item.blankSlate.name=빈 판 -item.reinforcedSlate.name=보강된 판 -item.sacrificialDagger.name=희생의 검 -item.daggerOfSacrifice.name=희생의 단검 -item.airSigil.name=바람의 부적 -item.sigilOfTheFastMiner.name=쾌속의광부 부적 -item.sigilOfElementalAffinity.name=원소친화의 부적 -item.sigilOfHaste.name=Sigil of Haste -item.sigilOfHolding.name=보관의 부적 -item.divinationSigil.name=점술의 시질 -item.waterScribeTool.name=Elemental Inscription Tool: Water -item.fireScribeTool.name=Elemental Inscription Tool: Fire -item.earthScribeTool.name=Elemental Inscription Tool: Earth -item.airScribeTool.name=Elemental Inscription Tool: Air -item.duskScribeTool.name=Elemental Inscription Tool: Dusk -item.activationCrystalWeak.name=Weak Activation Crystal -item.activationCrystalAwakened.name=Awakened Activation Crystal -item.boundPickaxe.name=Bound Pickaxe -item.boundAxe.name=Bound Axe -item.boundShovel.name=Bound Shovel -item.boundHelmet.name=Bound Helmet -item.boundPlate.name=Bound Plate -item.boundLeggings.name=Bound Leggings -item.boundBoots.name=Bound Boots -item.weakBloodShard.name=Weak Blood Shard -item.growthSigil.name=수풀의 부적 -item.blankSpell.name=Unbound Crystal -item.alchemyFlask.name=Potion Flask -item.standardBindingAgent.name=Standard Binding Agent -item.mundanePowerCatalyst.name=Mundane Power Catalyst -item.averagePowerCatalyst.name=Average Power Catalyst -item.greaterPowerCatalyst.name=Greater Power Catalyst -item.mundaneLengtheningCatalyst.name=Mundane Lengthening Catalyst -item.averageLengtheningCatalyst.name=Average Lengthening Catalyst -item.greaterLengtheningCatalyst.name=Greater Lengthening Catalyst -item.incendium.name=Incendium -item.magicales.name=Magicales -item.sanctus.name=Sanctus -item.aether.name=Aether -item.simpleCatalyst.name=Simple Catalyst -item.crepitous.name=Crepitous -item.crystallos.name=Crystallos -item.terrae.name=Terrae -item.aquasalus.name=Aquasalus -item.tennebrae.name=Tenebrae -item.demonBloodShard.name=Demon Blood Shard -item.sigilOfWind.name=Sigil of the Whirlwind -item.telepositionFocus.name=Teleposition Focus -item.enhancedTelepositionFocus.name=Enhanced Teleposition Focus -item.reinforcedTelepositionFocus.name=Reinforced Teleposition Focus -item.demonicTelepositionFocus.name=Demonic Teleposition Focus -item.imbuedSlate.name=Imbued Slate -item.demonicSlate.name=Demonic Slate -item.sigilOfTheBridge.name=영각의 부적 -item.armourInhibitor.name=Armour Inhibitor -item.cheatyItem.name=Orb of Testing -item.weakFillingAgent.name=Weak Filling Agent -item.standardFillingAgent.name=Standard Filling Agent -item.enhancedFillingAgent.name=Enhanced Filling Agent -item.weakBindingAgent.name=Weak Binding Agent -item.ritualDiviner.name=Ritual Diviner -item.sigilOfMagnetism.name=자기력 부적 -item.itemDiabloKey.name=Key of Binding -item.energyBazooka.name=Energy Bazooka -item.bloodLightSigil.name=선혈의 램프 부적 -item.itemComplexSpellCrystal.name=Complex Spell Crystal -item.itemSigilOfSupression.name=Sigil of Supression -item.itemSigilOfEnderSeverance.name=Sigil of Ender Severance -item.bucketLife.name=Bucket of Life -item.bloodMagicBaseItem.QuartzRod.name=Quartz Rod -item.bloodMagicBaseItem.EmptyCore.name=Empty Core -item.bloodMagicBaseItem.MagicalesCable.name=Magicales Cable -item.bloodMagicBaseItem.WoodBrace.name=Wooden Brace -item.bloodMagicBaseItem.StoneBrace.name=Stone Brace -item.bloodMagicBaseItem.ProjectileCore.name=Projectile Core -item.bloodMagicBaseItem.SelfCore.name=Self Core -item.bloodMagicBaseItem.MeleeCore.name=Melee Core -item.bloodMagicBaseItem.ToolCore.name=Tool Core -item.bloodMagicBaseItem.ParadigmBackPlate.name=Paradigm Plate -item.bloodMagicBaseItem.OutputCable.name=Output Spell Cable -item.bloodMagicBaseItem.InputCable.name=Input Spell Cable -item.bloodMagicBaseItem.FlameCore.name=Fire Core -item.bloodMagicBaseItem.IcyCore.name=Icy Core -item.bloodMagicBaseItem.GustCore.name=Gusty Core -item.bloodMagicBaseItem.EarthenCore.name=Earthen Core -item.bloodMagicBaseItem.CrackedRunicPlate.name=Cracked Runic Plate -item.bloodMagicBaseItem.RunicPlate.name=Runic Plate -item.bloodMagicBaseItem.ScribedRunicPlate.name=Imbued Runic Plate -item.bloodMagicBaseItem.DefaultCore.name=Unattuned Core -item.bloodMagicBaseItem.OffensiveCore.name=Offensive Core -item.bloodMagicBaseItem.DefensiveCore.name=Defensive Core -item.bloodMagicBaseItem.EnvironmentalCore.name=Environmental Core -item.bloodMagicBaseItem.PowerCore.name=Power Core -item.bloodMagicBaseItem.CostCore.name=Reduction Core -item.bloodMagicBaseItem.PotencyCore.name=Potency Core -item.bloodMagicBaseItem.ObsidianBrace.name=Obsidian Brace -item.bloodMagicAlchemyItem.Offensa.name=Offensa -item.bloodMagicAlchemyItem.Praesidium.name=Praesidium -item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Strengthened Catalyst -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Concentrated Catalyst -item.bloodMagicAlchemyItem.FracturedBone.name=Fractured Bone -item.bloodMagicAlchemyItem.Virtus.name=Virtus -item.bloodMagicAlchemyItem.Reductus.name=Reductus -item.bloodMagicAlchemyItem.Potentia.name=Potentia -item.sanguineHelmet.name=Sanguine Helmet -item.itemSeerSigil.name=Sigil of Sight -#item.itemFluidSigil.name= -item.multiTool.name=Dynamic Mace -item.itemCombinationalCatalyst.name=Combinational Catalyst -item.sanguineRobe.name=Sanguine Robes -item.sanguinePants.name=Sanguine Leggings -item.sanguineBoots.name=Sanguine Boots -item.itemAttunedCrystal.name=Alchemic Router -item.itemTankSegmenter.name=Alchemic Segmenter -item.destinationClearer.name=Alchemic Cleanser - -#Creative Tab -itemGroup.tabBloodMagic=선혈의마술[Blood Magic] - -#Extra Strings -bm.string.consume=사용량 -bm.string.drain=흡수량 -bm.string.tier=티어 -bm.string.crafting.orb.shaped=블러드매직 오브 조합법 -bm.string.crafting.orb.shapeless=블러드매직 오브 조합법 diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/ru_RU.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/ru_RU.lang deleted file mode 100644 index c76fcfd9..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/ru_RU.lang +++ /dev/null @@ -1,174 +0,0 @@ -#Block Localization -tile.bloodAltar.name=Кровавый алтарь -tile.bloodRune.blank.name=Кровавая руна -tile.bloodRune.fill.name=Руна дополнительной ёмкости -tile.bloodRune.empty.name=Руна дислокации -tile.bloodRune.test.name=Руна шара -tile.speedRune.name=Руна скорости -tile.efficiencyRune.name=Руна эффективности -tile.runeOfSacrifice.name=Руна жертвоприношения -tile.runeOfSelfSacrifice.name=Руна самопожертвования -tile.ritualStone.name=Ритуальный камень -tile.blockMasterStone.name=Ритуальный камень мастера -tile.bloodSocket.name=Заполненный сокет -tile.imperfectRitualStone.name=Несовершенный ритуальный камень -tile.armourForge.name=Кузница душевной брони -tile.emptySocket.name=Пустой сокет -tile.bloodStoneBrick.name=Кровавый кирпич -tile.largeBloodStoneBrick.name=Большой кровавый кирпич -tile.blockWritingTable.name=Алхимическая и химическая установка -tile.blockHomHeart.name=Стол заклинаний -tile.bloodPedestal.name=Тайный пьедестал -tile.bloodPlinth.name=Тайный постамент -tile.bloodTeleposer.name=Телепозер -tile.blockConduit.name=Труба для заклинаний -tile.blockSpellParadigm.projectile.name=Генератор частиц -tile.blockSpellParadigm.self.name=Self Augmentator -tile.blockSpellParadigm.melee.name=Агрегатор ближнего действия -tile.blockSpellEnhancement.power1.name=Нестабильный усилитель заклинаний -tile.blockSpellEnhancement.power2.name=Обычный усилитель заклинаний -tile.blockSpellEnhancement.power3.name=Усиленный усилитель заклинаний -tile.blockSpellEnhancement.power4.name=Пропитанный усилитель заклинаний -tile.blockSpellEnhancement.power5.name=Демонический усилитель заклинаний -tile.blockSpellEnhancement.cost1.name=Нестабильный удешевитель заклинаний -tile.blockSpellEnhancement.cost2.name=Обычный удешевитель заклинаний -tile.blockSpellEnhancement.cost3.name=Усиленный удешевитель заклинаний -tile.blockSpellEnhancement.cost4.name=Пропитанный удешевитель заклинаний -tile.blockSpellEnhancement.cost5.name=Демонический удешевитель заклинаний -tile.blockSpellEnhancement.potency1.name=Нестабильный стимулятор заклинаний -tile.blockSpellEnhancement.potency2.name=Обычный стимулятор заклинаний -tile.blockSpellEnhancement.potency3.name=Усиленный стимулятор заклинаний -tile.blockSpellEnhancement.potency4.name=Пропитанный стимулятор заклинаний -tile.blockSpellEnhancement.potency5.name=Демонический стимулятор заклинаний -tile.blockSpellModifier.default.name=Модификатор обычных заклинаний -tile.blockSpellModifier.offensive.name=Модификатор заклинаний нападения -tile.blockSpellModifier.defensive.name=Модификатор заклинаний обороны -tile.blockSpellModifier.environmental.name=Модификатор заклинаний на окружающую природу -tile.blockSpellEffect.fire.name=Тигель огня -tile.blockSpellEffect.ice.name=Производитель льда -tile.blockSpellEffect.wind.name=Ветрогенератор -tile.blockSpellEffect.earth.name=Формировщик земли - -#Item Localization -item.weakBloodOrb.name=Слабый кровавый шар -item.apprenticeBloodOrb.name=Кровавый шар ученика -item.magicianBloodOrb.name=Кровавый шар мага -item.masterBloodOrb.name=Кровавый шар мастера -item.archmageBloodOrb.name=Кровавый шар архимага -item.energyBlast.name=Энергетическая пушка -item.energySword.name=Связанное лезвие -item.lavaCrystal.name=Лавовый кристал -item.waterSigil.name=Водный сигил -item.lavaSigil.name=Лавовый сигил -item.voidSigil.name=Пустотный сигил -item.blankSlate.name=Чистая плитка -item.reinforcedSlate.name=Усиленная плитка -item.sacrificialDagger.name=Жертвенный кинжал -item.daggerOfSacrifice.name=Кинжал жертвоприношения -item.airSigil.name=Воздушный сигил -item.sigilOfTheFastMiner.name=Сигил быстрого копателя -item.sigilOfElementalAffinity.name=Сигил стихийного родства -item.sigilOfHaste.name=Сигил быстроты -item.sigilOfHolding.name=Сигил удержания -item.divinationSigil.name=Сигил предсказания -item.waterScribeTool.name=Инструмент начертания элементаля: Вода -item.fireScribeTool.name=Инструмент начертания элементаля: Огонь -item.earthScribeTool.name=Инструмент начертания элементаля: Земля -item.airScribeTool.name=Инструмент начертания элементаля: Воздух -item.duskScribeTool.name=Инструмент начертания элементаля: Сумерки -item.activationCrystalWeak.name=Слабый кристал активации -item.activationCrystalAwakened.name=Пробуждённый кристал активации -item.boundPickaxe.name=Связанная кирка -item.boundAxe.name=Связанный топор -item.boundShovel.name=Связанная лопата -item.boundHelmet.name=Связанный шлем -item.boundPlate.name=Связанная кираса -item.boundLeggings.name=Связанные поножи -item.boundBoots.name=Связанные ботинки -item.weakBloodShard.name=Слабый кровавый осколок -item.growthSigil.name=Сигил зелёной рощи -item.blankSpell.name=Кристал отвязывания -item.alchemyFlask.name=Фляжка для зелий -item.standardBindingAgent.name=Обычный связывающий реагент -item.mundanePowerCatalyst.name=Земной энергетический кристал -item.averagePowerCatalyst.name=Обычный энергетический кристал -item.greaterPowerCatalyst.name=Большой энергетический кристал -item.mundaneLengtheningCatalyst.name=Земной удлиняющий кристал -item.averageLengtheningCatalyst.name=Обычный удлиняющий кристал -item.greaterLengtheningCatalyst.name=Большой удлиняющий кристал -item.incendium.name=Incendium -item.magicales.name=Magicales -item.sanctus.name=Sanctus -item.aether.name=Эфир -item.simpleCatalyst.name=Простой катализатор -item.crepitous.name=Crepitous -item.crystallos.name=Crystallos -item.terrae.name=Terrae -item.aquasalus.name=Aquasalus -item.tennebrae.name=Tenebrae -item.demonBloodShard.name=Осколок крови демона -item.sigilOfWind.name=Сигил вихря -item.telepositionFocus.name=Фокус телепозиции -item.enhancedTelepositionFocus.name=Улучшенный фокус телепозиции -item.reinforcedTelepositionFocus.name=Усиленный фокус телепозиции -item.demonicTelepositionFocus.name=Демонический фокус телепозиции -item.imbuedSlate.name=Пропитанная плитка -item.demonicSlate.name=Демоническая плитка -item.sigilOfTheBridge.name=Сигил призрачного моста -item.armourInhibitor.name=Земедлитель брони -item.cheatyItem.name=Шар тестирования -item.weakFillingAgent.name=Слабый заполняющий реагент -item.standardFillingAgent.name=Обычный заполняющий реагент -item.enhancedFillingAgent.name=Улучшенный заполняющий реагент -item.weakBindingAgent.name=Слабый связывающий реагент -item.ritualDiviner.name=Предсказатель ритуала -item.sigilOfMagnetism.name=Сигил магнетизма -item.itemDiabloKey.name=Ключ связывания -item.energyBazooka.name=Энергетическая базука -item.bloodLightSigil.name=Сигил кровавого светильника -item.itemComplexSpellCrystal.name=Сложный кристал заклинаний -item.bucketLive.name=Ведро жизни -item.bloodMagicBaseItem.QuartzRod.name=Кварцевый стержень -item.bloodMagicBaseItem.EmptyCore.name=Пустое ядро -item.bloodMagicBaseItem.MagicalesCable.name=Магический провод -item.bloodMagicBaseItem.WoodBrace.name=Деревянное скрепление -item.bloodMagicBaseItem.StoneBrace.name=Каменное скрепление -item.bloodMagicBaseItem.ProjectileCore.name=Метательное ядро -item.bloodMagicBaseItem.SelfCore.name=Сплошное ядро -item.bloodMagicBaseItem.MeleeCore.name=Ближнее ядро -item.bloodMagicBaseItem.ParadigmBackPlate.name=Примерная пластина -item.bloodMagicBaseItem.OutputCable.name=Провод для выхода заклинаний -item.bloodMagicBaseItem.InputCable.name=Провод для входа заклинаний -item.bloodMagicBaseItem.FlameCore.name=Огненное ядро -item.bloodMagicBaseItem.IcyCore.name=Ледяное ядро -item.bloodMagicBaseItem.GustCore.name=Ветреное ядро -item.bloodMagicBaseItem.EarthenCore.name=Земляное ядро -item.bloodMagicBaseItem.CrackedRunicPlate.name=Сломанная руническая пластина -item.bloodMagicBaseItem.RunicPlate.name=Руническая пластина -item.bloodMagicBaseItem.ScribedRunicPlate.name=Пропитанная руническая пластина -item.bloodMagicBaseItem.DefaultCore.name=Ненастроенное ядро -item.bloodMagicBaseItem.OffensiveCore.name=Ядро нападения -item.bloodMagicBaseItem.DefensiveCore.name=Ядро обороны -item.bloodMagicBaseItem.EnvironmentalCore.name=Ядро окружающей среды -item.bloodMagicBaseItem.PowerCore.name=Энергетическое ядро -item.bloodMagicBaseItem.CostCore.name=Ядро уменьшения -item.bloodMagicBaseItem.PotencyCore.name=Ядро эффективности -item.bloodMagicBaseItem.ObsidianBrace.name=Обсидиановое скрепление -item.bloodMagicAlchemyItem.Offensa.name=Offensa -item.bloodMagicAlchemyItem.Praesidium.name=Praesidium -item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Усиленный катализатор -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Концентрированный катализатор -item.bloodMagicAlchemyItem.FracturedBone.name=Сломанная кость -item.bloodMagicAlchemyItem.Virtus.name=Virtus -item.bloodMagicAlchemyItem.Reductus.name=Reductus -item.bloodMagicAlchemyItem.Potentia.name=Potentia - - -#Creative Tab -itemGroup.tabBloodMagic=Blood Magic - -#Extra Strings -bm.string.consume=Потребление -bm.string.drain=Опустошение -bm.string.tier=Уровень \ No newline at end of file diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/zh_CN.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/zh_CN.lang deleted file mode 100644 index de303903..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/zh_CN.lang +++ /dev/null @@ -1,184 +0,0 @@ -#Block Localization -tile.bloodAltar.name=血之祭坛 -tile.bloodRune.blank.name=气血符文 -tile.bloodRune.fill.name=增容符文 -tile.bloodRune.empty.name=转位符文 -tile.bloodRune.orb.name=宝珠符文 -tile.bloodRune.betterCapacity.name=超容符文 -tile.speedRune.name=速度符文 -tile.efficiencyRune.name=效率符文 -tile.runeOfSacrifice.name=献祭符文 -tile.runeOfSelfSacrifice.name=牺牲符文 -tile.ritualStone.name=仪式石 -tile.blockMasterStone.name=主仪式石 -tile.bloodSocket.name=满的血插槽 -tile.imperfectRitualStone.name=不完善的仪式石 -tile.armourForge.name=灵魂装甲锻造石 -tile.emptySocket.name=空的血插槽 -tile.bloodStoneBrick.name=血石砖 -tile.largeBloodStoneBrick.name=大血石砖 -tile.blockWritingTable.name=炼金术台 -tile.blockHomHeart.name=符咒桌 -tile.bloodPedestal.name=奥术基座 -tile.bloodPlinth.name=奥术基柱 -tile.bloodTeleposer.name=传送器 -tile.blockConduit.name=法术管道 -tile.blockSpellParadigm.projectile.name=抛射法术基架 -tile.blockSpellParadigm.self.name=自体法术基架 -tile.blockSpellParadigm.melee.name=格斗法术基架 -tile.blockSpellParadigm.tool.name=工具法术基架 -tile.blockSpellEnhancement.power1.name=[不稳定]法术附属:力量 -tile.blockSpellEnhancement.power2.name=[标准]法术附属:力量 -tile.blockSpellEnhancement.power3.name=[加强]法术附属:力量 -tile.blockSpellEnhancement.power4.name=[灌输]法术附属:力量 -tile.blockSpellEnhancement.power5.name=[恶魔]法术附属:力量 -tile.blockSpellEnhancement.cost1.name=[不稳定]法术附属:代价 -tile.blockSpellEnhancement.cost2.name=[标准]法术附属:代价 -tile.blockSpellEnhancement.cost3.name=[加强]法术附属:代价 -tile.blockSpellEnhancement.cost4.name=[灌输]法术附属:代价 -tile.blockSpellEnhancement.cost5.name=[恶魔]法术附属:代价 -tile.blockSpellEnhancement.potency1.name=[不稳定]法术附属:效能 -tile.blockSpellEnhancement.potency2.name=[标准]法术附属:效能 -tile.blockSpellEnhancement.potency3.name=[加强]法术附属:效能 -tile.blockSpellEnhancement.potency4.name=[灌输]法术附属:效能 -tile.blockSpellEnhancement.potency5.name=[恶魔]法术附属:效能 -tile.blockSpellModifier.default.name=法术修饰符:默认 -tile.blockSpellModifier.offensive.name=法术修饰符:攻势 -tile.blockSpellModifier.defensive.name=法术修饰符:防守 -tile.blockSpellModifier.environmental.name=法术修饰符:环境 -tile.blockSpellEffect.fire.name=火焰效应器 -tile.blockSpellEffect.ice.name=冰霜效应器 -tile.blockSpellEffect.wind.name=风暴效应器 -tile.blockSpellEffect.earth.name=尘土效应器 - -#Item Localization -item.weakBloodOrb.name=虚弱气血宝珠 -item.apprenticeBloodOrb.name=学徒气血宝珠 -item.magicianBloodOrb.name=法师的气血宝珠 -item.masterBloodOrb.name=导师气血宝珠 -item.archmageBloodOrb.name=大法师的气血宝珠 -item.energyBlast.name=能源爆破枪 -item.energySword.name=约束之剑 -item.lavaCrystal.name=熔岩晶体 -item.waterSigil.name=水之印记 -item.lavaSigil.name=熔岩印记 -item.voidSigil.name=虚空印记 -item.blankSlate.name=空白的石板 -item.reinforcedSlate.name=加强的石板 -item.sacrificialDagger.name=牺牲匕首 -item.daggerOfSacrifice.name=献祭刀 -item.airSigil.name=空气印记 -item.sigilOfTheFastMiner.name=速掘印记 -item.sigilOfElementalAffinity.name=元素印记 -item.sigilOfHaste.name=急速印记 -item.sigilOfHolding.name=集合印记 -item.divinationSigil.name=占卜印记 -item.waterScribeTool.name=元素铭文:水 -item.fireScribeTool.name=元素铭文:火 -item.earthScribeTool.name=元素铭文:地 -item.airScribeTool.name=元素铭文:风 -item.duskScribeTool.name=元素铭文: 幽暗 -item.activationCrystalWeak.name=[低等]激活水晶 -item.activationCrystalAwakened.name=[觉醒]激活水晶 -item.boundPickaxe.name=约束之镐 -item.boundAxe.name=约束之斧 -item.boundShovel.name=约束之锹 -item.boundHelmet.name=约束头盔 -item.boundPlate.name=约束胸甲 -item.boundLeggings.name=约束护腿 -item.boundBoots.name=约束靴子 -item.weakBloodShard.name=虚弱气血碎片 -item.growthSigil.name=绿丛印记 -item.blankSpell.name=未绑定的水晶 -item.alchemyFlask.name=药瓶 -item.standardBindingAgent.name=[标准的]粘合剂 -item.mundanePowerCatalyst.name=[平凡的]功率催化剂 -item.averagePowerCatalyst.name=[普通的]功率催化剂 -item.greaterPowerCatalyst.name=[更好的]功率催化剂 -item.mundaneLengtheningCatalyst.name=[平凡的]延时催化剂 -item.averageLengtheningCatalyst.name=[普通的]延时催化剂 -item.greaterLengtheningCatalyst.name=[更好的]延时催化剂 -item.incendium.name=火焰粉末 -item.magicales.name=魔法粉末 -item.sanctus.name=神圣粉末 -item.aether.name=以太元素 -item.simpleCatalyst.name=简单的催化剂 -item.crepitous.name=捻音粉末 -item.crystallos.name=冰晶粉末 -item.terrae.name=泥土粉末 -item.aquasalus.name=液之粉末 -item.tennebrae.name=暗黑粉末 -item.demonBloodShard.name=恶魔气血碎片 -item.sigilOfWind.name=旋风印记 -item.telepositionFocus.name=传送方位核心 -item.enhancedTelepositionFocus.name=[加强]传送方位核心 -item.reinforcedTelepositionFocus.name=[强化]传送方位核心 -item.demonicTelepositionFocus.name=[恶魔]传送方位核心 -item.imbuedSlate.name=灌输石板 -item.demonicSlate.name=恶魔石板 -item.sigilOfTheBridge.name=影桥印记 -item.armourInhibitor.name=装甲约束者 -item.cheatyItem.name=测试宝珠 -item.weakFillingAgent.name=[虚弱的]填充剂 -item.standardFillingAgent.name=[标准的]填充剂 -item.enhancedFillingAgent.name=[加强的]填充剂 -item.weakBindingAgent.name=[虚弱的]粘合剂 -item.ritualDiviner.name=仪式推测杖 -item.sigilOfMagnetism.name=磁引印记 -item.itemDiabloKey.name=约束钥匙 -item.energyBazooka.name=能源火箭筒 -item.bloodLightSigil.name=血光印记 -item.itemComplexSpellCrystal.name=复杂的法术水晶 -item.itemSigilOfSupression.name=抑液印记 -item.itemSigilOfEnderSeverance.name=Sigil of Ender Severance -item.bucketLive.name=生命之桶 -item.bloodMagicBaseItem.QuartzRod.name=石英棍 -item.bloodMagicBaseItem.EmptyCore.name=空白核心 -item.bloodMagicBaseItem.MagicalesCable.name=魔法线缆 -item.bloodMagicBaseItem.WoodBrace.name=木支架 -item.bloodMagicBaseItem.StoneBrace.name=石支架 -item.bloodMagicBaseItem.ProjectileCore.name=抛射核心 -item.bloodMagicBaseItem.SelfCore.name=自体核心 -item.bloodMagicBaseItem.MeleeCore.name=格斗核心 -item.bloodMagicBaseItem.ToolCore.name=工具核心 -item.bloodMagicBaseItem.ParadigmBackPlate.name=范式板 -item.bloodMagicBaseItem.OutputCable.name=法术线缆:输出 -item.bloodMagicBaseItem.InputCable.name=法术线缆:输入 -item.bloodMagicBaseItem.FlameCore.name=火焰核心 -item.bloodMagicBaseItem.IcyCore.name=冰霜核心 -item.bloodMagicBaseItem.GustCore.name=风暴核心 -item.bloodMagicBaseItem.EarthenCore.name=尘土核心 -item.bloodMagicBaseItem.CrackedRunicPlate.name=[裂损]古碑文板 -item.bloodMagicBaseItem.RunicPlate.name=古碑文板 -item.bloodMagicBaseItem.ScribedRunicPlate.name=[灌输]古碑文板 -item.bloodMagicBaseItem.DefaultCore.name=未鉴核心 -item.bloodMagicBaseItem.OffensiveCore.name=攻势核心 -item.bloodMagicBaseItem.DefensiveCore.name=防守核心 -item.bloodMagicBaseItem.EnvironmentalCore.name=环境核心 -item.bloodMagicBaseItem.PowerCore.name=力量核心 -item.bloodMagicBaseItem.CostCore.name=代价核心 -item.bloodMagicBaseItem.PotencyCore.name=效能核心 -item.bloodMagicBaseItem.ObsidianBrace.name=黑曜石支架 -item.bloodMagicAlchemyItem.Offensa.name=攻势粉末 -item.bloodMagicAlchemyItem.Praesidium.name=防守粉末 -item.bloodMagicAlchemyItem.OrbisTerrae.name=环境粉末 -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=[加强]催化剂 -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=[浓缩]催化剂 -item.bloodMagicAlchemyItem.FracturedBone.name=断裂的骨头 -item.bloodMagicAlchemyItem.Virtus.name=力量粉末 -item.bloodMagicAlchemyItem.Reductus.name=代价粉末 -item.bloodMagicAlchemyItem.Potentia.name=效能粉末 -item.sanguineHelmet.name=血红头盔 -item.itemSeerSigil.name=见解印记 -item.itemFluidSigil.name= -item.multiTool.name=法术权杖 - -#Creative Tab -itemGroup.tabBloodMagic=血魔法 - -#Extra Strings -bm.string.consume=使用 -bm.string.drain=消耗 -bm.string.tier=层数 -bm.string.crafting.orb.shaped=特定血宝珠合成 -bm.string.crafting.orb.shapeless=不定血宝珠合成 diff --git a/src-backup/main/resources/assets/alchemicalwizardry/lang/zh_TW.lang b/src-backup/main/resources/assets/alchemicalwizardry/lang/zh_TW.lang deleted file mode 100644 index 86d296f8..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/lang/zh_TW.lang +++ /dev/null @@ -1,184 +0,0 @@ -#Block Localization -tile.bloodAltar.name=血之祭壇 -tile.bloodRune.blank.name=氣血符文 -tile.bloodRune.fill.name=增容符文 -tile.bloodRune.empty.name=轉位符文 -tile.bloodRune.orb.name=寶珠符文 -tile.bloodRune.betterCapacity.name=超容符文 -tile.speedRune.name=速度符文 -tile.efficiencyRune.name=效率符文 -tile.runeOfSacrifice.name=獻祭符文 -tile.runeOfSelfSacrifice.name=犧牲符文 -tile.ritualStone.name=儀式石 -tile.blockMasterStone.name=主儀式石 -tile.bloodSocket.name=滿的血插槽 -tile.imperfectRitualStone.name=不完善的儀式石 -tile.armourForge.name=靈魂裝甲鍛造石 -tile.emptySocket.name=空的血插槽 -tile.bloodStoneBrick.name=血石磚 -tile.largeBloodStoneBrick.name=大血石磚 -tile.blockWritingTable.name=煉金術臺 -tile.blockHomHeart.name=符咒桌 -tile.bloodPedestal.name=奧術基座 -tile.bloodPlinth.name=奧術基柱 -tile.bloodTeleposer.name=傳送器 -tile.blockConduit.name=法術管道 -tile.blockSpellParadigm.projectile.name=拋射法術基架 -tile.blockSpellParadigm.self.name=自體法術基架 -tile.blockSpellParadigm.melee.name=格鬥法術基架 -tile.blockSpellParadigm.tool.name=工具法術基架 -tile.blockSpellEnhancement.power1.name=[不穩定]法術附屬:力量 -tile.blockSpellEnhancement.power2.name=[標準]法術附屬:力量 -tile.blockSpellEnhancement.power3.name=[加強]法術附屬:力量 -tile.blockSpellEnhancement.power4.name=[灌輸]法術附屬:力量 -tile.blockSpellEnhancement.power5.name=[惡魔]法術附屬:力量 -tile.blockSpellEnhancement.cost1.name=[不穩定]法術附屬:代價 -tile.blockSpellEnhancement.cost2.name=[標準]法術附屬:代價 -tile.blockSpellEnhancement.cost3.name=[加強]法術附屬:代價 -tile.blockSpellEnhancement.cost4.name=[灌輸]法術附屬:代價 -tile.blockSpellEnhancement.cost5.name=[惡魔]法術附屬:代價 -tile.blockSpellEnhancement.potency1.name=[不穩定]法術附屬:效能 -tile.blockSpellEnhancement.potency2.name=[標準]法術附屬:效能 -tile.blockSpellEnhancement.potency3.name=[加強]法術附屬:效能 -tile.blockSpellEnhancement.potency4.name=[灌輸]法術附屬:效能 -tile.blockSpellEnhancement.potency5.name=[惡魔]法術附屬:效能 -tile.blockSpellModifier.default.name=法術修飾符:默認 -tile.blockSpellModifier.offensive.name=法術修飾符:攻勢 -tile.blockSpellModifier.defensive.name=法術修飾符:防守 -tile.blockSpellModifier.environmental.name=法術修飾符:環境 -tile.blockSpellEffect.fire.name=火焰效應器 -tile.blockSpellEffect.ice.name=冰霜效應器 -tile.blockSpellEffect.wind.name=風暴效應器 -tile.blockSpellEffect.earth.name=塵土效應器 - -#Item Localization -item.weakBloodOrb.name=虛弱氣血寶珠 -item.apprenticeBloodOrb.name=學徒氣血寶珠 -item.magicianBloodOrb.name=法師的氣血寶珠 -item.masterBloodOrb.name=導師氣血寶珠 -item.archmageBloodOrb.name=大法師的氣血寶珠 -item.energyBlast.name=能源爆破槍 -item.energySword.name=約束之劍 -item.lavaCrystal.name=熔岩晶體 -item.waterSigil.name=水之印記 -item.lavaSigil.name=熔岩印記 -item.voidSigil.name=虛空印記 -item.blankSlate.name=空白的石板 -item.reinforcedSlate.name=加強的石板 -item.sacrificialDagger.name=犧牲匕首 -item.daggerOfSacrifice.name=獻祭刀 -item.airSigil.name=空氣印記 -item.sigilOfTheFastMiner.name=速掘印記 -item.sigilOfElementalAffinity.name=元素印記 -item.sigilOfHaste.name=急速印記 -item.sigilOfHolding.name=集合印記 -item.divinationSigil.name=占卜印記 -item.waterScribeTool.name=元素銘文:水 -item.fireScribeTool.name=元素銘文:火 -item.earthScribeTool.name=元素銘文:地 -item.airScribeTool.name=元素銘文:風 -item.duskScribeTool.name=元素銘文: 幽暗 -item.activationCrystalWeak.name=[低等]激活水晶 -item.activationCrystalAwakened.name=[覺醒]激活水晶 -item.boundPickaxe.name=約束之鎬 -item.boundAxe.name=約束之斧 -item.boundShovel.name=約束之鍬 -item.boundHelmet.name=約束頭盔 -item.boundPlate.name=約束胸甲 -item.boundLeggings.name=約束護腿 -item.boundBoots.name=約束靴子 -item.weakBloodShard.name=虛弱氣血碎片 -item.growthSigil.name=綠叢印記 -item.blankSpell.name=未綁定的水晶 -item.alchemyFlask.name=藥瓶 -item.standardBindingAgent.name=[標準的]粘合劑 -item.mundanePowerCatalyst.name=[平凡的]功率催化劑 -item.averagePowerCatalyst.name=[普通的]功率催化劑 -item.greaterPowerCatalyst.name=[更好的]功率催化劑 -item.mundaneLengtheningCatalyst.name=[平凡的]延時催化劑 -item.averageLengtheningCatalyst.name=[普通的]延時催化劑 -item.greaterLengtheningCatalyst.name=[更好的]延時催化劑 -item.incendium.name=火焰粉末 -item.magicales.name=魔法粉末 -item.sanctus.name=神聖粉末 -item.aether.name=以太元素 -item.simpleCatalyst.name=簡單的催化劑 -item.crepitous.name=捻音粉末 -item.crystallos.name=冰晶粉末 -item.terrae.name=泥土粉末 -item.aquasalus.name=液之粉末 -item.tennebrae.name=暗黑粉末 -item.demonBloodShard.name=惡魔氣血碎片 -item.sigilOfWind.name=旋風印記 -item.telepositionFocus.name=傳送方位核心 -item.enhancedTelepositionFocus.name=[加強]傳送方位核心 -item.reinforcedTelepositionFocus.name=[強化]傳送方位核心 -item.demonicTelepositionFocus.name=[惡魔]傳送方位核心 -item.imbuedSlate.name=灌輸石板 -item.demonicSlate.name=惡魔石板 -item.sigilOfTheBridge.name=影橋印記 -item.armourInhibitor.name=裝甲約束者 -item.cheatyItem.name=測試寶珠 -item.weakFillingAgent.name=[虚弱的]填充劑 -item.standardFillingAgent.name=[標準的]填充劑 -item.enhancedFillingAgent.name=[加強的]填充劑 -item.weakBindingAgent.name=[虚弱的]粘合劑 -item.ritualDiviner.name=儀式推測仗 -item.sigilOfMagnetism.name=磁引印記 -item.itemDiabloKey.name=約束鑰匙 -item.energyBazooka.name=能源火箭筒 -item.bloodLightSigil.name=血光印記 -item.itemComplexSpellCrystal.name=複雜的法術水晶 -item.itemSigilOfSupression.name=抑液印記 -item.itemSigilOfEnderSeverance.name=Sigil of Ender Severance -item.bucketLive.name=生命之桶 -item.bloodMagicBaseItem.QuartzRod.name=石英棍 -item.bloodMagicBaseItem.EmptyCore.name=空白核心 -item.bloodMagicBaseItem.MagicalesCable.name=魔法線纜 -item.bloodMagicBaseItem.WoodBrace.name=木支架 -item.bloodMagicBaseItem.StoneBrace.name=石支架 -item.bloodMagicBaseItem.ProjectileCore.name=拋射核心 -item.bloodMagicBaseItem.SelfCore.name=自體核心 -item.bloodMagicBaseItem.MeleeCore.name=格鬥核心 -item.bloodMagicBaseItem.ToolCore.name=工具核心 -item.bloodMagicBaseItem.ParadigmBackPlate.name=範式板 -item.bloodMagicBaseItem.OutputCable.name=法術線纜:輸出 -item.bloodMagicBaseItem.InputCable.name=法術線纜:輸入 -item.bloodMagicBaseItem.FlameCore.name=火焰核心 -item.bloodMagicBaseItem.IcyCore.name=冰霜核心 -item.bloodMagicBaseItem.GustCore.name=風暴核心 -item.bloodMagicBaseItem.EarthenCore.name=塵土核心 -item.bloodMagicBaseItem.CrackedRunicPlate.name=[裂損]古碑文板 -item.bloodMagicBaseItem.RunicPlate.name=古碑文板 -item.bloodMagicBaseItem.ScribedRunicPlate.name=[灌輸]古碑文板 -item.bloodMagicBaseItem.DefaultCore.name=未鑒核心 -item.bloodMagicBaseItem.OffensiveCore.name=攻勢核心 -item.bloodMagicBaseItem.DefensiveCore.name=防守核心 -item.bloodMagicBaseItem.EnvironmentalCore.name=環境核心 -item.bloodMagicBaseItem.PowerCore.name=力量核心 -item.bloodMagicBaseItem.CostCore.name=代價核心 -item.bloodMagicBaseItem.PotencyCore.name=效能核心 -item.bloodMagicBaseItem.ObsidianBrace.name=黑曜石支架 -item.bloodMagicAlchemyItem.Offensa.name=攻勢粉末 -item.bloodMagicAlchemyItem.Praesidium.name=防守粉末 -item.bloodMagicAlchemyItem.OrbisTerrae.name=環境粉末 -item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=[加強]催化劑 -item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=[濃縮]催化劑 -item.bloodMagicAlchemyItem.FracturedBone.name=斷裂的骨頭 -item.bloodMagicAlchemyItem.Virtus.name=力量粉末 -item.bloodMagicAlchemyItem.Reductus.name=代價粉末 -item.bloodMagicAlchemyItem.Potentia.name=效能粉末 -item.sanguineHelmet.name=血紅頭盔 -item.itemSeerSigil.name=見解印記 -item.itemFluidSigil.name= -item.multiTool.name=法術權杖 - -#Creative Tab -itemGroup.tabBloodMagic=血魔法 - -#Extra Strings -bm.string.consume=使用 -bm.string.drain=消耗 -bm.string.tier=層數 -bm.string.crafting.orb.shaped=特定血寶珠合成 -bm.string.crafting.orb.shapeless=不定血寶珠合成 diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/BloodArmour_WIP.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/BloodArmour_WIP.png deleted file mode 100644 index 9b19c5fc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/BloodArmour_WIP.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_invisible_layer_1.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_invisible_layer_1.png deleted file mode 100644 index 6ec1ced0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_invisible_layer_1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_invisible_layer_2.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_invisible_layer_2.png deleted file mode 100644 index 7fe14b5e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_invisible_layer_2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_layer_1.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_layer_1.png deleted file mode 100644 index d472d41d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_layer_1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_layer_2.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_layer_2.png deleted file mode 100644 index 420ca181..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/boundArmour_layer_2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_1.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_1.png deleted file mode 100644 index 3570c7e8..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_2.png b/src-backup/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_2.png deleted file mode 100644 index 3763755b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip b/src-backup/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip deleted file mode 100644 index 72ca2e15..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/shaders/beam.frag b/src-backup/main/resources/assets/alchemicalwizardry/shaders/beam.frag deleted file mode 100644 index 82fccbe1..00000000 --- a/src-backup/main/resources/assets/alchemicalwizardry/shaders/beam.frag +++ /dev/null @@ -1,12 +0,0 @@ - uniform sampler2D bgl_RenderedTexture; - uniform int time; - - void main() { - vec2 texcoord = vec2(gl_TexCoord[0]); - vec4 color = texture2D(bgl_RenderedTexture, texcoord); - - float gs = (color.r + color.g + color.b) / 3; - float r = sin(texcoord.x * 6 - 1.5 + sin(texcoord.y - time / 3.0)) * 1.1; //(sin((texcoord.x - texcoord.y) * 4 - time) + 1) / 2; - - gl_FragColor = vec4(gs, gs, max(gs, r), gl_Color.a); - } diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AirRitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AirRitualStone.png deleted file mode 100644 index 73be4924..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AirRitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AlchemicChemistrySet.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AlchemicChemistrySet.png deleted file mode 100644 index 23e179ab..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AlchemicChemistrySet.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AltarCapacityRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AltarCapacityRune.png deleted file mode 100644 index 567f1315..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/AltarCapacityRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ArcanePedestal.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ArcanePedestal.png deleted file mode 100644 index 6156e3c4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ArcanePedestal.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ArcanePlinth.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ArcanePlinth.png deleted file mode 100644 index 30609eab..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ArcanePlinth.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BetterCapacityRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BetterCapacityRune.png deleted file mode 100644 index d28ef9bf..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BetterCapacityRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BlankRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BlankRune.png deleted file mode 100644 index 69f8f713..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BlankRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BlockBloodLight.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BlockBloodLight.png deleted file mode 100644 index 67bede34..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BlockBloodLight.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_Bottom.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_Bottom.png deleted file mode 100644 index 8154b3cd..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_Bottom.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_SideType1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_SideType1.png deleted file mode 100644 index f5d8949c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_SideType1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_SideType2.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_SideType2.png deleted file mode 100644 index 2cb3bc34..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_SideType2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_Top.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_Top.png deleted file mode 100644 index 3bc3a60a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodAltar_Top.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodSocket.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodSocket.png deleted file mode 100644 index ce0abab0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodSocket.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodStoneBrick.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodStoneBrick.png deleted file mode 100644 index 1fd91f9e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/BloodStoneBrick.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/DislocationRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/DislocationRune.png deleted file mode 100644 index ed6c886f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/DislocationRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/DuskRitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/DuskRitualStone.png deleted file mode 100644 index 34c6a0a4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/DuskRitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EarthRitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EarthRitualStone.png deleted file mode 100644 index 4cd9d44b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EarthRitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EfficiencyRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EfficiencyRune.png deleted file mode 100644 index 6c950f9e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EfficiencyRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EmptySocket.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EmptySocket.png deleted file mode 100644 index 46c32374..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/EmptySocket.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/FireRitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/FireRitualStone.png deleted file mode 100644 index 34464e7e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/FireRitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_bottom.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_bottom.png deleted file mode 100644 index de3fb1bf..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_bottom.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_side.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_side.png deleted file mode 100644 index 33e25e94..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_side.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_top.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_top.png deleted file mode 100644 index 45c4f5bb..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_top.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_top1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_top1.png deleted file mode 100644 index d8ad8f9e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/HomHeart_top1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ImperfectRitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ImperfectRitualStone.png deleted file mode 100644 index dbd6b761..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/ImperfectRitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/LargeBloodStoneBrick.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/LargeBloodStoneBrick.png deleted file mode 100644 index 662473b1..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/LargeBloodStoneBrick.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/MasterStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/MasterStone.png deleted file mode 100644 index bd240989..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/MasterStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/OrbCapacityRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/OrbCapacityRune.png deleted file mode 100644 index 2845bd85..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/OrbCapacityRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RitualStone.png deleted file mode 100644 index 0bd9343b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RuneOfSacrifice.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RuneOfSacrifice.png deleted file mode 100644 index 20faa107..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RuneOfSacrifice.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RuneOfSelfSacrifice.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RuneOfSelfSacrifice.png deleted file mode 100644 index 748a287d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/RuneOfSelfSacrifice.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SimpleTransCircle.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SimpleTransCircle.png deleted file mode 100644 index d178e55b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SimpleTransCircle.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SoulForge.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SoulForge.png deleted file mode 100644 index 11dc21a4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SoulForge.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SpectralBlock.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SpectralBlock.png deleted file mode 100644 index 7a98c46a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SpectralBlock.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SpeedRune.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SpeedRune.png deleted file mode 100644 index 741006b5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/SpeedRune.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Teleposer_Side.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Teleposer_Side.png deleted file mode 100644 index 45a0707b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Teleposer_Side.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Teleposer_Top.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Teleposer_Top.png deleted file mode 100644 index 3818b504..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Teleposer_Top.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Testing.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Testing.png deleted file mode 100644 index afc0bcb0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/Testing.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/WaterRitualStone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/WaterRitualStone.png deleted file mode 100644 index 101908e8..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/WaterRitualStone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_blank.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_blank.png deleted file mode 100644 index 29c332d4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_blank.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_input.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_input.png deleted file mode 100644 index 55345660..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_input.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_output.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_output.png deleted file mode 100644 index 52490247..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_output.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_upArrow.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_upArrow.png deleted file mode 100644 index 5fcbd044..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/fireEffectBlock_upArrow.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/lifeEssenceFlowing.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/lifeEssenceFlowing.png deleted file mode 100644 index 05cfdd4e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/lifeEssenceFlowing.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/lifeEssenceStill.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/lifeEssenceStill.png deleted file mode 100644 index 270c26a0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/blocks/lifeEssenceStill.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/energyBlastProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/energyBlastProjectile.png deleted file mode 100644 index 91b4a55d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/energyBlastProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/explosionProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/explosionProjectile.png deleted file mode 100644 index 24b7a2f4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/explosionProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/fireProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/fireProjectile.png deleted file mode 100644 index 5a6d4f2a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/fireProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/holyProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/holyProjectile.png deleted file mode 100644 index 35a03e3d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/holyProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/iceProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/iceProjectile.png deleted file mode 100644 index 9eab38e0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/iceProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/lightningProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/lightningProjectile.png deleted file mode 100644 index e68e7880..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/lightningProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/mudProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/mudProjectile.png deleted file mode 100644 index 5c8189f5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/mudProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/waterProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/waterProjectile.png deleted file mode 100644 index 42f35c42..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/waterProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/windGustProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/windGustProjectile.png deleted file mode 100644 index 9bf829d9..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/entities/windGustProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/GuiTrap.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/GuiTrap.png deleted file mode 100644 index 2fdb824e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/GuiTrap.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookcrafting.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookcrafting.png deleted file mode 100644 index e9ee759f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookcrafting.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookfurnace.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookfurnace.png deleted file mode 100644 index cda94fb0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookfurnace.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookleft.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookleft.png deleted file mode 100644 index 08b462df..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookleft.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookright.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookright.png deleted file mode 100644 index 8c255a77..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/gui/bookright.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/8wWtY8d.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/8wWtY8d.png deleted file mode 100644 index 0e9d01e2..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/8wWtY8d.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Aether.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Aether.png deleted file mode 100644 index 9bf829d9..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Aether.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AirScribeTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AirScribeTool.png deleted file mode 100644 index 574f4222..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AirScribeTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AirSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AirSigil.png deleted file mode 100644 index 17246bb0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AirSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ApprenticeBloodOrb.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ApprenticeBloodOrb.png deleted file mode 100644 index 1653f049..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ApprenticeBloodOrb.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Aquasalus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Aquasalus.png deleted file mode 100644 index 24f96281..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Aquasalus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArchmageBloodOrb.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArchmageBloodOrb.png deleted file mode 100644 index 327d2b27..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArchmageBloodOrb.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArmourInhibitor_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArmourInhibitor_activated.png deleted file mode 100644 index ab4bf964..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArmourInhibitor_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArmourInhibitor_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArmourInhibitor_deactivated.png deleted file mode 100644 index 9b412be0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ArmourInhibitor_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AttunedCrystal1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AttunedCrystal1.png deleted file mode 100644 index 5ae66ba2..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AttunedCrystal1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AttunedCrystal2.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AttunedCrystal2.png deleted file mode 100644 index 788a5db0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AttunedCrystal2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AverageLengtheningCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AverageLengtheningCatalyst.png deleted file mode 100644 index e2dc835e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AverageLengtheningCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AveragePowerCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AveragePowerCatalyst.png deleted file mode 100644 index bef44443..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/AveragePowerCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BlankSlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BlankSlate.png deleted file mode 100644 index f7ce2e2e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BlankSlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BlankSpell.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BlankSpell.png deleted file mode 100644 index ba113199..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BlankSpell.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BloodFrame.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BloodFrame.png deleted file mode 100644 index 717f240c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BloodFrame.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BloodLightSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BloodLightSigil.png deleted file mode 100644 index 9223ee99..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BloodLightSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundAxe_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundAxe_activated.png deleted file mode 100644 index 3f332c6d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundAxe_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundBoots.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundBoots.png deleted file mode 100644 index 0c5e21e5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundBoots.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundHelmet.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundHelmet.png deleted file mode 100644 index 4b4b366d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundHelmet.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundLeggings.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundLeggings.png deleted file mode 100644 index 9effc699..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundLeggings.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPickaxe_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPickaxe_activated.png deleted file mode 100644 index 88c60264..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPickaxe_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPickaxe_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPickaxe_deactivated.png deleted file mode 100644 index 59504032..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPickaxe_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPlate.png deleted file mode 100644 index 49702f68..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundPlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundShovel_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundShovel_activated.png deleted file mode 100644 index 8dd6dc38..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundShovel_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundSword_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundSword_activated.png deleted file mode 100644 index 4ae9464f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundSword_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundTool.png deleted file mode 100644 index f79088b6..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BoundTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BridgeSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BridgeSigil_activated.png deleted file mode 100644 index 37ddd604..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BridgeSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BridgeSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BridgeSigil_deactivated.png deleted file mode 100644 index 88fed2b9..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/BridgeSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/CeremonialDagger.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/CeremonialDagger.png deleted file mode 100644 index c8a666ce..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/CeremonialDagger.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/CombinationalCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/CombinationalCatalyst.png deleted file mode 100644 index dc14d2dc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/CombinationalCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ComplexCrystal.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ComplexCrystal.png deleted file mode 100644 index a6f2ccf7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ComplexCrystal.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Crepitous.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Crepitous.png deleted file mode 100644 index 1422bd5b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Crepitous.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Crystallos.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Crystallos.png deleted file mode 100644 index 0ade6203..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Crystallos.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DaggerOfSacrifice.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DaggerOfSacrifice.png deleted file mode 100644 index 2d7f4a1c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DaggerOfSacrifice.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonBloodShard.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonBloodShard.png deleted file mode 100644 index 0aa05b5c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonBloodShard.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonPlacer.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonPlacer.png deleted file mode 100644 index 371ffac6..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonPlacer.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonSlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonSlate.png deleted file mode 100644 index ca195b9e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonSlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonicTeleposerFocus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonicTeleposerFocus.png deleted file mode 100644 index 72f3c036..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DemonicTeleposerFocus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DiabloKey.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DiabloKey.png deleted file mode 100644 index e0537ee7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DiabloKey.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DivinationSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DivinationSigil.png deleted file mode 100644 index 53dd25c7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DivinationSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DuskScribeTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DuskScribeTool.png deleted file mode 100644 index b7e2aeab..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/DuskScribeTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EarthScribeTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EarthScribeTool.png deleted file mode 100644 index a7f197a4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EarthScribeTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ElementalSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ElementalSigil_activated.png deleted file mode 100644 index 04c3aafc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ElementalSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ElementalSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ElementalSigil_deactivated.png deleted file mode 100644 index f91496e1..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ElementalSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBattery.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBattery.png deleted file mode 100644 index 1ab960d1..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBattery.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBazooka_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBazooka_activated.png deleted file mode 100644 index ddd369fe..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBazooka_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBlaster_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBlaster_activated.png deleted file mode 100644 index 2e245f2f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnergyBlaster_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnhancedFillingAgent.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnhancedFillingAgent.png deleted file mode 100644 index 17137014..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnhancedFillingAgent.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnhancedTeleposerFocus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnhancedTeleposerFocus.png deleted file mode 100644 index 06436a18..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/EnhancedTeleposerFocus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/FireScribeTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/FireScribeTool.png deleted file mode 100644 index 537d7a23..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/FireScribeTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GreaterLengtheningCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GreaterLengtheningCatalyst.png deleted file mode 100644 index dd7811a1..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GreaterLengtheningCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GreaterPowerCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GreaterPowerCatalyst.png deleted file mode 100644 index 8d1ad0c5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GreaterPowerCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GrowthSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GrowthSigil_activated.png deleted file mode 100644 index e970db38..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GrowthSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GrowthSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GrowthSigil_deactivated.png deleted file mode 100644 index 49925f0f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/GrowthSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/HasteSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/HasteSigil_activated.png deleted file mode 100644 index b264b6e0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/HasteSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/HasteSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/HasteSigil_deactivated.png deleted file mode 100644 index aff173d7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/HasteSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/IceSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/IceSigil_activated.png deleted file mode 100644 index 30ff69d3..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/IceSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/IceSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/IceSigil_deactivated.png deleted file mode 100644 index 19ea4b56..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/IceSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Incendium.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Incendium.png deleted file mode 100644 index 6bd023dc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Incendium.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/InfusedSlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/InfusedSlate.png deleted file mode 100644 index 88d13950..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/InfusedSlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LavaCrystal.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LavaCrystal.png deleted file mode 100644 index 688b6091..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LavaCrystal.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LavaSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LavaSigil.png deleted file mode 100644 index 0179cf94..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LavaSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LifeBucket.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LifeBucket.png deleted file mode 100644 index 52756dbf..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/LifeBucket.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Magicales.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Magicales.png deleted file mode 100644 index e078a01b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Magicales.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MagicianBloodOrb.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MagicianBloodOrb.png deleted file mode 100644 index eaf11afb..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MagicianBloodOrb.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MasterBloodOrb.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MasterBloodOrb.png deleted file mode 100644 index 3a448cf2..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MasterBloodOrb.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MiningSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MiningSigil_activated.png deleted file mode 100644 index 8b25db87..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MiningSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MiningSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MiningSigil_deactivated.png deleted file mode 100644 index 3d80e351..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MiningSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MundaneLengtheningCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MundaneLengtheningCatalyst.png deleted file mode 100644 index ce906c35..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MundaneLengtheningCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MundanePowerCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MundanePowerCatalyst.png deleted file mode 100644 index 217fc375..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/MundanePowerCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/PotionFlask.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/PotionFlask.png deleted file mode 100644 index b0d3231e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/PotionFlask.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ReinforcedSlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ReinforcedSlate.png deleted file mode 100644 index 9485f48a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ReinforcedSlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ReinforcedTeleposerFocus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ReinforcedTeleposerFocus.png deleted file mode 100644 index 0ff4f129..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/ReinforcedTeleposerFocus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/RitualDiviner.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/RitualDiviner.png deleted file mode 100644 index 8e61b052..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/RitualDiviner.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SacrificialDagger.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SacrificialDagger.png deleted file mode 100644 index 28cb9378..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SacrificialDagger.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Sanctus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Sanctus.png deleted file mode 100644 index 21dbc74a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Sanctus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SanguineHelmet.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SanguineHelmet.png deleted file mode 100644 index 6149aff0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SanguineHelmet.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SeerSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SeerSigil.png deleted file mode 100644 index f2f6c0a0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SeerSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png deleted file mode 100644 index beec20e9..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfHolding.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfHolding.png deleted file mode 100644 index 0eb3443c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfHolding.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfMagnetism_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfMagnetism_activated.png deleted file mode 100644 index 47427490..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfMagnetism_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfMagnetism_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfMagnetism_deactivated.png deleted file mode 100644 index d740b00c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfMagnetism_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_activated.png deleted file mode 100644 index 2311f509..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_deactivated.png deleted file mode 100644 index 7fcc68cd..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_activated.png deleted file mode 100644 index eb2d7dee..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_deactivated.png deleted file mode 100644 index b8d835a3..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SimpleCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SimpleCatalyst.png deleted file mode 100644 index 3fb0f327..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/SimpleCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/StandardBindingAgent.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/StandardBindingAgent.png deleted file mode 100644 index 64d2cacb..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/StandardBindingAgent.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/StandardFillingAgent.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/StandardFillingAgent.png deleted file mode 100644 index 4e4c8f45..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/StandardFillingAgent.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankClearer.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankClearer.png deleted file mode 100644 index 3a077c2c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankClearer.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankSegmenter1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankSegmenter1.png deleted file mode 100644 index 18dd85b0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankSegmenter1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankSegmenter2.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankSegmenter2.png deleted file mode 100644 index a9a3ba6d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TankSegmenter2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TeleposerFocus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TeleposerFocus.png deleted file mode 100644 index 6d9533fa..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/TeleposerFocus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Tennebrae.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Tennebrae.png deleted file mode 100644 index e4768e22..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Tennebrae.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Terrae.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Terrae.png deleted file mode 100644 index 81e1154a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/Terrae.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/UntamedCrystal.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/UntamedCrystal.png deleted file mode 100644 index 651bd068..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/UntamedCrystal.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/VoidSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/VoidSigil.png deleted file mode 100644 index dc133cdf..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/VoidSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WarriorSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WarriorSigil_activated.png deleted file mode 100644 index 592ff422..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WarriorSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WarriorSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WarriorSigil_deactivated.png deleted file mode 100644 index 41c0b81d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WarriorSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WaterScribeTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WaterScribeTool.png deleted file mode 100644 index 69b8f722..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WaterScribeTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WaterSigil.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WaterSigil.png deleted file mode 100644 index dfd095b5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WaterSigil.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakBindingAgent.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakBindingAgent.png deleted file mode 100644 index 2cf917b9..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakBindingAgent.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakBloodShard.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakBloodShard.png deleted file mode 100644 index b09932c4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakBloodShard.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakFillingAgent.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakFillingAgent.png deleted file mode 100644 index d9b054ee..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WeakFillingAgent.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WindSigil_activated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WindSigil_activated.png deleted file mode 100644 index df200e2b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WindSigil_activated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WindSigil_deactivated.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WindSigil_deactivated.png deleted file mode 100644 index bfb6ab4d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/WindSigil_deactivated.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/activationCrystalAwakened.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/activationCrystalAwakened.png deleted file mode 100644 index 7fb3dd1f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/activationCrystalAwakened.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/activationCrystalWeak.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/activationCrystalWeak.png deleted file mode 100644 index d6ee0b77..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/activationCrystalWeak.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemConcentratedCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemConcentratedCatalyst.png deleted file mode 100644 index 21976c29..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemConcentratedCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemFracturedBone.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemFracturedBone.png deleted file mode 100644 index 930bffde..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemFracturedBone.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemOffensa.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemOffensa.png deleted file mode 100644 index e5829ea3..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemOffensa.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemOrbisTerrae.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemOrbisTerrae.png deleted file mode 100644 index 33ffb99d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemOrbisTerrae.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemPotentia.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemPotentia.png deleted file mode 100644 index d2ed68a8..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemPotentia.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemPraesidium.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemPraesidium.png deleted file mode 100644 index 8bcc782c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemPraesidium.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemReductus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemReductus.png deleted file mode 100644 index 304784d3..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemReductus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemStrengthenedCatalyst.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemStrengthenedCatalyst.png deleted file mode 100644 index dbc9c8aa..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemStrengthenedCatalyst.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemVirtus.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemVirtus.png deleted file mode 100644 index f2fee006..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseAlchemyItemVirtus.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemCostCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemCostCore.png deleted file mode 100644 index 1fdfd2d4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemCostCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemCrackedRunicPlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemCrackedRunicPlate.png deleted file mode 100644 index 934477e5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemCrackedRunicPlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemDefaultCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemDefaultCore.png deleted file mode 100644 index e9fa7764..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemDefaultCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemDefensiveCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemDefensiveCore.png deleted file mode 100644 index 49c595c3..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemDefensiveCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEarthenCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEarthenCore.png deleted file mode 100644 index d275736f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEarthenCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEmptyCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEmptyCore.png deleted file mode 100644 index 0f63c293..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEmptyCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEnvironmentalCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEnvironmentalCore.png deleted file mode 100644 index b1adfb2a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemEnvironmentalCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemFlameCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemFlameCore.png deleted file mode 100644 index 73eeeaf0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemFlameCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemGustCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemGustCore.png deleted file mode 100644 index 27874a4c..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemGustCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemIcyCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemIcyCore.png deleted file mode 100644 index 1c918c5e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemIcyCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemInputCable.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemInputCable.png deleted file mode 100644 index 5a4a6fc0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemInputCable.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemMagicalesCable.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemMagicalesCable.png deleted file mode 100644 index 40606587..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemMagicalesCable.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemMeleeCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemMeleeCore.png deleted file mode 100644 index 77af8723..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemMeleeCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemObsidianBrace.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemObsidianBrace.png deleted file mode 100644 index b4016353..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemObsidianBrace.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemOffensiveCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemOffensiveCore.png deleted file mode 100644 index 33dc2d42..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemOffensiveCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemOutputCable.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemOutputCable.png deleted file mode 100644 index b947d783..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemOutputCable.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemParadigmBackPlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemParadigmBackPlate.png deleted file mode 100644 index 2b84b976..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemParadigmBackPlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemPotencyCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemPotencyCore.png deleted file mode 100644 index a4d993e8..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemPotencyCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemPowerCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemPowerCore.png deleted file mode 100644 index 870c6135..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemPowerCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemProjectileCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemProjectileCore.png deleted file mode 100644 index 6719e820..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemProjectileCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemQuartzRod.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemQuartzRod.png deleted file mode 100644 index 46e59b32..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemQuartzRod.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemRunicPlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemRunicPlate.png deleted file mode 100644 index 6f6a6e08..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemRunicPlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemScribedRunicPlate.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemScribedRunicPlate.png deleted file mode 100644 index 81a8df86..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemScribedRunicPlate.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemSelfCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemSelfCore.png deleted file mode 100644 index e7e9bab6..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemSelfCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemStoneBrace.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemStoneBrace.png deleted file mode 100644 index 5a110322..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemStoneBrace.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemToolCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemToolCore.png deleted file mode 100644 index f6dd600b..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemToolCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemWoodBrace.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemWoodBrace.png deleted file mode 100644 index 329d46bc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/baseItemWoodBrace.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/bloodBlastOrn.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/bloodBlastOrn.png deleted file mode 100644 index 1e15fd72..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/bloodBlastOrn.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/focusBloodBlastOrn.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/focusBloodBlastOrn.png deleted file mode 100644 index b18a4ad0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/focusBloodBlastOrn.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/tYf5ft9.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/items/tYf5ft9.png deleted file mode 100644 index 052c7ca3..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/items/tYf5ft9.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/AirFloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/AirFloatingBeacon.png deleted file mode 100644 index 81fd4705..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/AirFloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/AlchemicalCalcinator.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/AlchemicalCalcinator.png deleted file mode 100644 index 1cd15356..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/AlchemicalCalcinator.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BileDemon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BileDemon.png deleted file mode 100644 index 724f306f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BileDemon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Bird.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Bird.png deleted file mode 100644 index e4c22ee4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Bird.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BlockSpellEffect.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BlockSpellEffect.png deleted file mode 100644 index e22b9c40..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BlockSpellEffect.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BoulderFist.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BoulderFist.png deleted file mode 100644 index 92839932..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/BoulderFist.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Conduit.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Conduit.png deleted file mode 100644 index f37beb5a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Conduit.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/CrystalBelljar.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/CrystalBelljar.png deleted file mode 100644 index 253adf89..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/CrystalBelljar.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/DarkFloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/DarkFloatingBeacon.png deleted file mode 100644 index 11b2099d..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/DarkFloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/EarthFloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/EarthFloatingBeacon.png deleted file mode 100644 index bc116b2f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/EarthFloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/EnergyBazookaMainProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/EnergyBazookaMainProjectile.png deleted file mode 100644 index 6be1c2b5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/EnergyBazookaMainProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/FireFloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/FireFloatingBeacon.png deleted file mode 100644 index f1ac14e6..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/FireFloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/FloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/FloatingBeacon.png deleted file mode 100644 index 7882bb35..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/FloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/HolyFloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/HolyFloatingBeacon.png deleted file mode 100644 index 5f775e02..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/HolyFloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/IceDemon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/IceDemon.png deleted file mode 100644 index 6cb34978..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/IceDemon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/LowerGuardian.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/LowerGuardian.png deleted file mode 100644 index aa6b2c24..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/LowerGuardian.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Meteor.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Meteor.png deleted file mode 100644 index 194d9843..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Meteor.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/ParadigmBlock.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/ParadigmBlock.png deleted file mode 100644 index 062cfc79..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/ParadigmBlock.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Pedestal.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Pedestal.png deleted file mode 100644 index 818dd50a..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Pedestal.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Plinth.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Plinth.png deleted file mode 100644 index df115798..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Plinth.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Reagent.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Reagent.png deleted file mode 100644 index c89dc730..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/Reagent.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/ShadeMob.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/ShadeMob.png deleted file mode 100644 index 7c346a35..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/ShadeMob.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SimpleTransCircle.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SimpleTransCircle.png deleted file mode 100644 index 77669e56..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SimpleTransCircle.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SmallEarthGolem.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SmallEarthGolem.png deleted file mode 100644 index d4e5b8a7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SmallEarthGolem.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectEarth.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectEarth.png deleted file mode 100644 index eeb026bc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectEarth.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectFire.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectFire.png deleted file mode 100644 index f079a183..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectFire.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectIce.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectIce.png deleted file mode 100644 index 33b61d44..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectIce.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectWind.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectWind.png deleted file mode 100644 index 6270aa80..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEffectWind.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost1.png deleted file mode 100644 index 187b9603..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost2.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost2.png deleted file mode 100644 index 0a340ef7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost3.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost3.png deleted file mode 100644 index 34e4a954..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementCost3.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency1.png deleted file mode 100644 index 1266816f..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency2.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency2.png deleted file mode 100644 index 918a2906..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency3.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency3.png deleted file mode 100644 index d74001fe..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPotency3.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower1.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower1.png deleted file mode 100644 index fb711dc2..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower1.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower2.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower2.png deleted file mode 100644 index c1d61b2e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower2.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower3.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower3.png deleted file mode 100644 index 7150c0b7..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellEnhancementPower3.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierDefault.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierDefault.png deleted file mode 100644 index f72ff9f8..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierDefault.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierDefensive.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierDefensive.png deleted file mode 100644 index 1dbdeed6..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierDefensive.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierEnvironmental.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierEnvironmental.png deleted file mode 100644 index a7b5dfbe..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierEnvironmental.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierOffensive.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierOffensive.png deleted file mode 100644 index ee6afa49..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellModifierOffensive.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmMelee.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmMelee.png deleted file mode 100644 index c74a2dd8..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmMelee.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmProjectile.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmProjectile.png deleted file mode 100644 index f579c028..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmProjectile.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmSelf.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmSelf.png deleted file mode 100644 index 17aeabb5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmSelf.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmTool.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmTool.png deleted file mode 100644 index 4296e387..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/SpellParadigmTool.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircle.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircle.png deleted file mode 100644 index ecda29fc..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircle.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircleBinding.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircleBinding.png deleted file mode 100644 index cc54eda5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircleBinding.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircleSuffering.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircleSuffering.png deleted file mode 100644 index 52963252..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/TransCircleSuffering.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WaterFloatingBeacon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WaterFloatingBeacon.png deleted file mode 100644 index b545bbf0..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WaterFloatingBeacon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WingedAngel.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WingedAngel.png deleted file mode 100644 index 4ae2cfd5..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WingedAngel.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WingedFireDemon.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WingedFireDemon.png deleted file mode 100644 index 0e365bab..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WingedFireDemon.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WritingTable.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WritingTable.png deleted file mode 100644 index 5aa176e4..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/WritingTable.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/altar.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/altar.png deleted file mode 100644 index 6b6ac12e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/altar.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/baseItemToolCore.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/baseItemToolCore.png deleted file mode 100644 index 3c171d98..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/baseItemToolCore.png and /dev/null differ diff --git a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/blood.png b/src-backup/main/resources/assets/alchemicalwizardry/textures/models/blood.png deleted file mode 100644 index 05cfdd4e..00000000 Binary files a/src-backup/main/resources/assets/alchemicalwizardry/textures/models/blood.png and /dev/null differ diff --git a/src-backup/main/resources/assets/forge/lang/en_US.lang b/src-backup/main/resources/assets/forge/lang/en_US.lang deleted file mode 100644 index 2f9368d4..00000000 --- a/src-backup/main/resources/assets/forge/lang/en_US.lang +++ /dev/null @@ -1,5 +0,0 @@ -commands.forge.usage=Use /forge . Subcommands are tps, track -commands.forge.usage.tracking=Use /forge track . Valid types are te (Tile Entities). Duration is < 60. -commands.forge.tps.summary=%s : Mean tick time: %d ms. Mean TPS: %d - -commands.forge.tracking.te.enabled=Tile Entity tracking enabled for %d seconds. \ No newline at end of file diff --git a/src-backup/main/resources/assets/forge/lang/es_ES.lang b/src-backup/main/resources/assets/forge/lang/es_ES.lang deleted file mode 100644 index b7c198ee..00000000 --- a/src-backup/main/resources/assets/forge/lang/es_ES.lang +++ /dev/null @@ -1,5 +0,0 @@ -commands.forge.usage=Usa /forge . Los subcomandos son tps, track -commands.forge.usage.tracking=Usa /forge track . Los tipos válidos te (Tile Entities). La duración es < 60. -commands.forge.tps.summary=%s : Tiempo de tick medio: %d ms. TPS medio: %d - -commands.forge.tracking.te.enabled=Rastreo de Tile Entity activado durante %d segundos. diff --git a/src-backup/main/resources/assets/forge/lang/fr_FR.lang b/src-backup/main/resources/assets/forge/lang/fr_FR.lang deleted file mode 100644 index bd01daa9..00000000 --- a/src-backup/main/resources/assets/forge/lang/fr_FR.lang +++ /dev/null @@ -1,5 +0,0 @@ -commands.forge.usage=Utilisez /forge . Les sous-commandes sont tps, track -commands.forge.usage.tracking=Utilisez /forge track . Les types valides sont te (Tile Entities). La durée doit être inférieur à 60. -commands.forge.tps.summary=%s : Duré de tick : %d ms. TPS moyen : %d - -commands.forge.tracking.te.enabled=Trackage des Tile Entity activé pour %d secondes. \ No newline at end of file diff --git a/src-backup/main/resources/mcmod.info b/src-backup/main/resources/mcmod.info deleted file mode 100644 index 7000cb30..00000000 --- a/src-backup/main/resources/mcmod.info +++ /dev/null @@ -1,16 +0,0 @@ -[ -{ - "modid": "AWWayofTime", - "name": "Blood Magic: Alchemical Wizardry", - "description": "Example placeholder mod.", - "version": "${version}", - "mcversion": "${mcversion}", - "url": "", - "updateUrl": "", - "authors": ["WayofTime"], - "credits": "", - "logoFile": "", - "screenshots": [], - "dependencies": [] -} -]