From 9b0fa9b05238d718bb308d8470bc864c68d9fae5 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Thu, 4 Dec 2014 14:31:31 -0500 Subject: [PATCH] Created all code necessary to summon the portal. I'm awesome, I know. --- .../AlchemicalWizardry.java | 26 ++- .../BloodMagicConfiguration.java | 1 + .../api/rituals/Rituals.java | 4 +- .../client/ClientProxy.java | 14 +- .../common/EntityAITargetAggroCloaking.java | 29 +++ .../alchemicalWizardry/common/IDemon.java | 4 + .../common/block/BlockDemonPortal.java | 16 +- .../demonHoard/DemonPacketAngel.java | 34 --- .../demonHoard/DemonPacketMinorGrunt.java | 61 +++++ .../demonVillage/demonHoard/DemonType.java | 1 + .../demon/EntityMinorDemonGrunt.java | 16 +- .../demon/EntityMinorDemonGruntEarth.java | 50 +++++ .../demon/EntityMinorDemonGruntFire.java | 45 ++++ .../demon/EntityMinorDemonGruntIce.java | 43 ++++ .../demon/EntityMinorDemonGruntWind.java | 43 ++++ .../tileEntity/BlockDemonChest.java | 2 +- .../tileEntity/TEDemonPortal.java | 77 ++++++- .../common/entity/mob/EntityDemon.java | 46 +++- .../projectile/ExplosionProjectile.java | 20 +- .../entity/projectile/FireProjectile.java | 2 +- .../entity/projectile/IceProjectile.java | 9 +- .../entity/projectile/WindGustProjectile.java | 9 +- .../common/items/DaggerOfSacrifice.java | 28 ++- .../items/energy/ItemAttunedCrystal.java | 2 +- .../common/potion/PotionDemonCloak.java | 18 ++ .../renderer/mob/RenderMinorDemonGrunt.java | 49 ++++ .../renderer/model/ModelMinorDemonGrunt.java | 113 ++++++++++ .../rituals/RitualEffectDemonPortal.java | 212 ++++++++++++++++++ .../common/tileEntity/TEAltar.java | 26 +++ .../schematics/building/buildings.zip | Bin 16998 -> 17008 bytes .../textures/models/MinorDemonGrunt_earth.png | Bin 0 -> 5375 bytes .../textures/models/MinorDemonGrunt_fire.png | Bin 0 -> 5373 bytes .../textures/models/MinorDemonGrunt_ice.png | Bin 0 -> 5399 bytes .../models/MinorDemonGrunt_normal.png | Bin 0 -> 4632 bytes .../textures/models/MinorDemonGrunt_wind.png | Bin 0 -> 5392 bytes .../textures/models/TransCircleDemon.png | Bin 0 -> 137482 bytes .../assets/alchemicalwizardryBooks/books.txt | 4 +- 37 files changed, 915 insertions(+), 89 deletions(-) create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggroCloaking.java delete mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketAngel.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntEarth.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntFire.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntIce.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntWind.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDemonCloak.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderMinorDemonGrunt.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMinorDemonGrunt.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectDemonPortal.java create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_earth.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_fire.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_ice.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_normal.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_wind.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/models/TransCircleDemon.png diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 75e2282a..5c241a72 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -75,9 +75,13 @@ import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; import WayofTime.alchemicalWizardry.common.book.BUEntries; import WayofTime.alchemicalWizardry.common.compress.AdvancedCompressionHandler; import WayofTime.alchemicalWizardry.common.compress.BaseCompressionHandler; -import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketAngel; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketMinorGrunt; import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketRegistry; import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntEarth; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntFire; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntIce; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntWind; import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonChest; import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; @@ -102,6 +106,7 @@ 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.PotionDemonCloak; import WayofTime.alchemicalWizardry.common.potion.PotionDrowning; import WayofTime.alchemicalWizardry.common.potion.PotionFeatherFall; import WayofTime.alchemicalWizardry.common.potion.PotionFireFuse; @@ -121,6 +126,7 @@ 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.RitualEffectDemonPortal; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectEllipsoid; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectEvaporation; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectExpulsion; @@ -290,6 +296,7 @@ public class AlchemicalWizardry public static Potion customPotionSoulHarden; public static Potion customPotionDeaf; public static Potion customPotionFeatherFall; + public static Potion customPotionDemonCloak; public static int customPotionDrowningID; public static int customPotionBoostID; @@ -306,6 +313,7 @@ public class AlchemicalWizardry public static int customPotionSoulHardenID; public static int customPotionDeafID; public static int customPotionFeatherFallID; + public static int customPotionDemonCloakID; public static boolean ritualDisabledWater; public static boolean ritualDisabledLava; @@ -394,6 +402,10 @@ public class AlchemicalWizardry public static String entityShadeElementalID = "AW013"; public static String entityHolyElementalID = "AW014"; public static String entityMinorDemonGruntID = "AW015"; + public static String entityMinorDemonGruntFireID = "AW016"; + public static String entityMinorDemonGruntWindID = "AW017"; + public static String entityMinorDemonGruntIceID = "AW018"; + public static String entityMinorDemonGruntEarthID = "AW019"; public static Fluid lifeEssenceFluid; @@ -681,6 +693,7 @@ public class AlchemicalWizardry 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")); + customPotionDemonCloak = (new PotionDemonCloak(customPotionDemonCloakID, false, 0).setIconIndex(0, 0).setPotionName("Demo Cloaking")); ItemStack masterBloodOrbStack = new ItemStack(ModItems.masterBloodOrb); @@ -741,13 +754,14 @@ public class AlchemicalWizardry this.initAlchemyPotionRecipes(); this.initAltarRecipes(); - this.initRituals(); + this.initBindingRecipes(); this.initHarvestRegistry(); this.initCombinedAlchemyPotionRecipes(); ReagentRegistry.initReagents(); this.initReagentRegistries(); + this.initRituals(); this.initDemonPacketRegistiry(); this.initiateRegistry(); @@ -851,6 +865,11 @@ public class AlchemicalWizardry EntityRegistry.registerModEntity(EntityShadeElemental.class, "ShadeElemental", 32, this, 120, 3, true); EntityRegistry.registerModEntity(EntityHolyElemental.class, "HolyElemental", 33, this, 120, 3, true); EntityRegistry.registerModEntity(EntityMinorDemonGrunt.class, "MinorDemonGrunt", 34, this, 80, 3, true); + EntityRegistry.registerModEntity(EntityMinorDemonGruntFire.class, "MinorDemonGruntFire", 35, this, 80, 3, true); + EntityRegistry.registerModEntity(EntityMinorDemonGruntWind.class, "MinorDemonGruntWind", 36, this, 80, 3, true); + EntityRegistry.registerModEntity(EntityMinorDemonGruntIce.class, "MinorDemonGruntIce", 37, this, 80, 3, true); + EntityRegistry.registerModEntity(EntityMinorDemonGruntEarth.class, "MinorDemonGruntEarth", 38, this, 80, 3, true); + 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)); @@ -1201,6 +1220,7 @@ public class AlchemicalWizardry 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("AW031DemonPortal", 2, 15000000, new RitualEffectDemonPortal(), "Convocation of the Damned", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/TransCircleDemon.png"), 220, 22, 22, 255, 0, 0.501, 0.501, 0, 5, false)); //Rituals.registerRitual(1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); } @@ -1246,7 +1266,7 @@ public class AlchemicalWizardry public static void initDemonPacketRegistiry() { - DemonPacketRegistry.registerDemonPacket("angel", new DemonPacketAngel()); + DemonPacketRegistry.registerDemonPacket("angel", new DemonPacketMinorGrunt()); } public static void initiateRegistry() diff --git a/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java b/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java index 9a306803..7e04569b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java +++ b/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java @@ -82,6 +82,7 @@ public class BloodMagicConfiguration 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(); + AlchemicalWizardry.customPotionDemonCloakID = config.get("Potion ID", "DemonCloak", 114).getInt(); MeteorParadigm.maxChance = config.get("meteor", "maxChance", 1000).getInt(); AlchemicalWizardry.doMeteorsDestroyBlocks = config.get("meteor", "doMeteorsDestroyBlocks", true).getBoolean(true); diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java b/src/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java index 37cadaef..7609e82c 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java @@ -289,9 +289,7 @@ public class Rituals { ritual.effect.onRitualBroken(ritualStone, method); } - } - - System.out.println(method); + } } public static int getNumberOfRituals() diff --git a/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java b/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java index 58ea23b6..7234fc1e 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java +++ b/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java @@ -8,6 +8,10 @@ import WayofTime.alchemicalWizardry.api.spell.EntitySpellProjectile; import WayofTime.alchemicalWizardry.common.CommonProxy; import WayofTime.alchemicalWizardry.common.EntityAirElemental; import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntEarth; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntFire; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntIce; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntWind; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; @@ -51,9 +55,9 @@ 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.RenderGrunt; import WayofTime.alchemicalWizardry.common.renderer.mob.RenderIceDemon; import WayofTime.alchemicalWizardry.common.renderer.mob.RenderLowerGuardian; +import WayofTime.alchemicalWizardry.common.renderer.mob.RenderMinorDemonGrunt; import WayofTime.alchemicalWizardry.common.renderer.mob.RenderShade; import WayofTime.alchemicalWizardry.common.renderer.mob.RenderSmallEarthGolem; import WayofTime.alchemicalWizardry.common.renderer.mob.RenderWingedFireDemon; @@ -63,6 +67,7 @@ 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.ModelMinorDemonGrunt; import WayofTime.alchemicalWizardry.common.renderer.model.ModelShade; import WayofTime.alchemicalWizardry.common.renderer.model.ModelSmallEarthGolem; import WayofTime.alchemicalWizardry.common.renderer.model.ModelWingedFireDemon; @@ -114,7 +119,12 @@ public class ClientProxy extends CommonProxy RenderingRegistry.registerEntityRenderingHandler(EntityFireElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); RenderingRegistry.registerEntityRenderingHandler(EntityShadeElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); RenderingRegistry.registerEntityRenderingHandler(EntityHolyElemental.class, new RenderElemental(new ModelElemental(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityMinorDemonGrunt.class, new RenderGrunt(new ModelShade(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityMinorDemonGrunt.class, new RenderMinorDemonGrunt(new ModelMinorDemonGrunt(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityMinorDemonGruntFire.class, new RenderMinorDemonGrunt(new ModelMinorDemonGrunt(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityMinorDemonGruntIce.class, new RenderMinorDemonGrunt(new ModelMinorDemonGrunt(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityMinorDemonGruntWind.class, new RenderMinorDemonGrunt(new ModelMinorDemonGrunt(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityMinorDemonGruntEarth.class, new RenderMinorDemonGrunt(new ModelMinorDemonGrunt(), 0.5F)); + ClientRegistry.bindTileEntitySpecialRenderer(TEAltar.class, new TEAltarRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TEPedestal.class, new RenderPedestal()); ClientRegistry.bindTileEntitySpecialRenderer(TEPlinth.class, new RenderPlinth()); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggroCloaking.java b/src/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggroCloaking.java new file mode 100644 index 00000000..53de1ddd --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/EntityAITargetAggroCloaking.java @@ -0,0 +1,29 @@ +package WayofTime.alchemicalWizardry.common; + +import net.minecraft.entity.EntityLivingBase; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityDemon; + +public class EntityAITargetAggroCloaking extends EntityAITargetAggro +{ + int cloakLevel; //Level of cloaking that the owner demon is fooled by + public EntityAITargetAggroCloaking(EntityDemon par1EntityDemon, Class par2Class, int par3, boolean par4, int cloak) + { + super(par1EntityDemon, par2Class, par3, par4); + this.cloakLevel = cloak; + } + + @Override + public boolean shouldExecute() + { + EntityLivingBase target = this.taskOwner.getAITarget(); + boolean cloakActive = false; + + if(target != null && target.isPotionActive(AlchemicalWizardry.customPotionBoost.id)) + { + cloakActive = target.getActivePotionEffect(AlchemicalWizardry.customPotionBoost).getAmplifier() >= cloakLevel; + } + + return !cloakActive && super.shouldExecute(); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/IDemon.java b/src/main/java/WayofTime/alchemicalWizardry/common/IDemon.java index eab1d15e..abe0632b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/IDemon.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/IDemon.java @@ -7,4 +7,8 @@ public interface IDemon public boolean isAggro(); public void setAggro(boolean aggro); + + public boolean getDoesDropCrystal(); + + public void setDropCrystal(boolean crystal); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java index 6850ceb5..f9b05cc9 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockDemonPortal.java @@ -1,12 +1,13 @@ package WayofTime.alchemicalWizardry.common.block; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; +import net.minecraft.block.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.demonVillage.tileEntity.TEDemonPortal; public class BlockDemonPortal extends BlockContainer { @@ -18,6 +19,17 @@ public class BlockDemonPortal extends BlockContainer setCreativeTab(AlchemicalWizardry.tabBloodMagic); this.setBlockName("demonPortal"); } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) + { + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TEDemonPortal) + { + ((TEDemonPortal) tile).notifyPortalOfBreak(); + } + super.breakBlock(world, x, y, z, block, meta); + } @Override public TileEntity createNewTileEntity(World var1, int var2) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketAngel.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketAngel.java deleted file mode 100644 index 238521e1..00000000 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketAngel.java +++ /dev/null @@ -1,34 +0,0 @@ -package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt; -import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; - -public class DemonPacketAngel extends DemonHoardPacket -{ - @Override - public boolean canFitType(DemonType type) - { - return true; - } - - @Override - public float getRelativeChance(DemonType type, int tier, boolean spawnGuardian) - { - return 1.0f; - } - - @Override - public int summonDemons(TEDemonPortal teDemonPortal, World world, int x, int y, int z, DemonType type, int tier, boolean spawnGuardian) - { - EntityLivingBase entity = new EntityMinorDemonGrunt(world); - entity.setPosition(x, y, z); - - world.spawnEntityInWorld(entity); - - teDemonPortal.enthrallDemon(entity); - - return 1; - } -} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java new file mode 100644 index 00000000..ca30838a --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java @@ -0,0 +1,61 @@ +package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard; + +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntEarth; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntFire; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntIce; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntWind; +import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; + +public class DemonPacketMinorGrunt extends DemonHoardPacket +{ + @Override + public boolean canFitType(DemonType type) + { + return true; + } + + @Override + public float getRelativeChance(DemonType type, int tier, boolean spawnGuardian) + { + return 1.0f; + } + + @Override + public int summonDemons(TEDemonPortal teDemonPortal, World world, int x, int y, int z, DemonType type, int tier, boolean spawnGuardian) + { + EntityMinorDemonGrunt entity; + + switch(type) + { + case FIRE: + entity = new EntityMinorDemonGruntFire(world); + break; + case ICE: + entity = new EntityMinorDemonGruntIce(world); + break; + case WATER: + entity = new EntityMinorDemonGruntEarth(world); + break; + case WIND: + entity = new EntityMinorDemonGruntWind(world); + break; + case NORMAL: + default: + entity = new EntityMinorDemonGrunt(world); + break; + + } + + entity.setPosition(x, y, z); + + world.spawnEntityInWorld(entity); + + teDemonPortal.enthrallDemon(entity); + entity.setAggro(true); + entity.setDropCrystal(false); + + return 1; + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonType.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonType.java index 8a7a4035..4db1ec7a 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonType.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonType.java @@ -2,6 +2,7 @@ package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard; public enum DemonType { + NORMAL, FIRE, WATER, ICE, diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGrunt.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGrunt.java index 2525d6c4..49b74f2f 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGrunt.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGrunt.java @@ -25,7 +25,7 @@ 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.EntityAITargetAggroCloaking; import WayofTime.alchemicalWizardry.common.Int3; import WayofTime.alchemicalWizardry.common.demonVillage.ai.EntityAIOccasionalRangedAttack; import WayofTime.alchemicalWizardry.common.demonVillage.ai.EntityDemonAIHurtByTarget; @@ -62,8 +62,8 @@ public class EntityMinorDemonGrunt extends EntityDemon implements IOccasionalRan this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); this.targetTasks.addTask(3, new EntityDemonAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetAggro(this, EntityPlayer.class, 0, false)); - this.setAggro(true); + this.targetTasks.addTask(4, new EntityAITargetAggroCloaking(this, EntityPlayer.class, 0, false, 0)); + this.setAggro(false); this.setTamed(false); demonPortal = new Int3(0,0,0); @@ -419,6 +419,12 @@ public class EntityMinorDemonGrunt extends EntityDemon implements IOccasionalRan public boolean attackEntityAsMob(Entity par1Entity) { int i = this.isTamed() ? 20 : 20; + + if(par1Entity instanceof IHoardDemon && ((IHoardDemon) par1Entity).isSamePortal(this)) + { + return false; + } + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); } @@ -428,6 +434,10 @@ public class EntityMinorDemonGrunt extends EntityDemon implements IOccasionalRan @Override public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) { + if(par1EntityLivingBase instanceof IHoardDemon && ((IHoardDemon) par1EntityLivingBase).isSamePortal(this)) + { + return; + } double xCoord; double yCoord; double zCoord; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntEarth.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntEarth.java new file mode 100644 index 00000000..9630eb94 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntEarth.java @@ -0,0 +1,50 @@ +package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon; + +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.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.entity.projectile.ExplosionProjectile; + +public class EntityMinorDemonGruntEarth extends EntityMinorDemonGrunt +{ + public EntityMinorDemonGruntEarth(World par1World) + { + super(par1World); + this.setDemonID(AlchemicalWizardry.entityMinorDemonGruntEarthID); + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) + { + int i = this.isTamed() ? 20 : 20; + if(par1Entity instanceof IHoardDemon && ((IHoardDemon) par1Entity).isSamePortal(this)) + { + return false; + } + + if(par1Entity instanceof EntityLivingBase) + { + ((EntityLivingBase) par1Entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200, 2)); + } + + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) + { + if(par1EntityLivingBase instanceof IHoardDemon && ((IHoardDemon) par1EntityLivingBase).isSamePortal(this)) + { + return; + } + double xCoord; + double yCoord; + double zCoord; + ExplosionProjectile hol = new ExplosionProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 15, 600, false); + this.worldObj.spawnEntityInWorld(hol); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntFire.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntFire.java new file mode 100644 index 00000000..c1b668f8 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntFire.java @@ -0,0 +1,45 @@ +package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.entity.projectile.FireProjectile; + +public class EntityMinorDemonGruntFire extends EntityMinorDemonGrunt +{ + public EntityMinorDemonGruntFire(World par1World) + { + super(par1World); + this.setDemonID(AlchemicalWizardry.entityMinorDemonGruntFireID); + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) + { + int i = this.isTamed() ? 20 : 20; + if(par1Entity instanceof IHoardDemon && ((IHoardDemon) par1Entity).isSamePortal(this)) + { + return false; + } + + par1Entity.setFire(10); + + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) + { + if(par1EntityLivingBase instanceof IHoardDemon && ((IHoardDemon) par1EntityLivingBase).isSamePortal(this)) + { + return; + } + double xCoord; + double yCoord; + double zCoord; + FireProjectile hol = new FireProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 15, 600); + this.worldObj.spawnEntityInWorld(hol); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntIce.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntIce.java new file mode 100644 index 00000000..cd06e680 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntIce.java @@ -0,0 +1,43 @@ +package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.entity.projectile.IceProjectile; + +public class EntityMinorDemonGruntIce extends EntityMinorDemonGrunt +{ + public EntityMinorDemonGruntIce(World par1World) + { + super(par1World); + this.setDemonID(AlchemicalWizardry.entityMinorDemonGruntIceID); + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) + { + int i = this.isTamed() ? 20 : 20; + if(par1Entity instanceof IHoardDemon && ((IHoardDemon) par1Entity).isSamePortal(this)) + { + return false; + } + + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) + { + if(par1EntityLivingBase instanceof IHoardDemon && ((IHoardDemon) par1EntityLivingBase).isSamePortal(this)) + { + return; + } + double xCoord; + double yCoord; + double zCoord; + IceProjectile hol = new IceProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 15, 600); + this.worldObj.spawnEntityInWorld(hol); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntWind.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntWind.java new file mode 100644 index 00000000..318dff03 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntWind.java @@ -0,0 +1,43 @@ +package WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon; + +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.entity.projectile.WindGustProjectile; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityMinorDemonGruntWind extends EntityMinorDemonGrunt +{ + public EntityMinorDemonGruntWind(World par1World) + { + super(par1World); + this.setDemonID(AlchemicalWizardry.entityMinorDemonGruntWindID); + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) + { + int i = this.isTamed() ? 20 : 20; + if(par1Entity instanceof IHoardDemon && ((IHoardDemon) par1Entity).isSamePortal(this)) + { + return false; + } + + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) + { + if(par1EntityLivingBase instanceof IHoardDemon && ((IHoardDemon) par1EntityLivingBase).isSamePortal(this)) + { + return; + } + double xCoord; + double yCoord; + double zCoord; + WindGustProjectile hol = new WindGustProjectile(worldObj, this, par1EntityLivingBase, 1.8f, 0f, 15, 600); + this.worldObj.spawnEntityInWorld(hol); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/BlockDemonChest.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/BlockDemonChest.java index 1521518e..9a494ce6 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/BlockDemonChest.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/BlockDemonChest.java @@ -32,12 +32,12 @@ public class BlockDemonChest extends BlockChest implements IBlockPortalNode @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { - super.breakBlock(world, x, y, z, block, meta); TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TEDemonChest) { ((TEDemonChest) tile).notifyPortalOfInteraction(); } + super.breakBlock(world, x, y, z, block, meta); } // @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/TEDemonPortal.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/TEDemonPortal.java index 957e3bee..d0efa3fe 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/TEDemonPortal.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/TEDemonPortal.java @@ -15,6 +15,7 @@ import java.util.Random; import java.util.Set; import net.minecraft.block.Block; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityCreature; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -43,16 +44,18 @@ import com.google.gson.GsonBuilder; public class TEDemonPortal extends TileEntity { - public static boolean printDebug = false; + public DemonType type = DemonType.FIRE; + + public static boolean printDebug = true; public static int buildingGridDelay = 25; public static int roadGridDelay = 10; public static int demonHoardDelay = 40; - public static float demonRoadChance = 0.6f; + public static float demonRoadChance = 0.3f; public static float demonHouseChance = 0.6f; public static float demonPortalChance = 0.5f; public static float demonHoardChance = 1.0f; - public static float portalTickRate = 0.1f; + public static float portalTickRate = 1f; public static int[] tierCostList = new int[]{1000, 5000, 10000}; @@ -82,6 +85,8 @@ public class TEDemonPortal extends TileEntity public int buildingStage = -1; + public int delayBeforeParty = 0; + public int lockdownTimer; public TEDemonPortal() @@ -287,7 +292,10 @@ public class TEDemonPortal extends TileEntity { return; } - + + DemonType[] types = DemonType.values(); + this.type = types[rand.nextInt(types.length)]; + for (int xIndex = -negXRadius; xIndex <= posXRadius; xIndex++) { for (int zIndex = -negZRadius; zIndex <= posZRadius; zIndex++) @@ -313,18 +321,52 @@ public class TEDemonPortal extends TileEntity if (this.createRandomBuilding(DemonBuilding.BUILDING_PORTAL, tier) >= 1) { + System.out.println("Portal building successfully found!"); this.buildingStage = 0; } isInitialized = true; } + + public void createParty() + { + worldObj.createExplosion(null, xCoord + rand.nextInt(10) - rand.nextInt(10), yCoord, zCoord + rand.nextInt(10) - rand.nextInt(10), 5*rand.nextFloat(), false); + } + public void start() + { + this.delayBeforeParty = 200; + } + /** * Randomly increase one of the cooldowns such that a road, house, or a demon portal tier is caused. Demons are also randomly spawned via this mechanic. */ @Override public void updateEntity() { + if(worldObj.isRemote) + { + return; + } + + if(this.delayBeforeParty > 0) + { + this.delayBeforeParty--; + + if(rand.nextInt(20) == 0) + { + this.createParty(); + } + + if(delayBeforeParty <= 0) + { + worldObj.createExplosion(null, xCoord, yCoord, zCoord, 15, false); + this.initialize(); + } + + return; + } + if (!isInitialized) { return; @@ -370,7 +412,7 @@ public class TEDemonPortal extends TileEntity if(this.demonHoardCooldown <= 0) { - int complexityCost = this.createRandomDemonHoard(this, tier, DemonType.FIRE, this.isLockedDown()); + int complexityCost = this.createRandomDemonHoard(this, tier, this.type, this.isLockedDown()); if(complexityCost > 0) { this.demonHoardCooldown = TEDemonPortal.demonHoardDelay * complexityCost; @@ -448,6 +490,8 @@ public class TEDemonPortal extends TileEntity this.pointPool = par1NBTTagCompound.getFloat("pointPool"); this.lockdownTimer = par1NBTTagCompound.getInteger("lockdownTimer"); + this.delayBeforeParty = par1NBTTagCompound.getInteger("delayBeforeParty"); + this.type = DemonType.valueOf(par1NBTTagCompound.getString("demonType")); } @Override @@ -497,6 +541,8 @@ public class TEDemonPortal extends TileEntity par1NBTTagCompound.setInteger("nextDemonPortalDirection", this.nextDemonPortalDirection.ordinal()); par1NBTTagCompound.setFloat("pointPool", pointPool); par1NBTTagCompound.setInteger("lockdownTimer", this.lockdownTimer); + par1NBTTagCompound.setInteger("delayBeforeParty", delayBeforeParty); + par1NBTTagCompound.setString("demonType", this.type.toString()); } public int createRandomDemonHoard(TEDemonPortal teDemonPortal, int tier, DemonType type, boolean spawnGuardian) @@ -1170,10 +1216,11 @@ public class TEDemonPortal extends TileEntity { for (DemonBuilding build : TEDemonPortal.buildingList) { - if (build.buildingType != DemonBuilding.BUILDING_PORTAL) + if (build.buildingType != DemonBuilding.BUILDING_PORTAL || build.buildingTier != buildingTier) { continue; } + System.out.println("This one matches!"); if (schemMap.containsKey(nextDir)) { schemMap.get(nextDir).add(build); @@ -1436,6 +1483,8 @@ public class TEDemonPortal extends TileEntity { case 0: return rand.nextFloat() < 0.6 ? Blocks.cobblestone : Blocks.mossy_cobblestone; + case 1: + return Blocks.stonebrick; default: return Blocks.nether_brick; } @@ -1443,6 +1492,11 @@ public class TEDemonPortal extends TileEntity public int getRoadMeta() { + switch(this.tier) + { + case 1: + return rand.nextFloat() < 0.6 ? 1 : 0; + } return 0; } @@ -1504,4 +1558,15 @@ public class TEDemonPortal extends TileEntity { this.demonHouseCooldown += addition; } + + public void notifyPortalOfBreak() + { + for(IHoardDemon demon : hoardList) + { + if(demon instanceof Entity) + { + ((Entity) demon).setDead(); + } + } + } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java b/src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java index 5ad34d0f..b2ecdba1 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java @@ -15,12 +15,26 @@ public class EntityDemon extends EntityTameable implements IDemon { private boolean isAggro; private String demonID; + + protected boolean dropCrystal = true; public EntityDemon(World par1World, String demonID) { super(par1World); this.demonID = demonID; } + + @Override + public boolean getDoesDropCrystal() + { + return dropCrystal; + } + + @Override + public void setDropCrystal(boolean crystal) + { + this.dropCrystal = crystal; + } @Override public void setSummonedConditions() @@ -49,21 +63,24 @@ public class EntityDemon extends EntityTameable implements IDemon protected void dropFewItems(boolean par1, int par2) { - ItemStack drop = new ItemStack(ModItems.demonPlacer); - - DemonPlacer.setDemonString(drop, this.getDemonID()); + if(this.getDoesDropCrystal()) + { + ItemStack drop = new ItemStack(ModItems.demonPlacer); + + DemonPlacer.setDemonString(drop, this.getDemonID()); - if ((this.getOwner() instanceof EntityPlayer)) - { - DemonPlacer.setOwnerName(drop, SpellHelper.getUsername((EntityPlayer) this.getOwner())); - } + if ((this.getOwner() instanceof EntityPlayer)) + { + DemonPlacer.setOwnerName(drop, SpellHelper.getUsername((EntityPlayer) this.getOwner())); + } - if (this.hasCustomNameTag()) - { - drop.setStackDisplayName(this.getCustomNameTag()); - } + if (this.hasCustomNameTag()) + { + drop.setStackDisplayName(this.getCustomNameTag()); + } - this.entityDropItem(drop, 0.0f); + this.entityDropItem(drop, 0.0f); + } } public void onLivingUpdate() @@ -98,4 +115,9 @@ public class EntityDemon extends EntityTameable implements IDemon { return this.demonID; } + + protected void setDemonID(String id) + { + this.demonID = id; + } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java index 6f48e648..24c6af9b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/ExplosionProjectile.java @@ -32,6 +32,12 @@ public class ExplosionProjectile extends EnergyBlastProjectile super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); causesEnvDamage = flag; } + + public ExplosionProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir, boolean flag) + { + super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); + causesEnvDamage = flag; + } @Override public DamageSource getDamageSource() @@ -48,6 +54,8 @@ public class ExplosionProjectile extends EnergyBlastProjectile { return; } + + this.onImpact(mop.entityHit); worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float) (2), causesEnvDamage); } else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) @@ -69,20 +77,10 @@ public class ExplosionProjectile extends EnergyBlastProjectile { if (mop instanceof EntityLivingBase) { - if (((EntityLivingBase) mop).isImmuneToFire()) - { - doDamage((int) (projectileDamage), mop); - } else - { - doDamage(projectileDamage, mop); - } + doDamage(projectileDamage, mop); } } - if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ)) - { - } - spawnHitParticles("magicCrit", 8); this.setDead(); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java index 4ae7377c..ba8f3041 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/FireProjectile.java @@ -83,7 +83,7 @@ public class FireProjectile extends EnergyBlastProjectile { if (mop instanceof EntityLivingBase) { - ((EntityLivingBase) mop).setFire(50); + ((EntityLivingBase) mop).setFire(10 * this.projectileDamage); ((EntityLivingBase) mop).setRevengeTarget(shootingEntity); if (((EntityLivingBase) mop).isPotionActive(Potion.fireResistance) || ((EntityLivingBase) mop).isImmuneToFire()) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java index 0861befa..3ba02709 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/IceProjectile.java @@ -1,7 +1,5 @@ package WayofTime.alchemicalWizardry.common.entity.projectile; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.potion.Potion; @@ -9,6 +7,7 @@ import net.minecraft.potion.PotionEffect; 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 IceProjectile extends EnergyBlastProjectile { @@ -31,10 +30,10 @@ public class IceProjectile extends EnergyBlastProjectile { 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) + + public IceProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir) { - super(worldObj, entityIceDemon, par1EntityLivingBase, f, g, i, j); + super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir); } @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java index aac4552a..fbe86c24 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/entity/projectile/WindGustProjectile.java @@ -28,6 +28,11 @@ public class WindGustProjectile extends EnergyBlastProjectile { super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch); } + + public WindGustProjectile(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() @@ -63,9 +68,9 @@ public class WindGustProjectile extends EnergyBlastProjectile { if (mop instanceof EntityLivingBase) { - ((EntityLivingBase) mop).motionX = this.motionX * 2; + ((EntityLivingBase) mop).motionX = this.motionX * 0.25*this.projectileDamage; ((EntityLivingBase) mop).motionY = 1.5; - ((EntityLivingBase) mop).motionZ = this.motionZ * 2; + ((EntityLivingBase) mop).motionZ = this.motionZ * 0.25*this.projectileDamage; } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java index 69c46713..8beca938 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java @@ -22,6 +22,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.IDemon; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; @@ -72,6 +73,13 @@ public class DaggerOfSacrifice extends EnergyItems return false; } + if(par2EntityLivingBase instanceof IDemon) + { + System.out.println("Demon"); + ((IDemon)par2EntityLivingBase).setDropCrystal(false); + this.findAndNotifyAltarOfDemon(world, par2EntityLivingBase); + } + if (par2EntityLivingBase instanceof EntityVillager && !par2EntityLivingBase.isChild()) { if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 2000)) @@ -151,6 +159,8 @@ public class DaggerOfSacrifice extends EnergyItems if (findAndFillAltar(par2EntityLivingBase.worldObj, par2EntityLivingBase, 500)) { + + double posX = par2EntityLivingBase.posX; double posY = par2EntityLivingBase.posY; double posZ = par2EntityLivingBase.posZ; @@ -200,7 +210,6 @@ public class DaggerOfSacrifice extends EnergyItems } @Override - public Multimap getItemAttributeModifiers() { Multimap multimap = super.getItemAttributeModifiers(); @@ -208,6 +217,23 @@ public class DaggerOfSacrifice extends EnergyItems return multimap; } + public boolean findAndNotifyAltarOfDemon(World world, EntityLivingBase sacrifice) + { + 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.addToDemonBloodDuration(50); + + return true; + } + public boolean findAndFillAltar(World world, EntityLivingBase sacrifice, int amount) { int posX = (int) Math.round(sacrifice.posX - 0.5f); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java index b8aa28b3..cee82d2d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/energy/ItemAttunedCrystal.java @@ -24,7 +24,7 @@ import java.util.List; public class ItemAttunedCrystal extends Item implements IReagentManipulator { - public static final int maxDistance = 5; + public static final int maxDistance = 6; public IIcon crystalBody; public IIcon crystalLabel; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDemonCloak.java b/src/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDemonCloak.java new file mode 100644 index 00000000..ea2045f4 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/potion/PotionDemonCloak.java @@ -0,0 +1,18 @@ +package WayofTime.alchemicalWizardry.common.potion; + +import net.minecraft.potion.Potion; + +public class PotionDemonCloak extends Potion +{ + public PotionDemonCloak(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/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderMinorDemonGrunt.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderMinorDemonGrunt.java new file mode 100644 index 00000000..284f6f4d --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderMinorDemonGrunt.java @@ -0,0 +1,49 @@ +package WayofTime.alchemicalWizardry.common.renderer.mob; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGrunt; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntEarth; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntFire; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntIce; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityMinorDemonGruntWind; + +public class RenderMinorDemonGrunt extends RenderLiving +{ + private static final ResourceLocation normalTexture = new ResourceLocation("alchemicalwizardry", "textures/models/MinorDemonGrunt_normal.png"); + private static final ResourceLocation fireTexture = new ResourceLocation("alchemicalwizardry", "textures/models/MinorDemonGrunt_fire.png"); + private static final ResourceLocation iceTexture = new ResourceLocation("alchemicalwizardry", "textures/models/MinorDemonGrunt_ice.png"); + private static final ResourceLocation windTexture = new ResourceLocation("alchemicalwizardry", "textures/models/MinorDemonGrunt_wind.png"); + private static final ResourceLocation earthTexture = new ResourceLocation("alchemicalwizardry", "textures/models/MinorDemonGrunt_earth.png"); + + public RenderMinorDemonGrunt(ModelBase par1ModelBase, float par2) + { + super(par1ModelBase, par2); + } + + public ResourceLocation func_110832_a(EntityMinorDemonGrunt entity) + { + if(entity instanceof EntityMinorDemonGruntFire) + { + return fireTexture; + }else if(entity instanceof EntityMinorDemonGruntWind) + { + return windTexture; + }else if(entity instanceof EntityMinorDemonGruntIce) + { + return iceTexture; + }else if(entity instanceof EntityMinorDemonGruntEarth) + { + return earthTexture; + } + + return normalTexture; + } + + public ResourceLocation getEntityTexture(Entity entity) + { + return this.func_110832_a((EntityMinorDemonGrunt) entity); + } +} \ No newline at end of file diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMinorDemonGrunt.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMinorDemonGrunt.java new file mode 100644 index 00000000..4519617d --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelMinorDemonGrunt.java @@ -0,0 +1,113 @@ +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 ModelMinorDemonGrunt extends ModelBase +{ + //fields + ModelRenderer head; + ModelRenderer chest; + ModelRenderer midrift; + ModelRenderer rightarm; + ModelRenderer leftarm; + ModelRenderer rightleg; + ModelRenderer leftleg; + ModelRenderer middle; + + public ModelMinorDemonGrunt() + { + textureWidth = 128; + textureHeight = 64; + + head = new ModelRenderer(this, 0, 0); + head.addBox(-4F, -8F, -4F, 8, 8, 8); + head.setRotationPoint(0F, 0F, 0F); + head.setTextureSize(128, 64); + head.mirror = true; + setRotation(head, 0F, 0F, 0F); + chest = new ModelRenderer(this, 16, 16); + chest.addBox(-5F, 0F, -3.5F, 10, 7, 7); + chest.setRotationPoint(0F, 0F, 0F); + chest.setTextureSize(128, 64); + chest.mirror = true; + setRotation(chest, 0F, 0F, 0F); + midrift = new ModelRenderer(this, 16, 33); + midrift.addBox(-4F, 7F, -2F, 8, 5, 4); + midrift.setRotationPoint(0F, 0F, 0F); + midrift.setTextureSize(128, 64); + midrift.mirror = true; + setRotation(midrift, 0F, 0F, 0F); + rightarm = new ModelRenderer(this, 50, 16); + rightarm.mirror = true; + rightarm.addBox(-3F, -2F, -2F, 4, 12, 4); + rightarm.setRotationPoint(-6F, 2F, 0F); + rightarm.setTextureSize(128, 64); + rightarm.mirror = true; + setRotation(rightarm, 0F, 0F, 0F); + rightarm.mirror = false; + leftarm = new ModelRenderer(this, 50, 16); + leftarm.addBox(-1F, -2F, -2F, 4, 12, 4); + leftarm.setRotationPoint(6F, 2F, 0F); + leftarm.setTextureSize(128, 64); + leftarm.mirror = true; + setRotation(leftarm, 0F, 0F, 0F); + rightleg = new ModelRenderer(this, 0, 16); + rightleg.mirror = true; + rightleg.addBox(-2F, 0F, -2F, 4, 12, 4); + rightleg.setRotationPoint(-2F, 12F, 0F); + rightleg.setTextureSize(128, 64); + rightleg.mirror = true; + setRotation(rightleg, 0F, 0F, 0F); + rightleg.mirror = false; + leftleg = new ModelRenderer(this, 0, 16); + leftleg.addBox(-2F, 0F, -2F, 4, 12, 4); + leftleg.setRotationPoint(2F, 12F, 0F); + leftleg.setTextureSize(128, 64); + leftleg.mirror = true; + setRotation(leftleg, 0F, 0F, 0F); + middle = new ModelRenderer(this, 16, 43); + middle.addBox(-2F, 7F, -3F, 4, 3, 1); + middle.setRotationPoint(0F, 0F, 0F); + middle.setTextureSize(128, 64); + 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); + head.render(f5); + chest.render(f5); + midrift.render(f5); + rightarm.render(f5); + leftarm.render(f5); + rightleg.render(f5); + leftleg.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); + + 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.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; + } + +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectDemonPortal.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectDemonPortal.java new file mode 100644 index 00000000..daf44186 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectDemonPortal.java @@ -0,0 +1,212 @@ +package WayofTime.alchemicalWizardry.common.rituals; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.ModBlocks; +import WayofTime.alchemicalWizardry.api.alchemy.energy.Reagent; +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.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.Int3; +import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; +import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; +import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; + +public class RitualEffectDemonPortal extends RitualEffect +{ + public static final int neededAmount = 16000; + public static final Random rand = new Random(); + public static final int drainRate = 50; + public static final Reagent[] reagents = new Reagent[]{ReagentRegistry.aetherReagent, ReagentRegistry.aquasalusReagent, ReagentRegistry.terraeReagent, ReagentRegistry.incendiumReagent, ReagentRegistry.sanctusReagent, ReagentRegistry.tenebraeReagent, ReagentRegistry.magicalesReagent, ReagentRegistry.potentiaReagent}; + public static final Int3[] jarLocations = new Int3[]{new Int3(4, 5, 4), new Int3(-4, 5, 4), new Int3(4, 5, -4), new Int3(-4, 5, -4), new Int3(0, 5, 6), new Int3(0, 5, -6), new Int3(6, 5, 0), new Int3(-6, 5, 0)}; + + @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 + { + NBTTagCompound tag = ritualStone.getCustomRitualTag(); + + boolean reagentsFulfilled = true; + + for(Reagent reagent : reagents) + { + int reagentAmount = tag.getInteger(ReagentRegistry.getKeyForReagent(reagent)); + if(reagentAmount < neededAmount) + { + reagentsFulfilled = false; + System.out.println("Reagents not fulfilled. Missing: " + ReagentRegistry.getKeyForReagent(reagent)); + int drainAmount = Math.min(drainRate, neededAmount - reagentAmount); + + if(drainAmount <= 0) + { + continue; + } + + if(this.canDrainReagent(ritualStone, reagent, drainAmount, true)) + { + if(rand.nextInt(10) == 0) + { + this.createRandomLightning(world, x, y, z); + } + reagentAmount += drainAmount; + + tag.setInteger(ReagentRegistry.getKeyForReagent(reagent), reagentAmount); + break; + } + } + } + + ritualStone.setCustomRitualTag(tag); + + if(reagentsFulfilled && checkCreatePortal(ritualStone)) + { + world.setBlock(x, y+1, z, ModBlocks.blockDemonPortal); + + TEDemonPortal portal = (TEDemonPortal) world.getTileEntity(x, y + 1, z); + portal.start(); + + ritualStone.setActive(false); + } + + SoulNetworkHandler.syphonFromNetwork(owner, this.getCostPerRefresh()); + } + } + + public boolean checkCreatePortal(IMasterRitualStone ritualStone) + { + TileEntity entity = ritualStone.getWorld().getTileEntity(ritualStone.getXCoord(), ritualStone.getYCoord() + 1, ritualStone.getZCoord()); + if(entity instanceof TEAltar) + { + TEAltar altar = (TEAltar)entity; + if(altar.hasDemonBlood() && ritualStone.getWorld().isAirBlock(ritualStone.getXCoord(), ritualStone.getYCoord() + 2, ritualStone.getZCoord())) + { + return true; + } + } + return false; + } + + @Override + public int getCostPerRefresh() + { + return 0; + } + + public void createRandomLightning(World world, int x, int y, int z) + { + world.addWeatherEffect(new EntityLightningBolt(world, x + rand.nextInt(10) - rand.nextInt(10), y + 1, z + rand.nextInt(10) - rand.nextInt(10))); + } + + @Override + public boolean startRitual(IMasterRitualStone ritualStone, EntityPlayer player) + { + if(!checkJars(ritualStone)) + { + player.addChatMessage(new ChatComponentText("A jar on one of the pillars appears to be missing...")); + return false; + } + return true; + } + + public boolean checkJars(IMasterRitualStone ritualStone) + { + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); + + for(Int3 pos : jarLocations) + { + if(!(ritualStone.getWorld().getTileEntity(x + pos.xCoord, y + pos.yCoord, z + pos.zCoord) instanceof TEBellJar)) + { + return false; + } + } + + return true; + } + + @Override + public List getRitualComponentList() + { + ArrayList demonRitual = new ArrayList(); + this.addParallelRunes(demonRitual, 3, 0, RitualComponent.FIRE); + this.addParallelRunes(demonRitual, 5, 0, RitualComponent.FIRE); + this.addCornerRunes(demonRitual, 2, 0, RitualComponent.AIR); + this.addCornerRunes(demonRitual, 3, 0, RitualComponent.DUSK); + this.addOffsetRunes(demonRitual, 3, 4, 0, RitualComponent.AIR); + + this.addCornerRunes(demonRitual, 4, 1, RitualComponent.BLANK); + this.addCornerRunes(demonRitual, 4, 2, RitualComponent.EARTH); + this.addCornerRunes(demonRitual, 4, 3, RitualComponent.EARTH); + this.addCornerRunes(demonRitual, 4, 4, RitualComponent.DUSK); + + this.addParallelRunes(demonRitual, 6, 1, RitualComponent.BLANK); + this.addParallelRunes(demonRitual, 6, 2, RitualComponent.WATER); + this.addParallelRunes(demonRitual, 6, 3, RitualComponent.WATER); + this.addParallelRunes(demonRitual, 6, 4, RitualComponent.DUSK); + + this.addOffsetRunes(demonRitual, 2, 6, 1, RitualComponent.FIRE); + this.addOffsetRunes(demonRitual, 2, 7, 1, RitualComponent.BLANK); + this.addOffsetRunes(demonRitual, 2, 8, 1, RitualComponent.FIRE); + this.addOffsetRunes(demonRitual, 2, 9, 1, RitualComponent.BLANK); + this.addOffsetRunes(demonRitual, 1, 9, 1, RitualComponent.AIR); + this.addParallelRunes(demonRitual, 9, 2, RitualComponent.DUSK); + + this.addCornerRunes(demonRitual, 6, 3, RitualComponent.BLANK); + this.addOffsetRunes(demonRitual, 6, 7, 3, RitualComponent.BLANK); + this.addOffsetRunes(demonRitual, 5, 7, 3, RitualComponent.AIR); + this.addOffsetRunes(demonRitual, 4, 7, 3, RitualComponent.AIR); + + return demonRitual; + } + + public void addOffsetRunes(ArrayList ritualList, int off1, int off2, int y, int rune) + { + ritualList.add(new RitualComponent(off1, y, off2, rune)); + ritualList.add(new RitualComponent(off2, y, off1, rune)); + ritualList.add(new RitualComponent(off1, y, -off2, rune)); + ritualList.add(new RitualComponent(-off2, y, off1, rune)); + ritualList.add(new RitualComponent(-off1, y, off2, rune)); + ritualList.add(new RitualComponent(off2, y, -off1, rune)); + ritualList.add(new RitualComponent(-off1, y, -off2, rune)); + ritualList.add(new RitualComponent(-off2, y, -off1, rune)); + } + + public void addCornerRunes(ArrayList ritualList, int off1, int y, int rune) + { + ritualList.add(new RitualComponent(off1, y, off1, rune)); + ritualList.add(new RitualComponent(off1, y, -off1, rune)); + ritualList.add(new RitualComponent(-off1, y, -off1, rune)); + ritualList.add(new RitualComponent(-off1, y, off1, rune)); + } + + public void addParallelRunes(ArrayList ritualList, int off1, int y, int rune) + { + ritualList.add(new RitualComponent(off1, y, 0, rune)); + ritualList.add(new RitualComponent(-off1, y, 0, rune)); + ritualList.add(new RitualComponent(0, y, -off1, rune)); + ritualList.add(new RitualComponent(0, y, off1, rune)); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java index 91e15bf1..36e35885 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java @@ -66,6 +66,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui private int hasChanged = 0; private int lockdownDuration; + private int demonBloodDuration; public TEAltar() { @@ -88,6 +89,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui isResultBlock = false; progress = 0; this.lockdownDuration = 0; + this.demonBloodDuration = 0; } /** @@ -106,6 +108,21 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui { return 5; } + + public void addToDemonBloodDuration(int dur) + { + this.demonBloodDuration++; + } + + public boolean hasDemonBlood() + { + return this.demonBloodDuration > 0; + } + + public void decrementDemonBlood() + { + this.demonBloodDuration = Math.max(0, this.demonBloodDuration - 1); + } @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) @@ -171,6 +188,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui isResultBlock = par1NBTTagCompound.getBoolean("isResultBlock"); lockdownDuration = par1NBTTagCompound.getInteger("lockdownDuration"); accelerationUpgrades = par1NBTTagCompound.getInteger("accelerationUpgrades"); + demonBloodDuration = par1NBTTagCompound.getInteger("demonBloodDuration"); } public void setMainFluid(FluidStack fluid) @@ -249,6 +267,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui par1NBTTagCompound.setInteger("bufferCapacity", bufferCapacity); par1NBTTagCompound.setInteger("lockdownDuration", lockdownDuration); par1NBTTagCompound.setInteger("accelerationUpgrades", this.accelerationUpgrades); + par1NBTTagCompound.setInteger("demonBloodDuration", demonBloodDuration); } @Override @@ -548,6 +567,13 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui @Override public void updateEntity() { + this.decrementDemonBlood(); + + if(this.hasDemonBlood() && !worldObj.isRemote) + { + SpellHelper.sendIndexedParticleToAllAround(worldObj, xCoord, yCoord, zCoord, 20, worldObj.provider.dimensionId, 1, xCoord, yCoord, zCoord); + } + if (this.lockdownDuration > 0) { this.lockdownDuration--; diff --git a/src/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip b/src/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip index f1e8687ecfc232e970bd24920ab1904f777e2a9b..1c5f2f3c27e90a7cc8df56189bf85d6fd948af39 100644 GIT binary patch delta 1179 zcmV;M1Z4Z>gaPn`0kGNw4%2OfMa%*7nCb%n0Q69k=mQ*on@vyKKoExSNc@K=XCv*d zlMuL7^w^$?L_dTgCo#psv61bTrilOEBvr6ovBewDW5Xrub$Ie-c6MiHym>r68VrU> zunLFggW;!D5XT?WJYQd?4`HT<-tP7?O|#FN`>MSBTEF~KUe13+@iI!jUq)f}Lht%M ztn|j|;_gF#loy+>Z`+>1;PLOv{${k?>RLrfxX6N=;yf?XB%Ei_;%?|YzjGB9!7?a< zlCu5NUW4|&d0o=((>yAoG|B6@$FjM3)31xox87dZ~@3YpK!q%DgBVS1U89cRYd`G-?ow+c7U$J;0^%}O0f%$$k+U!bawaXY@vxe8G;SDR^^di2k_Wv(7GTJ97T_{~} z#mmrt&sgzIsv!I3_3=^l)8vY{#%s`iR?%4z7p}27Cads@>&#ay9xmaYzsskx z*Dm)WsAl;>c+FbJu=o*c95$a9@*Gz@TL)sxKnkV9H70}N*+Pn=PqL3(*e43`0|mI? z57+zIm6EOYv)eOxcjk(hp`VH@HqJXgjpA8<@m1}IWtEF`K99p)ZaI4h;`pr}5E3en zJM)F`29|GF`93V)XXQ^|`BuJ`;=jySEFM-bWPDrrIDz>>*`<_kYSj9QRj*L-u<2RL z!vT?vhj2J#qahp&*;ojNLO2q#k%|peaGYurrVdLLqAX2j^B~J#%@LH>p#3aDJV!8p z>^8~z1Q9-{4a*lQV+%cBb>_=#Gz>}?vW-Gb0}m`auJD{?r)--U+u}^YYbG5 zJnMz{ip955ziD>kDm9m|xXq*oR}q?jmNvd(@x8?Q+K^d>b=3V(!jqnz^X!zD*)2Dr zw{gNe4(6{q-`H!==A2Ip{i4GC1B42yjUd;f4f%h-OQF4Amq z>+~GncrS-vpZoeve!tLJoboNU(6aSL*Q|@p>D=gDWf||Tu7Y)Xa~Z9|^Ii9U`*4*e z7q?+vypAfT=wPeJzlq@he z5lZdhY?e)CyU%6gV7UylgG&*z1xVK&qRioWgVKGJK0@hZls-Y}rzpM2A?4$LCgk>I z(|-B`P)h>@6aWAK2mn@bdqo?w@&{uz4%2OfMa%*7nCb%n0Q69kV?8wv=rVbu@(<7f zug5fs@(+`yJv0IBliNLE0gaPAK4AeHlb=3n0qK(pKV|{-lW{*{0g02;KVt!plQ=+M t0p*jJKwkmpllVYh0XmacL0l5q|I;GQvX6OLt}gQXq_F*9^X@#)i_hz~&HmNb7q7nTUrm3c**sl-zetnf z-^tZo@;sU4v)d1UX<4mjzO5&Ey@&1p-COB=W6vU8CbJ^GuFlFTUnbKco!$0>-3J#* z70=@;-Xk`DHfS3@jjr~bySz-RG+&l4Ko9%T`Xj&2*S~XP(s3Bn=U2OV^J4n<^T+qo zkAX7UVrb(|4mqP6&g3O1i|+0uZPkgY6#4>`2K$O<-F&K)6#j=ZB4 z$ODDlLxxs}yfNqLG3Sr5Z+{5fVX%EkMz+piOZg(ge4&to4dk(JG6oiSnX9o_iIst^ zGuUFja8Ez3aLdT<;0QB$;2ap-S(7_zVkb=*7_->j$rf|6rJNjMCWoF)?qKm>;E1w# zM1d7LaT(cv9ej$J+^!EijjoPrU!x>WhC$nK_vJpsNlrkNobk9_QiwJfnUf}uIW#9t ziX;GR=aI^M7DFqLE#{68BM&fdVCP3C{+r#PvopvOD<1dBYI4T$UnZCf6)~mY>LG`E;5k+jH6EKF+fL^U{cd z!Yf28kVDSs5HmXBjE*p)N1V}3=x&F;*PsnX=4@7Qbi+n}%%K%dW*UKKDNh^BW<#0G zxf$~^SFx~y#nmgUTyfP3D^^^s;z|`(Pq1>rRg=!eMBap_MZTO&|J+R>9Ch$bj1+6wn4EcemL?EYw&1U|57+V?m*KHlR7O-vz6+owatZX4(*0 zupyVc3TT6oB{q9c-ukK^42zN1SWrl@2DHI{$bKtteQ6G^-N5I9ak-17E|$6O-Do?w zYk-wmJZ%ZAVbC^20?R7gQkSw7R7eG@yBjT!f_V8e&0fE=Gz{GWKz1d~X;-cCVs`WT zXSrc;s2)bh&uzaJ?xBc82YKTrWzyk_Aq`)Hzd_sZS zFNS%jeDxYvORrkeIb|BBTXHIxjBF^d-(z(Bz#JS@#)vpjP?I=81=CZMO=XiH uKNyo=KtciAlcGRh0o{`VL0$nclVL$$0eX|cL0|!;lOjS$2Io8g0002M(>JF8 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_earth.png b/src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_earth.png new file mode 100644 index 0000000000000000000000000000000000000000..af1bc47a0923156e71f3cdb2d42e70d90e856ec5 GIT binary patch literal 5375 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_fire.png b/src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..8380027a3b4bd8e627b2b3907af7244460bc62f3 GIT binary patch literal 5373 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 bu)6$zNP|*o!~;V(00000NkvXXu0mjfnUQEg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_ice.png b/src/main/resources/assets/alchemicalwizardry/textures/models/MinorDemonGrunt_ice.png new file mode 100644 index 0000000000000000000000000000000000000000..256626acec6aec2f4f5c7b354c4d7553beae44e8 GIT binary patch literal 5399 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 O0000VGd000McNliru-V6j1J2y4okbnRH6rD*# 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardryBooks/books.txt b/src/main/resources/assets/alchemicalwizardryBooks/books.txt index 18ea0c91..a3303d3e 100644 --- a/src/main/resources/assets/alchemicalwizardryBooks/books.txt +++ b/src/main/resources/assets/alchemicalwizardryBooks/books.txt @@ -1,4 +1,4 @@ -aw.entry.Magnus..1= +aw.entry.Magnus.1= aw.entry.Introduction.1= At the constant demands of my apprentices, I've started writing down my knowledge of blood magic. I've told them time and again that what we do is far too dangerous to write about, and in the wrong hands... I don't want to think of the consequences. But they have made one good point: if more people are going to learn blood magic, word of mouth is far too limited. But I'm getting sidetracked, back to what this is all about. Following their example, I aw.entry.Introduction.2=will introduce myself. My name is Magus Arcana, and I am the founder of blood magic. I have lived a long life, studying more fields of magic then one could count. When I was younger I moved to the outskirts of a village to start my journeys into the arcane. After several decades of study, I realized there was one source of power few had ever touched: Blood. Many mages claimed that the aw.entry.Introduction.3=use of blood in magic was taboo, yet gave no reason as to why. Eventually, my curiosity grew beyond my reluctance and I started experimenting with the art of blood magic. @@ -7,6 +7,6 @@ aw.entry.Weak Rituals.2=meditation to strengthen my soul to the point where I co aw.entry.Weak Rituals.3= With some work I found that water creates a rainstorm with so much lightning that I couldn't sleep that night. A somewhat rare mineral block by the name of Lapis had the very interesting effect of turning day into night. Needless to say, everyone in the village was very confused when the sun suddenly vanished and they couldn't see anything. I was shocked when I found that a coal block summoned a zombie stronger than any other I've aw.entry.Weak Rituals.4=ever fought in the night. I also lost the coal block to fire from the lightning strike when I was dealing with said zombie. The final effect I found was with bedrock I found at the bottom of a local mine, hardening my skin temporarily. While I looked no different, I could shrug off a blow from an iron sword without a scratch. aw.entry.Rituals.1= I soon decided that those rituals were far too weak and costly, so I started working on a much larger version. By mixing my blood and a little bit of Mana with an item that was naturally attuned to an element(I found that magma cream worked for fire, a Lapis block for water, obsidian for earth, and a ghast tear for air) I created powerful scribing tools that used blood (100 LP's worth per use) as ink. I used stone fused with blood and obsidian -aw.entry.Rituals.2=to create stones strong enough to withstand more powerful rituals. It took me over two years to perfect the ritual stone. Trust me, you don't want to see what happened with some of the earlier tests. Let us just say they made the holes creepers leave look like potholes, and leave it at that. I also designed a “Master" stone to be what really controls the rituals, with the powerful dust called “Redstone" able to deactivate +aw.entry.Rituals.2=to create stones strong enough to withstand more powerful rituals. It took me over two years to perfect the ritual stone. Trust me, you don't want to see what happened with some of the earlier tests. Let us just say they made the holes creepers leave look like potholes, and leave it at that. I also designed a "Master" stone to be what really controls the rituals, with the powerful dust called "Redstone" able to deactivate aw.entry.Rituals.3=rituals and putting in a few safeguards so that if some fool tries to activate a ritual they don't have the strength or the blood to handle, it doesn't kill them outright. While I was able to weaken the pull that rituals carried on the user’s life force to not cause any lasting harm, I could not quite get rid of the feeling of nausea and unease an unattended Ritual would cause . I eventually got tired of trying to stop it and marked aw.entry.Rituals.4=it down as an occupational hazard.