diff --git a/src/main/java/com/glodblock/github/FluidCraft.java b/src/main/java/com/glodblock/github/FluidCraft.java index 265b0fd5..4a5d9106 100644 --- a/src/main/java/com/glodblock/github/FluidCraft.java +++ b/src/main/java/com/glodblock/github/FluidCraft.java @@ -1,11 +1,13 @@ package com.glodblock.github; import appeng.api.AEApi; +import appeng.api.config.Upgrades; import com.glodblock.github.common.Config; import com.glodblock.github.common.storage.FluidCellHandler; import com.glodblock.github.inventory.InventoryHandler; -import com.glodblock.github.loader.*; -import com.glodblock.github.nei.recipes.DefaultExtractorLoader; +import com.glodblock.github.loader.ChannelLoader; +import com.glodblock.github.loader.ItemAndBlockHolder; +import com.glodblock.github.loader.RecipeLoader; import com.glodblock.github.proxy.CommonProxy; import com.glodblock.github.util.ModAndClassUtil; import cpw.mods.fml.common.Mod; @@ -15,6 +17,7 @@ import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; +import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @Mod(modid = FluidCraft.MODID, version = FluidCraft.VERSION, name = FluidCraft.MODNAME) @@ -49,6 +52,10 @@ public class FluidCraft { public static void postInit(FMLPostInitializationEvent event) { NetworkRegistry.INSTANCE.registerGuiHandler(FluidCraft.INSTANCE, new InventoryHandler()); (new RecipeLoader()).run(); + Upgrades.PATTERN_CAPACITY.registerItem(new ItemStack(ItemAndBlockHolder.FLUID_INTERFACE), 3 ); + Upgrades.CRAFTING.registerItem(new ItemStack(ItemAndBlockHolder.FLUID_INTERFACE), 1 ); + Upgrades.PATTERN_CAPACITY.registerItem(new ItemStack(ItemAndBlockHolder.INTERFACE), 3 ); + Upgrades.CRAFTING.registerItem(new ItemStack(ItemAndBlockHolder.INTERFACE), 1 ); proxy.postInit(event); } diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java b/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java index ca7d88fb..a821909e 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java @@ -1,6 +1,7 @@ package com.glodblock.github.common.parts; import appeng.api.config.Actionable; +import appeng.api.config.Upgrades; import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.MachineSource; @@ -71,6 +72,12 @@ public class PartFluidInterface extends PartInterface implements IFluidHandler { rh.renderInventoryBox( renderer ); } + @Override + public int getInstalledUpgrades( final Upgrades u ) + { + return getInterfaceDuality().getInstalledUpgrades( u ); + } + private IMEMonitor getFluidGrid() { try { return getProxy().getGrid().getCache(IStorageGrid.class).getFluidInventory(); diff --git a/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java b/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java index 200cf645..7d22731b 100644 --- a/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java +++ b/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java @@ -1,22 +1,28 @@ package com.glodblock.github.common.tile; import appeng.api.config.Actionable; +import appeng.api.config.Upgrades; import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.MachineSource; import appeng.api.networking.storage.IStorageGrid; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEFluidStack; +import appeng.core.features.IStackSrc; import appeng.me.GridAccessException; import appeng.tile.misc.TileInterface; import appeng.util.Platform; import appeng.util.item.AEFluidStack; +import com.glodblock.github.loader.ItemAndBlockHolder; +import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; +import javax.annotation.Nullable; + public class TileFluidInterface extends TileInterface implements IFluidHandler { @@ -38,6 +44,21 @@ public class TileFluidInterface extends TileInterface implements IFluidHandler } } + @Nullable + protected ItemStack getItemFromTile( final Object obj ) + { + if (obj instanceof TileFluidInterface) { + return ItemAndBlockHolder.INTERFACE.stack(); + } + return null; + } + + @Override + public int getInstalledUpgrades( final Upgrades u ) + { + return getInterfaceDuality().getInstalledUpgrades( u ); + } + @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { IMEMonitor fluidGrid = getFluidGrid();