diff --git a/changelog.txt b/changelog.txt index 0e4de7f7..dbed1671 100644 --- a/changelog.txt +++ b/changelog.txt @@ -10,6 +10,7 @@ Version 2.1.0-66 - Added a Dig Slowdown armour downgrade called "Weakened Pick", trained by having weakness on while mining. - Added the framework for a ritual that grants downgrades (instead of the potion method). - Fixed the recipes for some of the Demon Will blocks +- Added the Sigil of Elasticity, the Sigil of the Claw, and the Sigil of Winter's Breath. ------------------------------------------------------ Version 2.1.0-65 diff --git a/src/main/java/WayofTime/bloodmagic/api/Constants.java b/src/main/java/WayofTime/bloodmagic/api/Constants.java index 6decc874..507ce821 100644 --- a/src/main/java/WayofTime/bloodmagic/api/Constants.java +++ b/src/main/java/WayofTime/bloodmagic/api/Constants.java @@ -246,7 +246,10 @@ public class Constants SIGIL_HOLDING("ItemSigilHolding"), ARMOUR_POINTS_UPGRADE("ItemLivingArmourPointsUpgrade"), DEMON_WILL_GAUGE("ItemDemonWillGauge"), - POTION_FLASK("ItemPotionFlask"), ; + POTION_FLASK("ItemPotionFlask"), + SIGIL_CLAW("ItemSigilClaw"), + SIGIL_BOUNCE("ItemSigilBounce"), + SIGIL_FROST("ItemSigilFrost"); @Getter private final String regName; diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java b/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java index 73710542..95c6dd63 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java @@ -53,6 +53,9 @@ public class ItemComponent extends Item implements IVariantProvider public static final String REAGENT_HOLDING = "reagentHolding"; public static final String CATALYST_LENGTH_1 = "mundaneLength"; public static final String CATALYST_POWER_1 = "mundanePower"; + public static final String REAGENT_CLAW = "reagentClaw"; + public static final String REAGENT_BOUNCE = "reagentBounce"; + public static final String REAGENT_FROST = "reagentFrost"; public ItemComponent() { @@ -97,6 +100,9 @@ public class ItemComponent extends Item implements IVariantProvider names.add(27, REAGENT_HOLDING); names.add(28, CATALYST_LENGTH_1); names.add(29, CATALYST_POWER_1); + names.add(30, REAGENT_CLAW); + names.add(31, REAGENT_BOUNCE); + names.add(32, REAGENT_FROST); } @Override diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java new file mode 100644 index 00000000..37492009 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java @@ -0,0 +1,21 @@ +package WayofTime.bloodmagic.item.sigil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; +import WayofTime.bloodmagic.registry.ModPotions; + +public class ItemSigilBounce extends ItemSigilToggleableBase +{ + public ItemSigilBounce() + { + super("bounce", 100); + } + + @Override + public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) + { + player.addPotionEffect(new PotionEffect(ModPotions.bounce, 2, 0, true, false)); + } +} diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java new file mode 100644 index 00000000..1314ff5a --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java @@ -0,0 +1,21 @@ +package WayofTime.bloodmagic.item.sigil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; +import WayofTime.bloodmagic.registry.ModPotions; + +public class ItemSigilClaw extends ItemSigilToggleableBase +{ + public ItemSigilClaw() + { + super("claw", 100); + } + + @Override + public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) + { + player.addPotionEffect(new PotionEffect(ModPotions.cling, 2, 0, true, false)); + } +} diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java index 6fcee8fe..bf77aa98 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java @@ -5,7 +5,6 @@ import net.minecraft.init.MobEffects; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; -import WayofTime.bloodmagic.api.Constants; public class ItemSigilElementalAffinity extends ItemSigilToggleableBase { diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java new file mode 100644 index 00000000..9aaeb7da --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java @@ -0,0 +1,20 @@ +package WayofTime.bloodmagic.item.sigil; + +import net.minecraft.enchantment.EnchantmentFrostWalker; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemSigilFrost extends ItemSigilToggleableBase +{ + public ItemSigilFrost() + { + super("frost", 100); + } + + @Override + public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) + { + EnchantmentFrostWalker.freezeNearby(player, world, player.getPosition(), 1); + } +} diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModItems.java b/src/main/java/WayofTime/bloodmagic/registry/ModItems.java index f279e743..6973a278 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModItems.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModItems.java @@ -51,11 +51,14 @@ import WayofTime.bloodmagic.item.routing.ItemNodeRouter; import WayofTime.bloodmagic.item.routing.ItemRouterFilter; import WayofTime.bloodmagic.item.sigil.ItemSigilAir; import WayofTime.bloodmagic.item.sigil.ItemSigilBloodLight; +import WayofTime.bloodmagic.item.sigil.ItemSigilBounce; +import WayofTime.bloodmagic.item.sigil.ItemSigilClaw; import WayofTime.bloodmagic.item.sigil.ItemSigilCompression; import WayofTime.bloodmagic.item.sigil.ItemSigilDivination; import WayofTime.bloodmagic.item.sigil.ItemSigilElementalAffinity; import WayofTime.bloodmagic.item.sigil.ItemSigilEnderSeverance; import WayofTime.bloodmagic.item.sigil.ItemSigilFastMiner; +import WayofTime.bloodmagic.item.sigil.ItemSigilFrost; import WayofTime.bloodmagic.item.sigil.ItemSigilGreenGrove; import WayofTime.bloodmagic.item.sigil.ItemSigilHaste; import WayofTime.bloodmagic.item.sigil.ItemSigilHolding; @@ -125,6 +128,9 @@ public class ModItems public static final Item SIGIL_HOLDING; public static final Item SIGIL_TELEPOSITION; public static final Item SIGIL_TRANSPOSITION; + public static final Item SIGIL_CLAW; + public static final Item SIGIL_BOUNCE; + public static final Item SIGIL_FROST; public static final Item ITEM_COMPONENT; public static final Item ITEM_DEMON_CRYSTAL; public static final Item TELEPOSITION_FOCUS; @@ -213,6 +219,10 @@ public class ModItems SIGIL_TELEPOSITION = registerItem(new ItemSigilTeleposition(), Constants.BloodMagicItem.SIGIL_TELEPOSITION.getRegName()); SIGIL_TRANSPOSITION = registerItem(new ItemSigilTransposition(), Constants.BloodMagicItem.SIGIL_TRANSPOSITION.getRegName()); + SIGIL_CLAW = registerItem(new ItemSigilClaw(), Constants.BloodMagicItem.SIGIL_CLAW.getRegName()); + SIGIL_BOUNCE = registerItem(new ItemSigilBounce(), Constants.BloodMagicItem.SIGIL_BOUNCE.getRegName()); + SIGIL_FROST = registerItem(new ItemSigilFrost(), Constants.BloodMagicItem.SIGIL_FROST.getRegName()); + ITEM_COMPONENT = registerItem(new ItemComponent(), Constants.BloodMagicItem.COMPONENT.getRegName()); ITEM_DEMON_CRYSTAL = registerItem(new ItemDemonCrystal(), Constants.BloodMagicItem.DEMON_CRYSTAL.getRegName()); TELEPOSITION_FOCUS = registerItem(new ItemTelepositionFocus(), Constants.BloodMagicItem.TELEPOSITION_FOCUS.getRegName()); diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java index c8747763..271c7057 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java @@ -288,6 +288,9 @@ public class ModRecipes AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SEVERANCE), new ItemStack(ModItems.SLATE, 1, 3), new ItemStack(ModItems.SIGIL_ENDER_SEVERANCE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION), new ItemStack(ModItems.SLATE, 1, 3), new ItemStack(ModItems.SIGIL_TELEPOSITION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_TRANSPOSITION), new ItemStack(ModItems.SLATE, 1, 3), new ItemStack(ModItems.SIGIL_TRANSPOSITION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_CLAW), new ItemStack(ModItems.SLATE, 1, 2), new ItemStack(ModItems.SIGIL_CLAW), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BOUNCE), new ItemStack(ModItems.SLATE, 1, 1), new ItemStack(ModItems.SIGIL_BOUNCE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FROST), new ItemStack(ModItems.SLATE, 1, 1), new ItemStack(ModItems.SIGIL_FROST), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ROTTEN_FLESH), new ItemStack(Items.ROTTEN_FLESH), new AlchemyArrayEffectAttractor("attractor"), new AttractorAlchemyCircleRenderer()); AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.FEATHER), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectMovement("movement"), new StaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/MovementArray.png"))); @@ -342,6 +345,9 @@ public class ModRecipes TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_COMPRESSION), 2000, 200, "blockIron", "blockGold", Blocks.OBSIDIAN, "cobblestone"); TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION), 1500, 200, ModBlocks.TELEPOSER, "glowstone", "blockRedstone", "ingotGold"); TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_TRANSPOSITION), 1500, 200, ModBlocks.TELEPOSER, "gemDiamond", Items.ENDER_PEARL, Blocks.OBSIDIAN); + TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_CLAW), 800, 120, Items.FLINT, Items.FLINT, ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC)); + TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BOUNCE), 200, 20, Blocks.SLIME_BLOCK, Blocks.SLIME_BLOCK, Items.LEATHER, Items.STRING); + TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FROST), 80, 10, Blocks.ICE, Items.SNOWBALL, Items.SNOWBALL, "dustRedstone"); TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.SENTIENT_ARMOUR_GEM), 240, 150, Items.DIAMOND_CHESTPLATE, new ItemStack(ModItems.SOUL_GEM, 1, 1), Blocks.IRON_BLOCK, Blocks.OBSIDIAN); diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java index 852f62ca..57633cad 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java @@ -98,8 +98,7 @@ public class GenericHandler if (player.worldObj.isRemote) { player.motionY *= -0.9; - player.isAirBorne = true; - player.onGround = false; + player.fallDistance = 0; bounceMap.put(player, player.motionY); } else { @@ -231,11 +230,17 @@ public class GenericHandler if (entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.worldObj.isRemote && player.isSneaking() && player.isPotionActive(ModPotions.cling) && Utils.isPlayerBesideSolidBlockFace(player) && !player.onGround) + if (player.isSneaking() && player.isPotionActive(ModPotions.cling) && Utils.isPlayerBesideSolidBlockFace(player) && !player.onGround) { - player.motionY = 0; - player.motionX *= 0.8; - player.motionZ *= 0.8; + if (player.worldObj.isRemote) + { + player.motionY = 0; + player.motionX *= 0.8; + player.motionZ *= 0.8; + } else + { + player.fallDistance = 0; + } } } diff --git a/src/main/resources/assets/bloodmagic/blockstates/item/ItemComponent.json b/src/main/resources/assets/bloodmagic/blockstates/item/ItemComponent.json index 3366196d..eb690f3b 100644 --- a/src/main/resources/assets/bloodmagic/blockstates/item/ItemComponent.json +++ b/src/main/resources/assets/bloodmagic/blockstates/item/ItemComponent.json @@ -155,6 +155,21 @@ "textures": { "layer0": "bloodmagic:items/MundanePowerCatalyst" } + }, + "reagentclaw": { + "textures": { + "layer0": "bloodmagic:items/ReagentClaw" + } + }, + "reagentbounce": { + "textures": { + "layer0": "bloodmagic:items/ReagentBounce" + } + }, + "reagentfrost": { + "textures": { + "layer0": "bloodmagic:items/ReagentFrost" + } } } } diff --git a/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilBounce.json b/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilBounce.json new file mode 100644 index 00000000..d4fdbefe --- /dev/null +++ b/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilBounce.json @@ -0,0 +1,22 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "builtin/generated", + "transform": "forge:default-item" + }, + "variants": { + "active": { + "false": { + "textures": { + "layer0": "bloodmagic:items/BounceSigil_deactivated" + } + }, + "true": { + "textures": { + "layer0": "bloodmagic:items/BounceSigil_activated" + } + } + } + } +} + diff --git a/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilClaw.json b/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilClaw.json new file mode 100644 index 00000000..54f6aa1b --- /dev/null +++ b/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilClaw.json @@ -0,0 +1,21 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "builtin/generated", + "transform": "forge:default-item" + }, + "variants": { + "active": { + "false": { + "textures": { + "layer0": "bloodmagic:items/ClawSigil_deactivated" + } + }, + "true": { + "textures": { + "layer0": "bloodmagic:items/ClawSigil_activated" + } + } + } + } +} diff --git a/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilFrost.json b/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilFrost.json new file mode 100644 index 00000000..b7dcb443 --- /dev/null +++ b/src/main/resources/assets/bloodmagic/blockstates/item/ItemSigilFrost.json @@ -0,0 +1,22 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "builtin/generated", + "transform": "forge:default-item" + }, + "variants": { + "active": { + "false": { + "textures": { + "layer0": "bloodmagic:items/IceSigil_deactivated" + } + }, + "true": { + "textures": { + "layer0": "bloodmagic:items/IceSigil_activated" + } + } + } + } +} + diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index ac8d4085..52432dca 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -84,6 +84,9 @@ item.BloodMagic.baseComponent.reagentBridge.name=Phantom Bridge Reagent item.BloodMagic.baseComponent.reagentCompression.name=Compression Reagent item.BloodMagic.baseComponent.reagentSeverance.name=Severance Reagent item.BloodMagic.baseComponent.reagentHolding.name=Holding Reagent +item.BloodMagic.baseComponent.reagentClaw.name=Claw Reagent +item.BloodMagic.baseComponent.reagentBounce.name=Elasticity Reagent +item.BloodMagic.baseComponent.reagentFrost.name=Frost Reagent item.BloodMagic.baseComponent.reagentTeleposition.name=Teleposition Reagent item.BloodMagic.baseComponent.reagentTransposition.name=Transposition Reagent @@ -133,6 +136,9 @@ item.BloodMagic.sigil.holding.name=Sigil of Holding item.BloodMagic.sigil.holding.display=&r%s: &o&n%s item.BloodMagic.sigil.teleposition.name=Teleposition Sigil item.BloodMagic.sigil.transposition.name=Transposition Sigil +item.BloodMagic.sigil.claw.name=Sigil of the Claw +item.BloodMagic.sigil.bounce.name=Sigil of Elasticity +item.BloodMagic.sigil.frost.name=Sigil of Winter's Breath item.BloodMagic.livingArmour.helmet.name=Living Helmet item.BloodMagic.livingArmour.chest.name=Living Chestplate diff --git a/src/main/resources/assets/bloodmagic/textures/items/BounceSigil_activated.png b/src/main/resources/assets/bloodmagic/textures/items/BounceSigil_activated.png new file mode 100644 index 00000000..649f337b Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/BounceSigil_activated.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/items/BounceSigil_deactivated.png b/src/main/resources/assets/bloodmagic/textures/items/BounceSigil_deactivated.png new file mode 100644 index 00000000..8b3ceb94 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/BounceSigil_deactivated.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/items/ClawSigil_activated.png b/src/main/resources/assets/bloodmagic/textures/items/ClawSigil_activated.png new file mode 100644 index 00000000..72a9254b Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/ClawSigil_activated.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/items/ClawSigil_deactivated.png b/src/main/resources/assets/bloodmagic/textures/items/ClawSigil_deactivated.png new file mode 100644 index 00000000..e849c542 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/ClawSigil_deactivated.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/items/ReagentBounce.png b/src/main/resources/assets/bloodmagic/textures/items/ReagentBounce.png new file mode 100644 index 00000000..9bb11b72 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/ReagentBounce.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/items/ReagentClaw.png b/src/main/resources/assets/bloodmagic/textures/items/ReagentClaw.png new file mode 100644 index 00000000..7343b4b0 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/ReagentClaw.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/items/ReagentFrost.png b/src/main/resources/assets/bloodmagic/textures/items/ReagentFrost.png new file mode 100644 index 00000000..c4213d4e Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/items/ReagentFrost.png differ