From c9aa45f1d802f9f0ba5f327a8eb74c5613b9828b Mon Sep 17 00:00:00 2001 From: HenryLoenwind Date: Sat, 12 Dec 2015 08:09:19 +0100 Subject: [PATCH] Minor fixes Handle missing AgriCraft rakes better Don't crash when being patched by Buldcraft/Immibis Off-by-one error in Waterworks fluid storage Supress error message when embedded AgriCraft cannot be loaded --- gradle.properties | 2 +- .../machine/afarm/AgriDetector.java | 2 ++ .../machine/magcharger/TileMagCharger.java | 6 ++--- .../machine/waterworks/ColMap.java | 4 ++-- .../enderioaddons/recipe/Recipes.java | 22 +++++++++++++++---- 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/gradle.properties b/gradle.properties index 882d6be..7b6e359 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ minecraft_version=1.7.10 forge_version=10.13.4.1492-1.7.10 forgeDep_version=10.13.4 -mod_version=0.9.10 +mod_version=0.9.11 #Comment out this line to get rid of the appendix mod_appendix=beta diff --git a/src/main/java/info/loenwind/enderioaddons/machine/afarm/AgriDetector.java b/src/main/java/info/loenwind/enderioaddons/machine/afarm/AgriDetector.java index 68c1a71..a1db4c2 100644 --- a/src/main/java/info/loenwind/enderioaddons/machine/afarm/AgriDetector.java +++ b/src/main/java/info/loenwind/enderioaddons/machine/afarm/AgriDetector.java @@ -16,6 +16,8 @@ public class AgriDetector { } Log.info("Agricraft API is " + (hasAgriAPI ? "" : "not ") + "installed. Agricraft is " + (hasAgri ? "" : "not ") + "installed. AgriCarft Farming station is " + (hasAgri ? "" : "not ") + "available."); + } catch (ClassNotFoundException e) { + hasAgriAPI = hasAgri = false; } catch (Throwable t) { hasAgriAPI = hasAgri = false; Log.info("Crashed while trying to find out if AgriCraft is installed. AgriCraft Farming station is not available."); diff --git a/src/main/java/info/loenwind/enderioaddons/machine/magcharger/TileMagCharger.java b/src/main/java/info/loenwind/enderioaddons/machine/magcharger/TileMagCharger.java index 23d54d4..be3a41c 100644 --- a/src/main/java/info/loenwind/enderioaddons/machine/magcharger/TileMagCharger.java +++ b/src/main/java/info/loenwind/enderioaddons/machine/magcharger/TileMagCharger.java @@ -8,6 +8,7 @@ import info.loenwind.autosave.annotations.Store; import info.loenwind.enderioaddons.EnderIOAddons; import info.loenwind.enderioaddons.common.Profiler; +import info.loenwind.enderioaddons.common.SideRestriction; import info.loenwind.enderioaddons.config.Config; import info.loenwind.enderioaddons.machine.flag.BlockFlag; import info.loenwind.enderioaddons.machine.flag.ItemFlag; @@ -16,7 +17,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import crazypants.enderio.EnderIO; import crazypants.enderio.machine.SlotDefinition; import crazypants.enderio.power.BasicCapacitor; @@ -27,9 +27,9 @@ public class TileMagCharger extends AbstractTileFramework implements INetworkUpd protected @Store int progress = -1; // in ticks, counting down public @Store({ CLIENT }) int itemsInQueue = 0; - @SideOnly(Side.CLIENT) + @SideRestriction(Side.CLIENT) public int renderOffset = 0; - @SideOnly(Side.CLIENT) + @SideRestriction(Side.CLIENT) public float renderLastProgress = 0; public TileMagCharger() { diff --git a/src/main/java/info/loenwind/enderioaddons/machine/waterworks/ColMap.java b/src/main/java/info/loenwind/enderioaddons/machine/waterworks/ColMap.java index 8ae500c..e1d1c2c 100644 --- a/src/main/java/info/loenwind/enderioaddons/machine/waterworks/ColMap.java +++ b/src/main/java/info/loenwind/enderioaddons/machine/waterworks/ColMap.java @@ -36,7 +36,7 @@ private void set(int col, int elem, @Nullable Object o) { } private boolean contains(int col, @Nullable Object o) { - for (int i = 0; i <= elements; i++) { + for (int i = 0; i < elements; i++) { Object c = get(col, i); if (o == null && c == null || (o != null && o.equals(c))) { return true; @@ -46,7 +46,7 @@ private boolean contains(int col, @Nullable Object o) { } private int find(int col, @Nullable Object o) { - for (int i = 0; i <= elements; i++) { + for (int i = 0; i < elements; i++) { Object c = get(col, i); if (o == null && c == null || (o != null && o.equals(c))) { return i; diff --git a/src/main/java/info/loenwind/enderioaddons/recipe/Recipes.java b/src/main/java/info/loenwind/enderioaddons/recipe/Recipes.java index 7c9ddee..4ccb6eb 100644 --- a/src/main/java/info/loenwind/enderioaddons/recipe/Recipes.java +++ b/src/main/java/info/loenwind/enderioaddons/recipe/Recipes.java @@ -13,6 +13,7 @@ import static info.loenwind.enderioaddons.machine.voidtank.BlockVoidTank.blockVoidTank; import static info.loenwind.enderioaddons.machine.waterworks.BlockWaterworks.blockWaterworks; import info.loenwind.enderioaddons.common.InitAware; +import info.loenwind.enderioaddons.common.Log; import info.loenwind.enderioaddons.config.Config; import info.loenwind.enderioaddons.machine.afarm.AgriDetector; import info.loenwind.enderioaddons.machine.afarm.BlockAfarm; @@ -356,9 +357,16 @@ public void init(FMLInitializationEvent event) { addShaped(farm, "ehe", "eCe", "cMc", 'e', electricSteel, 'h', Items.diamond_hoe, 'C', machineChassi, 'M', moduleIQ, 'c', crystal); addShaped(induRake, "bb", " d", " d", 'b', darkSteelBars, 'd', darkSteel); addShaped(induRake, "bb", "d ", "d ", 'b', darkSteelBars, 'd', darkSteel); - addShapeless(handRake_wood, brokenRakeWood, "stickWood", brokenRakeWood); - addShapeless(handRake_wood, brokenRakeWood, "woodStick", brokenRakeWood); - addShapeless(handRake_iron, brokenRakeIron, "nuggetIron", brokenRakeIron); + if (handRake_wood != null) { + addShapeless(handRake_wood, brokenRakeWood, "stickWood", brokenRakeWood); + addShapeless(handRake_wood, brokenRakeWood, "woodStick", brokenRakeWood); + } else { + Log.warn("Failed to find AgriCraft's Wooden Hand Rake. Some recipes will be missing!"); + } + if (handRake_iron != null) { + addShapeless(handRake_iron, brokenRakeIron, "nuggetIron", brokenRakeIron); + Log.warn("Failed to find AgriCraft's Iron Hand Rake. Some recipes will be missing!"); + } ItemStack BREED = new ItemStack(ItemModule.itemModule, 1, Module.BREED.ordinal()); ItemStack CROSSBREED = new ItemStack(ItemModule.itemModule, 1, Module.CROSSBREED.ordinal()); @@ -378,7 +386,13 @@ public void init(FMLInitializationEvent event) { addShapeless(MULTIPLY, crops, moduleIQ, crops); addShapeless(HARVESTUNANALYZED, Items.diamond_shovel, moduleBase, magGlass); addShapeless(REPLACEBETTER, Items.diamond_shovel, moduleIQ, magGlass); - addShapeless(WEED, weeds, moduleBase, handRake_wood); + if (handRake_wood != null) { + addShapeless(WEED, weeds, moduleBase, handRake_wood); + } + if (handRake_iron != null) { + addShapeless(WEED, weeds, moduleBase, handRake_iron); + } + addShapeless(WEED, weeds, moduleBase, induRake); addShapeless(EJECTSEEDS, "listAllseed", moduleBase, "blockHopper"); addShapeless(BESTONLY, EJECTSEEDS, moduleIQ, magGlass); }