diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-10-09 21:10:55 -0400 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-10-11 16:16:33 -0400 |
commit | 80bdbf4299966243ae3141b10178a2cd6f061f93 (patch) | |
tree | 1b7b54e6455de84119de3b29422504c8baabb9e4 /src/main/java/de/hysky/skyblocker/compatibility | |
parent | 0eb2976ff87fe7b933ce51cdc0464ca968c234d5 (diff) | |
download | Skyblocker-80bdbf4299966243ae3141b10178a2cd6f061f93.tar.gz Skyblocker-80bdbf4299966243ae3141b10178a2cd6f061f93.tar.bz2 Skyblocker-80bdbf4299966243ae3141b10178a2cd6f061f93.zip |
Refactor nbt parsing
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/compatibility')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java | 8 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java | 19 |
2 files changed, 17 insertions, 10 deletions
diff --git a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java index 5875327d..636a5d98 100644 --- a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java +++ b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java @@ -1,13 +1,13 @@ -package de.hysky.skyblocker.compatibility.emi; +package me.xmrvizzy.skyblocker.compatibility.emi; -import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry; -import de.hysky.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe; import dev.emi.emi.api.recipe.EmiCraftingRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.stack.Comparison; import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.api.widget.WidgetHolder; +import me.xmrvizzy.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe; +import me.xmrvizzy.skyblocker.utils.ItemUtils; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -16,7 +16,7 @@ public class SkyblockEmiRecipe extends EmiCraftingRecipe { private final String craftText; public SkyblockEmiRecipe(SkyblockCraftingRecipe recipe) { - super(recipe.getGrid().stream().map(EmiStack::of).map(EmiIngredient.class::cast).toList(), EmiStack.of(recipe.getResult()).comparison(Comparison.compareNbt()), Identifier.of("skyblock", ItemRegistry.getInternalName(recipe.getResult()).toLowerCase().replace(';', '_'))); + super(recipe.getGrid().stream().map(EmiStack::of).map(EmiIngredient.class::cast).toList(), EmiStack.of(recipe.getResult()).comparison(Comparison.compareNbt()), Identifier.of("skyblock", ItemUtils.getItemId(recipe.getResult()).toLowerCase().replace(';', '_'))); this.craftText = recipe.getCraftText(); } diff --git a/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java index 8db617dc..236ab326 100644 --- a/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java +++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java @@ -1,11 +1,12 @@ -package de.hysky.skyblocker.compatibility.rei; +package me.xmrvizzy.skyblocker.compatibility.rei; -import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry; -import de.hysky.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe; import me.shedaniel.rei.api.client.registry.display.DynamicDisplayGenerator; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryStacks; +import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry; +import me.xmrvizzy.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe; +import me.xmrvizzy.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import java.util.ArrayList; @@ -19,7 +20,11 @@ public class SkyblockCraftingDisplayGenerator implements DynamicDisplayGenerator if (!(entry.getValue() instanceof ItemStack)) return Optional.empty(); EntryStack<ItemStack> inputItem = EntryStacks.of((ItemStack) entry.getValue()); List<SkyblockCraftingRecipe> filteredRecipes = ItemRegistry.getRecipesStream() - .filter(recipe -> ItemRegistry.getInternalName(recipe.getResult()).equals(ItemRegistry.getInternalName(inputItem.getValue()))) + .filter(recipe -> { + ItemStack itemStack = inputItem.getValue(); + ItemStack itemStack1 = recipe.getResult(); + return ItemUtils.getItemId(itemStack1).equals(ItemUtils.getItemId(itemStack)); + }) .toList(); return Optional.of(generateDisplays(filteredRecipes)); @@ -32,8 +37,10 @@ public class SkyblockCraftingDisplayGenerator implements DynamicDisplayGenerator List<SkyblockCraftingRecipe> filteredRecipes = ItemRegistry.getRecipesStream() .filter(recipe -> { for (ItemStack item : recipe.getGrid()) { - if(!ItemRegistry.getInternalName(item).isEmpty() && ItemRegistry.getInternalName(item).equals(ItemRegistry.getInternalName(inputItem.getValue()))) - return true; + if(!ItemUtils.getItemId(item).isEmpty()) { + ItemStack itemStack = inputItem.getValue(); + if (ItemUtils.getItemId(item).equals(ItemUtils.getItemId(itemStack))) return true; + } } return false; }) |