From c7b38c23c5b34a324256966f0a9335694fe8d63b Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Sat, 27 Jul 2024 07:12:04 +0100 Subject: Optimize load time (#2774) * Load time optimization: replace recipe reflection with mixin accessor * Save an inner loop allocation in StaticRecipeChangeLoaders * Move Bauble event handler from individual items to GT++ proxy * Update mobs info with more optimizations --- .../gtPlusPlus/api/objects/minecraft/ShapedRecipe.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/main/java/gtPlusPlus/api') diff --git a/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java b/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java index f799623dd6..4da6ef3a1f 100644 --- a/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java +++ b/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java @@ -4,12 +4,13 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.ShapedOreRecipe; +import gregtech.api.interfaces.IRecipeMutableAccess; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.util.minecraft.ItemUtils; -public class ShapedRecipe { +public class ShapedRecipe implements IRecipeMutableAccess { private static final String CHARS = "abcdefghijklmnop"; public ShapedOreRecipe mRecipe; @@ -248,4 +249,19 @@ public class ShapedRecipe { t.printStackTrace(); } } + + @Override + public ItemStack gt5u$getRecipeOutputItem() { + return ((IRecipeMutableAccess) mRecipe).gt5u$getRecipeOutputItem(); + } + + @Override + public void gt5u$setRecipeOutputItem(ItemStack newItem) { + ((IRecipeMutableAccess) mRecipe).gt5u$setRecipeOutputItem(newItem); + } + + @Override + public Object gt5u$getRecipeInputs() { + return ((IRecipeMutableAccess) mRecipe).gt5u$getRecipeInputs(); + } } -- cgit