Skip to content

Commit 472a96b

Browse files
committed
fix(fabric): not handling disabled recipes
1 parent 35e7f5b commit 472a96b

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

fabric/src/main/kotlin/com/wolfyscript/customcrafting/fabric/recipes/proxy/CustomCookingRecipeProxy.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.wolfyscript.customcrafting.fabric.recipes.proxy
22

3+
import com.wolfyscript.customcrafting.CustomCraftingProvider
34
import com.wolfyscript.customcrafting.fabric.inject.RecipeInputSingleSlotCustomExt
45
import com.wolfyscript.customcrafting.fabric.inject.ProxyRecipe
56
import com.wolfyscript.customcrafting.recipes.CustomRecipeCooking
@@ -15,6 +16,7 @@ import net.minecraft.world.level.Level
1516
import kotlin.random.Random
1617

1718
fun RecipeReference<CustomRecipeCooking>.matches(input: SingleRecipeInput, level: Level): Boolean {
19+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(key)) { return false }
1820
val recipe = value ?: return false
1921
if (input !is RecipeInputSingleSlotCustomExt) return false
2022
val data = input.customInput ?: return false
@@ -29,6 +31,7 @@ fun RecipeReference<CustomRecipeCooking>.assemble(
2931
input: SingleRecipeInput,
3032
provider: HolderLookup.Provider,
3133
): ItemStack? {
34+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(key)) { return ItemStack.EMPTY }
3235
val recipe = value ?: return null
3336
if (input !is RecipeInputSingleSlotCustomExt) return null
3437
val resultInfo = input.resultInfo ?: return null

fabric/src/main/kotlin/com/wolfyscript/customcrafting/fabric/recipes/proxy/CustomCraftingRecipeProxy.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.wolfyscript.customcrafting.fabric.recipes.proxy
22

3+
import com.wolfyscript.customcrafting.CustomCraftingProvider
34
import com.wolfyscript.customcrafting.fabric.inject.RecipeInputCraftingCustomExt
45
import com.wolfyscript.customcrafting.fabric.inject.ProxyRecipe
56
import com.wolfyscript.customcrafting.fabric.inject.getRecipeResultCachedRandom
@@ -26,8 +27,9 @@ fun CraftingFormula.Shaped.toShapedRecipePattern(): ShapedRecipePattern {
2627
}
2728

2829
private fun RecipeReference<CustomRecipeCrafting>.matches(recipeInput: CraftingInput, level: Level): Boolean {
30+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(key)) { return false }
2931
val recipe = value ?: return false
30-
if (recipeInput !is RecipeInputCraftingCustomExt) return false
32+
if (recipeInput !is RecipeInputCraftingCustomExt) { return false }
3133
val data = recipeInput.customInput ?: return false
3234
val context = EvaluationContextState.current ?: EvaluationContextImpl(null, null)
3335

@@ -37,8 +39,9 @@ private fun RecipeReference<CustomRecipeCrafting>.matches(recipeInput: CraftingI
3739
}
3840

3941
private fun RecipeReference<CustomRecipeCrafting>.assemble(recipeInput: CraftingInput, provider: HolderLookup.Provider): ItemStack {
42+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(key)) { return ItemStack.EMPTY }
4043
val recipe = value ?: return ItemStack.EMPTY
41-
if (recipeInput !is RecipeInputCraftingCustomExt) return ItemStack.EMPTY
44+
if (recipeInput !is RecipeInputCraftingCustomExt) { return ItemStack.EMPTY }
4245
val resultInfo = recipeInput.resultInfo ?: return ItemStack.EMPTY
4346
val context = EvaluationContextState.current ?: return ItemStack.EMPTY
4447
val random = (context.player?.unwrap() as? ServerPlayer)?.getRecipeResultCachedRandom(key, recipe.result.alwaysKeepPrevious) ?: Random

fabric/src/main/kotlin/com/wolfyscript/customcrafting/fabric/recipes/proxy/CustomSmithingRecipeProxy.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ class CustomSmithingRecipeProxy(override val customRecipe: RecipeReference<Custo
6666
}
6767

6868
override fun matches(smithingRecipeInput: SmithingRecipeInput, level: Level): Boolean {
69+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(customRecipe.key)) { return false }
6970
val recipe = customRecipe.value ?: return false
7071
if (smithingRecipeInput !is RecipeInputSmithingCustomExt) return false
7172
val customInput = smithingRecipeInput.customInput ?: return false
@@ -80,6 +81,7 @@ class CustomSmithingRecipeProxy(override val customRecipe: RecipeReference<Custo
8081
input: SmithingRecipeInput,
8182
registries: HolderLookup.Provider,
8283
): ItemStack {
84+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(customRecipe.key)) { return ItemStack.EMPTY }
8385
val recipe = customRecipe.value ?: return ItemStack.EMPTY
8486
if (input !is RecipeInputSmithingCustomExt) return ItemStack.EMPTY
8587
val resultInfo = input.resultInfo ?: return ItemStack.EMPTY

fabric/src/main/kotlin/com/wolfyscript/customcrafting/fabric/recipes/proxy/CustomStonecutterRecipe.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.wolfyscript.customcrafting.fabric.recipes.proxy
22

3+
import com.wolfyscript.customcrafting.CustomCraftingProvider
34
import com.wolfyscript.customcrafting.fabric.inject.ProxyRecipe
45
import com.wolfyscript.customcrafting.fabric.inject.RecipeInputSingleSlotCustomExt
56
import com.wolfyscript.customcrafting.fabric.inject.getRecipeResultCachedRandom
@@ -24,6 +25,7 @@ import net.minecraft.world.item.crafting.display.StonecutterRecipeDisplay
2425
import net.minecraft.world.level.Level
2526

2627
fun RecipeReference<CustomRecipeStonecutting>.matches(input: SingleRecipeInput, level: Level): Boolean {
28+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(key)) { return false }
2729
val recipe = value ?: return false
2830
input as RecipeInputSingleSlotCustomExt
2931
val data = input.customInput ?: return false
@@ -38,6 +40,7 @@ fun RecipeReference<CustomRecipeStonecutting>.assemble(
3840
input: SingleRecipeInput,
3941
provider: HolderLookup.Provider,
4042
): ItemStack {
43+
if (CustomCraftingProvider.get().recipeManager.isRecipeDisabled(key)) { return ItemStack.EMPTY }
4144
val recipe = value ?: return ItemStack.EMPTY
4245
input as RecipeInputSingleSlotCustomExt
4346
val resultInfo = input.resultInfo ?: return ItemStack.EMPTY

0 commit comments

Comments
 (0)