mirror of
https://github.com/GTNewHorizons/JustEnoughCalculation.git
synced 2026-11-14 01:04:06 +00:00
fix: version compatibility of GT and NEI
This commit is contained in:
1 parent
62eef4ffd2
commit
8c005cb81d
5 files changed
+49
-9
No files matched your search
@@ -3,11 +3,13 @@ package me.towdium.jecalculation.nei.adapter;
|
||||
import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.util.GT_Recipe;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.nei.GT_NEI_AssLineHandler;
|
||||
import gregtech.nei.GT_NEI_DefaultHandler;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -45,10 +47,27 @@ public class GregTech implements IAdapter {
|
||||
}
|
||||
|
||||
protected Object convertFluid(ItemStack itemStack) {
|
||||
FluidStack fluidStack = GT_Utility.getFluidFromDisplayStack(itemStack);
|
||||
FluidStack fluidStack = getFluidFromDisplayStack(itemStack);
|
||||
return fluidStack == null ? itemStack : fluidStack;
|
||||
}
|
||||
|
||||
/**
|
||||
* For resolving version compatibility issues.
|
||||
* Copied from GTNewHorizons/GT5-Unofficial.
|
||||
*/
|
||||
private static FluidStack getFluidFromDisplayStack(ItemStack aDisplayStack) {
|
||||
if (!isStackValid(aDisplayStack) ||
|
||||
aDisplayStack.getItem() != ItemList.Display_Fluid.getItem() ||
|
||||
!aDisplayStack.hasTagCompound())
|
||||
return null;
|
||||
Fluid tFluid = FluidRegistry.getFluid(ItemList.Display_Fluid.getItem().getDamage(aDisplayStack));
|
||||
return new FluidStack(tFluid, (int) aDisplayStack.getTagCompound().getLong("mFluidDisplayAmount"));
|
||||
}
|
||||
|
||||
private static boolean isStackValid(Object aStack) {
|
||||
return (aStack instanceof ItemStack) && ((ItemStack) aStack).getItem() != null && ((ItemStack) aStack).stackSize >= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* get from `gregtech.nei.GT_NEI_AssLineHandler$CachedDefaultRecipe::Constructor`
|
||||
*
|
||||
|
||||
@@ -23,21 +23,27 @@ public class Version implements Comparable<Version> {
|
||||
}
|
||||
|
||||
public Version(String version) {
|
||||
boolean success1;
|
||||
String[] split = version.split(PRE_RELEASE_PREFIX);
|
||||
if (split.length == 0) {
|
||||
success = false;
|
||||
success1 = false;
|
||||
} else {
|
||||
String[] versions = split[0].split("\\.");
|
||||
if (versions.length != 3)
|
||||
success = false;
|
||||
success1 = false;
|
||||
else {
|
||||
major = Integer.parseInt(versions[0]);
|
||||
minor = Integer.parseInt(versions[1]);
|
||||
patch = Integer.parseInt(versions[2]);
|
||||
success = true;
|
||||
try {
|
||||
major = Integer.parseInt(versions[0]);
|
||||
minor = Integer.parseInt(versions[1]);
|
||||
patch = Integer.parseInt(versions[2]);
|
||||
success1 = true;
|
||||
} catch (NumberFormatException e) {
|
||||
success1 = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
success = success1;
|
||||
if (split.length > 1) {
|
||||
preRelease = split[1];
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user