diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java index c12dc127..6a9b83a0 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java @@ -12,12 +12,12 @@ import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.World; +import net.minecraft.world.WorldServer; import WayofTime.bloodmagic.api.altar.IBloodAltar; import WayofTime.bloodmagic.api.iface.IAltarReader; -import WayofTime.bloodmagic.api.soul.EnumDemonWillType; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.api.util.helper.PlayerHelper; -import WayofTime.bloodmagic.entity.mob.EntityCorruptedSheep; +import WayofTime.bloodmagic.structures.DungeonTester; import WayofTime.bloodmagic.tile.TileIncenseAltar; import WayofTime.bloodmagic.tile.TileInversionPillar; import WayofTime.bloodmagic.util.ChatUtil; @@ -33,13 +33,13 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { -// if (world instanceof WorldServer) -// { -// System.out.println("Testing..."); -//// BuildTestStructure s = new BuildTestStructure(); -//// s.placeStructureAtPosition(new Random(), Rotation.CLOCKWISE_180, (WorldServer) world, player.getPosition(), 0); -// DungeonTester.testDungeonElementWithOutput((WorldServer) world, player.getPosition()); -// } + if (world instanceof WorldServer) + { + System.out.println("Testing..."); +// BuildTestStructure s = new BuildTestStructure(); +// s.placeStructureAtPosition(new Random(), Rotation.CLOCKWISE_180, (WorldServer) world, player.getPosition(), 0); + DungeonTester.testDungeonElementWithOutput((WorldServer) world, player.getPosition()); + } // if (!world.isRemote) // { diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java index 35a79b64..b7088f96 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java @@ -56,6 +56,8 @@ import WayofTime.bloodmagic.item.ItemDemonCrystal; import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid; import WayofTime.bloodmagic.item.alchemy.ItemLivingArmourPointsUpgrade; import WayofTime.bloodmagic.item.soul.ItemSoulGem; +import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeMeleeDecrease; +import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeQuenched; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeStormTrooper; import WayofTime.bloodmagic.potion.BMPotionUtils; import WayofTime.bloodmagic.recipe.alchemyTable.AlchemyTableDyeableRecipe; @@ -482,9 +484,13 @@ public class ModRecipes String messageBase = "ritual.BloodMagic.downgradeRitual.dialogue."; ItemStack bowStack = new ItemStack(Items.BOW); + ItemStack bottleStack = new ItemStack(Items.POTIONITEM, 1, 0); + ItemStack swordStack = new ItemStack(Items.STONE_SWORD); Map> dialogueMap = new HashMap>(); dialogueMap.put(bowStack, Pair.of("bow", new int[] { 1, 100, 300, 500 })); + dialogueMap.put(bottleStack, Pair.of("quenched", new int[] { 1, 100, 300, 500 })); + dialogueMap.put(swordStack, Pair.of("dulledBlade", new int[] { 1, 100, 300, 500, 700 })); for (Entry> entry : dialogueMap.entrySet()) { @@ -494,14 +500,22 @@ public class ModRecipes for (int tick : entry.getValue().getValue()) { List textList = new ArrayList(); - textList.add(new TextComponentTranslation(messageBase + str + "." + tick)); + textList.add(new TextComponentTranslation("\u00A74%s", new TextComponentTranslation(messageBase + str + "." + tick))); textMap.put(tick, textList); } LivingArmourDowngradeRecipeRegistry.registerDialog(keyStack, textMap); } - LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeStormTrooper(0), bowStack, "gemDiamond"); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeStormTrooper(0), bowStack, Items.ARROW, Items.STRING, "ingotIron", "ingotIron"); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeStormTrooper(1), bowStack, Items.SPECTRAL_ARROW, "ingotGold", "dustRedstone", "dustGlowstone", "gemLapis"); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeStormTrooper(2), bowStack, "gemDiamond", Items.FIRE_CHARGE, Items.BLAZE_ROD, Items.FEATHER); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeStormTrooper(3), bowStack, Items.PRISMARINE_SHARD, Items.BLAZE_ROD, Items.FEATHER, Items.FEATHER); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeStormTrooper(4), bowStack, new ItemStack(Items.TIPPED_ARROW, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.TIPPED_ARROW, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.TIPPED_ARROW, 1, OreDictionary.WILDCARD_VALUE)); // LivingArmourDowngradeRecipeRegistry.registerDialog(bowStack, bowMap); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeQuenched(0), bottleStack, Items.DRAGON_BREATH); + + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeMeleeDecrease(0), swordStack, Items.IRON_SWORD, Blocks.CACTUS); + LivingArmourDowngradeRecipeRegistry.registerRecipe(new LivingArmourUpgradeMeleeDecrease(1), swordStack, Items.IRON_SWORD, "dustRedstone"); } } diff --git a/src/main/java/WayofTime/bloodmagic/structures/DungeonRoom.java b/src/main/java/WayofTime/bloodmagic/structures/DungeonRoom.java index ed72b577..04f41737 100644 --- a/src/main/java/WayofTime/bloodmagic/structures/DungeonRoom.java +++ b/src/main/java/WayofTime/bloodmagic/structures/DungeonRoom.java @@ -67,7 +67,10 @@ public class DungeonRoom DungeonStructure structure = new DungeonStructure(location); BlockPos offsetPos = Template.transformedBlockPos(settings, entry.getValue()); - structure.placeStructureAtPosition(rand, settings, world, pos.add(offsetPos)); + if (structure.placeStructureAtPosition(rand, settings, world, pos.add(offsetPos))) + { + System.out.println(location); + } } return true; diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index 5a55b13e..ac8d4085 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -673,6 +673,15 @@ ritual.BloodMagic.downgradeRitual.dialogue.bow.1=So, mortal, you want to gain mo ritual.BloodMagic.downgradeRitual.dialogue.bow.100=Of course you must know that everything has a cost... I cannot simply grant you more power without you paying something in return... ritual.BloodMagic.downgradeRitual.dialogue.bow.300=If you lay an offering before me, you will forsake your perception, preventing you from using long-ranged projectiles with any form of accuracy. Arrows will no longer be your key to victory. ritual.BloodMagic.downgradeRitual.dialogue.bow.500=But in return, I will unlock your armour so that it may grow even further... All you have to do is kneel before this altar with the correct offering... +ritual.BloodMagic.downgradeRitual.dialogue.quenched.1=Fufufu... Greetings. I see that you wish to become more powerful. +ritual.BloodMagic.downgradeRitual.dialogue.quenched.100=You must be fully aware that when one's cup becomes full, it invariably has to empty once more to be filled again. +ritual.BloodMagic.downgradeRitual.dialogue.quenched.300=As such, I offer you a deal: by forsaking one's ability to drink, I shall grant you a vast increase to your potential. Wether this is a deal you think is worth taking is another matter entirely... +ritual.BloodMagic.downgradeRitual.dialogue.quenched.500=So kneel, mortal, and drink from this cup that I offer to you, for it may be your last drink. +ritual.BloodMagic.downgradeRitual.dialogue.dulledBlade.1=Hmmm... What is it that you truely desire? +ritual.BloodMagic.downgradeRitual.dialogue.dulledBlade.100=If it is strength beyond mortal men, then I cannot provide that - instead, I can offer you different deal... +ritual.BloodMagic.downgradeRitual.dialogue.dulledBlade.300=I can expand the capabilities of your armour, allowing you to achieve greater heights. However, I will need something from you in return: your strength in physical combat. +ritual.BloodMagic.downgradeRitual.dialogue.dulledBlade.500=By agreeing to this, you will no longer be able to swing a weapon with as much certainty, only able to do a fraction of the damage you could before. +ritual.BloodMagic.downgradeRitual.dialogue.dulledBlade.700=So, the choise is yours: will you kneel at this altar, or will you still take up your sword? # Chat chat.BloodMagic.altarMaker.setTier=Set Tier to: %d diff --git a/src/main/resources/assets/bloodmagic/schematics/RawBuilding1.json b/src/main/resources/assets/bloodmagic/schematics/RawBuilding1.json new file mode 100644 index 00000000..007753c7 --- /dev/null +++ b/src/main/resources/assets/bloodmagic/schematics/RawBuilding1.json @@ -0,0 +1,47 @@ +{ + "dungeonWeight": 4, + "structureMap": { + "bloodmagic:Building1": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "doorMap": { + "south": [ + { + "x": 7, + "y": 0, + "z": 14 + }, + { + "x": 4, + "y": 8, + "z": 14 + } + ], + "north": [ + { + "x": 4, + "y": 8, + "z": 0 + } + ] + }, + "descriptorList": [ + { + "minimumOffset": { + "x": 0, + "y": 0, + "z": 0 + }, + "maximumOffset": { + "x": 15, + "y": 13, + "z": 15 + }, + "blockPosCache": [], + "cache": true + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bloodmagic/schematics/Schematics.json b/src/main/resources/assets/bloodmagic/schematics/Schematics.json index a2f649f3..7590e9f6 100644 --- a/src/main/resources/assets/bloodmagic/schematics/Schematics.json +++ b/src/main/resources/assets/bloodmagic/schematics/Schematics.json @@ -1,4 +1,5 @@ [ "bloodmagic:Corridor1", - "bloodmagic:HallChest1" + "bloodmagic:HallChest1", + "bloodmagic:RawBuilding1" ] \ No newline at end of file diff --git a/src/main/resources/assets/bloodmagic/structures/Building1.nbt b/src/main/resources/assets/bloodmagic/structures/Building1.nbt new file mode 100644 index 00000000..13fd2edf Binary files /dev/null and b/src/main/resources/assets/bloodmagic/structures/Building1.nbt differ