From fa378c74f1e65a1eab6b6b9ee9ffb808d51dc86a Mon Sep 17 00:00:00 2001 From: Justin Aquadro Date: Tue, 25 Aug 2015 01:05:57 -0400 Subject: [PATCH] Agricraft; make bloomery furnace automation-friendly --- build.gradle | 2 +- .../integration/mods/AgriCraft.java | 33 +++++++------------ .../block/tile/TileEntityBloomeryFurnace.java | 10 ++++-- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/build.gradle b/build.gradle index d849d87..98a7ab0 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,7 @@ repositories { apply plugin: 'forge' -version = "1.7.10-1.6.3" +version = "1.7.10-1.6.5" group= "com.jaquadro.gardenstuff" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "GardenStuff" diff --git a/src/com/jaquadro/minecraft/gardencommon/integration/mods/AgriCraft.java b/src/com/jaquadro/minecraft/gardencommon/integration/mods/AgriCraft.java index cbbdbd7..b09e2b1 100644 --- a/src/com/jaquadro/minecraft/gardencommon/integration/mods/AgriCraft.java +++ b/src/com/jaquadro/minecraft/gardencommon/integration/mods/AgriCraft.java @@ -1,22 +1,15 @@ package com.jaquadro.minecraft.gardencommon.integration.mods; +import com.InfinityRaider.AgriCraft.api.API; +import com.InfinityRaider.AgriCraft.api.APIBase; +import com.InfinityRaider.AgriCraft.api.APIStatus; +import com.InfinityRaider.AgriCraft.api.v1.APIv1; +import com.InfinityRaider.AgriCraft.api.v1.BlockWithMeta; import com.jaquadro.minecraft.gardencommon.integration.IntegrationModule; import com.jaquadro.minecraft.gardencore.core.ModBlocks; -import net.minecraft.block.Block; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.util.Set; public class AgriCraft extends IntegrationModule { - static Class classGrowthRequirements; - static Class classBlockWithMeta; - - static Constructor constBlockWithMeta; - - static Field fieldDefaultSoils; - @Override public String getModID () { return "AgriCraft"; @@ -24,18 +17,14 @@ public String getModID () { @Override public void init () throws Throwable { - classGrowthRequirements = Class.forName("com.InfinityRaider.AgriCraft.farming.GrowthRequirements"); - classBlockWithMeta = Class.forName("com.InfinityRaider.AgriCraft.utility.BlockWithMeta"); + APIBase api = API.getAPI(1); + if (api.getStatus() == APIStatus.OK && api.getVersion() == 1) { + APIv1 agricraft = (APIv1)api; - constBlockWithMeta = classBlockWithMeta.getConstructor(Block.class, int.class); - - fieldDefaultSoils = classGrowthRequirements.getField("defaultSoils"); + agricraft.registerDefaultSoil(new BlockWithMeta(ModBlocks.gardenFarmland)); + } } @Override - public void postInit () throws Throwable { - Set defaultSoils = (Set) fieldDefaultSoils.get(null); - - defaultSoils.add(constBlockWithMeta.newInstance(ModBlocks.gardenFarmland, 0)); - } + public void postInit () throws Throwable { } } diff --git a/src/com/jaquadro/minecraft/gardenstuff/block/tile/TileEntityBloomeryFurnace.java b/src/com/jaquadro/minecraft/gardenstuff/block/tile/TileEntityBloomeryFurnace.java index d041834..71b8877 100644 --- a/src/com/jaquadro/minecraft/gardenstuff/block/tile/TileEntityBloomeryFurnace.java +++ b/src/com/jaquadro/minecraft/gardenstuff/block/tile/TileEntityBloomeryFurnace.java @@ -152,9 +152,9 @@ private boolean canSmelt () { if (furnaceItemStacks[SLOT_PRIMARY] == null || furnaceItemStacks[SLOT_SECONDARY] == null) return false; - if (furnaceItemStacks[SLOT_PRIMARY].getItem() != Items.iron_ingot && furnaceItemStacks[SLOT_PRIMARY].getItem() != Item.getItemFromBlock(Blocks.iron_ore)) + if (!isItemPrimaryInput(furnaceItemStacks[SLOT_PRIMARY])) return false; - if (furnaceItemStacks[SLOT_SECONDARY].getItem() != Item.getItemFromBlock(Blocks.sand)) + if (!isItemSecondaryInput(furnaceItemStacks[SLOT_SECONDARY])) return false; ItemStack itemOutput = new ItemStack(ModItems.wroughtIronIngot); @@ -319,7 +319,11 @@ public boolean isItemValidForSlot (int slot, ItemStack stack) { return false; if (slot == SLOT_FUEL) return isItemFuel(stack); + if (slot == SLOT_PRIMARY) + return isItemPrimaryInput(stack); + if (slot == SLOT_SECONDARY) + return isItemSecondaryInput(stack); - return true; + return false; } }