diff --git a/build.gradle b/build.gradle index 275e63b..50e6288 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "1.7.10-0.1.1" +version = "1.7.10-0.1.3" group= "pers.towdium.justEnoughCalculation" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "je_calculation" diff --git a/src/main/java/pers/towdium/justEnoughCalculation/JustEnoughCalculation.java b/src/main/java/pers/towdium/justEnoughCalculation/JustEnoughCalculation.java index 739b1a9..e93d50b 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/JustEnoughCalculation.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/JustEnoughCalculation.java @@ -50,7 +50,7 @@ public class JustEnoughCalculation{ public static class Reference { public static final String MODID = "je_calculation"; public static final String MODNAME = "Just Enough Calculation"; - public static final String VERSION = "0.1.1"; + public static final String VERSION = "0.1.3"; } @Mod.EventHandler diff --git a/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java b/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java index 0d24578..d207ac8 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java @@ -52,12 +52,18 @@ public class ItemStackWrapper { } public static ItemStack toPercentage(ItemStack itemStack){ + if(itemStack == null){ + return null; + } NBT.setInt(itemStack, "percentage", itemStack.stackSize*100); itemStack.stackSize = 1; return itemStack; } public static ItemStack toNormal(ItemStack itemStack){ + if(itemStack == null){ + return null; + } if(itemStack.hasTagCompound()){ int i = itemStack.getTagCompound().getInteger("percentage"); itemStack.stackSize = (i+99)/100; diff --git a/src/main/java/pers/towdium/justEnoughCalculation/core/Recipe.java b/src/main/java/pers/towdium/justEnoughCalculation/core/Recipe.java index ea21aa7..b856ad6 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/core/Recipe.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/core/Recipe.java @@ -258,19 +258,27 @@ public class Recipe { public static Recipe fromNBT (NBTTagCompound tagCompound){ ItemStack[] output = new ItemStack[4]; ItemStack[] input = new ItemStack[12]; + boolean inputNull = true; + boolean outputNull = true; for(int i=0; i<4; i++){ NBTTagCompound buffer = tagCompound.getCompoundTag(String.valueOf(i)); if(buffer != null){ output[i] = ItemStack.loadItemStackFromNBT(buffer); + if(output[i] != null){ + outputNull = false; + } } } for(int i=0; i<12; i++){ NBTTagCompound buffer = tagCompound.getCompoundTag(String.valueOf(i+4)); if(buffer != null){ input[i] = ItemStack.loadItemStackFromNBT(buffer); + if(input[i]!= null){ + inputNull = false; + } } } - return new Recipe(output, input); + return inputNull || outputNull ? null : new Recipe(output, input); } } } diff --git a/src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipeViewer/GuiRecipeViewer.java b/src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipeViewer/GuiRecipeViewer.java index d0a7695..08b81fa 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipeViewer/GuiRecipeViewer.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipeViewer/GuiRecipeViewer.java @@ -1,6 +1,7 @@ package pers.towdium.justEnoughCalculation.gui.guis.recipeViewer; import cpw.mods.fml.client.config.GuiButtonExt; +import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.item.ItemStack; @@ -63,13 +64,15 @@ public class GuiRecipeViewer extends GuiJustEnoughCalculation { public void updateLayout() { recipes = JustEnoughCalculation.proxy.getPlayerHandler().getAllRecipeIndex(null); total = recipes == null ? 0 : (recipes.size()+5)/6; - if(page>total){ + if(page>total && page != 1){ page = total; } - if(page==0){ - page=1; - } displayRecipes(); + for(int i=0; i<6; i++){ + boolean flag = recipes.size() > (page-1)*6+i; + ((GuiButton) buttonList.get(2 + 2 * i)).enabled = flag; + ((GuiButton) buttonList.get(3 + 2 * i)).enabled = flag; + } buttonLeft.enabled = page != 1; buttonRight.enabled = page < total; } diff --git a/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerClient.java b/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerClient.java index 42702b4..77d8c7c 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerClient.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerClient.java @@ -193,7 +193,10 @@ public class PlayerHandlerClient implements IPlayerHandler { int amount = tagCompound.getInteger("amount"); List recipes = new ArrayList<>(amount); for(int i=0; i