diff options
| author | Alexdoru <57050655+Alexdoru@users.noreply.github.com> | 2024-09-22 01:41:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-21 23:41:01 +0000 |
| commit | cc0266c5a740a2155536694111ba37ac8c3f1d46 (patch) | |
| tree | 4d0e44a1e1c78a2345911090b265aee777409888 /src/main/java/bartworks/ASM | |
| parent | 93966f7709e765b8be05b5127054046c9ac3bce0 (diff) | |
| download | GT5-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.java | 112 |
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; - } - -} |
