From 5a44d3f8afc67824d88fe793efcbc3daf4934c2e Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Fri, 7 Feb 2020 23:50:16 +0100 Subject: [PATCH] ring of last chance --- .../blockstates/blast_furnace_booster.json | 23 ++++++++-- .../blockstates/furnace_heater.json | 38 +++++++++++++--- .../naturesaura/models/item/death_ring.json | 6 +++ .../data/curios/tags/items/ring.json | 6 +++ .../naturesaura/compat/CuriosCompat.java | 1 + .../naturesaura/items/ItemAuraBottle.java | 2 +- .../naturesaura/items/ItemAuraCache.java | 2 +- .../naturesaura/items/ItemCaveFinder.java | 2 +- .../naturesaura/items/ItemColorChanger.java | 2 +- .../naturesaura/items/ItemDeathRing.java | 42 ++++++++++++++++++ .../naturesaura/items/ItemEffectPowder.java | 2 +- .../naturesaura/items/ItemEnderAccess.java | 2 +- .../de/ellpeck/naturesaura/items/ItemEye.java | 2 +- .../naturesaura/items/ItemGlowing.java | 3 +- .../naturesaura/items/ItemGoldFiber.java | 2 +- .../ellpeck/naturesaura/items/ItemImpl.java | 4 +- .../naturesaura/items/ItemMoverMinecart.java | 2 +- .../items/ItemMultiblockMaker.java | 2 +- .../items/ItemRangeVisualizer.java | 2 +- .../items/ItemShockwaveCreator.java | 2 +- .../ellpeck/naturesaura/items/ModItems.java | 1 + .../naturesaura/packet/PacketClient.java | 12 +++++ .../ellpeck/naturesaura/reg/ModRegistry.java | 3 +- .../assets/naturesaura/lang/en_us.json | 1 + .../naturesaura/textures/item/death_ring.png | Bin 0 -> 433 bytes .../book/en_us/entries/items/death_ring.json | 21 +++++++++ .../data/naturesaura/recipes/death_ring.json | 35 +++++++++++++++ 27 files changed, 193 insertions(+), 27 deletions(-) create mode 100644 src/generated/resources/assets/naturesaura/models/item/death_ring.json create mode 100644 src/generated/resources/data/curios/tags/items/ring.json create mode 100644 src/main/java/de/ellpeck/naturesaura/items/ItemDeathRing.java create mode 100644 src/main/resources/assets/naturesaura/textures/item/death_ring.png create mode 100644 src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/death_ring.json create mode 100644 src/main/resources/data/naturesaura/recipes/death_ring.json diff --git a/src/generated/resources/assets/naturesaura/blockstates/blast_furnace_booster.json b/src/generated/resources/assets/naturesaura/blockstates/blast_furnace_booster.json index a8336a0d..795b27d1 100644 --- a/src/generated/resources/assets/naturesaura/blockstates/blast_furnace_booster.json +++ b/src/generated/resources/assets/naturesaura/blockstates/blast_furnace_booster.json @@ -1,17 +1,32 @@ { "variants": { - "facing=north": { + "facing=north,waterlogged=false": { "model": "naturesaura:block/blast_furnace_booster" }, - "facing=south": { + "facing=south,waterlogged=false": { "model": "naturesaura:block/blast_furnace_booster", "y": 180 }, - "facing=west": { + "facing=west,waterlogged=false": { "model": "naturesaura:block/blast_furnace_booster", "y": 270 }, - "facing=east": { + "facing=east,waterlogged=false": { + "model": "naturesaura:block/blast_furnace_booster", + "y": 90 + }, + "facing=north,waterlogged=true": { + "model": "naturesaura:block/blast_furnace_booster" + }, + "facing=south,waterlogged=true": { + "model": "naturesaura:block/blast_furnace_booster", + "y": 180 + }, + "facing=west,waterlogged=true": { + "model": "naturesaura:block/blast_furnace_booster", + "y": 270 + }, + "facing=east,waterlogged=true": { "model": "naturesaura:block/blast_furnace_booster", "y": 90 } diff --git a/src/generated/resources/assets/naturesaura/blockstates/furnace_heater.json b/src/generated/resources/assets/naturesaura/blockstates/furnace_heater.json index 641884f2..d5ec2cf0 100644 --- a/src/generated/resources/assets/naturesaura/blockstates/furnace_heater.json +++ b/src/generated/resources/assets/naturesaura/blockstates/furnace_heater.json @@ -1,27 +1,53 @@ { "variants": { - "facing=down": { + "facing=down,waterlogged=false": { "model": "naturesaura:block/furnace_heater", "x": 180 }, - "facing=up": { + "facing=up,waterlogged=false": { "model": "naturesaura:block/furnace_heater" }, - "facing=north": { + "facing=north,waterlogged=false": { "model": "naturesaura:block/furnace_heater", "x": 90 }, - "facing=south": { + "facing=south,waterlogged=false": { "model": "naturesaura:block/furnace_heater", "x": 90, "y": 180 }, - "facing=west": { + "facing=west,waterlogged=false": { "model": "naturesaura:block/furnace_heater", "x": 90, "y": 270 }, - "facing=east": { + "facing=east,waterlogged=false": { + "model": "naturesaura:block/furnace_heater", + "x": 90, + "y": 90 + }, + "facing=down,waterlogged=true": { + "model": "naturesaura:block/furnace_heater", + "x": 180 + }, + "facing=up,waterlogged=true": { + "model": "naturesaura:block/furnace_heater" + }, + "facing=north,waterlogged=true": { + "model": "naturesaura:block/furnace_heater", + "x": 90 + }, + "facing=south,waterlogged=true": { + "model": "naturesaura:block/furnace_heater", + "x": 90, + "y": 180 + }, + "facing=west,waterlogged=true": { + "model": "naturesaura:block/furnace_heater", + "x": 90, + "y": 270 + }, + "facing=east,waterlogged=true": { "model": "naturesaura:block/furnace_heater", "x": 90, "y": 90 diff --git a/src/generated/resources/assets/naturesaura/models/item/death_ring.json b/src/generated/resources/assets/naturesaura/models/item/death_ring.json new file mode 100644 index 00000000..0600bbd4 --- /dev/null +++ b/src/generated/resources/assets/naturesaura/models/item/death_ring.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "naturesaura:item/death_ring" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/curios/tags/items/ring.json b/src/generated/resources/data/curios/tags/items/ring.json new file mode 100644 index 00000000..353316b7 --- /dev/null +++ b/src/generated/resources/data/curios/tags/items/ring.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "naturesaura:death_ring" + ] +} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/naturesaura/compat/CuriosCompat.java b/src/main/java/de/ellpeck/naturesaura/compat/CuriosCompat.java index a7ae2bef..4780d9ae 100644 --- a/src/main/java/de/ellpeck/naturesaura/compat/CuriosCompat.java +++ b/src/main/java/de/ellpeck/naturesaura/compat/CuriosCompat.java @@ -37,6 +37,7 @@ public class CuriosCompat implements ICompat { .put(ModItems.AURA_CACHE, CurioTags.BELT) .put(ModItems.AURA_TROVE, CurioTags.BELT) .put(ModItems.SHOCKWAVE_CREATOR, CurioTags.NECKLACE) + .put(ModItems.DEATH_RING, CurioTags.RING) .build(); @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java b/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java index a7fe879a..5d0c1b95 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java @@ -32,7 +32,7 @@ import static net.minecraft.dispenser.DefaultDispenseItemBehavior.doDispense; public class ItemAuraBottle extends ItemImpl implements IColorProvidingItem, ICustomItemModel { public ItemAuraBottle(Item emptyBottle) { - super("aura_bottle", new Properties().group(NaturesAura.CREATIVE_TAB)); + super("aura_bottle"); MinecraftForge.EVENT_BUS.register(new EventHandler()); DispenserBlock.registerDispenseBehavior(emptyBottle, (source, stack) -> { diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemAuraCache.java b/src/main/java/de/ellpeck/naturesaura/items/ItemAuraCache.java index 52082c79..d7146d3a 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemAuraCache.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemAuraCache.java @@ -38,7 +38,7 @@ public class ItemAuraCache extends ItemImpl implements ITrinketItem { private final int capacity; public ItemAuraCache(String name, int capacity) { - super(name, new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super(name, new Properties().maxStackSize(1)); this.capacity = capacity; } diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemCaveFinder.java b/src/main/java/de/ellpeck/naturesaura/items/ItemCaveFinder.java index 9e4844d0..28c7670d 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemCaveFinder.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemCaveFinder.java @@ -15,7 +15,7 @@ import net.minecraft.world.World; public class ItemCaveFinder extends ItemImpl { public ItemCaveFinder() { - super("cave_finder", new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super("cave_finder", new Properties().maxStackSize(1)); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemColorChanger.java b/src/main/java/de/ellpeck/naturesaura/items/ItemColorChanger.java index e3d71fe5..1b42fefa 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemColorChanger.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemColorChanger.java @@ -23,7 +23,7 @@ import java.util.List; public class ItemColorChanger extends ItemImpl implements IColorProvidingItem, ICustomItemModel { public ItemColorChanger() { - super("color_changer", new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super("color_changer", new Properties().maxStackSize(1)); this.addPropertyOverride(new ResourceLocation(NaturesAura.MOD_ID, "fill_mode"), (stack, worldIn, entityIn) -> isFillMode(stack) ? 1F : 0F); diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemDeathRing.java b/src/main/java/de/ellpeck/naturesaura/items/ItemDeathRing.java new file mode 100644 index 00000000..6ccc4013 --- /dev/null +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemDeathRing.java @@ -0,0 +1,42 @@ +package de.ellpeck.naturesaura.items; + +import de.ellpeck.naturesaura.Helper; +import de.ellpeck.naturesaura.packet.PacketClient; +import de.ellpeck.naturesaura.packet.PacketHandler; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.EffectInstance; +import net.minecraft.potion.Effects; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; + +public class ItemDeathRing extends ItemImpl { + public ItemDeathRing() { + super("death_ring", new Properties().maxStackSize(1)); + MinecraftForge.EVENT_BUS.register(new Events()); + } + + public static class Events { + + @SubscribeEvent + public void onDeath(LivingDeathEvent event) { + LivingEntity entity = event.getEntityLiving(); + if (!entity.world.isRemote && entity instanceof PlayerEntity) { + ItemStack equipped = Helper.getEquippedItem(s -> s.getItem() == ModItems.DEATH_RING, (PlayerEntity) entity); + if (!equipped.isEmpty()) { + entity.setHealth(entity.getMaxHealth() / 2); + entity.clearActivePotions(); + entity.addPotionEffect(new EffectInstance(Effects.REGENERATION, 500, 1)); + + PacketHandler.sendToAllAround(entity.world, entity.getPosition(), 32, + new PacketClient(1, entity.getEntityId())); + + equipped.shrink(1); + event.setCanceled(true); + } + } + } + } +} diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemEffectPowder.java b/src/main/java/de/ellpeck/naturesaura/items/ItemEffectPowder.java index 176de922..a6859765 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemEffectPowder.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemEffectPowder.java @@ -21,7 +21,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; public class ItemEffectPowder extends ItemImpl implements IColorProvidingItem { public ItemEffectPowder() { - super("effect_powder", new Properties().group(NaturesAura.CREATIVE_TAB)); + super("effect_powder"); } public static ResourceLocation getEffect(ItemStack stack) { diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemEnderAccess.java b/src/main/java/de/ellpeck/naturesaura/items/ItemEnderAccess.java index f68528e0..66186181 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemEnderAccess.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemEnderAccess.java @@ -31,7 +31,7 @@ import java.util.List; public class ItemEnderAccess extends ItemImpl { public ItemEnderAccess() { - super("ender_access", new Properties().group(NaturesAura.CREATIVE_TAB)); + super("ender_access"); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemEye.java b/src/main/java/de/ellpeck/naturesaura/items/ItemEye.java index 58b55761..9ecc27b1 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemEye.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemEye.java @@ -17,7 +17,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; public class ItemEye extends ItemImpl implements ITrinketItem { public ItemEye(String name) { - super(name, new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super(name, new Properties().maxStackSize(1)); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemGlowing.java b/src/main/java/de/ellpeck/naturesaura/items/ItemGlowing.java index 5ec40dfe..4700a1e3 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemGlowing.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemGlowing.java @@ -5,10 +5,9 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -// Name (Glowing) ambiguous? public class ItemGlowing extends ItemImpl { public ItemGlowing(String baseName) { - super(baseName, new Properties().group(NaturesAura.CREATIVE_TAB)); + super(baseName); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemGoldFiber.java b/src/main/java/de/ellpeck/naturesaura/items/ItemGoldFiber.java index b853b6c8..da4a391a 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemGoldFiber.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemGoldFiber.java @@ -11,7 +11,7 @@ import net.minecraft.util.ActionResultType; public class ItemGoldFiber extends ItemImpl implements IColorProvidingItem { public ItemGoldFiber() { - super("gold_fiber", new Properties().group(NaturesAura.CREATIVE_TAB)); + super("gold_fiber"); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemImpl.java b/src/main/java/de/ellpeck/naturesaura/items/ItemImpl.java index 746daf55..54865137 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemImpl.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemImpl.java @@ -10,11 +10,11 @@ public class ItemImpl extends Item implements IModItem { private final String baseName; public ItemImpl(String baseName) { - this(baseName, new Properties().group(NaturesAura.CREATIVE_TAB)); + this(baseName, new Properties()); } public ItemImpl(String baseName, Item.Properties properties) { - super(properties); + super(properties.group(NaturesAura.CREATIVE_TAB)); this.baseName = baseName; ModRegistry.add(this); } diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemMoverMinecart.java b/src/main/java/de/ellpeck/naturesaura/items/ItemMoverMinecart.java index c66d14ff..47209e76 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemMoverMinecart.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemMoverMinecart.java @@ -15,7 +15,7 @@ import javax.annotation.Nonnull; public class ItemMoverMinecart extends ItemImpl { public ItemMoverMinecart() { - super("mover_cart", new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super("mover_cart", new Properties().maxStackSize(1)); } @Nonnull diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemMultiblockMaker.java b/src/main/java/de/ellpeck/naturesaura/items/ItemMultiblockMaker.java index 7ab36866..b60783b0 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemMultiblockMaker.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemMultiblockMaker.java @@ -20,7 +20,7 @@ public class ItemMultiblockMaker extends ItemImpl { private static List multiblocks; public ItemMultiblockMaker() { - super("multiblock_maker", new Properties().group(NaturesAura.CREATIVE_TAB)); + super("multiblock_maker"); } private static int getMultiblock(ItemStack stack) { diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemRangeVisualizer.java b/src/main/java/de/ellpeck/naturesaura/items/ItemRangeVisualizer.java index d078869d..9ab5c541 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemRangeVisualizer.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemRangeVisualizer.java @@ -28,7 +28,7 @@ public class ItemRangeVisualizer extends ItemImpl { public static final ListMultimap VISUALIZED_RAILS = ArrayListMultimap.create(); public ItemRangeVisualizer() { - super("range_visualizer", new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super("range_visualizer", new Properties().maxStackSize(1)); MinecraftForge.EVENT_BUS.register(new EventHandler()); } diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemShockwaveCreator.java b/src/main/java/de/ellpeck/naturesaura/items/ItemShockwaveCreator.java index 12a217d0..2b0d14bb 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemShockwaveCreator.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemShockwaveCreator.java @@ -36,7 +36,7 @@ import java.util.List; public class ItemShockwaveCreator extends ItemImpl implements ITrinketItem { public ItemShockwaveCreator() { - super("shockwave_creator", new Properties().maxStackSize(1).group(NaturesAura.CREATIVE_TAB)); + super("shockwave_creator", new Properties().maxStackSize(1)); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/items/ModItems.java b/src/main/java/de/ellpeck/naturesaura/items/ModItems.java index 512be495..a049fa9b 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ModItems.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ModItems.java @@ -45,4 +45,5 @@ public final class ModItems { public static Item ENDER_ACCESS; public static Item CAVE_FINDER; public static Item CRIMSON_MEAL; + public static Item DEATH_RING; } diff --git a/src/main/java/de/ellpeck/naturesaura/packet/PacketClient.java b/src/main/java/de/ellpeck/naturesaura/packet/PacketClient.java index ac6ee913..d66b5be8 100644 --- a/src/main/java/de/ellpeck/naturesaura/packet/PacketClient.java +++ b/src/main/java/de/ellpeck/naturesaura/packet/PacketClient.java @@ -1,8 +1,13 @@ package de.ellpeck.naturesaura.packet; import de.ellpeck.naturesaura.items.ItemRangeVisualizer; +import de.ellpeck.naturesaura.items.ModItems; import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; import net.minecraft.network.PacketBuffer; +import net.minecraft.particles.ParticleTypes; +import net.minecraft.util.SoundEvents; import net.minecraft.util.math.BlockPos; import net.minecraft.world.dimension.DimensionType; import net.minecraftforge.fml.network.NetworkEvent; @@ -52,6 +57,13 @@ public class PacketClient { int goalDim = message.data[0]; BlockPos goalPos = new BlockPos(message.data[1], message.data[2], message.data[3]); ItemRangeVisualizer.visualize(mc.player, ItemRangeVisualizer.VISUALIZED_RAILS, DimensionType.getById(goalDim), goalPos); + case 1: + Entity entity = mc.world.getEntityByID(message.data[0]); + mc.particles.emitParticleAtEntity(entity, ParticleTypes.TOTEM_OF_UNDYING, 30); + mc.world.playSound(entity.getPosX(), entity.getPosY(), entity.getPosZ(), SoundEvents.ITEM_TOTEM_USE, entity.getSoundCategory(), 1.0F, 1.0F, false); + if (entity == mc.player) { + mc.gameRenderer.displayItemActivation(new ItemStack(ModItems.DEATH_RING)); + } } } } diff --git a/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java b/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java index 635d950a..963295d3 100644 --- a/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java +++ b/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java @@ -172,7 +172,8 @@ public final class ModRegistry { new ItemImpl("token_grief"), new ItemEnderAccess(), new ItemCaveFinder(), - new ItemCrimsonMeal() + new ItemCrimsonMeal(), + new ItemDeathRing() ); Helper.populateObjectHolders(ModItems.class, event.getRegistry()); } diff --git a/src/main/resources/assets/naturesaura/lang/en_us.json b/src/main/resources/assets/naturesaura/lang/en_us.json index be988229..af4208a2 100644 --- a/src/main/resources/assets/naturesaura/lang/en_us.json +++ b/src/main/resources/assets/naturesaura/lang/en_us.json @@ -105,6 +105,7 @@ "item.naturesaura.cave_finder": "Staff of Shadows", "item.naturesaura.aura_trove": "Aura Trove", "item.naturesaura.crimson_meal": "Crimson Meal", + "item.naturesaura.death_ring": "Ring of Last Chance", "container.naturesaura:tree_ritual.name": "Ritual of the Forest", "container.naturesaura:altar.name": "Natural Altar Infusion", "container.naturesaura:offering.name": "Offering to the Gods", diff --git a/src/main/resources/assets/naturesaura/textures/item/death_ring.png b/src/main/resources/assets/naturesaura/textures/item/death_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..097d11ed011552e3a9b657681ef48ed81f43042c GIT binary patch literal 433 zcmV;i0Z#sjP)Px$Ye_^wR5*>5lFv&5K@`WovlP(}x63Lhnc%@Xgy5zBApd|aojT>EKrz^kf_Uf> zi*9>RsDB`kAUdrFFF}Ntz*8$2=$aQ#u@s1h*CA%uRa5((X5O3c=e;*Gzzo$*lj^2P zv(89=B@9g?$8q2|4(357R5lC>C<+;xMi1301r&uYve~JSi4JPl`vd?tm5PY*HP5-l zJmzAY{JtRu-qFpJZ}o0G;U6$ESAhP#DVQd1OSlC zG*}{KF~4t!S}`slVfbb_Zh8-N7>I8CP+pZls*62OW-N zsVbFqox})z+g{WQ00@P{!XvqZi^^S40)SOn{&yFvvg{4G=bELQs?uelF!>658~2E< zFVC%fxci7!ZzT4fk93!hQf%uNl1N#e-0STQ0YIxa!cqR6O$BfW0B{f&uj)2W1&o8Z b#*JJ*V}6mHh6NGv00000NkvXXu0mjfhL5=N literal 0 HcmV?d00001 diff --git a/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/death_ring.json b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/death_ring.json new file mode 100644 index 00000000..e12a9513 --- /dev/null +++ b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/death_ring.json @@ -0,0 +1,21 @@ +{ + "name": "Ring of Last Chance", + "icon": "naturesaura:death_ring", + "category": "items", + "advancement": "naturesaura:sky_ingot", + "pages": [ + { + "type": "text", + "text": "When one is stuck, as one says, between a rock and a hard place, not much can be done - sometimes, $(thing)death$() just has to be accepted as an occurence.$(p)That's what magical botanists used to think before they realized that $(thing)death itself$() could be $()averted$() using something as simple as a ring: The $(item)Ring of Last Chance$(), when placed anywhere in the user's" + }, + { + "type": "text", + "text": "inventory, will prevent their death by healing them and $(thing)disappearing$() in the process, similary to the $(item)Totem of Undying$()." + }, + { + "type": "crafting", + "text": "Creating the $(item)Ring of Last Chance$()$(p)$(italic)This Ring Fits perfectly", + "recipe": "naturesaura:death_ring" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/death_ring.json b/src/main/resources/data/naturesaura/recipes/death_ring.json new file mode 100644 index 00000000..90dedb81 --- /dev/null +++ b/src/main/resources/data/naturesaura/recipes/death_ring.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "TKE", + "GSG", + "NGN" + ], + "key": { + "G": { + "item": "minecraft:gold_ingot" + }, + "S": { + "item": "naturesaura:sky_ingot" + }, + "T": { + "item": "naturesaura:token_terror" + }, + "E": { + "item": "naturesaura:token_euphoria" + }, + "N": { + "type": "forge:nbt", + "item": "naturesaura:aura_bottle", + "nbt": { + "stored_type": "naturesaura:end" + } + }, + "K": { + "item": "minecraft:wither_skeleton_skull" + } + }, + "result": { + "item": "naturesaura:death_ring" + } +} \ No newline at end of file