Skip to content

Commit

Permalink
- REIで機械レシピを参照したときに,触媒アイテムをインプット一覧に追加
Browse files Browse the repository at this point in the history
  • Loading branch information
Hiiragi283 committed Dec 22, 2024
1 parent 8abcac3 commit 1dc868b
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.api.RagiumPlugin
import hiiragi283.ragium.api.extension.isClientEnv
import hiiragi283.ragium.api.extension.isModLoaded
import hiiragi283.ragium.common.init.RagiumItems
import hiiragi283.ragium.common.init.RagiumItemsNew
import hiiragi283.ragium.integration.RIKeyBinds
import io.wispforest.accessories.api.AccessoriesCapability
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
Expand All @@ -20,7 +20,7 @@ object RagiumClientAccessoriesPlugin : RagiumPlugin {
ClientTickEvents.END_CLIENT_TICK.register { client: MinecraftClient ->
while (RIKeyBinds.OPEN_BACKPACK.wasPressed()) {
val capability: AccessoriesCapability = client.player?.accessoriesCapability() ?: break
if (capability.isEquipped(RagiumItems.BACKPACK.asItem())) {
if (capability.isEquipped(RagiumItemsNew.BACKPACK.get())) {
ClientPlayNetworking.send(HTOpenBackpackPayload)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,14 @@ class HTMachineRecipeDisplay(val recipe: HTMachineRecipe, private val id: Identi
private fun getFluidOutput(index: Int): EntryIngredient =
recipe.fluidOutputs.getOrNull(index)?.entryIngredient ?: EntryIngredient.empty()

val catalyst: EntryIngredient = recipe.catalyst?.entryIngredient ?: EntryIngredient.empty()

override fun getInputEntries(): List<EntryIngredient> = buildList {
add(getItemInput(0))
add(getItemInput(1))
add(getItemInput(2))
add(getFluidInput(0))
add(getFluidInput(1))
add(getFluidInput(2))
add(recipe.catalyst?.entryIngredient ?: EntryIngredient.empty())
}

override fun getOutputEntries(): List<EntryIngredient> = buildList {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@ import hiiragi283.ragium.api.machine.HTMachineKey
import hiiragi283.ragium.api.machine.HTMachineTier
import hiiragi283.ragium.api.recipe.HTMachineRecipe
import hiiragi283.ragium.api.tags.RagiumFluidTags
import hiiragi283.ragium.common.init.RagiumBlocks
import hiiragi283.ragium.common.init.RagiumFluids
import hiiragi283.ragium.common.init.RagiumMachineKeys
import hiiragi283.ragium.common.init.RagiumRecipeTypes
import hiiragi283.ragium.common.init.*
import hiiragi283.ragium.integration.rei.category.HTMachineRecipeCategory
import hiiragi283.ragium.integration.rei.category.HTMaterialInfoCategory
import me.shedaniel.rei.api.client.plugins.REIClientPlugin
Expand All @@ -18,6 +15,7 @@ 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.EntryStacks
import me.shedaniel.rei.plugin.common.DefaultPlugin
import net.fabricmc.api.EnvType
import net.fabricmc.api.Environment
import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants
Expand All @@ -44,7 +42,14 @@ object RagiumREIClient : REIClientPlugin {

// REIClientPlugin //

@Suppress("UnstableApiUsage")
override fun registerCategories(registry: CategoryRegistry) {
// Vanilla
HTMachineTier.entries.map(RagiumMachineKeys.MULTI_SMELTER::createEntryStack).forEach {
registry.addWorkstations(DefaultPlugin.SMELTING, it)
}
registry.addWorkstations(DefaultPlugin.WAXING, EntryStacks.of(RagiumItems.BEE_WAX))

// Machines
RagiumAPI
.getInstance()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class HTMachineRecipeCategory(private val key: HTMachineKey) : HTDisplayCategory
this += createSlot(bounds, 6, 1, display.outputEntries.getOrNull(4)).markOutput()
this += createSlot(bounds, 7, 1, display.outputEntries.getOrNull(5)).markOutput()
// catalyst
this += createSlot(bounds, 3.5, 1.0, display.catalyst).markInput()
this += createSlot(bounds, 3.5, 1.0, display.inputEntries.getOrNull(6)).markInput()
// info
this += Widgets
.createLabel(getPoint(bounds, 0, 2), display.recipe.tier.recipeCostText)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package hiiragi283.ragium.data

import hiiragi283.ragium.common.RagiumContents
import hiiragi283.ragium.common.init.RagiumBlocks
import hiiragi283.ragium.common.init.RagiumItems
import hiiragi283.ragium.common.init.RagiumItemsNew
import hiiragi283.ragium.integration.RITranslationKeys
import hiiragi283.ragium.integration.patchouli.HTBookCategory
import hiiragi283.ragium.integration.patchouli.HTPatchouliCategory
Expand Down Expand Up @@ -32,28 +32,28 @@ class RIPatchouliCategoryProvider(output: FabricDataOutput, registriesFuture: Co
HTPatchouliCategory.TIER_1,
RITranslationKeys.PATCHOULI_CATEGORY_TIER1,
RITranslationKeys.PATCHOULI_CATEGORY_TIER10,
RagiumContents.Ingots.RAGI_ALLOY,
RagiumItemsNew.Ingots.RAGI_ALLOY,
)
registerCategory(
consumer,
HTPatchouliCategory.TIER_2,
RITranslationKeys.PATCHOULI_CATEGORY_TIER2,
RITranslationKeys.PATCHOULI_CATEGORY_TIER20,
RagiumContents.Ingots.RAGI_STEEL,
RagiumItemsNew.Ingots.RAGI_STEEL,
)
registerCategory(
consumer,
HTPatchouliCategory.TIER_3,
RITranslationKeys.PATCHOULI_CATEGORY_TIER3,
RITranslationKeys.PATCHOULI_CATEGORY_TIER30,
RagiumContents.Ingots.REFINED_RAGI_STEEL,
RagiumItemsNew.Ingots.REFINED_RAGI_STEEL,
)
registerCategory(
consumer,
HTPatchouliCategory.TIER_4,
RITranslationKeys.PATCHOULI_CATEGORY_TIER4,
RITranslationKeys.PATCHOULI_CATEGORY_TIER40,
RagiumContents.Gems.RAGIUM,
RagiumItemsNew.Gems.RAGIUM,
)
registerCategory(
consumer,
Expand All @@ -67,7 +67,7 @@ class RIPatchouliCategoryProvider(output: FabricDataOutput, registriesFuture: Co
HTPatchouliCategory.MACHINES,
"Machines",
"Machines",
RagiumContents.Hulls.PRIMITIVE,
RagiumBlocks.Hulls.PRIMITIVE,
)
registerCategory(
consumer,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package hiiragi283.ragium.data

import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.common.RagiumContents
import hiiragi283.ragium.common.init.RagiumBlocks
import hiiragi283.ragium.common.init.RagiumItemsNew
import hiiragi283.ragium.integration.RITranslationKeys
import hiiragi283.ragium.integration.patchouli.HTBookEntry
import hiiragi283.ragium.integration.patchouli.HTPatchouliCategory
Expand Down Expand Up @@ -35,13 +36,13 @@ class RIPatchouliPageProvider(output: FabricDataOutput, registriesFuture: Comple
HTPatchouliCategory.TIER_1,
"crude_raginite",
RITranslationKeys.PATCHOULI_CRUDE_RAGINITE_ORE,
RagiumContents.RawMaterials.CRUDE_RAGINITE,
RagiumItemsNew.RawMaterials.CRUDE_RAGINITE,
HTSpotlightBookPage(
RagiumContents.Ores.CRUDE_RAGINITE,
RagiumBlocks.Ores.CRUDE_RAGINITE,
RITranslationKeys.PATCHOULI_CRUDE_RAGINITE_ORE0,
),
HTSpotlightBookPage(
RagiumContents.RawMaterials.CRUDE_RAGINITE,
RagiumItemsNew.RawMaterials.CRUDE_RAGINITE,
RITranslationKeys.PATCHOULI_CRUDE_RAGINITE_ORE1,
),
)
Expand All @@ -50,9 +51,9 @@ class RIPatchouliPageProvider(output: FabricDataOutput, registriesFuture: Comple
HTPatchouliCategory.TIER_1,
"ragi_alloy",
RITranslationKeys.PATCHOULI_RAGI_ALLOY,
RagiumContents.Ingots.RAGI_ALLOY,
RagiumItemsNew.Ingots.RAGI_ALLOY,
HTSpotlightBookPage(
RagiumContents.Ingots.RAGI_ALLOY,
RagiumItemsNew.Ingots.RAGI_ALLOY,
RITranslationKeys.PATCHOULI_RAGI_ALLOY0,
),
HTRecipeBookPage(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import hiiragi283.ragium.api.accessory.HTAccessorySlotTypes
import hiiragi283.ragium.api.extension.isModLoaded
import hiiragi283.ragium.api.extension.openBackpackScreen
import hiiragi283.ragium.common.init.RagiumComponentTypes
import hiiragi283.ragium.common.init.RagiumItems
import hiiragi283.ragium.common.init.RagiumItemsNew
import io.wispforest.accessories.api.AccessoriesAPI
import io.wispforest.accessories.api.AccessoriesCapability
import io.wispforest.accessories.api.Accessory
Expand All @@ -34,7 +34,7 @@ object RagiumAccessoriesPlugin : RagiumPlugin {
registerAccessory(item, HTWrappedAccessory, slot)
}

registerAccessory(RagiumItems.BACKPACK, HTEmptyAccessory, HTAccessorySlotTypes.BACK)
registerAccessory(RagiumItemsNew.BACKPACK, HTEmptyAccessory, HTAccessorySlotTypes.BACK)

DefaultItemComponentEvents.MODIFY.register { context: DefaultItemComponentEvents.ModifyContext ->
context.modify(slotCache::containsKey) { builder: ComponentMap.Builder, item: Item ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package hiiragi283.ragium.integration.patchouli

import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.api.RagiumPlugin
import hiiragi283.ragium.api.extension.isClientEnv
import hiiragi283.ragium.api.extension.isModLoaded
import hiiragi283.ragium.common.init.RagiumItems
import hiiragi283.ragium.api.extension.isOf
import hiiragi283.ragium.common.init.RagiumItemsNew
import net.fabricmc.fabric.api.event.player.UseItemCallback
import net.minecraft.entity.player.PlayerEntity
import net.minecraft.item.ItemStack
Expand All @@ -17,12 +17,12 @@ import vazkii.patchouli.api.PatchouliAPI
object RagiumPatchouliPlugin : RagiumPlugin {
override val priority: Int = 0

override fun shouldLoad(): Boolean = isClientEnv() && isModLoaded("patchouli")
override fun shouldLoad(): Boolean = isModLoaded("patchouli")

override fun afterRagiumInit(instance: RagiumAPI) {
UseItemCallback.EVENT.register { player: PlayerEntity, world: World, hand: Hand ->
val stack: ItemStack = player.getStackInHand(hand)
if (stack.isOf(RagiumItems.GUIDE_BOOK) && player is ServerPlayerEntity) {
if (stack.isOf(RagiumItemsNew.GUIDE_BOOK) && player is ServerPlayerEntity) {
PatchouliAPI.get().openBookGUI(player, RagiumAPI.id("ragi_wiki"))
TypedActionResult.success(stack, world.isClient)
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@
"value": "hiiragi283.ragium.integration.RagiumOritechPlugin",
"adapter": "kotlin"
},
{
"value": "hiiragi283.ragium.integration.patchouli.RagiumPatchouliPlugin",
"adapter": "kotlin"
},
{
"value": "hiiragi283.ragium.integration.RagiumTechRebornPlugin",
"adapter": "kotlin"
Expand All @@ -67,10 +71,6 @@
{
"value": "hiiragi283.ragium.integration.accessories.RagiumClientAccessoriesPlugin",
"adapter": "kotlin"
},
{
"value": "hiiragi283.ragium.integration.patchouli.RagiumPatchouliPlugin",
"adapter": "kotlin"
}
]
},
Expand Down

0 comments on commit 1dc868b

Please sign in to comment.