From 21e52c750e0d8a2b713b25446701f2193f3eff39 Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 15 Apr 2020 18:34:42 +0200 Subject: [PATCH] Fill in values for the item tags --- .../com/minelittlepony/unicopia/UTags.java | 4 ++-- .../container/BagOfHoldingInventory.java | 10 +++----- .../unicopia/item/BagOfHoldingItem.java | 5 ---- .../unicopia/magic/MagicalItem.java | 8 ------- .../unicopia/tags/items/cursed_artefacts.json | 6 +++++ .../tags/items/hammerspace_immune.json | 23 +++++++++++++++++++ 6 files changed, 34 insertions(+), 22 deletions(-) create mode 100644 src/main/resources/data/unicopia/tags/items/cursed_artefacts.json create mode 100644 src/main/resources/data/unicopia/tags/items/hammerspace_immune.json diff --git a/src/main/java/com/minelittlepony/unicopia/UTags.java b/src/main/java/com/minelittlepony/unicopia/UTags.java index a42e7faa..3aabbf55 100644 --- a/src/main/java/com/minelittlepony/unicopia/UTags.java +++ b/src/main/java/com/minelittlepony/unicopia/UTags.java @@ -6,8 +6,8 @@ import net.minecraft.tag.Tag; import net.minecraft.util.Identifier; public interface UTags { - // TODO: includes unicopia:alicorn_amulet Tag CURSED_ARTEFACTS = TagRegistry.item(new Identifier(UnicopiaCore.MODID, "cursed_artefacts")); + Tag HAMMERPACE_IMMUNE = TagRegistry.item(new Identifier(UnicopiaCore.MODID, "hammerspace_immune")); - static void bootstrap() {} + static void bootstrap() { } } diff --git a/src/main/java/com/minelittlepony/unicopia/container/BagOfHoldingInventory.java b/src/main/java/com/minelittlepony/unicopia/container/BagOfHoldingInventory.java index 9dc1303c..2db64f46 100644 --- a/src/main/java/com/minelittlepony/unicopia/container/BagOfHoldingInventory.java +++ b/src/main/java/com/minelittlepony/unicopia/container/BagOfHoldingInventory.java @@ -5,8 +5,8 @@ import java.util.List; import java.util.Optional; import java.util.function.BiFunction; +import com.minelittlepony.unicopia.UTags; import com.minelittlepony.unicopia.advancement.BOHDeathCriterion; -import com.minelittlepony.unicopia.magic.MagicalItem; import com.minelittlepony.unicopia.util.HeavyInventoryUtils; import com.minelittlepony.unicopia.util.NbtSerialisable; import com.minelittlepony.unicopia.util.MagicalDamageSource; @@ -15,13 +15,11 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.EnderChestBlock; -import net.minecraft.block.ShulkerBoxBlock; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.BasicInventory; import net.minecraft.inventory.Inventory; -import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; @@ -156,10 +154,8 @@ public class BagOfHoldingInventory extends BasicInventory implements NbtSerialis CompoundTag compound = stack.getSubTag("inventory"); return isIllegalBlock(Block.getBlockFromItem(stack.getItem())) - // TODO: tag for items that are invalid for the inventory of holding - || stack.getItem() instanceof BlockItem && (((BlockItem)stack.getItem()).getBlock() instanceof ShulkerBoxBlock) - || (compound != null && compound.containsKey("invalid")) - || (stack.getItem() instanceof MagicalItem && ((MagicalItem) stack.getItem()).hasInnerSpace()); + || stack.getItem().isIn(UTags.HAMMERPACE_IMMUNE) + || (compound != null && compound.containsKey("invalid")); } protected boolean isIllegalBlock(Block block) { diff --git a/src/main/java/com/minelittlepony/unicopia/item/BagOfHoldingItem.java b/src/main/java/com/minelittlepony/unicopia/item/BagOfHoldingItem.java index 79a6dd06..081d9cef 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/BagOfHoldingItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/BagOfHoldingItem.java @@ -122,11 +122,6 @@ public class BagOfHoldingItem extends Item implements MagicalItem { return Affinity.NEUTRAL; } - @Override - public boolean hasInnerSpace() { - return true; - } - public static class ContainerProvider implements NameableContainerProvider { private Text customname = null; diff --git a/src/main/java/com/minelittlepony/unicopia/magic/MagicalItem.java b/src/main/java/com/minelittlepony/unicopia/magic/MagicalItem.java index 083a960e..d77913fe 100644 --- a/src/main/java/com/minelittlepony/unicopia/magic/MagicalItem.java +++ b/src/main/java/com/minelittlepony/unicopia/magic/MagicalItem.java @@ -3,14 +3,6 @@ package com.minelittlepony.unicopia.magic; import net.minecraft.item.ItemStack; public interface MagicalItem extends Affine { - /** - * If true this item serves as host to its own inner dimensional space. - * Bag of Holding will explode if you try to store items of this kind inside of it. - */ - default boolean hasInnerSpace() { - return false; - } - /** * Gets the affinity of this magical artifact. Either good, bad, or unaligned. * What this returns may have effects on the behaviour of certain spells and effects. diff --git a/src/main/resources/data/unicopia/tags/items/cursed_artefacts.json b/src/main/resources/data/unicopia/tags/items/cursed_artefacts.json new file mode 100644 index 00000000..bf38e1ee --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/cursed_artefacts.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "unicopia:alicorn_amulet" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/tags/items/hammerspace_immune.json b/src/main/resources/data/unicopia/tags/items/hammerspace_immune.json new file mode 100644 index 00000000..6b2cc1e9 --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/hammerspace_immune.json @@ -0,0 +1,23 @@ +{ + "replace": false, + "values": [ + "minecraft:shulker_box", + "minecraft:white_shulker_box", + "minecraft:orange_shulker_box", + "minecraft:magenta_shulker_box", + "minecraft:light_blue_shulker_box", + "minecraft:yellow_shulker_box", + "minecraft:lime_shulker_box", + "minecraft:pink_shulker_box", + "minecraft:gray_shulker_box", + "minecraft:light_gray_shulker_box", + "minecraft:cyan_shulker_box", + "minecraft:purple_shulker_box", + "minecraft:blue_shulker_box", + "minecraft:brown_shulker_box", + "minecraft:green_shulker_box", + "minecraft:red_shulker_box", + "minecraft:black_shulker_box", + "unicopia:bag_of_holding" + ] +} \ No newline at end of file