diff --git a/build.properties b/build.properties index 4dd83b6a..20198283 100644 --- a/build.properties +++ b/build.properties @@ -1,12 +1,12 @@ # -#Sat Nov 29 10:45:33 EST 2014 +#Fri Dec 05 14:08:30 EST 2014 mod_name=BloodMagic forge_version=10.13.2.1232 ccc_version=1.0.4.29 nei_version=1.0.3.64 //=Dependency Information package_group=com.wayoftime.bloodmagic -mod_version=1.2.1b +mod_version=1.3.0Beta minetweaker_version=Dev-1.7.10-3.0.9B -build_number=2 mc_version=1.7.10 +build_number=2 diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 4ff55520..2e11cafd 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -64,7 +64,6 @@ import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks; import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler; import WayofTime.alchemicalWizardry.common.CommonProxy; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; import WayofTime.alchemicalWizardry.common.LifeBucketHandler; import WayofTime.alchemicalWizardry.common.LifeEssence; import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent; @@ -82,8 +81,10 @@ import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.EntityM 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.loot.DemonVillageLootRegistry; import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonChest; import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityAirElemental; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; @@ -263,7 +264,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.2.1b", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.3.0Beta", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") public class AlchemicalWizardry { @@ -871,13 +872,13 @@ public class AlchemicalWizardry 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)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundaneLengtheningCatalyst), 1, 1, this.mundaneLengtheningCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averagePowerCatalyst), 1, 1, this.averagePowerCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averageLengtheningCatalyst), 1, 1, this.averageLengtheningCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterPowerCatalyst), 1, 1, this.greaterPowerCatalystDungeonChance)); - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterLengtheningCatalyst), 1, 1, this.greaterLengtheningCatalystDungeonChance)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.standardBindingAgent), 1, 3, this.standardBindingAgentDungeonChance / 5)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundanePowerCatalyst), 1, 1, this.mundanePowerCatalystDungeonChance / 5)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundaneLengtheningCatalyst), 1, 1, this.mundaneLengtheningCatalystDungeonChance / 5)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averagePowerCatalyst), 1, 1, this.averagePowerCatalystDungeonChance / 5)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averageLengtheningCatalyst), 1, 1, this.averageLengtheningCatalystDungeonChance / 5)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterPowerCatalyst), 1, 1, this.greaterPowerCatalystDungeonChance / 5)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterLengtheningCatalyst), 1, 1, this.greaterLengtheningCatalystDungeonChance / 5)); //Ore Dictionary Registration OreDictionary.registerOre("oreCoal", Blocks.coal_ore); @@ -1132,6 +1133,8 @@ public class AlchemicalWizardry BloodMagicConfiguration.loadBlacklist(); BloodMagicConfiguration.blacklistRituals(); + DemonVillageLootRegistry.init(); + if(parseTextFiles) this.parseTextFile(); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java b/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java index 7e04569b..dee7dc16 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java +++ b/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java @@ -12,6 +12,8 @@ import net.minecraftforge.common.config.Configuration; import WayofTime.alchemicalWizardry.api.rituals.Rituals; import WayofTime.alchemicalWizardry.client.renderer.ColourThreshold; import WayofTime.alchemicalWizardry.client.renderer.RenderHelper; +import WayofTime.alchemicalWizardry.common.demonVillage.DemonVillagePath; +import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; import WayofTime.alchemicalWizardry.common.items.BoundArmour; import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorParadigm; import cpw.mods.fml.common.FMLCommonHandler; @@ -134,20 +136,21 @@ public class BloodMagicConfiguration AlchemicalWizardry.ritualDisabledVeilOfEvil = config.get("Ritual Blacklist", "Veil of Evil", false).getBoolean(false); AlchemicalWizardry.ritualDisabledFullStomach = config.get("Ritual Blacklist", "Requiem of the Satiated Stomach", false).getBoolean(false); -// String tempDemonConfigs = "Temp Demon Configs"; -// TEDemonPortal.buildingGridDelay = config.get(tempDemonConfigs, "Building Grid Delay", 25).getInt(); -// TEDemonPortal.roadGridDelay = config.get(tempDemonConfigs, "Road Grid Delay", 10).getInt(); -// TEDemonPortal.demonHoardDelay = config.get(tempDemonConfigs, "Demon Hoard Delay", 40).getInt(); -// TEDemonPortal.demonRoadChance = (float)(config.get(tempDemonConfigs, "Demon Road Chance", 0.6f).getDouble()); -// TEDemonPortal.demonHouseChance = (float)(config.get(tempDemonConfigs, "Demon House Chance", 0.6f).getDouble()); -// TEDemonPortal.demonPortalChance = (float)(config.get(tempDemonConfigs, "Demon Portal Chance", 0.5f).getDouble()); -// TEDemonPortal.demonHoardChance = (float)(config.get(tempDemonConfigs, "Demon Hoard Chance", 1.0f).getDouble()); -// TEDemonPortal.portalTickRate = (float)(config.get(tempDemonConfigs, "Portal Tick Rate", 0.1f).getDouble()); -// -// DemonVillagePath.canGoDown = config.get(tempDemonConfigs, "canRoadGoDown", true).getBoolean(); -// DemonVillagePath.tunnelIfObstructed = config.get(tempDemonConfigs, "tunnelIfObstructed", false).getBoolean(); -// DemonVillagePath.createBridgeInAirIfObstructed = config.get(tempDemonConfigs, "createBridgeInAirIfObstructed", false).getBoolean(); + String tempDemonConfigs = "Temp Demon Configs [2]"; + TEDemonPortal.buildingGridDelay = config.get(tempDemonConfigs, "Building Grid Delay", 25).getInt(); + TEDemonPortal.roadGridDelay = config.get(tempDemonConfigs, "Road Grid Delay", 10).getInt(); + TEDemonPortal.demonHoardDelay = config.get(tempDemonConfigs, "Demon Hoard Delay", 40).getInt(); + TEDemonPortal.demonRoadChance = (float)(config.get(tempDemonConfigs, "Demon Road Chance", 0.3f).getDouble()); + TEDemonPortal.demonHouseChance = (float)(config.get(tempDemonConfigs, "Demon House Chance", 0.6f).getDouble()); + TEDemonPortal.demonPortalChance = (float)(config.get(tempDemonConfigs, "Demon Portal Chance", 0.5f).getDouble()); + TEDemonPortal.demonHoardChance = (float)(config.get(tempDemonConfigs, "Demon Hoard Chance", 0.8f).getDouble()); + TEDemonPortal.portalTickRate = (float)(config.get(tempDemonConfigs, "Portal Tick Rate", 0.1f).getDouble()); + + DemonVillagePath.canGoDown = config.get(tempDemonConfigs, "canRoadGoDown", true).getBoolean(); + DemonVillagePath.tunnelIfObstructed = config.get(tempDemonConfigs, "tunnelIfObstructed", false).getBoolean(); + DemonVillagePath.createBridgeInAirIfObstructed = config.get(tempDemonConfigs, "createBridgeInAirIfObstructed", false).getBoolean(); + TEDemonPortal.limit = config.get(tempDemonConfigs, "demonGridSpaceLimit", 100).getInt(); BoundArmour.tryComplexRendering = config.get("WimpySettings", "UseFancyBoundArmour", true).getBoolean(true); Side side = FMLCommonHandler.instance().getSide(); diff --git a/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java b/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java index 7234fc1e..4f32f78b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java +++ b/src/main/java/WayofTime/alchemicalWizardry/client/ClientProxy.java @@ -6,12 +6,12 @@ import net.minecraftforge.client.MinecraftForgeClient; import WayofTime.alchemicalWizardry.ModBlocks; 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.EntityAirElemental; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java index 3f368a66..65322a70 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/DemonVillagePath.java @@ -43,6 +43,7 @@ public class DemonVillagePath for (int i = -rad; i <= rad; i++) { value = Math.max(this.constructPartialPath(portal, world, clearance, xPos - rad * dir.offsetX + i * dir.offsetZ, yPos, zPos - rad * dir.offsetZ + i * dir.offsetX, dir, length + 2 * rad, true), value); + if(TEDemonPortal.printDebug) System.out.println("" + (length + 2 * rad) + ", " + value + ""); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/GridSpaceHolder.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/GridSpaceHolder.java index 858a5af4..e7f60a4d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/GridSpaceHolder.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/GridSpaceHolder.java @@ -2,6 +2,7 @@ package WayofTime.alchemicalWizardry.common.demonVillage; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModBlocks; +import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -146,6 +147,7 @@ public class GridSpaceHolder { if (master != null) { + if(TEDemonPortal.printDebug) AlchemicalWizardry.logger.info("negXRadius: " + negXRadius + " posXRadius: " + posXRadius + " negZRadius: " + negZRadius + " posZRadius: " + posZRadius); for (int i = -negXRadius; i <= posXRadius; i++) { @@ -157,6 +159,7 @@ public class GridSpaceHolder continue; } + if(TEDemonPortal.printDebug) AlchemicalWizardry.logger.info("x: " + i + " z: " + j); int xOff = 0; @@ -194,6 +197,7 @@ public class GridSpaceHolder public void setAllGridSpaces(int xInit, int zInit, int yLevel, ForgeDirection dir, int type, GridSpaceHolder master) { + if(TEDemonPortal.printDebug) AlchemicalWizardry.logger.info("Grid space selected: (" + xInit + "," + zInit + ")"); if (master != null) { @@ -230,6 +234,7 @@ public class GridSpaceHolder break; } + if(TEDemonPortal.printDebug) AlchemicalWizardry.logger.info("Grid space (" + (xInit + xOff) + "," + (zInit + zOff) + ")"); master.setGridSpace(xInit + xOff, zInit + zOff, new GridSpace(type, yLevel)); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java index ca30838a..1aa75da8 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/DemonPacketMinorGrunt.java @@ -56,6 +56,6 @@ public class DemonPacketMinorGrunt extends DemonHoardPacket entity.setAggro(true); entity.setDropCrystal(false); - return 1; + return spawnGuardian ? 3 : 1; } } 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 index c1b668f8..3159e622 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntFire.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntFire.java @@ -13,6 +13,7 @@ public class EntityMinorDemonGruntFire extends EntityMinorDemonGrunt { super(par1World); this.setDemonID(AlchemicalWizardry.entityMinorDemonGruntFireID); + this.isImmuneToFire = true; } @Override 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 index 318dff03..f5ab85ee 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntWind.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/demonHoard/demon/EntityMinorDemonGruntWind.java @@ -1,11 +1,13 @@ 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.entity.player.EntityPlayer; import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.common.entity.projectile.WindGustProjectile; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class EntityMinorDemonGruntWind extends EntityMinorDemonGrunt { @@ -24,8 +26,22 @@ public class EntityMinorDemonGruntWind extends EntityMinorDemonGrunt return false; } + if (par1Entity instanceof EntityPlayer) + { + SpellHelper.setPlayerSpeedFromServer((EntityPlayer) par1Entity, par1Entity.motionX, par1Entity.motionY + 3, par1Entity.motionZ); + } else if (par1Entity instanceof EntityLivingBase) + { + ((EntityLivingBase) par1Entity).motionY += 3.0D; + } + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); } + + @Override + public void onLivingUpdate() + { + this.fallDistance = 0; + } @Override public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLivingBase, float par2) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/loot/DemonVillageLootRegistry.java b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/loot/DemonVillageLootRegistry.java index fd75aac0..1dad06cb 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/loot/DemonVillageLootRegistry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/loot/DemonVillageLootRegistry.java @@ -4,22 +4,41 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; +import net.minecraftforge.common.ChestGenHooks; +import WayofTime.alchemicalWizardry.ModItems; public class DemonVillageLootRegistry { - public static ArrayList list = new ArrayList(); + public static ArrayList list1 = new ArrayList(); - static + public static void init() { - list.add(new WeightedRandomChestContent(Items.iron_ingot, 0, 1, 5, 10)); + ItemStack lifeShardStack = new ItemStack(ModItems.baseItems, 1, 28); + ItemStack soulShardStack = new ItemStack(ModItems.baseItems, 1, 29); + + String[] tier1Strings = new String[]{ChestGenHooks.DUNGEON_CHEST, ChestGenHooks.PYRAMID_DESERT_CHEST}; + for(String str : tier1Strings) + { + WeightedRandomChestContent[] contents = ChestGenHooks.getItems(str, new Random()); + if(contents != null) + { + for(WeightedRandomChestContent content : contents) + { + list1.add(content); + } + } + } + + list1.add(new WeightedRandomChestContent(ModItems.baseItems, 28, 1, 2, 5)); + list1.add(new WeightedRandomChestContent(ModItems.baseItems, 29, 1, 2, 5)); } public static void populateChest(IInventory tile, int tier) { - WeightedRandomChestContent.generateChestContents(new Random(), toArray(list), tile, 10); + WeightedRandomChestContent.generateChestContents(new Random(), toArray(list1), tile, tile.getSizeInventory() / 3); } public static WeightedRandomChestContent[] toArray(List aList) 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 307432fe..8d5da003 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/TEDemonPortal.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/demonVillage/tileEntity/TEDemonPortal.java @@ -46,7 +46,9 @@ public class TEDemonPortal extends TileEntity { public DemonType type = DemonType.FIRE; - public static boolean printDebug = true; + public static boolean printDebug = false; + + public static int limit = 100; public static int buildingGridDelay = 25; public static int roadGridDelay = 10; @@ -54,7 +56,7 @@ public class TEDemonPortal extends TileEntity 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 demonHoardChance = 0.8f; public static float portalTickRate = 1f; public static int[] tierCostList = new int[]{1000, 5000, 10000}; @@ -717,16 +719,16 @@ public class TEDemonPortal extends TileEntity return maxLength; } - public Int3 findRoadSpaceFromDirection(ForgeDirection dir, int amount) + public Int3 findRoadSpaceFromDirection(ForgeDirection dir, int amount) //TODO { int index = 0; if (dir == ForgeDirection.NORTH) { if(printDebug) System.out.print("NORTH!"); - for (int i = 0; i <= negZRadius + posZRadius; i++) + for (int i = Math.max(0, -limit + negZRadius); i <= negZRadius + Math.min(posZRadius, limit); i++) { - for (int j = 0; j <= negXRadius + posXRadius; j++) + for (int j = Math.max(0, -limit + negXRadius); j <= negXRadius + Math.min(posXRadius, limit); j++) { GridSpace space = area[j][i]; if (space.isRoadSegment()) @@ -741,9 +743,9 @@ public class TEDemonPortal extends TileEntity } } else if (dir == ForgeDirection.SOUTH) { - for (int i = negZRadius + posZRadius; i >= 0; i--) + for (int i = negZRadius + Math.min(posZRadius, limit); i >= Math.max(0, -limit + negZRadius); i--) { - for (int j = 0; j <= negXRadius + posXRadius; j++) + for (int j = Math.max(0, -limit + negXRadius); j <= negXRadius + Math.min(posXRadius, limit); j++) { GridSpace space = area[j][i]; if (space.isRoadSegment()) @@ -758,9 +760,9 @@ public class TEDemonPortal extends TileEntity } } else if (dir == ForgeDirection.EAST) { - for (int i = negXRadius + posXRadius; i >= 0; i--) + for (int i = negXRadius + Math.min(posXRadius, limit); i >= Math.max(0, -limit + negXRadius); i--) { - for (int j = 0; j <= negZRadius + posZRadius; j++) + for (int j = Math.max(0, -limit + negZRadius); j <= negZRadius + Math.min(posZRadius, limit); j++) { GridSpace space = area[i][j]; if (space.isRoadSegment()) @@ -775,9 +777,9 @@ public class TEDemonPortal extends TileEntity } } else if (dir == ForgeDirection.WEST) { - for (int i = 0; i <= negXRadius + posXRadius; i++) + for (int i = Math.max(0, -limit + negXRadius); i <= negXRadius + Math.min(posXRadius, limit); i++) { - for (int j = 0; j <= negZRadius + posZRadius; j++) + for (int j = Math.max(0, -limit + negZRadius); j <= negZRadius + Math.min(posZRadius, limit); j++) { GridSpace space = area[i][j]; if (space.isRoadSegment()) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/EntityAirElemental.java b/src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityAirElemental.java similarity index 91% rename from src/main/java/WayofTime/alchemicalWizardry/common/EntityAirElemental.java rename to src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityAirElemental.java index 1923e4e7..e1bad7e6 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/EntityAirElemental.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityAirElemental.java @@ -1,7 +1,6 @@ -package WayofTime.alchemicalWizardry.common; +package WayofTime.alchemicalWizardry.common.entity.mob; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.entity.mob.EntityElemental; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java index 8beca938..0ec9b706 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/DaggerOfSacrifice.java @@ -23,6 +23,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.common.IDemon; +import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.demon.IHoardDemon; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; @@ -60,6 +61,11 @@ public class DaggerOfSacrifice extends EnergyItems { return false; } + + if(par2EntityLivingBase instanceof IHoardDemon) + { + return false; + } if (par2EntityLivingBase.isChild() || par2EntityLivingBase instanceof EntityWither || par2EntityLivingBase instanceof EntityDragon || par2EntityLivingBase instanceof EntityPlayer || par2EntityLivingBase instanceof IBossDisplayData) { @@ -75,7 +81,6 @@ public class DaggerOfSacrifice extends EnergyItems if(par2EntityLivingBase instanceof IDemon) { - System.out.println("Demon"); ((IDemon)par2EntityLivingBase).setDropCrystal(false); this.findAndNotifyAltarOfDemon(world, par2EntityLivingBase); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java index 72f22b12..91d92f8d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/mob/RenderElemental.java @@ -1,6 +1,5 @@ package WayofTime.alchemicalWizardry.common.renderer.mob; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; import WayofTime.alchemicalWizardry.common.entity.mob.*; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java b/src/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java index b398f2d0..c2df04ad 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java @@ -5,8 +5,12 @@ import net.minecraft.entity.passive.EntityPig; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningHelper; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; import WayofTime.alchemicalWizardry.common.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.EntityAirElemental; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; @@ -105,6 +109,26 @@ public class SummoningHelperAW extends SummoningHelper return new EntityMinorDemonGrunt(worldObj); } + if(this.id.equals(AlchemicalWizardry.entityMinorDemonGruntFireID)) + { + return new EntityMinorDemonGruntFire(worldObj); + } + + if(this.id.equals(AlchemicalWizardry.entityMinorDemonGruntEarthID)) + { + return new EntityMinorDemonGruntEarth(worldObj); + } + + if(this.id.equals(AlchemicalWizardry.entityMinorDemonGruntWindID)) + { + return new EntityMinorDemonGruntWind(worldObj); + } + + if(this.id.equals(AlchemicalWizardry.entityMinorDemonGruntIceID)) + { + return new EntityMinorDemonGruntIce(worldObj); + } + return new EntityPig(worldObj); } diff --git a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang index b89be434..75a4c551 100644 --- a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -169,6 +169,8 @@ item.bloodMagicBaseItem.ObsidianBrace.name=Obsidian Brace item.bloodMagicBaseItem.EtherealSlate.name=Ethereal Slate item.bloodMagicBaseItem.LifeShard.name=Life Shard item.bloodMagicBaseItem.SoulShard.name=Soul Shard +item.bloodMagicBaseItem.LifeBrace.name=Living Brace +item.bloodMagicBaseItem.SoulRunicPlate.name=Soul Runic Plate item.bloodMagicAlchemyItem.Offensa.name=Offensa item.bloodMagicAlchemyItem.Praesidium.name=Praesidium item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae diff --git a/src/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip b/src/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip index 1c5f2f3c..eb9a9fad 100644 Binary files a/src/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip and b/src/main/resources/assets/alchemicalwizardry/schematics/building/buildings.zip differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index e83102bb..20a2c3ce 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "AWWayofTime", "name": "Blood Magic: Alchemical Wizardry", "description": "Rituals, spells, and more!", - "version": "v1.2.1b(1.7.10)", + "version": "v1.3.0Beta(1.7.10)", "mcversion": "1.7.10", "url": "http://www.minecraftforum.net/topic/1899223-", "updateUrl": "",