From 8019506775a4aeb1286cb73f577c8a12b3479608 Mon Sep 17 00:00:00 2001 From: Aton-Kish <38515249+Aton-Kish@users.noreply.github.com> Date: Sat, 10 Jun 2023 02:46:06 +0900 Subject: [PATCH] [v2.4.0+1.20] support Minecraft 1.20 (#57) * support 1.20 * update badges * fix netherite smithing recipes * add to item groups * remove quick shulker metadata * bump version --- README.md | 5 +- build.gradle | 56 ++++++++++--------- gradle.properties | 17 +++--- .../ReinforcedShulkerBoxesClientMod.java | 0 ...orcedShulkerBoxesClientModInitializer.java | 0 .../ReinforcedShulkerBoxesClientRegistry.java | 0 .../render/ModTexturedRenderLayers.java | 0 ...inforcedShulkerBoxBlockEntityRenderer.java | 0 .../client}/TexturedRenderLayersMixin.java | 2 +- .../resources/reinfshulker.client.mixins.json | 10 ++++ .../quickshulker/QuickShulker.java | 52 ----------------- .../atonkish/reinfshulker/item/ModItems.java | 5 +- .../mixin/ShulkerBoxColoringRecipeMixin.java | 8 +-- .../ReinforcedShulkerBoxColoringRecipe.java | 14 ++--- .../ReinforcedShulkerBoxCraftingRecipe.java | 6 +- .../util/ReinforcingMaterialSettings.java | 29 ++++++++-- .../black_netherite_shulker_box_smithing.json | 11 ++-- .../blue_netherite_shulker_box_smithing.json | 11 ++-- .../brown_netherite_shulker_box_smithing.json | 11 ++-- .../cyan_netherite_shulker_box_smithing.json | 11 ++-- .../gray_netherite_shulker_box_smithing.json | 11 ++-- .../green_netherite_shulker_box_smithing.json | 11 ++-- ...t_blue_netherite_shulker_box_smithing.json | 11 ++-- ...t_gray_netherite_shulker_box_smithing.json | 11 ++-- .../lime_netherite_shulker_box_smithing.json | 11 ++-- ...agenta_netherite_shulker_box_smithing.json | 11 ++-- .../netherite_shulker_box_smithing.json | 11 ++-- ...orange_netherite_shulker_box_smithing.json | 11 ++-- .../pink_netherite_shulker_box_smithing.json | 11 ++-- ...purple_netherite_shulker_box_smithing.json | 11 ++-- .../red_netherite_shulker_box_smithing.json | 11 ++-- .../white_netherite_shulker_box_smithing.json | 11 ++-- ...yellow_netherite_shulker_box_smithing.json | 11 ++-- src/main/resources/fabric.mod.json | 15 +++-- src/main/resources/reinfshulker.mixins.json | 1 - 35 files changed, 219 insertions(+), 188 deletions(-) rename src/{main => client}/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java (100%) rename src/{main => client}/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientModInitializer.java (100%) rename src/{main => client}/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java (100%) rename src/{main => client}/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java (100%) rename src/{main => client}/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java (100%) rename src/{main/java/atonkish/reinfshulker/mixin => client/java/atonkish/reinfshulker/mixin/client}/TexturedRenderLayersMixin.java (96%) create mode 100644 src/client/resources/reinfshulker.client.mixins.json delete mode 100644 src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java diff --git a/README.md b/README.md index aaf4d68..bf33dec 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,10 @@ [![Mod Loader: Fabric](https://img.shields.io/static/v1?label=modloader&message=fabric&color=brightgreen)](https://www.curseforge.com/minecraft/mc-mods/fabric-api) ![Mod Environment](https://img.shields.io/static/v1?label=environment&message=client%2Fserver&color=yellow) -[![Downloads](https://raw.githubusercontent.com/Aton-Kish/mcmod-stats/main/reinforced-shulker-boxes/downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/reinforced-shulker-boxes) +![Version](https://cf.way2muchnoise.eu/versions/529874.svg) +[![CurseForge](https://cf.way2muchnoise.eu/529874.svg)](https://www.curseforge.com/minecraft/mc-mods/reinforced-shulker-boxes) +[![Modrinth](https://img.shields.io/modrinth/dt/xlOwuSdN?color=%2300AF5C&logo=modrinth)](https://modrinth.com/mod/reinforced-shulker-boxes) [![MIT License](https://img.shields.io/static/v1?label=licence&message=MIT&color=blue)](./LICENSE) -[![build](https://github.com/Aton-Kish/reinforced-shulker-boxes/actions/workflows/build.yaml/badge.svg?branch=1.19)](https://github.com/Aton-Kish/reinforced-shulker-boxes/actions/workflows/build.yaml?query=branch:1.19) # Reinforced Shulker Boxes diff --git a/build.gradle b/build.gradle index d6e1956..f307089 100644 --- a/build.gradle +++ b/build.gradle @@ -5,13 +5,13 @@ plugins { id "com.modrinth.minotaur" version "2.+" } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 - -archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group +base { + archivesName = project.archives_base_name +} + repositories { // Add repositories to retrieve artifacts from in here. // You should only use this when depending on other mods because @@ -34,11 +34,6 @@ repositories { url "https://maven.shedaniel.me/" } - // Quick Shulker - maven { - url "https://maven.kyrptonaught.dev" - } - // Shulker Box Tooltip maven { url "https://maven.misterpemodder.com/libs-release" @@ -50,6 +45,17 @@ repositories { } } +loom { + splitEnvironmentSourceSets() + + mods { + "reinfshulker" { + sourceSet sourceSets.main + sourceSet sourceSets.client + } + } +} + dependencies { // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" @@ -66,11 +72,6 @@ dependencies { // Reinforced Chests modImplementation "atonkish.reinfchest:reinforced-chests:${project.reinforced_chests_version}" - // Quick Shulker - modImplementation "net.kyrptonaught:quickshulker:${project.quick_shulker_version}" - // Quick Shulker deps - modImplementation "net.kyrptonaught:shulkerutils:${project.shulkerutils_version}" - // Shulker Box Tooltip modImplementation "com.misterpemodder:shulkerboxtooltip-fabric:${project.shulker_box_tooltip_version}" } @@ -93,6 +94,9 @@ java { // if it is present. // If you remove this line, sources will not be generated. withSourcesJar() + + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } jar { @@ -136,39 +140,37 @@ curseforge { addGameVersion "Fabric" addGameVersion "Java 17" - addGameVersion "1.19.4" + addGameVersion "1.20" relations { requiredDependency "fabric-api" embeddedLibrary "cloth-config" optionalDependency "modmenu" optionalDependency "shulkerboxtooltip" - optionalDependency "quick-shulker" optionalDependency "reinforced-chests" } } } modrinth { - token = project.findProperty("modrinth_token") ?: "Missing token" + token = project.findProperty("modrinth_token") ?: "Missing token" - projectId = project.modrinth_id + projectId = project.modrinth_id - uploadFile = remapJar - versionNumber = project.version + uploadFile = remapJar + versionNumber = project.version versionName = "Reinforced Shulker Boxes v${project.version}" - versionType = "release" + versionType = "release" changelog = "[v${project.version}](https://github.com/Aton-Kish/reinforced-shulker-boxes/releases/tag/v" + java.net.URLEncoder.encode(project.version, "UTF-8") + ")" - gameVersions = ["1.19.4"] - loaders = ["fabric"] + gameVersions = ["1.20"] + loaders = ["fabric"] - dependencies { - required.project "fabric-api" + dependencies { + required.project "fabric-api" embedded.project "cloth-config" optional.project "modmenu" optional.project "shulkerboxtooltip" - optional.project "quickshulker" optional.project "reinforced-chests" - } + } } diff --git a/gradle.properties b/gradle.properties index 771dde8..636405f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,24 +4,21 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.19.4 - yarn_mappings=1.19.4+build.2 + minecraft_version=1.20 + yarn_mappings=1.20+build.1 loader_version=0.14.21 # Mod Properties - mod_version=2.3.3+1.19 + mod_version=2.4.0+1.20 mod_id=reinfshulker maven_group=atonkish.reinfshulker archives_base_name=reinforced-shulker-boxes # Dependencies - fabric_version=0.83.0+1.19.4 - reinforced_core_version=3.1.0+1.19 - reinforced_chests_version=2.3.3+1.19 - quick_shulker_version=1.3.10-1.19.4 - shulker_box_tooltip_version=3.3.1+1.19.4 - # Quick Shulker deps - shulkerutils_version=1.0.4-1.19 + fabric_version=0.83.0+1.20 + reinforced_core_version=3.1.1+1.20 + reinforced_chests_version=2.4.0+1.20 + shulker_box_tooltip_version=4.0.1+1.20 # Distribution platform curseforge_id=529874 diff --git a/src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java b/src/client/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java similarity index 100% rename from src/main/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java rename to src/client/java/atonkish/reinfshulker/ReinforcedShulkerBoxesClientMod.java diff --git a/src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientModInitializer.java b/src/client/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientModInitializer.java similarity index 100% rename from src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientModInitializer.java rename to src/client/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientModInitializer.java diff --git a/src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java b/src/client/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java similarity index 100% rename from src/main/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java rename to src/client/java/atonkish/reinfshulker/api/ReinforcedShulkerBoxesClientRegistry.java diff --git a/src/main/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java b/src/client/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java similarity index 100% rename from src/main/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java rename to src/client/java/atonkish/reinfshulker/client/render/ModTexturedRenderLayers.java diff --git a/src/main/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java b/src/client/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java similarity index 100% rename from src/main/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java rename to src/client/java/atonkish/reinfshulker/client/render/block/entity/ReinforcedShulkerBoxBlockEntityRenderer.java diff --git a/src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java b/src/client/java/atonkish/reinfshulker/mixin/client/TexturedRenderLayersMixin.java similarity index 96% rename from src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java rename to src/client/java/atonkish/reinfshulker/mixin/client/TexturedRenderLayersMixin.java index 8aaa232..642c751 100644 --- a/src/main/java/atonkish/reinfshulker/mixin/TexturedRenderLayersMixin.java +++ b/src/client/java/atonkish/reinfshulker/mixin/client/TexturedRenderLayersMixin.java @@ -1,4 +1,4 @@ -package atonkish.reinfshulker.mixin; +package atonkish.reinfshulker.mixin.client; import java.util.function.Consumer; diff --git a/src/client/resources/reinfshulker.client.mixins.json b/src/client/resources/reinfshulker.client.mixins.json new file mode 100644 index 0000000..018684e --- /dev/null +++ b/src/client/resources/reinfshulker.client.mixins.json @@ -0,0 +1,10 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "atonkish.reinfshulker.mixin.client", + "compatibilityLevel": "JAVA_17", + "client": ["TexturedRenderLayersMixin"], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java b/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java deleted file mode 100644 index 4955844..0000000 --- a/src/main/java/atonkish/reinfshulker/integration/quickshulker/QuickShulker.java +++ /dev/null @@ -1,52 +0,0 @@ -package atonkish.reinfshulker.integration.quickshulker; - -import java.util.function.BiConsumer; - -import net.kyrptonaught.quickshulker.api.ItemStackInventory; -import net.kyrptonaught.quickshulker.api.QuickOpenableRegistry; -import net.kyrptonaught.quickshulker.api.RegisterQuickShulker; - -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.item.BlockItem; -import net.minecraft.item.ItemStack; -import net.minecraft.screen.ScreenHandlerFactory; -import net.minecraft.screen.SimpleNamedScreenHandlerFactory; -import net.minecraft.text.Text; - -import atonkish.reinfcore.screen.ReinforcedStorageScreenHandler; -import atonkish.reinfcore.util.ReinforcingMaterial; -import atonkish.reinfshulker.block.ReinforcedShulkerBoxBlock; -import atonkish.reinfshulker.block.entity.ModBlockEntityType; - -public class QuickShulker implements RegisterQuickShulker { - private static BiConsumer REINFORCED_SHULKER_BOX_CONSUMER; - - @Override - public void registerProviders() { - new QuickOpenableRegistry.Builder() - .setItem(ReinforcedShulkerBoxBlock.class) - .supportsBundleing(true) - .setOpenAction(REINFORCED_SHULKER_BOX_CONSUMER) - .register(); - } - - static { - REINFORCED_SHULKER_BOX_CONSUMER = (PlayerEntity player, ItemStack stack) -> { - ReinforcedShulkerBoxBlock block = (ReinforcedShulkerBoxBlock) ((BlockItem) stack.getItem()).getBlock(); - ReinforcingMaterial material = block.getMaterial(); - ItemStackInventory inventory = new ItemStackInventory(stack, material.getSize()); - String namespace = BlockEntityType.getId(ModBlockEntityType.REINFORCED_SHULKER_BOX_MAP.get(material)) - .getNamespace(); - - ScreenHandlerFactory screenHandlerFactory = (int syncId, PlayerInventory playerInventory, - PlayerEntity playerEntity) -> ReinforcedStorageScreenHandler.createShulkerBoxScreen(material, - syncId, playerInventory, inventory); - Text text = stack.hasCustomName() ? stack.getName() - : Text.translatable("container." + namespace + "." + material.getName() + "ShulkerBox"); - - player.openHandledScreen(new SimpleNamedScreenHandlerFactory(screenHandlerFactory, text)); - }; - } -} diff --git a/src/main/java/atonkish/reinfshulker/item/ModItems.java b/src/main/java/atonkish/reinfshulker/item/ModItems.java index 74ca7cf..ff00f5a 100644 --- a/src/main/java/atonkish/reinfshulker/item/ModItems.java +++ b/src/main/java/atonkish/reinfshulker/item/ModItems.java @@ -8,6 +8,7 @@ import net.minecraft.block.Block; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; +import net.minecraft.item.ItemGroups; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.util.DyeColor; @@ -40,6 +41,8 @@ public static Item registerMaterialDyeColor(ReinforcingMaterial material, DyeCol Item item = ModItems.register( new BlockItem(ModBlocks.REINFORCED_SHULKER_BOX_MAP.get(material).get(color), REINFORCED_SHULKER_BOX_SETTINGS_MAP.get(material).get(color))); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.COLORED_BLOCKS).register(content -> content.add(item)); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(content -> content.add(item)); ItemGroupEvents.modifyEntriesEvent(ModItemGroups.REINFORCED_STORAGE).register(content -> content.add(item)); REINFORCED_SHULKER_BOX_MAP.get(material).put(color, item); } @@ -49,7 +52,7 @@ public static Item registerMaterialDyeColor(ReinforcingMaterial material, DyeCol public static void registerMaterialDyeColorItemGroupIcon(ReinforcingMaterial material, DyeColor color) { Item item = REINFORCED_SHULKER_BOX_MAP.get(material).get(color); - ModItemGroup.setIcon(ModItemGroups.REINFORCED_STORAGE, item); + ModItemGroup.setIcon(Registries.ITEM_GROUP.get(ModItemGroups.REINFORCED_STORAGE), item); } private static Item register(BlockItem item) { diff --git a/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxColoringRecipeMixin.java b/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxColoringRecipeMixin.java index 663aa2f..4a6ed56 100644 --- a/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxColoringRecipeMixin.java +++ b/src/main/java/atonkish/reinfshulker/mixin/ShulkerBoxColoringRecipeMixin.java @@ -1,7 +1,7 @@ package atonkish.reinfshulker.mixin; import net.minecraft.block.Block; -import net.minecraft.inventory.CraftingInventory; +import net.minecraft.inventory.RecipeInputInventory; import net.minecraft.item.ItemStack; import net.minecraft.recipe.ShulkerBoxColoringRecipe; import net.minecraft.world.World; @@ -16,10 +16,10 @@ @Mixin(ShulkerBoxColoringRecipe.class) public class ShulkerBoxColoringRecipeMixin { @Inject(at = @At("HEAD"), method = "matches", cancellable = true) - public void matches(CraftingInventory craftingInventory, World world, + public void matches(RecipeInputInventory recipeInputInventory, World world, CallbackInfoReturnable infoReturnable) { - for (int k = 0; k < craftingInventory.size(); ++k) { - ItemStack itemStack = craftingInventory.getStack(k); + for (int k = 0; k < recipeInputInventory.size(); ++k) { + ItemStack itemStack = recipeInputInventory.getStack(k); if (Block.getBlockFromItem(itemStack.getItem()) instanceof ReinforcedShulkerBoxBlock) { infoReturnable.setReturnValue(false); } diff --git a/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxColoringRecipe.java b/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxColoringRecipe.java index 6b27d04..bfef0ea 100644 --- a/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxColoringRecipe.java +++ b/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxColoringRecipe.java @@ -1,7 +1,7 @@ package atonkish.reinfshulker.recipe; import net.minecraft.block.Block; -import net.minecraft.inventory.CraftingInventory; +import net.minecraft.inventory.RecipeInputInventory; import net.minecraft.item.DyeItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -24,12 +24,12 @@ public ReinforcedShulkerBoxColoringRecipe(Identifier identifier, CraftingRecipeC } @Override - public boolean matches(CraftingInventory craftingInventory, World world) { + public boolean matches(RecipeInputInventory recipeInputInventory, World world) { int i = 0; int j = 0; - for (int k = 0; k < craftingInventory.size(); ++k) { - ItemStack itemStack = craftingInventory.getStack(k); + for (int k = 0; k < recipeInputInventory.size(); ++k) { + ItemStack itemStack = recipeInputInventory.getStack(k); if (itemStack.isEmpty()) { continue; } @@ -53,15 +53,15 @@ public boolean matches(CraftingInventory craftingInventory, World world) { } @Override - public ItemStack craft(CraftingInventory craftingInventory, DynamicRegistryManager dynamicRegistryManager) { + public ItemStack craft(RecipeInputInventory recipeInputInventory, DynamicRegistryManager dynamicRegistryManager) { ItemStack itemStack = ItemStack.EMPTY; DyeItem dyeItem = (DyeItem) Items.WHITE_DYE; @Nullable ReinforcingMaterial material = null; - for (int i = 0; i < craftingInventory.size(); ++i) { - ItemStack itemStack2 = craftingInventory.getStack(i); + for (int i = 0; i < recipeInputInventory.size(); ++i) { + ItemStack itemStack2 = recipeInputInventory.getStack(i); if (itemStack2.isEmpty()) { continue; } diff --git a/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxCraftingRecipe.java b/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxCraftingRecipe.java index 3d839fe..9ca932e 100644 --- a/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxCraftingRecipe.java +++ b/src/main/java/atonkish/reinfshulker/recipe/ReinforcedShulkerBoxCraftingRecipe.java @@ -12,7 +12,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; -import net.minecraft.inventory.CraftingInventory; +import net.minecraft.inventory.RecipeInputInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.network.PacketByteBuf; @@ -42,9 +42,9 @@ public RecipeSerializer getSerializer() { } @Override - public ItemStack craft(CraftingInventory craftingInventory, DynamicRegistryManager dynamicRegistryManager) { + public ItemStack craft(RecipeInputInventory recipeInputInventory, DynamicRegistryManager dynamicRegistryManager) { ItemStack itemStack = this.getOutput(dynamicRegistryManager).copy(); - NbtCompound nbtCompound = craftingInventory.getStack(4).getNbt(); + NbtCompound nbtCompound = recipeInputInventory.getStack(4).getNbt(); if (nbtCompound != null) { itemStack.setNbt(nbtCompound.copy()); diff --git a/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java b/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java index 6c33eb2..a66159f 100644 --- a/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java +++ b/src/main/java/atonkish/reinfshulker/util/ReinforcingMaterialSettings.java @@ -4,9 +4,9 @@ import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; -import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.ShulkerBoxBlockEntity; +import net.minecraft.block.enums.Instrument; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.sound.BlockSoundGroup; @@ -16,19 +16,36 @@ public enum ReinforcingMaterialSettings { COPPER(ReinforcedCoreRegistry.registerReinforcingMaterial("copper", 45, Items.COPPER_INGOT), - FabricBlockSettings.of(Material.SHULKER_BOX).strength(2.0F, 6.0F).sounds(BlockSoundGroup.COPPER), + FabricBlockSettings + .create() + .strength(2.0F, 6.0F) + .sounds(BlockSoundGroup.COPPER), new Item.Settings().maxCount(1)), IRON(ReinforcedCoreRegistry.registerReinforcingMaterial("iron", 54, Items.IRON_INGOT), - FabricBlockSettings.of(Material.SHULKER_BOX).strength(2.0F, 6.0F).sounds(BlockSoundGroup.METAL), + FabricBlockSettings + .create() + .instrument(Instrument.IRON_XYLOPHONE) + .strength(2.0F, 6.0F) + .sounds(BlockSoundGroup.METAL), new Item.Settings().maxCount(1)), GOLD(ReinforcedCoreRegistry.registerReinforcingMaterial("gold", 81, Items.GOLD_INGOT), - FabricBlockSettings.of(Material.SHULKER_BOX).strength(2.0F, 6.0F).sounds(BlockSoundGroup.METAL), + FabricBlockSettings + .create() + .instrument(Instrument.BELL) + .strength(2.0F, 6.0F) + .sounds(BlockSoundGroup.METAL), new Item.Settings().maxCount(1)), DIAMOND(ReinforcedCoreRegistry.registerReinforcingMaterial("diamond", 108, Items.DIAMOND), - FabricBlockSettings.of(Material.SHULKER_BOX).strength(2.0F, 6.0F).sounds(BlockSoundGroup.METAL), + FabricBlockSettings + .create() + .strength(2.0F, 6.0F) + .sounds(BlockSoundGroup.METAL), new Item.Settings().maxCount(1)), NETHERITE(ReinforcedCoreRegistry.registerReinforcingMaterial("netherite", 108, Items.NETHERITE_INGOT), - FabricBlockSettings.of(Material.SHULKER_BOX).strength(2.0F, 1200.0F).sounds(BlockSoundGroup.NETHERITE), + FabricBlockSettings + .create() + .strength(2.0F, 1200.0F) + .sounds(BlockSoundGroup.NETHERITE), new Item.Settings().maxCount(1).fireproof()); private final ReinforcingMaterial material; diff --git a/src/main/resources/data/reinfshulker/recipes/black_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/black_netherite_shulker_box_smithing.json index e73ec2e..3ea6270 100644 --- a/src/main/resources/data/reinfshulker/recipes/black_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/black_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:black_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:black_diamond_shulker_box" + }, "result": { "item": "reinfshulker:black_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/blue_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/blue_netherite_shulker_box_smithing.json index 3a805a5..f359e28 100644 --- a/src/main/resources/data/reinfshulker/recipes/blue_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/blue_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:blue_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:blue_diamond_shulker_box" + }, "result": { "item": "reinfshulker:blue_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/brown_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/brown_netherite_shulker_box_smithing.json index 0c73b49..8ea3493 100644 --- a/src/main/resources/data/reinfshulker/recipes/brown_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/brown_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:brown_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:brown_diamond_shulker_box" + }, "result": { "item": "reinfshulker:brown_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/cyan_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/cyan_netherite_shulker_box_smithing.json index 5738381..4838143 100644 --- a/src/main/resources/data/reinfshulker/recipes/cyan_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/cyan_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:cyan_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:cyan_diamond_shulker_box" + }, "result": { "item": "reinfshulker:cyan_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/gray_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/gray_netherite_shulker_box_smithing.json index f6a9bec..f009dd9 100644 --- a/src/main/resources/data/reinfshulker/recipes/gray_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/gray_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:gray_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:gray_diamond_shulker_box" + }, "result": { "item": "reinfshulker:gray_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/green_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/green_netherite_shulker_box_smithing.json index ae12688..7099647 100644 --- a/src/main/resources/data/reinfshulker/recipes/green_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/green_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:green_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:green_diamond_shulker_box" + }, "result": { "item": "reinfshulker:green_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/light_blue_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/light_blue_netherite_shulker_box_smithing.json index 7c379ab..d0e28ca 100644 --- a/src/main/resources/data/reinfshulker/recipes/light_blue_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/light_blue_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:light_blue_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:light_blue_diamond_shulker_box" + }, "result": { "item": "reinfshulker:light_blue_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/light_gray_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/light_gray_netherite_shulker_box_smithing.json index 739456e..e4f587d 100644 --- a/src/main/resources/data/reinfshulker/recipes/light_gray_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/light_gray_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:light_gray_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:light_gray_diamond_shulker_box" + }, "result": { "item": "reinfshulker:light_gray_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/lime_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/lime_netherite_shulker_box_smithing.json index f48dddf..3c6979b 100644 --- a/src/main/resources/data/reinfshulker/recipes/lime_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/lime_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:lime_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:lime_diamond_shulker_box" + }, "result": { "item": "reinfshulker:lime_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/magenta_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/magenta_netherite_shulker_box_smithing.json index 7e3b7ee..38e61dc 100644 --- a/src/main/resources/data/reinfshulker/recipes/magenta_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/magenta_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:magenta_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:magenta_diamond_shulker_box" + }, "result": { "item": "reinfshulker:magenta_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/netherite_shulker_box_smithing.json index b0a20a9..e9879d1 100644 --- a/src/main/resources/data/reinfshulker/recipes/netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:diamond_shulker_box" + }, "result": { "item": "reinfshulker:netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/orange_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/orange_netherite_shulker_box_smithing.json index 17561d7..e5ad0c0 100644 --- a/src/main/resources/data/reinfshulker/recipes/orange_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/orange_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:orange_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:orange_diamond_shulker_box" + }, "result": { "item": "reinfshulker:orange_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/pink_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/pink_netherite_shulker_box_smithing.json index 1a719b9..545edc4 100644 --- a/src/main/resources/data/reinfshulker/recipes/pink_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/pink_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:pink_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:pink_diamond_shulker_box" + }, "result": { "item": "reinfshulker:pink_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/purple_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/purple_netherite_shulker_box_smithing.json index 7411713..27ebf50 100644 --- a/src/main/resources/data/reinfshulker/recipes/purple_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/purple_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:purple_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:purple_diamond_shulker_box" + }, "result": { "item": "reinfshulker:purple_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/red_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/red_netherite_shulker_box_smithing.json index fd45ceb..c81f737 100644 --- a/src/main/resources/data/reinfshulker/recipes/red_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/red_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:red_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:red_diamond_shulker_box" + }, "result": { "item": "reinfshulker:red_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/white_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/white_netherite_shulker_box_smithing.json index cb8dc38..cae7ed7 100644 --- a/src/main/resources/data/reinfshulker/recipes/white_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/white_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:white_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:white_diamond_shulker_box" + }, "result": { "item": "reinfshulker:white_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/data/reinfshulker/recipes/yellow_netherite_shulker_box_smithing.json b/src/main/resources/data/reinfshulker/recipes/yellow_netherite_shulker_box_smithing.json index f682ec7..f905dbe 100644 --- a/src/main/resources/data/reinfshulker/recipes/yellow_netherite_shulker_box_smithing.json +++ b/src/main/resources/data/reinfshulker/recipes/yellow_netherite_shulker_box_smithing.json @@ -1,12 +1,15 @@ { - "type": "minecraft:smithing", - "base": { - "item": "reinfshulker:yellow_diamond_shulker_box" - }, + "type": "minecraft:smithing_transform", "addition": { "item": "minecraft:netherite_ingot" }, + "base": { + "item": "reinfshulker:yellow_diamond_shulker_box" + }, "result": { "item": "reinfshulker:yellow_netherite_shulker_box" + }, + "template": { + "item": "minecraft:netherite_upgrade_smithing_template" } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index fb58ee3..fb1d717 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,20 +22,23 @@ "reinfcoreclient": [ "atonkish.reinfshulker.ReinforcedShulkerBoxesClientMod" ], - "quickshulker": [ - "atonkish.reinfshulker.integration.quickshulker.QuickShulker" - ], "shulkerboxtooltip": [ "atonkish.reinfshulker.integration.shulkerboxtooltip.ShulkerBoxTooltip" ], "modmenu": ["atonkish.reinfcore.integration.modmenu.ModMenu"] }, - "mixins": ["reinfshulker.mixins.json"], + "mixins": [ + "reinfshulker.mixins.json", + { + "config": "reinfshulker.client.mixins.json", + "environment": "client" + } + ], "depends": { - "fabricloader": ">=0.14.19", + "fabricloader": ">=0.14.21", "fabric-api": "*", - "minecraft": "~1.19.4", + "minecraft": "~1.20", "java": ">=17" }, "suggests": { diff --git a/src/main/resources/reinfshulker.mixins.json b/src/main/resources/reinfshulker.mixins.json index 6762747..753d396 100644 --- a/src/main/resources/reinfshulker.mixins.json +++ b/src/main/resources/reinfshulker.mixins.json @@ -12,7 +12,6 @@ "RecipeManagerMixin", "ServerAdvancementLoaderMixin" ], - "client": ["TexturedRenderLayersMixin"], "injectors": { "defaultRequire": 1 }