aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bartworks/ASM
diff options
context:
space:
mode:
authorAlexdoru <57050655+Alexdoru@users.noreply.github.com>2024-09-22 01:41:01 +0200
committerGitHub <noreply@github.com>2024-09-21 23:41:01 +0000
commitcc0266c5a740a2155536694111ba37ac8c3f1d46 (patch)
tree4d0e44a1e1c78a2345911090b265aee777409888 /src/main/java/bartworks/ASM
parent93966f7709e765b8be05b5127054046c9ac3bce0 (diff)
downloadGT5-Unofficial-cc0266c5a740a2155536694111ba37ac8c3f1d46.tar.gz
GT5-Unofficial-cc0266c5a740a2155536694111ba37ac8c3f1d46.tar.bz2
GT5-Unofficial-cc0266c5a740a2155536694111ba37ac8c3f1d46.zip
GT++ ASM Cleanup (#3238)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/bartworks/ASM')
-rw-r--r--src/main/java/bartworks/ASM/BWCoreStaticReplacementMethodes.java112
1 files changed, 0 insertions, 112 deletions
diff --git a/src/main/java/bartworks/ASM/BWCoreStaticReplacementMethodes.java b/src/main/java/bartworks/ASM/BWCoreStaticReplacementMethodes.java
deleted file mode 100644
index 8a20495472..0000000000
--- a/src/main/java/bartworks/ASM/BWCoreStaticReplacementMethodes.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2018-2020 bartimaeusnek Permission is hereby granted, free of charge, to any person obtaining a copy of
- * this software and associated documentation files (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following
- * conditions: The above copyright notice and this permission notice shall be included in all copies or substantial
- * portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-package bartworks.ASM;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.item.crafting.IRecipe;
-import net.minecraft.world.World;
-
-import bartworks.util.NonNullWrappedHashSet;
-import bartworks.util.accessprioritylist.AccessPriorityList;
-import bartworks.util.accessprioritylist.AccessPriorityListNode;
-
-public class BWCoreStaticReplacementMethodes {
-
- private static ThreadLocal<AccessPriorityList<IRecipe>> RECENTLYUSEDRECIPES = ThreadLocal
- .withInitial(AccessPriorityList::new);
-
- public static void clearRecentlyUsedRecipes() {
- // the easiest way to ensure the cache is flushed without causing synchronization overhead
- // is to just replace the whole ThreadLocal instance.
- RECENTLYUSEDRECIPES = ThreadLocal.withInitial(AccessPriorityList::new);
- }
-
- public static ItemStack findCachedMatchingRecipe(InventoryCrafting inventoryCrafting, World world) {
- int i = 0;
- ItemStack itemstack = null;
- ItemStack itemstack1 = null;
- int j;
-
- for (j = 0; j < inventoryCrafting.getSizeInventory(); ++j) {
- ItemStack itemstack2 = inventoryCrafting.getStackInSlot(j);
-
- if (itemstack2 != null) {
- if (i == 0) itemstack = itemstack2;
-
- if (i == 1) itemstack1 = itemstack2;
-
- ++i;
- }
- }
-
- if (i == 2 && itemstack.getItem() == itemstack1.getItem()
- && itemstack.stackSize == 1
- && itemstack1.stackSize == 1
- && itemstack.getItem()
- .isRepairable()) {
- Item item = itemstack.getItem();
- int j1 = item.getMaxDamage() - itemstack.getItemDamageForDisplay();
- int k = item.getMaxDamage() - itemstack1.getItemDamageForDisplay();
- int l = j1 + k + item.getMaxDamage() * 5 / 100;
- int i1 = item.getMaxDamage() - l;
-
- if (i1 < 0) i1 = 0;
-
- return new ItemStack(itemstack.getItem(), 1, i1);
-
- }
- IRecipe iPossibleRecipe = null;
- AccessPriorityList<IRecipe> cache = RECENTLYUSEDRECIPES.get();
- Iterator<AccessPriorityListNode<IRecipe>> it = cache.nodeIterator();
-
- while (it.hasNext()) {
- AccessPriorityListNode<IRecipe> recipeNode = it.next();
- iPossibleRecipe = recipeNode.getELEMENT();
-
- if (!iPossibleRecipe.matches(inventoryCrafting, world)) continue;
-
- cache.addPrioToNode(recipeNode);
- return iPossibleRecipe.getCraftingResult(inventoryCrafting);
- }
-
- HashSet<IRecipe> recipeSet = new NonNullWrappedHashSet<>();
- List<IRecipe> recipeList = CraftingManager.getInstance()
- .getRecipeList();
-
- for (IRecipe r : recipeList) {
- if (r.matches(inventoryCrafting, world)) recipeSet.add(r);
- }
-
- Object[] arr = recipeSet.toArray();
-
- if (arr.length == 0) return null;
-
- IRecipe recipe = (IRecipe) arr[0];
- ItemStack stack = recipe.getCraftingResult(inventoryCrafting);
-
- if (arr.length != 1) return stack;
-
- if (stack != null) cache.addLast(recipe);
-
- return stack;
- }
-
-}