diff --git a/src/api/java/thaumcraft/api/aspects/IEssentiaContainerItem.java b/src/api/java/thaumcraft/api/aspects/IEssentiaContainerItem.java index 6a82c0e6..f92a7de4 100644 --- a/src/api/java/thaumcraft/api/aspects/IEssentiaContainerItem.java +++ b/src/api/java/thaumcraft/api/aspects/IEssentiaContainerItem.java @@ -1,7 +1,6 @@ package thaumcraft.api.aspects; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; /** * diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index c5b7b13d..28f553dd 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -284,7 +284,7 @@ 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.3.1", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.3.2", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") public class AlchemicalWizardry { @@ -731,6 +731,7 @@ public class AlchemicalWizardry customPotionAmphibian = (new PotionAmphibian(customPotionAmphibianID, false, 0).setIconIndex(0, 0).setPotionName("Amphibian")); ItemStack masterBloodOrbStack = new ItemStack(ModItems.masterBloodOrb); + ItemStack transcendentBloodOrbStack = new ItemStack(ModItems.transcendentBloodOrb); // ModBlocks.blockLifeEssence.setUnlocalizedName("lifeEssenceBlock"); FluidContainerRegistry.registerFluidContainer(lifeEssenceFluid, new ItemStack(ModItems.bucketLife), FluidContainerRegistry.EMPTY_BUCKET); @@ -1071,7 +1072,10 @@ public class AlchemicalWizardry GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 3), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', obsidianStack); GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 4), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', stringStack); - + GameRegistry.addRecipe(new ItemStack(ModBlocks.blockStabilityGlyph), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, '1', crepitousStack, 'g', etherealSlateStack, 'b', praesidiumStack, 's', magicalesStack); + GameRegistry.addRecipe(new ItemStack(ModBlocks.blockEnchantmentGlyph, 1, 0), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, 'g', etherealSlateStack, 'b', magicalesStack, '1', offensaStack, 's', lifeShardStack); + GameRegistry.addRecipe(new ItemStack(ModBlocks.blockEnchantmentGlyph, 1, 1), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, 'g', etherealSlateStack, 'b', magicalesStack, '1', virtusStack, 's', soulShardStack); + 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); @@ -1086,6 +1090,8 @@ public class AlchemicalWizardry 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); + AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.potionitem, 1, 0), 1, new ItemStack[]{new ItemStack(Items.glass_bottle), new ItemStack(Blocks.cactus)}, 1); + AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.glass_bottle, 3), 1, new ItemStack[]{glassStack, glassStack, glassStack}, 1); } @EventHandler diff --git a/src/main/java/WayofTime/alchemicalWizardry/ModBlocks.java b/src/main/java/WayofTime/alchemicalWizardry/ModBlocks.java index 35ff732d..f451d5ad 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/ModBlocks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/ModBlocks.java @@ -22,6 +22,7 @@ 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.BlockStabilityGlyph; import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; import WayofTime.alchemicalWizardry.common.block.BlockWritingTable; import WayofTime.alchemicalWizardry.common.block.BloodRune; @@ -41,10 +42,12 @@ import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.BlockDemonChe import WayofTime.alchemicalWizardry.common.items.ItemBlockCrystalBelljar; import WayofTime.alchemicalWizardry.common.items.ItemBloodRuneBlock; import WayofTime.alchemicalWizardry.common.items.ItemCrystalBlock; +import WayofTime.alchemicalWizardry.common.items.ItemEnchantmentGlyphBlock; 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 WayofTime.alchemicalWizardry.common.items.ItemStabilityGlyphBlock; import cpw.mods.fml.common.registry.GameRegistry; /** @@ -94,6 +97,7 @@ public class ModBlocks public static Block blockCrystal; public static Block blockMimic; public static Block blockEnchantmentGlyph; + public static Block blockStabilityGlyph; public static void init() @@ -136,6 +140,7 @@ public class ModBlocks blockLifeEssence = new LifeEssenceBlock(); blockEnchantmentGlyph = new BlockEnchantmentGlyph(); + blockStabilityGlyph = new BlockStabilityGlyph(); } public static void registerBlocksInPre() @@ -179,7 +184,8 @@ public class ModBlocks GameRegistry.registerBlock(ModBlocks.blockDemonChest, "blockDemonChest"); GameRegistry.registerBlock(ModBlocks.blockCrystal, ItemCrystalBlock.class, "blockCrystal"); GameRegistry.registerBlock(ModBlocks.blockMimic, "blockMimic"); - GameRegistry.registerBlock(ModBlocks.blockEnchantmentGlyph, "blockEnchantmentGlyph"); + GameRegistry.registerBlock(ModBlocks.blockEnchantmentGlyph, ItemEnchantmentGlyphBlock.class, "blockEnchantmentGlyph"); + GameRegistry.registerBlock(ModBlocks.blockStabilityGlyph, ItemStabilityGlyphBlock.class, "blockStabilityGlyph"); } public static void registerBlocksInInit() diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java b/src/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java index 973d293a..a2060b4f 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java @@ -417,7 +417,7 @@ public class SoulNetworkHandler public static String getUsername(EntityPlayer player) { - return player.getDisplayName(); + return player.getCommandSenderName(); } public static EntityPlayer getPlayerForUsername(String str) diff --git a/src/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java b/src/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java index a3e0a531..23984f27 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java +++ b/src/main/java/WayofTime/alchemicalWizardry/client/ClientEventHandler.java @@ -7,8 +7,6 @@ import net.minecraftforge.client.event.sound.SoundEvent; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModBlocks; import WayofTime.alchemicalWizardry.client.renderer.RenderHelper; -import WayofTime.alchemicalWizardry.common.ClientToServerPacketHandler; -import WayofTime.alchemicalWizardry.common.MessageKeyPressed; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -23,12 +21,12 @@ public class ClientEventHandler @SubscribeEvent public void onKeyInput(InputEvent.KeyInputEvent event) { - if(KeyBindings.omegaTest.isPressed()) - { - System.out.println("ping"); -// NewPacketHandler.INSTANCE.sendToServer(NewPacketHandler.getKeyboardPressPacket((byte)2)); - ClientToServerPacketHandler.INSTANCE.sendToServer(new MessageKeyPressed(MessageKeyPressed.Key.OMEGA_ACTIVE)); - } +// if(KeyBindings.omegaTest.isPressed()) +// { +// System.out.println("ping"); +//// NewPacketHandler.INSTANCE.sendToServer(NewPacketHandler.getKeyboardPressPacket((byte)2)); +// ClientToServerPacketHandler.INSTANCE.sendToServer(new MessageKeyPressed(MessageKeyPressed.Key.OMEGA_ACTIVE)); +// } } @SubscribeEvent diff --git a/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java b/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java index c7129aeb..5b21ce24 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java +++ b/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java @@ -110,7 +110,7 @@ public class ClientProxy extends CommonProxy public void registerPostSideObjects() { BUEntries entries = new BUEntries(); - entries.postInit(); +// entries.postInit(); } @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/client/KeyBindings.java b/src/main/java/WayofTime/alchemicalWizardry/client/KeyBindings.java index 26943f9b..b616b662 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/client/KeyBindings.java +++ b/src/main/java/WayofTime/alchemicalWizardry/client/KeyBindings.java @@ -2,18 +2,14 @@ package WayofTime.alchemicalWizardry.client; import net.minecraft.client.settings.KeyBinding; -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.client.registry.ClientRegistry; - public class KeyBindings { public static KeyBinding omegaTest; public static void init() { - omegaTest = new KeyBinding("key.ping", Keyboard.KEY_O, "key.categories.alchemicalwizardry"); - - ClientRegistry.registerKeyBinding(omegaTest); +// omegaTest = new KeyBinding("key.ping", Keyboard.KEY_O, "key.categories.alchemicalwizardry"); +// +// ClientRegistry.registerKeyBinding(omegaTest); } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java index 20e77f78..a719a5d9 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java @@ -150,7 +150,6 @@ public class AlchemicalWizardryEventHooks System.out.println("HP: " + hp); APISpellHelper.setCurrentAdditionalHP(player, Math.max(0, hp)); NewPacketHandler.INSTANCE.sendTo(NewPacketHandler.getAddedHPPacket(Math.max(0, hp), APISpellHelper.getCurrentAdditionalMaxHP(player)), (EntityPlayerMP)player); - } } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockEnchantmentGlyph.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockEnchantmentGlyph.java index b0b02ab5..b408f01c 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockEnchantmentGlyph.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockEnchantmentGlyph.java @@ -1,8 +1,14 @@ package WayofTime.alchemicalWizardry.common.block; +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.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.common.omega.IEnchantmentGlyph; @@ -11,13 +17,16 @@ import cpw.mods.fml.relauncher.SideOnly; public class BlockEnchantmentGlyph extends Block implements IEnchantmentGlyph { + public IIcon enchantability; + public IIcon enchantmentLevel; + public BlockEnchantmentGlyph() { super(Material.iron); setHardness(2.0F); setResistance(5.0F); setCreativeTab(AlchemicalWizardry.tabBloodMagic); - this.setBlockName("enchantmentGlypg"); + this.setBlockName("enchantmentGlyph"); } @Override @@ -25,17 +34,69 @@ public class BlockEnchantmentGlyph extends Block implements IEnchantmentGlyph public void registerBlockIcons(IIconRegister iconRegister) { this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:LargeBloodStoneBrick"); + this.enchantability = iconRegister.registerIcon("AlchemicalWizardry:GlyphEnchantability"); + this.enchantmentLevel = iconRegister.registerIcon("AlchemicalWizardry:GlyphEnchantmentLevel"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) + { + switch (meta) + { + case 0: + return enchantability; + case 1: + return enchantmentLevel; + default: + return this.blockIcon; + } } @Override - public int getSubtractedStabilityForFaceCount(World world, int x, int y, int z, int meta, int faceCount) + public int getAdditionalStabilityForFaceCount(World world, int x, int y, int z, int meta, int faceCount) { - return faceCount * 20; + switch(meta) + { + case 0: + return -faceCount * 10; + case 1: + return -faceCount * 20; + default: + return -faceCount * 20; + } } @Override public int getEnchantability(World world, int x, int y, int z, int meta) { - return 1; + switch(meta) + { + case 0: + return 1; + default: + return 0; + } } + + @Override + public int getEnchantmentLevel(World world, int x, int y, int z, int meta) + { + switch(meta) + { + case 1: + return 1; + default: + return 0; + } + } + + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) + { + for(int i=0; i<2; i++) + { + par3List.add(new ItemStack(par1, 1, i)); + } + } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockStabilityGlyph.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockStabilityGlyph.java new file mode 100644 index 00000000..dd7b8048 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockStabilityGlyph.java @@ -0,0 +1,73 @@ +package WayofTime.alchemicalWizardry.common.block; + +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.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.omega.IStabilityGlyph; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockStabilityGlyph extends Block implements IStabilityGlyph +{ + public IIcon stability1; + + public BlockStabilityGlyph() + { + super(Material.iron); + setHardness(2.0F); + setResistance(5.0F); + setCreativeTab(AlchemicalWizardry.tabBloodMagic); + this.setBlockName("stabilityGlyph"); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) + { + this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:LargeBloodStoneBrick"); + this.stability1 = iconRegister.registerIcon("AlchemicalWizardry:GlyphStability1"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) + { + switch (meta) + { + case 0: + return stability1; + default: + return this.blockIcon; + } + } + + @Override + public int getAdditionalStabilityForFaceCount(World world, int x, int y, int z, int meta, int faceCount) + { + switch(meta) + { + case 0: + return faceCount * 2; + default: + return faceCount; + } + } + + + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) + { + for(int i=0; i<1; i++) + { + par3List.add(new ItemStack(par1, 1, i)); + } + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandBind.java b/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandBind.java index 6a2c5a1f..42970190 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandBind.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandBind.java @@ -1,16 +1,15 @@ package WayofTime.alchemicalWizardry.common.commands; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import java.util.List; + import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; - -import java.util.List; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; public class CommandBind extends CommandBase { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java index 299060b9..77596f93 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java @@ -1,18 +1,14 @@ package WayofTime.alchemicalWizardry.common.items; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; -import WayofTime.alchemicalWizardry.common.ItemType; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.block.BlockLeavesBase; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.EnchantmentHelper; 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.ItemAxe; import net.minecraft.item.ItemStack; @@ -22,12 +18,16 @@ import net.minecraft.util.StatCollector; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; - -import java.util.ArrayList; -import java.util.List; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.common.ItemType; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import com.google.common.collect.HashMultiset; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class BoundAxe extends ItemAxe implements IBindable { public float efficiencyOnProperMaterial = 12.0F; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java index 2681e9ac..1364d64e 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java @@ -1,5 +1,24 @@ 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.EnchantmentHelper; +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.player.EntityPlayer; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +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.ItemType; @@ -10,26 +29,6 @@ import com.google.common.collect.Multimap; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.enchantment.EnchantmentHelper; -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.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; - -import java.util.ArrayList; -import java.util.List; public class BoundShovel extends ItemSpade implements IBindable { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java index f4b38f3d..c5a8cb5f 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java @@ -8,8 +8,6 @@ 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; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemEnchantmentGlyphBlock.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemEnchantmentGlyphBlock.java new file mode 100644 index 00000000..a50bc6c3 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemEnchantmentGlyphBlock.java @@ -0,0 +1,42 @@ +package WayofTime.alchemicalWizardry.common.items; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemEnchantmentGlyphBlock extends ItemBlock +{ + public ItemEnchantmentGlyphBlock(Block block) + { + super(block); + setHasSubtypes(true); + } + + @Override + public String getUnlocalizedName(ItemStack itemstack) + { + String name = ""; + + switch (itemstack.getItemDamage()) + { + case 0: + name = "enchantability"; + break; + + case 1: + name = "enchantmentLevel"; + break; + + default: + name = "broken"; + } + + return getUnlocalizedName() + "." + name; + } + + @Override + public int getMetadata(int par1) + { + return par1; + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemStabilityGlyphBlock.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemStabilityGlyphBlock.java new file mode 100644 index 00000000..209de15c --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemStabilityGlyphBlock.java @@ -0,0 +1,38 @@ +package WayofTime.alchemicalWizardry.common.items; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemStabilityGlyphBlock extends ItemBlock +{ + public ItemStabilityGlyphBlock(Block block) + { + super(block); + setHasSubtypes(true); + } + + @Override + public String getUnlocalizedName(ItemStack itemstack) + { + String name = ""; + + switch (itemstack.getItemDamage()) + { + case 0: + name = "stability1"; + break; + + default: + name = "broken"; + } + + return getUnlocalizedName() + "." + name; + } + + @Override + public int getMetadata(int par1) + { + return par1; + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java index 56018258..ff3adbec 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java @@ -373,7 +373,14 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA this.setIsInvisible(itemStack, player.isPotionActive(Potion.invisibility.id)); - if (itemStack.getItemDamage() > 0) + this.repairArmour(world, player, itemStack); + + return; + } + + public void repairArmour(World world, EntityPlayer player, ItemStack itemStack) + { + if (itemStack.getItemDamage() > 0) { EnergyItems.checkAndSetItemOwner(itemStack, player); @@ -385,8 +392,6 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA } } } - - return; } public void tickInternalInventory(ItemStack par1ItemStack, World par2World, EntityPlayer par3Entity, int par4, boolean par5) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java index 813d7e77..ca6020ee 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java @@ -23,6 +23,8 @@ import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.api.spell.APISpellHelper; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; import WayofTime.alchemicalWizardry.common.omega.OmegaParadigm; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,6 +38,8 @@ public abstract class OmegaArmour extends BoundArmour protected boolean storeYLevel = false; protected boolean storeSeesSky = false; + public float reagentDrainPerDamage = 0.1f; + public OmegaArmour(int armorType) { super(armorType); @@ -94,13 +98,34 @@ public abstract class OmegaArmour extends BoundArmour } } + @Override + public void repairArmour(World world, EntityPlayer player, ItemStack itemStack) + { + if (itemStack.getItemDamage() > 0) + { + if (!player.capabilities.isCreativeMode) + { + if(EnergyItems.syphonBatteries(itemStack, player, itemStack.getItemDamage() * 75)) + { + Reagent reagent = APISpellHelper.getPlayerReagentType(player); + float reagentAmount = APISpellHelper.getPlayerCurrentReagentAmount(player); + + reagentAmount -= itemStack.getItemDamage() * reagentDrainPerDamage; + APISpellHelper.setPlayerCurrentReagentAmount(player, Math.max(0, reagentAmount)); + + itemStack.setItemDamage(0); + } + } + } + } + public void revertArmour(EntityPlayer player, ItemStack itemStack) { ItemStack stack = this.getContainedArmourStack(itemStack); player.inventory.armorInventory[3-this.armorType] = stack; } - public ItemStack getSubstituteStack(ItemStack boundStack, int stability, int affinity, int enchantability, Random rand) + public ItemStack getSubstituteStack(ItemStack boundStack, int stability, int affinity, int enchantability, int enchantmentLevel, Random rand) { ItemStack omegaStack = new ItemStack(this); if(boundStack != null && boundStack.hasTagCompound()) @@ -110,13 +135,16 @@ public abstract class OmegaArmour extends BoundArmour } this.setContainedArmourStack(omegaStack, boundStack); SoulNetworkHandler.checkAndSetItemOwner(omegaStack, SoulNetworkHandler.getOwnerName(boundStack)); - this.setItemEnchantability(omegaStack, 70); + this.setItemEnchantability(omegaStack, Math.min(enchantability, 70)); List enchantList = new ArrayList(); - for(int i=0; i<100; i++) + int adjustedEnchantLevel = Math.min(enchantmentLevel, 30); + int additionalPasses = enchantmentLevel - adjustedEnchantLevel; + + for(int i=0; i<1+additionalPasses; i++) { - List lst = EnchantmentHelper.buildEnchantmentList(rand, omegaStack, 30); + List lst = EnchantmentHelper.buildEnchantmentList(rand, omegaStack, adjustedEnchantLevel); if(lst != null) { enchantList.addAll(lst); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/IEnchantmentGlyph.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/IEnchantmentGlyph.java index 113024f5..5c189f92 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/IEnchantmentGlyph.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/IEnchantmentGlyph.java @@ -2,8 +2,8 @@ package WayofTime.alchemicalWizardry.common.omega; import net.minecraft.world.World; -public interface IEnchantmentGlyph +public interface IEnchantmentGlyph extends IStabilityGlyph { - public int getSubtractedStabilityForFaceCount(World world, int x, int y, int z, int meta, int faceCount); public int getEnchantability(World world, int x, int y, int z, int meta); + public int getEnchantmentLevel(World world, int x, int y, int z, int meta); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/IStabilityGlyph.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/IStabilityGlyph.java new file mode 100644 index 00000000..50252a94 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/IStabilityGlyph.java @@ -0,0 +1,8 @@ +package WayofTime.alchemicalWizardry.common.omega; + +import net.minecraft.world.World; + +public interface IStabilityGlyph +{ + public int getAdditionalStabilityForFaceCount(World world, int x, int y, int z, int meta, int faceCount); +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java index ee86b10e..8e0fe922 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java @@ -38,7 +38,7 @@ public class OmegaParadigm this.config = new ReagentRegenConfiguration(20, 10, 1); } - public boolean convertPlayerArmour(EntityPlayer player, int x, int y, int z, int stability, int affinity, int enchantability) + public boolean convertPlayerArmour(EntityPlayer player, int x, int y, int z, int stability, int affinity, int enchantability, int enchantmentLevel) { ItemStack[] armours = player.inventory.armorInventory; @@ -49,12 +49,14 @@ public class OmegaParadigm if(helmetStack != null && helmetStack.getItem() == ModItems.boundHelmet && chestStack != null && chestStack.getItem() == ModItems.boundPlate && leggingsStack != null && leggingsStack.getItem() == ModItems.boundLeggings && bootsStack != null && bootsStack.getItem() == ModItems.boundBoots) { + System.out.println("Enchantability: " + enchantability); + long worldSeed = player.worldObj.getSeed(); - Random rand = new Random(worldSeed + stability * (affinity + 7) * 94 + 84321*x - 17423*y + 76*z - 1623451*enchantability); - ItemStack omegaHelmetStack = helmet.getSubstituteStack(helmetStack, stability, affinity, enchantability, rand); - ItemStack omegaChestStack = chestPiece.getSubstituteStack(chestStack, stability, affinity, enchantability, rand); - ItemStack omegaLeggingsStack = leggings.getSubstituteStack(leggingsStack, stability, affinity, enchantability, rand); - ItemStack omegaBootsStack = boots.getSubstituteStack(bootsStack, stability, affinity, enchantability, rand); + Random rand = new Random(worldSeed + stability * (affinity + 7) * 94 + 84321*x - 17423*y + 76*z - 1623451*enchantability + 2 * enchantmentLevel); + ItemStack omegaHelmetStack = helmet.getSubstituteStack(helmetStack, stability, affinity, enchantability, enchantmentLevel, rand); + ItemStack omegaChestStack = chestPiece.getSubstituteStack(chestStack, stability, affinity, enchantability, enchantmentLevel, rand); + ItemStack omegaLeggingsStack = leggings.getSubstituteStack(leggingsStack, stability, affinity, enchantability, enchantmentLevel, rand); + ItemStack omegaBootsStack = boots.getSubstituteStack(bootsStack, stability, affinity, enchantability, enchantmentLevel, rand); armours[3] = omegaHelmetStack; armours[2] = omegaChestStack; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java index 7aa32d6b..7289c491 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java @@ -7,7 +7,7 @@ import WayofTime.alchemicalWizardry.api.Int3; public class OmegaStructureHandler { - public static final OmegaStructureParameters emptyParam = new OmegaStructureParameters(0, 0); + public static final OmegaStructureParameters emptyParam = new OmegaStructureParameters(0, 0, 0); public static boolean isStructureIntact(World world, int x, int y, int z) { @@ -155,6 +155,7 @@ public class OmegaStructureHandler int tally = 0; int enchantability = 0; + int enchantmentLevel = 0; for (int i = 0; i < 2 * range + 1; i++) { @@ -198,23 +199,27 @@ public class OmegaStructureHandler { indTally++; } - + Block block = world.getBlock(x - range + i, y - range + j, z - range + k); - int meta = 0; + int meta = world.getBlockMetadata(x - range + i, y - range + j, z - range + k); + if(block instanceof IEnchantmentGlyph) { - tally -= ((IEnchantmentGlyph)block).getSubtractedStabilityForFaceCount(world, x-range+i, y-range+j, z-range+k, meta, indTally); + tally += ((IEnchantmentGlyph)block).getAdditionalStabilityForFaceCount(world, x-range+i, y-range+j, z-range+k, meta, indTally); enchantability += ((IEnchantmentGlyph)block).getEnchantability(world, x-range+i, y-range+j, z-range+k, meta); + enchantmentLevel += ((IEnchantmentGlyph)block).getEnchantmentLevel(world, x-range+i, y-range+j, z-range+k, meta); + }else if(block instanceof IStabilityGlyph) + { + tally += ((IStabilityGlyph)block).getAdditionalStabilityForFaceCount(world, x-range+i, y-range+j, z-range+k, meta, indTally); }else { tally += indTally; - } + } } } } - - return new OmegaStructureParameters(tally, enchantability); + return new OmegaStructureParameters(tally, enchantability, enchantmentLevel); } public static OmegaStructureParameters getStructureStabilityFactor(World world, int x, int y, int z, int expLim) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureParameters.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureParameters.java index 2b42bd47..2ecd32c4 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureParameters.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureParameters.java @@ -4,10 +4,12 @@ public class OmegaStructureParameters { public final int stability; public final int enchantability; + public final int enchantmentLevel; - public OmegaStructureParameters(int stability, int enchantability) + public OmegaStructureParameters(int stability, int enchantability, int enchantmentLevel) { this.stability = stability; this.enchantability = enchantability; + this.enchantmentLevel = enchantmentLevel; } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java index 2dc7129a..6fe397c3 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java @@ -1,14 +1,21 @@ package WayofTime.alchemicalWizardry.common.rituals; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; import WayofTime.alchemicalWizardry.api.Int3; +import WayofTime.alchemicalWizardry.api.alchemy.energy.IReagentHandler; import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; -import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; +import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; +import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; @@ -23,7 +30,9 @@ import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class RitualEffectOmegaTest extends RitualEffect { - public static final int tickDuration = 1 * 60 * 20; + public static final boolean isTesting = true; + public static final int drainTotal = 32 * 1000; + @Override public void performEffect(IMasterRitualStone ritualStone) { @@ -43,27 +52,106 @@ public class RitualEffectOmegaTest extends RitualEffect OmegaStructureParameters param = OmegaStructureHandler.getStructureStabilityFactor(world, x, y, z, 5, new Int3(0,1,0)); int stab = param.stability; int enchantability = param.enchantability; + int enchantmentLevel = param.enchantmentLevel; - System.out.println("Stability: " + stab); + System.out.println("Stability: " + stab + ", Enchantability: " + enchantability + ", Enchantment Level: " + enchantmentLevel); double range = 0.5; List playerList = SpellHelper.getPlayersInRange(world, x + 0.5, y + 1.5, z + 0.5, range, range); + Reagent reagent = null; + + Map reagentMap = new HashMap(); + for(int i=0; i<4; i++) + { + Int3 jarLoc = this.getJarLocation(i); + TileEntity tile = world.getTileEntity(x + jarLoc.xCoord, y + jarLoc.yCoord, z + jarLoc.zCoord); + if(tile instanceof IReagentHandler) + { + IReagentHandler container = (IReagentHandler)tile; + ReagentContainerInfo[] containerInfoArray = container.getContainerInfo(ForgeDirection.UP); + if(containerInfoArray == null) + { + continue; + } + + for(ReagentContainerInfo containerInfo : containerInfoArray) + { + ReagentStack containedReagent = containerInfo.reagent; + if(containedReagent == null) + { + continue; + } + Reagent rea = containedReagent.reagent; + int amt = containedReagent.amount; + if(reagentMap.containsKey(rea)) + { + reagentMap.put(rea, reagentMap.get(rea) + amt); + }else + { + reagentMap.put(rea, amt); + } + } + } + } + + for(Entry entry : reagentMap.entrySet()) + { + if(entry.getValue() >= drainTotal) + { + reagent = entry.getKey(); + break; + } + } + + if(reagent == null) + { + return; + } + + int tickDuration = isTesting ? 20 * 30 : 15 * 20 * 60 + (int)((15 * 20 * 60) * Math.sqrt(stab / 700)); + + int affinity = 0; + for(EntityPlayer player : playerList) { - Reagent reagent = ReagentRegistry.aetherReagent; - - int affinity = 0; - OmegaParadigm waterParadigm = OmegaRegistry.getParadigmForReagent(reagent); - if(waterParadigm != null && waterParadigm.convertPlayerArmour(player, x, y, z, stab, affinity, enchantability)) + if(waterParadigm != null && waterParadigm.convertPlayerArmour(player, x, y, z, stab, affinity, enchantability, enchantmentLevel)) { APISpellHelper.setPlayerCurrentReagentAmount(player, tickDuration); APISpellHelper.setPlayerMaxReagentAmount(player, tickDuration); APISpellHelper.setPlayerReagentType(player, reagent); APISpellHelper.setCurrentAdditionalMaxHP(player, waterParadigm.getMaxAdditionalHealth()); NewPacketHandler.INSTANCE.sendTo(NewPacketHandler.getReagentBarPacket(reagent, APISpellHelper.getPlayerCurrentReagentAmount(player), APISpellHelper.getPlayerMaxReagentAmount(player)), (EntityPlayerMP)player); + + if(!isTesting) + { + int drainLeft = this.drainTotal; + for(int i = 0; i < 4; i++) + { + if(drainLeft <= 0) + { + break; + } + Int3 jarLoc = this.getJarLocation(i); + TileEntity tile = world.getTileEntity(x + jarLoc.xCoord, y + jarLoc.yCoord, z + jarLoc.zCoord); + if(tile instanceof IReagentHandler) + { + IReagentHandler container = (IReagentHandler)tile; + ReagentStack drained = container.drain(ForgeDirection.UP, new ReagentStack(reagent, drainLeft), true); + if(drained != null) + { + drainLeft -= drained.amount; + world.markBlockForUpdate(x + jarLoc.xCoord, y + jarLoc.yCoord, z + jarLoc.zCoord); + } + } + } + + ritualStone.setActive(false); + } + + break; } } } @@ -102,13 +190,13 @@ public class RitualEffectOmegaTest extends RitualEffect switch(i) { case 0: - return new Int3(-3,1,0); + return new Int3(-3,0,0); case 1: - return new Int3(3,1,0); + return new Int3(3,0,0); case 2: - return new Int3(0,1,-3); + return new Int3(0,0,-3); case 3: - return new Int3(0,1,3); + return new Int3(0,0,3); default: return new Int3(0,0,0); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java index 13a18fbf..b614c2cf 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java @@ -4,18 +4,15 @@ 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.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.Constants; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPedestal.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPedestal.java index dcb522f3..6d0a7b0a 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPedestal.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPedestal.java @@ -1,17 +1,12 @@ package WayofTime.alchemicalWizardry.common.tileEntity; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import net.minecraft.entity.effect.EntityLightningBolt; -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.tileentity.TileEntity; -import net.minecraftforge.common.util.Constants; +import WayofTime.alchemicalWizardry.common.NewPacketHandler; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class TEPedestal extends TEInventory { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java index 138e12db..af245293 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java @@ -1,14 +1,9 @@ package WayofTime.alchemicalWizardry.common.tileEntity; -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; +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; @@ -18,9 +13,12 @@ import net.minecraft.network.Packet; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.Constants; import net.minecraftforge.oredict.OreDictionary; - -import java.util.ArrayList; -import java.util.List; +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 TEInventory { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java index b4047d94..ef3cf992 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TESocket.java @@ -1,16 +1,11 @@ package WayofTime.alchemicalWizardry.common.tileEntity; -import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.NewPacketHandler; -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.tileentity.TileEntity; -import net.minecraftforge.common.util.Constants; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; +import WayofTime.alchemicalWizardry.common.NewPacketHandler; public class TESocket extends TEInventory { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java index 7be849ae..8043a587 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java @@ -1,24 +1,19 @@ package WayofTime.alchemicalWizardry.common.tileEntity; +import java.util.Iterator; +import java.util.List; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.Packet; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import WayofTime.alchemicalWizardry.common.NewPacketHandler; import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; -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.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; - -import java.util.Iterator; -import java.util.List; public class TETeleposer extends TEInventory { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java index 628d8171..5bed0af1 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java @@ -1,15 +1,10 @@ package WayofTime.alchemicalWizardry.common.tileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; 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.common.util.ForgeDirection; import net.minecraftforge.oredict.OreDictionary; import WayofTime.alchemicalWizardry.ModItems; diff --git a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang index 7121f648..e365140f 100644 --- a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -59,6 +59,9 @@ tile.crystalBlock.fullCrystal.name=Crystal Cluster tile.crystalBlock.crystalBrick.name=Crystal Cluster Brick tile.demonPortal.name=Demon Portal tile.demonChest.name=Demon's Chest +tile.enchantmentGlyph.enchantability.name=Glyph of the Adept Enchanter +tile.enchantmentGlyph.enchantmentLevel.name=Glyph of Arcane Potential +tile.stabilityGlyph.stability1.name=Glyph of Rigid Stability #Item Localization item.weakBloodOrb.name=Weak Blood Orb @@ -203,6 +206,7 @@ item.itemAssassinSigil.name=Sigil of the Assassin item.transcendentBloodOrb.name=Transcendent Blood Orb item.itemMailCatalogue.name=Mail Order Catalogue item.inputRoutingFocus.name=Input Routing Focus +item.bloodMagicBaseItem.EnderShard.name=Ender Shard item.outputRoutingFocus.default.name=Default Output Routing Focus item.outputRoutingFocus.modItem.name=Output Routing Focus (ModItem) item.outputRoutingFocus.ignMeta.name=Output Routing Focus (Ignore Meta) diff --git a/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphEnchantability.png b/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphEnchantability.png new file mode 100644 index 00000000..9b7a925c Binary files /dev/null and b/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphEnchantability.png differ diff --git a/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphEnchantmentLevel.png b/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphEnchantmentLevel.png new file mode 100644 index 00000000..873fb3d4 Binary files /dev/null and b/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphEnchantmentLevel.png differ diff --git a/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphStability1.png b/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphStability1.png new file mode 100644 index 00000000..4d3a8245 Binary files /dev/null and b/src/main/resources/assets/alchemicalwizardry/textures/blocks/GlyphStability1.png differ