Skip to content

Commit b6c01d7

Browse files
committed
Add 1.19.4 support
1 parent c200f42 commit b6c01d7

6 files changed

Lines changed: 45 additions & 3 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
org.gradle.jvmargs=-Xmx1G
33

44
# Mod Properties
5-
projectVersion=4.0.0
5+
projectVersion=4.0.1
66
maven_group=gay.ampflower.mod
77

88
curseforgeId=914551

libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Minecraft
44
minecraft_version = "1.19.2"
55
minecraft_required = "1.17"
6-
minecraft_compatible = "1.17,1.17.1,1.18,1.18.1,1.18.2,1.19,1.19.1,1.19.2,1.19.3"
6+
minecraft_compatible = "1.17,1.17.1,1.18,1.18.1,1.18.2,1.19,1.19.1,1.19.2,1.19.3,1.19.4"
77

88
fabric_loader = "0.14.21"
99

src/main/java/tfar/fastbench/MixinHooks.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import net.minecraft.world.item.crafting.RecipeType;
3737
import net.minecraft.world.level.Level;
3838
import tfar.fastbench.interfaces.CraftingInventoryDuck;
39+
import tfar.fastbench.interfaces.RecipeCoercer;
3940
import tfar.fastbench.mixin.ContainerAccessor;
4041

4142
import java.util.Collections;
@@ -55,7 +56,8 @@ public static void slotChangedCraftingGrid(Level level, CraftingContainer inv, R
5556
if (recipe == null || !recipe.matches(inv, level)) recipe = findRecipe(inv, level);
5657

5758
if (recipe != null) {
58-
itemstack = recipe.assemble(inv);
59+
// assemble
60+
itemstack = ((RecipeCoercer<CraftingContainer>) recipe).method_8116(inv, level.registryAccess());
5961
}
6062

6163
result.setItem(0, itemstack);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package tfar.fastbench.interfaces;
2+
3+
import net.minecraft.core.RegistryAccess;
4+
import net.minecraft.world.Container;
5+
import net.minecraft.world.item.ItemStack;
6+
7+
/**
8+
* Why support 1.19.4 out of band when you can curse your code?
9+
*
10+
* @author Ampflower
11+
* @since 4.0.1
12+
**/
13+
public interface RecipeCoercer<C extends Container> {
14+
default ItemStack method_8116(C container) {
15+
return this.assemble(container);
16+
}
17+
18+
ItemStack assemble(C container);
19+
20+
default ItemStack method_8116(C container, RegistryAccess registryAccess) {
21+
return this.method_8116(container);
22+
}
23+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package tfar.fastbench.mixin;
2+
3+
import net.minecraft.world.Container;
4+
import net.minecraft.world.item.crafting.Recipe;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import tfar.fastbench.interfaces.RecipeCoercer;
7+
8+
/**
9+
* For 1.19.4 compatibility, the cursed way.
10+
*
11+
* @author Ampflower
12+
* @since 4.0.1
13+
**/
14+
@Mixin(Recipe.class)
15+
public interface RecipeCoercerMixin<C extends Container> extends RecipeCoercer<C> {
16+
}

src/main/resources/quickbench.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"CraftingMenuMixin",
1010
"CraftingResultSlotMixin",
1111
"PlayerContainerMixin",
12+
"RecipeCoercerMixin",
1213
"RecipeManagerMixin",
1314
"ServerPlaceRecipeMixin"
1415
],

0 commit comments

Comments
 (0)