diff --git a/build.gradle b/build.gradle index b420d5f..62de071 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.12-SNAPSHOT' + id 'fabric-loom' version '1.0-SNAPSHOT' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index aedf628..db1969d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,13 +8,13 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.14.9 # Mod Properties - mod_version = 2.1.1+1.17 + mod_version = 2.2.0+1.17 maven_group = atonkish.reinfshulker archives_base_name = reinforced-shulker-boxes # Dependencies fabric_version=0.46.1+1.17 - reinforced_core_version=3.0.2+1.17 - reinforced_chests_version=2.1.2+1.17 + reinforced_core_version=3.0.3+1.17 + reinforced_chests_version=2.2.0+1.17 quick_shulker_version=1.3.0-1.17 shulker_box_tooltip_version=3.0.6+1.17.1 diff --git a/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java b/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java index 45bd44f..d632ac9 100644 --- a/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java +++ b/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java @@ -5,6 +5,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; import net.fabricmc.loader.api.FabricLoader; + import net.minecraft.block.Block; import net.minecraft.block.entity.BlockEntity; import net.minecraft.client.MinecraftClient; diff --git a/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesMod.java b/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesMod.java index 2d667e9..5c61f53 100644 --- a/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesMod.java +++ b/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesMod.java @@ -2,6 +2,7 @@ import net.fabricmc.api.ModInitializer; import net.fabricmc.loader.api.FabricLoader; + import net.minecraft.util.DyeColor; import org.slf4j.Logger; diff --git a/src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java b/src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java index 8696959..9cc729a 100644 --- a/src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java +++ b/src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java @@ -4,6 +4,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; + import net.minecraft.client.render.RenderLayer; import net.minecraft.client.util.SpriteIdentifier; import net.minecraft.util.Identifier; diff --git a/src/main/java/atonkish/reinfshulker/block/ReinforcedShulkerBoxBlock.java b/src/main/java/atonkish/reinfshulker/block/ReinforcedShulkerBoxBlock.java index 9eec362..e7fa673 100644 --- a/src/main/java/atonkish/reinfshulker/block/ReinforcedShulkerBoxBlock.java +++ b/src/main/java/atonkish/reinfshulker/block/ReinforcedShulkerBoxBlock.java @@ -8,12 +8,10 @@ import net.minecraft.block.entity.BlockEntityTicker; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.ShulkerBoxBlockEntity; -import net.minecraft.entity.ItemEntity; import net.minecraft.entity.mob.PiglinBrain; import net.minecraft.entity.mob.ShulkerEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NbtCompound; import net.minecraft.util.ActionResult; import net.minecraft.util.DyeColor; import net.minecraft.util.Hand; @@ -85,34 +83,6 @@ private static boolean canOpen(BlockState state, World world, BlockPos pos, Shul } } - @Override - public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { - BlockEntity blockEntity = world.getBlockEntity(pos); - if (blockEntity instanceof ReinforcedShulkerBoxBlockEntity) { - ReinforcedShulkerBoxBlockEntity reinforcedShulkerBoxBlockEntity = (ReinforcedShulkerBoxBlockEntity) blockEntity; - if (!world.isClient && player.isCreative() && !reinforcedShulkerBoxBlockEntity.isEmpty()) { - ItemStack itemStack = getItemStack(this.material, this.getColor()); - NbtCompound nbtCompound = reinforcedShulkerBoxBlockEntity.writeInventoryNbt(new NbtCompound()); - if (!nbtCompound.isEmpty()) { - itemStack.setSubNbt("BlockEntityTag", nbtCompound); - } - - if (reinforcedShulkerBoxBlockEntity.hasCustomName()) { - itemStack.setCustomName(reinforcedShulkerBoxBlockEntity.getCustomName()); - } - - ItemEntity itemEntity = new ItemEntity(world, (double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, - (double) pos.getZ() + 0.5D, itemStack); - itemEntity.setToDefaultPickupDelay(); - world.spawnEntity(itemEntity); - } else { - reinforcedShulkerBoxBlockEntity.checkLootInteraction(player); - } - } - - super.onBreak(world, pos, state, player); - } - public static Block get(ReinforcingMaterial material, @Nullable DyeColor color) { return ModBlocks.REINFORCED_SHULKER_BOX_MAP.get(material).get(color); } diff --git a/src/main/java/atonkish/reinfshulker/block/entity/ModBlockEntityType.java b/src/main/java/atonkish/reinfshulker/block/entity/ModBlockEntityType.java index 74d43f6..8e54d32 100644 --- a/src/main/java/atonkish/reinfshulker/block/entity/ModBlockEntityType.java +++ b/src/main/java/atonkish/reinfshulker/block/entity/ModBlockEntityType.java @@ -4,6 +4,7 @@ import java.util.Map; import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; + import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; diff --git a/src/main/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java b/src/main/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java index 0130cf2..4cfb3a5 100644 --- a/src/main/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java +++ b/src/main/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java @@ -10,6 +10,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback; + import net.minecraft.client.render.RenderLayer; import net.minecraft.client.util.SpriteIdentifier; import net.minecraft.util.DyeColor; diff --git a/src/main/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java b/src/main/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java index 8c28d46..a81dace 100644 --- a/src/main/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java +++ b/src/main/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java @@ -2,6 +2,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; + import net.minecraft.block.BlockState; import net.minecraft.block.ShulkerBoxBlock; import net.minecraft.client.model.ModelPart; diff --git a/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java b/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java index 59c192c..8bc2c83 100644 --- a/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java +++ b/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java @@ -4,7 +4,9 @@ import net.kyrptonaught.quickshulker.api.ItemStackInventory; import net.kyrptonaught.quickshulker.api.QuickOpenableRegistry; +import net.kyrptonaught.quickshulker.api.QuickShulkerData; import net.kyrptonaught.quickshulker.api.RegisterQuickShulker; + import net.minecraft.block.entity.BlockEntityType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; @@ -25,7 +27,8 @@ public class QuickShulker implements RegisterQuickShulker { @Override public void registerProviders() { - QuickOpenableRegistry.register(ReinforcedShulkerBoxBlock.class, REINFORCED_SHULKER_BOX_CONSUMER); + QuickOpenableRegistry.register(ReinforcedShulkerBoxBlock.class, + new QuickShulkerData(REINFORCED_SHULKER_BOX_CONSUMER, false)); } static { diff --git a/src/main/java/atonkish/reinfshulker/mixin/ItemStackAccessor.java b/src/main/java/atonkish/reinfshulker/mixin/ItemStackAccessor.java new file mode 100644 index 0000000..9665fd7 --- /dev/null +++ b/src/main/java/atonkish/reinfshulker/mixin/ItemStackAccessor.java @@ -0,0 +1,15 @@ +package atonkish.reinfshulker.mixin; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(ItemStack.class) +public interface ItemStackAccessor { + @Mutable + @Accessor("item") + public void setItem(Item item); +} diff --git a/src/main/java/atonkish/reinfshulker/mixin/RecipeManagerMixin.java b/src/main/java/atonkish/reinfshulker/mixin/RecipeManagerMixin.java index e8d2d16..12755c4 100644 --- a/src/main/java/atonkish/reinfshulker/mixin/RecipeManagerMixin.java +++ b/src/main/java/atonkish/reinfshulker/mixin/RecipeManagerMixin.java @@ -5,16 +5,16 @@ import com.google.gson.JsonElement; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - import net.minecraft.recipe.RecipeManager; import net.minecraft.resource.ResourceManager; import net.minecraft.util.Identifier; import net.minecraft.util.profiler.Profiler; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + import atonkish.reinfshulker.ReinforcedShulkerBoxesMod; @Mixin(RecipeManager.class) diff --git a/src/main/java/atonkish/reinfshulker/mixin/ServerAdvancementLoaderMixin.java b/src/main/java/atonkish/reinfshulker/mixin/ServerAdvancementLoaderMixin.java index d5c9706..b96a684 100644 --- a/src/main/java/atonkish/reinfshulker/mixin/ServerAdvancementLoaderMixin.java +++ b/src/main/java/atonkish/reinfshulker/mixin/ServerAdvancementLoaderMixin.java @@ -5,16 +5,16 @@ import com.google.gson.JsonElement; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - import net.minecraft.resource.ResourceManager; import net.minecraft.server.ServerAdvancementLoader; import net.minecraft.util.Identifier; import net.minecraft.util.profiler.Profiler; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + import atonkish.reinfshulker.ReinforcedShulkerBoxesMod; @Mixin(ServerAdvancementLoader.class) diff --git a/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxBlockMixin.java b/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxBlockMixin.java index bc19355..abc5d1e 100644 --- a/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxBlockMixin.java +++ b/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxBlockMixin.java @@ -1,11 +1,11 @@ package atonkish.reinfshulker.mixin; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.ShulkerBoxBlock; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.ShulkerBoxBlockEntity; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -13,22 +13,20 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; +import atonkish.reinfshulker.block.ReinforcedShulkerBoxBlock; import atonkish.reinfshulker.block.entity.ReinforcedShulkerBoxBlockEntity; @Mixin(ShulkerBoxBlock.class) -public class ShulkerBoxBlockMixin extends Block { - // Dummy - private ShulkerBoxBlockMixin(AbstractBlock.Settings settings) { - super(settings); - } - - @Inject(at = @At("HEAD"), method = "onBreak", cancellable = true) - public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player, CallbackInfo info) { - BlockEntity blockEntity = world.getBlockEntity(pos); +public class ShulkerBoxBlockMixin { + @Inject(method = "onBreak", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/entity/ShulkerBoxBlockEntity;writeInventoryNbt(Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/nbt/NbtCompound;"), locals = LocalCapture.CAPTURE_FAILHARD) + public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player, CallbackInfo info, + BlockEntity blockEntity, ShulkerBoxBlockEntity shulkerBoxBlockEntity, ItemStack itemStack) { if (blockEntity instanceof ReinforcedShulkerBoxBlockEntity) { - super.onBreak(world, pos, state, player); - info.cancel(); + ReinforcedShulkerBoxBlockEntity entity = (ReinforcedShulkerBoxBlockEntity) blockEntity; + ((ItemStackAccessor) (Object) itemStack) + .setItem(ReinforcedShulkerBoxBlock.get(entity.getMaterial(), entity.getColor()).asItem()); } } -} \ No newline at end of file +} diff --git a/src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java b/src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java index 3dbc276..8aaa232 100644 --- a/src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java +++ b/src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java @@ -4,6 +4,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; + import net.minecraft.client.render.TexturedRenderLayers; import net.minecraft.client.util.SpriteIdentifier; diff --git a/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java b/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java index 824876e..ce5405e 100644 --- a/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java +++ b/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java @@ -1,6 +1,7 @@ package atonkish.reinfshulker.util; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.Material; diff --git a/src/main/resources/data/c/tags/items/copper_chests.json b/src/main/resources/data/c/tags/items/copper_chests.json deleted file mode 100644 index 5e8aecc..0000000 --- a/src/main/resources/data/c/tags/items/copper_chests.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "replace": false, - "values": [] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/diamond_chests.json b/src/main/resources/data/c/tags/items/diamond_chests.json deleted file mode 100644 index 5e8aecc..0000000 --- a/src/main/resources/data/c/tags/items/diamond_chests.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "replace": false, - "values": [] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/gold_chests.json b/src/main/resources/data/c/tags/items/gold_chests.json deleted file mode 100644 index 5e8aecc..0000000 --- a/src/main/resources/data/c/tags/items/gold_chests.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "replace": false, - "values": [] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/iron_chests.json b/src/main/resources/data/c/tags/items/iron_chests.json deleted file mode 100644 index 5e8aecc..0000000 --- a/src/main/resources/data/c/tags/items/iron_chests.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "replace": false, - "values": [] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/netherite_chests.json b/src/main/resources/data/c/tags/items/netherite_chests.json deleted file mode 100644 index 5e8aecc..0000000 --- a/src/main/resources/data/c/tags/items/netherite_chests.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "replace": false, - "values": [] -} \ No newline at end of file diff --git a/src/main/resources/data/enchantedshulkers/tags/items/portable_container.json b/src/main/resources/data/enchantedshulkers/tags/items/portable_container.json new file mode 100644 index 0000000..2fdd86c --- /dev/null +++ b/src/main/resources/data/enchantedshulkers/tags/items/portable_container.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "#reinfshulker:copper_shulker_boxes", + "#reinfshulker:iron_shulker_boxes", + "#reinfshulker:gold_shulker_boxes", + "#reinfshulker:diamond_shulker_boxes", + "#reinfshulker:netherite_shulker_boxes" + ] +} diff --git a/src/main/resources/data/reinfshulker/tags/items/copper_shulker_boxes.json b/src/main/resources/data/reinfshulker/tags/items/copper_shulker_boxes.json new file mode 100644 index 0000000..d60fcf2 --- /dev/null +++ b/src/main/resources/data/reinfshulker/tags/items/copper_shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "reinfshulker:copper_shulker_box", + "reinfshulker:black_copper_shulker_box", + "reinfshulker:blue_copper_shulker_box", + "reinfshulker:brown_copper_shulker_box", + "reinfshulker:cyan_copper_shulker_box", + "reinfshulker:gray_copper_shulker_box", + "reinfshulker:green_copper_shulker_box", + "reinfshulker:light_blue_copper_shulker_box", + "reinfshulker:light_gray_copper_shulker_box", + "reinfshulker:lime_copper_shulker_box", + "reinfshulker:magenta_copper_shulker_box", + "reinfshulker:orange_copper_shulker_box", + "reinfshulker:pink_copper_shulker_box", + "reinfshulker:purple_copper_shulker_box", + "reinfshulker:red_copper_shulker_box", + "reinfshulker:white_copper_shulker_box", + "reinfshulker:yellow_copper_shulker_box" + ] +} diff --git a/src/main/resources/data/reinfshulker/tags/items/diamond_shulker_boxes.json b/src/main/resources/data/reinfshulker/tags/items/diamond_shulker_boxes.json new file mode 100644 index 0000000..cc3b4a2 --- /dev/null +++ b/src/main/resources/data/reinfshulker/tags/items/diamond_shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "reinfshulker:diamond_shulker_box", + "reinfshulker:black_diamond_shulker_box", + "reinfshulker:blue_diamond_shulker_box", + "reinfshulker:brown_diamond_shulker_box", + "reinfshulker:cyan_diamond_shulker_box", + "reinfshulker:gray_diamond_shulker_box", + "reinfshulker:green_diamond_shulker_box", + "reinfshulker:light_blue_diamond_shulker_box", + "reinfshulker:light_gray_diamond_shulker_box", + "reinfshulker:lime_diamond_shulker_box", + "reinfshulker:magenta_diamond_shulker_box", + "reinfshulker:orange_diamond_shulker_box", + "reinfshulker:pink_diamond_shulker_box", + "reinfshulker:purple_diamond_shulker_box", + "reinfshulker:red_diamond_shulker_box", + "reinfshulker:white_diamond_shulker_box", + "reinfshulker:yellow_diamond_shulker_box" + ] +} diff --git a/src/main/resources/data/reinfshulker/tags/items/gold_shulker_boxes.json b/src/main/resources/data/reinfshulker/tags/items/gold_shulker_boxes.json new file mode 100644 index 0000000..ce7d7d6 --- /dev/null +++ b/src/main/resources/data/reinfshulker/tags/items/gold_shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "reinfshulker:gold_shulker_box", + "reinfshulker:black_gold_shulker_box", + "reinfshulker:blue_gold_shulker_box", + "reinfshulker:brown_gold_shulker_box", + "reinfshulker:cyan_gold_shulker_box", + "reinfshulker:gray_gold_shulker_box", + "reinfshulker:green_gold_shulker_box", + "reinfshulker:light_blue_gold_shulker_box", + "reinfshulker:light_gray_gold_shulker_box", + "reinfshulker:lime_gold_shulker_box", + "reinfshulker:magenta_gold_shulker_box", + "reinfshulker:orange_gold_shulker_box", + "reinfshulker:pink_gold_shulker_box", + "reinfshulker:purple_gold_shulker_box", + "reinfshulker:red_gold_shulker_box", + "reinfshulker:white_gold_shulker_box", + "reinfshulker:yellow_gold_shulker_box" + ] +} diff --git a/src/main/resources/data/reinfshulker/tags/items/iron_shulker_boxes.json b/src/main/resources/data/reinfshulker/tags/items/iron_shulker_boxes.json new file mode 100644 index 0000000..31d3d5f --- /dev/null +++ b/src/main/resources/data/reinfshulker/tags/items/iron_shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "reinfshulker:iron_shulker_box", + "reinfshulker:black_iron_shulker_box", + "reinfshulker:blue_iron_shulker_box", + "reinfshulker:brown_iron_shulker_box", + "reinfshulker:cyan_iron_shulker_box", + "reinfshulker:gray_iron_shulker_box", + "reinfshulker:green_iron_shulker_box", + "reinfshulker:light_blue_iron_shulker_box", + "reinfshulker:light_gray_iron_shulker_box", + "reinfshulker:lime_iron_shulker_box", + "reinfshulker:magenta_iron_shulker_box", + "reinfshulker:orange_iron_shulker_box", + "reinfshulker:pink_iron_shulker_box", + "reinfshulker:purple_iron_shulker_box", + "reinfshulker:red_iron_shulker_box", + "reinfshulker:white_iron_shulker_box", + "reinfshulker:yellow_iron_shulker_box" + ] +} diff --git a/src/main/resources/data/reinfshulker/tags/items/netherite_shulker_boxes.json b/src/main/resources/data/reinfshulker/tags/items/netherite_shulker_boxes.json new file mode 100644 index 0000000..32b8a2c --- /dev/null +++ b/src/main/resources/data/reinfshulker/tags/items/netherite_shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "reinfshulker:netherite_shulker_box", + "reinfshulker:black_netherite_shulker_box", + "reinfshulker:blue_netherite_shulker_box", + "reinfshulker:brown_netherite_shulker_box", + "reinfshulker:cyan_netherite_shulker_box", + "reinfshulker:gray_netherite_shulker_box", + "reinfshulker:green_netherite_shulker_box", + "reinfshulker:light_blue_netherite_shulker_box", + "reinfshulker:light_gray_netherite_shulker_box", + "reinfshulker:lime_netherite_shulker_box", + "reinfshulker:magenta_netherite_shulker_box", + "reinfshulker:orange_netherite_shulker_box", + "reinfshulker:pink_netherite_shulker_box", + "reinfshulker:purple_netherite_shulker_box", + "reinfshulker:red_netherite_shulker_box", + "reinfshulker:white_netherite_shulker_box", + "reinfshulker:yellow_netherite_shulker_box" + ] +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 9e6e42e..ae36da9 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -24,7 +24,8 @@ ], "shulkerboxtooltip": [ "atonkish.reinfshulker.integration.shulkerboxtooltip.ShulkerBoxTooltip" - ] + ], + "modmenu": ["atonkish.reinfcore.integration.modmenu.ModMenu"] }, "mixins": ["reinfshulker.mixins.json"], "depends": { diff --git a/src/main/resources/reinfshulker.mixins.json b/src/main/resources/reinfshulker.mixins.json index f3fdb21..2a26a68 100644 --- a/src/main/resources/reinfshulker.mixins.json +++ b/src/main/resources/reinfshulker.mixins.json @@ -6,6 +6,7 @@ "mixins": [ "AbstractCauldronBlockMixin", "BlockEntityAccessor", + "ItemStackAccessor", "ShulkerBoxBlockMixin", "ShulkerBoxColoringRecipeMixin", "RecipeManagerMixin",