From 00e2bf79f9d6e2e7b3c7a397909b39fb29dbff23 Mon Sep 17 00:00:00 2001 From: Aton-Kish <38515249+Aton-Kish@users.noreply.github.com> Date: Mon, 10 Oct 2022 01:16:46 +0900 Subject: [PATCH] [v2.2.0+1.17] sync with v2.2.0+1.19 (#49) * bump version from 1.1.2 to 1.1.3+1.18 (#8) * chore: update gradles * chore: update build flow * fix: fix onBreak method * fix: fix loot tables * fix: fix breaking tools * chore: bump Fabric ASM version from v2.2 to v2.3 * chore: bump version from 1.1.2 to 1.1.3+1.18 * docs: update README.md * fix tags error (#9) * fix: define empty tags * refactor: remove unnecessary lines * bump version from 1.1.3+1.18 to 1.1.4+1.18 (#11) * chore: bump fabric versions * fix: fix ShulkerEntity method * chore: bump Reinforced Core version from 1.1.1+1.18 to 1.1.2+1.18 * feat: re-integrate with Quick Shulker * fix: fix spaces * chore: bump version from 1.1.3+1.18 to 1.1.4+1.18 * bump version from 1.1.4+1.18 to 1.1.5+1.18 (#13) * chore: bump fabric versions * refactor: move dep versions * chore: update gradle * fix: fix craft method * chore: bump version from 1.1.4+1.18 to 1.1.5+1.18 * bump version from 1.1.5+1.18 to 1.1.6+1.18 (#17) * chore: bump fabric versions * fix: fix dyeing recipe conflict * chore: bump version from 1.1.5+1.18 to 1.1.6+1.18 * style: add last line * bump version from 1.1.6+1.18 to 1.1.7+1.18 (#20) * chore: bump fabric versions * fix: add getAvailableSlots method * chore: bump version from 1.1.6+1.18 to 1.1.7+1.18 * Add Simplified Chinese translation (#22) * bump version from 1.1.7+1.18 to 1.1.8+1.18 (#23) * chore: bump fabric versions * chore: bump version from 1.1.7+1.18 to 1.1.8+1.18 * chore: add FUNDING.yml * chore: bump deps versions * bump version from 1.1.8+1.18 to 2.0.0-beta.1+1.18 (#26) * chore: bump fabric versions * chore: bump Reinforced Core version from 1.1.3+1.18 to 2.0.0-beta.1+1.18 * fix: fix errors * refactor: refactor entrypoints * refactor: refactor ModStats * refactor: refactor ModBlocks * refactor: refactor ModBlockEntityType * refactor: refactor ModItems * fix: change HashMap to LinkedHashMap * refactor: refactor ModTexturedRenderLayers * feat: add api * fix: fix a typo * fix: rename consts * fix: fix class name * feat: add entrypoints * fix: add line * refactor: require namespace * fix: fix ISSUE_TEMPLATE * fix: prevent duplicate * refactor: change logger * fix: fix TexturedRenderLayersMixin * fix: fix imports order * chore: update fabric properties link * chore: bump version from 1.1.8+1.18 to 2.0.0-beta.1+1.18 * bump version from 2.0.0-beta.1+1.18 to 2.0.0-beta.2+1.18 (#28) * chore: bump fabric versions * chore: remove common tags * fix: fix advancements and recipes * feat: integrate with Reinforced Chests * feat: add reinfchest loaded flag * feat: remove missing resource identifiers dynamically * chore: bump version from 2.0.0-beta.1+1.18 to 2.0.0-beta.2+1.18 * bump version from 2.0.0-beta.2+1.18 to 2.0.0-beta.3+1.18 (#30) * chore: bump fabric versions * fix: fix shulker stackable bug * chore: bump version from 2.0.0-beta.2+1.18 to 2.0.0-beta.3+1.18 * bump version from 2.0.0-beta.3+1.18 to 2.0.0+1.18 (#32) * chore: update loom and gradles * chore: bump fabric versions * chore: bump deps version * fix: fix coloring recipes * chore: update configs * chore: bump version from 2.0.0-beta.3+1.18 to 2.0.0+1.18 * chore: add publish flow * bump version from 2.0.0+1.18 to 2.0.1+1.18.2 (#34) * chore: bump deps versions * fix: yaml extensions * style: prettier json * bump version from 2.0.0+1.18 to 2.0.1+1.18.2 * version 2.0.1 support for Minecraft 1.19-rc2 (#35) * chore: bump deps versions * fix: remove integrations * fix: fix types * chore: mod version 2.0.1+1.19-rc2 * docs: update README.md * bump version from 2.0.1+1.19-rc2 to 2.0.2+1.19 (#36) * chore: bump deps versions * feat: add integrations * chore: bump version from 2.0.1+1.19-rc2 to 2.0.2+1.19 * bump version from 2.0.2+1.19 to 2.0.3+1.19 (#37) * chore: bump deps versions * chore: bump version from 2.0.2+1.19 to 2.0.3+1.19 * bump version from 2.0.3+1.19 to 2.0.4+1.19 (#39) * chore: bump deps versions * feat: add client sprite registry callback * chore: rename yml to yaml * docs: fix badge link * chore: bump version from 2.0.3+1.19 to 2.0.4+1.19 * fix: fix indent * bump version from 2.0.4+1.19 to 2.1.0+1.19 (#40) * chore: bump deps versions * chore: add Override deco * chore: bump deps versions * refactor: block entity accessor * chore: add tag trigger * docs: add config section * chore: bump version from 2.0.4+1.19 to 2.1.0+1.19 * fix: fix image * bump version from 2.1.0+1.19 to 2.1.1+1.19 (#41) * chore: bump deps versions * chore: leave out branch trigger * chore: bump version from 2.1.0+1.19 to 2.1.1+1.19 * [v2.2.0+1.19] add some features (#47) * bump deps * add modmenu entrypoint * add newline * refactor onBreak * add portable container tags * fix quickshulker deprecated warning * bump version * fix chests deps * organize imports * remove common tags * bump version Co-authored-by: Lyaiya --- build.gradle | 2 +- gradle.properties | 6 ++-- .../ReinforcedShulkerBoxesClientMod.java | 1 + .../ReinforcedShulkerBoxesMod.java | 1 + .../ReinforcedShulkerBoxesClientRegistry.java | 1 + .../block/ReinforcedShulkerBoxBlock.java | 30 ------------------- .../block/entity/ModBlockEntityType.java | 1 + .../render/ModTexturedRenderLayers.java | 1 + ...inforcedShulkerBoxBlockEntityRenderer.java | 1 + .../quickshulker/QuickShulker.java | 5 +++- .../reinfshulker/mixin/ItemStackAccessor.java | 15 ++++++++++ .../mixin/RecipeManagerMixin.java | 10 +++---- .../mixin/ServerAdvancementLoaderMixin.java | 10 +++---- .../mixin/ShulkerBoxBlockMixin.java | 26 ++++++++-------- .../mixin/TexturedRenderLayersMixin.java | 1 + .../util/ReinforcingMaterialSettings.java | 1 + .../data/c/tags/items/copper_chests.json | 4 --- .../data/c/tags/items/diamond_chests.json | 4 --- .../data/c/tags/items/gold_chests.json | 4 --- .../data/c/tags/items/iron_chests.json | 4 --- .../data/c/tags/items/netherite_chests.json | 4 --- .../tags/items/portable_container.json | 10 +++++++ .../tags/items/copper_shulker_boxes.json | 22 ++++++++++++++ .../tags/items/diamond_shulker_boxes.json | 22 ++++++++++++++ .../tags/items/gold_shulker_boxes.json | 22 ++++++++++++++ .../tags/items/iron_shulker_boxes.json | 22 ++++++++++++++ .../tags/items/netherite_shulker_boxes.json | 22 ++++++++++++++ src/main/resources/fabric.mod.json | 3 +- src/main/resources/reinfshulker.mixins.json | 1 + 29 files changed, 176 insertions(+), 80 deletions(-) create mode 100644 src/main/java/atonkish/reinfshulker/mixin/ItemStackAccessor.java delete mode 100644 src/main/resources/data/c/tags/items/copper_chests.json delete mode 100644 src/main/resources/data/c/tags/items/diamond_chests.json delete mode 100644 src/main/resources/data/c/tags/items/gold_chests.json delete mode 100644 src/main/resources/data/c/tags/items/iron_chests.json delete mode 100644 src/main/resources/data/c/tags/items/netherite_chests.json create mode 100644 src/main/resources/data/enchantedshulkers/tags/items/portable_container.json create mode 100644 src/main/resources/data/reinfshulker/tags/items/copper_shulker_boxes.json create mode 100644 src/main/resources/data/reinfshulker/tags/items/diamond_shulker_boxes.json create mode 100644 src/main/resources/data/reinfshulker/tags/items/gold_shulker_boxes.json create mode 100644 src/main/resources/data/reinfshulker/tags/items/iron_shulker_boxes.json create mode 100644 src/main/resources/data/reinfshulker/tags/items/netherite_shulker_boxes.json 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",