From 7205eac9210330260334068a9b899eddbcfa1d15 Mon Sep 17 00:00:00 2001 From: Hiiragi Russell Tsubasa <97942736+Hiiragi283@users.noreply.github.com> Date: Tue, 24 Dec 2024 13:53:32 +0900 Subject: [PATCH] =?UTF-8?q?-=20=E3=83=80=E3=82=A4=E3=83=8A=E3=83=9E?= =?UTF-8?q?=E3=82=A4=E3=83=88=E3=81=AE=E7=81=AB=E5=8A=9B=E3=82=92=E5=A2=97?= =?UTF-8?q?=E3=82=84=E3=81=99=E3=83=AC=E3=82=B7=E3=83=94=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ragium/integration/rei/REIExtensions.kt | 1 + .../ragium/integration/rei/RagiumREIClient.kt | 53 ++++++++++++------- .../rei/category/HTMachineRecipeCategory.kt | 2 +- .../rei/category/HTMaterialInfoCategory.kt | 2 +- .../{ => display}/HTMachineRecipeDisplay.kt | 4 +- .../{ => display}/HTMaterialInfoDisplay.kt | 4 +- .../ragium/integration/RagiumEPPlugin.kt | 2 +- .../integration/RagiumTechRebornPlugin.kt | 2 +- 8 files changed, 45 insertions(+), 25 deletions(-) rename src/client/kotlin/hiiragi283/ragium/integration/rei/{ => display}/HTMachineRecipeDisplay.kt (92%) rename src/client/kotlin/hiiragi283/ragium/integration/rei/{ => display}/HTMaterialInfoDisplay.kt (84%) diff --git a/src/client/kotlin/hiiragi283/ragium/integration/rei/REIExtensions.kt b/src/client/kotlin/hiiragi283/ragium/integration/rei/REIExtensions.kt index 9b5f01f..c920942 100644 --- a/src/client/kotlin/hiiragi283/ragium/integration/rei/REIExtensions.kt +++ b/src/client/kotlin/hiiragi283/ragium/integration/rei/REIExtensions.kt @@ -8,6 +8,7 @@ import hiiragi283.ragium.api.recipe.HTFluidResult import hiiragi283.ragium.api.recipe.HTItemIngredient import hiiragi283.ragium.api.recipe.HTItemResult import hiiragi283.ragium.integration.RITranslationKeys +import hiiragi283.ragium.integration.rei.display.HTMachineRecipeDisplay import me.shedaniel.rei.api.common.category.CategoryIdentifier import me.shedaniel.rei.api.common.entry.EntryIngredient import me.shedaniel.rei.api.common.entry.EntryStack diff --git a/src/client/kotlin/hiiragi283/ragium/integration/rei/RagiumREIClient.kt b/src/client/kotlin/hiiragi283/ragium/integration/rei/RagiumREIClient.kt index 0aafd54..ab42ee0 100644 --- a/src/client/kotlin/hiiragi283/ragium/integration/rei/RagiumREIClient.kt +++ b/src/client/kotlin/hiiragi283/ragium/integration/rei/RagiumREIClient.kt @@ -1,7 +1,9 @@ package hiiragi283.ragium.integration.rei import hiiragi283.ragium.api.RagiumAPI +import hiiragi283.ragium.api.component.HTExplosionComponent import hiiragi283.ragium.api.data.HTMachineRecipeJsonBuilder +import hiiragi283.ragium.api.extension.buildItemStack import hiiragi283.ragium.api.machine.HTMachineKey import hiiragi283.ragium.api.machine.HTMachineTier import hiiragi283.ragium.api.recipe.HTMachineRecipe @@ -9,28 +11,32 @@ import hiiragi283.ragium.api.tags.RagiumFluidTags import hiiragi283.ragium.common.init.* import hiiragi283.ragium.integration.rei.category.HTMachineRecipeCategory import hiiragi283.ragium.integration.rei.category.HTMaterialInfoCategory +import hiiragi283.ragium.integration.rei.display.HTMachineRecipeDisplay +import hiiragi283.ragium.integration.rei.display.HTMaterialInfoDisplay import me.shedaniel.rei.api.client.plugins.REIClientPlugin import me.shedaniel.rei.api.client.registry.category.CategoryRegistry import me.shedaniel.rei.api.client.registry.display.DisplayRegistry import me.shedaniel.rei.api.common.category.CategoryIdentifier import me.shedaniel.rei.api.common.entry.EntryStack +import me.shedaniel.rei.api.common.util.EntryIngredients import me.shedaniel.rei.api.common.util.EntryStacks import me.shedaniel.rei.plugin.common.DefaultPlugin +import me.shedaniel.rei.plugin.common.displays.DefaultSmithingDisplay import net.fabricmc.api.EnvType import net.fabricmc.api.Environment import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants import net.minecraft.block.ComposterBlock -import net.minecraft.enchantment.Enchantment import net.minecraft.fluid.Fluid import net.minecraft.item.ItemConvertible import net.minecraft.item.ItemStack import net.minecraft.item.Items import net.minecraft.recipe.RecipeEntry import net.minecraft.registry.Registries -import net.minecraft.registry.RegistryKey import net.minecraft.registry.entry.RegistryEntry import net.minecraft.registry.tag.TagKey +import java.util.* +@Suppress("UnstableApiUsage") @Environment(EnvType.CLIENT) object RagiumREIClient : REIClientPlugin { init { @@ -42,15 +48,14 @@ object RagiumREIClient : REIClientPlugin { // REIClientPlugin // - @Suppress("UnstableApiUsage") override fun registerCategories(registry: CategoryRegistry) { - // Vanilla + // vanilla HTMachineTier.entries.map(RagiumMachineKeys.MULTI_SMELTER::createEntryStack).forEach { registry.addWorkstations(DefaultPlugin.SMELTING, it) } registry.addWorkstations(DefaultPlugin.WAXING, EntryStacks.of(RagiumItems.BEE_WAX)) - // Machines + // machine RagiumAPI .getInstance() .machineRegistry @@ -64,12 +69,7 @@ object RagiumREIClient : REIClientPlugin { addWorkStation(registry, RagiumMachineKeys.COMPRESSOR, RagiumBlocks.MANUAL_FORGE) addWorkStation(registry, RagiumMachineKeys.GRINDER, RagiumBlocks.MANUAL_GRINDER) addWorkStation(registry, RagiumMachineKeys.MIXER, RagiumBlocks.MANUAL_MIXER) - // Enchantment - // registry.addWorkstations(BuiltinPlugin.SMELTING, createEnchantedBook(RagiumEnchantments.SMELTING)) - // addWorkStation(registry, RagiumMachineKeys.GRINDER, RagiumEnchantments.SLEDGE_HAMMER) - // addWorkStation(registry, RagiumMachineKeys.CUTTING_MACHINE, RagiumEnchantments.BUZZ_SAW) - - // Material Info + // material info registry.add(HTMaterialInfoCategory) registry.addWorkstations(MATERIAL_INFO, EntryStacks.of(Items.IRON_INGOT)) } @@ -79,11 +79,6 @@ object RagiumREIClient : REIClientPlugin { registry.addWorkstations(key.categoryId, EntryStacks.of(item)) } - @JvmStatic - private fun addWorkStation(registry: CategoryRegistry, key: HTMachineKey, enchantKey: RegistryKey) { - registry.addWorkstations(key.categoryId, createEnchantedBook(enchantKey)) - } - override fun registerDisplays(registry: DisplayRegistry) { fun registerFuels(fuelTag: TagKey, key: HTMachineKey, amount: Long) { Registries.FLUID.iterateEntries(fuelTag).forEach { fluid: RegistryEntry -> @@ -95,11 +90,31 @@ object RagiumREIClient : REIClientPlugin { } } - // Generator Fuels + // vanilla + (3..16) + .map { power: Int -> + DefaultSmithingDisplay( + listOf( + EntryIngredients.of(RagiumItemsNew.Dynamites.SIMPLE), + EntryIngredients.of(Items.GUNPOWDER, power - 2), + ), + listOf( + EntryIngredients.of( + buildItemStack(RagiumItemsNew.Dynamites.SIMPLE) { + add(RagiumComponentTypes.DYNAMITE, HTExplosionComponent(power.toFloat(), true)) + }, + ), + ), + null, + Optional.empty(), + ) + }.forEach(registry::add) + + // generator registerFuels(RagiumFluidTags.NON_NITRO_FUELS, RagiumMachineKeys.COMBUSTION_GENERATOR, FluidConstants.INGOT) registerFuels(RagiumFluidTags.NITRO_FUELS, RagiumMachineKeys.COMBUSTION_GENERATOR, FluidConstants.NUGGET) registerFuels(RagiumFluidTags.THERMAL_FUELS, RagiumMachineKeys.THERMAL_GENERATOR, FluidConstants.INGOT) - // Machine Recipes + // machine registry.registerRecipeFiller( HTMachineRecipe::class.java, RagiumRecipeTypes.MACHINE, @@ -114,7 +129,7 @@ object RagiumREIClient : REIClientPlugin { .transform(::HTMachineRecipeDisplay) .let(registry::add) } - // Material Info + // material info RagiumAPI .getInstance() .materialRegistry diff --git a/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMachineRecipeCategory.kt b/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMachineRecipeCategory.kt index ce2933f..6c5c740 100644 --- a/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMachineRecipeCategory.kt +++ b/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMachineRecipeCategory.kt @@ -2,9 +2,9 @@ package hiiragi283.ragium.integration.rei.category import hiiragi283.ragium.api.machine.HTMachineKey import hiiragi283.ragium.api.machine.HTMachineTier -import hiiragi283.ragium.integration.rei.HTMachineRecipeDisplay import hiiragi283.ragium.integration.rei.categoryId import hiiragi283.ragium.integration.rei.createEntryStack +import hiiragi283.ragium.integration.rei.display.HTMachineRecipeDisplay import me.shedaniel.math.Rectangle import me.shedaniel.rei.api.client.gui.Renderer import me.shedaniel.rei.api.client.gui.widgets.Widget diff --git a/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMaterialInfoCategory.kt b/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMaterialInfoCategory.kt index bec42fe..95a60a7 100644 --- a/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMaterialInfoCategory.kt +++ b/src/client/kotlin/hiiragi283/ragium/integration/rei/category/HTMaterialInfoCategory.kt @@ -1,8 +1,8 @@ package hiiragi283.ragium.integration.rei.category import hiiragi283.ragium.api.material.HTTagPrefix -import hiiragi283.ragium.integration.rei.HTMaterialInfoDisplay import hiiragi283.ragium.integration.rei.RagiumREIClient +import hiiragi283.ragium.integration.rei.display.HTMaterialInfoDisplay import me.shedaniel.math.Rectangle import me.shedaniel.rei.api.client.gui.Renderer import me.shedaniel.rei.api.client.gui.widgets.Widget diff --git a/src/client/kotlin/hiiragi283/ragium/integration/rei/HTMachineRecipeDisplay.kt b/src/client/kotlin/hiiragi283/ragium/integration/rei/display/HTMachineRecipeDisplay.kt similarity index 92% rename from src/client/kotlin/hiiragi283/ragium/integration/rei/HTMachineRecipeDisplay.kt rename to src/client/kotlin/hiiragi283/ragium/integration/rei/display/HTMachineRecipeDisplay.kt index 6213b8d..96173d4 100644 --- a/src/client/kotlin/hiiragi283/ragium/integration/rei/HTMachineRecipeDisplay.kt +++ b/src/client/kotlin/hiiragi283/ragium/integration/rei/display/HTMachineRecipeDisplay.kt @@ -1,6 +1,8 @@ -package hiiragi283.ragium.integration.rei +package hiiragi283.ragium.integration.rei.display import hiiragi283.ragium.api.recipe.HTMachineRecipe +import hiiragi283.ragium.integration.rei.categoryId +import hiiragi283.ragium.integration.rei.entryIngredient import me.shedaniel.rei.api.common.category.CategoryIdentifier import me.shedaniel.rei.api.common.display.Display import me.shedaniel.rei.api.common.entry.EntryIngredient diff --git a/src/client/kotlin/hiiragi283/ragium/integration/rei/HTMaterialInfoDisplay.kt b/src/client/kotlin/hiiragi283/ragium/integration/rei/display/HTMaterialInfoDisplay.kt similarity index 84% rename from src/client/kotlin/hiiragi283/ragium/integration/rei/HTMaterialInfoDisplay.kt rename to src/client/kotlin/hiiragi283/ragium/integration/rei/display/HTMaterialInfoDisplay.kt index 43c62df..a83f7ee 100644 --- a/src/client/kotlin/hiiragi283/ragium/integration/rei/HTMaterialInfoDisplay.kt +++ b/src/client/kotlin/hiiragi283/ragium/integration/rei/display/HTMaterialInfoDisplay.kt @@ -1,8 +1,10 @@ -package hiiragi283.ragium.integration.rei +package hiiragi283.ragium.integration.rei.display import hiiragi283.ragium.api.material.HTMaterialKey import hiiragi283.ragium.api.material.HTTagPrefix import hiiragi283.ragium.api.recipe.HTItemIngredient +import hiiragi283.ragium.integration.rei.RagiumREIClient +import hiiragi283.ragium.integration.rei.entryIngredient import me.shedaniel.rei.api.common.category.CategoryIdentifier import me.shedaniel.rei.api.common.display.Display import me.shedaniel.rei.api.common.entry.EntryIngredient diff --git a/src/main/kotlin/hiiragi283/ragium/integration/RagiumEPPlugin.kt b/src/main/kotlin/hiiragi283/ragium/integration/RagiumEPPlugin.kt index 48f2c25..64a62dc 100644 --- a/src/main/kotlin/hiiragi283/ragium/integration/RagiumEPPlugin.kt +++ b/src/main/kotlin/hiiragi283/ragium/integration/RagiumEPPlugin.kt @@ -40,7 +40,7 @@ object RagiumEPPlugin : RagiumPlugin { } override fun bindMaterialToItem(consumer: TriConsumer) { - consumer.accept(HTTagPrefix.DEEP_ORE, RagiumMaterialKeys.TIN, EPBlocks.DEEPSLATE_TIN_ORE_ITEM) + consumer.accept(HTTagPrefix.ORE, RagiumMaterialKeys.TIN, EPBlocks.DEEPSLATE_TIN_ORE_ITEM) consumer.accept(HTTagPrefix.DUST, RagiumMaterialKeys.COPPER, EPItems.COPPER_DUST) consumer.accept(HTTagPrefix.DUST, RagiumMaterialKeys.GOLD, EPItems.GOLD_DUST) diff --git a/src/main/kotlin/hiiragi283/ragium/integration/RagiumTechRebornPlugin.kt b/src/main/kotlin/hiiragi283/ragium/integration/RagiumTechRebornPlugin.kt index 7103903..e6d9812 100644 --- a/src/main/kotlin/hiiragi283/ragium/integration/RagiumTechRebornPlugin.kt +++ b/src/main/kotlin/hiiragi283/ragium/integration/RagiumTechRebornPlugin.kt @@ -35,7 +35,7 @@ object RagiumTechRebornPlugin : RagiumPlugin { fun registerOre(key: HTMaterialKey, ore: TRContent.Ores, prefix: HTTagPrefix = HTTagPrefix.ORE) { consumer.accept(prefix, key, ore) ore.deepslate?.let { - consumer.accept(HTTagPrefix.DEEP_ORE, key, ore) + consumer.accept(HTTagPrefix.ORE, key, ore) } }