aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/compatibility
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/compatibility')
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java4
5 files changed, 24 insertions, 9 deletions
diff --git a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
index c7fc6973..145f7ec4 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
@@ -4,13 +4,17 @@ import java.util.List;
import java.util.Set;
import org.objectweb.asm.tree.ClassNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
import net.fabricmc.loader.api.FabricLoader;
public class MixinPlugin implements IMixinConfigPlugin {
+ private static final Logger LOGGER = LoggerFactory.getLogger(MixinPlugin.class);
private static final boolean OPTIFABRIC_LOADED = FabricLoader.getInstance().isModLoaded("optifabric");
+ private static final String YACL_VERSION = FabricLoader.getInstance().getModContainer("yet_another_config_lib_v3").get().getMetadata().getVersion().getFriendlyString();
@Override
public void onLoad(String mixinPackage) {
@@ -26,6 +30,17 @@ public class MixinPlugin implements IMixinConfigPlugin {
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
//OptiFabric Compatibility
if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false;
+
+ //YACL#103 Patch
+ if (mixinClassName.endsWith("DoubleFieldControllerMixin") || mixinClassName.endsWith("FloatFieldControllerMixin") || mixinClassName.endsWith("IntegerFieldControllerMixin") || mixinClassName.endsWith("LongFieldControllerMixin") || mixinClassName.endsWith("NumberFieldControllerMixin")) {
+ if (YACL_VERSION.equals("3.2.1+1.20.2")) {
+ LOGGER.info("[Skyblocker] Applying patch for " + targetClassName + " from " + mixinClassName);
+ } else {
+ LOGGER.info("[Skyblocker] Skipping patch on " + targetClassName + " due to an Unknown YACL version being found! Version: {}", YACL_VERSION);
+
+ return false;
+ }
+ }
return true;
}
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 191da283..b52d6ff5 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
@@ -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", ItemUtils.getItemId(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(';', '_') + "_" + recipe.getResult().getCount()));
this.craftText = recipe.getCraftText();
}
diff --git a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
index c6147016..6ed6a32a 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
@@ -1,7 +1,7 @@
package de.hysky.skyblocker.compatibility.emi;
import de.hysky.skyblocker.SkyblockerMod;
-import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRepository;
import de.hysky.skyblocker.utils.ItemUtils;
import dev.emi.emi.api.EmiPlugin;
import dev.emi.emi.api.EmiRegistry;
@@ -21,9 +21,9 @@ public class SkyblockerEMIPlugin implements EmiPlugin {
@Override
public void register(EmiRegistry registry) {
- ItemRegistry.getItemsStream().map(EmiStack::of).forEach(registry::addEmiStack);
+ ItemRepository.getItemsStream().map(EmiStack::of).forEach(registry::addEmiStack);
registry.addCategory(SKYBLOCK);
registry.addWorkstation(SKYBLOCK, EmiStack.of(Items.CRAFTING_TABLE));
- ItemRegistry.getRecipesStream().map(SkyblockEmiRecipe::new).forEach(registry::addRecipe);
+ ItemRepository.getRecipesStream().map(SkyblockEmiRecipe::new).forEach(registry::addRecipe);
}
}
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 60e39b79..33cee20b 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java
@@ -1,6 +1,6 @@
package de.hysky.skyblocker.compatibility.rei;
-import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRepository;
import de.hysky.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe;
import de.hysky.skyblocker.utils.ItemUtils;
import me.shedaniel.rei.api.client.registry.display.DynamicDisplayGenerator;
@@ -19,7 +19,7 @@ public class SkyblockCraftingDisplayGenerator implements DynamicDisplayGenerator
public Optional<List<SkyblockCraftingDisplay>> getRecipeFor(EntryStack<?> entry) {
if (!(entry.getValue() instanceof ItemStack)) return Optional.empty();
EntryStack<ItemStack> inputItem = EntryStacks.of((ItemStack) entry.getValue());
- List<SkyblockCraftingRecipe> filteredRecipes = ItemRegistry.getRecipesStream()
+ List<SkyblockCraftingRecipe> filteredRecipes = ItemRepository.getRecipesStream()
.filter(recipe -> {
ItemStack itemStack = inputItem.getValue();
ItemStack itemStack1 = recipe.getResult();
@@ -34,7 +34,7 @@ public class SkyblockCraftingDisplayGenerator implements DynamicDisplayGenerator
public Optional<List<SkyblockCraftingDisplay>> getUsageFor(EntryStack<?> entry) {
if (!(entry.getValue() instanceof ItemStack)) return Optional.empty();
EntryStack<ItemStack> inputItem = EntryStacks.of((ItemStack) entry.getValue());
- List<SkyblockCraftingRecipe> filteredRecipes = ItemRegistry.getRecipesStream()
+ List<SkyblockCraftingRecipe> filteredRecipes = ItemRepository.getRecipesStream()
.filter(recipe -> {
for (ItemStack item : recipe.getGrid()) {
if(!ItemUtils.getItemId(item).isEmpty()) {
diff --git a/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java
index 97651718..7ed322a0 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java
@@ -1,7 +1,7 @@
package de.hysky.skyblocker.compatibility.rei;
import de.hysky.skyblocker.SkyblockerMod;
-import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRepository;
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.client.registry.category.CategoryRegistry;
import me.shedaniel.rei.api.client.registry.display.DisplayRegistry;
@@ -29,6 +29,6 @@ public class SkyblockerREIClientPlugin implements REIClientPlugin {
@Override
public void registerEntries(EntryRegistry entryRegistry) {
- entryRegistry.addEntries(ItemRegistry.getItemsStream().map(EntryStacks::of).toList());
+ entryRegistry.addEntries(ItemRepository.getItemsStream().map(EntryStacks::of).toList());
}
}