diff --git a/build.xml b/build.xml
index 992c735e..8172a20a 100644
--- a/build.xml
+++ b/build.xml
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/buildcraft_resources/lang/buildcraft/en_US.properties b/buildcraft_resources/lang/buildcraft/en_US.properties
index 34959879..e3d8307b 100644
--- a/buildcraft_resources/lang/buildcraft/en_US.properties
+++ b/buildcraft_resources/lang/buildcraft/en_US.properties
@@ -34,7 +34,7 @@ item.diamondGearItem=Diamond Gear
item.templateItem=Template
item.wrenchItem=Wrench
item.fuel=Fuel
-item.pipeWaterproof=Pipe Waterproof
+item.pipeWaterproof=Pipe Sealant
item.pipeGate.0=Gate
item.pipeGate.1=Iron AND Gate
item.pipeGate.2=Iron OR Gate
@@ -68,24 +68,24 @@ item.PipeItemsGold=Golden Transport Pipe
item.PipeItemsDiamond=Diamond Transport Pipe
item.PipeItemsObsidian=Obsidian Transport Pipe
item.PipeItemsEmerald=Emerald Transport Pipe
-item.PipeLiquidsWood=Wooden Waterproof Pipe
-item.PipeLiquidsCobblestone=Cobblestone Waterproof Pipe
-item.PipeLiquidsStone=Stone Waterproof Pipe
-item.PipeLiquidsIron=Iron Waterproof Pipe
-item.PipeLiquidsGold=Golden Waterproof Pipe
-item.PipeLiquidsEmerald=Emerald Waterproof Pipe
-item.PipePowerWood=Wooden Conductive Pipe
-item.PipePowerCobblestone=Cobblestone Conductive Pipe
-item.PipePowerStone=Stone Conductive Pipe
-item.PipePowerQuartz=Quartz Conductive Pipe
-item.PipePowerGold=Golden Conductive Pipe
-item.PipePowerDiamond=Diamond Conductive Pipe
+item.PipeLiquidsWood=Wooden Fluid Pipe
+item.PipeLiquidsCobblestone=Cobblestone Fluid Pipe
+item.PipeLiquidsStone=Stone Fluid Pipe
+item.PipeLiquidsIron=Iron Fluid Pipe
+item.PipeLiquidsGold=Golden Fluid Pipe
+item.PipeLiquidsEmerald=Emerald Fluid Pipe
+item.PipePowerWood=Wooden Kinesis Pipe
+item.PipePowerCobblestone=Cobblestone Kinesis Pipe
+item.PipePowerStone=Stone Kinesis Pipe
+item.PipePowerQuartz=Quartz Kinesis Pipe
+item.PipePowerGold=Golden Kinesis Pipe
+item.PipePowerDiamond=Diamond Kinesis Pipe
item.PipeItemsStripes=Stripes Transport Pipe
item.PipeStructureCobblestone=Cobblestone Structure Pipe
item.PipeItemsVoid=Void Transport Pipe
-item.PipeLiquidsVoid=Void Waterproof Pipe
+item.PipeLiquidsVoid=Void Fluid Pipe
item.PipeItemsSandstone=Sandstone Transport Pipe
-item.PipeLiquidsSandstone=Sandstone Waterproof Pipe
+item.PipeLiquidsSandstone=Sandstone Fluid Pipe
item.Facade=Facade
item.PipePlug=Pipe Plug
tile.miningWellBlock=Mining Well
diff --git a/common/buildcraft/BuildCraftBuilders.java b/common/buildcraft/BuildCraftBuilders.java
index 4c0d3207..b18cb4a6 100644
--- a/common/buildcraft/BuildCraftBuilders.java
+++ b/common/buildcraft/BuildCraftBuilders.java
@@ -7,32 +7,17 @@
*/
package buildcraft;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.TreeMap;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.common.Configuration;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.Property;
-import net.minecraftforge.event.ForgeSubscribe;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.bptblocks.BptBlockBed;
import buildcraft.api.bptblocks.BptBlockCustomStack;
import buildcraft.api.bptblocks.BptBlockDelegate;
import buildcraft.api.bptblocks.BptBlockDirt;
import buildcraft.api.bptblocks.BptBlockDoor;
+import buildcraft.api.bptblocks.BptBlockFluid;
import buildcraft.api.bptblocks.BptBlockIgnore;
import buildcraft.api.bptblocks.BptBlockIgnoreMeta;
import buildcraft.api.bptblocks.BptBlockInventory;
import buildcraft.api.bptblocks.BptBlockLever;
-import buildcraft.api.bptblocks.BptBlockLiquid;
import buildcraft.api.bptblocks.BptBlockPiston;
import buildcraft.api.bptblocks.BptBlockPumpkin;
import buildcraft.api.bptblocks.BptBlockRedstoneRepeater;
@@ -76,9 +61,8 @@ import buildcraft.core.blueprints.BptPlayerIndex;
import buildcraft.core.blueprints.BptRootIndex;
import buildcraft.core.proxy.CoreProxy;
import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.Init;
+import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStoppingEvent;
@@ -88,6 +72,19 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.TreeMap;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.client.event.TextureStitchEvent;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.Property;
+import net.minecraftforge.event.ForgeSubscribe;
@Mod(name = "BuildCraft Builders", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Builders", dependencies = DefaultProps.DEPENDENCY_CORE)
@NetworkMod(channels = {DefaultProps.NET_CHANNEL_NAME}, packetHandler = PacketHandlerBuilders.class, clientSideRequired = true, serverSideRequired = true)
@@ -112,7 +109,7 @@ public class BuildCraftBuilders {
@Instance("BuildCraft|Builders")
public static BuildCraftBuilders instance;
- @Init
+ @EventHandler
public void load(FMLInitializationEvent evt) {
// Create filler registry
FillerManager.registry = new FillerRegistry();
@@ -171,10 +168,10 @@ public class BuildCraftBuilders {
new BptBlockRedstoneRepeater(Block.redstoneRepeaterActive.blockID);
new BptBlockRedstoneRepeater(Block.redstoneRepeaterIdle.blockID);
- new BptBlockLiquid(Block.waterStill.blockID, new ItemStack(Item.bucketWater));
- new BptBlockLiquid(Block.waterMoving.blockID, new ItemStack(Item.bucketWater));
- new BptBlockLiquid(Block.lavaStill.blockID, new ItemStack(Item.bucketLava));
- new BptBlockLiquid(Block.lavaMoving.blockID, new ItemStack(Item.bucketLava));
+ new BptBlockFluid(Block.waterStill.blockID, new ItemStack(Item.bucketWater));
+ new BptBlockFluid(Block.waterMoving.blockID, new ItemStack(Item.bucketWater));
+ new BptBlockFluid(Block.lavaStill.blockID, new ItemStack(Item.bucketLava));
+ new BptBlockFluid(Block.lavaMoving.blockID, new ItemStack(Item.bucketLava));
new BptBlockIgnoreMeta(Block.rail.blockID);
new BptBlockIgnoreMeta(Block.railPowered.blockID);
@@ -217,7 +214,7 @@ public class BuildCraftBuilders {
}
- @PreInit
+ @EventHandler
public void initialize(FMLPreInitializationEvent evt) {
Property templateItemId = BuildCraftCore.mainConfiguration.getItem("templateItem.id", DefaultProps.TEMPLATE_ITEM_ID);
Property blueprintItemId = BuildCraftCore.mainConfiguration.getItem("blueprintItem.id", DefaultProps.BLUEPRINT_ITEM_ID);
@@ -312,12 +309,10 @@ public class BuildCraftBuilders {
new ItemStack(Item.dyePowder, 1, 0), Character.valueOf('t'), markerBlock, Character.valueOf('y'), new ItemStack(Item.dyePowder, 1, 11),
Character.valueOf('c'), Block.workbench, Character.valueOf('g'), BuildCraftCore.goldGearItem, Character.valueOf('C'), Block.chest});
-
CoreProxy.proxy.addCraftingRecipe(new ItemStack(builderBlock, 1), new Object[]{"btb", "ycy", "gCg", Character.valueOf('b'),
new ItemStack(Item.dyePowder, 1, 0), Character.valueOf('t'), markerBlock, Character.valueOf('y'), new ItemStack(Item.dyePowder, 1, 11),
Character.valueOf('c'), Block.workbench, Character.valueOf('g'), BuildCraftCore.diamondGearItem, Character.valueOf('C'), Block.chest});
-
CoreProxy.proxy.addCraftingRecipe(new ItemStack(architectBlock, 1), new Object[]{"btb", "ycy", "gCg", Character.valueOf('b'),
new ItemStack(Item.dyePowder, 1, 0), Character.valueOf('t'), markerBlock, Character.valueOf('y'), new ItemStack(Item.dyePowder, 1, 11),
Character.valueOf('c'), Block.workbench, Character.valueOf('g'), BuildCraftCore.diamondGearItem, Character.valueOf('C'),
@@ -326,6 +321,7 @@ public class BuildCraftBuilders {
CoreProxy.proxy.addCraftingRecipe(new ItemStack(libraryBlock, 1), new Object[]{"bbb", "bBb", "bbb", Character.valueOf('b'),
new ItemStack(blueprintItem), Character.valueOf('B'), Block.bookShelf});
+
// / INIT FILLER PATTERNS
FillerManager.registry.addRecipe(new FillerFillAll(), new Object[]{"bbb", "bbb", "bbb", 'g', Block.glass, 'b', Block.brick});
FillerManager.registry.addRecipe(new FillerFlattener(), new Object[]{"ggg", "bbb", "bbb", 'g', Block.glass, 'b', Block.brick});
@@ -386,7 +382,7 @@ public class BuildCraftBuilders {
}
}
- @Mod.ServerStopping
+ @EventHandler
public void ServerStop(FMLServerStoppingEvent event) {
TilePathMarker.clearAvailableMarkersList();
}
@@ -394,7 +390,7 @@ public class BuildCraftBuilders {
@ForgeSubscribe
@SideOnly(Side.CLIENT)
public void loadTextures(TextureStitchEvent.Pre evt) {
- if (evt.map == Minecraft.getMinecraft().renderEngine.textureMapBlocks) {
+ if (evt.map.textureType == 0) {
TextureMap terrainMap = evt.map;
BuilderProxyClient.fillerFillAllTexture = terrainMap.registerIcon("buildcraft:fillerPatterns/fillAll");
BuilderProxyClient.fillerClearTexture = terrainMap.registerIcon("buildcraft:fillerPatterns/clear");
diff --git a/common/buildcraft/BuildCraftCore.java b/common/buildcraft/BuildCraftCore.java
index cc0048d5..3ae25d47 100644
--- a/common/buildcraft/BuildCraftCore.java
+++ b/common/buildcraft/BuildCraftCore.java
@@ -8,27 +8,11 @@
package buildcraft;
-import buildcraft.builders.blueprints.BlueprintDatabase;
-import java.io.File;
-import java.util.TreeMap;
-import java.util.logging.Logger;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockFluid;
-import net.minecraft.client.Minecraft;
-import net.minecraft.entity.EntityList;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.common.Configuration;
-import net.minecraftforge.common.IPlantable;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.Property;
-import net.minecraftforge.event.ForgeSubscribe;
import buildcraft.api.core.BuildCraftAPI;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
+import buildcraft.builders.blueprints.BlueprintDatabase;
import buildcraft.core.BlockIndex;
import buildcraft.core.BlockSpring;
import buildcraft.core.BuildCraftConfiguration;
@@ -57,18 +41,15 @@ import buildcraft.core.triggers.BCAction;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.core.triggers.DefaultActionProvider;
import buildcraft.core.triggers.DefaultTriggerProvider;
+import buildcraft.core.triggers.TriggerFluidContainer;
import buildcraft.core.triggers.TriggerInventory;
-import buildcraft.core.triggers.TriggerLiquidContainer;
import buildcraft.core.triggers.TriggerMachine;
import buildcraft.core.utils.Localization;
import buildcraft.transport.triggers.TriggerRedstoneInput;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.Init;
+import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.Mod.PostInit;
-import cpw.mods.fml.common.Mod.PreInit;
-import cpw.mods.fml.common.Mod.ServerStarting;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@@ -80,6 +61,21 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.io.File;
+import java.util.TreeMap;
+import java.util.logging.Logger;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockFluid;
+import net.minecraft.entity.EntityList;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
+import net.minecraftforge.client.event.TextureStitchEvent;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.IPlantable;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.Property;
+import net.minecraftforge.event.ForgeSubscribe;
@Mod(name = "BuildCraft", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Core", dependencies = "required-after:Forge@[7.7.2.682,)")
@NetworkMod(channels = { DefaultProps.NET_CHANNEL_NAME }, packetHandler = PacketHandler.class, clientSideRequired = true, serverSideRequired = true)
@@ -142,10 +138,10 @@ public class BuildCraftCore {
public static BCTrigger triggerContainsInventory = new TriggerInventory(DefaultProps.TRIGGER_CONTAINS_INVENTORY, TriggerInventory.State.Contains);
public static BCTrigger triggerSpaceInventory = new TriggerInventory(DefaultProps.TRIGGER_SPACE_INVENTORY, TriggerInventory.State.Space);
public static BCTrigger triggerFullInventory = new TriggerInventory(DefaultProps.TRIGGER_FULL_INVENTORY, TriggerInventory.State.Full);
- public static BCTrigger triggerEmptyLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_EMPTY_LIQUID, TriggerLiquidContainer.State.Empty);
- public static BCTrigger triggerContainsLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_CONTAINS_LIQUID, TriggerLiquidContainer.State.Contains);
- public static BCTrigger triggerSpaceLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_SPACE_LIQUID, TriggerLiquidContainer.State.Space);
- public static BCTrigger triggerFullLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_FULL_LIQUID, TriggerLiquidContainer.State.Full);
+ public static BCTrigger triggerEmptyFluid = new TriggerFluidContainer(DefaultProps.TRIGGER_EMPTY_LIQUID, TriggerFluidContainer.State.Empty);
+ public static BCTrigger triggerContainsFluid = new TriggerFluidContainer(DefaultProps.TRIGGER_CONTAINS_LIQUID, TriggerFluidContainer.State.Contains);
+ public static BCTrigger triggerSpaceFluid = new TriggerFluidContainer(DefaultProps.TRIGGER_SPACE_LIQUID, TriggerFluidContainer.State.Space);
+ public static BCTrigger triggerFullFluid = new TriggerFluidContainer(DefaultProps.TRIGGER_FULL_LIQUID, TriggerFluidContainer.State.Full);
public static BCTrigger triggerRedstoneActive = new TriggerRedstoneInput(DefaultProps.TRIGGER_REDSTONE_ACTIVE, true);
public static BCTrigger triggerRedstoneInactive = new TriggerRedstoneInput(DefaultProps.TRIGGER_REDSTONE_INACTIVE, false);
@@ -167,7 +163,7 @@ public class BuildCraftCore {
@Instance("BuildCraft|Core")
public static BuildCraftCore instance;
- @PreInit
+ @EventHandler
public void loadConfiguration(FMLPreInitializationEvent evt) {
Version.check();
@@ -264,8 +260,8 @@ public class BuildCraftCore {
}
}
- @Init
- public void initialize(FMLInitializationEvent evt) {
+ @EventHandler
+ public void initialize(FMLInitializationEvent evt) {
// MinecraftForge.registerConnectionHandler(new ConnectionHandler());
ActionManager.registerTriggerProvider(new DefaultTriggerProvider());
ActionManager.registerActionProvider(new DefaultActionProvider());
@@ -294,7 +290,7 @@ public class BuildCraftCore {
}
- @PostInit
+ @EventHandler
public void postInit(FMLPostInitializationEvent event) {
for (Block block : Block.blocksList) {
if (block instanceof BlockFluid || block instanceof IPlantable) {
@@ -309,19 +305,19 @@ public class BuildCraftCore {
}
- @ServerStarting
- public void serverStarting(FMLServerStartingEvent event) {
+ @EventHandler
+ public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(new CommandBuildCraft());
}
@ForgeSubscribe
@SideOnly(Side.CLIENT)
public void textureHook(TextureStitchEvent.Pre event){
- if (event.map == Minecraft.getMinecraft().renderEngine.textureMapItems) {
+ if (event.map.textureType == 1) {
iconProvider = new CoreIconProvider();
iconProvider.registerIcons(event.map);
actionTriggerIconProvider.registerIcons(event.map);
- } else if (event.map == Minecraft.getMinecraft().renderEngine.textureMapBlocks) {
+ } else if (event.map.textureType == 0) {
BuildCraftCore.redLaserTexture = event.map.registerIcon("buildcraft:blockRedLaser");
BuildCraftCore.blueLaserTexture = event.map.registerIcon("buildcraft:blockBlueLaser");
BuildCraftCore.stripesLaserTexture = event.map.registerIcon("buildcraft:blockStripesLaser");
diff --git a/common/buildcraft/BuildCraftEnergy.java b/common/buildcraft/BuildCraftEnergy.java
index 85bf64ba..83fcc4ad 100644
--- a/common/buildcraft/BuildCraftEnergy.java
+++ b/common/buildcraft/BuildCraftEnergy.java
@@ -7,56 +7,33 @@
*/
package buildcraft;
-import java.util.TreeMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.Minecraft;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.biome.BiomeGenBase;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.common.Configuration;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.Property;
-import net.minecraftforge.event.ForgeSubscribe;
-import net.minecraftforge.liquids.LiquidContainerData;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidDictionary;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.api.fuels.IronEngineCoolant;
import buildcraft.api.fuels.IronEngineFuel;
import buildcraft.api.recipes.RefineryRecipe;
import buildcraft.core.BlockIndex;
import buildcraft.core.BlockSpring;
import buildcraft.core.DefaultProps;
-import buildcraft.core.ItemBuildCraft;
import buildcraft.core.Version;
import buildcraft.core.network.PacketHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.triggers.BCTrigger;
+import buildcraft.energy.BlockBuildcraftFluid;
import buildcraft.energy.BlockEngine;
-import buildcraft.energy.BlockOilFlowing;
-import buildcraft.energy.BlockOilStill;
import buildcraft.energy.BptBlockEngine;
import buildcraft.energy.EnergyProxy;
import buildcraft.energy.GuiHandler;
-import buildcraft.energy.ItemBucketOil;
+import buildcraft.energy.ItemBucketBuildcraft;
import buildcraft.energy.ItemEngine;
-import buildcraft.energy.OilBucketHandler;
+import buildcraft.energy.BucketHandler;
import buildcraft.energy.TileEngine.EnergyStage;
-import buildcraft.energy.worldgen.BiomeGenOilDesert;
-import buildcraft.energy.worldgen.OilPopulate;
import buildcraft.energy.TriggerEngineHeat;
+import buildcraft.energy.worldgen.BiomeGenOilDesert;
import buildcraft.energy.worldgen.BiomeGenOilOcean;
import buildcraft.energy.worldgen.BiomeInitializer;
+import buildcraft.energy.worldgen.OilPopulate;
import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.Init;
+import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.Mod.PostInit;
-import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
@@ -66,6 +43,22 @@ import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.TreeMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraftforge.client.event.TextureStitchEvent;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.Property;
+import net.minecraftforge.event.ForgeSubscribe;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidRegistry;
@Mod(name = "BuildCraft Energy", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Energy", dependencies = DefaultProps.DEPENDENCY_CORE)
@NetworkMod(channels = {DefaultProps.NET_CHANNEL_NAME}, packetHandler = PacketHandler.class, clientSideRequired = true, serverSideRequired = true)
@@ -77,13 +70,15 @@ public class BuildCraftEnergy {
public static BiomeGenOilDesert biomeOilDesert;
public static BiomeGenOilOcean biomeOilOcean;
public static BlockEngine engineBlock;
- public static Block oilMoving;
- public static Block oilStill;
+ private static Fluid buildcraftFluidOil;
+ private static Fluid buildcraftFluidFuel;
+ public static Fluid fluidOil;
+ public static Fluid fluidFuel;
+ public static Block blockOil;
+ public static Block blockFuel;
public static Item bucketOil;
public static Item bucketFuel;
public static Item fuel;
- public static LiquidStack oilLiquid;
- public static LiquidStack fuelLiquid;
public static boolean canOilBurn;
public static TreeMap saturationStored = new TreeMap();
public static BCTrigger triggerBlueEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_BLUE_ENGINE_HEAT, EnergyStage.BLUE);
@@ -93,16 +88,23 @@ public class BuildCraftEnergy {
@Instance("BuildCraft|Energy")
public static BuildCraftEnergy instance;
- @PreInit
+ @EventHandler
public void preInit(FMLPreInitializationEvent evt) {
Property engineId = BuildCraftCore.mainConfiguration.getBlock("engine.id", DefaultProps.ENGINE_ID);
- Property oilStillId = BuildCraftCore.mainConfiguration.getBlock("oilStill.id", DefaultProps.OIL_STILL_ID);
- Property oilMovingId = BuildCraftCore.mainConfiguration.getBlock("oilMoving.id", DefaultProps.OIL_MOVING_ID);
- Property bucketOilId = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_ITEM, "bucketOil.id", DefaultProps.BUCKET_OIL_ID);
- Property bucketFuelId = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_ITEM, "bucketFuel.id", DefaultProps.BUCKET_FUEL_ID);
- Property itemFuelId = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_ITEM, "fuel.id", DefaultProps.FUEL_ID);
- Property oilDesertBiomeId = BuildCraftCore.mainConfiguration.get("biomes", "oilDesert", 160);
- Property oilOceanBiomeId = BuildCraftCore.mainConfiguration.get("biomes", "oilOcean", 161);
+
+ // Update oil tag
+ int defaultOilId = DefaultProps.OIL_ID;
+ if (BuildCraftCore.mainConfiguration.hasKey(Configuration.CATEGORY_BLOCK, "oilStill.id")) {
+ defaultOilId = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_BLOCK, "oilStill.id", defaultOilId).getInt(defaultOilId);
+ BuildCraftCore.mainConfiguration.getCategory(Configuration.CATEGORY_BLOCK).remove("oilStill.id");
+ }
+ int blockOilId = BuildCraftCore.mainConfiguration.getBlock("oil.id", defaultOilId).getInt(defaultOilId);
+
+ int blockFuelId = BuildCraftCore.mainConfiguration.getBlock("fuel.id", DefaultProps.FUEL_ID).getInt(DefaultProps.FUEL_ID);
+ int bucketOilId = BuildCraftCore.mainConfiguration.getItem("bucketOil.id", DefaultProps.BUCKET_OIL_ID).getInt(DefaultProps.BUCKET_OIL_ID);
+ int bucketFuelId = BuildCraftCore.mainConfiguration.getItem("bucketFuel.id", DefaultProps.BUCKET_FUEL_ID).getInt(DefaultProps.BUCKET_FUEL_ID);
+ int oilDesertBiomeId = BuildCraftCore.mainConfiguration.get("biomes", "oilDesert", DefaultProps.BIOME_OIL_DESERT).getInt(DefaultProps.BIOME_OIL_DESERT);
+ int oilOceanBiomeId = BuildCraftCore.mainConfiguration.get("biomes", "oilOcean", DefaultProps.BIOME_OIL_OCEAN).getInt(DefaultProps.BIOME_OIL_OCEAN);
canOilBurn = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "burnOil", true, "Can oil burn?").getBoolean(true);
BuildCraftCore.mainConfiguration.save();
@@ -113,20 +115,18 @@ public class BuildCraftEnergy {
}
}
- int oilDesertId = oilDesertBiomeId.getInt();
- if (oilDesertId > 0) {
- if (BiomeGenBase.biomeList[oilDesertId] != null) {
- throw new BiomeIdException("oilDesert", oilDesertId);
+ if (oilDesertBiomeId > 0) {
+ if (BiomeGenBase.biomeList[oilDesertBiomeId] != null) {
+ throw new BiomeIdException("oilDesert", oilDesertBiomeId);
}
- biomeOilDesert = BiomeGenOilDesert.makeBiome(oilDesertId);
+ biomeOilDesert = BiomeGenOilDesert.makeBiome(oilDesertBiomeId);
}
- int oilOceanId = oilOceanBiomeId.getInt();
- if (oilOceanId > 0) {
- if (BiomeGenBase.biomeList[oilOceanId] != null) {
- throw new BiomeIdException("oilOcean", oilOceanId);
+ if (oilOceanBiomeId > 0) {
+ if (BiomeGenBase.biomeList[oilOceanBiomeId] != null) {
+ throw new BiomeIdException("oilOcean", oilOceanBiomeId);
}
- biomeOilOcean = BiomeGenOilOcean.makeBiome(oilOceanId);
+ biomeOilOcean = BiomeGenOilOcean.makeBiome(oilOceanBiomeId);
}
@@ -137,58 +137,79 @@ public class BuildCraftEnergy {
LanguageRegistry.addName(new ItemStack(engineBlock, 1, 1), "Steam Engine");
LanguageRegistry.addName(new ItemStack(engineBlock, 1, 2), "Combustion Engine");
- oilStill = (new BlockOilStill(oilStillId.getInt(DefaultProps.OIL_STILL_ID), Material.water)).setUnlocalizedName("oil");
- CoreProxy.proxy.addName(oilStill.setUnlocalizedName("oilStill"), "Oil");
- CoreProxy.proxy.registerBlock(oilStill);
- Property oilSpringsProp = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "oilSprings", true);
- spawnOilSprings = oilSpringsProp.getBoolean(true);
- BlockSpring.EnumSpring.OIL.canGen = spawnOilSprings;
- BlockSpring.EnumSpring.OIL.liquidBlock = oilStill;
-
- oilMoving = (new BlockOilFlowing(oilMovingId.getInt(DefaultProps.OIL_MOVING_ID), Material.water)).setUnlocalizedName("oil");
- CoreProxy.proxy.addName(oilMoving.setUnlocalizedName("oilMoving"), "Oil");
- CoreProxy.proxy.registerBlock(oilMoving);
// Oil and fuel
- if (oilMoving.blockID + 1 != oilStill.blockID) {
- throw new RuntimeException("Oil Still id must be Oil Moving id + 1");
+ buildcraftFluidOil = new Fluid("oil");
+ FluidRegistry.registerFluid(buildcraftFluidOil);
+ fluidOil = FluidRegistry.getFluid("oil");
+
+ buildcraftFluidFuel = new Fluid("fuel");
+ FluidRegistry.registerFluid(buildcraftFluidFuel);
+ fluidFuel = FluidRegistry.getFluid("fuel");
+
+ if (fluidOil.getBlockID() == -1) {
+ if (blockOilId > 0) {
+ blockOil = new BlockBuildcraftFluid(blockOilId, fluidOil, Material.water);
+ blockOil.setUnlocalizedName("blockOil");
+ CoreProxy.proxy.addName(blockOil, "Oil");
+ CoreProxy.proxy.registerBlock(blockOil);
+ fluidOil.setBlockID(blockOil);
+ }
+ } else {
+ blockOil = Block.blocksList[fluidOil.getBlockID()];
}
- fuel = new ItemBuildCraft(itemFuelId.getInt(DefaultProps.FUEL_ID)).setUnlocalizedName("fuel");
- LanguageRegistry.addName(fuel, "Fuel");
+ if (blockOil != null) {
+ Property oilSpringsProp = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "oilSprings", true);
+ spawnOilSprings = oilSpringsProp.getBoolean(true);
+ BlockSpring.EnumSpring.OIL.canGen = spawnOilSprings;
+ BlockSpring.EnumSpring.OIL.liquidBlock = blockOil;
+ }
- MinecraftForge.EVENT_BUS.register(new OilBucketHandler());
+ if (fluidFuel.getBlockID() == -1) {
+ if (blockFuelId > 0) {
+ blockFuel = new BlockBuildcraftFluid(blockFuelId, fluidFuel, Material.water);
+ blockFuel.setUnlocalizedName("blockFuel");
+ CoreProxy.proxy.addName(blockFuel, "Fuel");
+ CoreProxy.proxy.registerBlock(blockFuel);
+ fluidFuel.setBlockID(blockFuel);
+ }
+ } else {
+ blockFuel = Block.blocksList[fluidOil.getBlockID()];
+ }
- bucketOil = (new ItemBucketOil(bucketOilId.getInt(DefaultProps.BUCKET_OIL_ID))).setUnlocalizedName("bucketOil").setContainerItem(Item.bucketEmpty);
- LanguageRegistry.addName(bucketOil, "Oil Bucket");
+ // Buckets
+ MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
- bucketFuel = new ItemBuildCraft(bucketFuelId.getInt()).setUnlocalizedName("bucketFuel").setContainerItem(Item.bucketEmpty);
- bucketFuel.setMaxStackSize(1);
- LanguageRegistry.addName(bucketFuel, "Fuel Bucket");
+ if (blockOil != null && bucketOilId > 0) {
+ bucketOil = new ItemBucketBuildcraft(bucketOilId, blockOil.blockID);
+ bucketOil.setUnlocalizedName("bucketOil").setContainerItem(Item.bucketEmpty);
+ LanguageRegistry.addName(bucketOil, "Oil Bucket");
+ FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluidStack("oil", FluidContainerRegistry.BUCKET_VOLUME), new ItemStack(bucketOil), new ItemStack(Item.bucketEmpty));
+ }
- oilLiquid = LiquidDictionary.getOrCreateLiquid("Oil", new LiquidStack(oilStill, 1));
- fuelLiquid = LiquidDictionary.getOrCreateLiquid("Fuel", new LiquidStack(fuel, 1));
+ if (blockFuel != null && bucketFuelId > 0) {
+ bucketFuel = new ItemBucketBuildcraft(bucketFuelId, blockFuel.blockID);
+ bucketFuel.setUnlocalizedName("bucketFuel").setContainerItem(Item.bucketEmpty);
+ LanguageRegistry.addName(bucketFuel, "Fuel Bucket");
+ FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluidStack("fuel", FluidContainerRegistry.BUCKET_VOLUME), new ItemStack(bucketFuel), new ItemStack(Item.bucketEmpty));
+ }
- RefineryRecipe.registerRefineryRecipe(new RefineryRecipe(LiquidDictionary.getLiquid("Oil", 1), null, LiquidDictionary.getLiquid("Fuel", 1), 12, 1));
+ RefineryRecipe.registerRefineryRecipe(new RefineryRecipe(FluidRegistry.getFluid("oil"), null, FluidRegistry.getFluid("fuel"), 12, 1));
// Iron Engine Fuels
- IronEngineFuel.fuels.add(new IronEngineFuel(Block.lavaStill.blockID, 1, 20000));
- IronEngineFuel.fuels.add(new IronEngineFuel(LiquidDictionary.getLiquid("Oil", LiquidContainerRegistry.BUCKET_VOLUME), 3, 20000));
- IronEngineFuel.fuels.add(new IronEngineFuel(LiquidDictionary.getLiquid("Fuel", LiquidContainerRegistry.BUCKET_VOLUME), 6, 100000));
+ IronEngineFuel.addFuel(FluidRegistry.getFluid("lava"), 1, 20000);
+ IronEngineFuel.addFuel(FluidRegistry.getFluid("oil"), 3, 20000);
+ IronEngineFuel.addFuel(FluidRegistry.getFluid("fuel"), 6, 100000);
// Iron Engine Coolants
- IronEngineCoolant.addCoolant(new LiquidStack(Block.waterStill, LiquidContainerRegistry.BUCKET_VOLUME), 0.0023F);
- IronEngineCoolant.addCoolant(Block.ice.blockID, 0, new LiquidStack(Block.waterStill, LiquidContainerRegistry.BUCKET_VOLUME * 2));
-
- LiquidContainerRegistry.registerLiquid(new LiquidContainerData(LiquidDictionary.getLiquid("Oil", LiquidContainerRegistry.BUCKET_VOLUME), new ItemStack(
- bucketOil), new ItemStack(Item.bucketEmpty)));
- LiquidContainerRegistry.registerLiquid(new LiquidContainerData(LiquidDictionary.getLiquid("Fuel", LiquidContainerRegistry.BUCKET_VOLUME),
- new ItemStack(bucketFuel), new ItemStack(Item.bucketEmpty)));
+ IronEngineCoolant.addCoolant(FluidRegistry.getFluid("water"), 0.0023F);
+ IronEngineCoolant.addCoolant(Block.ice.blockID, 0, FluidRegistry.getFluidStack("water", FluidContainerRegistry.BUCKET_VOLUME * 2));
MinecraftForge.EVENT_BUS.register(this);
}
- @Init
+ @EventHandler
public void init(FMLInitializationEvent evt) {
NetworkRegistry.instance().registerGuiHandler(instance, new GuiHandler());
@@ -201,7 +222,7 @@ public class BuildCraftEnergy {
EnergyProxy.proxy.registerTileEntities();
}
- @PostInit
+ @EventHandler
public void postInit(FMLPostInitializationEvent evt) {
if (BuildCraftCore.modifyWorld) {
MinecraftForge.EVENT_BUS.register(OilPopulate.INSTANCE);
@@ -212,10 +233,9 @@ public class BuildCraftEnergy {
@ForgeSubscribe
@SideOnly(Side.CLIENT)
public void textureHook(TextureStitchEvent.Post event) {
- if (event.map == Minecraft.getMinecraft().renderEngine.textureMapItems) {
- LiquidDictionary.getCanonicalLiquid("Fuel").setRenderingIcon(fuel.getIconFromDamage(0)).setTextureSheet("/gui/items.png");
- } else {
- LiquidDictionary.getCanonicalLiquid("Oil").setRenderingIcon(oilStill.getBlockTextureFromSide(1)).setTextureSheet("/terrain.png");
+ if (event.map.textureType == 0) {
+ buildcraftFluidOil.setIcons(blockOil.getBlockTextureFromSide(1));
+ buildcraftFluidFuel.setIcons(blockFuel.getBlockTextureFromSide(1));
}
}
diff --git a/common/buildcraft/BuildCraftFactory.java b/common/buildcraft/BuildCraftFactory.java
index a4733148..36237f0b 100644
--- a/common/buildcraft/BuildCraftFactory.java
+++ b/common/buildcraft/BuildCraftFactory.java
@@ -8,21 +8,6 @@
package buildcraft;
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.common.Configuration;
-import net.minecraftforge.common.ForgeChunkManager;
-import net.minecraftforge.common.ForgeChunkManager.Ticket;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.Property;
-import net.minecraftforge.event.ForgeSubscribe;
import buildcraft.core.DefaultProps;
import buildcraft.core.Version;
import buildcraft.core.proxy.CoreProxy;
@@ -51,14 +36,10 @@ import buildcraft.factory.TileQuarry;
import buildcraft.factory.TileRefinery;
import buildcraft.factory.TileTank;
import buildcraft.factory.network.PacketHandlerFactory;
-
import com.google.common.collect.Lists;
-
import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.Init;
+import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.Mod.PostInit;
-import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@@ -66,6 +47,19 @@ import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.TextureStitchEvent;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.ForgeChunkManager;
+import net.minecraftforge.common.ForgeChunkManager.Ticket;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.Property;
+import net.minecraftforge.event.ForgeSubscribe;
@Mod(name = "BuildCraft Factory", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Factory", dependencies = DefaultProps.DEPENDENCY_CORE)
@NetworkMod(channels = { DefaultProps.NET_CHANNEL_NAME }, packetHandler = PacketHandlerFactory.class, clientSideRequired = true, serverSideRequired = true)
@@ -83,13 +77,13 @@ public class BuildCraftFactory {
public static boolean hopperDisabled;
public static boolean allowMining = true;
-
+
public static PumpDimensionList pumpDimensionList;
@Instance("BuildCraft|Factory")
public static BuildCraftFactory instance;
- @PostInit
+ @EventHandler
public void postInit(FMLPostInitializationEvent evt) {
FactoryProxy.proxy.initializeNEIIntegration();
ForgeChunkManager.setForcedChunkLoadingCallback(instance, new QuarryChunkloadCallback());
@@ -126,7 +120,7 @@ public class BuildCraftFactory {
}
- @Init
+ @EventHandler
public void load(FMLInitializationEvent evt) {
NetworkRegistry.instance().registerGuiHandler(instance, new GuiHandler());
@@ -155,10 +149,10 @@ public class BuildCraftFactory {
}
}
- @PreInit
+ @EventHandler
public void initialize(FMLPreInitializationEvent evt) {
allowMining = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "mining.enabled", true).getBoolean(true);
-
+
pumpDimensionList = new PumpDimensionList(BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "pumping.controlList", DefaultProps.PUMP_DIMENSION_LIST).getString());
Property miningWellId = BuildCraftCore.mainConfiguration.getBlock("miningWell.id", DefaultProps.MINING_WELL_ID);
@@ -246,7 +240,7 @@ public class BuildCraftFactory {
Character.valueOf('i'), Item.ingotIron,
Character.valueOf('T'), tankBlock,
Character.valueOf('g'), BuildCraftCore.ironGearItem,
- Character.valueOf('p'), BuildCraftTransport.pipeLiquidsGold });
+ Character.valueOf('p'), BuildCraftTransport.pipeFluidsGold });
}
CoreProxy.proxy.addCraftingRecipe(new ItemStack(autoWorkbenchBlock), new Object[] { " g ", "gwg", " g ", Character.valueOf('w'), Block.workbench,
@@ -271,7 +265,7 @@ public class BuildCraftFactory {
@ForgeSubscribe
@SideOnly(Side.CLIENT)
public void loadTextures(TextureStitchEvent.Pre evt) {
- if (evt.map == Minecraft.getMinecraft().renderEngine.textureMapBlocks) {
+ if (evt.map.textureType == 0) {
TextureMap terrainTextures = evt.map;
FactoryProxyClient.pumpTexture = terrainTextures.registerIcon("buildcraft:pump_tube");
FactoryProxyClient.drillTexture = terrainTextures.registerIcon("buildcraft:blockDrillTexture");
diff --git a/common/buildcraft/BuildCraftSilicon.java b/common/buildcraft/BuildCraftSilicon.java
index 00e15c8d..a936e587 100644
--- a/common/buildcraft/BuildCraftSilicon.java
+++ b/common/buildcraft/BuildCraftSilicon.java
@@ -8,10 +8,6 @@
package buildcraft;
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.Property;
import buildcraft.api.bptblocks.BptBlockInventory;
import buildcraft.api.bptblocks.BptBlockRotateMeta;
import buildcraft.api.recipes.AssemblyRecipe;
@@ -19,8 +15,8 @@ import buildcraft.core.DefaultProps;
import buildcraft.core.ItemRedstoneChipset;
import buildcraft.core.Version;
import buildcraft.core.proxy.CoreProxy;
-import buildcraft.silicon.BlockLaserTable;
import buildcraft.silicon.BlockLaser;
+import buildcraft.silicon.BlockLaserTable;
import buildcraft.silicon.GuiHandler;
import buildcraft.silicon.ItemLaserTable;
import buildcraft.silicon.SiliconProxy;
@@ -36,8 +32,11 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
-import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.Property;
@Mod(name = "BuildCraft Silicon", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Silicon", dependencies = DefaultProps.DEPENDENCY_TRANSPORT)
@NetworkMod(channels = { DefaultProps.NET_CHANNEL_NAME }, packetHandler = PacketHandlerSilicon.class, clientSideRequired = true, serverSideRequired = true)
diff --git a/common/buildcraft/BuildCraftTransport.java b/common/buildcraft/BuildCraftTransport.java
index 6d3f9ca3..bc18435e 100644
--- a/common/buildcraft/BuildCraftTransport.java
+++ b/common/buildcraft/BuildCraftTransport.java
@@ -7,16 +7,6 @@
*/
package buildcraft;
-import java.util.LinkedList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraftforge.common.Configuration;
-import net.minecraftforge.common.Property;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.recipes.AssemblyRecipe;
@@ -49,6 +39,14 @@ import buildcraft.transport.blueprints.BptItemPipeEmerald;
import buildcraft.transport.blueprints.BptItemPipeIron;
import buildcraft.transport.blueprints.BptItemPipeWooden;
import buildcraft.transport.network.PacketHandlerTransport;
+import buildcraft.transport.pipes.PipeFluidsCobblestone;
+import buildcraft.transport.pipes.PipeFluidsEmerald;
+import buildcraft.transport.pipes.PipeFluidsGold;
+import buildcraft.transport.pipes.PipeFluidsIron;
+import buildcraft.transport.pipes.PipeFluidsSandstone;
+import buildcraft.transport.pipes.PipeFluidsStone;
+import buildcraft.transport.pipes.PipeFluidsVoid;
+import buildcraft.transport.pipes.PipeFluidsWood;
import buildcraft.transport.pipes.PipeItemsCobblestone;
import buildcraft.transport.pipes.PipeItemsDiamond;
import buildcraft.transport.pipes.PipeItemsEmerald;
@@ -60,14 +58,6 @@ import buildcraft.transport.pipes.PipeItemsSandstone;
import buildcraft.transport.pipes.PipeItemsStone;
import buildcraft.transport.pipes.PipeItemsVoid;
import buildcraft.transport.pipes.PipeItemsWood;
-import buildcraft.transport.pipes.PipeLiquidsCobblestone;
-import buildcraft.transport.pipes.PipeLiquidsEmerald;
-import buildcraft.transport.pipes.PipeLiquidsGold;
-import buildcraft.transport.pipes.PipeLiquidsIron;
-import buildcraft.transport.pipes.PipeLiquidsSandstone;
-import buildcraft.transport.pipes.PipeLiquidsStone;
-import buildcraft.transport.pipes.PipeLiquidsVoid;
-import buildcraft.transport.pipes.PipeLiquidsWood;
import buildcraft.transport.pipes.PipePowerCobblestone;
import buildcraft.transport.pipes.PipePowerDiamond;
import buildcraft.transport.pipes.PipePowerGold;
@@ -82,11 +72,9 @@ import buildcraft.transport.triggers.TriggerFilteredBufferInventoryLevel;
import buildcraft.transport.triggers.TriggerPipeContents;
import buildcraft.transport.triggers.TriggerPipeContents.Kind;
import buildcraft.transport.triggers.TriggerPipeSignal;
-
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import com.google.common.primitives.Ints;
-
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.IMCCallback;
import cpw.mods.fml.common.Mod.Init;
@@ -102,13 +90,21 @@ import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
+import java.util.LinkedList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.Property;
@Mod(version = Version.VERSION, modid = "BuildCraft|Transport", name = "Buildcraft Transport", dependencies = DefaultProps.DEPENDENCY_CORE)
@NetworkMod(channels = {DefaultProps.NET_CHANNEL_NAME}, packetHandler = PacketHandlerTransport.class)
public class BuildCraftTransport {
public static BlockGenericPipe genericPipeBlock;
- public static int maxItemsInPipes;
public static float pipeDurability;
public static Item pipeWaterproof;
public static Item pipeGate;
@@ -128,21 +124,21 @@ public class BuildCraftTransport {
public static Item pipeItemsObsidian;
public static Item pipeItemsVoid;
public static Item pipeItemsSandstone;
- public static Item pipeLiquidsWood;
- public static Item pipeLiquidsCobblestone;
- public static Item pipeLiquidsStone;
- public static Item pipeLiquidsIron;
- public static Item pipeLiquidsGold;
- public static Item pipeLiquidsVoid;
- public static Item pipeLiquidsSandstone;
- public static Item pipeLiquidsEmerald;
+ public static Item pipeFluidsWood;
+ public static Item pipeFluidsCobblestone;
+ public static Item pipeFluidsStone;
+ public static Item pipeFluidsIron;
+ public static Item pipeFluidsGold;
+ public static Item pipeFluidsVoid;
+ public static Item pipeFluidsSandstone;
+ public static Item pipeFluidsEmerald;
public static Item pipePowerWood;
public static Item pipePowerCobblestone;
public static Item pipePowerStone;
public static Item pipePowerQuartz;
public static Item pipePowerGold;
public static Item pipePowerDiamond;
- public static Item facadeItem;
+ public static ItemFacade facadeItem;
public static Item plugItem;
public static BlockFilteredBuffer filteredBufferBlock;
// public static Item pipeItemsStipes;
@@ -150,7 +146,7 @@ public class BuildCraftTransport {
public static int groupItemsTrigger;
public static BCTrigger triggerPipeEmpty = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_EMPTY, Kind.Empty);
public static BCTrigger triggerPipeItems = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_ITEMS, Kind.ContainsItems);
- public static BCTrigger triggerPipeLiquids = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_LIQUIDS, Kind.ContainsLiquids);
+ public static BCTrigger triggerPipeFluids = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_LIQUIDS, Kind.ContainsFluids);
public static BCTrigger triggerPipeContainsEnergy = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_CONTAINS_ENERGY, Kind.ContainsEnergy);
public static BCTrigger triggerPipeRequestsEnergy = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_REQUESTS_ENERGY, Kind.RequestsEnergy);
public static BCTrigger triggerPipeTooMuchEnergy = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_TOO_MUCH_ENERGY, Kind.TooMuchEnergy);
@@ -200,7 +196,7 @@ public class BuildCraftTransport {
}
@Override
- public boolean canExtractLiquids(Object extractor, World world, int i, int j, int k) {
+ public boolean canExtractFluids(Object extractor, World world, int i, int j, int k) {
return testStrings(liquids, world, i, j, k);
}
@@ -242,26 +238,20 @@ public class BuildCraftTransport {
} else
excludedItemBlocks = new String[0];
- Property exclusionLiquidList = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_BLOCK, "woodenPipe.liquid.exclusion", new String[0]);
+ Property exclusionFluidList = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_BLOCK, "woodenPipe.liquid.exclusion", new String[0]);
- String[] excludedLiquidBlocks = exclusionLiquidList.getStringList();
- if (excludedLiquidBlocks != null) {
- for (int j = 0; j < excludedLiquidBlocks.length; ++j) {
- excludedLiquidBlocks[j] = excludedLiquidBlocks[j].trim();
+ String[] excludedFluidBlocks = exclusionFluidList.getStringList();
+ if (excludedFluidBlocks != null) {
+ for (int j = 0; j < excludedFluidBlocks.length; ++j) {
+ excludedFluidBlocks[j] = excludedFluidBlocks[j].trim();
}
} else
- excludedLiquidBlocks = new String[0];
+ excludedFluidBlocks = new String[0];
- PipeManager.registerExtractionHandler(new ExtractionHandler(excludedItemBlocks, excludedLiquidBlocks));
-
- Property maxItemInPipesProp = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "pipes.maxItems", 100);
- maxItemInPipesProp.comment = "pipes containing more than this amount of items will explode, not dropping any item";
-
- maxItemsInPipes = maxItemInPipesProp.getInt();
+ PipeManager.registerExtractionHandler(new ExtractionHandler(excludedItemBlocks, excludedFluidBlocks));
Property groupItemsTriggerProp = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "pipes.groupItemsTrigger", 32);
groupItemsTriggerProp.comment = "when reaching this amount of objects in a pipes, items will be automatically grouped";
-
groupItemsTrigger = groupItemsTriggerProp.getInt();
@@ -289,14 +279,14 @@ public class BuildCraftTransport {
pipeItemsSandstone = buildPipe(DefaultProps.PIPE_ITEMS_SANDSTONE_ID, PipeItemsSandstone.class, "Sandstone Transport Pipe", Block.sandStone, Block.glass, Block.sandStone);
pipeItemsVoid = buildPipe(DefaultProps.PIPE_ITEMS_VOID_ID, PipeItemsVoid.class, "Void Transport Pipe", "dyeBlack", Block.glass, Item.redstone);
- pipeLiquidsWood = buildPipe(DefaultProps.PIPE_LIQUIDS_WOOD_ID, PipeLiquidsWood.class, "Wooden Waterproof Pipe", pipeWaterproof, pipeItemsWood);
- pipeLiquidsCobblestone = buildPipe(DefaultProps.PIPE_LIQUIDS_COBBLESTONE_ID, PipeLiquidsCobblestone.class, "Cobblestone Waterproof Pipe", pipeWaterproof, pipeItemsCobblestone);
- pipeLiquidsStone = buildPipe(DefaultProps.PIPE_LIQUIDS_STONE_ID, PipeLiquidsStone.class, "Stone Waterproof Pipe", pipeWaterproof, pipeItemsStone);
- pipeLiquidsIron = buildPipe(DefaultProps.PIPE_LIQUIDS_IRON_ID, PipeLiquidsIron.class, "Iron Waterproof Pipe", pipeWaterproof, pipeItemsIron);
- pipeLiquidsGold = buildPipe(DefaultProps.PIPE_LIQUIDS_GOLD_ID, PipeLiquidsGold.class, "Golden Waterproof Pipe", pipeWaterproof, pipeItemsGold);
- pipeLiquidsEmerald = buildPipe(DefaultProps.PIPE_LIQUIDS_EMERALD_ID, PipeLiquidsEmerald.class, "Emerald Waterproof Pipe", pipeWaterproof, pipeItemsEmerald);
- pipeLiquidsSandstone = buildPipe(DefaultProps.PIPE_LIQUIDS_SANDSTONE_ID, PipeLiquidsSandstone.class, "Sandstone Waterproof Pipe", pipeWaterproof, pipeItemsSandstone);
- pipeLiquidsVoid = buildPipe(DefaultProps.PIPE_LIQUIDS_VOID_ID, PipeLiquidsVoid.class, "Void Waterproof Pipe", pipeWaterproof, pipeItemsVoid);
+ pipeFluidsWood = buildPipe(DefaultProps.PIPE_LIQUIDS_WOOD_ID, PipeFluidsWood.class, "Wooden Waterproof Pipe", pipeWaterproof, pipeItemsWood);
+ pipeFluidsCobblestone = buildPipe(DefaultProps.PIPE_LIQUIDS_COBBLESTONE_ID, PipeFluidsCobblestone.class, "Cobblestone Waterproof Pipe", pipeWaterproof, pipeItemsCobblestone);
+ pipeFluidsStone = buildPipe(DefaultProps.PIPE_LIQUIDS_STONE_ID, PipeFluidsStone.class, "Stone Waterproof Pipe", pipeWaterproof, pipeItemsStone);
+ pipeFluidsIron = buildPipe(DefaultProps.PIPE_LIQUIDS_IRON_ID, PipeFluidsIron.class, "Iron Waterproof Pipe", pipeWaterproof, pipeItemsIron);
+ pipeFluidsGold = buildPipe(DefaultProps.PIPE_LIQUIDS_GOLD_ID, PipeFluidsGold.class, "Golden Waterproof Pipe", pipeWaterproof, pipeItemsGold);
+ pipeFluidsEmerald = buildPipe(DefaultProps.PIPE_LIQUIDS_EMERALD_ID, PipeFluidsEmerald.class, "Emerald Waterproof Pipe", pipeWaterproof, pipeItemsEmerald);
+ pipeFluidsSandstone = buildPipe(DefaultProps.PIPE_LIQUIDS_SANDSTONE_ID, PipeFluidsSandstone.class, "Sandstone Waterproof Pipe", pipeWaterproof, pipeItemsSandstone);
+ pipeFluidsVoid = buildPipe(DefaultProps.PIPE_LIQUIDS_VOID_ID, PipeFluidsVoid.class, "Void Waterproof Pipe", pipeWaterproof, pipeItemsVoid);
pipePowerWood = buildPipe(DefaultProps.PIPE_POWER_WOOD_ID, PipePowerWood.class, "Wooden Conductive Pipe", Item.redstone, pipeItemsWood);
pipePowerCobblestone = buildPipe(DefaultProps.PIPE_POWER_COBBLESTONE_ID, PipePowerCobblestone.class, "Cobblestone Conductive Pipe", Item.redstone, pipeItemsCobblestone);
@@ -355,7 +345,7 @@ public class BuildCraftTransport {
Property pipePlugId = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_ITEM, "pipePlug.id", DefaultProps.PIPE_PLUG_ID);
plugItem = new ItemPlug(pipePlugId.getInt());
plugItem.setUnlocalizedName("pipePlug");
-
+
Property filteredBufferId = BuildCraftCore.mainConfiguration.getBlock("filteredBuffer.id", DefaultProps.FILTERED_BUFFER);
filteredBufferBlock = new BlockFilteredBuffer(filteredBufferId.getInt());
CoreProxy.proxy.registerBlock(filteredBufferBlock.setUnlocalizedName("filteredBufferBlock"));
@@ -390,9 +380,9 @@ public class BuildCraftTransport {
new BptBlockPipe(genericPipeBlock.blockID);
BuildCraftCore.itemBptProps[pipeItemsWood.itemID] = new BptItemPipeWooden();
- BuildCraftCore.itemBptProps[pipeLiquidsWood.itemID] = new BptItemPipeWooden();
+ BuildCraftCore.itemBptProps[pipeFluidsWood.itemID] = new BptItemPipeWooden();
BuildCraftCore.itemBptProps[pipeItemsIron.itemID] = new BptItemPipeIron();
- BuildCraftCore.itemBptProps[pipeLiquidsIron.itemID] = new BptItemPipeIron();
+ BuildCraftCore.itemBptProps[pipeFluidsIron.itemID] = new BptItemPipeIron();
BuildCraftCore.itemBptProps[pipeItemsDiamond.itemID] = new BptItemPipeDiamond();
BuildCraftCore.itemBptProps[pipeItemsEmerald.itemID] = new BptItemPipeEmerald();
@@ -429,6 +419,9 @@ public class BuildCraftTransport {
new Object[] { "wdw", "wcw", "wpw", Character.valueOf('w'), "plankWood", Character.valueOf('d'),
BuildCraftTransport.pipeItemsDiamond, Character.valueOf('c'), Block.chest, Character.valueOf('p'),
Block.pistonBase });
+
+ //Facade turning helper
+ GameRegistry.addRecipe(facadeItem.new FacadeRecipe());
}
@IMCCallback
diff --git a/common/buildcraft/api/blueprints/BlueprintManager.java b/common/buildcraft/api/blueprints/BlueprintManager.java
index 9bab365b..c71b710e 100644
--- a/common/buildcraft/api/blueprints/BlueprintManager.java
+++ b/common/buildcraft/api/blueprints/BlueprintManager.java
@@ -1,9 +1,9 @@
package buildcraft.api.blueprints;
+import buildcraft.api.core.BuildCraftAPI;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import buildcraft.api.core.BuildCraftAPI;
@Deprecated
public class BlueprintManager {
diff --git a/common/buildcraft/api/blueprints/BptBlock.java b/common/buildcraft/api/blueprints/BptBlock.java
index 3e281012..4f48d35e 100644
--- a/common/buildcraft/api/blueprints/BptBlock.java
+++ b/common/buildcraft/api/blueprints/BptBlock.java
@@ -9,15 +9,14 @@
package buildcraft.api.blueprints;
+import buildcraft.api.core.BuildCraftAPI;
import java.util.ArrayList;
import java.util.LinkedList;
-
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
-import buildcraft.api.core.BuildCraftAPI;
/**
* This class allow to specify specific behavior for blocks stored in blueprints:
diff --git a/common/buildcraft/api/blueprints/BptBlockUtils.java b/common/buildcraft/api/blueprints/BptBlockUtils.java
index a2d4ec19..a46d9b12 100644
--- a/common/buildcraft/api/blueprints/BptBlockUtils.java
+++ b/common/buildcraft/api/blueprints/BptBlockUtils.java
@@ -10,7 +10,6 @@
package buildcraft.api.blueprints;
import java.util.LinkedList;
-
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
diff --git a/common/buildcraft/api/blueprints/BptSlotInfo.java b/common/buildcraft/api/blueprints/BptSlotInfo.java
index 32d5962f..799a3b4f 100644
--- a/common/buildcraft/api/blueprints/BptSlotInfo.java
+++ b/common/buildcraft/api/blueprints/BptSlotInfo.java
@@ -10,7 +10,6 @@
package buildcraft.api.blueprints;
import java.util.LinkedList;
-
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
diff --git a/common/buildcraft/api/blueprints/IBptContext.java b/common/buildcraft/api/blueprints/IBptContext.java
index 4b8c6715..8498bfd3 100644
--- a/common/buildcraft/api/blueprints/IBptContext.java
+++ b/common/buildcraft/api/blueprints/IBptContext.java
@@ -9,10 +9,10 @@
package buildcraft.api.blueprints;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
import buildcraft.api.core.IBox;
import buildcraft.api.core.Position;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
/**
* This interface provide contextual information when building or initializing blueprint slots.
diff --git a/common/buildcraft/api/bptblocks/BptBlockBed.java b/common/buildcraft/api/bptblocks/BptBlockBed.java
index 904f1a9f..e2dae05c 100644
--- a/common/buildcraft/api/bptblocks/BptBlockBed.java
+++ b/common/buildcraft/api/bptblocks/BptBlockBed.java
@@ -9,13 +9,12 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockBed extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockCustomStack.java b/common/buildcraft/api/bptblocks/BptBlockCustomStack.java
index 959b7eba..79aef15c 100644
--- a/common/buildcraft/api/bptblocks/BptBlockCustomStack.java
+++ b/common/buildcraft/api/bptblocks/BptBlockCustomStack.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockCustomStack extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockDelegate.java b/common/buildcraft/api/bptblocks/BptBlockDelegate.java
index c6b5ad33..035dc556 100644
--- a/common/buildcraft/api/bptblocks/BptBlockDelegate.java
+++ b/common/buildcraft/api/bptblocks/BptBlockDelegate.java
@@ -9,13 +9,12 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BlueprintManager;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockDelegate extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockDirt.java b/common/buildcraft/api/bptblocks/BptBlockDirt.java
index 61643d64..365cbc45 100644
--- a/common/buildcraft/api/bptblocks/BptBlockDirt.java
+++ b/common/buildcraft/api/bptblocks/BptBlockDirt.java
@@ -9,13 +9,12 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockDirt extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockDoor.java b/common/buildcraft/api/bptblocks/BptBlockDoor.java
index ffd0bbef..196e83b3 100644
--- a/common/buildcraft/api/bptblocks/BptBlockDoor.java
+++ b/common/buildcraft/api/bptblocks/BptBlockDoor.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockDoor extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockLiquid.java b/common/buildcraft/api/bptblocks/BptBlockFluid.java
similarity index 92%
rename from common/buildcraft/api/bptblocks/BptBlockLiquid.java
rename to common/buildcraft/api/bptblocks/BptBlockFluid.java
index 49172957..1769c394 100644
--- a/common/buildcraft/api/bptblocks/BptBlockLiquid.java
+++ b/common/buildcraft/api/bptblocks/BptBlockFluid.java
@@ -9,19 +9,18 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
-public class BptBlockLiquid extends BptBlock {
+public class BptBlockFluid extends BptBlock {
private final ItemStack bucketStack;
- public BptBlockLiquid(int blockId, ItemStack bucketStack) {
+ public BptBlockFluid(int blockId, ItemStack bucketStack) {
super(blockId);
this.bucketStack = bucketStack;
diff --git a/common/buildcraft/api/bptblocks/BptBlockIgnore.java b/common/buildcraft/api/bptblocks/BptBlockIgnore.java
index dd58463d..12a058bc 100644
--- a/common/buildcraft/api/bptblocks/BptBlockIgnore.java
+++ b/common/buildcraft/api/bptblocks/BptBlockIgnore.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockIgnore extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java b/common/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java
index 0e490463..7f39f637 100644
--- a/common/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java
+++ b/common/buildcraft/api/bptblocks/BptBlockIgnoreMeta.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockIgnoreMeta extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockInventory.java b/common/buildcraft/api/bptblocks/BptBlockInventory.java
index e4ebf709..0cebe58f 100644
--- a/common/buildcraft/api/bptblocks/BptBlockInventory.java
+++ b/common/buildcraft/api/bptblocks/BptBlockInventory.java
@@ -1,9 +1,9 @@
package buildcraft.api.bptblocks;
-import net.minecraft.inventory.IInventory;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import net.minecraft.inventory.IInventory;
@Deprecated
public class BptBlockInventory extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockLever.java b/common/buildcraft/api/bptblocks/BptBlockLever.java
index 0a1eab23..b9a8e1c4 100644
--- a/common/buildcraft/api/bptblocks/BptBlockLever.java
+++ b/common/buildcraft/api/bptblocks/BptBlockLever.java
@@ -9,11 +9,10 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockLever extends BptBlockWallSide {
diff --git a/common/buildcraft/api/bptblocks/BptBlockPumpkin.java b/common/buildcraft/api/bptblocks/BptBlockPumpkin.java
index 43473f98..16049346 100644
--- a/common/buildcraft/api/bptblocks/BptBlockPumpkin.java
+++ b/common/buildcraft/api/bptblocks/BptBlockPumpkin.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockPumpkin extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java b/common/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java
index 67ca97c3..8ac4f023 100644
--- a/common/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java
+++ b/common/buildcraft/api/bptblocks/BptBlockRedstoneRepeater.java
@@ -9,13 +9,12 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockRedstoneRepeater extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockRotateInventory.java b/common/buildcraft/api/bptblocks/BptBlockRotateInventory.java
index 319fcf7e..6fcc30a8 100644
--- a/common/buildcraft/api/bptblocks/BptBlockRotateInventory.java
+++ b/common/buildcraft/api/bptblocks/BptBlockRotateInventory.java
@@ -1,8 +1,8 @@
package buildcraft.api.bptblocks;
-import net.minecraft.inventory.IInventory;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import net.minecraft.inventory.IInventory;
@Deprecated
public class BptBlockRotateInventory extends BptBlockRotateMeta {
diff --git a/common/buildcraft/api/bptblocks/BptBlockRotateMeta.java b/common/buildcraft/api/bptblocks/BptBlockRotateMeta.java
index eb846df5..4352b660 100644
--- a/common/buildcraft/api/bptblocks/BptBlockRotateMeta.java
+++ b/common/buildcraft/api/bptblocks/BptBlockRotateMeta.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockRotateMeta extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockSign.java b/common/buildcraft/api/bptblocks/BptBlockSign.java
index 84a3996a..f7bd1338 100644
--- a/common/buildcraft/api/bptblocks/BptBlockSign.java
+++ b/common/buildcraft/api/bptblocks/BptBlockSign.java
@@ -9,15 +9,14 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BlockSignature;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockSign extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockStairs.java b/common/buildcraft/api/bptblocks/BptBlockStairs.java
index 8ade4a4d..4dc061a4 100644
--- a/common/buildcraft/api/bptblocks/BptBlockStairs.java
+++ b/common/buildcraft/api/bptblocks/BptBlockStairs.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockStairs extends BptBlock {
diff --git a/common/buildcraft/api/bptblocks/BptBlockWallSide.java b/common/buildcraft/api/bptblocks/BptBlockWallSide.java
index 8178d0f1..74ff3f0f 100644
--- a/common/buildcraft/api/bptblocks/BptBlockWallSide.java
+++ b/common/buildcraft/api/bptblocks/BptBlockWallSide.java
@@ -9,12 +9,11 @@
package buildcraft.api.bptblocks;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockWallSide extends BptBlock {
diff --git a/common/buildcraft/api/core/IIconProvider.java b/common/buildcraft/api/core/IIconProvider.java
index 04833918..666d32e3 100644
--- a/common/buildcraft/api/core/IIconProvider.java
+++ b/common/buildcraft/api/core/IIconProvider.java
@@ -1,9 +1,9 @@
package buildcraft.api.core;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public interface IIconProvider {
diff --git a/common/buildcraft/api/filler/IFillerPattern.java b/common/buildcraft/api/filler/IFillerPattern.java
index 71b1e411..dd5862bb 100644
--- a/common/buildcraft/api/filler/IFillerPattern.java
+++ b/common/buildcraft/api/filler/IFillerPattern.java
@@ -1,11 +1,11 @@
package buildcraft.api.filler;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public interface IFillerPattern {
diff --git a/common/buildcraft/api/fuels/IronEngineCoolant.java b/common/buildcraft/api/fuels/IronEngineCoolant.java
index 5ddb3d2e..b3e2f5bb 100644
--- a/common/buildcraft/api/fuels/IronEngineCoolant.java
+++ b/common/buildcraft/api/fuels/IronEngineCoolant.java
@@ -1,38 +1,29 @@
package buildcraft.api.fuels;
+import com.google.common.collect.BiMap;
+import com.google.common.collect.HashBiMap;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.liquids.LiquidDictionary;
-
-import net.minecraftforge.liquids.LiquidStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
public final class IronEngineCoolant {
- public static Map liquidCoolants = new HashMap();
- public static Map solidCoolants = new HashMap();
+ public static BiMap liquidCoolants = HashBiMap.create();
+ public static Map solidCoolants = new HashMap();
- public static LiquidStack getLiquidCoolant(ItemStack stack) {
+ public static FluidStack getFluidCoolant(ItemStack stack) {
return solidCoolants.get(new ItemData(stack.itemID, stack.getItemDamage()));
}
public static Coolant getCoolant(ItemStack stack) {
- return getCoolant(getLiquidCoolant(stack));
+ return getCoolant(getFluidCoolant(stack));
}
- public static Coolant getCoolant(LiquidStack liquid) {
- if (liquid == null)
- return null;
- if (liquid.itemID <= 0)
- return null;
-
- String fluidId = LiquidDictionary.findLiquidName(liquid);
- if (fluidId != null) {
- return liquidCoolants.get(fluidId);
- }
-
- return null;
+ public static Coolant getCoolant(FluidStack liquid) {
+ return liquid != null ? liquidCoolants.get(liquid.getFluid().getName()) : null;
}
private IronEngineCoolant() {
@@ -43,10 +34,9 @@ public final class IronEngineCoolant {
float getDegreesCoolingPerMB(float currentHeat);
}
- public static void addCoolant(final LiquidStack liquid, final float degreesCoolingPerMB) {
- String fluidId = LiquidDictionary.findLiquidName(liquid);
- if (fluidId != null) {
- liquidCoolants.put(fluidId, new Coolant() {
+ public static void addCoolant(final Fluid liquid, final float degreesCoolingPerMB) {
+ if (liquid != null) {
+ liquidCoolants.put(liquid.getName(), new Coolant() {
@Override
public float getDegreesCoolingPerMB(float currentHeat) {
return degreesCoolingPerMB;
@@ -55,8 +45,8 @@ public final class IronEngineCoolant {
}
}
- public static void addCoolant(final int itemId, final int metadata, final LiquidStack coolant) {
- if (Item.itemsList[itemId] != null && coolant != null && coolant.amount > 0) {
+ public static void addCoolant(final int itemId, final int metadata, final FluidStack coolant) {
+ if (Item.itemsList[itemId] != null && coolant != null) {
solidCoolants.put(new ItemData(itemId, metadata), coolant);
}
}
@@ -92,4 +82,9 @@ public final class IronEngineCoolant {
return true;
}
}
+
+ public static boolean isCoolant(Fluid fluid)
+ {
+ return liquidCoolants.inverse().containsKey(fluid);
+ }
}
diff --git a/common/buildcraft/api/fuels/IronEngineFuel.java b/common/buildcraft/api/fuels/IronEngineFuel.java
index 09981e41..5b51bd6f 100644
--- a/common/buildcraft/api/fuels/IronEngineFuel.java
+++ b/common/buildcraft/api/fuels/IronEngineFuel.java
@@ -1,47 +1,43 @@
-/**
+/**
* Copyright (c) SpaceToad, 2011
* http://www.mod-buildcraft.com
- *
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.api.fuels;
-import java.util.LinkedList;
-
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
+import com.google.common.collect.Maps;
+import java.util.Map;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
public class IronEngineFuel {
- public static LinkedList fuels = new LinkedList();
+ public static Map fuels = Maps.newHashMap();
- public static IronEngineFuel getFuelForLiquid(LiquidStack liquid) {
- if (liquid == null)
- return null;
- if (liquid.itemID <= 0)
- return null;
-
- for (IronEngineFuel fuel : fuels)
- if (fuel.liquid.isLiquidEqual(liquid))
- return fuel;
-
- return null;
+ public static IronEngineFuel getFuelForFluid(Fluid liquid) {
+ return liquid == null ? null : fuels.get(liquid.getName());
}
- public final LiquidStack liquid;
+ public final Fluid liquid;
public final float powerPerCycle;
public final int totalBurningTime;
- public IronEngineFuel(int liquidId, float powerPerCycle, int totalBurningTime) {
- this(new LiquidStack(liquidId, LiquidContainerRegistry.BUCKET_VOLUME, 0), powerPerCycle, totalBurningTime);
+ public IronEngineFuel(String fluidName, float powerPerCycle, int totalBurningTime) {
+ this(FluidRegistry.getFluid(fluidName), powerPerCycle, totalBurningTime);
}
- public IronEngineFuel(LiquidStack liquid, float powerPerCycle, int totalBurningTime) {
+ public IronEngineFuel(Fluid liquid, float powerPerCycle, int totalBurningTime) {
this.liquid = liquid;
this.powerPerCycle = powerPerCycle;
this.totalBurningTime = totalBurningTime;
+ fuels.put(liquid.getName(), this);
+ }
+
+ public static void addFuel(Fluid fluid, float powerPerCycle, int totalBurningTime) {
+ new IronEngineFuel(fluid, powerPerCycle, totalBurningTime);
}
}
diff --git a/common/buildcraft/api/gates/ActionManager.java b/common/buildcraft/api/gates/ActionManager.java
index 34a558ec..cc238113 100644
--- a/common/buildcraft/api/gates/ActionManager.java
+++ b/common/buildcraft/api/gates/ActionManager.java
@@ -1,10 +1,9 @@
package buildcraft.api.gates;
+import buildcraft.api.transport.IPipe;
import java.util.LinkedList;
-
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
-import buildcraft.api.transport.IPipe;
public class ActionManager {
diff --git a/common/buildcraft/api/gates/IActionProvider.java b/common/buildcraft/api/gates/IActionProvider.java
index ce737996..6c64b57e 100644
--- a/common/buildcraft/api/gates/IActionProvider.java
+++ b/common/buildcraft/api/gates/IActionProvider.java
@@ -10,7 +10,6 @@
package buildcraft.api.gates;
import java.util.LinkedList;
-
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
diff --git a/common/buildcraft/api/gates/ITrigger.java b/common/buildcraft/api/gates/ITrigger.java
index 1517532b..205a0ba5 100644
--- a/common/buildcraft/api/gates/ITrigger.java
+++ b/common/buildcraft/api/gates/ITrigger.java
@@ -1,10 +1,10 @@
package buildcraft.api.gates;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public interface ITrigger {
diff --git a/common/buildcraft/api/gates/ITriggerProvider.java b/common/buildcraft/api/gates/ITriggerProvider.java
index 81ddcd5d..fe2271e0 100644
--- a/common/buildcraft/api/gates/ITriggerProvider.java
+++ b/common/buildcraft/api/gates/ITriggerProvider.java
@@ -9,11 +9,10 @@
package buildcraft.api.gates;
+import buildcraft.api.transport.IPipe;
import java.util.LinkedList;
-
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
-import buildcraft.api.transport.IPipe;
public interface ITriggerProvider {
diff --git a/common/buildcraft/api/power/PowerHandler.java b/common/buildcraft/api/power/PowerHandler.java
index 1b408238..fde0902f 100644
--- a/common/buildcraft/api/power/PowerHandler.java
+++ b/common/buildcraft/api/power/PowerHandler.java
@@ -7,9 +7,9 @@
*/
package buildcraft.api.power;
+import buildcraft.api.core.SafeTimeTracker;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.core.SafeTimeTracker;
public final class PowerHandler {
@@ -22,8 +22,9 @@ public final class PowerHandler {
case MACHINE:
case STORAGE:
return true;
+ default:
+ return false;
}
- return false;
}
public boolean eatsEngineExcess() {
@@ -31,8 +32,9 @@ public final class PowerHandler {
case MACHINE:
case STORAGE:
return true;
+ default:
+ return false;
}
- return false;
}
}
diff --git a/common/buildcraft/api/recipes/AssemblyRecipe.java b/common/buildcraft/api/recipes/AssemblyRecipe.java
index a56dad9b..573db282 100644
--- a/common/buildcraft/api/recipes/AssemblyRecipe.java
+++ b/common/buildcraft/api/recipes/AssemblyRecipe.java
@@ -1,7 +1,6 @@
package buildcraft.api.recipes;
import java.util.LinkedList;
-
import net.minecraft.item.ItemStack;
public class AssemblyRecipe {
diff --git a/common/buildcraft/api/recipes/RefineryRecipe.java b/common/buildcraft/api/recipes/RefineryRecipe.java
index d4039dde..452755a7 100644
--- a/common/buildcraft/api/recipes/RefineryRecipe.java
+++ b/common/buildcraft/api/recipes/RefineryRecipe.java
@@ -1,19 +1,20 @@
-/**
+/**
* Copyright (c) SpaceToad, 2011
* http://www.mod-buildcraft.com
- *
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.api.recipes;
+import com.google.common.base.Objects;
+import com.google.common.collect.ComparisonChain;
import java.util.Collections;
import java.util.SortedSet;
import java.util.TreeSet;
-
-import net.minecraftforge.liquids.LiquidStack;
+import net.minecraftforge.fluids.Fluid;
public class RefineryRecipe implements Comparable {
@@ -29,7 +30,7 @@ public class RefineryRecipe implements Comparable {
return Collections.unmodifiableSortedSet(recipes);
}
- public static RefineryRecipe findRefineryRecipe(LiquidStack liquid1, LiquidStack liquid2) {
+ public static RefineryRecipe findRefineryRecipe(Fluid liquid1, Fluid liquid2) {
for (RefineryRecipe recipe : recipes)
if (recipe.matches(liquid1, liquid2))
return recipe;
@@ -37,43 +38,22 @@ public class RefineryRecipe implements Comparable {
return null;
}
- public final LiquidStack ingredient1;
- public final LiquidStack ingredient2;
- public final LiquidStack result;
+ public final Fluid ingredient1;
+ public final Fluid ingredient2;
+ public final Fluid result;
public final int energy;
public final int delay;
- public RefineryRecipe(int ingredientId1, int ingredientQty1, int ingredientId2, int ingredientQty2, int resultId, int resultQty, int energy, int delay) {
- this(new LiquidStack(ingredientId1, ingredientQty1, 0), new LiquidStack(ingredientId2, ingredientQty2, 0), new LiquidStack(resultId, resultQty, 0),
- energy, delay);
- }
-
- public RefineryRecipe(LiquidStack ingredient1, LiquidStack ingredient2, LiquidStack result, int energy, int delay) {
-
- // Sort starting materials.
- if (ingredient1 != null && ingredient2 != null) {
- if ((ingredient1.itemID > ingredient2.itemID) || (ingredient1.itemID == ingredient2.itemID && ingredient1.itemMeta > ingredient2.itemMeta)) {
- this.ingredient1 = ingredient2;
- this.ingredient2 = ingredient1;
- } else {
- this.ingredient1 = ingredient1;
- this.ingredient2 = ingredient2;
- }
- } else if (ingredient2 != null) {
- this.ingredient1 = ingredient2;
- this.ingredient2 = ingredient1;
- } else {
- this.ingredient1 = ingredient1;
- this.ingredient2 = ingredient2;
- }
-
+ public RefineryRecipe(Fluid ingredient1, Fluid ingredient2, Fluid result, int energy, int delay) {
+ this.ingredient1 = ingredient1;
+ this.ingredient2 = ingredient2;
this.result = result;
this.energy = energy;
this.delay = delay;
}
- public boolean matches(LiquidStack liquid1, LiquidStack liquid2) {
+ public boolean matches(Fluid liquid1, Fluid liquid2) {
// No inputs, return.
if (liquid1 == null && liquid2 == null)
@@ -84,15 +64,14 @@ public class RefineryRecipe implements Comparable {
return false;
if (ingredient1 != null) {
-
if (ingredient2 == null)
- return ingredient1.isLiquidEqual(liquid1) || ingredient1.isLiquidEqual(liquid2);
+ return ingredient1.getName().equals(liquid1) || ingredient1.getName().equals(liquid2);
else
- return (ingredient1.isLiquidEqual(liquid1) && ingredient2.isLiquidEqual(liquid2))
- || (ingredient2.isLiquidEqual(liquid1) && ingredient1.isLiquidEqual(liquid2));
+ return (ingredient1.getName().equals(liquid1) && ingredient2.getName().equals(liquid2))
+ || (ingredient2.getName().equals(liquid1) && ingredient1.getName().equals(liquid2));
} else if (ingredient2 != null)
- return ingredient2.isLiquidEqual(liquid1) || ingredient2.isLiquidEqual(liquid2);
+ return ingredient2.getName().equals(liquid1) || ingredient2.getName().equals(liquid2);
else
return false;
@@ -103,51 +82,23 @@ public class RefineryRecipe implements Comparable {
// the failure of matching two-ingredient recipes which include that liquid.
@Override
public int compareTo(RefineryRecipe other) {
-
- if (other == null)
- return -1;
- else if (ingredient1 == null) {
- if (other.ingredient1 == null)
- return 0;
- else
- return 1;
- } else if (other.ingredient1 == null)
- return -1;
- else if (ingredient1.itemID != other.ingredient1.itemID)
- return ingredient1.itemID - other.ingredient1.itemID;
- else if (ingredient1.itemMeta != other.ingredient1.itemMeta)
- return ingredient1.itemMeta - other.ingredient1.itemMeta;
- else if (ingredient2 == null) {
- if (other.ingredient2 == null)
- return 0;
- else
- return 1;
- } else if (other.ingredient2 == null)
- return -1;
- else if (ingredient2.itemID != other.ingredient2.itemID)
- return ingredient2.itemID - other.ingredient2.itemID;
- else if (ingredient2.itemMeta != other.ingredient2.itemMeta)
- return ingredient2.itemMeta - other.ingredient2.itemMeta;
-
- return 0;
+ return ComparisonChain.start()
+ .compare(ingredient1.getName(), other.ingredient1.getName())
+ .compare(ingredient2.getName(), other.ingredient2.getName())
+ .result();
}
// equals() should be consistent with compareTo().
@Override
public boolean equals(Object obj) {
- if (obj != null && obj instanceof RefineryRecipe)
- return this.compareTo((RefineryRecipe) obj) == 0;
- return false;
+ return obj instanceof RefineryRecipe &&
+ Objects.equal(ingredient1, ((RefineryRecipe)obj).ingredient1) &&
+ Objects.equal(ingredient1, ((RefineryRecipe)obj).ingredient2);
}
// hashCode() should be overridden because equals() was overridden.
@Override
public int hashCode() {
- if (ingredient1 == null)
- return 0;
- else if (ingredient2 == null)
- return ingredient1.itemID ^ ingredient1.itemMeta;
-
- return ingredient1.itemID ^ ingredient1.itemMeta ^ ingredient2.itemID ^ ingredient2.itemMeta;
+ return Objects.hashCode(ingredient1, ingredient2);
}
}
diff --git a/common/buildcraft/api/tools/IToolPipette.java b/common/buildcraft/api/tools/IToolPipette.java
index 2596aa07..d636523d 100644
--- a/common/buildcraft/api/tools/IToolPipette.java
+++ b/common/buildcraft/api/tools/IToolPipette.java
@@ -1,7 +1,7 @@
package buildcraft.api.tools;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.liquids.LiquidStack;
+import net.minecraftforge.fluids.FluidStack;
public interface IToolPipette {
@@ -20,21 +20,21 @@ public interface IToolPipette {
/**
* Fills the pipette with the given liquid stack.
- *
+ *
* @param pipette
* @param liquid
* @param doFill
* @return Amount of liquid used in filling the pipette.
*/
- int fill(ItemStack pipette, LiquidStack liquid, boolean doFill);
+ int fill(ItemStack pipette, FluidStack liquid, boolean doFill);
/**
* Drains liquid from the pipette
- *
+ *
* @param pipette
* @param maxDrain
* @param doDrain
- * @return Liquid stack representing the liquid and amount drained from the pipette.
+ * @return Fluid stack representing the liquid and amount drained from the pipette.
*/
- LiquidStack drain(ItemStack pipette, int maxDrain, boolean doDrain);
+ FluidStack drain(ItemStack pipette, int maxDrain, boolean doDrain);
}
diff --git a/common/buildcraft/api/transport/FacadeManager.java b/common/buildcraft/api/transport/FacadeManager.java
index f5333921..28cbdd1a 100644
--- a/common/buildcraft/api/transport/FacadeManager.java
+++ b/common/buildcraft/api/transport/FacadeManager.java
@@ -1,7 +1,6 @@
package buildcraft.api.transport;
import java.lang.reflect.Method;
-
import net.minecraft.item.ItemStack;
/**
diff --git a/common/buildcraft/api/transport/IExtractionHandler.java b/common/buildcraft/api/transport/IExtractionHandler.java
index 863cc312..e912f65b 100644
--- a/common/buildcraft/api/transport/IExtractionHandler.java
+++ b/common/buildcraft/api/transport/IExtractionHandler.java
@@ -17,5 +17,5 @@ public interface IExtractionHandler {
* Can this pipe extract liquids from the block located at these coordinates?
* param extractor can be null
*/
- boolean canExtractLiquids(Object extractor, World world, int i, int j, int k);
+ boolean canExtractFluids(Object extractor, World world, int i, int j, int k);
}
diff --git a/common/buildcraft/api/transport/IPipedItem.java b/common/buildcraft/api/transport/IPipedItem.java
index 5dc85792..cce264ca 100644
--- a/common/buildcraft/api/transport/IPipedItem.java
+++ b/common/buildcraft/api/transport/IPipedItem.java
@@ -1,12 +1,12 @@
package buildcraft.api.transport;
+import buildcraft.api.core.Position;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.core.Position;
public interface IPipedItem {
diff --git a/common/buildcraft/api/transport/PipeManager.java b/common/buildcraft/api/transport/PipeManager.java
index 10736d63..c78c86e2 100644
--- a/common/buildcraft/api/transport/PipeManager.java
+++ b/common/buildcraft/api/transport/PipeManager.java
@@ -2,7 +2,6 @@ package buildcraft.api.transport;
import java.util.ArrayList;
import java.util.List;
-
import net.minecraft.world.World;
public abstract class PipeManager {
@@ -27,9 +26,9 @@ public abstract class PipeManager {
/**
* param extractor can be null
*/
- public static boolean canExtractLiquids(Object extractor, World world, int i, int j, int k) {
+ public static boolean canExtractFluids(Object extractor, World world, int i, int j, int k) {
for (IExtractionHandler handler : extractionHandlers)
- if (!handler.canExtractLiquids(extractor, world, i, j, k))
+ if (!handler.canExtractFluids(extractor, world, i, j, k))
return false;
return true;
diff --git a/common/buildcraft/builders/BlockArchitect.java b/common/buildcraft/builders/BlockArchitect.java
index 390cc98f..06f9c3f4 100644
--- a/common/buildcraft/builders/BlockArchitect.java
+++ b/common/buildcraft/builders/BlockArchitect.java
@@ -9,20 +9,6 @@
package buildcraft.builders;
-import java.util.ArrayList;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.Position;
import buildcraft.api.tools.IToolWrench;
@@ -31,6 +17,19 @@ import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class BlockArchitect extends BlockContainer {
@@ -100,7 +99,7 @@ public class BlockArchitect extends BlockContainer {
}
@Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) {
super.onBlockPlacedBy(world, i, j, k, entityliving, stack);
ForgeDirection orientation = Utils.get2dOrientation(new Position(entityliving.posX, entityliving.posY, entityliving.posZ), new Position(i, j, k));
diff --git a/common/buildcraft/builders/BlockBlueprintLibrary.java b/common/buildcraft/builders/BlockBlueprintLibrary.java
index c71f623d..7ccf77d0 100644
--- a/common/buildcraft/builders/BlockBlueprintLibrary.java
+++ b/common/buildcraft/builders/BlockBlueprintLibrary.java
@@ -9,22 +9,21 @@
package buildcraft.builders;
-import java.util.ArrayList;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftBuilders;
import buildcraft.core.GuiIds;
import buildcraft.core.proxy.CoreProxy;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public class BlockBlueprintLibrary extends BlockContainer {
@@ -72,7 +71,7 @@ public class BlockBlueprintLibrary extends BlockContainer {
}
@Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) {
if (CoreProxy.proxy.isSimulating(world) && entityliving instanceof EntityPlayer) {
TileBlueprintLibrary tile = (TileBlueprintLibrary) world.getBlockTileEntity(i, j, k);
tile.owner = ((EntityPlayer) entityliving).username;
diff --git a/common/buildcraft/builders/BlockBuilder.java b/common/buildcraft/builders/BlockBuilder.java
index 6dea73f2..da4c4972 100644
--- a/common/buildcraft/builders/BlockBuilder.java
+++ b/common/buildcraft/builders/BlockBuilder.java
@@ -9,19 +9,6 @@
package buildcraft.builders;
-import java.util.ArrayList;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.Position;
import buildcraft.api.tools.IToolWrench;
@@ -31,6 +18,18 @@ import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class BlockBuilder extends BlockContainer {
@@ -107,7 +106,7 @@ public class BlockBuilder extends BlockContainer {
}
@Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) {
super.onBlockPlacedBy(world, i, j, k, entityliving, stack);
ForgeDirection orientation = Utils.get2dOrientation(new Position(entityliving.posX, entityliving.posY, entityliving.posZ), new Position(i, j, k));
diff --git a/common/buildcraft/builders/BlockFiller.java b/common/buildcraft/builders/BlockFiller.java
index bcb95ddf..0c223c17 100644
--- a/common/buildcraft/builders/BlockFiller.java
+++ b/common/buildcraft/builders/BlockFiller.java
@@ -9,8 +9,15 @@
package buildcraft.builders;
+import buildcraft.BuildCraftBuilders;
+import buildcraft.api.filler.IFillerPattern;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.GuiIds;
+import buildcraft.core.proxy.CoreProxy;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -20,14 +27,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-import buildcraft.BuildCraftBuilders;
-import buildcraft.api.filler.IFillerPattern;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.GuiIds;
-import buildcraft.core.proxy.CoreProxy;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockFiller extends BlockContainer {
diff --git a/common/buildcraft/builders/BlockMarker.java b/common/buildcraft/builders/BlockMarker.java
index 3243420c..adfc49e7 100644
--- a/common/buildcraft/builders/BlockMarker.java
+++ b/common/buildcraft/builders/BlockMarker.java
@@ -7,8 +7,13 @@
*/
package buildcraft.builders;
+import buildcraft.BuildCraftBuilders;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -18,14 +23,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-import buildcraft.BuildCraftBuilders;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.common.ForgeDirection;
-import static net.minecraftforge.common.ForgeDirection.*;
public class BlockMarker extends BlockContainer {
diff --git a/common/buildcraft/builders/BlockPathMarker.java b/common/buildcraft/builders/BlockPathMarker.java
index 23595389..7389ac49 100644
--- a/common/buildcraft/builders/BlockPathMarker.java
+++ b/common/buildcraft/builders/BlockPathMarker.java
@@ -9,17 +9,16 @@
package buildcraft.builders;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockPathMarker extends BlockMarker {
diff --git a/common/buildcraft/builders/BptBlockFiller.java b/common/buildcraft/builders/BptBlockFiller.java
index c3ae883f..4b645033 100644
--- a/common/buildcraft/builders/BptBlockFiller.java
+++ b/common/buildcraft/builders/BptBlockFiller.java
@@ -9,10 +9,6 @@
package buildcraft.builders;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptBlockUtils;
@@ -21,6 +17,9 @@ import buildcraft.api.blueprints.IBptContext;
import buildcraft.api.core.LaserKind;
import buildcraft.api.core.Position;
import buildcraft.core.Box;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
@Deprecated
public class BptBlockFiller extends BptBlock {
diff --git a/common/buildcraft/builders/BuilderProxyClient.java b/common/buildcraft/builders/BuilderProxyClient.java
index 060eb8b8..c1f3cafc 100644
--- a/common/buildcraft/builders/BuilderProxyClient.java
+++ b/common/buildcraft/builders/BuilderProxyClient.java
@@ -1,7 +1,7 @@
package buildcraft.builders;
-import net.minecraft.util.Icon;
import buildcraft.BuildCraftBuilders;
+import net.minecraft.util.Icon;
public class BuilderProxyClient extends BuilderProxy {
public static Icon fillerFillAllTexture;
diff --git a/common/buildcraft/builders/ClientBuilderHook.java b/common/buildcraft/builders/ClientBuilderHook.java
index b83814b8..d68e43b1 100644
--- a/common/buildcraft/builders/ClientBuilderHook.java
+++ b/common/buildcraft/builders/ClientBuilderHook.java
@@ -1,11 +1,10 @@
package buildcraft.builders;
-import java.io.IOException;
-
import buildcraft.BuildCraftBuilders;
import buildcraft.core.blueprints.BptPlayerIndex;
import buildcraft.core.blueprints.BptRootIndex;
import buildcraft.core.proxy.CoreProxy;
+import java.io.IOException;
public class ClientBuilderHook implements IBuilderHook {
diff --git a/common/buildcraft/builders/EventHandlerBuilders.java b/common/buildcraft/builders/EventHandlerBuilders.java
index b98f1426..be4ac781 100644
--- a/common/buildcraft/builders/EventHandlerBuilders.java
+++ b/common/buildcraft/builders/EventHandlerBuilders.java
@@ -8,10 +8,10 @@
package buildcraft.builders;
-import net.minecraftforge.event.ForgeSubscribe;
-import net.minecraftforge.event.world.WorldEvent;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
+import net.minecraftforge.event.ForgeSubscribe;
+import net.minecraftforge.event.world.WorldEvent;
public class EventHandlerBuilders {
diff --git a/common/buildcraft/builders/FillerFillAll.java b/common/buildcraft/builders/FillerFillAll.java
index b74c271a..884566d2 100644
--- a/common/buildcraft/builders/FillerFillAll.java
+++ b/common/buildcraft/builders/FillerFillAll.java
@@ -9,12 +9,12 @@
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerFillAll extends FillerPattern {
diff --git a/common/buildcraft/builders/FillerFillPyramid.java b/common/buildcraft/builders/FillerFillPyramid.java
index 293348a2..7450cdd1 100644
--- a/common/buildcraft/builders/FillerFillPyramid.java
+++ b/common/buildcraft/builders/FillerFillPyramid.java
@@ -9,12 +9,12 @@
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerFillPyramid extends FillerPattern {
diff --git a/common/buildcraft/builders/FillerFillStairs.java b/common/buildcraft/builders/FillerFillStairs.java
index dca31535..21aff72e 100644
--- a/common/buildcraft/builders/FillerFillStairs.java
+++ b/common/buildcraft/builders/FillerFillStairs.java
@@ -9,12 +9,12 @@
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerFillStairs extends FillerPattern {
diff --git a/common/buildcraft/builders/FillerFillWalls.java b/common/buildcraft/builders/FillerFillWalls.java
index f057e14a..06684e25 100644
--- a/common/buildcraft/builders/FillerFillWalls.java
+++ b/common/buildcraft/builders/FillerFillWalls.java
@@ -9,12 +9,12 @@
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerFillWalls extends FillerPattern {
diff --git a/common/buildcraft/builders/FillerFlattener.java b/common/buildcraft/builders/FillerFlattener.java
index 73c5be91..d5b0e00b 100644
--- a/common/buildcraft/builders/FillerFlattener.java
+++ b/common/buildcraft/builders/FillerFlattener.java
@@ -7,12 +7,12 @@
*/
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerFlattener extends FillerPattern {
diff --git a/common/buildcraft/builders/FillerHorizon.java b/common/buildcraft/builders/FillerHorizon.java
index 3f51f948..512479bd 100644
--- a/common/buildcraft/builders/FillerHorizon.java
+++ b/common/buildcraft/builders/FillerHorizon.java
@@ -7,12 +7,12 @@
*/
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerHorizon extends FillerPattern {
diff --git a/common/buildcraft/builders/FillerPattern.java b/common/buildcraft/builders/FillerPattern.java
index 260a909c..078532fb 100644
--- a/common/buildcraft/builders/FillerPattern.java
+++ b/common/buildcraft/builders/FillerPattern.java
@@ -7,10 +7,6 @@
*/
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.IBox;
import buildcraft.api.filler.IFillerPattern;
@@ -18,6 +14,10 @@ import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.BlockUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public abstract class FillerPattern implements IFillerPattern {
diff --git a/common/buildcraft/builders/FillerRegistry.java b/common/buildcraft/builders/FillerRegistry.java
index ad15d3d6..c8325a2b 100644
--- a/common/buildcraft/builders/FillerRegistry.java
+++ b/common/buildcraft/builders/FillerRegistry.java
@@ -9,15 +9,14 @@
package buildcraft.builders;
+import buildcraft.api.filler.IFillerPattern;
+import buildcraft.api.filler.IFillerRegistry;
import java.util.HashMap;
import java.util.LinkedList;
-
import net.minecraft.block.Block;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import buildcraft.api.filler.IFillerPattern;
-import buildcraft.api.filler.IFillerRegistry;
public class FillerRegistry implements IFillerRegistry {
diff --git a/common/buildcraft/builders/FillerRemover.java b/common/buildcraft/builders/FillerRemover.java
index 226ab765..8caee5b8 100644
--- a/common/buildcraft/builders/FillerRemover.java
+++ b/common/buildcraft/builders/FillerRemover.java
@@ -9,12 +9,12 @@
package buildcraft.builders;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IBox;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
public class FillerRemover extends FillerPattern {
diff --git a/common/buildcraft/builders/GuiHandler.java b/common/buildcraft/builders/GuiHandler.java
index e5fe1534..7bd4a078 100644
--- a/common/buildcraft/builders/GuiHandler.java
+++ b/common/buildcraft/builders/GuiHandler.java
@@ -1,8 +1,5 @@
package buildcraft.builders;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.builders.gui.ContainerBlueprintLibrary;
import buildcraft.builders.gui.ContainerBuilder;
import buildcraft.builders.gui.ContainerFiller;
@@ -13,6 +10,9 @@ import buildcraft.builders.gui.GuiFiller;
import buildcraft.builders.gui.GuiTemplate;
import buildcraft.core.GuiIds;
import cpw.mods.fml.common.network.IGuiHandler;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
diff --git a/common/buildcraft/builders/IBuilderHook.java b/common/buildcraft/builders/IBuilderHook.java
index 7fe9b727..4a7ae238 100644
--- a/common/buildcraft/builders/IBuilderHook.java
+++ b/common/buildcraft/builders/IBuilderHook.java
@@ -1,8 +1,7 @@
package buildcraft.builders;
-import java.io.IOException;
-
import buildcraft.core.blueprints.BptRootIndex;
+import java.io.IOException;
public interface IBuilderHook {
diff --git a/common/buildcraft/builders/ItemBptBase.java b/common/buildcraft/builders/ItemBptBase.java
index 44509d71..4f623d20 100644
--- a/common/buildcraft/builders/ItemBptBase.java
+++ b/common/buildcraft/builders/ItemBptBase.java
@@ -9,18 +9,17 @@
package buildcraft.builders;
-import java.util.List;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftBuilders;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.ItemBuildCraft;
import buildcraft.core.blueprints.BptBase;
import buildcraft.core.proxy.CoreProxy;
+import java.util.List;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public abstract class ItemBptBase extends ItemBuildCraft {
diff --git a/common/buildcraft/builders/ItemBptBluePrint.java b/common/buildcraft/builders/ItemBptBluePrint.java
index 13de9643..aa50c903 100644
--- a/common/buildcraft/builders/ItemBptBluePrint.java
+++ b/common/buildcraft/builders/ItemBptBluePrint.java
@@ -9,10 +9,10 @@
package buildcraft.builders;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class ItemBptBluePrint extends ItemBptBase {
diff --git a/common/buildcraft/builders/ItemBptTemplate.java b/common/buildcraft/builders/ItemBptTemplate.java
index fbf946a7..8f0557f6 100644
--- a/common/buildcraft/builders/ItemBptTemplate.java
+++ b/common/buildcraft/builders/ItemBptTemplate.java
@@ -1,9 +1,9 @@
package buildcraft.builders;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class ItemBptTemplate extends ItemBptBase {
private Icon usedTemplate;
diff --git a/common/buildcraft/builders/TileArchitect.java b/common/buildcraft/builders/TileArchitect.java
index df58273d..d6133fb4 100644
--- a/common/buildcraft/builders/TileArchitect.java
+++ b/common/buildcraft/builders/TileArchitect.java
@@ -1,22 +1,25 @@
/**
+<<<<<<< HEAD
* Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
* BuildCraft is distributed under the terms of the Minecraft Mod Public License
* 1.0, or MMPL. Please check the contents of the license located in
+=======
+ * Copyright (c) SpaceToad, 2011
+ * http://www.mod-buildcraft.com
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public
+ * License 1.0, or MMPL. Please check the contents of the license located in
+>>>>>>> mc16
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.builders;
-import buildcraft.builders.blueprints.Blueprint;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraftforge.common.ForgeDirection;
+
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.LaserKind;
+import buildcraft.builders.blueprints.Blueprint;
import buildcraft.core.Box;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.blueprints.BptBase;
@@ -27,6 +30,13 @@ import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraftforge.common.ForgeDirection;
+
public class TileArchitect extends TileBuildCraft implements IInventory {
@@ -240,7 +250,7 @@ public class TileArchitect extends TileBuildCraft implements IInventory {
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
// TODO Auto-generated method stub
return false;
}
diff --git a/common/buildcraft/builders/TileBlueprintLibrary.java b/common/buildcraft/builders/TileBlueprintLibrary.java
index b96e38d0..d5b87120 100644
--- a/common/buildcraft/builders/TileBlueprintLibrary.java
+++ b/common/buildcraft/builders/TileBlueprintLibrary.java
@@ -1,12 +1,5 @@
package buildcraft.builders;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import buildcraft.BuildCraftBuilders;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.blueprints.BptBase;
@@ -14,6 +7,12 @@ import buildcraft.core.blueprints.BptPlayerIndex;
import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
+import java.io.IOException;
+import java.util.ArrayList;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
public class TileBlueprintLibrary extends TileBuildCraft implements IInventory {
public static final int COMMAND_NEXT = 1, COMMAND_PREV = 2, COMMAND_LOCK_UPDATE = 3, COMMAND_DELETE = 4;
@@ -227,9 +226,9 @@ public class TileBlueprintLibrary extends TileBuildCraft implements IInventory {
public int getInventoryStackLimit() {
return 64;
}
-
+
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
// TODO Auto-generated method stub
return false;
}
diff --git a/common/buildcraft/builders/TileBuilder.java b/common/buildcraft/builders/TileBuilder.java
index 0f7149fc..e5283439 100644
--- a/common/buildcraft/builders/TileBuilder.java
+++ b/common/buildcraft/builders/TileBuilder.java
@@ -7,17 +7,6 @@
*/
package buildcraft.builders;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.LaserKind;
import buildcraft.api.core.Position;
@@ -45,6 +34,16 @@ import buildcraft.core.network.PacketUpdate;
import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraftforge.common.ForgeDirection;
public class TileBuilder extends TileBuildCraft implements IBuilderInventory, IPowerReceptor, IMachine {
@@ -221,7 +220,7 @@ public class TileBuilder extends TileBuildCraft implements IBuilderInventory, IP
EntityPowerLaser laser = new EntityPowerLaser(worldObj, new Position(previous.i + 0.5, previous.j + 0.5, previous.k + 0.5), new Position(
b.i + 0.5, b.j + 0.5, b.k + 0.5));
- laser.setTexture(DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_1.png");
+ laser.setTexture(0);
laser.show();
worldObj.spawnEntityInWorld(laser);
pathLasers.add(laser);
@@ -435,7 +434,7 @@ public class TileBuilder extends TileBuildCraft implements IBuilderInventory, IP
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return true;
}
@@ -585,7 +584,7 @@ public class TileBuilder extends TileBuildCraft implements IBuilderInventory, IP
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
diff --git a/common/buildcraft/builders/TileFiller.java b/common/buildcraft/builders/TileFiller.java
index 6b5bcfdc..22526a41 100644
--- a/common/buildcraft/builders/TileFiller.java
+++ b/common/buildcraft/builders/TileFiller.java
@@ -7,10 +7,6 @@
*/
package buildcraft.builders;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.LaserKind;
@@ -32,7 +28,11 @@ import buildcraft.core.triggers.ActionMachineControl;
import buildcraft.core.triggers.ActionMachineControl.Mode;
import buildcraft.core.utils.Utils;
import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.ForgeDirection;
public class TileFiller extends TileBuildCraft implements ISidedInventory, IPowerReceptor, IMachine, IActionReceptor {
@@ -334,7 +334,7 @@ public class TileFiller extends TileBuildCraft implements ISidedInventory, IPowe
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
@@ -368,7 +368,7 @@ public class TileFiller extends TileBuildCraft implements ISidedInventory, IPowe
}
@Override
- public boolean isStackValidForSlot(int slot, ItemStack stack) {
+ public boolean isItemValidForSlot(int slot, ItemStack stack) {
if (slot < 9) {
if (getStackInSlot(slot) != null)
return false;
@@ -387,7 +387,7 @@ public class TileFiller extends TileBuildCraft implements ISidedInventory, IPowe
@Override
public boolean canInsertItem(int slot, ItemStack stack, int side) {
- return isStackValidForSlot(slot, stack);
+ return isItemValidForSlot(slot, stack);
}
@Override
diff --git a/common/buildcraft/builders/TileMarker.java b/common/buildcraft/builders/TileMarker.java
index 41d92b05..fe952079 100644
--- a/common/buildcraft/builders/TileMarker.java
+++ b/common/buildcraft/builders/TileMarker.java
@@ -9,8 +9,6 @@
package buildcraft.builders;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.LaserKind;
@@ -21,6 +19,8 @@ import buildcraft.core.network.PacketUpdate;
import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
public class TileMarker extends TileBuildCraft implements IAreaProvider {
diff --git a/common/buildcraft/builders/TilePathMarker.java b/common/buildcraft/builders/TilePathMarker.java
index 6548289b..ae44c377 100644
--- a/common/buildcraft/builders/TilePathMarker.java
+++ b/common/buildcraft/builders/TilePathMarker.java
@@ -1,12 +1,5 @@
package buildcraft.builders;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.TreeSet;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.api.core.Position;
import buildcraft.core.BlockIndex;
import buildcraft.core.DefaultProps;
@@ -15,6 +8,12 @@ import buildcraft.core.EntityPowerLaser;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.TreeSet;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class TilePathMarker extends TileMarker {
@@ -63,7 +62,7 @@ public class TilePathMarker extends TileMarker {
pathMarker.yCoord + 0.5, pathMarker.zCoord + 0.5));
laser.show();
- laser.setTexture(DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_1.png");
+ laser.setTexture(0);
worldObj.spawnEntityInWorld(laser);
connect(pathMarker, laser);
diff --git a/common/buildcraft/builders/gui/ContainerBlueprintLibrary.java b/common/buildcraft/builders/gui/ContainerBlueprintLibrary.java
index 59478181..e3ad35bc 100644
--- a/common/buildcraft/builders/gui/ContainerBlueprintLibrary.java
+++ b/common/buildcraft/builders/gui/ContainerBlueprintLibrary.java
@@ -9,12 +9,12 @@
package buildcraft.builders.gui;
+import buildcraft.builders.TileBlueprintLibrary;
+import buildcraft.core.gui.BuildCraftContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.builders.TileBlueprintLibrary;
-import buildcraft.core.gui.BuildCraftContainer;
public class ContainerBlueprintLibrary extends BuildCraftContainer {
diff --git a/common/buildcraft/builders/gui/ContainerBuilder.java b/common/buildcraft/builders/gui/ContainerBuilder.java
index 74145592..3e9e1ac7 100644
--- a/common/buildcraft/builders/gui/ContainerBuilder.java
+++ b/common/buildcraft/builders/gui/ContainerBuilder.java
@@ -9,11 +9,11 @@
package buildcraft.builders.gui;
+import buildcraft.builders.TileBuilder;
+import buildcraft.core.gui.BuildCraftContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.builders.TileBuilder;
-import buildcraft.core.gui.BuildCraftContainer;
public class ContainerBuilder extends BuildCraftContainer {
diff --git a/common/buildcraft/builders/gui/ContainerFiller.java b/common/buildcraft/builders/gui/ContainerFiller.java
index ec07d875..7c94d7f7 100644
--- a/common/buildcraft/builders/gui/ContainerFiller.java
+++ b/common/buildcraft/builders/gui/ContainerFiller.java
@@ -9,12 +9,12 @@
package buildcraft.builders.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.core.gui.slots.SlotLimited;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.core.gui.slots.SlotLimited;
public class ContainerFiller extends BuildCraftContainer {
diff --git a/common/buildcraft/builders/gui/ContainerTemplate.java b/common/buildcraft/builders/gui/ContainerTemplate.java
index 060fa920..9d813283 100644
--- a/common/buildcraft/builders/gui/ContainerTemplate.java
+++ b/common/buildcraft/builders/gui/ContainerTemplate.java
@@ -9,12 +9,12 @@
package buildcraft.builders.gui;
+import buildcraft.builders.TileArchitect;
+import buildcraft.core.gui.BuildCraftContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.builders.TileArchitect;
-import buildcraft.core.gui.BuildCraftContainer;
public class ContainerTemplate extends BuildCraftContainer {
diff --git a/common/buildcraft/builders/gui/GuiBlueprintLibrary.java b/common/buildcraft/builders/gui/GuiBlueprintLibrary.java
index 2613eda9..b73a5abe 100644
--- a/common/buildcraft/builders/gui/GuiBlueprintLibrary.java
+++ b/common/buildcraft/builders/gui/GuiBlueprintLibrary.java
@@ -1,19 +1,12 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.builders.gui;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.entity.player.EntityPlayer;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftBuilders;
import buildcraft.builders.TileBlueprintLibrary;
import buildcraft.builders.network.PacketLibraryAction;
@@ -24,16 +17,18 @@ import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketPayload;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.StringUtils;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiBlueprintLibrary extends GuiBuildCraft {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/template_gui.png");
EntityPlayer player;
TileBlueprintLibrary library;
-
ContainerBlueprintLibrary container;
-
boolean computeInput;
-
BptPlayerIndex index;
public GuiBlueprintLibrary(EntityPlayer player, TileBlueprintLibrary library) {
@@ -47,7 +42,6 @@ public class GuiBlueprintLibrary extends GuiBuildCraft {
index = BuildCraftBuilders.getPlayerIndex(player.username);
}
-
private GuiButton nextPageButton;
private GuiButton prevPageButton;
private GuiButton lockButton;
@@ -110,8 +104,8 @@ public class GuiBlueprintLibrary extends GuiBuildCraft {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/library_rw.png");
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
@@ -164,7 +158,7 @@ public class GuiBlueprintLibrary extends GuiBuildCraft {
if (ySlot >= 0 && ySlot <= 11) {
if (ySlot < library.currentNames.length) {
PacketPayload payload = new PacketPayload();
- payload.intPayload = new int[] { ySlot };
+ payload.intPayload = new int[]{ySlot};
PacketLibraryAction packet = new PacketLibraryAction(PacketIds.LIBRARY_SELECT, library.xCoord, library.yCoord, library.zCoord);
packet.actionId = ySlot;
CoreProxy.proxy.sendToServer(packet.getPacket());
diff --git a/common/buildcraft/builders/gui/GuiBuilder.java b/common/buildcraft/builders/gui/GuiBuilder.java
index f80fb91c..01c0a7d6 100644
--- a/common/buildcraft/builders/gui/GuiBuilder.java
+++ b/common/buildcraft/builders/gui/GuiBuilder.java
@@ -1,28 +1,26 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.builders.gui;
-import java.util.Collection;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.builders.TileBuilder;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.utils.StringUtils;
+import java.util.Collection;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiBuilder extends GuiAdvancedInterface {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/builder.png");
+ private static final ResourceLocation BLUEPRINT_TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/builder_blueprint.png");
IInventory playerInventory;
TileBuilder builder;
@@ -60,16 +58,16 @@ public class GuiBuilder extends GuiAdvancedInterface {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
int realXSize = 0;
if (builder.isBuildingBlueprint()) {
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/builder_blueprint.png");
+ mc.renderEngine.func_110577_a(BLUEPRINT_TEXTURE);
realXSize = 256;
} else {
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/builder.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
realXSize = 176;
}
@@ -96,6 +94,5 @@ public class GuiBuilder extends GuiAdvancedInterface {
drawBackgroundSlots();
}
-
int inventoryRows = 6;
}
diff --git a/common/buildcraft/builders/gui/GuiFiller.java b/common/buildcraft/builders/gui/GuiFiller.java
index 1ca1d910..3f457a23 100644
--- a/common/buildcraft/builders/gui/GuiFiller.java
+++ b/common/buildcraft/builders/gui/GuiFiller.java
@@ -1,25 +1,24 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.builders.gui;
-import net.minecraft.inventory.IInventory;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.builders.TileFiller;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiFiller extends GuiBuildCraft {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/filler.png");
+ private static final ResourceLocation BLOCK_TEXTURE = new ResourceLocation("/terrain.png");
IInventory playerInventory;
TileFiller filler;
@@ -46,13 +45,13 @@ public class GuiFiller extends GuiBuildCraft {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/filler.png");
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.func_110577_a(TEXTURE);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if (filler.currentPattern != null) {
- mc.renderEngine.bindTexture("/terrain.png");
+ mc.renderEngine.func_110577_a(BLOCK_TEXTURE);
drawTexturedModelRectFromIcon(guiLeft + patternSymbolX, guiTop + patternSymbolY, filler.currentPattern.getTexture(), 16, 16);
}
@@ -87,10 +86,8 @@ public class GuiFiller extends GuiBuildCraft {
lastX = i;
lastY = j;
}
-
private int lastX = 0;
private int lastY = 0;
-
public final int patternSymbolX = 125;
public final int patternSymbolY = 34;
}
diff --git a/common/buildcraft/builders/gui/GuiTemplate.java b/common/buildcraft/builders/gui/GuiTemplate.java
index 559c648c..dd49a17c 100644
--- a/common/buildcraft/builders/gui/GuiTemplate.java
+++ b/common/buildcraft/builders/gui/GuiTemplate.java
@@ -1,20 +1,12 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.builders.gui;
-import java.util.Date;
-
-import net.minecraft.inventory.IInventory;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.builders.TileArchitect;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiBuildCraft;
@@ -23,12 +15,16 @@ import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.StringUtils;
+import java.util.Date;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiTemplate extends GuiBuildCraft {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/template_gui.png");
IInventory playerInventory;
TileArchitect template;
-
boolean editMode = false;
public GuiTemplate(IInventory playerInventory, TileArchitect template) {
@@ -54,8 +50,8 @@ public class GuiTemplate extends GuiBuildCraft {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/template_gui.png");
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
@@ -88,7 +84,7 @@ public class GuiTemplate extends GuiBuildCraft {
return;
}
PacketPayload payload = new PacketPayload();
- payload.intPayload = new int[] { c };
+ payload.intPayload = new int[]{c};
PacketUpdate packet = new PacketUpdate(PacketIds.ARCHITECT_NAME, template.xCoord, template.yCoord, template.zCoord, payload);
CoreProxy.proxy.sendToServer(packet.getPacket());
} else {
diff --git a/common/buildcraft/builders/network/PacketHandlerBuilders.java b/common/buildcraft/builders/network/PacketHandlerBuilders.java
index 8692c958..50ed17e9 100644
--- a/common/buildcraft/builders/network/PacketHandlerBuilders.java
+++ b/common/buildcraft/builders/network/PacketHandlerBuilders.java
@@ -1,18 +1,17 @@
package buildcraft.builders.network;
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.builders.TileArchitect;
import buildcraft.builders.TileBlueprintLibrary;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketUpdate;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.tileentity.TileEntity;
public class PacketHandlerBuilders implements IPacketHandler {
diff --git a/common/buildcraft/builders/network/PacketLibraryAction.java b/common/buildcraft/builders/network/PacketLibraryAction.java
index 4e64e856..5aa18491 100644
--- a/common/buildcraft/builders/network/PacketLibraryAction.java
+++ b/common/buildcraft/builders/network/PacketLibraryAction.java
@@ -1,11 +1,10 @@
package buildcraft.builders.network;
+import buildcraft.core.network.PacketCoordinates;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-import buildcraft.core.network.PacketCoordinates;
-
public class PacketLibraryAction extends PacketCoordinates {
public int actionId;
diff --git a/common/buildcraft/core/BlockBuildCraft.java b/common/buildcraft/core/BlockBuildCraft.java
index c0cb4705..74e84669 100644
--- a/common/buildcraft/core/BlockBuildCraft.java
+++ b/common/buildcraft/core/BlockBuildCraft.java
@@ -1,11 +1,10 @@
package buildcraft.core;
+import buildcraft.core.utils.Utils;
import java.util.Random;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
-import buildcraft.core.utils.Utils;
public abstract class BlockBuildCraft extends BlockContainer {
diff --git a/common/buildcraft/core/BlockSpring.java b/common/buildcraft/core/BlockSpring.java
index d438a5ee..d4e2115a 100644
--- a/common/buildcraft/core/BlockSpring.java
+++ b/common/buildcraft/core/BlockSpring.java
@@ -1,16 +1,15 @@
package buildcraft.core;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import java.util.Random;
-
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockSpring extends Block {
diff --git a/common/buildcraft/core/Box.java b/common/buildcraft/core/Box.java
index ccd92244..5369d735 100644
--- a/common/buildcraft/core/Box.java
+++ b/common/buildcraft/core/Box.java
@@ -9,11 +9,6 @@
package buildcraft.core;
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.IBox;
import buildcraft.api.core.LaserKind;
@@ -21,6 +16,10 @@ import buildcraft.api.core.Position;
import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
public class Box implements IBox {
diff --git a/common/buildcraft/core/BuildCraftConfiguration.java b/common/buildcraft/core/BuildCraftConfiguration.java
index af53ef39..9f925e9f 100644
--- a/common/buildcraft/core/BuildCraftConfiguration.java
+++ b/common/buildcraft/core/BuildCraftConfiguration.java
@@ -10,7 +10,6 @@
package buildcraft.core;
import java.io.File;
-
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
diff --git a/common/buildcraft/core/CommandBuildCraft.java b/common/buildcraft/core/CommandBuildCraft.java
index b7102ca7..b9567c03 100644
--- a/common/buildcraft/core/CommandBuildCraft.java
+++ b/common/buildcraft/core/CommandBuildCraft.java
@@ -1,12 +1,11 @@
package buildcraft.core;
+import buildcraft.core.proxy.CoreProxy;
import java.util.List;
-
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
import net.minecraft.command.WrongUsageException;
-import buildcraft.core.proxy.CoreProxy;
public class CommandBuildCraft extends CommandBase {
diff --git a/common/buildcraft/core/CoreIconProvider.java b/common/buildcraft/core/CoreIconProvider.java
index 69de9650..7b288956 100644
--- a/common/buildcraft/core/CoreIconProvider.java
+++ b/common/buildcraft/core/CoreIconProvider.java
@@ -1,10 +1,10 @@
package buildcraft.core;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class CoreIconProvider implements IIconProvider {
diff --git a/common/buildcraft/core/CreativeTabBuildCraft.java b/common/buildcraft/core/CreativeTabBuildCraft.java
index d0e81c30..dcb77115 100644
--- a/common/buildcraft/core/CreativeTabBuildCraft.java
+++ b/common/buildcraft/core/CreativeTabBuildCraft.java
@@ -1,8 +1,8 @@
package buildcraft.core;
+import buildcraft.BuildCraftCore;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
-import buildcraft.BuildCraftCore;
public class CreativeTabBuildCraft extends CreativeTabs {
diff --git a/common/buildcraft/core/DefaultProps.java b/common/buildcraft/core/DefaultProps.java
index bc658c81..ce3e017f 100644
--- a/common/buildcraft/core/DefaultProps.java
+++ b/common/buildcraft/core/DefaultProps.java
@@ -25,11 +25,6 @@ public class DefaultProps {
public static String TEXTURE_PATH_BLOCKS = "/gfx/buildcraft/blocks";
public static String TEXTURE_PATH_ENTITIES = "/gfx/buildcraft/entities";
- public static String TEXTURE_BLOCKS = TEXTURE_PATH_BLOCKS + "/blocks.png";
- public static String TEXTURE_ITEMS = "/gfx/buildcraft/items/items.png";
- public static String TEXTURE_ICONS = TEXTURE_PATH_GUI + "/icons.png";
- public static String TEXTURE_TRIGGERS = TEXTURE_PATH_GUI + "/triggers.png";
-
public static final String DEFAULT_LANGUAGE = "en_US";
public static String PUMP_DIMENSION_LIST = "+/*/*,+/-1/Lava";
@@ -42,7 +37,6 @@ public class DefaultProps {
public static int TEMPLATE_ITEM_ID = 19105;
public static int WRENCH_ID = 19106;
public static int BUCKET_OIL_ID = 19107;
- public static int FUEL_ID = 19108;
public static int PIPE_WATERPROOF_ID = 19109;
public static int BUCKET_FUEL_ID = 19110;
public static int GATE_ID = 19111;
@@ -113,15 +107,16 @@ public class DefaultProps {
public static int ASSEMBLY_TABLE_ID = 1517;
public static int PATH_MARKER_ID = 1518;
public static int HOPPER_ID = 1519;
- public static int OIL_MOVING_ID = 1520;
- public static int OIL_STILL_ID = 1521;
public static int SPRING_ID = 1522;
public static int FILTERED_BUFFER = 1523;
+
+ public static int OIL_ID = 1530;
+ public static int FUEL_ID = 1531;
public static boolean CURRENT_CONTINUOUS = false;
public static double PIPES_DURABILITY = 0.25D;
public static boolean FILLER_DESTROY = false;
-
+
public static final int FILLER_LIFESPAN_TOUGH = 20;
public static final int FILLER_LIFESPAN_NORMAL = 6000;
@@ -170,4 +165,6 @@ public class DefaultProps {
public static int ACTION_ENERGY_PULSER = 9;
public static int ACTION_SINGLE_ENERGY_PULSE = 10;
+ public static int BIOME_OIL_OCEAN = 160;
+ public static int BIOME_OIL_DESERT = 161;
}
diff --git a/common/buildcraft/core/EntityBlock.java b/common/buildcraft/core/EntityBlock.java
index a52c0e78..6c833306 100644
--- a/common/buildcraft/core/EntityBlock.java
+++ b/common/buildcraft/core/EntityBlock.java
@@ -7,12 +7,12 @@
*/
package buildcraft.core;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class EntityBlock extends Entity {
diff --git a/common/buildcraft/core/EntityEnergyLaser.java b/common/buildcraft/core/EntityEnergyLaser.java
index 92b5f68e..4248ddc2 100644
--- a/common/buildcraft/core/EntityEnergyLaser.java
+++ b/common/buildcraft/core/EntityEnergyLaser.java
@@ -1,22 +1,21 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.core;
-import net.minecraft.world.World;
import buildcraft.api.core.Position;
+import static buildcraft.core.EntityLaser.LASER_TEXTURES;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
public class EntityEnergyLaser extends EntityLaser {
public static final short POWER_AVERAGING = 100;
public int displayStage = 0;
-
private final float power[] = new float[POWER_AVERAGING];
private int powerIndex = 0;
private float powerAverage = 0;
@@ -46,16 +45,15 @@ public class EntityEnergyLaser extends EntityLaser {
}
@Override
- public String getTexture() {
-
+ public ResourceLocation getTexture() {
if (getPowerAverage() <= 1.0)
- return DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_1.png";
+ return LASER_TEXTURES[0];
else if (getPowerAverage() <= 2.0)
- return DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_2.png";
+ return LASER_TEXTURES[1];
else if (getPowerAverage() <= 3.0)
- return DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_3.png";
+ return LASER_TEXTURES[2];
else
- return DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_4.png";
+ return LASER_TEXTURES[3];
}
@Override
diff --git a/common/buildcraft/core/EntityLaser.java b/common/buildcraft/core/EntityLaser.java
index 12cca57c..f0fc3260 100644
--- a/common/buildcraft/core/EntityLaser.java
+++ b/common/buildcraft/core/EntityLaser.java
@@ -7,14 +7,20 @@
*/
package buildcraft.core;
-import net.minecraft.entity.Entity;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import buildcraft.api.core.Position;
import buildcraft.core.proxy.CoreProxy;
+import net.minecraft.entity.Entity;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
public abstract class EntityLaser extends Entity {
+ public static final ResourceLocation[] LASER_TEXTURES = new ResourceLocation[]{
+ new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_1.png"),
+ new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_2.png"),
+ new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_3.png"),
+ new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_ENTITIES + "/laser_4.png")};
protected Position head, tail;
public double renderSize = 0;
public double angleY = 0;
@@ -142,7 +148,7 @@ public abstract class EntityLaser extends Entity {
return this.isVisible;
}
- public abstract String getTexture();
+ public abstract ResourceLocation getTexture();
protected int encodeDouble(double d) {
return (int) (d * 8192);
diff --git a/common/buildcraft/core/EntityPassiveItem.java b/common/buildcraft/core/EntityPassiveItem.java
index e3854caf..fb159336 100644
--- a/common/buildcraft/core/EntityPassiveItem.java
+++ b/common/buildcraft/core/EntityPassiveItem.java
@@ -9,8 +9,12 @@
package buildcraft.core;
+import buildcraft.BuildCraftCore;
+import buildcraft.api.core.Position;
+import buildcraft.api.transport.IPassiveItemContribution;
+import buildcraft.api.transport.IPipedItem;
+import buildcraft.core.proxy.CoreProxy;
import java.util.TreeMap;
-
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -20,11 +24,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.BuildCraftCore;
-import buildcraft.api.core.Position;
-import buildcraft.api.transport.IPassiveItemContribution;
-import buildcraft.api.transport.IPipedItem;
-import buildcraft.core.proxy.CoreProxy;
public class EntityPassiveItem implements IPipedItem {
diff --git a/common/buildcraft/core/EntityPowerLaser.java b/common/buildcraft/core/EntityPowerLaser.java
index 91e1c63c..edf3f424 100644
--- a/common/buildcraft/core/EntityPowerLaser.java
+++ b/common/buildcraft/core/EntityPowerLaser.java
@@ -1,10 +1,12 @@
package buildcraft.core;
-import net.minecraft.world.World;
import buildcraft.api.core.Position;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
public class EntityPowerLaser extends EntityLaser {
- private String texture;
+
+ private byte texture;
public EntityPowerLaser(World world) {
super(world);
@@ -17,23 +19,23 @@ public class EntityPowerLaser extends EntityLaser {
@Override
protected void entityInit() {
super.entityInit();
- dataWatcher.addObject(15, "");
+ dataWatcher.addObject(15, (byte) 0);
}
@Override
- public String getTexture() {
- return texture;
+ public ResourceLocation getTexture() {
+ return LASER_TEXTURES[texture];
}
- public void setTexture(String texture) {
- this.texture = texture;
+ public void setTexture(int texture) {
+ this.texture = (byte) texture;
needsUpdate = true;
}
@Override
protected void updateDataClient() {
super.updateDataClient();
- texture = dataWatcher.getWatchableObjectString(15);
+ texture = dataWatcher.getWatchableObjectByte(15);
}
@Override
diff --git a/common/buildcraft/core/EntityRobot.java b/common/buildcraft/core/EntityRobot.java
index 397aa376..2c01b917 100644
--- a/common/buildcraft/core/EntityRobot.java
+++ b/common/buildcraft/core/EntityRobot.java
@@ -7,23 +7,20 @@
*/
package buildcraft.core;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import buildcraft.BuildCraftCore;
import buildcraft.builders.blueprints.BlueprintBuilder.SchematicBuilder;
import buildcraft.api.core.Position;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.BlockUtil;
-
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
-
import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import net.minecraft.entity.Entity;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
public class EntityRobot extends Entity implements IEntityAdditionalSpawnData {
diff --git a/common/buildcraft/core/IBptContributor.java b/common/buildcraft/core/IBptContributor.java
index e7d6670d..2e008e4b 100644
--- a/common/buildcraft/core/IBptContributor.java
+++ b/common/buildcraft/core/IBptContributor.java
@@ -1,8 +1,8 @@
package buildcraft.core;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.core.blueprints.BptBase;
+import net.minecraft.tileentity.TileEntity;
public interface IBptContributor {
diff --git a/common/buildcraft/core/IMachine.java b/common/buildcraft/core/IMachine.java
index 0f8a2aa0..3ced98a9 100644
--- a/common/buildcraft/core/IMachine.java
+++ b/common/buildcraft/core/IMachine.java
@@ -15,7 +15,7 @@ public interface IMachine {
public boolean isActive();
- public boolean manageLiquids();
+ public boolean manageFluids();
public boolean manageSolids();
diff --git a/common/buildcraft/core/ItemBlockBuildCraft.java b/common/buildcraft/core/ItemBlockBuildCraft.java
index b589b9d9..31f5df78 100644
--- a/common/buildcraft/core/ItemBlockBuildCraft.java
+++ b/common/buildcraft/core/ItemBlockBuildCraft.java
@@ -1,8 +1,8 @@
package buildcraft.core;
+import buildcraft.core.utils.StringUtils;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
-import buildcraft.core.utils.StringUtils;
public class ItemBlockBuildCraft extends ItemBlock {
diff --git a/common/buildcraft/core/ItemBuildCraft.java b/common/buildcraft/core/ItemBuildCraft.java
index 4150d35f..42a8467b 100644
--- a/common/buildcraft/core/ItemBuildCraft.java
+++ b/common/buildcraft/core/ItemBuildCraft.java
@@ -9,12 +9,12 @@
package buildcraft.core;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import buildcraft.core.utils.StringUtils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
public class ItemBuildCraft extends Item {
diff --git a/common/buildcraft/core/ItemRedstoneChipset.java b/common/buildcraft/core/ItemRedstoneChipset.java
index 96db80e7..ff3bd7e5 100644
--- a/common/buildcraft/core/ItemRedstoneChipset.java
+++ b/common/buildcraft/core/ItemRedstoneChipset.java
@@ -1,13 +1,12 @@
package buildcraft.core;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
-
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class ItemRedstoneChipset extends ItemBuildCraft {
diff --git a/common/buildcraft/core/ItemSpring.java b/common/buildcraft/core/ItemSpring.java
index 95013b06..53317134 100644
--- a/common/buildcraft/core/ItemSpring.java
+++ b/common/buildcraft/core/ItemSpring.java
@@ -10,7 +10,6 @@
package buildcraft.core;
import java.util.Locale;
-
import net.minecraft.item.ItemStack;
public class ItemSpring extends ItemBlockBuildCraft {
diff --git a/common/buildcraft/core/ItemWrench.java b/common/buildcraft/core/ItemWrench.java
index 4bb3cb7e..8dace6f9 100644
--- a/common/buildcraft/core/ItemWrench.java
+++ b/common/buildcraft/core/ItemWrench.java
@@ -1,11 +1,11 @@
package buildcraft.core;
+import buildcraft.api.tools.IToolWrench;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.tools.IToolWrench;
public class ItemWrench extends ItemBuildCraft implements IToolWrench {
diff --git a/common/buildcraft/core/SpringPopulate.java b/common/buildcraft/core/SpringPopulate.java
index 309692d3..b536409b 100644
--- a/common/buildcraft/core/SpringPopulate.java
+++ b/common/buildcraft/core/SpringPopulate.java
@@ -7,15 +7,14 @@
*/
package buildcraft.core;
+import buildcraft.BuildCraftCore;
import java.util.Random;
-
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
import net.minecraftforge.event.terraingen.TerrainGen;
-import buildcraft.BuildCraftCore;
public class SpringPopulate {
diff --git a/common/buildcraft/core/TickHandlerCoreClient.java b/common/buildcraft/core/TickHandlerCoreClient.java
index 97b80506..bd99976c 100644
--- a/common/buildcraft/core/TickHandlerCoreClient.java
+++ b/common/buildcraft/core/TickHandlerCoreClient.java
@@ -1,11 +1,10 @@
package buildcraft.core;
-import java.util.EnumSet;
-
-import net.minecraft.entity.player.EntityPlayer;
import buildcraft.core.proxy.CoreProxy;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType;
+import java.util.EnumSet;
+import net.minecraft.entity.player.EntityPlayer;
public class TickHandlerCoreClient implements ITickHandler {
diff --git a/common/buildcraft/core/TileBuffer.java b/common/buildcraft/core/TileBuffer.java
index 88d7d22e..cd5a78a8 100644
--- a/common/buildcraft/core/TileBuffer.java
+++ b/common/buildcraft/core/TileBuffer.java
@@ -7,10 +7,10 @@
*/
package buildcraft.core;
+import buildcraft.api.core.SafeTimeTracker;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-import buildcraft.api.core.SafeTimeTracker;
import net.minecraftforge.common.ForgeDirection;
public final class TileBuffer {
diff --git a/common/buildcraft/core/TileBuildCraft.java b/common/buildcraft/core/TileBuildCraft.java
index 6db37aba..092e6ccf 100644
--- a/common/buildcraft/core/TileBuildCraft.java
+++ b/common/buildcraft/core/TileBuildCraft.java
@@ -7,11 +7,6 @@
*/
package buildcraft.core;
-import java.util.HashMap;
-import java.util.Map;
-
-import net.minecraft.network.packet.Packet;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.api.power.IPowerReceptor;
import buildcraft.core.network.ISynchronizedTile;
import buildcraft.core.network.PacketPayload;
@@ -20,7 +15,10 @@ import buildcraft.core.network.PacketUpdate;
import buildcraft.core.network.TilePacketWrapper;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
-import net.minecraft.world.World;
+import java.util.HashMap;
+import java.util.Map;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.tileentity.TileEntity;
public abstract class TileBuildCraft extends TileEntity implements ISynchronizedTile {
diff --git a/common/buildcraft/core/Version.java b/common/buildcraft/core/Version.java
index b6110953..35f75fd9 100644
--- a/common/buildcraft/core/Version.java
+++ b/common/buildcraft/core/Version.java
@@ -1,14 +1,13 @@
package buildcraft.core;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.proxy.CoreProxy;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
-
import net.minecraftforge.common.Property;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.proxy.CoreProxy;
public class Version implements Runnable {
diff --git a/common/buildcraft/core/blueprints/BptBase.java b/common/buildcraft/core/blueprints/BptBase.java
index d2105a0f..22f09ff3 100644
--- a/common/buildcraft/core/blueprints/BptBase.java
+++ b/common/buildcraft/core/blueprints/BptBase.java
@@ -9,6 +9,10 @@
package buildcraft.core.blueprints;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.Box;
+import buildcraft.core.Version;
+import buildcraft.core.proxy.CoreProxy;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -20,11 +24,6 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.Box;
-import buildcraft.core.Version;
-import buildcraft.core.proxy.CoreProxy;
-
public abstract class BptBase {
BptSlot contents[][][];
diff --git a/common/buildcraft/core/blueprints/BptBlueprint.java b/common/buildcraft/core/blueprints/BptBlueprint.java
index ce08322b..e52aeeac 100644
--- a/common/buildcraft/core/blueprints/BptBlueprint.java
+++ b/common/buildcraft/core/blueprints/BptBlueprint.java
@@ -9,20 +9,6 @@
package buildcraft.core.blueprints;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.TreeSet;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTBase;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.BuildCraftCore;
import buildcraft.api.blueprints.BlockSignature;
import buildcraft.api.blueprints.BlueprintManager;
@@ -31,6 +17,19 @@ import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.api.blueprints.ItemSignature;
import buildcraft.core.IBptContributor;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.TreeSet;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
public class BptBlueprint extends BptBase {
diff --git a/common/buildcraft/core/blueprints/BptBuilderBase.java b/common/buildcraft/core/blueprints/BptBuilderBase.java
index 874e53b0..c3be6bb0 100644
--- a/common/buildcraft/core/blueprints/BptBuilderBase.java
+++ b/common/buildcraft/core/blueprints/BptBuilderBase.java
@@ -9,11 +9,11 @@
package buildcraft.core.blueprints;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.World;
import buildcraft.api.core.IAreaProvider;
import buildcraft.core.Box;
import buildcraft.core.IBuilderInventory;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.world.World;
public abstract class BptBuilderBase implements IAreaProvider {
diff --git a/common/buildcraft/core/blueprints/BptBuilderBlueprint.java b/common/buildcraft/core/blueprints/BptBuilderBlueprint.java
index e1ae8827..9b888f5a 100644
--- a/common/buildcraft/core/blueprints/BptBuilderBlueprint.java
+++ b/common/buildcraft/core/blueprints/BptBuilderBlueprint.java
@@ -9,21 +9,20 @@
package buildcraft.core.blueprints;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.IBuilderInventory;
+import buildcraft.core.blueprints.BptSlot.Mode;
+import buildcraft.core.utils.BlockUtil;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.TreeMap;
import java.util.TreeSet;
-
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.EnumGameType;
import net.minecraft.world.World;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.IBuilderInventory;
-import buildcraft.core.blueprints.BptSlot.Mode;
-import buildcraft.core.utils.BlockUtil;
public class BptBuilderBlueprint extends BptBuilderBase {
diff --git a/common/buildcraft/core/blueprints/BptBuilderTemplate.java b/common/buildcraft/core/blueprints/BptBuilderTemplate.java
index 2f4d76f3..c1ba8cde 100644
--- a/common/buildcraft/core/blueprints/BptBuilderTemplate.java
+++ b/common/buildcraft/core/blueprints/BptBuilderTemplate.java
@@ -9,12 +9,11 @@
package buildcraft.core.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
import buildcraft.core.IBuilderInventory;
import buildcraft.core.blueprints.BptSlot.Mode;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
public class BptBuilderTemplate extends BptBuilderBase {
diff --git a/common/buildcraft/core/blueprints/BptContext.java b/common/buildcraft/core/blueprints/BptContext.java
index 45bdd3c6..ff74dfdd 100644
--- a/common/buildcraft/core/blueprints/BptContext.java
+++ b/common/buildcraft/core/blueprints/BptContext.java
@@ -9,12 +9,12 @@
package buildcraft.core.blueprints;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.api.core.IBox;
import buildcraft.api.core.Position;
import buildcraft.core.Box;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
public class BptContext implements IBptContext {
diff --git a/common/buildcraft/core/blueprints/BptItem.java b/common/buildcraft/core/blueprints/BptItem.java
index f6fbf916..59329dc9 100644
--- a/common/buildcraft/core/blueprints/BptItem.java
+++ b/common/buildcraft/core/blueprints/BptItem.java
@@ -9,11 +9,10 @@
package buildcraft.core.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
public class BptItem {
diff --git a/common/buildcraft/core/blueprints/BptPlayerIndex.java b/common/buildcraft/core/blueprints/BptPlayerIndex.java
index 3eccf675..dd38205c 100644
--- a/common/buildcraft/core/blueprints/BptPlayerIndex.java
+++ b/common/buildcraft/core/blueprints/BptPlayerIndex.java
@@ -1,5 +1,6 @@
package buildcraft.core.blueprints;
+import buildcraft.core.proxy.CoreProxy;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -10,8 +11,6 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.TreeMap;
-import buildcraft.core.proxy.CoreProxy;
-
public class BptPlayerIndex {
private TreeMap bluePrintsFile = new TreeMap();
diff --git a/common/buildcraft/core/blueprints/BptRootIndex.java b/common/buildcraft/core/blueprints/BptRootIndex.java
index dd30d145..275562ec 100644
--- a/common/buildcraft/core/blueprints/BptRootIndex.java
+++ b/common/buildcraft/core/blueprints/BptRootIndex.java
@@ -9,6 +9,7 @@
package buildcraft.core.blueprints;
+import buildcraft.core.proxy.CoreProxy;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -19,8 +20,6 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.TreeMap;
-import buildcraft.core.proxy.CoreProxy;
-
public class BptRootIndex {
private TreeMap bluePrintsFile = new TreeMap();
diff --git a/common/buildcraft/core/blueprints/BptSlot.java b/common/buildcraft/core/blueprints/BptSlot.java
index b402148a..f34f1a8a 100644
--- a/common/buildcraft/core/blueprints/BptSlot.java
+++ b/common/buildcraft/core/blueprints/BptSlot.java
@@ -1,12 +1,11 @@
package buildcraft.core.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import buildcraft.api.blueprints.BlueprintManager;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
public class BptSlot extends BptSlotInfo {
diff --git a/common/buildcraft/core/gui/GuiAdvancedInterface.java b/common/buildcraft/core/gui/GuiAdvancedInterface.java
index 5f69c49a..52909de0 100644
--- a/common/buildcraft/core/gui/GuiAdvancedInterface.java
+++ b/common/buildcraft/core/gui/GuiAdvancedInterface.java
@@ -2,10 +2,10 @@ package buildcraft.core.gui;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
+import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
-
import org.lwjgl.opengl.GL11;
public abstract class GuiAdvancedInterface extends GuiBuildCraft {
@@ -45,7 +45,7 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft {
if (getItemStack() != null) {
drawStack(getItemStack());
} else if (getTexture() != null) {
- mc.renderEngine.bindTexture("/gui/items.png");
+ mc.renderEngine.func_110577_a(TextureMap.field_110576_c);
//System.out.printf("Drawing advanced sprite %s (%d,%d) at %d %d\n", getTexture().getIconName(), getTexture().getOriginX(),getTexture().getOriginY(),cornerX + x, cornerY + y);
drawTexturedModelRectFromIcon(cornerX + x, cornerY + y, getTexture(), 16, 16);
}
diff --git a/common/buildcraft/core/gui/GuiBuildCraft.java b/common/buildcraft/core/gui/GuiBuildCraft.java
index 8c47fbff..86baf703 100644
--- a/common/buildcraft/core/gui/GuiBuildCraft.java
+++ b/common/buildcraft/core/gui/GuiBuildCraft.java
@@ -1,26 +1,25 @@
package buildcraft.core.gui;
-import java.util.ArrayList;
-
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.buttons.GuiBetterButton;
import buildcraft.core.gui.slots.SlotBase;
import buildcraft.core.gui.tooltips.ToolTip;
import buildcraft.core.gui.tooltips.ToolTipLine;
import buildcraft.core.utils.SessionVars;
+import java.util.ArrayList;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.client.renderer.RenderHelper;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public abstract class GuiBuildCraft extends GuiContainer {
+ public static final ResourceLocation LEDGER_TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/ledger.png");
// / LEDGERS
protected LedgerManager ledgerManager = new LedgerManager(this);
@@ -210,7 +209,7 @@ public abstract class GuiBuildCraft extends GuiContainer {
GL11.glColor4f(colorR, colorG, colorB, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/ledger.png");
+ mc.renderEngine.func_110577_a(LEDGER_TEXTURE);
drawTexturedModalRect(x, y, 0, 256 - currentHeight, 4, currentHeight);
drawTexturedModalRect(x + 4, y, 256 - currentWidth + 4, 0, currentWidth - 4, 4);
// Add in top left corner again
diff --git a/common/buildcraft/core/gui/buttons/GuiBetterButton.java b/common/buildcraft/core/gui/buttons/GuiBetterButton.java
index 07f390ae..7b24f659 100644
--- a/common/buildcraft/core/gui/buttons/GuiBetterButton.java
+++ b/common/buildcraft/core/gui/buttons/GuiBetterButton.java
@@ -1,14 +1,14 @@
package buildcraft.core.gui.buttons;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.FontRenderer;
-import net.minecraft.client.gui.GuiButton;
-
-import org.lwjgl.opengl.GL11;
-
+import buildcraft.core.DefaultProps;
import buildcraft.core.gui.tooltips.ToolTip;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
/**
*
@@ -17,7 +17,7 @@ import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GuiBetterButton extends GuiButton {
- public static final String BUTTON_TEXTURES = "/gfx/buildcraft/gui/buttons.png";
+ public static final ResourceLocation BUTTON_TEXTURES = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/buttons.png");
protected final IButtonTextureSet texture;
private ToolTip toolTip;
@@ -57,7 +57,7 @@ public class GuiBetterButton extends GuiButton {
}
protected void bindButtonTextures(Minecraft minecraft) {
- minecraft.renderEngine.bindTexture(BUTTON_TEXTURES);
+ minecraft.renderEngine.func_110577_a(BUTTON_TEXTURES);
}
@Override
diff --git a/common/buildcraft/core/gui/buttons/GuiMultiButton.java b/common/buildcraft/core/gui/buttons/GuiMultiButton.java
index 9c0e0352..d5928ff2 100644
--- a/common/buildcraft/core/gui/buttons/GuiMultiButton.java
+++ b/common/buildcraft/core/gui/buttons/GuiMultiButton.java
@@ -1,12 +1,10 @@
package buildcraft.core.gui.buttons;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.FontRenderer;
-
-import org.lwjgl.opengl.GL11;
-
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.FontRenderer;
+import org.lwjgl.opengl.GL11;
/**
*
diff --git a/common/buildcraft/core/gui/slots/SlotValidated.java b/common/buildcraft/core/gui/slots/SlotValidated.java
index af58c72c..b3e1a89f 100644
--- a/common/buildcraft/core/gui/slots/SlotValidated.java
+++ b/common/buildcraft/core/gui/slots/SlotValidated.java
@@ -1,6 +1,6 @@
/*
* Copyright (c) CovertJaguar, 2011 http://railcraft.info
- *
+ *
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
@@ -24,6 +24,6 @@ public class SlotValidated extends Slot {
@Override
public boolean isItemValid(ItemStack itemStack) {
- return inventory.isStackValidForSlot(this.getSlotIndex(), itemStack);
+ return inventory.isItemValidForSlot(this.getSlotIndex(), itemStack);
}
}
diff --git a/common/buildcraft/core/gui/tooltips/ToolTip.java b/common/buildcraft/core/gui/tooltips/ToolTip.java
index 48c304df..48ab984d 100644
--- a/common/buildcraft/core/gui/tooltips/ToolTip.java
+++ b/common/buildcraft/core/gui/tooltips/ToolTip.java
@@ -1,10 +1,9 @@
package buildcraft.core.gui.tooltips;
+import com.google.common.collect.ForwardingList;
import java.util.ArrayList;
import java.util.List;
-import com.google.common.collect.ForwardingList;
-
/**
*
* @author CovertJaguar
diff --git a/common/buildcraft/core/inventory/InventoryConcatenator.java b/common/buildcraft/core/inventory/InventoryConcatenator.java
new file mode 100644
index 00000000..f2119dd9
--- /dev/null
+++ b/common/buildcraft/core/inventory/InventoryConcatenator.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) SpaceToad, 2011-2012
+ * http://www.mod-buildcraft.com
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public
+ * License 1.0, or MMPL. Please check the contents of the license located in
+ * http://www.mod-buildcraft.com/MMPL-1.0.txt
+ */
+package buildcraft.core.inventory;
+
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+
+/**
+ * Allows you to deal with multiple inventories through a single interface.
+ *
+ * @author CovertJaguar
+ */
+public class InventoryConcatenator implements IInventory {
+
+ private final List slotMap = new ArrayList();
+ private final List invMap = new ArrayList();
+
+ private InventoryConcatenator() {
+ }
+
+ public static InventoryConcatenator make() {
+ return new InventoryConcatenator();
+ }
+
+ public InventoryConcatenator add(IInventory inv) {
+ for (int slot = 0; slot < inv.getSizeInventory(); slot++) {
+ slotMap.add(slot);
+ invMap.add(inv);
+ }
+ return this;
+ }
+
+ @Override
+ public int getSizeInventory() {
+ return slotMap.size();
+ }
+
+ @Override
+ public ItemStack getStackInSlot(int slot) {
+ return invMap.get(slot).getStackInSlot(slotMap.get(slot));
+ }
+
+ @Override
+ public ItemStack decrStackSize(int slot, int amount) {
+ return invMap.get(slot).decrStackSize(slotMap.get(slot), amount);
+ }
+
+ @Override
+ public ItemStack getStackInSlotOnClosing(int slot) {
+ return invMap.get(slot).getStackInSlotOnClosing(slotMap.get(slot));
+ }
+
+ @Override
+ public void setInventorySlotContents(int slot, ItemStack stack) {
+ invMap.get(slot).setInventorySlotContents(slotMap.get(slot), stack);
+ }
+
+ @Override
+ public String getInvName() {
+ return "";
+ }
+
+ @Override
+ public boolean isInvNameLocalized() {
+ return false;
+ }
+
+ @Override
+ public int getInventoryStackLimit() {
+ return 64;
+ }
+
+ @Override
+ public void onInventoryChanged() {
+ }
+
+ @Override
+ public boolean isUseableByPlayer(EntityPlayer entityplayer) {
+ return true;
+ }
+
+ @Override
+ public void openChest() {
+ }
+
+ @Override
+ public void closeChest() {
+ }
+
+ @Override
+ public boolean isItemValidForSlot(int slot, ItemStack stack) {
+ return invMap.get(slot).isItemValidForSlot(slotMap.get(slot), stack);
+ }
+}
diff --git a/common/buildcraft/core/inventory/InventoryCopy.java b/common/buildcraft/core/inventory/InventoryCopy.java
index 258dcffc..8acd85b9 100644
--- a/common/buildcraft/core/inventory/InventoryCopy.java
+++ b/common/buildcraft/core/inventory/InventoryCopy.java
@@ -105,8 +105,8 @@ public class InventoryCopy implements IInventory {
}
@Override
- public boolean isStackValidForSlot(int slot, ItemStack stack) {
- return orignal.isStackValidForSlot(slot, stack);
+ public boolean isItemValidForSlot(int slot, ItemStack stack) {
+ return orignal.isItemValidForSlot(slot, stack);
}
public ItemStack[] getItemStacks() {
diff --git a/common/buildcraft/core/inventory/InventoryIterator.java b/common/buildcraft/core/inventory/InventoryIterator.java
index d0ff6935..124a682e 100644
--- a/common/buildcraft/core/inventory/InventoryIterator.java
+++ b/common/buildcraft/core/inventory/InventoryIterator.java
@@ -1,6 +1,5 @@
package buildcraft.core.inventory;
-import buildcraft.core.inventory.InventoryIterator.IInvSlot;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
diff --git a/common/buildcraft/core/inventory/InventoryIteratorSimple.java b/common/buildcraft/core/inventory/InventoryIteratorSimple.java
index 96e0f940..5d8c2428 100644
--- a/common/buildcraft/core/inventory/InventoryIteratorSimple.java
+++ b/common/buildcraft/core/inventory/InventoryIteratorSimple.java
@@ -58,7 +58,7 @@ class InventoryIteratorSimple implements Iterable {
@Override
public boolean canPutStackInSlot(ItemStack stack) {
- return inv.isStackValidForSlot(slot, stack);
+ return inv.isItemValidForSlot(slot, stack);
}
@Override
diff --git a/common/buildcraft/core/inventory/InventoryMapper.java b/common/buildcraft/core/inventory/InventoryMapper.java
index eaf2f9ee..f6107012 100644
--- a/common/buildcraft/core/inventory/InventoryMapper.java
+++ b/common/buildcraft/core/inventory/InventoryMapper.java
@@ -107,9 +107,9 @@ public class InventoryMapper implements IInventory {
}
@Override
- public boolean isStackValidForSlot(int slot, ItemStack stack) {
+ public boolean isItemValidForSlot(int slot, ItemStack stack) {
if (checkItems) {
- return inv.isStackValidForSlot(start + slot, stack);
+ return inv.isItemValidForSlot(start + slot, stack);
}
return true;
}
diff --git a/common/buildcraft/core/inventory/InventoryWrapper.java b/common/buildcraft/core/inventory/InventoryWrapper.java
index 0dc718e5..38b5d479 100644
--- a/common/buildcraft/core/inventory/InventoryWrapper.java
+++ b/common/buildcraft/core/inventory/InventoryWrapper.java
@@ -1,19 +1,19 @@
package buildcraft.core.inventory;
+import buildcraft.core.utils.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
-import buildcraft.core.utils.Utils;
public abstract class InventoryWrapper implements ISidedInventory {
IInventory inventory;
-
+
public InventoryWrapper(IInventory inventory) {
this.inventory = inventory;
}
-
+
/* DIRECT MAPPING */
@Override public int getSizeInventory() { return inventory.getSizeInventory(); }
@Override public ItemStack getStackInSlot(int slotIndex) { return inventory.getStackInSlot(slotIndex); }
@@ -27,7 +27,7 @@ public abstract class InventoryWrapper implements ISidedInventory {
@Override public boolean isUseableByPlayer(EntityPlayer entityplayer) { return inventory.isUseableByPlayer(entityplayer); }
@Override public void openChest() { inventory.openChest(); }
@Override public void closeChest() { inventory.closeChest(); }
- @Override public boolean isStackValidForSlot(int slotIndex, ItemStack itemstack) { return inventory.isStackValidForSlot(slotIndex, itemstack); }
+ @Override public boolean isItemValidForSlot(int slotIndex, ItemStack itemstack) { return inventory.isItemValidForSlot(slotIndex, itemstack); }
/* STATIC HELPER */
public static ISidedInventory getWrappedInventory(Object inventory) {
diff --git a/common/buildcraft/core/inventory/InventoryWrapperForge.java b/common/buildcraft/core/inventory/InventoryWrapperForge.java
index 5fea0219..91f2ba8c 100644
--- a/common/buildcraft/core/inventory/InventoryWrapperForge.java
+++ b/common/buildcraft/core/inventory/InventoryWrapperForge.java
@@ -1,8 +1,8 @@
package buildcraft.core.inventory;
+import buildcraft.core.utils.Utils;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.core.utils.Utils;
public class InventoryWrapperForge extends InventoryWrapper {
diff --git a/common/buildcraft/core/inventory/InventoryWrapperSimple.java b/common/buildcraft/core/inventory/InventoryWrapperSimple.java
index 24e61f1e..2da6af71 100644
--- a/common/buildcraft/core/inventory/InventoryWrapperSimple.java
+++ b/common/buildcraft/core/inventory/InventoryWrapperSimple.java
@@ -1,18 +1,18 @@
package buildcraft.core.inventory;
+import buildcraft.core.utils.Utils;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
-import buildcraft.core.utils.Utils;
public class InventoryWrapperSimple extends InventoryWrapper {
private final int[] slots;
-
+
public InventoryWrapperSimple(IInventory inventory) {
super(inventory);
slots = Utils.createSlotArray(0, inventory.getSizeInventory());
}
-
+
@Override
public int[] getAccessibleSlotsFromSide(int var1) {
return slots;
@@ -20,7 +20,7 @@ public class InventoryWrapperSimple extends InventoryWrapper {
@Override
public boolean canInsertItem(int slotIndex, ItemStack itemstack, int side) {
- return isStackValidForSlot(slotIndex, itemstack);
+ return isItemValidForSlot(slotIndex, itemstack);
}
@Override
diff --git a/common/buildcraft/core/inventory/SimpleInventory.java b/common/buildcraft/core/inventory/SimpleInventory.java
index e88e0a60..244c2869 100644
--- a/common/buildcraft/core/inventory/SimpleInventory.java
+++ b/common/buildcraft/core/inventory/SimpleInventory.java
@@ -163,7 +163,7 @@ public class SimpleInventory implements IInventory, INBTTagable {
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return true;
}
}
diff --git a/common/buildcraft/core/inventory/Transactor.java b/common/buildcraft/core/inventory/Transactor.java
index c4b47fc2..fd2df49e 100644
--- a/common/buildcraft/core/inventory/Transactor.java
+++ b/common/buildcraft/core/inventory/Transactor.java
@@ -1,11 +1,11 @@
package buildcraft.core.inventory;
+import buildcraft.api.inventory.ISpecialInventory;
+import buildcraft.core.utils.Utils;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.inventory.ISpecialInventory;
-import buildcraft.core.utils.Utils;
public abstract class Transactor implements ITransactor {
diff --git a/common/buildcraft/core/inventory/TransactorSpecial.java b/common/buildcraft/core/inventory/TransactorSpecial.java
index 0db7891c..bd1c7f03 100644
--- a/common/buildcraft/core/inventory/TransactorSpecial.java
+++ b/common/buildcraft/core/inventory/TransactorSpecial.java
@@ -1,9 +1,9 @@
package buildcraft.core.inventory;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.inventory.ISpecialInventory;
import buildcraft.core.inventory.filters.IStackFilter;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.ForgeDirection;
public class TransactorSpecial extends Transactor {
diff --git a/common/buildcraft/core/liquids/LiquidUtils.java b/common/buildcraft/core/liquids/FluidUtils.java
similarity index 68%
rename from common/buildcraft/core/liquids/LiquidUtils.java
rename to common/buildcraft/core/liquids/FluidUtils.java
index 0b34a9e1..1903ff2c 100644
--- a/common/buildcraft/core/liquids/LiquidUtils.java
+++ b/common/buildcraft/core/liquids/FluidUtils.java
@@ -4,24 +4,24 @@ import buildcraft.core.utils.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidHandler;
/**
*
* @author CovertJaguar
*/
-public class LiquidUtils {
+public class FluidUtils {
- public static boolean handleRightClick(ITankContainer tank, ForgeDirection side, EntityPlayer player, boolean fill, boolean drain) {
+ public static boolean handleRightClick(IFluidHandler tank, ForgeDirection side, EntityPlayer player, boolean fill, boolean drain) {
if (player == null) {
return false;
}
ItemStack current = player.inventory.getCurrentItem();
if (current != null) {
- LiquidStack liquid = LiquidContainerRegistry.getLiquidForFilledItem(current);
+ FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(current);
if (fill && liquid != null) {
int used = tank.fill(side, liquid, true);
@@ -35,11 +35,11 @@ public class LiquidUtils {
} else if (drain) {
- LiquidStack available = tank.drain(side, Integer.MAX_VALUE, false);
+ FluidStack available = tank.drain(side, Integer.MAX_VALUE, false);
if (available != null) {
- ItemStack filled = LiquidContainerRegistry.fillLiquidContainer(available, current);
+ ItemStack filled = FluidContainerRegistry.fillFluidContainer(available, current);
- liquid = LiquidContainerRegistry.getLiquidForFilledItem(filled);
+ liquid = FluidContainerRegistry.getFluidForFilledItem(filled);
if (liquid != null) {
if (current.stackSize > 1) {
diff --git a/common/buildcraft/core/network/BuildCraftPacket.java b/common/buildcraft/core/network/BuildCraftPacket.java
index 8624833b..e1712054 100644
--- a/common/buildcraft/core/network/BuildCraftPacket.java
+++ b/common/buildcraft/core/network/BuildCraftPacket.java
@@ -1,13 +1,12 @@
package buildcraft.core.network;
+import buildcraft.core.DefaultProps;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.Packet250CustomPayload;
-import buildcraft.core.DefaultProps;
public abstract class BuildCraftPacket {
diff --git a/common/buildcraft/core/network/ClassMapping.java b/common/buildcraft/core/network/ClassMapping.java
index a18030b7..5e1899ed 100644
--- a/common/buildcraft/core/network/ClassMapping.java
+++ b/common/buildcraft/core/network/ClassMapping.java
@@ -9,14 +9,13 @@
package buildcraft.core.network;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.ByteBuffer;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
import java.util.LinkedList;
import java.util.TreeMap;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.ByteBuffer;
-
public class ClassMapping {
public static class Reporter {
diff --git a/common/buildcraft/core/network/PacketHandler.java b/common/buildcraft/core/network/PacketHandler.java
index a9d5a21d..8e291c9e 100644
--- a/common/buildcraft/core/network/PacketHandler.java
+++ b/common/buildcraft/core/network/PacketHandler.java
@@ -1,15 +1,14 @@
package buildcraft.core.network;
+import cpw.mods.fml.common.network.IPacketHandler;
+import cpw.mods.fml.common.network.Player;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
-
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-import cpw.mods.fml.common.network.IPacketHandler;
-import cpw.mods.fml.common.network.Player;
public class PacketHandler implements IPacketHandler {
diff --git a/common/buildcraft/core/network/PacketNBT.java b/common/buildcraft/core/network/PacketNBT.java
index 4fb6f9a2..0cf5a19a 100644
--- a/common/buildcraft/core/network/PacketNBT.java
+++ b/common/buildcraft/core/network/PacketNBT.java
@@ -3,7 +3,6 @@ package buildcraft.core.network;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
diff --git a/common/buildcraft/core/network/PacketSlotChange.java b/common/buildcraft/core/network/PacketSlotChange.java
index 4fbf36a9..43aa772b 100644
--- a/common/buildcraft/core/network/PacketSlotChange.java
+++ b/common/buildcraft/core/network/PacketSlotChange.java
@@ -3,7 +3,6 @@ package buildcraft.core.network;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompressedStreamTools;
diff --git a/common/buildcraft/core/network/TilePacketWrapper.java b/common/buildcraft/core/network/TilePacketWrapper.java
index 4a51421b..5e8349b2 100644
--- a/common/buildcraft/core/network/TilePacketWrapper.java
+++ b/common/buildcraft/core/network/TilePacketWrapper.java
@@ -9,9 +9,9 @@
package buildcraft.core.network;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.core.ByteBuffer;
import buildcraft.core.network.ClassMapping.Indexes;
+import net.minecraft.tileentity.TileEntity;
public class TilePacketWrapper {
diff --git a/common/buildcraft/core/proxy/CoreProxy.java b/common/buildcraft/core/proxy/CoreProxy.java
index b30c2546..ffde5076 100644
--- a/common/buildcraft/core/proxy/CoreProxy.java
+++ b/common/buildcraft/core/proxy/CoreProxy.java
@@ -7,10 +7,16 @@
*/
package buildcraft.core.proxy;
+import buildcraft.api.core.LaserKind;
+import buildcraft.core.EntityBlock;
+import buildcraft.core.ItemBlockBuildCraft;
+import buildcraft.core.network.BuildCraftPacket;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.registry.GameRegistry;
import java.io.File;
import java.util.List;
import java.util.Random;
-
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
@@ -24,16 +30,10 @@ import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.network.packet.Packet;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
import net.minecraftforge.oredict.ShapedOreRecipe;
-import buildcraft.api.core.LaserKind;
-import buildcraft.core.EntityBlock;
-import buildcraft.core.ItemBlockBuildCraft;
-import buildcraft.core.network.BuildCraftPacket;
-import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.registry.GameRegistry;
public class CoreProxy {
@@ -101,7 +101,7 @@ public class CoreProxy {
public void registerBlock(Block block) {
registerBlock(block, ItemBlockBuildCraft.class);
}
-
+
public void registerBlock(Block block, Class extends ItemBlock> item) {
GameRegistry.registerBlock(block, item, block.getUnlocalizedName().replace("tile.", ""));
}
@@ -174,9 +174,9 @@ public class CoreProxy {
}
private EntityPlayer createNewPlayer(World world) {
- EntityPlayer player = new EntityPlayer(world) {
+ EntityPlayer player = new EntityPlayer(world, "[BuildCraft]") {
@Override
- public void sendChatToPlayer(String var1) {
+ public void sendChatToPlayer(ChatMessageComponent var1) {
}
@Override
@@ -189,14 +189,13 @@ public class CoreProxy {
return null;
}
};
- player.username = "[BuildCraft]";
return player;
}
private EntityPlayer createNewPlayer(World world, int x, int y, int z) {
- EntityPlayer player = new EntityPlayer(world) {
+ EntityPlayer player = new EntityPlayer(world, "[BuildCraft]") {
@Override
- public void sendChatToPlayer(String var1) {
+ public void sendChatToPlayer(ChatMessageComponent var1) {
}
@Override
@@ -209,7 +208,6 @@ public class CoreProxy {
return null;
}
};
- player.username = "[BuildCraft]";
player.posX = x;
player.posY = y;
player.posZ = z;
diff --git a/common/buildcraft/core/proxy/CoreProxyClient.java b/common/buildcraft/core/proxy/CoreProxyClient.java
index 0e23290a..11f333c7 100644
--- a/common/buildcraft/core/proxy/CoreProxyClient.java
+++ b/common/buildcraft/core/proxy/CoreProxyClient.java
@@ -9,23 +9,6 @@
package buildcraft.core.proxy;
-import java.io.File;
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.multiplayer.WorldClient;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChunkCoordinates;
-import net.minecraft.util.StringTranslate;
-import net.minecraft.world.World;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.LaserKind;
import buildcraft.core.EntityBlock;
@@ -43,14 +26,33 @@ import buildcraft.transport.render.TileEntityPickupFX;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
+import java.io.File;
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.multiplayer.WorldClient;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ChatMessageComponent;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.util.StringTranslate;
+import net.minecraft.world.World;
public class CoreProxyClient extends CoreProxy {
/* INSTANCES */
+ @Override
public Object getClient() {
return FMLClientHandler.instance().getClient();
}
+ @Override
public World getClientWorld() {
return FMLClientHandler.instance().getClient().theWorld;
}
@@ -67,6 +69,7 @@ public class CoreProxyClient extends CoreProxy {
/* WRAPPER */
@SuppressWarnings("rawtypes")
+ @Override
public void feedSubBlocks(int id, CreativeTabs tab, List itemList) {
if (Block.blocksList[id] == null)
return;
@@ -119,7 +122,7 @@ public class CoreProxyClient extends CoreProxy {
@Override
public void initializeEntityRendering() {
- RenderingRegistry.registerEntityRenderingHandler(EntityBlock.class, new RenderEntityBlock());
+ RenderingRegistry.registerEntityRenderingHandler(EntityBlock.class, RenderEntityBlock.INSTANCE);
RenderingRegistry.registerEntityRenderingHandler(EntityPowerLaser.class, new RenderLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityEnergyLaser.class, new RenderEnergyLaser());
RenderingRegistry.registerEntityRenderingHandler(EntityRobot.class, new RenderRobot());
@@ -132,6 +135,7 @@ public class CoreProxyClient extends CoreProxy {
}
/* FILE SYSTEM */
+ @Override
public File getBuildCraftBase() {
return Minecraft.getMinecraftDir();
}
@@ -143,9 +147,9 @@ public class CoreProxyClient extends CoreProxy {
}
private EntityPlayer createNewPlayer(World world) {
- EntityPlayer player = new EntityPlayer(world) {
+ EntityPlayer player = new EntityPlayer(world, "[BuildCraft]") {
@Override
- public void sendChatToPlayer(String var1) {
+ public void sendChatToPlayer(ChatMessageComponent var1) {
}
@Override
@@ -158,7 +162,6 @@ public class CoreProxyClient extends CoreProxy {
return null;
}
};
- player.username = "[BuildCraft]";
return player;
}
@@ -170,7 +173,7 @@ public class CoreProxyClient extends CoreProxy {
return CoreProxy.buildCraftPlayer;
}
-
+
@Override
public EntityBlock newEntityBlock(World world, double i, double j, double k, double iSize, double jSize, double kSize, LaserKind laserKind) {
EntityBlock eb = super.newEntityBlock(world, i, j, k, iSize, jSize, kSize, laserKind);
diff --git a/common/buildcraft/core/render/FluidRenderer.java b/common/buildcraft/core/render/FluidRenderer.java
new file mode 100644
index 00000000..8ab5f0c3
--- /dev/null
+++ b/common/buildcraft/core/render/FluidRenderer.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
+ * http://www.mod-buildcraft.com/MMPL-1.0.txt
+ */
+package buildcraft.core.render;
+
+import buildcraft.core.render.RenderEntityBlock.BlockInterface;
+import java.util.HashMap;
+import java.util.Map;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.GLAllocation;
+import net.minecraft.util.Icon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import org.lwjgl.opengl.GL11;
+
+/**
+ *
+ * @author CovertJaguar
+ */
+public class FluidRenderer {
+
+ private static final ResourceLocation BLOCK_TEXTURE = new ResourceLocation("/terrain.png");
+ private static Map flowingRenderCache = new HashMap();
+ private static Map stillRenderCache = new HashMap();
+ public static final int DISPLAY_STAGES = 100;
+ private static final BlockInterface liquidBlock = new BlockInterface();
+
+ public static class MissingFluidTextureException extends RuntimeException {
+
+ private final FluidStack fluidStack;
+
+ public MissingFluidTextureException(FluidStack fluidStack) {
+ super();
+ this.fluidStack = fluidStack;
+ }
+
+ @Override
+ public String getMessage() {
+ String fluidName = FluidRegistry.getFluidName(fluidStack);
+ return String.format("Fluid %s has no icon. Please contact the author of the mod the fluid came from.", fluidName);
+ }
+ }
+
+ public static Icon getFluidTexture(FluidStack fluidStack, boolean flowing) {
+ if (fluidStack == null) {
+ return null;
+ }
+ Fluid fluid = fluidStack.getFluid();
+ Icon icon = flowing ? fluid.getFlowingIcon() : fluid.getStillIcon();
+ if (icon == null) {
+ throw new MissingFluidTextureException(fluidStack);
+ }
+ return icon;
+ }
+
+ public static ResourceLocation getFluidSheet(FluidStack liquid) {
+ return BLOCK_TEXTURE;
+ }
+
+ public static int[] getFluidDisplayLists(FluidStack fluidStack, World world, boolean flowing) {
+ if (fluidStack == null) {
+ return null;
+ }
+ Fluid fluid = fluidStack.getFluid();
+ if (fluid == null) {
+ return null;
+ }
+ Map cache = flowing ? flowingRenderCache : stillRenderCache;
+ int[] diplayLists = cache.get(fluid);
+ if (diplayLists != null) {
+ return diplayLists;
+ }
+
+ diplayLists = new int[DISPLAY_STAGES];
+
+ if (fluid.getBlockID() > 0) {
+ liquidBlock.baseBlock = Block.blocksList[fluid.getBlockID()];
+ liquidBlock.texture = getFluidTexture(fluidStack, flowing);
+ } else {
+ liquidBlock.baseBlock = Block.waterStill;
+ liquidBlock.texture = getFluidTexture(fluidStack, flowing);
+ }
+
+ cache.put(fluid, diplayLists);
+
+ GL11.glDisable(GL11.GL_LIGHTING);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_CULL_FACE);
+ int color = fluid.getColor(fluidStack);
+ float c1 = (float) (color >> 16 & 255) / 255.0F;
+ float c2 = (float) (color >> 8 & 255) / 255.0F;
+ float c3 = (float) (color & 255) / 255.0F;
+ GL11.glColor4f(c1, c2, c3, 1);
+ for (int s = 0; s < DISPLAY_STAGES; ++s) {
+ diplayLists[s] = GLAllocation.generateDisplayLists(1);
+ GL11.glNewList(diplayLists[s], 4864 /*GL_COMPILE*/);
+
+ liquidBlock.minX = 0.01f;
+ liquidBlock.minY = 0;
+ liquidBlock.minZ = 0.01f;
+
+ liquidBlock.maxX = 0.99f;
+ liquidBlock.maxY = (float) s / (float) DISPLAY_STAGES;
+ liquidBlock.maxZ = 0.99f;
+
+ RenderEntityBlock.INSTANCE.renderBlock(liquidBlock, world, 0, 0, 0, false, true);
+
+ GL11.glEndList();
+ }
+
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glEnable(GL11.GL_CULL_FACE);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glEnable(GL11.GL_LIGHTING);
+
+ return diplayLists;
+ }
+}
diff --git a/common/buildcraft/core/render/LiquidRenderer.java b/common/buildcraft/core/render/LiquidRenderer.java
deleted file mode 100644
index 03b25cd1..00000000
--- a/common/buildcraft/core/render/LiquidRenderer.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
- *
- * BuildCraft is distributed under the terms of the Minecraft Mod Public License
- * 1.0, or MMPL. Please check the contents of the license located in
- * http://www.mod-buildcraft.com/MMPL-1.0.txt
- */
-package buildcraft.core.render;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.GLAllocation;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.liquids.LiquidDictionary;
-import net.minecraftforge.liquids.LiquidStack;
-
-import org.lwjgl.opengl.GL11;
-
-import buildcraft.core.render.RenderEntityBlock.BlockInterface;
-
-/**
- *
- * @author CovertJaguar
- */
-public class LiquidRenderer {
-
- private static Map flowingRenderCache = new HashMap();
- private static Map stillRenderCache = new HashMap();
- public static final int DISPLAY_STAGES = 100;
- private static final BlockInterface liquidBlock = new BlockInterface();
-
- public static class LiquidTextureException extends RuntimeException {
-
- private final LiquidStack liquid;
-
- public LiquidTextureException(LiquidStack liquid) {
- super();
- this.liquid = liquid;
- }
-
- @Override
- public String getMessage() {
- String liquidName = LiquidDictionary.findLiquidName(liquid);
- if (liquidName == null) {
- liquidName = String.format("ID: %d Meta: %d", liquid.itemID, liquid.itemMeta);
- }
- return String.format("Liquid %s has no icon. Please contact the author of the mod the liquid came from.", liquidName);
- }
- }
-
- public static class LiquidCanonException extends RuntimeException {
-
- private final LiquidStack liquid;
-
- public LiquidCanonException(LiquidStack liquid) {
- super();
- this.liquid = liquid;
- }
-
- @Override
- public String getMessage() {
- String liquidName = LiquidDictionary.findLiquidName(liquid);
- if (liquidName == null) {
- liquidName = String.format("ID: %d Meta: %d", liquid.itemID, liquid.itemMeta);
- }
- return String.format("Liquid %s is not registered with the Liquid Dictionary. Please contact the author of the mod the liquid came from.", liquidName);
- }
- }
-
- public static Icon getLiquidTexture(LiquidStack liquid) {
- if (liquid == null || liquid.itemID <= 0) {
- return null;
- }
- LiquidStack canon = liquid.canonical();
- if (canon == null) {
- throw new LiquidCanonException(liquid);
- }
- Icon icon = canon.getRenderingIcon();
- if (icon == null) {
- throw new LiquidTextureException(liquid);
- }
- return icon;
- }
-
- public static String getLiquidSheet(LiquidStack liquid) {
- if (liquid == null || liquid.itemID <= 0) {
- return "/terrain.png";
- }
- LiquidStack canon = liquid.canonical();
- if (canon == null) {
- throw new LiquidCanonException(liquid);
- }
- return canon.getTextureSheet();
- }
-
- public static int[] getLiquidDisplayLists(LiquidStack liquid, World world, boolean flowing) {
- if (liquid == null) {
- return null;
- }
- liquid = liquid.canonical();
- if(liquid == null){
- throw new LiquidCanonException(liquid);
- }
- Map cache = flowing ? flowingRenderCache : stillRenderCache;
- int[] diplayLists = cache.get(liquid);
- if (diplayLists != null) {
- return diplayLists;
- }
-
- diplayLists = new int[DISPLAY_STAGES];
-
- if (liquid.itemID < Block.blocksList.length && Block.blocksList[liquid.itemID] != null) {
- liquidBlock.baseBlock = Block.blocksList[liquid.itemID];
- if (!flowing) {
- liquidBlock.texture = getLiquidTexture(liquid);
- }
- } else if (Item.itemsList[liquid.itemID] != null) {
- liquidBlock.baseBlock = Block.waterStill;
- liquidBlock.texture = getLiquidTexture(liquid);
- } else {
- return null;
- }
-
- cache.put(liquid, diplayLists);
-
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDisable(GL11.GL_CULL_FACE);
- ItemStack stack = liquid.asItemStack();
- int color = stack.getItem().getColorFromItemStack(stack, 0);
- float c1 = (float) (color >> 16 & 255) / 255.0F;
- float c2 = (float) (color >> 8 & 255) / 255.0F;
- float c3 = (float) (color & 255) / 255.0F;
- GL11.glColor4f(c1, c2, c3, 1);
- for (int s = 0; s < DISPLAY_STAGES; ++s) {
- diplayLists[s] = GLAllocation.generateDisplayLists(1);
- GL11.glNewList(diplayLists[s], 4864 /*GL_COMPILE*/);
-
- liquidBlock.minX = 0.01f;
- liquidBlock.minY = 0;
- liquidBlock.minZ = 0.01f;
-
- liquidBlock.maxX = 0.99f;
- liquidBlock.maxY = (float) s / (float) DISPLAY_STAGES;
- liquidBlock.maxZ = 0.99f;
-
- RenderEntityBlock.renderBlock(liquidBlock, world, 0, 0, 0, false, true);
-
- GL11.glEndList();
- }
-
- GL11.glColor4f(1, 1, 1, 1);
- GL11.glEnable(GL11.GL_CULL_FACE);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_LIGHTING);
-
- return diplayLists;
- }
-}
diff --git a/common/buildcraft/core/render/RenderEnergyLaser.java b/common/buildcraft/core/render/RenderEnergyLaser.java
index 1799ed25..7c3027dc 100644
--- a/common/buildcraft/core/render/RenderEnergyLaser.java
+++ b/common/buildcraft/core/render/RenderEnergyLaser.java
@@ -9,9 +9,9 @@
package buildcraft.core.render;
-import net.minecraft.client.model.ModelRenderer;
import buildcraft.core.EntityEnergyLaser;
import buildcraft.core.EntityLaser;
+import net.minecraft.client.model.ModelRenderer;
public class RenderEnergyLaser extends RenderLaser {
diff --git a/common/buildcraft/core/render/RenderEntityBlock.java b/common/buildcraft/core/render/RenderEntityBlock.java
index 2ccc4f4a..6c967381 100644
--- a/common/buildcraft/core/render/RenderEntityBlock.java
+++ b/common/buildcraft/core/render/RenderEntityBlock.java
@@ -1,32 +1,33 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.core.render;
+import buildcraft.core.EntityBlock;
import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
+import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.util.Icon;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-
import org.lwjgl.opengl.GL11;
-import buildcraft.core.EntityBlock;
-
public class RenderEntityBlock extends Render {
+
+ public static RenderEntityBlock INSTANCE = new RenderEntityBlock();
+
+ @Override
+ protected ResourceLocation func_110775_a(Entity entity) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
- private static RenderBlocks renderBlocks = new RenderBlocks();
- static {
- }
public static class BlockInterface {
public double minX;
@@ -35,9 +36,7 @@ public class RenderEntityBlock extends Render {
public double maxX;
public double maxY;
public double maxZ;
-
public Block baseBlock = Block.sand;
-
public Icon texture = null;
public Icon getBlockTextureFromSide(int i) {
@@ -52,7 +51,7 @@ public class RenderEntityBlock extends Render {
}
}
- public RenderEntityBlock() {
+ private RenderEntityBlock() {
}
@Override
@@ -68,7 +67,7 @@ public class RenderEntityBlock extends Render {
World world = entity.worldObj;
BlockInterface util = new BlockInterface();
util.texture = entity.texture;
- loadTexture("/terrain.png");
+ func_110776_a(TextureMap.field_110575_b);
for (int iBase = 0; iBase < entity.iSize; ++iBase) {
for (int jBase = 0; jBase < entity.jSize; ++jBase) {
@@ -109,19 +108,19 @@ public class RenderEntityBlock extends Render {
}
}
- public static void renderBlock(BlockInterface block, IBlockAccess blockAccess, int i, int j, int k, boolean doLight, boolean doTessellating) {
+ public void renderBlock(BlockInterface block, IBlockAccess blockAccess, int i, int j, int k, boolean doLight, boolean doTessellating) {
float f = 0.5F;
float f1 = 1.0F;
float f2 = 0.8F;
float f3 = 0.6F;
- renderBlocks.renderMaxX = block.maxX;
- renderBlocks.renderMinX = block.minX;
- renderBlocks.renderMaxY = block.maxY;
- renderBlocks.renderMinY = block.minY;
- renderBlocks.renderMaxZ = block.maxZ;
- renderBlocks.renderMinZ = block.minZ;
- renderBlocks.enableAO = false;
+ renderBlocks.renderMaxX = block.maxX;
+ renderBlocks.renderMinX = block.minX;
+ renderBlocks.renderMaxY = block.maxY;
+ renderBlocks.renderMinY = block.minY;
+ renderBlocks.renderMaxZ = block.maxZ;
+ renderBlocks.renderMinZ = block.minZ;
+ renderBlocks.enableAO = false;
Tessellator tessellator = Tessellator.instance;
diff --git a/common/buildcraft/core/render/RenderLaser.java b/common/buildcraft/core/render/RenderLaser.java
index 82052715..b74ae911 100644
--- a/common/buildcraft/core/render/RenderLaser.java
+++ b/common/buildcraft/core/render/RenderLaser.java
@@ -1,15 +1,14 @@
package buildcraft.core.render;
+import buildcraft.api.core.Position;
+import buildcraft.core.EntityLaser;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
-
+import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
-import buildcraft.api.core.Position;
-import buildcraft.core.EntityLaser;
-
public class RenderLaser extends Render {
protected ModelBase model = new ModelBase() {
@@ -38,7 +37,8 @@ public class RenderLaser extends Render {
return;
GL11.glPushMatrix();
- GL11.glDisable(2896 /* GL_LIGHTING */);
+ GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
+ GL11.glDisable(GL11.GL_LIGHTING);
Position offset = laser.renderOffset();
GL11.glTranslated(x + offset.x, y + offset.y, z + offset.z);
@@ -46,7 +46,7 @@ public class RenderLaser extends Render {
GL11.glRotatef((float) laser.angleZ, 0, 1, 0);
GL11.glRotatef((float) laser.angleY, 0, 0, 1);
- renderManager.renderEngine.bindTexture(laser.getTexture());
+ renderManager.renderEngine.func_110577_a(laser.getTexture());
float factor = (float) (1.0 / 16.0);
@@ -65,16 +65,20 @@ public class RenderLaser extends Render {
iterate(laser);
+ GL11.glPopAttrib();
GL11.glPopMatrix();
}
protected void iterate(EntityLaser laser) {
-
}
protected ModelRenderer getBox(EntityLaser laser) {
return box;
}
+ @Override
+ protected ResourceLocation func_110775_a(Entity entity) {
+ return ((EntityLaser) entity).getTexture();
+ }
}
diff --git a/common/buildcraft/core/render/RenderRobot.java b/common/buildcraft/core/render/RenderRobot.java
index f2ea96c7..1aae2e11 100644
--- a/common/buildcraft/core/render/RenderRobot.java
+++ b/common/buildcraft/core/render/RenderRobot.java
@@ -1,17 +1,17 @@
package buildcraft.core.render;
+import buildcraft.core.DefaultProps;
+import buildcraft.core.EntityRobot;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
-
+import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
-import buildcraft.core.DefaultProps;
-import buildcraft.core.EntityRobot;
-
public class RenderRobot extends Render {
+ public static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_ENTITIES + "/robot.png");
protected ModelBase model = new ModelBase() {
};
private ModelRenderer box;
@@ -35,7 +35,7 @@ public class RenderRobot extends Render {
GL11.glDisable(2896 /* GL_LIGHTING */);
GL11.glTranslated(x, y, z);
- renderManager.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_ENTITIES + "/robot.png");
+ renderManager.renderEngine.func_110577_a(TEXTURE);
float factor = (float) (1.0 / 16.0);
@@ -46,4 +46,8 @@ public class RenderRobot extends Render {
}
+ @Override
+ protected ResourceLocation func_110775_a(Entity entity) {
+ return TEXTURE;
+ }
}
diff --git a/common/buildcraft/core/render/RenderVoid.java b/common/buildcraft/core/render/RenderVoid.java
index f55d62db..155e23b7 100644
--- a/common/buildcraft/core/render/RenderVoid.java
+++ b/common/buildcraft/core/render/RenderVoid.java
@@ -11,6 +11,7 @@ package buildcraft.core.render;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
+import net.minecraft.util.ResourceLocation;
public class RenderVoid extends Render {
@@ -20,4 +21,9 @@ public class RenderVoid extends Render {
}
+ @Override
+ protected ResourceLocation func_110775_a(Entity entity) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
}
diff --git a/common/buildcraft/core/render/RenderingEntityBlocks.java b/common/buildcraft/core/render/RenderingEntityBlocks.java
index 27dd87dd..14406b37 100644
--- a/common/buildcraft/core/render/RenderingEntityBlocks.java
+++ b/common/buildcraft/core/render/RenderingEntityBlocks.java
@@ -1,21 +1,22 @@
package buildcraft.core.render;
-import java.util.HashMap;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.world.IBlockAccess;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftCore;
import buildcraft.core.IInventoryRenderer;
import buildcraft.core.utils.Utils;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
+import java.util.HashMap;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.IBlockAccess;
+import org.lwjgl.opengl.GL11;
public class RenderingEntityBlocks implements ISimpleBlockRenderingHandler {
+
+ private static final ResourceLocation BLOCK_TEXTURE = new ResourceLocation("/terrain.png");
+
public static class EntityRenderIndex {
public EntityRenderIndex(Block block, int damage) {
@@ -37,11 +38,9 @@ public class RenderingEntityBlocks implements ISimpleBlockRenderingHandler {
return i.block == block && i.damage == damage;
}
-
Block block;
int damage;
}
-
public static HashMap blockByEntityRenders = new HashMap();
@Override
@@ -95,9 +94,8 @@ public class RenderingEntityBlocks implements ISimpleBlockRenderingHandler {
if (block.getRenderType() == BuildCraftCore.blockByEntityModel) {
// renderblocks.renderStandardBlock(block, i, j, k);
-
} else if (block.getRenderType() == BuildCraftCore.legacyPipeModel) {
- Minecraft.getMinecraft().renderEngine.bindTexture("/terrain.png");
+ Minecraft.getMinecraft().renderEngine.func_110577_a(BLOCK_TEXTURE);
legacyPipeRender(renderer, world, x, y, z, block, modelId);
}
@@ -162,5 +160,4 @@ public class RenderingEntityBlocks implements ISimpleBlockRenderingHandler {
block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
-
}
diff --git a/common/buildcraft/core/render/RenderingMarkers.java b/common/buildcraft/core/render/RenderingMarkers.java
index 70135266..5b92c7ba 100644
--- a/common/buildcraft/core/render/RenderingMarkers.java
+++ b/common/buildcraft/core/render/RenderingMarkers.java
@@ -1,12 +1,12 @@
package buildcraft.core.render;
+import buildcraft.BuildCraftCore;
+import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
-import buildcraft.BuildCraftCore;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
public class RenderingMarkers implements ISimpleBlockRenderingHandler {
diff --git a/common/buildcraft/core/render/RenderingOil.java b/common/buildcraft/core/render/RenderingOil.java
index 296b70b5..0d771be7 100644
--- a/common/buildcraft/core/render/RenderingOil.java
+++ b/common/buildcraft/core/render/RenderingOil.java
@@ -1,10 +1,10 @@
package buildcraft.core.render;
+import buildcraft.BuildCraftCore;
+import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess;
-import buildcraft.BuildCraftCore;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
public class RenderingOil implements ISimpleBlockRenderingHandler {
diff --git a/common/buildcraft/core/triggers/ActionTriggerIconProvider.java b/common/buildcraft/core/triggers/ActionTriggerIconProvider.java
index d2f7adac..6426ed51 100644
--- a/common/buildcraft/core/triggers/ActionTriggerIconProvider.java
+++ b/common/buildcraft/core/triggers/ActionTriggerIconProvider.java
@@ -1,10 +1,10 @@
package buildcraft.core.triggers;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class ActionTriggerIconProvider implements IIconProvider {
@@ -20,15 +20,15 @@ public class ActionTriggerIconProvider implements IIconProvider {
public static final int Trigger_Inventory_Contains = 8;
public static final int Trigger_Inventory_Space = 9;
public static final int Trigger_Inventory_Full = 10;
- public static final int Trigger_LiquidContainer_Empty = 11;
- public static final int Trigger_LiquidContainer_Contains = 12;
- public static final int Trigger_LiquidContainer_Space = 13;
- public static final int Trigger_LiquidContainer_Full = 14;
+ public static final int Trigger_FluidContainer_Empty = 11;
+ public static final int Trigger_FluidContainer_Contains = 12;
+ public static final int Trigger_FluidContainer_Space = 13;
+ public static final int Trigger_FluidContainer_Full = 14;
public static final int Trigger_Machine_Active = 15;
public static final int Trigger_Machine_Inactive = 16;
public static final int Trigger_PipeContents_Empty = 17;
public static final int Trigger_PipeContents_ContainsItems = 18;
- public static final int Trigger_PipeContents_ContainsLiquid = 19;
+ public static final int Trigger_PipeContents_ContainsFluid = 19;
public static final int Trigger_PipeContents_ContainsEnergy = 20;
public static final int Trigger_PipeSignal_Red_Active = 21;
public static final int Trigger_PipeSignal_Blue_Active = 22;
@@ -75,15 +75,15 @@ public class ActionTriggerIconProvider implements IIconProvider {
icons[ActionTriggerIconProvider.Trigger_Inventory_Contains] = iconRegister.registerIcon("buildcraft:triggers/trigger_inventory_contains");
icons[ActionTriggerIconProvider.Trigger_Inventory_Space] = iconRegister.registerIcon("buildcraft:triggers/trigger_inventory_space");
icons[ActionTriggerIconProvider.Trigger_Inventory_Full] = iconRegister.registerIcon("buildcraft:triggers/trigger_inventory_full");
- icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Empty] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_empty");
- icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Contains] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_contains");
- icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Space] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_space");
- icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Full] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_full");
+ icons[ActionTriggerIconProvider.Trigger_FluidContainer_Empty] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_empty");
+ icons[ActionTriggerIconProvider.Trigger_FluidContainer_Contains] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_contains");
+ icons[ActionTriggerIconProvider.Trigger_FluidContainer_Space] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_space");
+ icons[ActionTriggerIconProvider.Trigger_FluidContainer_Full] = iconRegister.registerIcon("buildcraft:triggers/trigger_liquidcontainer_full");
icons[ActionTriggerIconProvider.Trigger_Machine_Active] = iconRegister.registerIcon("buildcraft:triggers/trigger_machine_active");
icons[ActionTriggerIconProvider.Trigger_Machine_Inactive] = iconRegister.registerIcon("buildcraft:triggers/trigger_machine_inactive");
icons[ActionTriggerIconProvider.Trigger_PipeContents_Empty] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_empty");
icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsItems] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_containsitems");
- icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsLiquid] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_containsliquid");
+ icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsFluid] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_containsliquid");
icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsEnergy] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_containsenergy");
icons[ActionTriggerIconProvider.Trigger_PipeContents_RequestsEnergy] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_requestsenergy");
icons[ActionTriggerIconProvider.Trigger_PipeContents_TooMuchEnergy] = iconRegister.registerIcon("buildcraft:triggers/trigger_pipecontents_toomuchenergy");
diff --git a/common/buildcraft/core/triggers/BCTrigger.java b/common/buildcraft/core/triggers/BCTrigger.java
index 8882a990..424d14c7 100644
--- a/common/buildcraft/core/triggers/BCTrigger.java
+++ b/common/buildcraft/core/triggers/BCTrigger.java
@@ -9,8 +9,6 @@
package buildcraft.core.triggers;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
@@ -19,6 +17,8 @@ import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.TriggerParameter;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
/**
* This class has to be implemented to create new triggers kinds to BuildCraft gates. There is an instance per kind, which will get called wherever the trigger
diff --git a/common/buildcraft/core/triggers/DefaultActionProvider.java b/common/buildcraft/core/triggers/DefaultActionProvider.java
index 24c4e80b..3eea5f3c 100644
--- a/common/buildcraft/core/triggers/DefaultActionProvider.java
+++ b/common/buildcraft/core/triggers/DefaultActionProvider.java
@@ -1,15 +1,14 @@
package buildcraft.core.triggers;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.BuildCraftCore;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.IActionProvider;
import buildcraft.core.IMachine;
import cpw.mods.fml.common.FMLLog;
+import java.util.LinkedList;
import java.util.logging.Level;
+import net.minecraft.block.Block;
+import net.minecraft.tileentity.TileEntity;
public class DefaultActionProvider implements IActionProvider {
diff --git a/common/buildcraft/core/triggers/DefaultTriggerProvider.java b/common/buildcraft/core/triggers/DefaultTriggerProvider.java
index 19eb4238..48c5e643 100644
--- a/common/buildcraft/core/triggers/DefaultTriggerProvider.java
+++ b/common/buildcraft/core/triggers/DefaultTriggerProvider.java
@@ -1,19 +1,18 @@
package buildcraft.core.triggers;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
import buildcraft.BuildCraftCore;
import buildcraft.api.gates.IOverrideDefaultTriggers;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.gates.ITriggerProvider;
import buildcraft.api.transport.IPipe;
import buildcraft.core.IMachine;
+import java.util.LinkedList;
+import net.minecraft.block.Block;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
public class DefaultTriggerProvider implements ITriggerProvider {
@@ -32,13 +31,13 @@ public class DefaultTriggerProvider implements ITriggerProvider {
res.add(BuildCraftCore.triggerFullInventory);
}
- if (tile instanceof ITankContainer) {
- ILiquidTank[] tanks = ((ITankContainer) tile).getTanks(ForgeDirection.UNKNOWN);
+ if (tile instanceof IFluidHandler) {
+ FluidTankInfo[] tanks = ((IFluidHandler) tile).getTankInfo(ForgeDirection.UNKNOWN);
if (tanks != null && tanks.length > 0) {
- res.add(BuildCraftCore.triggerEmptyLiquid);
- res.add(BuildCraftCore.triggerContainsLiquid);
- res.add(BuildCraftCore.triggerSpaceLiquid);
- res.add(BuildCraftCore.triggerFullLiquid);
+ res.add(BuildCraftCore.triggerEmptyFluid);
+ res.add(BuildCraftCore.triggerContainsFluid);
+ res.add(BuildCraftCore.triggerSpaceFluid);
+ res.add(BuildCraftCore.triggerFullFluid);
}
}
diff --git a/common/buildcraft/core/triggers/TriggerFluidContainer.java b/common/buildcraft/core/triggers/TriggerFluidContainer.java
new file mode 100644
index 00000000..7b5a993f
--- /dev/null
+++ b/common/buildcraft/core/triggers/TriggerFluidContainer.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
+ * http://www.mod-buildcraft.com/MMPL-1.0.txt
+ */
+package buildcraft.core.triggers;
+
+import buildcraft.api.gates.ITriggerParameter;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
+
+public class TriggerFluidContainer extends BCTrigger {
+
+ public enum State {
+
+ Empty, Contains, Space, Full
+ };
+ public State state;
+
+ public TriggerFluidContainer(int id, State state) {
+ super(id);
+ this.state = state;
+ }
+
+ @Override
+ public boolean hasParameter() {
+ if (state == State.Contains || state == State.Space)
+ return true;
+ else
+ return false;
+ }
+
+ @Override
+ public String getDescription() {
+ switch (state) {
+ case Empty:
+ return "Tank Empty";
+ case Contains:
+ return "Fluid in Tank";
+ case Space:
+ return "Space for Fluid";
+ default:
+ return "Tank Full";
+ }
+ }
+
+ @Override
+ public boolean isTriggerActive(ForgeDirection side, TileEntity tile, ITriggerParameter parameter) {
+ if (tile instanceof IFluidHandler) {
+ IFluidHandler container = (IFluidHandler) tile;
+
+ FluidStack searchedFluid = null;
+
+ if (parameter != null && parameter.getItem() != null) {
+ searchedFluid = FluidContainerRegistry.getFluidForFilledItem(parameter.getItem());
+ }
+
+ if (searchedFluid != null) {
+ searchedFluid.amount = 1;
+ }
+
+ FluidTankInfo[] liquids = container.getTankInfo(ForgeDirection.UNKNOWN);
+ if (liquids == null || liquids.length == 0)
+ return false;
+
+ switch (state) {
+ case Empty:
+ for (FluidTankInfo c : liquids) {
+ if (c.fluid != null && c.fluid.amount > 0 && (searchedFluid == null || searchedFluid.isFluidEqual(c.fluid)))
+ return false;
+ }
+ return true;
+ case Contains:
+ for (FluidTankInfo c : liquids) {
+ if (c.fluid != null && c.fluid.amount > 0 && (searchedFluid == null || searchedFluid.isFluidEqual(c.fluid)))
+ return true;
+ }
+ return false;
+ case Space:
+ if (searchedFluid == null) {
+ for (FluidTankInfo c : liquids) {
+ if (c.fluid == null || c.fluid.amount < c.capacity)
+ return true;
+ }
+ return false;
+ }
+ return container.fill(side, searchedFluid, false) > 0;
+ case Full:
+ if (searchedFluid == null) {
+ for (FluidTankInfo c : liquids) {
+ if (c.fluid == null || c.fluid.amount < c.capacity)
+ return false;
+ }
+ return true;
+ }
+ return container.fill(side, searchedFluid, false) <= 0;
+ }
+ }
+
+ return false;
+ }
+
+ @Override
+ public int getIconIndex() {
+ switch (state) {
+ case Empty:
+ return ActionTriggerIconProvider.Trigger_FluidContainer_Empty;
+ case Contains:
+ return ActionTriggerIconProvider.Trigger_FluidContainer_Contains;
+ case Space:
+ return ActionTriggerIconProvider.Trigger_FluidContainer_Space;
+ default:
+ return ActionTriggerIconProvider.Trigger_FluidContainer_Full;
+ }
+ }
+}
diff --git a/common/buildcraft/core/triggers/TriggerInventory.java b/common/buildcraft/core/triggers/TriggerInventory.java
index a07ed244..b1de1004 100644
--- a/common/buildcraft/core/triggers/TriggerInventory.java
+++ b/common/buildcraft/core/triggers/TriggerInventory.java
@@ -9,14 +9,14 @@
package buildcraft.core.triggers;
+import buildcraft.api.gates.ITriggerParameter;
+import buildcraft.api.inventory.ISpecialInventory;
+import buildcraft.core.inventory.InventoryWrapper;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.gates.ITriggerParameter;
-import buildcraft.api.inventory.ISpecialInventory;
-import buildcraft.core.inventory.InventoryWrapper;
public class TriggerInventory extends BCTrigger {
diff --git a/common/buildcraft/core/triggers/TriggerLiquidContainer.java b/common/buildcraft/core/triggers/TriggerLiquidContainer.java
deleted file mode 100644
index eb65e12d..00000000
--- a/common/buildcraft/core/triggers/TriggerLiquidContainer.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
- *
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
- * http://www.mod-buildcraft.com/MMPL-1.0.txt
- */
-
-package buildcraft.core.triggers;
-
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-import buildcraft.api.gates.ITriggerParameter;
-
-public class TriggerLiquidContainer extends BCTrigger {
-
- public enum State {
- Empty, Contains, Space, Full
- };
-
- public State state;
-
- public TriggerLiquidContainer(int id, State state) {
- super(id);
- this.state = state;
- }
-
- @Override
- public boolean hasParameter() {
- if (state == State.Contains || state == State.Space)
- return true;
- else
- return false;
- }
-
- @Override
- public String getDescription() {
- switch (state) {
- case Empty:
- return "Tank Empty";
- case Contains:
- return "Liquid in Tank";
- case Space:
- return "Space for Liquid";
- default:
- return "Tank Full";
- }
- }
-
- @Override
- public boolean isTriggerActive(ForgeDirection side, TileEntity tile, ITriggerParameter parameter) {
- if (tile instanceof ITankContainer) {
- ITankContainer container = (ITankContainer) tile;
-
- LiquidStack searchedLiquid = null;
-
- if (parameter != null && parameter.getItem() != null) {
- searchedLiquid = LiquidContainerRegistry.getLiquidForFilledItem(parameter.getItem());
- }
-
- if (searchedLiquid != null) {
- searchedLiquid.amount = 1;
- }
-
- ILiquidTank[] liquids = container.getTanks(ForgeDirection.UNKNOWN);
-
- if (liquids == null || liquids.length == 0)
- return false;
-
- switch (state) {
- case Empty:
- for (ILiquidTank c : liquids) {
- if (searchedLiquid != null) {
- LiquidStack drained = c.drain(1, false);
- if (drained != null && searchedLiquid.isLiquidEqual(drained))
- return false;
- } else if (c.getLiquid() != null && c.getLiquid().amount > 0)
- return false;
- }
-
- return true;
- case Contains:
- for (ILiquidTank c : liquids) {
- if (c.getLiquid() != null && c.getLiquid().amount != 0) {
- if (searchedLiquid == null || searchedLiquid.isLiquidEqual(c.getLiquid()))
- return true;
- }
- }
-
- return false;
-
- case Space:
- for (ILiquidTank c : liquids) {
- if (searchedLiquid != null) {
- if (c.fill(searchedLiquid, false) > 0)
- return true;
- } else if (c.getLiquid() == null || c.getLiquid().amount < c.getCapacity())
- return true;
- }
-
- return false;
- case Full:
- for (ILiquidTank c : liquids) {
- if (searchedLiquid != null) {
- if (c.fill(searchedLiquid, false) > 0)
- return false;
- } else if (c.getLiquid() == null || c.getLiquid().amount < c.getCapacity())
- return false;
- }
-
- return true;
- }
- }
-
- return false;
- }
-
- @Override
- public int getIconIndex() {
- switch (state) {
- case Empty:
- return ActionTriggerIconProvider.Trigger_LiquidContainer_Empty;
- case Contains:
- return ActionTriggerIconProvider.Trigger_LiquidContainer_Contains;
- case Space:
- return ActionTriggerIconProvider.Trigger_LiquidContainer_Space;
- default:
- return ActionTriggerIconProvider.Trigger_LiquidContainer_Full;
- }
- }
-}
diff --git a/common/buildcraft/core/triggers/TriggerMachine.java b/common/buildcraft/core/triggers/TriggerMachine.java
index 098cd3e5..9f4ff236 100644
--- a/common/buildcraft/core/triggers/TriggerMachine.java
+++ b/common/buildcraft/core/triggers/TriggerMachine.java
@@ -9,10 +9,10 @@
package buildcraft.core.triggers;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.core.IMachine;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class TriggerMachine extends BCTrigger {
diff --git a/common/buildcraft/core/utils/BlockUtil.java b/common/buildcraft/core/utils/BlockUtil.java
index cf93e9a5..8d8b65a8 100644
--- a/common/buildcraft/core/utils/BlockUtil.java
+++ b/common/buildcraft/core/utils/BlockUtil.java
@@ -8,8 +8,11 @@
package buildcraft.core.utils;
+import buildcraft.BuildCraftCore;
+import buildcraft.BuildCraftEnergy;
+import buildcraft.api.core.BuildCraftAPI;
+import cpw.mods.fml.common.FMLCommonHandler;
import java.util.List;
-
import net.minecraft.block.Block;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
@@ -19,10 +22,6 @@ import net.minecraft.network.packet.Packet60Explosion;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
-import buildcraft.BuildCraftCore;
-import buildcraft.BuildCraftEnergy;
-import buildcraft.api.core.BuildCraftAPI;
-import cpw.mods.fml.common.FMLCommonHandler;
public class BlockUtil {
@@ -79,7 +78,7 @@ public class BlockUtil {
if (block.getBlockHardness(world, x, y, z) < 0)
return false;
- if (blockID == BuildCraftEnergy.oilMoving.blockID || blockID == BuildCraftEnergy.oilStill.blockID)
+ if (blockID == BuildCraftEnergy.blockOil.blockID)
return false;
if (blockID == Block.lavaStill.blockID || blockID == Block.lavaMoving.blockID)
diff --git a/common/buildcraft/core/utils/CraftingHelper.java b/common/buildcraft/core/utils/CraftingHelper.java
index 19d6306d..2ba52696 100644
--- a/common/buildcraft/core/utils/CraftingHelper.java
+++ b/common/buildcraft/core/utils/CraftingHelper.java
@@ -2,7 +2,6 @@ package buildcraft.core.utils;
import java.util.ArrayList;
import java.util.List;
-
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
diff --git a/common/buildcraft/core/utils/Localization.java b/common/buildcraft/core/utils/Localization.java
index d57e2a6a..34fc65c8 100644
--- a/common/buildcraft/core/utils/Localization.java
+++ b/common/buildcraft/core/utils/Localization.java
@@ -1,12 +1,11 @@
package buildcraft.core.utils;
+import buildcraft.core.proxy.CoreProxy;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedList;
import java.util.Properties;
-import buildcraft.core.proxy.CoreProxy;
-
/**
* Simple mod localization class.
*
diff --git a/common/buildcraft/core/utils/Utils.java b/common/buildcraft/core/utils/Utils.java
index 2e6a4a38..dac7a383 100644
--- a/common/buildcraft/core/utils/Utils.java
+++ b/common/buildcraft/core/utils/Utils.java
@@ -7,29 +7,6 @@
*/
package buildcraft.core.utils;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.InventoryLargeChest;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.nbt.NBTTagString;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquid;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.LaserKind;
@@ -49,6 +26,29 @@ import buildcraft.core.network.ISynchronizedTile;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.energy.TileEngine;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.InventoryLargeChest;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.nbt.NBTTagString;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.tileentity.TileEntityChest;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidBlock;
public class Utils {
@@ -231,26 +231,26 @@ public class Utils {
public static IInventory getInventory(IInventory inv) {
if (inv instanceof TileEntityChest) {
TileEntityChest chest = (TileEntityChest) inv;
-
+
TileEntityChest adjacent = null;
-
- if (chest.adjacentChestXNeg != null){
- adjacent = chest.adjacentChestXNeg;
+
+ if (chest.adjacentChestXNeg != null) {
+ adjacent = chest.adjacentChestXNeg;
}
-
- if (chest.adjacentChestXPos != null){
- adjacent = chest.adjacentChestXPos;
+
+ if (chest.adjacentChestXPos != null) {
+ adjacent = chest.adjacentChestXPos;
}
-
- if (chest.adjacentChestZNeg != null){
- adjacent = chest.adjacentChestZNeg;
+
+ if (chest.adjacentChestZNeg != null) {
+ adjacent = chest.adjacentChestZNeg;
}
-
- if (chest.adjacentChestZPosition != null){
- adjacent = chest.adjacentChestZPosition;
+
+ if (chest.adjacentChestZPosition != null) {
+ adjacent = chest.adjacentChestZPosition;
}
-
- if (adjacent != null){
+
+ if (adjacent != null) {
return new InventoryLargeChest("", inv, adjacent);
}
return inv;
@@ -380,33 +380,24 @@ public class Utils {
}
}
- public static int liquidId(int blockId) {
- if (blockId == Block.waterStill.blockID || blockId == Block.waterMoving.blockID) {
- return Block.waterStill.blockID;
- } else if (blockId == Block.lavaStill.blockID || blockId == Block.lavaMoving.blockID) {
- return Block.lavaStill.blockID;
- } else if (Block.blocksList[blockId] instanceof ILiquid) {
- return ((ILiquid) Block.blocksList[blockId]).stillLiquidId();
- } else {
- return 0;
- }
- }
-
- public static LiquidStack liquidFromBlockId(int blockId) {
- if (blockId == Block.waterStill.blockID || blockId == Block.waterMoving.blockID) {
- return new LiquidStack(Block.waterStill.blockID, LiquidContainerRegistry.BUCKET_VOLUME, 0);
- } else if (blockId == Block.lavaStill.blockID || blockId == Block.lavaMoving.blockID) {
- return new LiquidStack(Block.lavaStill.blockID, LiquidContainerRegistry.BUCKET_VOLUME, 0);
- } else if (Block.blocksList[blockId] instanceof ILiquid) {
- ILiquid liquid = (ILiquid) Block.blocksList[blockId];
- if (liquid.isMetaSensitive()) {
- return new LiquidStack(liquid.stillLiquidId(), LiquidContainerRegistry.BUCKET_VOLUME, liquid.stillLiquidMeta());
- } else {
- return new LiquidStack(liquid.stillLiquidId(), LiquidContainerRegistry.BUCKET_VOLUME, 0);
+ public static FluidStack drainBlock(World world, int x, int y, int z, boolean doDrain) {
+ int blockId = world.getBlockId(x, y, z);
+ if (Block.blocksList[blockId] instanceof IFluidBlock) {
+ IFluidBlock fluidBlock = (IFluidBlock) Block.blocksList[blockId];
+ if (fluidBlock.canDrain(world, x, y, z))
+ return fluidBlock.drain(world, x, y, z, doDrain);
+ } else if (blockId == Block.waterStill.blockID || blockId == Block.waterMoving.blockID) {
+ if (doDrain) {
+ world.setBlockToAir(x, y, z);
}
- } else {
- return null;
+ return new FluidStack(FluidRegistry.WATER, FluidContainerRegistry.BUCKET_VOLUME);
+ } else if (blockId == Block.lavaStill.blockID || blockId == Block.lavaMoving.blockID) {
+ if (doDrain) {
+ world.setBlockToAir(x, y, z);
+ }
+ return new FluidStack(FluidRegistry.LAVA, FluidContainerRegistry.BUCKET_VOLUME);
}
+ return null;
}
public static void preDestroyBlock(World world, int i, int j, int k) {
diff --git a/common/buildcraft/energy/BlockOilStill.java b/common/buildcraft/energy/BlockBuildcraftFluid.java
similarity index 50%
rename from common/buildcraft/energy/BlockOilStill.java
rename to common/buildcraft/energy/BlockBuildcraftFluid.java
index f30f1d30..8a6577e7 100644
--- a/common/buildcraft/energy/BlockOilStill.java
+++ b/common/buildcraft/energy/BlockBuildcraftFluid.java
@@ -1,82 +1,76 @@
-/**
- * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
- *
- * BuildCraft is distributed under the terms of the Minecraft Mod Public License
- * 1.0, or MMPL. Please check the contents of the license located in
+/*
+ * Copyright (c) SpaceToad, 2011-2012
+ * http://www.mod-buildcraft.com
+ *
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public
+ * License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy;
-import net.minecraft.block.BlockStationary;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquid;
-import buildcraft.BuildCraftCore;
-import buildcraft.BuildCraftEnergy;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.fluids.BlockFluidClassic;
+import net.minecraftforge.fluids.Fluid;
-public class BlockOilStill extends BlockStationary implements ILiquid {
+/**
+ *
+ * @author CovertJaguar
+ */
+public class BlockBuildcraftFluid extends BlockFluidClassic {
- public BlockOilStill(int i, Material material) {
- super(i, material);
-
- setHardness(100F);
- setLightOpacity(3);
+ public BlockBuildcraftFluid(int id, Fluid fluid, Material material) {
+ super(id, fluid, material);
}
+ @SideOnly(Side.CLIENT)
+ protected Icon[] theIcon;
+ protected boolean flammable;
+ protected int flammability = 0;
@Override
- public int getRenderType() {
- return BuildCraftCore.oilModel;
- }
-
- @Override
- public int stillLiquidId() {
- return BuildCraftEnergy.oilStill.blockID;
- }
-
- @Override
- public boolean isMetaSensitive() {
- return false;
- }
-
- @Override
- public int stillLiquidMeta() {
- return 0;
- }
-
- @Override
- public boolean isBlockReplaceable(World world, int i, int j, int k) {
- return true;
+ public Icon getIcon(int side, int meta) {
+ return side != 0 && side != 1 ? this.theIcon[1] : this.theIcon[0];
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister iconRegister) {
- this.theIcon = new Icon[]{iconRegister.registerIcon("buildcraft:oil"), iconRegister.registerIcon("buildcraft:oil_flow")};
+ this.theIcon = new Icon[]{iconRegister.registerIcon("buildcraft:" + fluidName), iconRegister.registerIcon("buildcraft:" + fluidName + "_flow")};
+ }
+
+ public BlockBuildcraftFluid setFlammable(boolean flammable) {
+ this.flammable = flammable;
+ return this;
+ }
+
+ public BlockBuildcraftFluid setFlammability(int flammability) {
+ this.flammability = flammability;
+ return this;
}
@Override
public int getFireSpreadSpeed(World world, int x, int y, int z, int metadata, ForgeDirection face) {
- return BuildCraftEnergy.canOilBurn ? 300 : 0;
+ return flammable ? 300 : 0;
}
@Override
public int getFlammability(IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face) {
- return 0;
+ return flammability;
}
@Override
public boolean isFlammable(IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face) {
- return BuildCraftEnergy.canOilBurn;
+ return flammable;
}
@Override
public boolean isFireSource(World world, int x, int y, int z, int metadata, ForgeDirection side) {
- return BuildCraftEnergy.canOilBurn;
+ return flammable && flammability == 0;
}
}
diff --git a/common/buildcraft/energy/BlockEngine.java b/common/buildcraft/energy/BlockEngine.java
index 061f9199..7b76c692 100644
--- a/common/buildcraft/energy/BlockEngine.java
+++ b/common/buildcraft/energy/BlockEngine.java
@@ -7,9 +7,13 @@
*/
package buildcraft.energy;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.IItemPipe;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import java.util.Random;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -20,11 +24,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.IItemPipe;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockEngine extends BlockContainer {
diff --git a/common/buildcraft/energy/BlockOilFlowing.java b/common/buildcraft/energy/BlockOilFlowing.java
deleted file mode 100644
index aa02ed45..00000000
--- a/common/buildcraft/energy/BlockOilFlowing.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/**
- * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
- *
- * BuildCraft is distributed under the terms of the Minecraft Mod Public License
- * 1.0, or MMPL. Please check the contents of the license located in
- * http://www.mod-buildcraft.com/MMPL-1.0.txt
- */
-package buildcraft.energy;
-
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockFlowing;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquid;
-import buildcraft.BuildCraftCore;
-import buildcraft.BuildCraftEnergy;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class BlockOilFlowing extends BlockFlowing implements ILiquid {
-
- int numAdjacentSources = 0;
- boolean isOptimalFlowDirection[] = new boolean[4];
- int flowCost[] = new int[4];
-
- public BlockOilFlowing(int i, Material material) {
- super(i, material);
-
- setHardness(100F);
- setLightOpacity(3);
- }
-
- @Override
- public int getRenderType() {
- return BuildCraftCore.oilModel;
- }
-
- private void updateFlow(World par1World, int par2, int par3, int par4) {
- int l = par1World.getBlockMetadata(par2, par3, par4);
- par1World.setBlock(par2, par3, par4, this.blockID + 1, l, 2);
- }
-
- /**
- * How many world ticks before ticking
- */
- @Override
- public int tickRate(World par1World) {
- return 20;
- }
-
- @Override
- public void updateTick(World world, int x, int y, int z, Random random) {
- int oldDecay = this.getFlowDecay(world, x, y, z);
- byte viscosity = 2;
- int flowDecay;
-
- if (oldDecay > 0) {
- this.numAdjacentSources = 0;
- int minFlowDecay = this.getSmallestFlowDecay(world, x - 1, y, z, -100);
- minFlowDecay = this.getSmallestFlowDecay(world, x + 1, y, z, minFlowDecay);
- minFlowDecay = this.getSmallestFlowDecay(world, x, y, z - 1, minFlowDecay);
- minFlowDecay = this.getSmallestFlowDecay(world, x, y, z + 1, minFlowDecay);
- flowDecay = minFlowDecay + viscosity;
-
- if (flowDecay >= 8 || minFlowDecay < 0) {
- flowDecay = -1;
- }
-
- int decayAbove = getFlowDecay(world, x, y + 1, z);
- if (decayAbove >= 0) {
- if (decayAbove >= 8) {
- flowDecay = decayAbove;
- } else {
- flowDecay = decayAbove + 8;
- }
- }
-
- boolean update = true;
- if (oldDecay < 8 && flowDecay < 8 && flowDecay > oldDecay && random.nextDouble() < 0.2) {
- flowDecay = oldDecay;
- update = false;
- }
-
- if (flowDecay == oldDecay) {
- if (update) {
- this.updateFlow(world, x, y, z);
- }
- } else {
- oldDecay = flowDecay;
-
- if (flowDecay < 0) {
- world.setBlockToAir(x, y, z);
- } else {
- world.setBlockMetadataWithNotify(x, y, z, flowDecay, 2);
- world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate(world));
- world.notifyBlocksOfNeighborChange(x, y, z, this.blockID);
- }
- }
- } else {
- this.updateFlow(world, x, y, z);
- }
-
- if (this.liquidCanDisplaceBlock(world, x, y - 1, z)) {
- if (oldDecay >= 8) {
- this.flowIntoBlock(world, x, y - 1, z, oldDecay);
- } else {
- this.flowIntoBlock(world, x, y - 1, z, oldDecay + 8);
- }
- } else if (oldDecay >= 0 && (oldDecay == 0 || this.blockBlocksFlow(world, x, y - 1, z))) {
- boolean[] flowDirection = this.getOptimalFlowDirections(world, x, y, z);
- flowDecay = oldDecay + viscosity;
-
- if (oldDecay >= 8) {
- flowDecay = 1;
- }
-
- if (flowDecay >= 8) {
- return;
- }
-
- if (flowDirection[0]) {
- this.flowIntoBlock(world, x - 1, y, z, flowDecay);
- }
-
- if (flowDirection[1]) {
- this.flowIntoBlock(world, x + 1, y, z, flowDecay);
- }
-
- if (flowDirection[2]) {
- this.flowIntoBlock(world, x, y, z - 1, flowDecay);
- }
-
- if (flowDirection[3]) {
- this.flowIntoBlock(world, x, y, z + 1, flowDecay);
- }
- }
- }
-
- private void flowIntoBlock(World world, int i, int j, int k, int l) {
- if (liquidCanDisplaceBlock(world, i, j, k)) {
- int blockId = world.getBlockId(i, j, k);
- if (blockId > 0) {
- Block.blocksList[blockId].dropBlockAsItem(world, i, j, k, world.getBlockMetadata(i, j, k), 0);
- }
- world.setBlock(i, j, k, blockID, l, 3);
- }
- }
-
- private int calculateFlowCost(World world, int i, int j, int k, int l, int i1) {
- int j1 = 1000;
- for (int k1 = 0; k1 < 4; k1++) {
- if (k1 == 0 && i1 == 1 || k1 == 1 && i1 == 0 || k1 == 2 && i1 == 3 || k1 == 3 && i1 == 2) {
- continue;
- }
- int l1 = i;
- int i2 = j;
- int j2 = k;
- if (k1 == 0) {
- l1--;
- }
- if (k1 == 1) {
- l1++;
- }
- if (k1 == 2) {
- j2--;
- }
- if (k1 == 3) {
- j2++;
- }
- if (blockBlocksFlow(world, l1, i2, j2) || world.getBlockMaterial(l1, i2, j2) == blockMaterial && world.getBlockMetadata(l1, i2, j2) == 0) {
- continue;
- }
- if (!blockBlocksFlow(world, l1, i2 - 1, j2)) {
- return l;
- }
- if (l >= 4) {
- continue;
- }
- int k2 = calculateFlowCost(world, l1, i2, j2, l + 1, k1);
- if (k2 < j1) {
- j1 = k2;
- }
- }
-
- return j1;
- }
-
- private boolean[] getOptimalFlowDirections(World world, int i, int j, int k) {
- for (int l = 0; l < 4; l++) {
- flowCost[l] = 1000;
- int j1 = i;
- int i2 = j;
- int j2 = k;
- if (l == 0) {
- j1--;
- }
- if (l == 1) {
- j1++;
- }
- if (l == 2) {
- j2--;
- }
- if (l == 3) {
- j2++;
- }
- if (blockBlocksFlow(world, j1, i2, j2) || world.getBlockMaterial(j1, i2, j2) == blockMaterial && world.getBlockMetadata(j1, i2, j2) == 0) {
- continue;
- }
- if (!blockBlocksFlow(world, j1, i2 - 1, j2)) {
- flowCost[l] = 0;
- } else {
- flowCost[l] = calculateFlowCost(world, j1, i2, j2, 1, l);
- }
- }
-
- int i1 = flowCost[0];
- for (int k1 = 1; k1 < 4; k1++) {
- if (flowCost[k1] < i1) {
- i1 = flowCost[k1];
- }
- }
-
- for (int l1 = 0; l1 < 4; l1++) {
- isOptimalFlowDirection[l1] = flowCost[l1] == i1;
- }
-
- return isOptimalFlowDirection;
- }
-
- private boolean blockBlocksFlow(World par1World, int par2, int par3, int par4) {
- int l = par1World.getBlockId(par2, par3, par4);
-
- if (l != Block.doorWood.blockID && l != Block.doorIron.blockID && l != Block.signPost.blockID && l != Block.ladder.blockID && l != Block.reed.blockID) {
- if (l == 0) {
- return false;
- } else {
- Material material = Block.blocksList[l].blockMaterial;
- return material == Material.portal ? true : material.blocksMovement();
- }
- } else {
- return true;
- }
- }
-
- @Override
- protected int getSmallestFlowDecay(World par1World, int par2, int par3, int par4, int par5) {
- int i1 = this.getFlowDecay(par1World, par2, par3, par4);
-
- if (i1 < 0) {
- return par5;
- } else {
- if (i1 == 0) {
- ++this.numAdjacentSources;
- }
-
- if (i1 >= 8) {
- i1 = 0;
- }
-
- return par5 >= 0 && i1 >= par5 ? par5 : i1;
- }
- }
-
- private boolean liquidCanDisplaceBlock(World world, int i, int j, int k) {
- Material material = world.getBlockMaterial(i, j, k);
- if (material == blockMaterial) {
- return false;
- } else {
- return !blockBlocksFlow(world, i, j, k);
- }
- }
-
- @Override
- public int stillLiquidId() {
- return BuildCraftEnergy.oilStill.blockID;
- }
-
- @Override
- public boolean isMetaSensitive() {
- return false;
- }
-
- @Override
- public int stillLiquidMeta() {
- return 0;
- }
-
- @Override
- public boolean isBlockReplaceable(World world, int i, int j, int k) {
- return true;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IconRegister iconRegister) {
- this.theIcon = new Icon[]{iconRegister.registerIcon("buildcraft:oil"), iconRegister.registerIcon("buildcraft:oil_flow")};
- }
-
- @Override
- public int getFireSpreadSpeed(World world, int x, int y, int z, int metadata, ForgeDirection face) {
- return BuildCraftEnergy.canOilBurn ? 300 : 0;
- }
-
- @Override
- public int getFlammability(IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face) {
- return 0;
- }
-
- @Override
- public boolean isFlammable(IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face) {
- return BuildCraftEnergy.canOilBurn;
- }
-
- @Override
- public boolean isFireSource(World world, int x, int y, int z, int metadata, ForgeDirection side) {
- return BuildCraftEnergy.canOilBurn;
- }
-}
diff --git a/common/buildcraft/energy/BlockPollution.java b/common/buildcraft/energy/BlockPollution.java
index 5b3887c4..ae50a074 100644
--- a/common/buildcraft/energy/BlockPollution.java
+++ b/common/buildcraft/energy/BlockPollution.java
@@ -9,13 +9,13 @@
package buildcraft.energy;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockPollution extends BlockContainer {
diff --git a/common/buildcraft/energy/BptBlockEngine.java b/common/buildcraft/energy/BptBlockEngine.java
index 51701faa..554aaf30 100644
--- a/common/buildcraft/energy/BptBlockEngine.java
+++ b/common/buildcraft/energy/BptBlockEngine.java
@@ -9,13 +9,13 @@
package buildcraft.energy;
-import net.minecraft.block.Block;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.blueprints.BlockSignature;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.core.Version;
+import net.minecraft.block.Block;
+import net.minecraftforge.common.ForgeDirection;
@Deprecated
public class BptBlockEngine extends BptBlock {
diff --git a/common/buildcraft/energy/OilBucketHandler.java b/common/buildcraft/energy/BucketHandler.java
similarity index 54%
rename from common/buildcraft/energy/OilBucketHandler.java
rename to common/buildcraft/energy/BucketHandler.java
index 4cd9c400..969c081f 100644
--- a/common/buildcraft/energy/OilBucketHandler.java
+++ b/common/buildcraft/energy/BucketHandler.java
@@ -1,23 +1,31 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.energy;
+import buildcraft.BuildCraftEnergy;
+import java.util.HashMap;
+import java.util.Map;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.event.Event.Result;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.player.FillBucketEvent;
-import buildcraft.BuildCraftEnergy;
-public class OilBucketHandler {
+public class BucketHandler {
+
+ public static BucketHandler INSTANCE = new BucketHandler();
+ public Map buckets = new HashMap();
+
+ private BucketHandler() {
+ }
@ForgeSubscribe
public void onBucketFill(FillBucketEvent event) {
@@ -31,19 +39,16 @@ public class OilBucketHandler {
event.setResult(Result.ALLOW);
}
- public ItemStack fillCustomBucket(World world, MovingObjectPosition pos) {
+ private ItemStack fillCustomBucket(World world, MovingObjectPosition pos) {
int blockID = world.getBlockId(pos.blockX, pos.blockY, pos.blockZ);
- if ((blockID == BuildCraftEnergy.oilStill.blockID || blockID == BuildCraftEnergy.oilMoving.blockID)
- && world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0) {
-
+ Item bucket = buckets.get(Block.blocksList[blockID]);
+ if (bucket != null && world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0) {
world.setBlock(pos.blockX, pos.blockY, pos.blockZ, 0);
-
- return new ItemStack(BuildCraftEnergy.bucketOil);
+ return new ItemStack(bucket);
} else
return null;
}
-
}
diff --git a/common/buildcraft/energy/GuiHandler.java b/common/buildcraft/energy/GuiHandler.java
index 3f2666de..1e084b0f 100644
--- a/common/buildcraft/energy/GuiHandler.java
+++ b/common/buildcraft/energy/GuiHandler.java
@@ -1,13 +1,13 @@
package buildcraft.energy;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.core.GuiIds;
import buildcraft.energy.gui.ContainerEngine;
import buildcraft.energy.gui.GuiCombustionEngine;
-import buildcraft.energy.gui.GuiSteamEngine;
+import buildcraft.energy.gui.GuiStoneEngine;
import cpw.mods.fml.common.network.IGuiHandler;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
@@ -29,7 +29,7 @@ public class GuiHandler implements IGuiHandler {
return new GuiCombustionEngine(player.inventory, engine);
case GuiIds.ENGINE_STONE:
- return new GuiSteamEngine(player.inventory, engine);
+ return new GuiStoneEngine(player.inventory, engine);
default:
return null;
diff --git a/common/buildcraft/energy/ItemBucketOil.java b/common/buildcraft/energy/ItemBucketBuildcraft.java
similarity index 53%
rename from common/buildcraft/energy/ItemBucketOil.java
rename to common/buildcraft/energy/ItemBucketBuildcraft.java
index 4ea5f328..00ae38a1 100644
--- a/common/buildcraft/energy/ItemBucketOil.java
+++ b/common/buildcraft/energy/ItemBucketBuildcraft.java
@@ -1,27 +1,27 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.energy;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.item.ItemBucket;
-import net.minecraft.item.ItemStack;
-import buildcraft.BuildCraftEnergy;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.utils.StringUtils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBucket;
+import net.minecraft.item.ItemStack;
-public class ItemBucketOil extends ItemBucket {
+public class ItemBucketBuildcraft extends ItemBucket {
- public ItemBucketOil(int i) {
- super(i, BuildCraftEnergy.oilMoving.blockID);
+ private String iconName;
+
+ public ItemBucketBuildcraft(int i, int blockId) {
+ super(i, blockId);
setCreativeTab(CreativeTabBuildCraft.tabBuildCraft);
}
@@ -30,10 +30,15 @@ public class ItemBucketOil extends ItemBucket {
return StringUtils.localize(getUnlocalizedName(itemstack));
}
+ @Override
+ public Item setUnlocalizedName(String par1Str) {
+ iconName = par1Str;
+ return super.setUnlocalizedName(par1Str);
+ }
+
@Override
@SideOnly(Side.CLIENT)
- public void registerIcons(IconRegister par1IconRegister)
- {
- this.itemIcon = par1IconRegister.registerIcon("buildcraft:oil_bucket");
+ public void registerIcons(IconRegister par1IconRegister) {
+ this.itemIcon = par1IconRegister.registerIcon("buildcraft:" + iconName);
}
}
diff --git a/common/buildcraft/energy/ItemEngine.java b/common/buildcraft/energy/ItemEngine.java
index 5f738be8..a32bbe73 100644
--- a/common/buildcraft/energy/ItemEngine.java
+++ b/common/buildcraft/energy/ItemEngine.java
@@ -9,8 +9,8 @@
package buildcraft.energy;
-import net.minecraft.item.ItemStack;
import buildcraft.core.ItemBlockBuildCraft;
+import net.minecraft.item.ItemStack;
public class ItemEngine extends ItemBlockBuildCraft {
diff --git a/common/buildcraft/energy/TileEngine.java b/common/buildcraft/energy/TileEngine.java
index 0c89487f..e68c55b0 100644
--- a/common/buildcraft/energy/TileEngine.java
+++ b/common/buildcraft/energy/TileEngine.java
@@ -7,14 +7,6 @@
*/
package buildcraft.energy;
-import java.util.LinkedList;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftEnergy;
import buildcraft.api.core.Position;
import buildcraft.api.gates.IOverrideDefaultTriggers;
@@ -32,9 +24,16 @@ import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import buildcraft.energy.gui.ContainerEngine;
+import java.util.LinkedList;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagFloat;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public abstract class TileEngine extends TileBuildCraft implements IPowerReceptor, IPowerEmitter, IInventory, IOverrideDefaultTriggers, IPipeConnection {
@@ -360,7 +359,7 @@ public abstract class TileEngine extends TileBuildCraft implements IPowerRecepto
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return true;
}
@@ -406,6 +405,7 @@ public abstract class TileEngine extends TileBuildCraft implements IPowerRecepto
if (getEnergyStage() == EnergyStage.OVERHEAT) {
worldObj.createExplosion(null, xCoord, yCoord, zCoord, explosionRange(), true);
+ worldObj.setBlockToAir(xCoord, yCoord, zCoord);
}
if (energy > getMaxEnergy()) {
diff --git a/common/buildcraft/energy/TileEngineIron.java b/common/buildcraft/energy/TileEngineIron.java
index cbc98052..01680a17 100644
--- a/common/buildcraft/energy/TileEngineIron.java
+++ b/common/buildcraft/energy/TileEngineIron.java
@@ -9,16 +9,6 @@ package buildcraft.energy;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftEnergy;
-import net.minecraft.block.Block;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-import net.minecraftforge.liquids.LiquidTank;
import buildcraft.api.fuels.IronEngineCoolant;
import buildcraft.api.fuels.IronEngineCoolant.Coolant;
import buildcraft.api.fuels.IronEngineFuel;
@@ -26,36 +16,40 @@ import buildcraft.api.gates.ITrigger;
import buildcraft.core.DefaultProps;
import buildcraft.core.GuiIds;
import buildcraft.core.IItemPipe;
-import buildcraft.core.liquids.LiquidUtils;
+import buildcraft.core.liquids.FluidUtils;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
-import static buildcraft.energy.TileEngine.EnergyStage.BLUE;
-import static buildcraft.energy.TileEngine.EnergyStage.GREEN;
-import static buildcraft.energy.TileEngine.EnergyStage.RED;
-import static buildcraft.energy.TileEngine.EnergyStage.YELLOW;
-import static buildcraft.energy.TileEngine.IDEAL_HEAT;
-import static buildcraft.energy.TileEngine.MIN_HEAT;
import buildcraft.energy.gui.ContainerEngine;
import java.util.LinkedList;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraftforge.liquids.ITankContainer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTank;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
-public class TileEngineIron extends TileEngine implements ITankContainer {
+public class TileEngineIron extends TileEngine implements IFluidHandler {
- public static int MAX_LIQUID = LiquidContainerRegistry.BUCKET_VOLUME * 10;
+ public static int MAX_LIQUID = FluidContainerRegistry.BUCKET_VOLUME * 10;
public static float HEAT_PER_MJ = 0.0023F;
public static float COOLDOWN_RATE = 0.005F;
int burnTime = 0;
- private LiquidTank fuelTank;
- private LiquidTank coolantTank;
+ private FluidTank fuelTank;
+ private FluidTank coolantTank;
private IronEngineFuel currentFuel = null;
public int penaltyCooling = 0;
boolean lastPowered = false;
public TileEngineIron() {
super(1);
- fuelTank = new LiquidTank(MAX_LIQUID);
- coolantTank = new LiquidTank(MAX_LIQUID);
+ fuelTank = new FluidTank(MAX_LIQUID);
+ coolantTank = new FluidTank(MAX_LIQUID);
}
@Override
@@ -72,11 +66,11 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
ItemStack current = player.getCurrentEquippedItem();
if (current != null && current.itemID != Item.bucketEmpty.itemID) {
if (CoreProxy.proxy.isSimulating(worldObj)) {
- if (LiquidUtils.handleRightClick(this, side, player, true, false)) {
+ if (FluidUtils.handleRightClick(this, side, player, true, false)) {
return true;
}
} else {
- if (LiquidContainerRegistry.isContainer(current)) {
+ if (FluidContainerRegistry.isContainer(current)) {
return true;
}
}
@@ -114,15 +108,15 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
@Override
public boolean isBurning() {
- LiquidStack fuel = fuelTank.getLiquid();
+ FluidStack fuel = fuelTank.getFluid();
return fuel != null && fuel.amount > 0 && penaltyCooling == 0 && isRedstonePowered;
}
@Override
public void burn() {
- LiquidStack fuel = this.fuelTank.getLiquid();
+ FluidStack fuel = this.fuelTank.getFluid();
if (currentFuel == null) {
- currentFuel = IronEngineFuel.getFuelForLiquid(fuel);
+ currentFuel = IronEngineFuel.getFuelForFluid(fuel.getFluid());
}
if (currentFuel == null)
@@ -139,9 +133,9 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
if (burnTime <= 0) {
if (fuel != null) {
if (--fuel.amount <= 0) {
- fuelTank.setLiquid(null);
+ fuelTank.setFluid(null);
}
- burnTime = currentFuel.totalBurningTime / LiquidContainerRegistry.BUCKET_VOLUME;
+ burnTime = currentFuel.totalBurningTime / FluidContainerRegistry.BUCKET_VOLUME;
} else {
currentFuel = null;
return;
@@ -169,9 +163,9 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
final ItemStack stack = getStackInSlot(0);
if (stack != null) {
- LiquidStack liquid = LiquidContainerRegistry.getLiquidForFilledItem(stack);
+ FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(stack);
if (liquid == null && heat > IDEAL_HEAT) {
- liquid = IronEngineCoolant.getLiquidCoolant(stack);
+ liquid = IronEngineCoolant.getFluidCoolant(stack);
}
if (liquid != null) {
@@ -185,7 +179,7 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
if (heat > IDEAL_HEAT) {
float extraHeat = heat - IDEAL_HEAT;
- LiquidStack coolant = this.coolantTank.getLiquid();
+ FluidStack coolant = this.coolantTank.getFluid();
Coolant currentCoolant = IronEngineCoolant.getCoolant(coolant);
if (currentCoolant != null) {
float cooling = currentCoolant.getDegreesCoolingPerMB(heat);
@@ -194,7 +188,7 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
heat = IDEAL_HEAT;
} else {
heat -= coolant.amount * cooling;
- coolantTank.setLiquid(null);
+ coolantTank.setFluid(null);
}
}
}
@@ -215,7 +209,7 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
@Override
public int getScaledBurnTime(int i) {
- return this.fuelTank.getLiquid() != null ? (int) (((float) this.fuelTank.getLiquid().amount / (float) (MAX_LIQUID)) * i) : 0;
+ return this.fuelTank.getFluid() != null ? (int) (((float) this.fuelTank.getFluid().amount / (float) (MAX_LIQUID)) * i) : 0;
}
@Override
@@ -241,66 +235,55 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
}
public int getScaledCoolant(int i) {
- return coolantTank.getLiquid() != null ? (int) (((float) coolantTank.getLiquid().amount / (float) (MAX_LIQUID)) * i) : 0;
+ return coolantTank.getFluid() != null ? (int) (((float) coolantTank.getFluid().amount / (float) (MAX_LIQUID)) * i) : 0;
}
@Override
public void getGUINetworkData(int id, int value) {
super.getGUINetworkData(id, value);
switch (id) {
+ // Fluid Fuel ID
case 15:
- if (fuelTank.getLiquid() == null) {
- fuelTank.setLiquid(new LiquidStack(0, value));
+ if (fuelTank.getFluid() == null) {
+ fuelTank.setFluid(new FluidStack(value, 0));
} else {
- fuelTank.getLiquid().amount = value;
+ fuelTank.getFluid().fluidID = value;
}
break;
+ // Fluid Coolant ID
case 16:
- if (fuelTank.getLiquid() == null) {
- fuelTank.setLiquid(new LiquidStack(value, 0));
+ if (coolantTank.getFluid() == null) {
+ coolantTank.setFluid(new FluidStack(value, 0));
} else {
- fuelTank.setLiquid(new LiquidStack(value, fuelTank.getLiquid().amount, fuelTank.getLiquid().itemMeta));
+ coolantTank.getFluid().fluidID = value;
}
break;
+ // Fluid Fuel amount
case 17:
- if (coolantTank.getLiquid() == null) {
- coolantTank.setLiquid(new LiquidStack(0, value));
+ if (fuelTank.getFluid() == null) {
+ fuelTank.setFluid(new FluidStack(0, value));
} else {
- coolantTank.getLiquid().amount = value;
+ fuelTank.getFluid().amount = value;
}
break;
+ // Fluid coolant amount
case 18:
- if (coolantTank.getLiquid() == null) {
- coolantTank.setLiquid(new LiquidStack(value, 0));
+ if (coolantTank.getFluid() == null) {
+ coolantTank.setFluid(new FluidStack(0, value));
} else {
- coolantTank.setLiquid(new LiquidStack(value, coolantTank.getLiquid().amount, coolantTank.getLiquid().itemMeta));
+ coolantTank.getFluid().amount = value;
}
break;
- case 19:
- if (fuelTank.getLiquid() == null) {
- fuelTank.setLiquid(new LiquidStack(0, 0, value));
- } else {
- fuelTank.setLiquid(new LiquidStack(fuelTank.getLiquid().itemID, fuelTank.getLiquid().amount, value));
- }
- break;
- case 20:
- if (coolantTank.getLiquid() == null) {
- coolantTank.setLiquid(new LiquidStack(0, 0, value));
- } else {
- coolantTank.setLiquid(new LiquidStack(coolantTank.getLiquid().itemID, coolantTank.getLiquid().amount, value));
- }
}
}
@Override
public void sendGUINetworkData(ContainerEngine containerEngine, ICrafting iCrafting) {
super.sendGUINetworkData(containerEngine, iCrafting);
- iCrafting.sendProgressBarUpdate(containerEngine, 15, fuelTank.getLiquid() != null ? fuelTank.getLiquid().amount : 0);
- iCrafting.sendProgressBarUpdate(containerEngine, 16, fuelTank.getLiquid() != null ? fuelTank.getLiquid().itemID : 0);
- iCrafting.sendProgressBarUpdate(containerEngine, 17, coolantTank.getLiquid() != null ? coolantTank.getLiquid().amount : 0);
- iCrafting.sendProgressBarUpdate(containerEngine, 18, coolantTank.getLiquid() != null ? coolantTank.getLiquid().itemID : 0);
- iCrafting.sendProgressBarUpdate(containerEngine, 19, fuelTank.getLiquid() != null ? fuelTank.getLiquid().itemMeta : 0);
- iCrafting.sendProgressBarUpdate(containerEngine, 20, coolantTank.getLiquid() != null ? coolantTank.getLiquid().itemMeta : 0);
+ iCrafting.sendProgressBarUpdate(containerEngine, 15, fuelTank.getFluid() != null ? fuelTank.getFluid().fluidID : 0);
+ iCrafting.sendProgressBarUpdate(containerEngine, 16, coolantTank.getFluid() != null ? coolantTank.getFluid().fluidID : 0);
+ iCrafting.sendProgressBarUpdate(containerEngine, 17, fuelTank.getFluid() != null ? fuelTank.getFluid().amount : 0);
+ iCrafting.sendProgressBarUpdate(containerEngine, 18, coolantTank.getFluid() != null ? coolantTank.getFluid().amount : 0);
}
@Override
@@ -310,65 +293,75 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
/* ITANKCONTAINER */
@Override
- public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
- return 0;
- }
-
- @Override
- public LiquidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
+ public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
return null;
}
@Override
- public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain) {
- return null;
- }
+ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain)
+ {
+ return null;
+ }
- @Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
+ @Override
+ public boolean canDrain(ForgeDirection from, Fluid fluid)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
// Handle coolant
if (IronEngineCoolant.getCoolant(resource) != null)
return coolantTank.fill(resource, doFill);
- if (IronEngineFuel.getFuelForLiquid(resource) != null)
+ if (IronEngineFuel.getFuelForFluid(resource.getFluid()) != null)
return fuelTank.fill(resource, doFill);
return 0;
}
@Override
- public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
+ public boolean canFill(ForgeDirection from, Fluid fluid)
+ {
+ if (IronEngineCoolant.isCoolant(fluid))
+ return true;
+
+ if (IronEngineFuel.getFuelForFluid(fluid) != null)
+ return true;
+
+ return false;
+ }
+
+ @Override
+ public FluidTankInfo[] getTankInfo(ForgeDirection direction) {
switch (direction) {
case UP:
- return fuelTank;
+ return new FluidTankInfo[] { new FluidTankInfo(fuelTank) };
case DOWN:
- return coolantTank;
+ return new FluidTankInfo[] { new FluidTankInfo(coolantTank) };
default:
return null;
}
}
@Override
- public ILiquidTank[] getTanks(ForgeDirection direction) {
- return new ILiquidTank[]{fuelTank, coolantTank};
- }
-
- @Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
if (itemstack == null)
return false;
- if (Block.ice.blockID == itemstack.itemID)
+ if (IronEngineCoolant.getCoolant(itemstack)!=null)
return true;
- return LiquidContainerRegistry.getLiquidForFilledItem(itemstack) != null;
+ return FluidContainerRegistry.getFluidForFilledItem(itemstack) != null;
}
- public LiquidStack getFuel() {
- return fuelTank.getLiquid();
+ public FluidStack getFuel() {
+ return fuelTank.getFluid();
}
- public LiquidStack getCoolant() {
- return coolantTank.getLiquid();
+ public FluidStack getCoolant() {
+ return coolantTank.getFluid();
}
@Override
@@ -397,10 +390,10 @@ public class TileEngineIron extends TileEngine implements ITankContainer {
@Override
public LinkedList getTriggers() {
LinkedList triggers = super.getTriggers();
- triggers.add(BuildCraftCore.triggerEmptyLiquid);
- triggers.add(BuildCraftCore.triggerContainsLiquid);
- triggers.add(BuildCraftCore.triggerSpaceLiquid);
- triggers.add(BuildCraftCore.triggerFullLiquid);
+ triggers.add(BuildCraftCore.triggerEmptyFluid);
+ triggers.add(BuildCraftCore.triggerContainsFluid);
+ triggers.add(BuildCraftCore.triggerSpaceFluid);
+ triggers.add(BuildCraftCore.triggerFullFluid);
return triggers;
}
diff --git a/common/buildcraft/energy/TileEngineStone.java b/common/buildcraft/energy/TileEngineStone.java
index 52c47386..f2a574e9 100644
--- a/common/buildcraft/energy/TileEngineStone.java
+++ b/common/buildcraft/energy/TileEngineStone.java
@@ -10,10 +10,6 @@ package buildcraft.energy;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftEnergy;
import buildcraft.api.gates.ITrigger;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntityFurnace;
import buildcraft.core.DefaultProps;
import buildcraft.core.GuiIds;
import buildcraft.core.proxy.CoreProxy;
@@ -21,6 +17,10 @@ import buildcraft.core.utils.Utils;
import buildcraft.energy.gui.ContainerEngine;
import java.util.LinkedList;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraftforge.common.ForgeDirection;
public class TileEngineStone extends TileEngine {
diff --git a/common/buildcraft/energy/TileEngineWood.java b/common/buildcraft/energy/TileEngineWood.java
index b9bc0e07..6638aee9 100644
--- a/common/buildcraft/energy/TileEngineWood.java
+++ b/common/buildcraft/energy/TileEngineWood.java
@@ -9,10 +9,6 @@ package buildcraft.energy;
import buildcraft.core.DefaultProps;
import buildcraft.core.proxy.CoreProxy;
-import static buildcraft.energy.TileEngine.EnergyStage.BLUE;
-import static buildcraft.energy.TileEngine.EnergyStage.GREEN;
-import static buildcraft.energy.TileEngine.EnergyStage.RED;
-import static buildcraft.energy.TileEngine.EnergyStage.YELLOW;
import net.minecraftforge.common.ForgeDirection;
public class TileEngineWood extends TileEngine {
diff --git a/common/buildcraft/energy/TilePollution.java b/common/buildcraft/energy/TilePollution.java
index dfeedc01..ac0f3dfe 100644
--- a/common/buildcraft/energy/TilePollution.java
+++ b/common/buildcraft/energy/TilePollution.java
@@ -9,10 +9,10 @@
package buildcraft.energy;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.BuildCraftEnergy;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.core.BlockIndex;
+import net.minecraft.tileentity.TileEntity;
public class TilePollution extends TileEntity {
diff --git a/common/buildcraft/energy/TriggerEngineHeat.java b/common/buildcraft/energy/TriggerEngineHeat.java
index a094a049..24064741 100644
--- a/common/buildcraft/energy/TriggerEngineHeat.java
+++ b/common/buildcraft/energy/TriggerEngineHeat.java
@@ -7,13 +7,13 @@
*/
package buildcraft.energy;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.core.utils.StringUtils;
import buildcraft.energy.TileEngine.EnergyStage;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class TriggerEngineHeat extends BCTrigger {
diff --git a/common/buildcraft/energy/gui/ContainerEngine.java b/common/buildcraft/energy/gui/ContainerEngine.java
index ec28e30a..9c90557d 100644
--- a/common/buildcraft/energy/gui/ContainerEngine.java
+++ b/common/buildcraft/energy/gui/ContainerEngine.java
@@ -7,13 +7,13 @@
*/
package buildcraft.energy.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.energy.TileEngine;
+import buildcraft.energy.TileEngineStone;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.energy.TileEngineStone;
-import buildcraft.energy.TileEngine;
public class ContainerEngine extends BuildCraftContainer {
diff --git a/common/buildcraft/energy/gui/GuiCombustionEngine.java b/common/buildcraft/energy/gui/GuiCombustionEngine.java
index 7501e07b..31b90c43 100644
--- a/common/buildcraft/energy/gui/GuiCombustionEngine.java
+++ b/common/buildcraft/energy/gui/GuiCombustionEngine.java
@@ -1,29 +1,28 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.energy.gui;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.util.Icon;
-import net.minecraftforge.liquids.LiquidStack;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.DefaultProps;
import buildcraft.core.utils.StringUtils;
-import buildcraft.energy.TileEngineIron;
import buildcraft.energy.TileEngine;
+import buildcraft.energy.TileEngineIron;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.Icon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+import org.lwjgl.opengl.GL11;
public class GuiCombustionEngine extends GuiEngine {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/combustion_engine_gui.png");
+ private static final ResourceLocation BLOCK_TEXTURE = new ResourceLocation("/terrain.png");
+
public GuiCombustionEngine(InventoryPlayer inventoryplayer, TileEngine tileEngine) {
super(new ContainerEngine(inventoryplayer, tileEngine), tileEngine);
}
@@ -38,8 +37,8 @@ public class GuiCombustionEngine extends GuiEngine {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/combustion_engine_gui.png");
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
@@ -55,50 +54,41 @@ public class GuiCombustionEngine extends GuiEngine {
}
}
- private void displayGauge(int j, int k, int line, int col, int squaled, LiquidStack liquid) {
- if (liquid == null)
- {
+ private void displayGauge(int j, int k, int line, int col, int squaled, FluidStack liquid) {
+ if (liquid == null) {
return;
}
int start = 0;
- Icon liquidIcon;
- String textureSheet;
- if(liquid.canonical() != null && liquid.canonical().getRenderingIcon() != null) {
- textureSheet = liquid.canonical().getTextureSheet();
- liquidIcon = liquid.canonical().getRenderingIcon();
- } else {
- if (liquid.itemID < Block.blocksList.length && Block.blocksList[liquid.itemID].blockID > 0) {
- liquidIcon = Block.blocksList[liquid.itemID].getBlockTextureFromSide(0);
- textureSheet = "/terrain.png";
- } else {
- liquidIcon = Item.itemsList[liquid.itemID].getIconFromDamage(liquid.itemMeta);
- textureSheet = "/gui/items.png";
- }
+ Icon liquidIcon = null;
+ Fluid fluid = liquid.getFluid();
+ if (fluid != null && fluid.getStillIcon() != null) {
+ liquidIcon = fluid.getStillIcon();
}
- mc.renderEngine.bindTexture(textureSheet);
+ mc.renderEngine.func_110577_a(BLOCK_TEXTURE);
- while (true) {
- int x = 0;
+ if (liquidIcon != null) {
+ while (true) {
+ int x;
- if (squaled > 16) {
- x = 16;
- squaled -= 16;
- } else {
- x = squaled;
- squaled = 0;
- }
+ if (squaled > 16) {
+ x = 16;
+ squaled -= 16;
+ } else {
+ x = squaled;
+ squaled = 0;
+ }
- drawTexturedModelRectFromIcon(j + col, k + line + 58 - x - start, liquidIcon, 16, 16 - (16 - x));
- start = start + 16;
+ drawTexturedModelRectFromIcon(j + col, k + line + 58 - x - start, liquidIcon, 16, 16 - (16 - x));
+ start = start + 16;
- if (x == 0 || squaled == 0) {
- break;
+ if (x == 0 || squaled == 0) {
+ break;
+ }
}
}
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/combustion_engine_gui.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
drawTexturedModalRect(j + col, k + line, 176, 0, 16, 60);
}
-
}
diff --git a/common/buildcraft/energy/gui/GuiEngine.java b/common/buildcraft/energy/gui/GuiEngine.java
index feb11673..e7394596 100644
--- a/common/buildcraft/energy/gui/GuiEngine.java
+++ b/common/buildcraft/energy/gui/GuiEngine.java
@@ -1,16 +1,19 @@
package buildcraft.energy.gui;
-import net.minecraft.client.Minecraft;
-import net.minecraft.inventory.IInventory;
import buildcraft.BuildCraftCore;
import buildcraft.core.CoreIconProvider;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
import buildcraft.energy.TileEngine;
+import net.minecraft.client.Minecraft;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
public abstract class GuiEngine extends GuiBuildCraft {
+ private static final ResourceLocation ITEM_TEXTURE = new ResourceLocation("/gui/items.png");
+
protected class EngineLedger extends Ledger {
TileEngine engine;
@@ -31,7 +34,7 @@ public abstract class GuiEngine extends GuiBuildCraft {
drawBackground(x, y);
// Draw icon
- Minecraft.getMinecraft().renderEngine.bindTexture("/gui/items.png");
+ Minecraft.getMinecraft().renderEngine.func_110577_a(ITEM_TEXTURE);
drawIcon(BuildCraftCore.iconProvider.getIcon(CoreIconProvider.ENERGY), x + 3, y + 4);
if (!isFullyOpened())
diff --git a/common/buildcraft/energy/gui/GuiSteamEngine.java b/common/buildcraft/energy/gui/GuiStoneEngine.java
similarity index 69%
rename from common/buildcraft/energy/gui/GuiSteamEngine.java
rename to common/buildcraft/energy/gui/GuiStoneEngine.java
index 4627e641..dee51ab7 100644
--- a/common/buildcraft/energy/gui/GuiSteamEngine.java
+++ b/common/buildcraft/energy/gui/GuiStoneEngine.java
@@ -1,25 +1,24 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.energy.gui;
-import net.minecraft.entity.player.InventoryPlayer;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.DefaultProps;
import buildcraft.core.utils.StringUtils;
import buildcraft.energy.TileEngine;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
-public class GuiSteamEngine extends GuiEngine {
+public class GuiStoneEngine extends GuiEngine {
- public GuiSteamEngine(InventoryPlayer inventoryplayer, TileEngine tileEngine) {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/steam_engine_gui.png");
+
+ public GuiStoneEngine(InventoryPlayer inventoryplayer, TileEngine tileEngine) {
super(new ContainerEngine(inventoryplayer, tileEngine), tileEngine);
}
@@ -33,8 +32,8 @@ public class GuiSteamEngine extends GuiEngine {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/steam_engine_gui.png");
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
diff --git a/common/buildcraft/energy/render/RenderEngine.java b/common/buildcraft/energy/render/RenderEngine.java
index f17bfd7a..c6fc7e5a 100644
--- a/common/buildcraft/energy/render/RenderEngine.java
+++ b/common/buildcraft/energy/render/RenderEngine.java
@@ -7,27 +7,25 @@
*/
package buildcraft.energy.render;
-import static net.minecraftforge.common.ForgeDirection.DOWN;
-import static net.minecraftforge.common.ForgeDirection.EAST;
-import static net.minecraftforge.common.ForgeDirection.NORTH;
-import static net.minecraftforge.common.ForgeDirection.SOUTH;
-import static net.minecraftforge.common.ForgeDirection.UP;
-import static net.minecraftforge.common.ForgeDirection.WEST;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftCore.RenderMode;
import buildcraft.core.DefaultProps;
import buildcraft.core.IInventoryRenderer;
import buildcraft.energy.TileEngine;
import buildcraft.energy.TileEngine.EnergyStage;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import static net.minecraftforge.common.ForgeDirection.DOWN;
+import static net.minecraftforge.common.ForgeDirection.EAST;
+import static net.minecraftforge.common.ForgeDirection.NORTH;
+import static net.minecraftforge.common.ForgeDirection.SOUTH;
+import static net.minecraftforge.common.ForgeDirection.UP;
+import static net.minecraftforge.common.ForgeDirection.WEST;
+import org.lwjgl.opengl.GL11;
public class RenderEngine extends TileEntitySpecialRenderer implements IInventoryRenderer {
diff --git a/common/buildcraft/energy/worldgen/OilPopulate.java b/common/buildcraft/energy/worldgen/OilPopulate.java
index 37f2ce8c..efaf647e 100644
--- a/common/buildcraft/energy/worldgen/OilPopulate.java
+++ b/common/buildcraft/energy/worldgen/OilPopulate.java
@@ -7,27 +7,32 @@
*/
package buildcraft.energy.worldgen;
-import java.util.Random;
-
-import net.minecraft.world.World;
-import net.minecraft.world.biome.BiomeGenBase;
-import net.minecraftforge.event.ForgeSubscribe;
-import net.minecraftforge.event.terraingen.TerrainGen;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftEnergy;
+
import java.util.HashSet;
+import java.util.Random;
import java.util.Set;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFlower;
import net.minecraft.block.BlockFluid;
import net.minecraft.block.material.Material;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.common.BiomeDictionary;
+import static net.minecraftforge.common.BiomeDictionary.Type.DESERT;
+import static net.minecraftforge.common.BiomeDictionary.Type.FOREST;
+import static net.minecraftforge.common.BiomeDictionary.Type.FROZEN;
+import static net.minecraftforge.common.BiomeDictionary.Type.WASTELAND;
import net.minecraftforge.common.EnumHelper;
import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
import net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType;
-import static net.minecraftforge.common.BiomeDictionary.Type.*;
+import net.minecraftforge.event.terraingen.TerrainGen;
+import net.minecraftforge.fluids.BlockFluidBase;
+import net.minecraftforge.fluids.IFluidBlock;
public class OilPopulate {
@@ -145,7 +150,7 @@ public class OilPopulate {
int distance = poolX * poolX + poolY * poolY + poolZ * poolZ;
if (distance <= radiusSq) {
- world.setBlock(poolX + wellX, poolY + wellY, poolZ + wellZ, BuildCraftEnergy.oilStill.blockID, 0, distance == radiusSq ? 3 : 2);
+ world.setBlock(poolX + wellX, poolY + wellY, poolZ + wellZ, BuildCraftEnergy.blockOil.blockID, 0, distance == radiusSq ? 3 : 2);
}
}
}
@@ -177,15 +182,15 @@ public class OilPopulate {
}
}
for (int y = baseY + 1; y <= maxHeight; ++y) {
- world.setBlock(wellX, y, wellZ, BuildCraftEnergy.oilStill.blockID);
+ world.setBlock(wellX, y, wellZ, BuildCraftEnergy.blockOil.blockID);
}
if (type == GenType.LARGE) {
for (int y = wellY; y <= maxHeight - wellHeight / 2; ++y) {
- world.setBlock(wellX + 1, y, wellZ, BuildCraftEnergy.oilStill.blockID);
- world.setBlock(wellX - 1, y, wellZ, BuildCraftEnergy.oilStill.blockID);
- world.setBlock(wellX, y, wellZ + 1, BuildCraftEnergy.oilStill.blockID);
- world.setBlock(wellX, y, wellZ - 1, BuildCraftEnergy.oilStill.blockID);
+ world.setBlock(wellX + 1, y, wellZ, BuildCraftEnergy.blockOil.blockID);
+ world.setBlock(wellX - 1, y, wellZ, BuildCraftEnergy.blockOil.blockID);
+ world.setBlock(wellX, y, wellZ + 1, BuildCraftEnergy.blockOil.blockID);
+ world.setBlock(wellX, y, wellZ - 1, BuildCraftEnergy.blockOil.blockID);
}
}
@@ -248,18 +253,15 @@ public class OilPopulate {
}
}
- /**
- * TODO: This might need adjustment when more liquids have blocks
- */
- private boolean isOilOrWater(World world, int x, int y, int z) {
+ private boolean isReplaceableFluid(World world, int x, int y, int z) {
int blockId = world.getBlockId(x, y, z);
Block block = Block.blocksList[blockId];
- return block instanceof BlockFluid && block.blockMaterial != Material.lava;
+ return (block instanceof BlockFluid || block instanceof IFluidBlock) && block.blockMaterial != Material.lava;
}
private boolean isOil(World world, int x, int y, int z) {
int blockId = world.getBlockId(x, y, z);
- return (blockId == BuildCraftEnergy.oilStill.blockID || blockId == BuildCraftEnergy.oilMoving.blockID);
+ return (blockId == BuildCraftEnergy.blockOil.blockID);
}
private boolean isReplaceableForLake(World world, BiomeGenBase biome, int x, int y, int z) {
@@ -313,8 +315,8 @@ public class OilPopulate {
if (!world.isAirBlock(x, y + 2, z)) {
return;
}
- if (isOilOrWater(world, x, y, z) || world.isBlockSolidOnSide(x, y - 1, z, ForgeDirection.UP)) {
- world.setBlock(x, y, z, BuildCraftEnergy.oilStill.blockID, 0, update);
+ if (isReplaceableFluid(world, x, y, z) || world.isBlockSolidOnSide(x, y - 1, z, ForgeDirection.UP)) {
+ world.setBlock(x, y, z, BuildCraftEnergy.blockOil.blockID, 0, update);
} else {
return;
}
@@ -323,10 +325,10 @@ public class OilPopulate {
}
for (int d = 1; d <= depth - 1; d++) {
- if (isOilOrWater(world, x, y - d, z) || !world.isBlockSolidOnSide(x, y - d - 1, z, ForgeDirection.UP)) {
+ if (isReplaceableFluid(world, x, y - d, z) || !world.isBlockSolidOnSide(x, y - d - 1, z, ForgeDirection.UP)) {
return;
}
- world.setBlock(x, y - d, z, BuildCraftEnergy.oilStill.blockID, 0, 2);
+ world.setBlock(x, y - d, z, BuildCraftEnergy.blockOil.blockID, 0, 2);
}
}
}
@@ -347,6 +349,9 @@ public class OilPopulate {
if (block instanceof BlockFluid) {
return y;
}
+ if (block instanceof IFluidBlock) {
+ return y;
+ }
if (!block.blockMaterial.blocksMovement()) {
continue;
}
diff --git a/common/buildcraft/factory/BlockAutoWorkbench.java b/common/buildcraft/factory/BlockAutoWorkbench.java
index 9e6bcc4b..83a7b4a4 100644
--- a/common/buildcraft/factory/BlockAutoWorkbench.java
+++ b/common/buildcraft/factory/BlockAutoWorkbench.java
@@ -9,15 +9,6 @@
package buildcraft.factory;
-import java.util.ArrayList;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftFactory;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.GuiIds;
@@ -25,6 +16,14 @@ import buildcraft.core.IItemPipe;
import buildcraft.core.proxy.CoreProxy;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public class BlockAutoWorkbench extends BlockBuildCraft {
diff --git a/common/buildcraft/factory/BlockFrame.java b/common/buildcraft/factory/BlockFrame.java
index 911a4b95..a6a155db 100644
--- a/common/buildcraft/factory/BlockFrame.java
+++ b/common/buildcraft/factory/BlockFrame.java
@@ -9,10 +9,14 @@
package buildcraft.factory;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.IFramePipeConnection;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
-
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -23,11 +27,6 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.IFramePipeConnection;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockFrame extends Block implements IFramePipeConnection {
diff --git a/common/buildcraft/factory/BlockHopper.java b/common/buildcraft/factory/BlockHopper.java
index cc5dd2da..d46484b6 100644
--- a/common/buildcraft/factory/BlockHopper.java
+++ b/common/buildcraft/factory/BlockHopper.java
@@ -1,14 +1,5 @@
package buildcraft.factory;
-import java.util.ArrayList;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftFactory;
import buildcraft.core.BlockBuildCraft;
@@ -17,6 +8,14 @@ import buildcraft.core.IItemPipe;
import buildcraft.core.proxy.CoreProxy;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public class BlockHopper extends BlockBuildCraft {
diff --git a/common/buildcraft/factory/BlockMachineRoot.java b/common/buildcraft/factory/BlockMachineRoot.java
index f2769d3f..843301e7 100644
--- a/common/buildcraft/factory/BlockMachineRoot.java
+++ b/common/buildcraft/factory/BlockMachineRoot.java
@@ -9,12 +9,12 @@
package buildcraft.factory;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.IMachine;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.IMachine;
public abstract class BlockMachineRoot extends BlockContainer {
diff --git a/common/buildcraft/factory/BlockMiningWell.java b/common/buildcraft/factory/BlockMiningWell.java
index 512668f4..85712ae5 100644
--- a/common/buildcraft/factory/BlockMiningWell.java
+++ b/common/buildcraft/factory/BlockMiningWell.java
@@ -9,21 +9,20 @@
package buildcraft.factory;
-import java.util.ArrayList;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftFactory;
import buildcraft.api.core.Position;
import buildcraft.core.utils.Utils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class BlockMiningWell extends BlockMachineRoot {
@@ -55,7 +54,7 @@ public class BlockMiningWell extends BlockMachineRoot {
}
@Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) {
ForgeDirection orientation = Utils.get2dOrientation(new Position(entityliving.posX, entityliving.posY, entityliving.posZ), new Position(i, j, k));
world.setBlockMetadataWithNotify(i, j, k, orientation.getOpposite().ordinal(),1);
@@ -66,7 +65,7 @@ public class BlockMiningWell extends BlockMachineRoot {
super.breakBlock(world, x, y, z, id, meta);
removePipes(world, x, y, z);
}
-
+
public void removePipes(World world, int x, int y, int z) {
for (int depth = y - 1; depth > 0; depth--) {
int pipeID = world.getBlockId(x, depth, z);
diff --git a/common/buildcraft/factory/BlockPlainPipe.java b/common/buildcraft/factory/BlockPlainPipe.java
index 4ceaf997..13a0f444 100644
--- a/common/buildcraft/factory/BlockPlainPipe.java
+++ b/common/buildcraft/factory/BlockPlainPipe.java
@@ -9,18 +9,17 @@
package buildcraft.factory;
+import buildcraft.core.IFramePipeConnection;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.Random;
-
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
-import buildcraft.core.IFramePipeConnection;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockPlainPipe extends Block implements IFramePipeConnection {
diff --git a/common/buildcraft/factory/BlockPump.java b/common/buildcraft/factory/BlockPump.java
index 930146a9..5036a4f2 100644
--- a/common/buildcraft/factory/BlockPump.java
+++ b/common/buildcraft/factory/BlockPump.java
@@ -9,8 +9,11 @@
package buildcraft.factory;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -18,10 +21,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockPump extends BlockContainer {
diff --git a/common/buildcraft/factory/BlockQuarry.java b/common/buildcraft/factory/BlockQuarry.java
index 430b039e..ecee8fbd 100644
--- a/common/buildcraft/factory/BlockQuarry.java
+++ b/common/buildcraft/factory/BlockQuarry.java
@@ -9,18 +9,6 @@
package buildcraft.factory;
-import java.util.ArrayList;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftFactory;
import buildcraft.api.core.Position;
import buildcraft.api.tools.IToolWrench;
@@ -29,6 +17,17 @@ import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class BlockQuarry extends BlockMachineRoot {
@@ -45,7 +44,7 @@ public class BlockQuarry extends BlockMachineRoot {
}
@Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) {
super.onBlockPlacedBy(world, i, j, k, entityliving, stack);
ForgeDirection orientation = Utils.get2dOrientation(new Position(entityliving.posX, entityliving.posY, entityliving.posZ), new Position(i, j, k));
diff --git a/common/buildcraft/factory/BlockRefinery.java b/common/buildcraft/factory/BlockRefinery.java
index aa45630a..a95790cc 100644
--- a/common/buildcraft/factory/BlockRefinery.java
+++ b/common/buildcraft/factory/BlockRefinery.java
@@ -7,21 +7,6 @@
*/
package buildcraft.factory;
-import java.util.ArrayList;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftFactory;
import buildcraft.api.core.Position;
@@ -32,6 +17,20 @@ import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
public class BlockRefinery extends BlockContainer {
@@ -69,7 +68,7 @@ public class BlockRefinery extends BlockContainer {
}
@Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) {
super.onBlockPlacedBy(world, i, j, k, entityliving, stack);
ForgeDirection orientation = Utils.get2dOrientation(new Position(entityliving.posX, entityliving.posY, entityliving.posZ), new Position(i, j, k));
@@ -109,7 +108,7 @@ public class BlockRefinery extends BlockContainer {
return true;
} else {
- LiquidStack liquid = LiquidContainerRegistry.getLiquidForFilledItem(entityplayer.getCurrentEquippedItem());
+ FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(entityplayer.getCurrentEquippedItem());
if (liquid != null) {
int qty = ((TileRefinery) world.getBlockTileEntity(i, j, k)).fill(ForgeDirection.UNKNOWN, liquid, true);
diff --git a/common/buildcraft/factory/BlockTank.java b/common/buildcraft/factory/BlockTank.java
index 64541d25..2362bbf6 100644
--- a/common/buildcraft/factory/BlockTank.java
+++ b/common/buildcraft/factory/BlockTank.java
@@ -9,8 +9,12 @@
package buildcraft.factory;
+import buildcraft.BuildCraftCore;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -21,13 +25,8 @@ import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-import buildcraft.BuildCraftCore;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
public class BlockTank extends BlockContainer {
@@ -93,7 +92,7 @@ public class BlockTank extends BlockContainer {
ItemStack current = entityplayer.inventory.getCurrentItem();
if (current != null) {
- LiquidStack liquid = LiquidContainerRegistry.getLiquidForFilledItem(current);
+ FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(current);
TileTank tank = (TileTank) world.getBlockTileEntity(i, j, k);
@@ -110,11 +109,11 @@ public class BlockTank extends BlockContainer {
// Handle empty containers
} else {
- LiquidStack available = tank.getTanks(ForgeDirection.UNKNOWN)[0].getLiquid();
+ FluidStack available = tank.getTankInfo(ForgeDirection.UNKNOWN)[0].fluid;
if (available != null) {
- ItemStack filled = LiquidContainerRegistry.fillLiquidContainer(available, current);
+ ItemStack filled = FluidContainerRegistry.fillFluidContainer(available, current);
- liquid = LiquidContainerRegistry.getLiquidForFilledItem(filled);
+ liquid = FluidContainerRegistry.getFluidForFilledItem(filled);
if (liquid != null) {
if (!BuildCraftCore.debugMode && !entityplayer.capabilities.isCreativeMode) {
diff --git a/common/buildcraft/factory/BptBlockAutoWorkbench.java b/common/buildcraft/factory/BptBlockAutoWorkbench.java
index 5fad3b8c..4d43674c 100644
--- a/common/buildcraft/factory/BptBlockAutoWorkbench.java
+++ b/common/buildcraft/factory/BptBlockAutoWorkbench.java
@@ -9,14 +9,13 @@
package buildcraft.factory;
-import java.util.LinkedList;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptBlockUtils;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockAutoWorkbench extends BptBlock {
diff --git a/common/buildcraft/factory/BptBlockFrame.java b/common/buildcraft/factory/BptBlockFrame.java
index fd860e13..6f8c0e15 100644
--- a/common/buildcraft/factory/BptBlockFrame.java
+++ b/common/buildcraft/factory/BptBlockFrame.java
@@ -9,12 +9,11 @@
package buildcraft.factory;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
@Deprecated
public class BptBlockFrame extends BptBlock {
diff --git a/common/buildcraft/factory/BptBlockRefinery.java b/common/buildcraft/factory/BptBlockRefinery.java
index f4d6a094..8651abe6 100644
--- a/common/buildcraft/factory/BptBlockRefinery.java
+++ b/common/buildcraft/factory/BptBlockRefinery.java
@@ -8,10 +8,10 @@
package buildcraft.factory;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.blueprints.BptBlock;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
+import net.minecraftforge.common.ForgeDirection;
@Deprecated
public class BptBlockRefinery extends BptBlock {
diff --git a/common/buildcraft/factory/EntityMechanicalArm.java b/common/buildcraft/factory/EntityMechanicalArm.java
index 6137e288..682373cf 100644
--- a/common/buildcraft/factory/EntityMechanicalArm.java
+++ b/common/buildcraft/factory/EntityMechanicalArm.java
@@ -9,11 +9,11 @@
package buildcraft.factory;
+import buildcraft.core.EntityBlock;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-import buildcraft.core.EntityBlock;
public class EntityMechanicalArm extends Entity {
EntityBlock xArm, yArm, zArm, head;
diff --git a/common/buildcraft/factory/FactoryProxy.java b/common/buildcraft/factory/FactoryProxy.java
index 47d097be..f150464b 100644
--- a/common/buildcraft/factory/FactoryProxy.java
+++ b/common/buildcraft/factory/FactoryProxy.java
@@ -1,8 +1,8 @@
package buildcraft.factory;
-import net.minecraft.world.World;
import buildcraft.core.EntityBlock;
import cpw.mods.fml.common.SidedProxy;
+import net.minecraft.world.World;
public class FactoryProxy {
@SidedProxy(clientSide = "buildcraft.factory.FactoryProxyClient", serverSide = "buildcraft.factory.FactoryProxy")
diff --git a/common/buildcraft/factory/FactoryProxyClient.java b/common/buildcraft/factory/FactoryProxyClient.java
index 276a6e5e..daebdc08 100644
--- a/common/buildcraft/factory/FactoryProxyClient.java
+++ b/common/buildcraft/factory/FactoryProxyClient.java
@@ -1,9 +1,5 @@
package buildcraft.factory;
-import java.lang.reflect.Method;
-
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftFactory;
import buildcraft.core.EntityBlock;
@@ -16,6 +12,9 @@ import buildcraft.factory.render.RenderRefinery;
import buildcraft.factory.render.RenderTank;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
+import java.lang.reflect.Method;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public class FactoryProxyClient extends FactoryProxy {
public static Icon pumpTexture;
diff --git a/common/buildcraft/factory/GuiHandler.java b/common/buildcraft/factory/GuiHandler.java
index 2101e32c..ae8be321 100644
--- a/common/buildcraft/factory/GuiHandler.java
+++ b/common/buildcraft/factory/GuiHandler.java
@@ -1,8 +1,5 @@
package buildcraft.factory;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.core.GuiIds;
import buildcraft.factory.gui.ContainerAutoWorkbench;
import buildcraft.factory.gui.ContainerHopper;
@@ -11,6 +8,9 @@ import buildcraft.factory.gui.GuiAutoCrafting;
import buildcraft.factory.gui.GuiHopper;
import buildcraft.factory.gui.GuiRefinery;
import cpw.mods.fml.common.network.IGuiHandler;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
diff --git a/common/buildcraft/factory/PumpDimensionList.java b/common/buildcraft/factory/PumpDimensionList.java
index b2334831..f293776d 100644
--- a/common/buildcraft/factory/PumpDimensionList.java
+++ b/common/buildcraft/factory/PumpDimensionList.java
@@ -3,68 +3,67 @@ package buildcraft.factory;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-
-import net.minecraftforge.liquids.LiquidDictionary;
-import net.minecraftforge.liquids.LiquidStack;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
public class PumpDimensionList {
public PumpDimensionList(String string) {
-
+
entries = new LinkedList();
-
+
for(String entryString : string.trim().split(",")) {
-
+
Entry e = new Entry();
-
+
if(entryString.startsWith("+/")) {
e.isWhitelist = true;
} else if(entryString.startsWith("-/")) {
e.isWhitelist = false;
} else
throw new RuntimeException("Malformed pumping.controlList entry: "+entryString+" (must start with +/ or -/)");
-
+
entryString = entryString.substring(2);
int i = entryString.indexOf('/');
-
+
if(i < 0)
throw new RuntimeException("Malformed pumping.controlList entry: "+entryString+" (missing second /)");
-
+
String dimIDString = entryString.substring(0, i);
-
+
if(dimIDString.equals("*"))
e.matchAnyDim = true;
else
e.dimID = Integer.parseInt(dimIDString);
-
+
e.liquidName = entryString.substring(i + 1);
if(e.liquidName.equals("*"))
- e.matchAnyLiquid = true;
-
+ e.matchAnyFluid = true;
+
entries.add(0, e);
}
-
+
entries = new ArrayList(entries);
}
private class Entry {
boolean isWhitelist;
- LiquidStack liquidStack;
+ FluidStack liquidStack;
String liquidName;
int dimID;
- boolean matchAnyLiquid;
+ boolean matchAnyFluid;
boolean matchAnyDim;
-
- private void initLiquidStack() {
- liquidStack = LiquidDictionary.getLiquid(liquidName, 1);
+
+ private void initFluidStack() {
+ liquidStack = FluidRegistry.getFluidStack(liquidName, 1);
if(liquidStack == null)
throw new RuntimeException("Configuration error: unknown liquid "+liquidName+" in pumping.controlList");
}
-
- boolean matches(LiquidStack liquid, int dim) {
- if(!matchAnyLiquid) {
+
+ boolean matches(FluidStack liquid, int dim) {
+ if(!matchAnyFluid) {
if(liquidStack == null)
- initLiquidStack();
- if(!liquidStack.isLiquidEqual(liquid))
+ initFluidStack();
+ if(!liquidStack.isFluidEqual(liquid))
return false;
}
if(!matchAnyDim && dimID != dim)
@@ -72,15 +71,15 @@ public class PumpDimensionList {
return true;
}
}
-
+
private List entries;
- public boolean isLiquidAllowed(LiquidStack liquid, int dim) {
+ public boolean isFluidAllowed(FluidStack liquid, int dim) {
for(Entry e : entries)
if(e.matches(liquid, dim))
return e.isWhitelist;
return false;
}
-
-
+
+
}
diff --git a/common/buildcraft/factory/TileAutoWorkbench.java b/common/buildcraft/factory/TileAutoWorkbench.java
index 51a17fdd..bb06e664 100644
--- a/common/buildcraft/factory/TileAutoWorkbench.java
+++ b/common/buildcraft/factory/TileAutoWorkbench.java
@@ -8,26 +8,25 @@
package buildcraft.factory;
import buildcraft.core.TileBuildCraft;
+import buildcraft.core.inventory.InventoryConcatenator;
import buildcraft.core.inventory.InventoryIterator;
import buildcraft.core.inventory.InventoryIterator.IInvSlot;
-import buildcraft.core.inventory.InventoryMapper;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.IRecipe;
-import net.minecraft.nbt.NBTTagCompound;
+import buildcraft.core.inventory.SimpleInventory;
import buildcraft.core.inventory.StackHelper;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.CraftingHelper;
-import buildcraft.core.inventory.SimpleInventory;
-import buildcraft.core.inventory.TransactorRoundRobin;
import buildcraft.core.utils.Utils;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.ISidedInventory;
import net.minecraft.inventory.InventoryCraftResult;
+import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.inventory.SlotCrafting;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.ChunkCoordinates;
import net.minecraftforge.common.ForgeDirection;
@@ -36,12 +35,11 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
public static final int SLOT_RESULT = 0;
public static final int CRAFT_TIME = 256;
public static final int UPDATE_TIME = 16;
- private static final int[] SLOTS = Utils.createSlotArray(0, 5);
- private SimpleInventory inv = new SimpleInventory(5, "Auto Workbench", 64);
- private IInventory invBuffer = new InventoryMapper(inv, 1, 4);
+ private static final int[] SLOTS = Utils.createSlotArray(0, 10);
+ private SimpleInventory resultInv = new SimpleInventory(1, "Auto Workbench", 64);
public InventoryCrafting craftMatrix = new LocalInventoryCrafting();
+ private IInventory inv = InventoryConcatenator.make().add(resultInv).add(craftMatrix);
public boolean useLast;
- private final TransactorRoundRobin transactor = new TransactorRoundRobin(craftMatrix);
private EntityPlayer internalPlayer;
private SlotCrafting craftSlot;
private InventoryCraftResult craftResult = new InventoryCraftResult();
@@ -63,15 +61,14 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
private final class InternalPlayer extends EntityPlayer {
public InternalPlayer() {
- super(TileAutoWorkbench.this.worldObj);
+ super(TileAutoWorkbench.this.worldObj, "[BuildCraft]");
posX = TileAutoWorkbench.this.xCoord;
posY = TileAutoWorkbench.this.yCoord + 1;
posZ = TileAutoWorkbench.this.zCoord;
- username = "[Buildcraft]";
}
@Override
- public void sendChatToPlayer(String var1) {
+ public void sendChatToPlayer(ChatMessageComponent var1) {
}
@Override
@@ -93,7 +90,7 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
@Override
public int getSizeInventory() {
- return inv.getSizeInventory();
+ return 10;
}
@Override
@@ -118,13 +115,11 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
@Override
public String getInvName() {
-
return "";
}
@Override
public int getInventoryStackLimit() {
-
return 64;
}
@@ -136,7 +131,7 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
@Override
public void readFromNBT(NBTTagCompound data) {
super.readFromNBT(data);
- inv.readFromNBT(data);
+ resultInv.readFromNBT(data);
Utils.readInvFromNBT(craftMatrix, "matrix", data);
// Legacy Code
@@ -152,7 +147,7 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
@Override
public void writeToNBT(NBTTagCompound data) {
super.writeToNBT(data);
- inv.writeToNBT(data);
+ resultInv.writeToNBT(data);
Utils.writeInvToNBT(craftMatrix, "matrix", data);
}
@@ -197,13 +192,13 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
return;
}
- processHiddenBuffer();
+ balanceSlots();
if (craftSlot == null) {
internalPlayer = new InternalPlayer();
craftSlot = new SlotCrafting(internalPlayer, craftMatrix, craftResult, 0, 0, 0);
}
- if (inv.getStackInSlot(SLOT_RESULT) != null) {
+ if (resultInv.getStackInSlot(SLOT_RESULT) != null) {
return;
}
update++;
@@ -217,22 +212,26 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
}
/**
- * Moves items out of the hidden input buffer into the craft grid.
+ * Evenly redistributes items between all the slots.
*/
- private void processHiddenBuffer() {
- for (IInvSlot slot : InventoryIterator.getIterable(invBuffer, ForgeDirection.UP)) {
- ItemStack stack = slot.getStackInSlot();
- if (stack == null) {
+ private void balanceSlots() {
+ for (IInvSlot slotA : InventoryIterator.getIterable(craftMatrix, ForgeDirection.UP)) {
+ ItemStack stackA = slotA.getStackInSlot();
+ if (stackA == null)
continue;
- }
- if (!gridHasRoomFor(stack)) {
- slot.setStackInSlot(null);
- Utils.dropItems(worldObj, stack, xCoord, yCoord + 1, zCoord);
- continue;
- }
- stack.stackSize -= transactor.add(stack, ForgeDirection.DOWN, true).stackSize;
- if (stack.stackSize <= 0) {
- slot.setStackInSlot(null);
+ for (IInvSlot slotB : InventoryIterator.getIterable(craftMatrix, ForgeDirection.UP)) {
+ if (slotA.getIndex() == slotB.getIndex())
+ continue;
+ ItemStack stackB = slotB.getStackInSlot();
+ if (stackB == null)
+ continue;
+ if (StackHelper.instance().canStacksMerge(stackA, stackB)) {
+ if (stackA.stackSize > stackB.stackSize + 1) {
+ stackA.stackSize--;
+ stackB.stackSize++;
+ return;
+ }
+ }
}
}
}
@@ -262,7 +261,7 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
}
result = result.copy();
craftSlot.onPickupFromSlot(internalPlayer, result);
- inv.setInventorySlotContents(SLOT_RESULT, result);
+ resultInv.setInventorySlotContents(SLOT_RESULT, result);
// clean fake player inventory (crafting handler support)
for (IInvSlot slot : InventoryIterator.getIterable(internalPlayer.inventory, ForgeDirection.UP)) {
@@ -288,20 +287,18 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
}
@Override
- public boolean isStackValidForSlot(int slot, ItemStack stack) {
- if (slot == SLOT_RESULT) {
+ public boolean isItemValidForSlot(int slot, ItemStack stack) {
+ if (slot == SLOT_RESULT)
return false;
- }
- if (stack == null) {
+ if (stack == null)
return false;
- }
- if (!stack.isStackable()) {
+ if (!stack.isStackable())
return false;
- }
- if (stack.getItem().hasContainerItem()) {
+ if (stack.getItem().hasContainerItem())
return false;
- }
- return gridHasRoomFor(stack);
+ if (getStackInSlot(slot) == null)
+ return false;
+ return true;
}
@Override
@@ -311,7 +308,7 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
@Override
public boolean canInsertItem(int slot, ItemStack stack, int side) {
- return isStackValidForSlot(slot, stack);
+ return isItemValidForSlot(slot, stack);
}
@Override
@@ -319,23 +316,6 @@ public class TileAutoWorkbench extends TileBuildCraft implements ISidedInventory
return slot == SLOT_RESULT;
}
- /**
- * Check if there is room for the stack in the crafting grid.
- *
- * @param input
- * @return true if in grid
- */
- private boolean gridHasRoomFor(ItemStack input) {
- int space = 0;
- for (IInvSlot slot : InventoryIterator.getIterable(craftMatrix, ForgeDirection.UP)) {
- ItemStack stack = slot.getStackInSlot();
- if (StackHelper.instance().canStacksMerge(stack, input)) {
- space += stack.getMaxStackSize() - stack.stackSize;
- }
- }
- return space >= input.stackSize;
- }
-
/**
* Returns true if there are only enough inputs for a single craft job.
*
diff --git a/common/buildcraft/factory/TileHopper.java b/common/buildcraft/factory/TileHopper.java
index d61f7dc3..74cec761 100644
--- a/common/buildcraft/factory/TileHopper.java
+++ b/common/buildcraft/factory/TileHopper.java
@@ -1,16 +1,16 @@
package buildcraft.factory;
+import buildcraft.core.TileBuildCraft;
+import buildcraft.core.inventory.ITransactor;
+import buildcraft.core.inventory.SimpleInventory;
+import buildcraft.core.inventory.Transactor;
+import buildcraft.core.proxy.CoreProxy;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.core.TileBuildCraft;
-import buildcraft.core.inventory.ITransactor;
-import buildcraft.core.inventory.Transactor;
-import buildcraft.core.proxy.CoreProxy;
-import buildcraft.core.inventory.SimpleInventory;
public class TileHopper extends TileBuildCraft implements IInventory {
@@ -112,7 +112,7 @@ public class TileHopper extends TileBuildCraft implements IInventory {
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return true;
}
}
diff --git a/common/buildcraft/factory/TileMiningWell.java b/common/buildcraft/factory/TileMiningWell.java
index dee4a54d..d19f5013 100644
--- a/common/buildcraft/factory/TileMiningWell.java
+++ b/common/buildcraft/factory/TileMiningWell.java
@@ -7,12 +7,6 @@
*/
package buildcraft.factory;
-import java.util.List;
-
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftFactory;
import buildcraft.api.gates.IAction;
@@ -25,6 +19,11 @@ import buildcraft.core.IMachine;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.utils.BlockUtil;
import buildcraft.core.utils.Utils;
+import java.util.List;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class TileMiningWell extends TileBuildCraft implements IMachine, IPowerReceptor, IPipeConnection {
@@ -121,7 +120,7 @@ public class TileMiningWell extends TileBuildCraft implements IMachine, IPowerRe
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
diff --git a/common/buildcraft/factory/TilePump.java b/common/buildcraft/factory/TilePump.java
index 20f25289..1193f400 100644
--- a/common/buildcraft/factory/TilePump.java
+++ b/common/buildcraft/factory/TilePump.java
@@ -7,21 +7,6 @@
*/
package buildcraft.factory;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import net.minecraft.block.Block;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-import net.minecraftforge.liquids.LiquidTank;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftFactory;
import buildcraft.api.core.Position;
@@ -38,13 +23,28 @@ import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTank;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
-public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor, ITankContainer {
+public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor, IFluidHandler {
- public static int MAX_LIQUID = LiquidContainerRegistry.BUCKET_VOLUME;
+ public static int MAX_LIQUID = FluidContainerRegistry.BUCKET_VOLUME * 16;
EntityBlock tube;
private TreeMap> blocksToPump = new TreeMap>();
- LiquidTank tank;
+ FluidTank tank;
double tubeY = Double.NaN;
int aimY = 0;
private PowerHandler powerHandler;
@@ -52,7 +52,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
public TilePump() {
powerHandler = new PowerHandler(this, Type.MACHINE);
initPowerProvider();
- tank = new LiquidTank(MAX_LIQUID);
+ tank = new FluidTank(MAX_LIQUID);
}
private void initPowerProvider() {
@@ -81,19 +81,19 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
return;
}
- if (tank.getLiquid() == null || tank.getLiquid().amount <= 0) {
+ if (tank.getFluid() == null || tank.getFluid().amount <= 0) {
BlockIndex index = getNextIndexToPump(false);
- if (isPumpableLiquid(index)) {
- LiquidStack liquidToPump = Utils.liquidFromBlockId(worldObj.getBlockId(index.i, index.j, index.k));
+ if (isPumpableFluid(index)) {
+ FluidStack liquidToPump = Utils.drainBlock(worldObj, index.i, index.j, index.k, false);
if (tank.fill(liquidToPump, false) == liquidToPump.amount) {
if (powerHandler.useEnergy(10, 10, true) == 10) {
index = getNextIndexToPump(true);
- if (liquidToPump.itemID != Block.waterStill.blockID || BuildCraftCore.consumeWaterSources) {
- worldObj.setBlock(index.i, index.j, index.k, 0);
+ if (liquidToPump.getFluid() != FluidRegistry.WATER || BuildCraftCore.consumeWaterSources) {
+ Utils.drainBlock(worldObj, index.i, index.j, index.k, true);
}
tank.fill(liquidToPump, true);
@@ -111,7 +111,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
if (getNextIndexToPump(false) == null) {
for (int y = yCoord - 1; y > 0; --y) {
- if (isLiquid(new BlockIndex(xCoord, y, zCoord))) {
+ if (isFluid(new BlockIndex(xCoord, y, zCoord))) {
aimY = y;
return;
} else if (!worldObj.isAirBlock(xCoord, y, zCoord)) {
@@ -124,7 +124,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
}
}
- LiquidStack liquid = tank.getLiquid();
+ FluidStack liquid = tank.getFluid();
if (liquid != null && liquid.amount >= 0) {
for (int i = 0; i < 6; ++i) {
Position p = new Position(xCoord, yCoord, zCoord, ForgeDirection.values()[i]);
@@ -132,8 +132,8 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
TileEntity tile = worldObj.getBlockTileEntity((int) p.x, (int) p.y, (int) p.z);
- if (tile instanceof ITankContainer) {
- int moved = ((ITankContainer) tile).fill(p.orientation.getOpposite(), liquid, true);
+ if (tile instanceof IFluidHandler) {
+ int moved = ((IFluidHandler) tile).fill(p.orientation.getOpposite(), liquid, true);
tank.drain(moved, true);
if (liquid.amount <= 0) {
break;
@@ -209,10 +209,10 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
liquidId = worldObj.getBlockId(x, y, z);
- if (!isLiquid(new BlockIndex(x, y, z)))
+ if (!isFluid(new BlockIndex(x, y, z)))
return;
- addToPumpIfLiquid(new BlockIndex(x, y, z), markedBlocks, lastFound, pumpList, liquidId);
+ addToPumpIfFluid(new BlockIndex(x, y, z), markedBlocks, lastFound, pumpList, liquidId);
long timeoutTime = System.currentTimeMillis() + 1000;
@@ -221,10 +221,10 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
lastFound.clear();
for (BlockIndex index : visitIteration) {
- addToPumpIfLiquid(new BlockIndex(index.i + 1, index.j, index.k), markedBlocks, lastFound, pumpList, liquidId);
- addToPumpIfLiquid(new BlockIndex(index.i - 1, index.j, index.k), markedBlocks, lastFound, pumpList, liquidId);
- addToPumpIfLiquid(new BlockIndex(index.i, index.j, index.k + 1), markedBlocks, lastFound, pumpList, liquidId);
- addToPumpIfLiquid(new BlockIndex(index.i, index.j, index.k - 1), markedBlocks, lastFound, pumpList, liquidId);
+ addToPumpIfFluid(new BlockIndex(index.i + 1, index.j, index.k), markedBlocks, lastFound, pumpList, liquidId);
+ addToPumpIfFluid(new BlockIndex(index.i - 1, index.j, index.k), markedBlocks, lastFound, pumpList, liquidId);
+ addToPumpIfFluid(new BlockIndex(index.i, index.j, index.k + 1), markedBlocks, lastFound, pumpList, liquidId);
+ addToPumpIfFluid(new BlockIndex(index.i, index.j, index.k - 1), markedBlocks, lastFound, pumpList, liquidId);
if (!blocksToPump.containsKey(index.j + 1)) {
blocksToPump.put(index.j + 1, new LinkedList());
@@ -232,7 +232,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
pumpList = blocksToPump.get(index.j + 1);
- addToPumpIfLiquid(new BlockIndex(index.i, index.j + 1, index.k), markedBlocks, lastFound, pumpList, liquidId);
+ addToPumpIfFluid(new BlockIndex(index.i, index.j + 1, index.k), markedBlocks, lastFound, pumpList, liquidId);
if (System.currentTimeMillis() > timeoutTime)
return;
@@ -240,7 +240,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
}
}
- public void addToPumpIfLiquid(BlockIndex index, Set markedBlocks, TreeSet lastFound, LinkedList pumpList,
+ public void addToPumpIfFluid(BlockIndex index, Set markedBlocks, TreeSet lastFound, LinkedList pumpList,
int liquidId) {
if (liquidId != worldObj.getBlockId(index.i, index.j, index.k))
@@ -250,70 +250,63 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
if ((index.i - xCoord) * (index.i - xCoord) + (index.k - zCoord) * (index.k - zCoord) > 64 * 64)
return;
- if (isPumpableLiquid(index)) {
+ if (isPumpableFluid(index)) {
pumpList.push(index);
}
- if (isLiquid(index)) {
+ if (isFluid(index)) {
lastFound.add(index);
}
}
}
- private boolean isPumpableLiquid(BlockIndex index) {
- return isLiquid(index) && worldObj.getBlockMetadata(index.i, index.j, index.k) == 0;
+ private boolean isPumpableFluid(BlockIndex index) {
+ return isFluid(index) && worldObj.getBlockMetadata(index.i, index.j, index.k) == 0;
}
- private boolean isLiquid(BlockIndex index) {
+ private boolean isFluid(BlockIndex index) {
if (index == null)
return false;
- LiquidStack liquid = Utils.liquidFromBlockId(worldObj.getBlockId(index.i, index.j, index.k));
+ FluidStack liquid = Utils.drainBlock(worldObj, index.i, index.j, index.k, false);
if (liquid == null)
return false;
- return BuildCraftFactory.pumpDimensionList.isLiquidAllowed(liquid, worldObj.provider.dimensionId);
+ return BuildCraftFactory.pumpDimensionList.isFluidAllowed(liquid, worldObj.provider.dimensionId);
}
@Override
- public void readFromNBT(NBTTagCompound nbttagcompound) {
- super.readFromNBT(nbttagcompound);
+ public void readFromNBT(NBTTagCompound data) {
+ super.readFromNBT(data);
- if (nbttagcompound.hasKey("internalLiquid")) {
- tank.setLiquid(new LiquidStack(nbttagcompound.getInteger("liquidId"), nbttagcompound.getInteger("internalLiquid")));
- } else if (nbttagcompound.hasKey("tank")) {
- tank.setLiquid(LiquidStack.loadLiquidStackFromNBT(nbttagcompound.getCompoundTag("tank")));
- }
- aimY = nbttagcompound.getInteger("aimY");
+ powerHandler.readFromNBT(data);
+ tank.readFromNBT(data);
- tubeY = nbttagcompound.getFloat("tubeY");
+ aimY = data.getInteger("aimY");
+ tubeY = data.getFloat("tubeY");
- powerHandler.readFromNBT(nbttagcompound);
initPowerProvider();
}
@Override
- public void writeToNBT(NBTTagCompound nbttagcompound) {
- super.writeToNBT(nbttagcompound);
+ public void writeToNBT(NBTTagCompound data) {
+ super.writeToNBT(data);
- powerHandler.writeToNBT(nbttagcompound);
+ powerHandler.writeToNBT(data);
+ tank.writeToNBT(data);
- if (tank.getLiquid() != null) {
- nbttagcompound.setTag("tank", tank.getLiquid().writeToNBT(new NBTTagCompound()));
- }
-
- nbttagcompound.setInteger("aimY", aimY);
+ data.setInteger("aimY", aimY);
if (tube != null) {
- nbttagcompound.setFloat("tubeY", (float) tube.posY);
+ data.setFloat("tubeY", (float) tube.posY);
} else {
- nbttagcompound.setFloat("tubeY", yCoord);
+ data.setFloat("tubeY", yCoord);
}
}
@Override
public boolean isActive() {
- return isPumpableLiquid(getNextIndexToPump(false));
+ return isPumpableFluid(getNextIndexToPump(false));
}
@Override
@@ -327,33 +320,27 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
@Override
public PacketPayload getPacketPayload() {
- PacketPayload payload = new PacketPayload(4, 1, 0);
- if (tank.getLiquid() != null) {
- payload.intPayload[0] = tank.getLiquid().itemID;
- payload.intPayload[1] = tank.getLiquid().itemMeta;
- payload.intPayload[2] = tank.getLiquid().amount;
+ PacketPayload payload = new PacketPayload(3, 1, 0);
+ if (tank.getFluid() != null) {
+ payload.intPayload[0] = tank.getFluid().getFluid().getID();
+ payload.intPayload[1] = tank.getFluid().amount;
} else {
payload.intPayload[0] = 0;
payload.intPayload[1] = 0;
- payload.intPayload[2] = 0;
}
- payload.intPayload[3] = aimY;
+ payload.intPayload[2] = aimY;
payload.floatPayload[0] = (float) tubeY;
return payload;
}
- @Override
- public void handleDescriptionPacket(PacketUpdate packet) {
- handleUpdatePacket(packet);
- }
-
@Override
public void handleUpdatePacket(PacketUpdate packet) {
if (packet.payload.intPayload[0] > 0) {
- tank.setLiquid(new LiquidStack(packet.payload.intPayload[0], packet.payload.intPayload[2], packet.payload.intPayload[1]));
+ FluidStack liquid = new FluidStack(FluidRegistry.getFluid(packet.payload.intPayload[0]), packet.payload.intPayload[2]);
+ tank.setFluid(liquid);
} else {
- tank.setLiquid(null);
+ tank.setFluid(null);
}
aimY = packet.payload.intPayload[3];
@@ -362,6 +349,11 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
setTubePosition();
}
+ @Override
+ public void handleDescriptionPacket(PacketUpdate packet) {
+ handleUpdatePacket(packet);
+ }
+
private void setTubePosition() {
if (tube != null) {
tube.iSize = Utils.pipeMaxPos - Utils.pipeMinPos;
@@ -390,7 +382,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return true;
}
@@ -404,39 +396,37 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
return false;
}
- // ITankContainer implementation.
+ // IFluidHandler implementation.
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
// not acceptable
return 0;
}
@Override
- public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
- // not acceptable
- return 0;
+ public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
+ return tank.drain(maxDrain, doDrain);
}
@Override
- public LiquidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
- return drain(0, maxDrain, doDrain);
+ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) {
+ if (resource != null && !resource.isFluidEqual(tank.getFluid()))
+ return null;
+ return drain(from, resource.amount, doDrain);
}
@Override
- public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain) {
- if (tankIndex == 0)
- return tank.drain(maxDrain, doDrain);
-
- return null;
+ public boolean canFill(ForgeDirection from, Fluid fluid) {
+ return false;
}
@Override
- public ILiquidTank[] getTanks(ForgeDirection direction) {
- return new ILiquidTank[]{tank};
+ public boolean canDrain(ForgeDirection from, Fluid fluid) {
+ return true;
}
@Override
- public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
- return tank;
+ public FluidTankInfo[] getTankInfo(ForgeDirection from) {
+ return new FluidTankInfo[]{tank.getInfo()};
}
}
diff --git a/common/buildcraft/factory/TileQuarry.java b/common/buildcraft/factory/TileQuarry.java
index ff47b869..0a3d2327 100644
--- a/common/buildcraft/factory/TileQuarry.java
+++ b/common/buildcraft/factory/TileQuarry.java
@@ -7,21 +7,6 @@
*/
package buildcraft.factory;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.packet.Packet3Chat;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.ChunkCoordIntPair;
-import net.minecraftforge.common.ForgeChunkManager;
-import net.minecraftforge.common.ForgeChunkManager.Ticket;
-import net.minecraftforge.common.ForgeChunkManager.Type;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftFactory;
import buildcraft.builders.blueprints.Blueprint;
@@ -45,13 +30,26 @@ import buildcraft.core.network.TileNetworkData;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.BlockUtil;
import buildcraft.core.utils.Utils;
-
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-
import cpw.mods.fml.common.network.PacketDispatcher;
import cpw.mods.fml.common.network.Player;
+import java.util.LinkedList;
+import java.util.List;
import java.util.ListIterator;
+import java.util.Set;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.packet.Packet3Chat;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.world.ChunkCoordIntPair;
+import net.minecraftforge.common.ForgeChunkManager;
+import net.minecraftforge.common.ForgeChunkManager.Ticket;
+import net.minecraftforge.common.ForgeChunkManager.Type;
+import net.minecraftforge.common.ForgeDirection;
+import static net.minecraftforge.common.ForgeDirection.*;
public class TileQuarry extends TileBuildCraft implements IMachine, IPowerReceptor, IPipeConnection, IBuilderInventory {
@@ -669,7 +667,7 @@ public class TileQuarry extends TileBuildCraft implements IMachine, IPowerRecept
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
@@ -718,7 +716,7 @@ public class TileQuarry extends TileBuildCraft implements IMachine, IPowerRecept
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return false;
}
diff --git a/common/buildcraft/factory/TileRefinery.java b/common/buildcraft/factory/TileRefinery.java
index 17a61b08..8868ea3d 100644
--- a/common/buildcraft/factory/TileRefinery.java
+++ b/common/buildcraft/factory/TileRefinery.java
@@ -7,18 +7,6 @@
*/
package buildcraft.factory;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-import net.minecraftforge.liquids.LiquidTank;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.api.gates.IAction;
@@ -32,15 +20,27 @@ import buildcraft.core.TileBuildCraft;
import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTank;
+import net.minecraftforge.fluids.IFluidHandler;
+import net.minecraftforge.fluids.IFluidTank;
-public class TileRefinery extends TileBuildCraft implements ITankContainer, IPowerReceptor, IInventory, IMachine {
+public class TileRefinery extends TileBuildCraft implements IFluidHandler, IPowerReceptor, IInventory, IMachine {
private int[] filters = new int[2];
private int[] filtersMeta = new int[2];
- public static int LIQUID_PER_SLOT = LiquidContainerRegistry.BUCKET_VOLUME * 4;
- public LiquidTank ingredient1 = new LiquidTank(LIQUID_PER_SLOT);
- public LiquidTank ingredient2 = new LiquidTank(LIQUID_PER_SLOT);
- public LiquidTank result = new LiquidTank(LIQUID_PER_SLOT);
+ public static int LIQUID_PER_SLOT = FluidContainerRegistry.BUCKET_VOLUME * 4;
+ public FluidTank ingredient1 = new FluidTank(LIQUID_PER_SLOT);
+ public FluidTank ingredient2 = new FluidTank(LIQUID_PER_SLOT);
+ public FluidTank result = new FluidTank(LIQUID_PER_SLOT);
public float animationSpeed = 1;
private int animationStage = 0;
SafeTimeTracker time = new SafeTimeTracker();
@@ -93,7 +93,7 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return false;
}
@@ -130,14 +130,15 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
RefineryRecipe currentRecipe = null;
- currentRecipe = RefineryRecipe.findRefineryRecipe(ingredient1.getLiquid(), ingredient2.getLiquid());
+ currentRecipe = RefineryRecipe.findRefineryRecipe(ingredient1.getFluid().getFluid(), ingredient2.getFluid().getFluid());
+ FluidStack recipeStack = new FluidStack(currentRecipe.result, amount);
if (currentRecipe == null) {
decreaseAnimation();
return;
}
- if (result.getLiquid() != null && result.getLiquid().amount != 0 && !result.getLiquid().isLiquidEqual(currentRecipe.result)) {
+ if (result.getFluid() != null && result.getFluid().amount != 0 && !result.getFluid().getFluid().equals(currentRecipe.result)) {
decreaseAnimation();
return;
}
@@ -172,22 +173,22 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
}
- private boolean containsInput(LiquidStack liquid) {
+ private boolean containsInput(FluidStack liquid) {
if (liquid == null)
return true;
- return (ingredient1.getLiquid() != null && ingredient1.getLiquid().containsLiquid(liquid))
- || (ingredient2.getLiquid() != null && ingredient2.getLiquid().containsLiquid(liquid));
+ return (ingredient1.getFluid() != null && ingredient1.getFluid().containsFluid(liquid))
+ || (ingredient2.getFluid() != null && ingredient2.getFluid().containsFluid(liquid));
}
- private boolean consumeInput(LiquidStack liquid) {
+ private boolean consumeInput(FluidStack liquid) {
if (liquid == null)
return true;
- if (ingredient1.getLiquid() != null && ingredient1.getLiquid().containsLiquid(liquid)) {
+ if (ingredient1.getFluid() != null && ingredient1.getFluid().containsFluid(liquid)) {
ingredient1.drain(liquid.amount, true);
return true;
- } else if (ingredient2.getLiquid() != null && ingredient2.getLiquid().containsLiquid(liquid)) {
+ } else if (ingredient2.getFluid() != null && ingredient2.getFluid().containsFluid(liquid)) {
ingredient2.drain(liquid.amount, true);
return true;
}
@@ -201,7 +202,7 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return true;
}
@@ -211,7 +212,7 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
// for compatibility
- private LiquidStack readSlotNBT(NBTTagCompound nbttagcompound) {
+ private FluidStack readSlotNBT(NBTTagCompound nbttagcompound) {
int liquidId = nbttagcompound.getInteger("liquidId");
int quantity = 0;
int liquidMeta = 0;
@@ -224,7 +225,7 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
if (quantity > 0)
- return new LiquidStack(liquidId, quantity, liquidMeta);
+ return new FluidStack(liquidId, quantity, liquidMeta);
return null;
}
@@ -234,18 +235,18 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
super.readFromNBT(nbttagcompound);
if (nbttagcompound.hasKey("slot1")) {
- ingredient1.setLiquid(readSlotNBT(nbttagcompound.getCompoundTag("slot1")));
- ingredient2.setLiquid(readSlotNBT(nbttagcompound.getCompoundTag("slot2")));
- result.setLiquid(readSlotNBT(nbttagcompound.getCompoundTag("result")));
+ ingredient1.setFluid(readSlotNBT(nbttagcompound.getCompoundTag("slot1")));
+ ingredient2.setFluid(readSlotNBT(nbttagcompound.getCompoundTag("slot2")));
+ result.setFluid(readSlotNBT(nbttagcompound.getCompoundTag("result")));
} else {
if (nbttagcompound.hasKey("ingredient1")) {
- ingredient1.setLiquid(LiquidStack.loadLiquidStackFromNBT(nbttagcompound.getCompoundTag("ingredient1")));
+ ingredient1.setFluid(FluidStack.loadFluidStackFromNBT(nbttagcompound.getCompoundTag("ingredient1")));
}
if (nbttagcompound.hasKey("ingredient2")) {
- ingredient2.setLiquid(LiquidStack.loadLiquidStackFromNBT(nbttagcompound.getCompoundTag("ingredient2")));
+ ingredient2.setFluid(FluidStack.loadFluidStackFromNBT(nbttagcompound.getCompoundTag("ingredient2")));
}
if (nbttagcompound.hasKey("result")) {
- result.setLiquid(LiquidStack.loadLiquidStackFromNBT(nbttagcompound.getCompoundTag("result")));
+ result.setFluid(FluidStack.loadFluidStackFromNBT(nbttagcompound.getCompoundTag("result")));
}
}
@@ -265,16 +266,16 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
public void writeToNBT(NBTTagCompound nbttagcompound) {
super.writeToNBT(nbttagcompound);
- if (ingredient1.getLiquid() != null) {
- nbttagcompound.setTag("ingredient1", ingredient1.getLiquid().writeToNBT(new NBTTagCompound()));
+ if (ingredient1.getFluid() != null) {
+ nbttagcompound.setTag("ingredient1", ingredient1.getFluid().writeToNBT(new NBTTagCompound()));
}
- if (ingredient2.getLiquid() != null) {
- nbttagcompound.setTag("ingredient2", ingredient2.getLiquid().writeToNBT(new NBTTagCompound()));
+ if (ingredient2.getFluid() != null) {
+ nbttagcompound.setTag("ingredient2", ingredient2.getFluid().writeToNBT(new NBTTagCompound()));
}
- if (result.getLiquid() != null) {
- nbttagcompound.setTag("result", result.getLiquid().writeToNBT(new NBTTagCompound()));
+ if (result.getFluid() != null) {
+ nbttagcompound.setTag("result", result.getFluid().writeToNBT(new NBTTagCompound()));
}
nbttagcompound.setInteger("animationStage", animationStage);
@@ -389,9 +390,9 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
/* ITANKCONTAINER */
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
int used = 0;
- LiquidStack resourceUsing = resource.copy();
+ FluidStack resourceUsing = resource.copy();
if (filters[0] != 0 || filters[1] != 0) {
if (filters[0] == resource.itemID && filtersMeta[0] == resource.itemMeta) {
@@ -418,7 +419,7 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
@Override
- public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
+ public int fill(int tankIndex, FluidStack resource, boolean doFill) {
if (tankIndex == 0 && resource.itemID == filters[0] && resource.itemMeta == filtersMeta[0])
return ingredient1.fill(resource, doFill);
@@ -428,12 +429,12 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
@Override
- public LiquidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) {
+ public FluidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) {
return drain(2, maxEmpty, doDrain);
}
@Override
- public LiquidStack drain(int tankIndex, int maxEmpty, boolean doDrain) {
+ public FluidStack drain(int tankIndex, int maxEmpty, boolean doDrain) {
if (tankIndex == 2)
return result.drain(maxEmpty, doDrain);
@@ -441,12 +442,12 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
}
@Override
- public ILiquidTank[] getTanks(ForgeDirection direction) {
- return new ILiquidTank[]{ingredient1, ingredient2, result};
+ public IFluidTank[] getTanks(ForgeDirection direction) {
+ return new IFluidTank[]{ingredient1, ingredient2, result};
}
@Override
- public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
+ public IFluidTank getTank(ForgeDirection direction, FluidStack type) {
ForgeDirection dir = ForgeDirection.getOrientation(worldObj.getBlockMetadata(xCoord, yCoord, zCoord));
switch (direction) {
@@ -497,28 +498,28 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
@Override
public PacketPayload getPacketPayload() {
PacketPayload payload = new PacketPayload(9, 1, 0);
- if (ingredient1.getLiquid() != null) {
- payload.intPayload[0] = ingredient1.getLiquid().itemID;
- payload.intPayload[1] = ingredient1.getLiquid().itemMeta;
- payload.intPayload[2] = ingredient1.getLiquid().amount;
+ if (ingredient1.getFluid() != null) {
+ payload.intPayload[0] = ingredient1.getFluid().itemID;
+ payload.intPayload[1] = ingredient1.getFluid().itemMeta;
+ payload.intPayload[2] = ingredient1.getFluid().amount;
} else {
payload.intPayload[0] = 0;
payload.intPayload[1] = 0;
payload.intPayload[2] = 0;
}
- if (ingredient2.getLiquid() != null) {
- payload.intPayload[3] = ingredient2.getLiquid().itemID;
- payload.intPayload[4] = ingredient2.getLiquid().itemMeta;
- payload.intPayload[5] = ingredient2.getLiquid().amount;
+ if (ingredient2.getFluid() != null) {
+ payload.intPayload[3] = ingredient2.getFluid().itemID;
+ payload.intPayload[4] = ingredient2.getFluid().itemMeta;
+ payload.intPayload[5] = ingredient2.getFluid().amount;
} else {
payload.intPayload[3] = 0;
payload.intPayload[4] = 0;
payload.intPayload[5] = 0;
}
- if (result.getLiquid() != null) {
- payload.intPayload[6] = result.getLiquid().itemID;
- payload.intPayload[7] = result.getLiquid().itemMeta;
- payload.intPayload[8] = result.getLiquid().amount;
+ if (result.getFluid() != null) {
+ payload.intPayload[6] = result.getFluid().itemID;
+ payload.intPayload[7] = result.getFluid().itemMeta;
+ payload.intPayload[8] = result.getFluid().amount;
} else {
payload.intPayload[6] = 0;
payload.intPayload[7] = 0;
@@ -532,21 +533,21 @@ public class TileRefinery extends TileBuildCraft implements ITankContainer, IPow
@Override
public void handleUpdatePacket(PacketUpdate packet) {
if (packet.payload.intPayload[0] > 0) {
- ingredient1.setLiquid(new LiquidStack(packet.payload.intPayload[0], packet.payload.intPayload[2], packet.payload.intPayload[1]));
+ ingredient1.setFluid(new FluidStack(packet.payload.intPayload[0], packet.payload.intPayload[2], packet.payload.intPayload[1]));
} else {
- ingredient1.setLiquid(null);
+ ingredient1.setFluid(null);
}
if (packet.payload.intPayload[3] > 0) {
- ingredient2.setLiquid(new LiquidStack(packet.payload.intPayload[3], packet.payload.intPayload[5], packet.payload.intPayload[4]));
+ ingredient2.setFluid(new FluidStack(packet.payload.intPayload[3], packet.payload.intPayload[5], packet.payload.intPayload[4]));
} else {
- ingredient2.setLiquid(null);
+ ingredient2.setFluid(null);
}
if (packet.payload.intPayload[6] > 0) {
- result.setLiquid(new LiquidStack(packet.payload.intPayload[6], packet.payload.intPayload[8], packet.payload.intPayload[7]));
+ result.setFluid(new FluidStack(packet.payload.intPayload[6], packet.payload.intPayload[8], packet.payload.intPayload[7]));
} else {
- result.setLiquid(null);
+ result.setFluid(null);
}
animationSpeed = packet.payload.floatPayload[0];
diff --git a/common/buildcraft/factory/TileTank.java b/common/buildcraft/factory/TileTank.java
index 08440487..4c44121f 100644
--- a/common/buildcraft/factory/TileTank.java
+++ b/common/buildcraft/factory/TileTank.java
@@ -7,26 +7,26 @@
*/
package buildcraft.factory;
-import static net.minecraftforge.common.ForgeDirection.DOWN;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-import net.minecraftforge.liquids.LiquidTank;
import buildcraft.BuildCraftCore;
-import buildcraft.BuildCraftFactory;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTank;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
-public class TileTank extends TileBuildCraft implements ITankContainer {
+public class TileTank extends TileBuildCraft implements IFluidHandler {
- public final LiquidTank tank = new LiquidTank(LiquidContainerRegistry.BUCKET_VOLUME * 16);
+ public final FluidTank tank = new FluidTank(FluidContainerRegistry.BUCKET_VOLUME * 16);
public boolean hasUpdate = false;
public SafeTimeTracker tracker = new SafeTimeTracker();
@@ -43,23 +43,21 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
}
// Have liquid flow down into tanks below if any.
- if (tank.getLiquid() != null) {
- moveLiquidBelow();
+ if (tank.getFluid() != null) {
+ moveFluidBelow();
}
}
/* NETWORK */
@Override
public PacketPayload getPacketPayload() {
- PacketPayload payload = new PacketPayload(3, 0, 0);
- if (tank.getLiquid() != null) {
- payload.intPayload[0] = tank.getLiquid().itemID;
- payload.intPayload[1] = tank.getLiquid().itemMeta;
- payload.intPayload[2] = tank.getLiquid().amount;
+ PacketPayload payload = new PacketPayload(2, 0, 0);
+ if (tank.getFluid() != null) {
+ payload.intPayload[0] = tank.getFluid().getFluid().getID();
+ payload.intPayload[1] = tank.getFluid().amount;
} else {
payload.intPayload[0] = 0;
payload.intPayload[1] = 0;
- payload.intPayload[2] = 0;
}
return payload;
}
@@ -67,10 +65,10 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
@Override
public void handleUpdatePacket(PacketUpdate packet) {
if (packet.payload.intPayload[0] > 0) {
- LiquidStack liquid = new LiquidStack(packet.payload.intPayload[0], packet.payload.intPayload[2], packet.payload.intPayload[1]);
- tank.setLiquid(liquid);
+ FluidStack liquid = new FluidStack(FluidRegistry.getFluid(packet.payload.intPayload[0]), packet.payload.intPayload[2]);
+ tank.setFluid(liquid);
} else {
- tank.setLiquid(null);
+ tank.setFluid(null);
}
}
@@ -78,24 +76,13 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
@Override
public void readFromNBT(NBTTagCompound data) {
super.readFromNBT(data);
-
- if (data.hasKey("stored") && data.hasKey("liquidId")) {
- LiquidStack liquid = new LiquidStack(data.getInteger("liquidId"), data.getInteger("stored"), 0);
- tank.setLiquid(liquid);
- } else {
- LiquidStack liquid = LiquidStack.loadLiquidStackFromNBT(data.getCompoundTag("tank"));
- if (liquid != null) {
- tank.setLiquid(liquid);
- }
- }
+ tank.readFromNBT(data);
}
@Override
public void writeToNBT(NBTTagCompound data) {
super.writeToNBT(data);
- if (tank.containsValidLiquid()) {
- data.setTag("tank", tank.getLiquid().writeToNBT(new NBTTagCompound()));
- }
+ tank.writeToNBT(data);
}
/* HELPER FUNCTIONS */
@@ -152,15 +139,15 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
}
}
- public void moveLiquidBelow() {
+ public void moveFluidBelow() {
TileTank below = getTankBelow(this);
if (below == null) {
return;
}
- int used = below.tank.fill(tank.getLiquid(), true);
+ int used = below.tank.fill(tank.getFluid(), true);
if (used > 0) {
- hasUpdate = true; // not redundant because tank.drain operates on an ILiquidTank, not a tile
+ hasUpdate = true; // not redundant because tank.drain operates on an IFluidTank, not a tile
below.hasUpdate = true; // redundant because below.fill sets hasUpdate
tank.drain(used, true);
@@ -169,13 +156,8 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
/* ITANKCONTAINER */
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
- return fill(0, resource, doFill);
- }
-
- @Override
- public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
- if (tankIndex != 0 || resource == null) {
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
+ if (resource == null) {
return 0;
}
@@ -183,8 +165,8 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
int totalUsed = 0;
TileTank tankToFill = getBottomTank();
- LiquidStack liquid = tankToFill.tank.getLiquid();
- if (liquid != null && liquid.amount > 0 && !liquid.isLiquidEqual(resource)) {
+ FluidStack liquid = tankToFill.tank.getFluid();
+ if (liquid != null && liquid.amount > 0 && !liquid.isFluidEqual(resource)) {
return 0;
}
@@ -202,42 +184,44 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
}
@Override
- public LiquidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) {
- return drain(0, maxEmpty, doDrain);
- }
-
- @Override
- public LiquidStack drain(int tankIndex, int maxEmpty, boolean doDrain) {
+ public FluidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) {
TileTank bottom = getBottomTank();
bottom.hasUpdate = true;
return bottom.tank.drain(maxEmpty, doDrain);
}
@Override
- public ILiquidTank[] getTanks(ForgeDirection direction) {
- LiquidTank compositeTank = new LiquidTank(tank.getCapacity());
+ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) {
+ if (resource != null && !resource.isFluidEqual(tank.getFluid()))
+ return null;
+ return drain(from, resource.amount, doDrain);
+ }
+
+ @Override
+ public FluidTankInfo[] getTankInfo(ForgeDirection direction) {
+ FluidTank compositeTank = new FluidTank(tank.getCapacity());
TileTank tile = getBottomTank();
int capacity = tank.getCapacity();
- if (tile != null && tile.tank.getLiquid() != null) {
- compositeTank.setLiquid(tile.tank.getLiquid().copy());
+ if (tile != null && tile.tank.getFluid() != null) {
+ compositeTank.setFluid(tile.tank.getFluid().copy());
} else {
- return new ILiquidTank[]{compositeTank};
+ return new FluidTankInfo[]{compositeTank.getInfo()};
}
tile = getTankAbove(tile);
while (tile != null) {
- LiquidStack liquid = tile.tank.getLiquid();
+ FluidStack liquid = tile.tank.getFluid();
if (liquid == null || liquid.amount == 0) {
// NOOP
- } else if (!compositeTank.getLiquid().isLiquidEqual(liquid)) {
+ } else if (!compositeTank.getFluid().isFluidEqual(liquid)) {
break;
} else {
- compositeTank.getLiquid().amount += liquid.amount;
+ compositeTank.getFluid().amount += liquid.amount;
}
capacity += tile.tank.getCapacity();
@@ -245,14 +229,16 @@ public class TileTank extends TileBuildCraft implements ITankContainer {
}
compositeTank.setCapacity(capacity);
- return new ILiquidTank[]{compositeTank};
+ return new FluidTankInfo[]{compositeTank.getInfo()};
}
@Override
- public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
- if (direction == DOWN && worldObj != null && worldObj.getBlockId(xCoord, yCoord - 1, zCoord) != BuildCraftFactory.tankBlock.blockID) {
- return tank;
- }
- return null;
+ public boolean canFill(ForgeDirection from, Fluid fluid) {
+ return true;
+ }
+
+ @Override
+ public boolean canDrain(ForgeDirection from, Fluid fluid) {
+ return false;
}
}
diff --git a/common/buildcraft/factory/gui/ContainerAutoWorkbench.java b/common/buildcraft/factory/gui/ContainerAutoWorkbench.java
index 5e475e4b..11804d59 100644
--- a/common/buildcraft/factory/gui/ContainerAutoWorkbench.java
+++ b/common/buildcraft/factory/gui/ContainerAutoWorkbench.java
@@ -7,12 +7,6 @@
*/
package buildcraft.factory.gui;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.InventoryCraftResult;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.slots.SlotOutput;
import buildcraft.core.gui.slots.SlotUntouchable;
@@ -21,7 +15,13 @@ import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.utils.Utils;
import buildcraft.factory.TileAutoWorkbench;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.InventoryCraftResult;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ContainerAutoWorkbench extends BuildCraftContainer {
diff --git a/common/buildcraft/factory/gui/ContainerHopper.java b/common/buildcraft/factory/gui/ContainerHopper.java
index 75697c56..701761ee 100644
--- a/common/buildcraft/factory/gui/ContainerHopper.java
+++ b/common/buildcraft/factory/gui/ContainerHopper.java
@@ -1,11 +1,11 @@
package buildcraft.factory.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.factory.TileHopper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.factory.TileHopper;
public class ContainerHopper extends BuildCraftContainer {
diff --git a/common/buildcraft/factory/gui/ContainerRefinery.java b/common/buildcraft/factory/gui/ContainerRefinery.java
index 8986f597..403871f6 100644
--- a/common/buildcraft/factory/gui/ContainerRefinery.java
+++ b/common/buildcraft/factory/gui/ContainerRefinery.java
@@ -8,17 +8,17 @@
*/
package buildcraft.factory.gui;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.factory.TileRefinery;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
public class ContainerRefinery extends BuildCraftContainer {
diff --git a/common/buildcraft/factory/gui/GuiAutoCrafting.java b/common/buildcraft/factory/gui/GuiAutoCrafting.java
index 9a33fe23..8aa44f89 100644
--- a/common/buildcraft/factory/gui/GuiAutoCrafting.java
+++ b/common/buildcraft/factory/gui/GuiAutoCrafting.java
@@ -8,17 +8,17 @@
package buildcraft.factory.gui;
import buildcraft.core.DefaultProps;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.world.World;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
import buildcraft.factory.TileAutoWorkbench;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import org.lwjgl.opengl.GL11;
public class GuiAutoCrafting extends GuiBuildCraft {
+ public static final ResourceLocation gui = new ResourceLocation("buildcraft",DefaultProps.TEXTURE_PATH_GUI + "/autobench.png");
private TileAutoWorkbench bench;
public GuiAutoCrafting(InventoryPlayer inventoryplayer, World world, TileAutoWorkbench tile) {
@@ -30,7 +30,7 @@ public class GuiAutoCrafting extends GuiBuildCraft {
public void onGuiClosed() {
super.onGuiClosed();
if (this.mc.thePlayer != null) {
- inventorySlots.onCraftGuiClosed(mc.thePlayer);
+ inventorySlots.onContainerClosed(mc.thePlayer);
}
}
@@ -44,7 +44,7 @@ public class GuiAutoCrafting extends GuiBuildCraft {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/autobench.png");
+ mc.renderEngine.func_110577_a(gui);
int x = (width - xSize) / 2;
int y = (height - ySize) / 2;
drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
diff --git a/common/buildcraft/factory/gui/GuiHopper.java b/common/buildcraft/factory/gui/GuiHopper.java
index 00659245..5ab38dc3 100644
--- a/common/buildcraft/factory/gui/GuiHopper.java
+++ b/common/buildcraft/factory/gui/GuiHopper.java
@@ -1,15 +1,16 @@
package buildcraft.factory.gui;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.DefaultProps;
import buildcraft.factory.TileHopper;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiHopper extends GuiContainer {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/hopper_gui.png");
+
public GuiHopper(InventoryPlayer inventory, TileHopper tile) {
super(new ContainerHopper(inventory, tile));
// TODO Auto-generated constructor stub
@@ -17,8 +18,8 @@ public class GuiHopper extends GuiContainer {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/hopper_gui.png");
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
@@ -28,5 +29,4 @@ public class GuiHopper extends GuiContainer {
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
super.drawGuiContainerForegroundLayer(par1, par2);
}
-
}
diff --git a/common/buildcraft/factory/gui/GuiRefinery.java b/common/buildcraft/factory/gui/GuiRefinery.java
index e657f4b6..5b278e3f 100644
--- a/common/buildcraft/factory/gui/GuiRefinery.java
+++ b/common/buildcraft/factory/gui/GuiRefinery.java
@@ -9,21 +9,21 @@
package buildcraft.factory.gui;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.api.recipes.RefineryRecipe;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.utils.StringUtils;
import buildcraft.factory.TileRefinery;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import org.lwjgl.opengl.GL11;
public class GuiRefinery extends GuiAdvancedInterface {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/refinery_filter.png");
ContainerRefinery container;
public GuiRefinery(InventoryPlayer inventory, TileRefinery refinery) {
@@ -55,7 +55,7 @@ public class GuiRefinery extends GuiAdvancedInterface {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/refinery_filter.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
@@ -80,7 +80,7 @@ public class GuiRefinery extends GuiAdvancedInterface {
}
if (slot != null) {
- LiquidStack liquid = LiquidContainerRegistry.getLiquidForFilledItem(mc.thePlayer.inventory.getItemStack());
+ FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(mc.thePlayer.inventory.getItemStack());
if (liquid == null)
return;
@@ -97,14 +97,15 @@ public class GuiRefinery extends GuiAdvancedInterface {
((ItemSlot) slots[0]).stack = filter0;
((ItemSlot) slots[1]).stack = filter1;
- LiquidStack liquid0 = null;
- LiquidStack liquid1 = null;
+ FluidStack liquid0 = null;
+ FluidStack liquid1 = null;
+ // TODO 1.6: Replace these with Phantom slots? -CovertJaguar
if (filter0 != null) {
- liquid0 = new LiquidStack(filter0.itemID, LiquidContainerRegistry.BUCKET_VOLUME, filter0.getItemDamage());
+ liquid0 = new FluidStack(filter0.itemID, FluidContainerRegistry.BUCKET_VOLUME, filter0.getItemDamage());
}
if (filter1 != null) {
- liquid1 = new LiquidStack(filter1.itemID, LiquidContainerRegistry.BUCKET_VOLUME, filter1.getItemDamage());
+ liquid1 = new FluidStack(filter1.itemID, FluidContainerRegistry.BUCKET_VOLUME, filter1.getItemDamage());
}
RefineryRecipe recipe = RefineryRecipe.findRefineryRecipe(liquid0, liquid1);
diff --git a/common/buildcraft/factory/network/PacketHandlerFactory.java b/common/buildcraft/factory/network/PacketHandlerFactory.java
index c4d6240b..692ce104 100644
--- a/common/buildcraft/factory/network/PacketHandlerFactory.java
+++ b/common/buildcraft/factory/network/PacketHandlerFactory.java
@@ -1,18 +1,17 @@
package buildcraft.factory.network;
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketUpdate;
import buildcraft.factory.TileRefinery;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class PacketHandlerFactory implements IPacketHandler {
diff --git a/common/buildcraft/factory/render/RenderHopper.java b/common/buildcraft/factory/render/RenderHopper.java
index 0b855d2a..9f600b76 100644
--- a/common/buildcraft/factory/render/RenderHopper.java
+++ b/common/buildcraft/factory/render/RenderHopper.java
@@ -1,24 +1,24 @@
package buildcraft.factory.render;
+import buildcraft.BuildCraftCore;
+import buildcraft.BuildCraftCore.RenderMode;
+import buildcraft.core.DefaultProps;
+import buildcraft.core.IInventoryRenderer;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
-
+import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
-import buildcraft.BuildCraftCore;
-import buildcraft.BuildCraftCore.RenderMode;
-import buildcraft.core.DefaultProps;
-import buildcraft.core.IInventoryRenderer;
-
public class RenderHopper extends TileEntitySpecialRenderer implements IInventoryRenderer {
+ private static final ResourceLocation HOPPER_TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_BLOCKS + "/hopper.png");
+ private static final ResourceLocation HOPPER_MIDDLE_TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_BLOCKS + "/hopper_middle.png");
private ModelBase model = new ModelBase() {
};
-
private final ModelRenderer top;
private final ModelFrustum middle;
private final ModelRenderer bottom;
@@ -56,10 +56,10 @@ public class RenderHopper extends TileEntitySpecialRenderer implements IInventor
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glTranslated(x, y, z);
- bindTextureByName(DefaultProps.TEXTURE_PATH_BLOCKS + "/hopper.png");
+ func_110628_a(HOPPER_TEXTURE);
top.render((float) (1.0 / 16.0));
bottom.render((float) (1.0 / 16.0));
- bindTextureByName(DefaultProps.TEXTURE_PATH_BLOCKS + "/hopper_middle.png");
+ func_110628_a(HOPPER_MIDDLE_TEXTURE);
middle.render(Tessellator.instance, 1F / 16F);
GL11.glEnable(GL11.GL_LIGHTING);
diff --git a/common/buildcraft/factory/render/RenderRefinery.java b/common/buildcraft/factory/render/RenderRefinery.java
index 8d9442d5..863f089b 100644
--- a/common/buildcraft/factory/render/RenderRefinery.java
+++ b/common/buildcraft/factory/render/RenderRefinery.java
@@ -7,22 +7,22 @@
*/
package buildcraft.factory.render;
+import buildcraft.core.DefaultProps;
+import buildcraft.core.IInventoryRenderer;
+import buildcraft.core.render.FluidRenderer;
+import buildcraft.factory.TileRefinery;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.liquids.LiquidStack;
-
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.fluids.FluidStack;
import org.lwjgl.opengl.GL11;
-import buildcraft.core.DefaultProps;
-import buildcraft.core.IInventoryRenderer;
-import buildcraft.core.render.LiquidRenderer;
-import buildcraft.factory.TileRefinery;
-
public class RenderRefinery extends TileEntitySpecialRenderer implements IInventoryRenderer {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_BLOCKS + "/refinery.png");
private static final float pixel = (float) (1.0 / 16.0);
private final ModelRenderer tank;
private final ModelRenderer magnet[] = new ModelRenderer[4];
@@ -68,22 +68,22 @@ public class RenderRefinery extends TileEntitySpecialRenderer implements IInvent
}
private void render(TileRefinery tile, double x, double y, double z) {
- LiquidStack liquid1 = null, liquid2 = null, liquidResult = null;
+ FluidStack liquid1 = null, liquid2 = null, liquidResult = null;
float anim = 0;
int angle = 0;
ModelRenderer theMagnet = magnet[0];
if (tile != null) {
- if (tile.ingredient1.getLiquid() != null) {
- liquid1 = tile.ingredient1.getLiquid();
+ if (tile.ingredient1.getFluid() != null) {
+ liquid1 = tile.ingredient1.getFluid();
}
- if (tile.ingredient2.getLiquid() != null) {
- liquid2 = tile.ingredient2.getLiquid();
+ if (tile.ingredient2.getFluid() != null) {
+ liquid2 = tile.ingredient2.getFluid();
}
- if (tile.result.getLiquid() != null) {
- liquidResult = tile.result.getLiquid();
+ if (tile.result.getFluid() != null) {
+ liquidResult = tile.result.getFluid();
}
anim = tile.getAnimationStage();
@@ -125,7 +125,7 @@ public class RenderRefinery extends TileEntitySpecialRenderer implements IInvent
GL11.glRotatef(angle, 0, 1, 0);
- bindTextureByName(DefaultProps.TEXTURE_PATH_BLOCKS + "/refinery.png");
+ func_110628_a(TEXTURE);
GL11.glPushMatrix();
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
@@ -178,35 +178,35 @@ public class RenderRefinery extends TileEntitySpecialRenderer implements IInvent
GL11.glScalef(0.5F, 1, 0.5F);
if (liquid1 != null && liquid1.amount > 0) {
- int[] list1 = LiquidRenderer.getLiquidDisplayLists(liquid1, tile.worldObj, false);
+ int[] list1 = FluidRenderer.getFluidDisplayLists(liquid1, tile.worldObj, false);
if (list1 != null) {
- bindTextureByName(LiquidRenderer.getLiquidSheet(liquid1));
- GL11.glCallList(list1[(int) ((float) liquid1.amount / (float) TileRefinery.LIQUID_PER_SLOT * (LiquidRenderer.DISPLAY_STAGES - 1))]);
+ func_110628_a(FluidRenderer.getFluidSheet(liquid1));
+ GL11.glCallList(list1[(int) ((float) liquid1.amount / (float) TileRefinery.LIQUID_PER_SLOT * (FluidRenderer.DISPLAY_STAGES - 1))]);
}
}
if (liquid2 != null && liquid2.amount > 0) {
- int[] list2 = LiquidRenderer.getLiquidDisplayLists(liquid2, tile.worldObj, false);
+ int[] list2 = FluidRenderer.getFluidDisplayLists(liquid2, tile.worldObj, false);
if (list2 != null) {
GL11.glPushMatrix();
GL11.glTranslatef(0, 0, 1);
- bindTextureByName(LiquidRenderer.getLiquidSheet(liquid2));
- GL11.glCallList(list2[(int) ((float) liquid2.amount / (float) TileRefinery.LIQUID_PER_SLOT * (LiquidRenderer.DISPLAY_STAGES - 1))]);
+ func_110628_a(FluidRenderer.getFluidSheet(liquid2));
+ GL11.glCallList(list2[(int) ((float) liquid2.amount / (float) TileRefinery.LIQUID_PER_SLOT * (FluidRenderer.DISPLAY_STAGES - 1))]);
GL11.glPopMatrix();
}
}
if (liquidResult != null && liquidResult.amount > 0) {
- int[] list3 = LiquidRenderer.getLiquidDisplayLists(liquidResult, tile.worldObj, false);
+ int[] list3 = FluidRenderer.getFluidDisplayLists(liquidResult, tile.worldObj, false);
if (list3 != null) {
GL11.glPushMatrix();
GL11.glTranslatef(1, 0, 0.5F);
- bindTextureByName(LiquidRenderer.getLiquidSheet(liquidResult));
- GL11.glCallList(list3[(int) ((float) liquidResult.amount / (float) TileRefinery.LIQUID_PER_SLOT * (LiquidRenderer.DISPLAY_STAGES - 1))]);
+ func_110628_a(FluidRenderer.getFluidSheet(liquidResult));
+ GL11.glCallList(list3[(int) ((float) liquidResult.amount / (float) TileRefinery.LIQUID_PER_SLOT * (FluidRenderer.DISPLAY_STAGES - 1))]);
GL11.glPopMatrix();
}
}
diff --git a/common/buildcraft/factory/render/RenderTank.java b/common/buildcraft/factory/render/RenderTank.java
index 440932ea..38bc65bb 100644
--- a/common/buildcraft/factory/render/RenderTank.java
+++ b/common/buildcraft/factory/render/RenderTank.java
@@ -7,15 +7,13 @@
*/
package buildcraft.factory.render;
+import buildcraft.core.render.FluidRenderer;
+import buildcraft.factory.TileTank;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.liquids.LiquidStack;
-
+import net.minecraftforge.fluids.FluidStack;
import org.lwjgl.opengl.GL11;
-import buildcraft.core.render.LiquidRenderer;
-import buildcraft.factory.TileTank;
-
public class RenderTank extends TileEntitySpecialRenderer {
@Override
@@ -23,12 +21,12 @@ public class RenderTank extends TileEntitySpecialRenderer {
TileTank tank = ((TileTank) tileentity);
- LiquidStack liquid = tank.tank.getLiquid();
+ FluidStack liquid = tank.tank.getFluid();
if (liquid == null || liquid.amount <= 0) {
return;
}
- int[] displayList = LiquidRenderer.getLiquidDisplayLists(liquid, tileentity.worldObj, false);
+ int[] displayList = FluidRenderer.getFluidDisplayLists(liquid, tileentity.worldObj, false);
if (displayList == null) {
return;
}
@@ -40,12 +38,12 @@ public class RenderTank extends TileEntitySpecialRenderer {
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- bindTextureByName(LiquidRenderer.getLiquidSheet(liquid));
+ func_110628_a(FluidRenderer.getFluidSheet(liquid));
GL11.glTranslatef((float) x + 0.125F, (float) y, (float) z + 0.125F);
GL11.glScalef(0.75F, 0.999F, 0.75F);
- GL11.glCallList(displayList[(int) ((float) liquid.amount / (float) (tank.tank.getCapacity()) * (LiquidRenderer.DISPLAY_STAGES - 1))]);
+ GL11.glCallList(displayList[(int) ((float) liquid.amount / (float) (tank.tank.getCapacity()) * (FluidRenderer.DISPLAY_STAGES - 1))]);
GL11.glPopAttrib();
GL11.glPopMatrix();
diff --git a/common/buildcraft/silicon/BlockLaser.java b/common/buildcraft/silicon/BlockLaser.java
index 36aa5c7e..0d9acc62 100644
--- a/common/buildcraft/silicon/BlockLaser.java
+++ b/common/buildcraft/silicon/BlockLaser.java
@@ -9,8 +9,10 @@
package buildcraft.silicon;
+import buildcraft.core.CreativeTabBuildCraft;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -19,9 +21,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.core.CreativeTabBuildCraft;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockLaser extends BlockContainer {
diff --git a/common/buildcraft/silicon/BlockLaserTable.java b/common/buildcraft/silicon/BlockLaserTable.java
index 92d525e7..2ae0d3b0 100644
--- a/common/buildcraft/silicon/BlockLaserTable.java
+++ b/common/buildcraft/silicon/BlockLaserTable.java
@@ -1,7 +1,12 @@
package buildcraft.silicon;
+import buildcraft.BuildCraftSilicon;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.proxy.CoreProxy;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
-
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
@@ -11,12 +16,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
-import buildcraft.BuildCraftSilicon;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.proxy.CoreProxy;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class BlockLaserTable extends BlockContainer {
diff --git a/common/buildcraft/silicon/GuiHandler.java b/common/buildcraft/silicon/GuiHandler.java
index 3ef11692..7c9eb060 100644
--- a/common/buildcraft/silicon/GuiHandler.java
+++ b/common/buildcraft/silicon/GuiHandler.java
@@ -1,13 +1,13 @@
package buildcraft.silicon;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.silicon.gui.ContainerAdvancedCraftingTable;
import buildcraft.silicon.gui.ContainerAssemblyTable;
import buildcraft.silicon.gui.GuiAdvancedCraftingTable;
import buildcraft.silicon.gui.GuiAssemblyTable;
import cpw.mods.fml.common.network.IGuiHandler;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
diff --git a/common/buildcraft/silicon/SiliconRenderBlock.java b/common/buildcraft/silicon/SiliconRenderBlock.java
index 53fc3ea6..0732e9e6 100644
--- a/common/buildcraft/silicon/SiliconRenderBlock.java
+++ b/common/buildcraft/silicon/SiliconRenderBlock.java
@@ -9,17 +9,15 @@
package buildcraft.silicon;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.ForgeDirection;
-
import org.lwjgl.opengl.GL11;
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-
public class SiliconRenderBlock implements ISimpleBlockRenderingHandler {
@Override
public int getRenderId() {
diff --git a/common/buildcraft/silicon/TileAdvancedCraftingTable.java b/common/buildcraft/silicon/TileAdvancedCraftingTable.java
index 3241a758..52f4cc0c 100644
--- a/common/buildcraft/silicon/TileAdvancedCraftingTable.java
+++ b/common/buildcraft/silicon/TileAdvancedCraftingTable.java
@@ -3,20 +3,6 @@ package buildcraft.silicon;
import buildcraft.BuildCraftCore;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.IActionReceptor;
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.InventoryCraftResult;
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.inventory.SlotCrafting;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.IRecipe;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChunkCoordinates;
import buildcraft.core.IMachine;
import buildcraft.core.TileBuffer;
import buildcraft.core.inventory.InvUtils;
@@ -24,22 +10,40 @@ import buildcraft.core.inventory.InventoryCopy;
import buildcraft.core.inventory.InventoryIterator;
import buildcraft.core.inventory.InventoryIterator.IInvSlot;
import buildcraft.core.inventory.InventoryMapper;
+import buildcraft.core.inventory.SimpleInventory;
+import buildcraft.core.inventory.StackHelper;
import buildcraft.core.inventory.Transactor;
+import buildcraft.core.inventory.filters.CraftingFilter;
+import buildcraft.core.inventory.filters.IStackFilter;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketSlotChange;
import buildcraft.core.proxy.CoreProxy;
-import buildcraft.core.utils.CraftingHelper;
-import buildcraft.core.inventory.SimpleInventory;
-import buildcraft.core.inventory.StackHelper;
-import buildcraft.core.inventory.filters.CraftingFilter;
-import buildcraft.core.inventory.filters.IStackFilter;
import buildcraft.core.triggers.ActionMachineControl;
+import buildcraft.core.utils.CraftingHelper;
import buildcraft.core.utils.Utils;
import com.google.common.collect.Lists;
import java.util.EnumSet;
+import java.util.List;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
+import net.minecraft.inventory.InventoryCraftResult;
+import net.minecraft.inventory.InventoryCrafting;
+import net.minecraft.inventory.SlotCrafting;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ChatMessageComponent;
+import net.minecraft.util.ChunkCoordinates;
import net.minecraftforge.common.ForgeDirection;
-import static net.minecraftforge.common.ForgeDirection.*;
+import static net.minecraftforge.common.ForgeDirection.DOWN;
+import static net.minecraftforge.common.ForgeDirection.EAST;
+import static net.minecraftforge.common.ForgeDirection.NORTH;
+import static net.minecraftforge.common.ForgeDirection.SOUTH;
+import static net.minecraftforge.common.ForgeDirection.WEST;
public class TileAdvancedCraftingTable extends TileEntity implements IInventory, ILaserTarget, IMachine, IActionReceptor, ISidedInventory {
@@ -81,14 +85,14 @@ public class TileAdvancedCraftingTable extends TileEntity implements IInventory,
@Override
public void setInventorySlotContents(int slot, ItemStack par2ItemStack) {
- if (tempStacks != null) {
+ if (tempStacks != null && slot >= 0 && slot < 9) {
tempStacks[bindings[slot]] = par2ItemStack;
}
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
- if (tempStacks != null) {
+ if (tempStacks != null && slot >= 0 && slot < 9) {
if (tempStacks[bindings[slot]].stackSize <= amount) {
ItemStack result = tempStacks[bindings[slot]];
tempStacks[bindings[slot]] = null;
@@ -113,15 +117,14 @@ public class TileAdvancedCraftingTable extends TileEntity implements IInventory,
private final class InternalPlayer extends EntityPlayer {
public InternalPlayer() {
- super(TileAdvancedCraftingTable.this.worldObj);
+ super(TileAdvancedCraftingTable.this.worldObj, "[BuildCraft]");
posX = TileAdvancedCraftingTable.this.xCoord;
posY = TileAdvancedCraftingTable.this.yCoord + 1;
posZ = TileAdvancedCraftingTable.this.zCoord;
- username = "[Buildcraft]";
}
@Override
- public void sendChatToPlayer(String var1) {
+ public void sendChatToPlayer(ChatMessageComponent var1) {
}
@Override
@@ -442,7 +445,7 @@ public class TileAdvancedCraftingTable extends TileEntity implements IInventory,
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
@@ -501,7 +504,7 @@ public class TileAdvancedCraftingTable extends TileEntity implements IInventory,
@Override
public boolean canInsertItem(int slot, ItemStack stack, int side) {
- return isStackValidForSlot(slot, stack);
+ return isItemValidForSlot(slot, stack);
}
@Override
@@ -510,7 +513,7 @@ public class TileAdvancedCraftingTable extends TileEntity implements IInventory,
}
@Override
- public boolean isStackValidForSlot(int slot, ItemStack stack) {
+ public boolean isItemValidForSlot(int slot, ItemStack stack) {
return slot < 15;
}
diff --git a/common/buildcraft/silicon/TileAssemblyTable.java b/common/buildcraft/silicon/TileAssemblyTable.java
index c7b4e5be..6daca467 100644
--- a/common/buildcraft/silicon/TileAssemblyTable.java
+++ b/common/buildcraft/silicon/TileAssemblyTable.java
@@ -1,12 +1,18 @@
package buildcraft.silicon;
import buildcraft.api.gates.IAction;
-
+import buildcraft.api.recipes.AssemblyRecipe;
+import buildcraft.api.transport.IPipeConnection;
+import buildcraft.core.DefaultProps;
+import buildcraft.core.IMachine;
+import buildcraft.core.inventory.StackHelper;
+import buildcraft.core.network.PacketIds;
+import buildcraft.core.network.PacketNBT;
+import buildcraft.core.proxy.CoreProxy;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.common.FMLCommonHandler;
import java.util.LinkedHashSet;
import java.util.LinkedList;
-
-import cpw.mods.fml.common.FMLCommonHandler;
-
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
@@ -17,15 +23,6 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.recipes.AssemblyRecipe;
-import buildcraft.api.transport.IPipeConnection;
-import buildcraft.core.DefaultProps;
-import buildcraft.core.IMachine;
-import buildcraft.core.inventory.StackHelper;
-import buildcraft.core.network.PacketIds;
-import buildcraft.core.network.PacketNBT;
-import buildcraft.core.proxy.CoreProxy;
-import buildcraft.core.utils.Utils;
public class TileAssemblyTable extends TileEntity implements IMachine, IInventory, IPipeConnection, ILaserTarget {
@@ -437,7 +434,7 @@ public class TileAssemblyTable extends TileEntity implements IMachine, IInventor
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
@@ -490,7 +487,7 @@ public class TileAssemblyTable extends TileEntity implements IMachine, IInventor
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
// TODO Auto-generated method stub
return true;
}
diff --git a/common/buildcraft/silicon/TileLaser.java b/common/buildcraft/silicon/TileLaser.java
index e1095f8c..0e1e416e 100644
--- a/common/buildcraft/silicon/TileLaser.java
+++ b/common/buildcraft/silicon/TileLaser.java
@@ -8,11 +8,6 @@
package buildcraft.silicon;
import buildcraft.BuildCraftCore;
-import java.util.LinkedList;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.core.Position;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.api.gates.IAction;
@@ -27,6 +22,10 @@ import buildcraft.core.IMachine;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.triggers.ActionMachineControl;
+import java.util.LinkedList;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class TileLaser extends TileBuildCraft implements IPowerReceptor, IActionReceptor, IMachine {
@@ -275,7 +274,7 @@ public class TileLaser extends TileBuildCraft implements IPowerReceptor, IAction
}
@Override
- public boolean manageLiquids() {
+ public boolean manageFluids() {
return false;
}
diff --git a/common/buildcraft/silicon/gui/ContainerAdvancedCraftingTable.java b/common/buildcraft/silicon/gui/ContainerAdvancedCraftingTable.java
index 0f942331..db312d76 100644
--- a/common/buildcraft/silicon/gui/ContainerAdvancedCraftingTable.java
+++ b/common/buildcraft/silicon/gui/ContainerAdvancedCraftingTable.java
@@ -1,14 +1,14 @@
package buildcraft.silicon.gui;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.slots.SlotOutput;
import buildcraft.core.gui.slots.SlotPhantom;
import buildcraft.core.gui.slots.SlotUntouchable;
import buildcraft.silicon.TileAdvancedCraftingTable;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.Slot;
public class ContainerAdvancedCraftingTable extends BuildCraftContainer {
diff --git a/common/buildcraft/silicon/gui/ContainerAssemblyTable.java b/common/buildcraft/silicon/gui/ContainerAssemblyTable.java
index e802057d..61c60eb6 100644
--- a/common/buildcraft/silicon/gui/ContainerAssemblyTable.java
+++ b/common/buildcraft/silicon/gui/ContainerAssemblyTable.java
@@ -9,13 +9,13 @@
package buildcraft.silicon.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.silicon.TileAssemblyTable;
+import buildcraft.silicon.TileAssemblyTable.SelectionMessage;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.silicon.TileAssemblyTable;
-import buildcraft.silicon.TileAssemblyTable.SelectionMessage;
public class ContainerAssemblyTable extends BuildCraftContainer {
IInventory playerIInventory;
diff --git a/common/buildcraft/silicon/gui/GuiAdvancedCraftingTable.java b/common/buildcraft/silicon/gui/GuiAdvancedCraftingTable.java
index ba9ec10e..2b188f88 100644
--- a/common/buildcraft/silicon/gui/GuiAdvancedCraftingTable.java
+++ b/common/buildcraft/silicon/gui/GuiAdvancedCraftingTable.java
@@ -7,12 +7,16 @@ import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
import buildcraft.silicon.TileAdvancedCraftingTable;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
public class GuiAdvancedCraftingTable extends GuiBuildCraft {
+ public static final ResourceLocation gui = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/assembly_advancedworkbench.png");
+
class AssemblyWorkbenchLedger extends Ledger {
int headerColour = 0xe1c92f;
@@ -31,7 +35,7 @@ public class GuiAdvancedCraftingTable extends GuiBuildCraft {
drawBackground(x, y);
// Draw icon
- Minecraft.getMinecraft().renderEngine.bindTexture("/gui/items.png");
+ Minecraft.getMinecraft().renderEngine.func_110577_a(TextureMap.field_110576_c);
drawIcon(BuildCraftCore.iconProvider.getIcon(CoreIconProvider.ENERGY), x + 3, y + 4);
if (!isFullyOpened())
@@ -72,7 +76,7 @@ public class GuiAdvancedCraftingTable extends GuiBuildCraft {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/assembly_advancedworkbench.png");
+ mc.renderEngine.func_110577_a(gui);
int cornerX = (width - xSize) / 2;
int cornerY = (height - ySize) / 2;
drawTexturedModalRect(cornerX, cornerY, 0, 0, xSize, ySize);
diff --git a/common/buildcraft/silicon/gui/GuiAssemblyTable.java b/common/buildcraft/silicon/gui/GuiAssemblyTable.java
index 09765cba..48108ccf 100644
--- a/common/buildcraft/silicon/gui/GuiAssemblyTable.java
+++ b/common/buildcraft/silicon/gui/GuiAssemblyTable.java
@@ -9,15 +9,6 @@
package buildcraft.silicon.gui;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftCore;
import buildcraft.api.recipes.AssemblyRecipe;
import buildcraft.core.CoreIconProvider;
@@ -26,15 +17,20 @@ import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.network.PacketCoordinates;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketNBT;
-import buildcraft.core.network.PacketPayload;
-import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.StringUtils;
import buildcraft.silicon.TileAssemblyTable;
import buildcraft.silicon.TileAssemblyTable.SelectionMessage;
+import java.util.Iterator;
+import java.util.LinkedList;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiAssemblyTable extends GuiAdvancedInterface {
-
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft",DefaultProps.TEXTURE_PATH_GUI + "/assembly_table.png");
TileAssemblyTable assemblyTable;
class AssemblyLedger extends Ledger {
@@ -54,7 +50,7 @@ public class GuiAssemblyTable extends GuiAdvancedInterface {
drawBackground(x, y);
// Draw icon
- Minecraft.getMinecraft().renderEngine.bindTexture("/gui/items.png");
+ mc.renderEngine.func_110577_a(TextureMap.field_110576_c);
drawIcon(BuildCraftCore.iconProvider.getIcon(CoreIconProvider.ENERGY), x + 3, y + 4);
if (!isFullyOpened())
@@ -145,7 +141,7 @@ public class GuiAssemblyTable extends GuiAdvancedInterface {
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/assembly_table.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
int cornerX = (width - xSize) / 2;
int cornerY = (height - ySize) / 2;
drawTexturedModalRect(cornerX, cornerY, 0, 0, xSize, ySize);
diff --git a/common/buildcraft/silicon/network/PacketHandlerSilicon.java b/common/buildcraft/silicon/network/PacketHandlerSilicon.java
index c4a3e3d6..6faa57db 100644
--- a/common/buildcraft/silicon/network/PacketHandlerSilicon.java
+++ b/common/buildcraft/silicon/network/PacketHandlerSilicon.java
@@ -1,25 +1,23 @@
package buildcraft.silicon.network;
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.core.network.PacketCoordinates;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketNBT;
import buildcraft.core.network.PacketSlotChange;
-import buildcraft.core.network.PacketUpdate;
import buildcraft.silicon.TileAdvancedCraftingTable;
import buildcraft.silicon.TileAssemblyTable;
import buildcraft.silicon.TileAssemblyTable.SelectionMessage;
import buildcraft.silicon.gui.ContainerAssemblyTable;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class PacketHandlerSilicon implements IPacketHandler {
diff --git a/common/buildcraft/transport/BlockFilteredBuffer.java b/common/buildcraft/transport/BlockFilteredBuffer.java
index 9798f58d..9e1188c5 100644
--- a/common/buildcraft/transport/BlockFilteredBuffer.java
+++ b/common/buildcraft/transport/BlockFilteredBuffer.java
@@ -7,8 +7,14 @@
*/
package buildcraft.transport;
+import buildcraft.BuildCraftTransport;
+import buildcraft.core.BlockBuildCraft;
+import buildcraft.core.GuiIds;
+import buildcraft.core.IItemPipe;
+import buildcraft.core.proxy.CoreProxy;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
-
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer;
@@ -16,13 +22,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import buildcraft.BuildCraftTransport;
-import buildcraft.core.BlockBuildCraft;
-import buildcraft.core.GuiIds;
-import buildcraft.core.IItemPipe;
-import buildcraft.core.proxy.CoreProxy;
/**
*
diff --git a/common/buildcraft/transport/BlockGenericPipe.java b/common/buildcraft/transport/BlockGenericPipe.java
index 8a1a41c0..36400a3f 100644
--- a/common/buildcraft/transport/BlockGenericPipe.java
+++ b/common/buildcraft/transport/BlockGenericPipe.java
@@ -7,34 +7,6 @@
*/
package buildcraft.transport;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.particle.EffectRenderer;
-import net.minecraft.client.particle.EntityDiggingFX;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.tools.IToolWrench;
@@ -47,6 +19,32 @@ import buildcraft.transport.render.PipeWorldRenderer;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.particle.EffectRenderer;
+import net.minecraft.client.particle.EntityDiggingFX;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.Icon;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class BlockGenericPipe extends BlockContainer {
@@ -578,7 +576,7 @@ public class BlockGenericPipe extends BlockContainer {
}
@Override
- public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving placer, ItemStack stack) {
+ public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase placer, ItemStack stack) {
super.onBlockPlacedBy(world, x, y, z, placer, stack);
Pipe pipe = getPipe(world, x, y, z);
@@ -973,9 +971,9 @@ public class BlockGenericPipe extends BlockContainer {
px = (double) x + block.getBlockBoundsMaxX() + (double) b;
}
- EntityDiggingFX fx = new EntityDiggingFX(worldObj, px, py, pz, 0.0D, 0.0D, 0.0D, block, sideHit, worldObj.getBlockMetadata(x, y, z), Minecraft.getMinecraft().renderEngine);
- fx.setParticleIcon(Minecraft.getMinecraft().renderEngine, icon);
- effectRenderer.addEffect(fx.func_70596_a(x, y, z).multiplyVelocity(0.2F).multipleParticleScaleBy(0.6F));
+ EntityDiggingFX fx = new EntityDiggingFX(worldObj, px, py, pz, 0.0D, 0.0D, 0.0D, block, sideHit, worldObj.getBlockMetadata(x, y, z));
+ fx.func_110125_a(icon);
+ effectRenderer.addEffect(fx.applyColourMultiplier(x, y, z).multiplyVelocity(0.2F).multipleParticleScaleBy(0.6F));
return true;
}
@@ -1010,9 +1008,9 @@ public class BlockGenericPipe extends BlockContainer {
double py = y + (j + 0.5D) / (double) its;
double pz = z + (k + 0.5D) / (double) its;
int random = rand.nextInt(6);
- EntityDiggingFX fx = new EntityDiggingFX(worldObj, px, py, pz, px - x - 0.5D, py - y - 0.5D, pz - z - 0.5D, BuildCraftTransport.genericPipeBlock, random, meta, Minecraft.getMinecraft().renderEngine);
- fx.setParticleIcon(Minecraft.getMinecraft().renderEngine, icon);
- effectRenderer.addEffect(fx.func_70596_a(x, y, z));
+ EntityDiggingFX fx = new EntityDiggingFX(worldObj, px, py, pz, px - x - 0.5D, py - y - 0.5D, pz - z - 0.5D, BuildCraftTransport.genericPipeBlock, random, meta);
+ fx.func_110125_a(icon);
+ effectRenderer.addEffect(fx.applyColourMultiplier(x, y, z));
}
}
}
diff --git a/common/buildcraft/transport/EnergyPulser.java b/common/buildcraft/transport/EnergyPulser.java
index 82587b2b..a43b3fe0 100644
--- a/common/buildcraft/transport/EnergyPulser.java
+++ b/common/buildcraft/transport/EnergyPulser.java
@@ -1,9 +1,9 @@
package buildcraft.transport;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.power.IPowerReceptor;
import buildcraft.api.power.PowerHandler.Type;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.ForgeDirection;
public class EnergyPulser {
diff --git a/common/buildcraft/transport/EntityData.java b/common/buildcraft/transport/EntityData.java
index 1d1a804b..ef8c9959 100644
--- a/common/buildcraft/transport/EntityData.java
+++ b/common/buildcraft/transport/EntityData.java
@@ -1,9 +1,8 @@
package buildcraft.transport;
-import java.util.EnumSet;
-
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.transport.IPipedItem;
+import java.util.EnumSet;
+import net.minecraftforge.common.ForgeDirection;
public class EntityData {
diff --git a/common/buildcraft/transport/FallbackWrapper.java b/common/buildcraft/transport/FallbackWrapper.java
index 4d23c505..d7c6ceb5 100644
--- a/common/buildcraft/transport/FallbackWrapper.java
+++ b/common/buildcraft/transport/FallbackWrapper.java
@@ -1,18 +1,15 @@
package buildcraft.transport;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import com.google.common.base.Throwables;
-
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.gates.ITriggerParameter;
+import com.google.common.base.Throwables;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.lang.reflect.Method;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.Icon;
+import net.minecraftforge.common.ForgeDirection;
public class FallbackWrapper implements ITrigger {
diff --git a/common/buildcraft/transport/Gate.java b/common/buildcraft/transport/Gate.java
index 8b347bee..cd0d2696 100644
--- a/common/buildcraft/transport/Gate.java
+++ b/common/buildcraft/transport/Gate.java
@@ -1,15 +1,15 @@
package buildcraft.transport;
-import java.util.LinkedList;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.ITrigger;
import buildcraft.core.network.PacketPayload;
+import java.util.LinkedList;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
public abstract class Gate {
@@ -98,7 +98,7 @@ public abstract class Gate {
// / TEXTURES
public abstract int getTextureIconIndex(boolean isSignalActive);
- public abstract String getGuiFile();
+ public abstract ResourceLocation getGuiFile();
public static boolean isGateItem(ItemStack stack) {
return stack.itemID == BuildCraftTransport.pipeGate.itemID || stack.itemID == BuildCraftTransport.pipeGateAutarchic.itemID;
diff --git a/common/buildcraft/transport/GateIconProvider.java b/common/buildcraft/transport/GateIconProvider.java
index c3e72580..4c26259e 100644
--- a/common/buildcraft/transport/GateIconProvider.java
+++ b/common/buildcraft/transport/GateIconProvider.java
@@ -1,10 +1,10 @@
package buildcraft.transport;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class GateIconProvider implements IIconProvider {
diff --git a/common/buildcraft/transport/GateVanilla.java b/common/buildcraft/transport/GateVanilla.java
index 4bc1104e..9ef95b39 100644
--- a/common/buildcraft/transport/GateVanilla.java
+++ b/common/buildcraft/transport/GateVanilla.java
@@ -1,12 +1,5 @@
package buildcraft.transport;
-import java.util.LinkedList;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.ITrigger;
@@ -20,6 +13,13 @@ import buildcraft.core.utils.Utils;
import buildcraft.transport.pipes.PipePowerWood;
import buildcraft.transport.triggers.ActionEnergyPulser;
import buildcraft.transport.triggers.ActionSingleEnergyPulse;
+import java.util.LinkedList;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
public class GateVanilla extends Gate {
@@ -86,22 +86,22 @@ public class GateVanilla extends Gate {
@Override
public String getName() {
switch (kind) {
- case Single:
- return StringUtils.localize("item.pipeGate.0");
- case AND_2:
- return StringUtils.localize("item.pipeGate.1");
- case AND_3:
- return StringUtils.localize("item.pipeGate.3");
- case AND_4:
- return StringUtils.localize("item.pipeGate.5");
- case OR_2:
- return StringUtils.localize("item.pipeGate.2");
- case OR_3:
- return StringUtils.localize("item.pipeGate.4");
- case OR_4:
- return StringUtils.localize("item.pipeGate.6");
- default:
- return "";
+ case Single:
+ return StringUtils.localize("item.pipeGate.0");
+ case AND_2:
+ return StringUtils.localize("item.pipeGate.1");
+ case AND_3:
+ return StringUtils.localize("item.pipeGate.3");
+ case AND_4:
+ return StringUtils.localize("item.pipeGate.5");
+ case OR_2:
+ return StringUtils.localize("item.pipeGate.2");
+ case OR_3:
+ return StringUtils.localize("item.pipeGate.4");
+ case OR_4:
+ return StringUtils.localize("item.pipeGate.6");
+ default:
+ return "";
}
}
@@ -146,28 +146,28 @@ public class GateVanilla extends Gate {
int gateDamage = 0;
switch (kind) {
- case Single:
- gateDamage = 0;
- break;
- case AND_2:
- gateDamage = 1;
- break;
- case OR_2:
- gateDamage = 2;
- break;
- case AND_3:
- gateDamage = 3;
- break;
- case OR_3:
- gateDamage = 4;
- break;
- case AND_4:
- gateDamage = 5;
- break;
- case OR_4:
- default:
- gateDamage = 6;
- break;
+ case Single:
+ gateDamage = 0;
+ break;
+ case AND_2:
+ gateDamage = 1;
+ break;
+ case OR_2:
+ gateDamage = 2;
+ break;
+ case AND_3:
+ gateDamage = 3;
+ break;
+ case OR_3:
+ gateDamage = 4;
+ break;
+ case AND_4:
+ gateDamage = 5;
+ break;
+ case OR_4:
+ default:
+ gateDamage = 6;
+ break;
}
Item gateItem;
@@ -265,44 +265,63 @@ public class GateVanilla extends Gate {
if (hasPulser() && pulser.isActive()) {
isGateActive = true;
}
-
- if (!hasPulser()){
- switch (kind){
- case None: return 0;
- case Single: return isGateActive ? GateIconProvider.Gate_Lit : GateIconProvider.Gate_Dark;
- case AND_2: return isGateActive ? GateIconProvider.Gate_Iron_And_Lit : GateIconProvider.Gate_Iron_And_Dark;
- case OR_2: return isGateActive ? GateIconProvider.Gate_Iron_Or_Lit : GateIconProvider.Gate_Iron_Or_Dark;
- case AND_3: return isGateActive ? GateIconProvider.Gate_Gold_And_Lit : GateIconProvider.Gate_Gold_And_Dark;
- case OR_3: return isGateActive ? GateIconProvider.Gate_Gold_Or_Lit : GateIconProvider.Gate_Gold_Or_Dark;
- case AND_4: return isGateActive ? GateIconProvider.Gate_Diamond_And_Lit : GateIconProvider.Gate_Diamond_And_Dark;
- case OR_4: return isGateActive ? GateIconProvider.Gate_Diamond_Or_Lit : GateIconProvider.Gate_Diamond_Or_Dark;
+
+ if (!hasPulser()) {
+ switch (kind) {
+ case None:
+ return 0;
+ case Single:
+ return isGateActive ? GateIconProvider.Gate_Lit : GateIconProvider.Gate_Dark;
+ case AND_2:
+ return isGateActive ? GateIconProvider.Gate_Iron_And_Lit : GateIconProvider.Gate_Iron_And_Dark;
+ case OR_2:
+ return isGateActive ? GateIconProvider.Gate_Iron_Or_Lit : GateIconProvider.Gate_Iron_Or_Dark;
+ case AND_3:
+ return isGateActive ? GateIconProvider.Gate_Gold_And_Lit : GateIconProvider.Gate_Gold_And_Dark;
+ case OR_3:
+ return isGateActive ? GateIconProvider.Gate_Gold_Or_Lit : GateIconProvider.Gate_Gold_Or_Dark;
+ case AND_4:
+ return isGateActive ? GateIconProvider.Gate_Diamond_And_Lit : GateIconProvider.Gate_Diamond_And_Dark;
+ case OR_4:
+ return isGateActive ? GateIconProvider.Gate_Diamond_Or_Lit : GateIconProvider.Gate_Diamond_Or_Dark;
}
} else {
- switch (kind){
- case None: return 0;
- case Single: return isGateActive ? GateIconProvider.Gate_Autarchic_Lit : GateIconProvider.Gate_Autarchic_Dark;
- case AND_2: return isGateActive ? GateIconProvider.Gate_Autarchic_Iron_And_Lit : GateIconProvider.Gate_Autarchic_Iron_And_Dark;
- case OR_2: return isGateActive ? GateIconProvider.Gate_Autarchic_Iron_Or_Lit : GateIconProvider.Gate_Autarchic_Iron_Or_Dark;
- case AND_3: return isGateActive ? GateIconProvider.Gate_Autarchic_Gold_And_Lit : GateIconProvider.Gate_Autarchic_Gold_And_Dark;
- case OR_3: return isGateActive ? GateIconProvider.Gate_Autarchic_Gold_Or_Lit : GateIconProvider.Gate_Autarchic_Gold_Or_Dark;
- case AND_4: return isGateActive ? GateIconProvider.Gate_Autarchic_Diamond_And_Lit : GateIconProvider.Gate_Autarchic_Diamond_And_Dark;
- case OR_4: return isGateActive ? GateIconProvider.Gate_Autarchic_Diamond_Or_Lit : GateIconProvider.Gate_Autarchic_Diamond_Or_Dark;
+ switch (kind) {
+ case None:
+ return 0;
+ case Single:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Lit : GateIconProvider.Gate_Autarchic_Dark;
+ case AND_2:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Iron_And_Lit : GateIconProvider.Gate_Autarchic_Iron_And_Dark;
+ case OR_2:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Iron_Or_Lit : GateIconProvider.Gate_Autarchic_Iron_Or_Dark;
+ case AND_3:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Gold_And_Lit : GateIconProvider.Gate_Autarchic_Gold_And_Dark;
+ case OR_3:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Gold_Or_Lit : GateIconProvider.Gate_Autarchic_Gold_Or_Dark;
+ case AND_4:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Diamond_And_Lit : GateIconProvider.Gate_Autarchic_Diamond_And_Dark;
+ case OR_4:
+ return isGateActive ? GateIconProvider.Gate_Autarchic_Diamond_Or_Lit : GateIconProvider.Gate_Autarchic_Diamond_Or_Dark;
}
}
return 0;
}
+ private static final ResourceLocation TEXTURE1 = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_1.png");
+ private static final ResourceLocation TEXTURE2 = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_2.png");
+ private static final ResourceLocation TEXTURE3 = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_3.png");
+ private static final ResourceLocation TEXTURE4 = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_4.png");
@Override
- public String getGuiFile() {
+ public ResourceLocation getGuiFile() {
if (kind == GateKind.Single)
- return DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_1.png";
+ return TEXTURE1;
else if (kind == GateKind.AND_2 || kind == GateKind.OR_2)
- return DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_2.png";
+ return TEXTURE2;
else if (kind == GateKind.AND_3 || kind == GateKind.OR_3)
- return DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_3.png";
+ return TEXTURE3;
else
- return DefaultProps.TEXTURE_PATH_GUI + "/gate_interface_4.png";
+ return TEXTURE4;
}
-
}
diff --git a/common/buildcraft/transport/GuiHandler.java b/common/buildcraft/transport/GuiHandler.java
index a3eb898d..e3fe31dc 100644
--- a/common/buildcraft/transport/GuiHandler.java
+++ b/common/buildcraft/transport/GuiHandler.java
@@ -1,9 +1,6 @@
package buildcraft.transport;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
+import buildcraft.BuildCraftCore;
import buildcraft.core.GuiIds;
import buildcraft.transport.gui.ContainerDiamondPipe;
import buildcraft.transport.gui.ContainerEmeraldPipe;
@@ -13,78 +10,93 @@ import buildcraft.transport.gui.GuiDiamondPipe;
import buildcraft.transport.gui.GuiEmeraldPipe;
import buildcraft.transport.gui.GuiFilteredBuffer;
import buildcraft.transport.gui.GuiGateInterface;
+import buildcraft.transport.pipes.PipeItemsEmerald;
import buildcraft.transport.pipes.PipeLogicDiamond;
import cpw.mods.fml.common.network.IGuiHandler;
+import java.util.logging.Level;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
- if (!world.blockExists(x, y, z))
- return null;
+ try {
+ if (!world.blockExists(x, y, z))
+ return null;
- TileEntity tile = world.getBlockTileEntity(x, y, z);
-
- if (tile instanceof TileFilteredBuffer) {
- TileFilteredBuffer filteredBuffer = (TileFilteredBuffer) tile;
- return new ContainerFilteredBuffer(player.inventory, filteredBuffer);
- }
-
- if (!(tile instanceof TileGenericPipe))
- return null;
-
- TileGenericPipe pipe = (TileGenericPipe) tile;
-
- if (pipe.pipe == null)
- return null;
-
- switch (ID) {
- case GuiIds.PIPE_DIAMOND:
- return new ContainerDiamondPipe(player.inventory, ((PipeLogicDiamond) pipe.pipe.logic).getFilters());
-
- case GuiIds.PIPE_EMERALD_ITEM:
- return new ContainerEmeraldPipe(player.inventory, (IInventory) pipe.pipe);
-
- case GuiIds.GATES:
- return new ContainerGateInterface(player.inventory, pipe.pipe);
-
- default:
- return null;
+ TileEntity tile = world.getBlockTileEntity(x, y, z);
+
+ if (tile instanceof TileFilteredBuffer) {
+ TileFilteredBuffer filteredBuffer = (TileFilteredBuffer) tile;
+ return new ContainerFilteredBuffer(player.inventory, filteredBuffer);
+ }
+
+ if (!(tile instanceof TileGenericPipe))
+ return null;
+
+ TileGenericPipe pipe = (TileGenericPipe) tile;
+
+ if (pipe.pipe == null)
+ return null;
+
+ switch (ID) {
+ case GuiIds.PIPE_DIAMOND:
+ return new ContainerDiamondPipe(player.inventory, (PipeLogicDiamond) pipe.pipe.logic);
+
+ case GuiIds.PIPE_EMERALD_ITEM:
+ return new ContainerEmeraldPipe(player.inventory, (PipeItemsEmerald) pipe.pipe);
+
+ case GuiIds.GATES:
+ return new ContainerGateInterface(player.inventory, pipe.pipe);
+
+ default:
+ return null;
+ }
+ } catch (Exception ex) {
+ BuildCraftCore.bcLog.log(Level.SEVERE, "Failed to open GUI", ex);
}
+ return null;
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
- if (!world.blockExists(x, y, z))
- return null;
+ try {
+ if (!world.blockExists(x, y, z))
+ return null;
- TileEntity tile = world.getBlockTileEntity(x, y, z);
-
- if (tile instanceof TileFilteredBuffer) {
- TileFilteredBuffer filteredBuffer = (TileFilteredBuffer) tile;
- return new GuiFilteredBuffer(player.inventory, filteredBuffer);
- }
-
- if (!(tile instanceof TileGenericPipe))
- return null;
-
- TileGenericPipe pipe = (TileGenericPipe) tile;
-
- if (pipe.pipe == null)
- return null;
-
- switch (ID) {
- case GuiIds.PIPE_DIAMOND:
- return new GuiDiamondPipe(player.inventory, pipe);
-
- case GuiIds.PIPE_EMERALD_ITEM:
- return new GuiEmeraldPipe(player.inventory, pipe);
-
- case GuiIds.GATES:
- return new GuiGateInterface(player.inventory, pipe.pipe);
-
- default:
- return null;
+ TileEntity tile = world.getBlockTileEntity(x, y, z);
+
+ if (tile instanceof TileFilteredBuffer) {
+ TileFilteredBuffer filteredBuffer = (TileFilteredBuffer) tile;
+ return new GuiFilteredBuffer(player.inventory, filteredBuffer);
+ }
+
+ if (!(tile instanceof TileGenericPipe))
+ return null;
+
+ TileGenericPipe pipe = (TileGenericPipe) tile;
+
+ if (pipe.pipe == null)
+ return null;
+
+ switch (ID) {
+ case GuiIds.PIPE_DIAMOND:
+ return new GuiDiamondPipe(player.inventory, (PipeLogicDiamond) pipe.pipe.logic);
+
+ case GuiIds.PIPE_EMERALD_ITEM:
+ return new GuiEmeraldPipe(player.inventory, (PipeItemsEmerald) pipe.pipe);
+
+ case GuiIds.GATES:
+ return new GuiGateInterface(player.inventory, pipe.pipe);
+
+ default:
+ return null;
+ }
+ } catch (Exception ex) {
+ BuildCraftCore.bcLog.log(Level.SEVERE, "Failed to open GUI", ex);
}
+ return null;
}
}
diff --git a/common/buildcraft/transport/IPipeTransportLiquidsHook.java b/common/buildcraft/transport/IPipeTransportFluidsHook.java
similarity index 67%
rename from common/buildcraft/transport/IPipeTransportLiquidsHook.java
rename to common/buildcraft/transport/IPipeTransportFluidsHook.java
index 6ee0664b..0d12c212 100644
--- a/common/buildcraft/transport/IPipeTransportLiquidsHook.java
+++ b/common/buildcraft/transport/IPipeTransportFluidsHook.java
@@ -10,9 +10,9 @@
package buildcraft.transport;
import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidStack;
+import net.minecraftforge.fluids.FluidStack;
-public interface IPipeTransportLiquidsHook {
+public interface IPipeTransportFluidsHook {
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill);
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill);
}
diff --git a/common/buildcraft/transport/IPipeTransportItemsHook.java b/common/buildcraft/transport/IPipeTransportItemsHook.java
index e8a93a5c..c1666d60 100644
--- a/common/buildcraft/transport/IPipeTransportItemsHook.java
+++ b/common/buildcraft/transport/IPipeTransportItemsHook.java
@@ -9,11 +9,10 @@
package buildcraft.transport;
-import java.util.LinkedList;
-
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.core.Position;
import buildcraft.api.transport.IPipedItem;
+import java.util.LinkedList;
+import net.minecraftforge.common.ForgeDirection;
public interface IPipeTransportItemsHook {
diff --git a/common/buildcraft/transport/ItemFacade.java b/common/buildcraft/transport/ItemFacade.java
index 24176d58..a7bc5011 100644
--- a/common/buildcraft/transport/ItemFacade.java
+++ b/common/buildcraft/transport/ItemFacade.java
@@ -1,33 +1,31 @@
package buildcraft.transport;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.recipes.AssemblyRecipe;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.ItemBuildCraft;
import buildcraft.core.proxy.CoreProxy;
-
import com.google.common.base.Strings;
import com.google.common.collect.Sets;
-
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.InventoryCrafting;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public class ItemFacade extends ItemBuildCraft {
@@ -159,7 +157,7 @@ public class ItemFacade extends ItemBuildCraft {
public static void addFacade(ItemStack itemStack) {
ItemStack facade = getStack(itemStack.itemID, itemStack.getItemDamage());
allFacades.add(facade);
-
+
ItemStack facade6 = facade.copy();
facade6.stackSize = 6;
@@ -176,13 +174,76 @@ public class ItemFacade extends ItemBuildCraft {
ItemStack rotLog2 = getStack(itemStack.itemID, itemStack.getItemDamage() | 8);
allFacades.add(rotLog1);
allFacades.add(rotLog2);
- CoreProxy.proxy.addShapelessRecipe(rotLog1, new Object[] { mainLog });
- CoreProxy.proxy.addShapelessRecipe(rotLog2, new Object[] { rotLog1 });
- CoreProxy.proxy.addShapelessRecipe(mainLog, new Object[] { rotLog2 });
}
}
}
+ private static final ItemStack NO_MATCH = new ItemStack(0,0,0);
+ public class FacadeRecipe implements IRecipe {
+ @Override
+ public boolean matches(InventoryCrafting inventorycrafting, World world)
+ {
+ ItemStack slotmatch = null;
+ for (int i = 0; i < inventorycrafting.getSizeInventory(); i++) {
+ ItemStack slot = inventorycrafting.getStackInSlot(i);
+ if (slot != null && slot.itemID == ItemFacade.this.itemID && slotmatch == null) {
+ slotmatch = slot;
+ } else if (slot != null) {
+ slotmatch = NO_MATCH;
+ }
+ }
+ if (slotmatch != null && slotmatch != NO_MATCH) {
+ int blockId = ItemFacade.getBlockId(slotmatch);
+ return blockId < Block.blocksList.length && Block.blocksList[blockId] != null && Block.blocksList[blockId].getRenderType() == 31;
+ }
+
+ return false;
+ }
+
+ @Override
+ public ItemStack getCraftingResult(InventoryCrafting inventorycrafting)
+ {
+ ItemStack slotmatch = null;
+ for (int i = 0; i < inventorycrafting.getSizeInventory(); i++) {
+ ItemStack slot = inventorycrafting.getStackInSlot(i);
+ if (slot != null && slot.itemID == ItemFacade.this.itemID && slotmatch == null) {
+ slotmatch = slot;
+ } else if (slot != null) {
+ slotmatch = NO_MATCH;
+ }
+ }
+ if (slotmatch != null && slotmatch != NO_MATCH) {
+ int blockId = ItemFacade.getBlockId(slotmatch);
+ int blockMeta = ItemFacade.getMetaData(slotmatch);
+ if (blockId >= Block.blocksList.length)
+ return null;
+ Block bl = Block.blocksList[blockId];
+ // No Meta
+ if (bl != null && bl.getRenderType() == 31 && (blockMeta & 0xC) == 0)
+ return getStack(blockId, (blockMeta & 0x3) | 4);
+ // Meta | 4 = true
+ if (bl != null && bl.getRenderType() == 31 && (blockMeta & 0x8) == 0)
+ return getStack(blockId, (blockMeta & 0x3) | 8);
+ // Meta | 8 = true
+ if (bl != null && bl.getRenderType() == 31 && (blockMeta & 0x4) == 0)
+ return getStack(blockId, (blockMeta & 0x3));
+ }
+ return null;
+ }
+
+ @Override
+ public int getRecipeSize()
+ {
+ return 1;
+ }
+
+ @Override
+ public ItemStack getRecipeOutput()
+ {
+ return null;
+ }
+
+ }
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
@@ -196,7 +257,7 @@ public class ItemFacade extends ItemBuildCraft {
{
return 0;
}
-
+
public static ItemStack getStack(int blockID, int metadata) {
ItemStack stack = new ItemStack(BuildCraftTransport.facadeItem, 1, 0);
NBTTagCompound nbt = new NBTTagCompound("tag");
diff --git a/common/buildcraft/transport/ItemGate.java b/common/buildcraft/transport/ItemGate.java
index bc9d6756..2cdce7bf 100644
--- a/common/buildcraft/transport/ItemGate.java
+++ b/common/buildcraft/transport/ItemGate.java
@@ -1,11 +1,5 @@
package buildcraft.transport;
-import java.util.List;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.IAction;
@@ -14,6 +8,11 @@ import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.ItemBuildCraft;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.List;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
public class ItemGate extends ItemBuildCraft {
diff --git a/common/buildcraft/transport/ItemPipe.java b/common/buildcraft/transport/ItemPipe.java
index 6955ec49..9eafad8b 100644
--- a/common/buildcraft/transport/ItemPipe.java
+++ b/common/buildcraft/transport/ItemPipe.java
@@ -7,24 +7,22 @@
*/
package buildcraft.transport;
-import java.util.logging.Level;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.IItemPipe;
import buildcraft.core.ItemBuildCraft;
-import buildcraft.transport.pipes.PipePowerCobblestone;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
+import java.util.logging.Level;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
+import net.minecraft.world.World;
public class ItemPipe extends ItemBuildCraft implements IItemPipe {
@@ -70,7 +68,7 @@ public class ItemPipe extends ItemBuildCraft implements IItemPipe {
if (itemstack.stackSize == 0)
return false;
- if (entityplayer.canCurrentToolHarvestBlock(i, j, k) && world.canPlaceEntityOnSide(blockID, i, j, k, false, side, entityplayer, itemstack)) {
+ if (world.canPlaceEntityOnSide(blockID, i, j, k, false, side, entityplayer, itemstack)) {
Pipe pipe = BlockGenericPipe.createPipe(itemID);
if (pipe == null) {
diff --git a/common/buildcraft/transport/ItemPlug.java b/common/buildcraft/transport/ItemPlug.java
index dc34df8e..f819d006 100644
--- a/common/buildcraft/transport/ItemPlug.java
+++ b/common/buildcraft/transport/ItemPlug.java
@@ -1,15 +1,15 @@
package buildcraft.transport;
+import buildcraft.core.CreativeTabBuildCraft;
+import buildcraft.core.ItemBuildCraft;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.core.CreativeTabBuildCraft;
-import buildcraft.core.ItemBuildCraft;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
public class ItemPlug extends ItemBuildCraft {
diff --git a/common/buildcraft/transport/Pipe.java b/common/buildcraft/transport/Pipe.java
index 097d432f..511692c2 100644
--- a/common/buildcraft/transport/Pipe.java
+++ b/common/buildcraft/transport/Pipe.java
@@ -9,20 +9,6 @@
package buildcraft.transport;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Random;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
@@ -41,12 +27,23 @@ import buildcraft.core.utils.Utils;
import buildcraft.transport.Gate.GateConditional;
import buildcraft.transport.pipes.PipeLogic;
import buildcraft.transport.triggers.ActionSignalOutput;
-
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;
-
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
public abstract class Pipe implements IPipe, IDropControlInventory {
@@ -129,7 +126,7 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
transport.onBlockPlaced();
}
- public void onBlockPlacedBy(EntityLiving placer) {}
+ public void onBlockPlacedBy(EntityLivingBase placer) {}
public void onNeighborBlockChange(int blockId) {
logic.onNeighborBlockChange(blockId);
@@ -215,7 +212,7 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
for (int i = 0; i < 4; ++i)
nbttagcompound.setBoolean("wireSet[" + i + "]", wireSet[i]);
-
+
for (int i = 0; i < 8; ++i) {
nbttagcompound.setInteger("action[" + i + "]", activatedActions[i] != null ? activatedActions[i].getId() : 0);
nbttagcompound.setInteger("trigger[" + i + "]", activatedTriggers[i] != null ? activatedTriggers[i].getId() : 0);
@@ -255,7 +252,7 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
for (int i = 0; i < 4; ++i)
wireSet[i] = nbttagcompound.getBoolean("wireSet[" + i + "]");
-
+
for (int i = 0; i < 8; ++i) {
activatedActions[i] = ActionManager.actions[nbttagcompound.getInteger("action[" + i + "]")];
activatedTriggers[i] = ActionManager.triggers[nbttagcompound.getInteger("trigger[" + i + "]")];
@@ -728,7 +725,7 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
fixedTriggers = true;
}
-
+
public World getWorldObj(){
return worldObj;
}
diff --git a/common/buildcraft/transport/PipeIconProvider.java b/common/buildcraft/transport/PipeIconProvider.java
index cedf1ade..f43802e2 100644
--- a/common/buildcraft/transport/PipeIconProvider.java
+++ b/common/buildcraft/transport/PipeIconProvider.java
@@ -1,10 +1,10 @@
package buildcraft.transport;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class PipeIconProvider implements IIconProvider {
@@ -39,14 +39,14 @@ public class PipeIconProvider implements IIconProvider {
PipeItemsQuartz("pipeItemsQuartz"),
PipeItemsVoid("pipeItemsVoid"),
//
- PipeLiquidsCobblestone("pipeLiquidsCobblestone"),
- PipeLiquidsWood_Standard("pipeLiquidsWood_standard"),
- PipeLiquidsEmerald_Standard("pipeLiquidsEmerald_standard"),
- PipeLiquidsGold("pipeLiquidsGold"),
- PipeLiquidsIron_Standard("pipeLiquidsIron_standard"),
- PipeLiquidsSandstone("pipeLiquidsSandstone"),
- PipeLiquidsStone("pipeLiquidsStone"),
- PipeLiquidsVoid("pipeLiquidsVoid"),
+ PipeFluidsCobblestone("pipeFluidsCobblestone"),
+ PipeFluidsWood_Standard("pipeFluidsWood_standard"),
+ PipeFluidsEmerald_Standard("pipeFluidsEmerald_standard"),
+ PipeFluidsGold("pipeFluidsGold"),
+ PipeFluidsIron_Standard("pipeFluidsIron_standard"),
+ PipeFluidsSandstone("pipeFluidsSandstone"),
+ PipeFluidsStone("pipeFluidsStone"),
+ PipeFluidsVoid("pipeFluidsVoid"),
//
PipePowerDiamond("pipePowerDiamond"),
PipePowerGold("pipePowerGold"),
diff --git a/common/buildcraft/transport/PipeRenderState.java b/common/buildcraft/transport/PipeRenderState.java
index b47bb11b..7448d50c 100644
--- a/common/buildcraft/transport/PipeRenderState.java
+++ b/common/buildcraft/transport/PipeRenderState.java
@@ -1,10 +1,5 @@
package buildcraft.transport;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import net.minecraft.util.Icon;
import buildcraft.core.network.IClientState;
import buildcraft.transport.utils.ConnectionMatrix;
import buildcraft.transport.utils.FacadeMatrix;
@@ -12,6 +7,10 @@ import buildcraft.transport.utils.TextureMatrix;
import buildcraft.transport.utils.WireMatrix;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import net.minecraft.util.Icon;
public class PipeRenderState implements IClientState {
diff --git a/common/buildcraft/transport/PipeTransport.java b/common/buildcraft/transport/PipeTransport.java
index fb4ac051..8894fd40 100644
--- a/common/buildcraft/transport/PipeTransport.java
+++ b/common/buildcraft/transport/PipeTransport.java
@@ -9,11 +9,11 @@
package buildcraft.transport;
+import buildcraft.api.transport.IPipedItem;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.transport.IPipedItem;
public abstract class PipeTransport {
diff --git a/common/buildcraft/transport/PipeTransportLiquids.java b/common/buildcraft/transport/PipeTransportFluids.java
similarity index 74%
rename from common/buildcraft/transport/PipeTransportLiquids.java
rename to common/buildcraft/transport/PipeTransportFluids.java
index 152a7b5f..2fe4323a 100644
--- a/common/buildcraft/transport/PipeTransportLiquids.java
+++ b/common/buildcraft/transport/PipeTransportFluids.java
@@ -9,18 +9,6 @@
package buildcraft.transport;
-import java.util.BitSet;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidEvent;
-import net.minecraftforge.liquids.LiquidEvent.LiquidMotionEvent;
-import net.minecraftforge.liquids.LiquidStack;
-import net.minecraftforge.liquids.LiquidTank;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.api.gates.ITrigger;
@@ -29,11 +17,23 @@ import buildcraft.core.DefaultProps;
import buildcraft.core.IMachine;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
-import buildcraft.transport.network.PacketLiquidUpdate;
+import buildcraft.transport.network.PacketFluidUpdate;
+import java.util.BitSet;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidEvent;
+import net.minecraftforge.fluids.FluidEvent.FluidMotionEvent;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTank;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
-public class PipeTransportLiquids extends PipeTransport implements ITankContainer {
+public class PipeTransportFluids extends PipeTransport implements IFluidHandler {
- public class PipeSection extends LiquidTank {
+ public class PipeSection extends FluidTank {
private short currentTime = 0;
@@ -47,7 +47,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
@Override
- public int fill(LiquidStack resource, boolean doFill) {
+ public int fill(FluidStack resource, boolean doFill) {
if (resource == null)
return 0;
@@ -55,7 +55,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
if (maxToFill <= 0)
return 0;
- LiquidStack stackToFill = resource.copy();
+ FluidStack stackToFill = resource.copy();
stackToFill.amount = maxToFill;
int filled = super.fill(stackToFill, doFill);
@@ -67,19 +67,19 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
@Override
- public LiquidStack drain(int maxDrain, boolean doDrain) {
+ public FluidStack drain(int maxDrain, boolean doDrain) {
int maxToDrain = Math.min(maxDrain, Math.min(flowRate, getAvailable()));
if (maxToDrain < 0)
return null;
- LiquidStack drained = super.drain(maxToDrain, doDrain);
+ FluidStack drained = super.drain(maxToDrain, doDrain);
if (drained == null)
return null;
return drained;
}
- public void moveLiquids() {
+ public void moveFluids() {
// Processes the inbound liquid
incomming[currentTime] = 0;
}
@@ -89,12 +89,12 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
public void reset() {
- this.setLiquid(null);
+ this.setFluid(null);
incomming = new short[travelDelay];
}
public int getAvailable() {
- int all = this.getLiquid() != null ? this.getLiquid().amount : 0;
+ int all = this.getFluid() != null ? this.getFluid().amount : 0;
for (short slot : incomming) {
all -= slot;
}
@@ -102,13 +102,13 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
@Override
- public LiquidTank readFromNBT(NBTTagCompound compoundTag) {
+ public FluidTank readFromNBT(NBTTagCompound compoundTag) {
this.setCapacity(compoundTag.getInteger("capacity"));
for (int i = 0; i < travelDelay; ++i) {
incomming[i] = compoundTag.getShort("in[" + i + "]");
}
- setLiquid(LiquidStack.loadLiquidStackFromNBT(compoundTag));
+ setFluid(FluidStack.loadFluidStackFromNBT(compoundTag));
return this;
}
@@ -120,8 +120,8 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
incomming[i] = subTag.getShort("in[" + i + "]");
}
- if (this.getLiquid() != null) {
- this.getLiquid().writeToNBT(subTag);
+ if (this.getFluid() != null) {
+ this.getFluid().writeToNBT(subTag);
}
return subTag;
}
@@ -134,7 +134,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
/**
* The amount of liquid contained by a pipe section. For simplicity, all pipe sections are assumed to be of the same volume.
*/
- public static int LIQUID_IN_PIPE = LiquidContainerRegistry.BUCKET_VOLUME / 4;
+ public static int LIQUID_IN_PIPE = FluidContainerRegistry.BUCKET_VOLUME / 4;
public static short INPUT_TTL = 60; // 100
public static short OUTPUT_TTL = 80; // 80
public static short OUTPUT_COOLDOWN = 30; // 30
@@ -145,7 +145,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
public byte initClient = 0;
public short travelDelay = 12;
public short flowRate = 10;
- public LiquidStack[] renderCache = new LiquidStack[orientations.length];
+ public FluidStack[] renderCache = new FluidStack[orientations.length];
private final PipeSection[] internalTanks = new PipeSection[orientations.length];
@@ -160,7 +160,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
private final SafeTimeTracker tracker = new SafeTimeTracker();
private int clientSyncCounter = 0;
- public PipeTransportLiquids() {
+ public PipeTransportFluids() {
for (ForgeDirection direction : orientations) {
internalTanks[direction.ordinal()] = new PipeSection(getCapacity());
if (direction != ForgeDirection.UNKNOWN) {
@@ -173,7 +173,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
return LIQUID_IN_PIPE;
}
- public boolean canReceiveLiquid(ForgeDirection o) {
+ public boolean canReceiveFluid(ForgeDirection o) {
TileEntity entity = container.getTile(o);
if (!Utils.checkPipesConnections(container, entity))
@@ -186,7 +186,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
return false;
}
- if (entity instanceof IPipeEntry || entity instanceof ITankContainer)
+ if (entity instanceof IPipeEntry || entity instanceof IFluidHandler)
return true;
return false;
@@ -197,7 +197,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
if (CoreProxy.proxy.isRenderWorld(worldObj))
return;
- moveLiquids();
+ moveFluids();
if (tracker.markTimeIfDelay(worldObj, BuildCraftCore.updateFactor)) {
@@ -206,7 +206,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
clientSyncCounter = 0;
init = true;
}
- PacketLiquidUpdate packet = computeLiquidUpdate(init, true);
+ PacketFluidUpdate packet = computeFluidUpdate(init, true);
if (packet != null) {
CoreProxy.proxy.sendToPlayers(packet.getPacket(), worldObj, xCoord, yCoord, zCoord, DefaultProps.PIPE_CONTENTS_RENDER_DIST);
}
@@ -214,15 +214,15 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
/**
- * Computes the PacketLiquidUpdate packet for transmission to a client
+ * Computes the PacketFluidUpdate packet for transmission to a client
*
* @param initPacket
* everything is sent, no delta stuff ( first packet )
* @param persistChange
* The render cache change is persisted
- * @return PacketLiquidUpdate liquid update packet
+ * @return PacketFluidUpdate liquid update packet
*/
- private PacketLiquidUpdate computeLiquidUpdate(boolean initPacket, boolean persistChange) {
+ private PacketFluidUpdate computeFluidUpdate(boolean initPacket, boolean persistChange) {
boolean changed = false;
BitSet delta = new BitSet(21);
@@ -235,11 +235,11 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
}
- LiquidStack[] renderCache = this.renderCache.clone();
+ FluidStack[] renderCache = this.renderCache.clone();
for (ForgeDirection dir : orientations) {
- LiquidStack current = internalTanks[dir.ordinal()].getLiquid();
- LiquidStack prev = renderCache[dir.ordinal()];
+ FluidStack current = internalTanks[dir.ordinal()].getFluid();
+ FluidStack prev = renderCache[dir.ordinal()];
if (prev == null && current == null) {
continue;
@@ -288,7 +288,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
if (changed || initPacket) {
- PacketLiquidUpdate packet = new PacketLiquidUpdate(xCoord, yCoord, zCoord, initPacket);
+ PacketFluidUpdate packet = new PacketFluidUpdate(xCoord, yCoord, zCoord, initPacket);
packet.renderCache = renderCache;
packet.delta = delta;
return packet;
@@ -336,7 +336,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
}
- private void moveLiquids() {
+ private void moveFluids() {
short newTimeSlot = (short) (worldObj.getWorldTime() % travelDelay);
short outputCount = computeCurrentConnectionStatesAndTickFlows(newTimeSlot);
@@ -351,18 +351,18 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
for (ForgeDirection o : directions) {
if (transferState[o.ordinal()] == TransferState.Output) {
TileEntity target = this.container.getTile(o);
- if (!(target instanceof ITankContainer)) {
+ if (!(target instanceof IFluidHandler)) {
continue;
}
- LiquidStack liquidToPush = internalTanks[o.ordinal()].drain(flowRate, false);
+ FluidStack liquidToPush = internalTanks[o.ordinal()].drain(flowRate, false);
if (liquidToPush != null && liquidToPush.amount > 0) {
- int filled = ((ITankContainer) target).fill(o.getOpposite(), liquidToPush, true);
+ int filled = ((IFluidHandler) target).fill(o.getOpposite(), liquidToPush, true);
internalTanks[o.ordinal()].drain(filled, true);
if (filled <= 0) {
outputTTL[o.ordinal()]--;
}
- else LiquidEvent.fireEvent(new LiquidMotionEvent(liquidToPush, worldObj, xCoord, yCoord, zCoord));
+ else FluidEvent.fireEvent(new FluidMotionEvent(liquidToPush, worldObj, xCoord, yCoord, zCoord));
}
}
}
@@ -371,12 +371,12 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
private void moveFromCenter(short outputCount) {
// Split liquids moving to output equally based on flowrate, how much each side can accept and available liquid
- LiquidStack pushStack = internalTanks[ForgeDirection.UNKNOWN.ordinal()].getLiquid();
+ FluidStack pushStack = internalTanks[ForgeDirection.UNKNOWN.ordinal()].getFluid();
int totalAvailable = internalTanks[ForgeDirection.UNKNOWN.ordinal()].getAvailable();
if (totalAvailable < 1)
return;
if (pushStack != null) {
- LiquidStack testStack = pushStack.copy();
+ FluidStack testStack = pushStack.copy();
testStack.amount = flowRate;
// Move liquid from the center to the output sides
for (ForgeDirection direction : directions) {
@@ -387,12 +387,12 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
ammountToPush++;
}
- LiquidStack liquidToPush = internalTanks[ForgeDirection.UNKNOWN.ordinal()].drain(ammountToPush, false);
+ FluidStack liquidToPush = internalTanks[ForgeDirection.UNKNOWN.ordinal()].drain(ammountToPush, false);
if (liquidToPush != null) {
int filled = internalTanks[direction.ordinal()].fill(liquidToPush, true);
internalTanks[ForgeDirection.UNKNOWN.ordinal()].drain(filled, true);
if (filled > 0)
- LiquidEvent.fireEvent(new LiquidMotionEvent(liquidToPush, worldObj, xCoord, yCoord, zCoord));
+ FluidEvent.fireEvent(new FluidMotionEvent(liquidToPush, worldObj, xCoord, yCoord, zCoord));
}
}
}
@@ -401,7 +401,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
private void moveToCenter() {
int transferInCount = 0;
- LiquidStack stackInCenter = internalTanks[ForgeDirection.UNKNOWN.ordinal()].drain(flowRate, false);
+ FluidStack stackInCenter = internalTanks[ForgeDirection.UNKNOWN.ordinal()].drain(flowRate, false);
int spaceAvailable = internalTanks[ForgeDirection.UNKNOWN.ordinal()].getCapacity();
if (stackInCenter != null) {
spaceAvailable -= stackInCenter.amount;
@@ -412,11 +412,11 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
if (transferState[dir.ordinal()] == TransferState.Output) {
continue;
}
- LiquidStack testStack = internalTanks[dir.ordinal()].drain(flowRate, false);
+ FluidStack testStack = internalTanks[dir.ordinal()].drain(flowRate, false);
if (testStack == null) {
continue;
}
- if (stackInCenter != null && !stackInCenter.isLiquidEqual(testStack)) {
+ if (stackInCenter != null && !stackInCenter.isFluidEqual(testStack)) {
continue;
}
inputPerTick[dir.ordinal()] = testStack.amount;
@@ -432,12 +432,12 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
ammountToDrain++;
}
- LiquidStack liquidToPush = internalTanks[dir.ordinal()].drain(ammountToDrain, false);
+ FluidStack liquidToPush = internalTanks[dir.ordinal()].drain(ammountToDrain, false);
if (liquidToPush != null) {
int filled = internalTanks[ForgeDirection.UNKNOWN.ordinal()].fill(liquidToPush, true);
internalTanks[dir.ordinal()].drain(filled, true);
if (filled > 0)
- LiquidEvent.fireEvent(new LiquidMotionEvent(liquidToPush, worldObj, xCoord, yCoord, zCoord));
+ FluidEvent.fireEvent(new FluidMotionEvent(liquidToPush, worldObj, xCoord, yCoord, zCoord));
}
}
}
@@ -449,7 +449,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
// Processes all internal tanks
for (ForgeDirection direction : orientations) {
internalTanks[direction.ordinal()].setTime(newTimeSlot);
- internalTanks[direction.ordinal()].moveLiquids();
+ internalTanks[direction.ordinal()].moveFluids();
// Input processing
if (direction == ForgeDirection.UNKNOWN) {
continue;
@@ -475,7 +475,7 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
outputTTL[direction.ordinal()] = OUTPUT_TTL;
continue;
}
- if (canReceiveLiquid(direction)) {
+ if (canReceiveFluid(direction)) {
transferState[direction.ordinal()] = TransferState.Output;
outputCount++;
}
@@ -500,18 +500,18 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
public boolean canPipeConnect(TileEntity tile, ForgeDirection side) {
if (tile instanceof TileGenericPipe) {
Pipe pipe2 = ((TileGenericPipe) tile).pipe;
- if (BlockGenericPipe.isValid(pipe2) && !(pipe2.transport instanceof PipeTransportLiquids))
+ if (BlockGenericPipe.isValid(pipe2) && !(pipe2.transport instanceof PipeTransportFluids))
return false;
}
- if (tile instanceof ITankContainer) {
- ITankContainer liq = (ITankContainer) tile;
+ if (tile instanceof IFluidHandler) {
+ IFluidHandler liq = (IFluidHandler) tile;
- if (liq.getTanks(side.getOpposite()) != null && liq.getTanks(side.getOpposite()).length > 0)
+ if (liq.getTankInfo(side.getOpposite()) != null && liq.getTankInfo(side.getOpposite()).length > 0)
return true;
}
- return tile instanceof TileGenericPipe || (tile instanceof IMachine && ((IMachine) tile).manageLiquids());
+ return tile instanceof TileGenericPipe || (tile instanceof IMachine && ((IMachine) tile).manageFluids());
}
public boolean isTriggerActive(ITrigger trigger) {
@@ -521,16 +521,15 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
/** ITankContainer implementation **/
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
return fill(from.ordinal(), resource, doFill);
}
- @Override
- public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
+ private int fill(int tankIndex, FluidStack resource, boolean doFill) {
int filled;
- if (this.container.pipe instanceof IPipeTransportLiquidsHook) {
- filled = ((IPipeTransportLiquidsHook) this.container.pipe).fill(orientations[tankIndex], resource, doFill);
+ if (this.container.pipe instanceof IPipeTransportFluidsHook) {
+ filled = ((IPipeTransportFluidsHook) this.container.pipe).fill(orientations[tankIndex], resource, doFill);
} else {
filled = internalTanks[tankIndex].fill(resource, doFill);
}
@@ -543,23 +542,37 @@ public class PipeTransportLiquids extends PipeTransport implements ITankContaine
}
@Override
- public LiquidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
+ public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
return null;
}
- @Override
- public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain) {
+ private FluidStack drain(int tankIndex, int maxDrain, boolean doDrain) {
return null;
}
- @Override
- public ILiquidTank[] getTanks(ForgeDirection direction) {
- return internalTanks;
- }
+ @Override
+ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean canFill(ForgeDirection from, Fluid fluid)
+ {
+ return true;
+ }
+
+ @Override
+ public boolean canDrain(ForgeDirection from, Fluid fluid)
+ {
+ return false;
+ }
+
+ @Override
+ public FluidTankInfo[] getTankInfo(ForgeDirection from)
+ {
+ return new FluidTankInfo[] { new FluidTankInfo(internalTanks[from.ordinal()]) };
+ }
- @Override
- public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
- // TODO Auto-generated method stub
- return null;
- }
}
diff --git a/common/buildcraft/transport/PipeTransportItems.java b/common/buildcraft/transport/PipeTransportItems.java
index 4f8d102b..9c843ea8 100644
--- a/common/buildcraft/transport/PipeTransportItems.java
+++ b/common/buildcraft/transport/PipeTransportItems.java
@@ -9,25 +9,7 @@
package buildcraft.transport;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
+import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.Position;
import buildcraft.api.gates.ITrigger;
@@ -47,9 +29,30 @@ import buildcraft.transport.network.PacketPipeTransportNBT;
import buildcraft.transport.network.PacketSimpleId;
import cpw.mods.fml.common.network.PacketDispatcher;
import cpw.mods.fml.common.network.Player;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeTransportItems extends PipeTransport {
+ public static final int MAX_PIPE_STACKS = 64;
+ public static final int MAX_PIPE_ITEMS = 1024;
public boolean allowBouncing = false;
public Map travelingEntities = new HashMap();
private final List entitiesToLoad = new LinkedList();
@@ -120,17 +123,36 @@ public class PipeTransportItems extends PipeTransport {
if (!worldObj.isRemote) {
sendItemPacket(data);
- }
- if (!worldObj.isRemote && travelingEntities.size() > BuildCraftTransport.groupItemsTrigger) {
- groupEntities();
+ if (travelingEntities.size() > BuildCraftTransport.groupItemsTrigger) {
+ groupEntities();
+ }
- if (travelingEntities.size() > BuildCraftTransport.maxItemsInPipes) {
- BlockUtil.explodeBlock(worldObj, xCoord, yCoord, zCoord);
+ if (travelingEntities.size() > MAX_PIPE_STACKS) {
+ BuildCraftCore.bcLog.log(Level.WARNING, String.format("Pipe exploded at %d,%d,%d because it had too many stacks: %d", xCoord, yCoord, zCoord, travelingEntities.size()));
+ destroyPipe();
+ return;
+ }
+
+ int numItems = 0;
+ for (EntityData ed : travelingEntities.values()) {
+ ItemStack stack = ed.item.getItemStack();
+ if (stack != null && stack.stackSize > 0)
+ numItems += stack.stackSize;
+ }
+
+ if (numItems > MAX_PIPE_ITEMS) {
+ BuildCraftCore.bcLog.log(Level.WARNING, String.format("Pipe exploded at %d,%d,%d because it had too many items: %d", xCoord, yCoord, zCoord, numItems));
+ destroyPipe();
return;
}
}
}
+
+ private void destroyPipe() {
+ BlockUtil.explodeBlock(worldObj, xCoord, yCoord, zCoord);
+ worldObj.setBlockToAir(xCoord, yCoord, zCoord);
+ }
/**
* Bounces the item back into the pipe without changing the travelingEntities map.
diff --git a/common/buildcraft/transport/PipeTransportPower.java b/common/buildcraft/transport/PipeTransportPower.java
index 59d4f45e..93cd7564 100644
--- a/common/buildcraft/transport/PipeTransportPower.java
+++ b/common/buildcraft/transport/PipeTransportPower.java
@@ -7,9 +7,6 @@
*/
package buildcraft.transport;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.api.gates.ITrigger;
@@ -21,10 +18,18 @@ import buildcraft.core.DefaultProps;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import buildcraft.transport.network.PacketPowerUpdate;
-import buildcraft.transport.pipes.*;
+import buildcraft.transport.pipes.PipePowerCobblestone;
+import buildcraft.transport.pipes.PipePowerDiamond;
+import buildcraft.transport.pipes.PipePowerGold;
+import buildcraft.transport.pipes.PipePowerQuartz;
+import buildcraft.transport.pipes.PipePowerStone;
+import buildcraft.transport.pipes.PipePowerWood;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeTransportPower extends PipeTransport {
@@ -44,13 +49,13 @@ public class PipeTransportPower extends PipeTransport {
private boolean needsInit = true;
private TileEntity[] tiles = new TileEntity[6];
public float[] displayPower = new float[6];
- public float[] prevDisplayPower = new float[6];
+ private float[] prevDisplayPower = new float[6];
public short[] clientDisplayPower = new short[6];
public int overload;
- public int[] powerQuery = new int[6];
- public int[] nextPowerQuery = new int[6];
- public long currentDate;
- public float[] internalPower = new float[6];
+ private int[] powerQuery = new int[6];
+ private int[] nextPowerQuery = new int[6];
+ private long currentDate;
+ private float[] internalPower = new float[6];
public float[] internalNextPower = new float[6];
public int maxPower = 8;
@@ -266,7 +271,7 @@ public class PipeTransportPower extends PipeTransport {
return overload >= OVERLOAD_TICKS;
}
- public void step() {
+ private void step() {
if (currentDate != worldObj.getWorldTime()) {
currentDate = worldObj.getWorldTime();
@@ -291,11 +296,23 @@ public class PipeTransportPower extends PipeTransport {
}
/**
- * Do NOT ever call this from outside Buildcraft unless you are a pipe mod.
- * It is NOT part of the API. All power input MUST go through designated
- * input pipes, such as Wooden Power Pipes.
+ * Do NOT ever call this from outside Buildcraft. It is NOT part of the API.
+ * All power input MUST go through designated input pipes, such as Wooden
+ * Power Pipes or a subclass thereof.
*/
public float receiveEnergy(ForgeDirection from, float val) {
+
+ // Keep this in reserve for if too many idiots start bypassing the API
+ // Verify that it is BC calling this method.
+ // If its someone else take all their power and run!
+ // Note: This should be safe for PipePowerWood subclasses, aka custom input pipes.
+// StackTraceElement[] stackTrace = (new Throwable()).getStackTrace();
+// String caller = stackTrace[1].getClassName();
+// if (!caller.equals("buildcraft.transport.PipeTransportPower")
+// && !caller.equals("buildcraft.transport.pipes.PipePowerWood")) {
+// return val;
+// }
+
step();
if (this.container.pipe instanceof IPipeTransportPowerHook) {
return ((IPipeTransportPowerHook) this.container.pipe).receiveEnergy(from, val);
diff --git a/common/buildcraft/transport/PipeTriggerProvider.java b/common/buildcraft/transport/PipeTriggerProvider.java
index 3dedaf98..d81f3896 100644
--- a/common/buildcraft/transport/PipeTriggerProvider.java
+++ b/common/buildcraft/transport/PipeTriggerProvider.java
@@ -1,15 +1,14 @@
package buildcraft.transport;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.tileentity.TileEntity;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.IOverrideDefaultTriggers;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.gates.ITriggerProvider;
import buildcraft.api.transport.IPipe;
import buildcraft.transport.pipes.PipePowerWood;
+import java.util.LinkedList;
+import net.minecraft.block.Block;
+import net.minecraft.tileentity.TileEntity;
public class PipeTriggerProvider implements ITriggerProvider {
@@ -36,9 +35,9 @@ public class PipeTriggerProvider implements ITriggerProvider {
if (pipe instanceof PipePowerWood) {
result.add(BuildCraftTransport.triggerPipeRequestsEnergy);
}
- } else if (pipe.transport instanceof PipeTransportLiquids) {
+ } else if (pipe.transport instanceof PipeTransportFluids) {
result.add(BuildCraftTransport.triggerPipeEmpty);
- result.add(BuildCraftTransport.triggerPipeLiquids);
+ result.add(BuildCraftTransport.triggerPipeFluids);
}
return result;
diff --git a/common/buildcraft/transport/TileFilteredBuffer.java b/common/buildcraft/transport/TileFilteredBuffer.java
index 982b324a..dbb8c0b5 100644
--- a/common/buildcraft/transport/TileFilteredBuffer.java
+++ b/common/buildcraft/transport/TileFilteredBuffer.java
@@ -1,20 +1,19 @@
package buildcraft.transport;
-import java.util.LinkedList;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.IOverrideDefaultTriggers;
import buildcraft.api.gates.ITrigger;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.inventory.SimpleInventory;
+import java.util.LinkedList;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
public class TileFilteredBuffer extends TileBuildCraft implements IInventory, IOverrideDefaultTriggers {
-
+
private final SimpleInventory inventoryFilters = new SimpleInventory(9, "FilteredBufferFilters", 1);
private final SimpleInventory inventoryStorage = new SimpleInventory(9, "FilteredBufferStorage", 64);
@@ -22,7 +21,7 @@ public class TileFilteredBuffer extends TileBuildCraft implements IInventory, IO
public void updateEntity() {
super.updateEntity();
}
-
+
public IInventory getFilters() {
return inventoryFilters;
}
@@ -78,22 +77,22 @@ public class TileFilteredBuffer extends TileBuildCraft implements IInventory, IO
}
@Override
- public boolean isStackValidForSlot(int i, ItemStack itemstack) {
+ public boolean isItemValidForSlot(int i, ItemStack itemstack) {
ItemStack filterItemStack = inventoryFilters.getStackInSlot(i);
-
+
if ( filterItemStack == null || filterItemStack.itemID != itemstack.itemID)
return false;
-
+
if (Item.itemsList[itemstack.itemID].isDamageable())
return true;
-
+
if (filterItemStack.getItemDamage() == itemstack.getItemDamage())
return true;
-
+
return false;
}
-
+
@Override
public LinkedList getTriggers() {
LinkedList result = new LinkedList();
diff --git a/common/buildcraft/transport/TileGenericPipe.java b/common/buildcraft/transport/TileGenericPipe.java
index b0215d60..6cce71c3 100644
--- a/common/buildcraft/transport/TileGenericPipe.java
+++ b/common/buildcraft/transport/TileGenericPipe.java
@@ -7,21 +7,6 @@
*/
package buildcraft.transport;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.logging.Level;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
@@ -51,9 +36,24 @@ import buildcraft.transport.Gate.GateKind;
import buildcraft.transport.network.PipeRenderStatePacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.logging.Level;
import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
-public class TileGenericPipe extends TileEntity implements IPowerReceptor, ITankContainer, IPipeEntry, IPipeTile, IOverrideDefaultTriggers, ITileBufferHolder,
+public class TileGenericPipe extends TileEntity implements IPowerReceptor, IFluidHandler, IPipeEntry, IPipeTile, IOverrideDefaultTriggers, ITileBufferHolder,
IPipeConnection, IDropControlInventory, IPipeRenderState, ISyncedTile, ISolidSideTile {
private class CoreState implements IClientState {
@@ -515,46 +515,55 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, ITank
* ITankContainer implementation *
*/
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
- if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof ITankContainer && !hasPlug(from))
- return ((ITankContainer) pipe.transport).fill(from, resource, doFill);
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
+ if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof IFluidHandler && !hasPlug(from))
+ return ((IFluidHandler) pipe.transport).fill(from, resource, doFill);
else
return 0;
}
@Override
- public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
- if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof ITankContainer)
- return ((ITankContainer) pipe.transport).fill(tankIndex, resource, doFill);
- else
- return 0;
- }
-
- @Override
- public LiquidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
- if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof ITankContainer && !hasPlug(from))
- return ((ITankContainer) pipe.transport).drain(from, maxDrain, doDrain);
+ public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
+ if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof IFluidHandler && !hasPlug(from))
+ return ((IFluidHandler) pipe.transport).drain(from, maxDrain, doDrain);
else
return null;
}
@Override
- public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain) {
- if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof ITankContainer)
- return ((ITankContainer) pipe.transport).drain(tankIndex, maxDrain, doDrain);
- else
- return null;
- }
+ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain)
+ {
+ if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof IFluidHandler && !hasPlug(from))
+ return ((IFluidHandler) pipe.transport).drain(from, resource, doDrain);
+ else
+ return null;
+ }
- @Override
- public ILiquidTank[] getTanks(ForgeDirection direction) {
- if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof ITankContainer)
- return ((ITankContainer) pipe.transport).getTanks(direction);
- else
- return null;
- }
+ @Override
+ public boolean canFill(ForgeDirection from, Fluid fluid)
+ {
+ if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof IFluidHandler && !hasPlug(from))
+ return ((IFluidHandler) pipe.transport).canFill(from, fluid);
+ else
+ return false;
+ }
- public void scheduleRenderUpdate() {
+ @Override
+ public boolean canDrain(ForgeDirection from, Fluid fluid)
+ {
+ if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof IFluidHandler && !hasPlug(from))
+ return ((IFluidHandler) pipe.transport).canDrain(from, fluid);
+ else
+ return false;
+ }
+
+ @Override
+ public FluidTankInfo[] getTankInfo(ForgeDirection from)
+ {
+ return null;
+ }
+
+ public void scheduleRenderUpdate() {
refreshRenderState = true;
}
@@ -653,14 +662,6 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, ITank
return DefaultProps.PIPE_CONTENTS_RENDER_DIST * DefaultProps.PIPE_CONTENTS_RENDER_DIST;
}
- @Override
- public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
- if (BlockGenericPipe.isValid(pipe) && pipe.transport instanceof ITankContainer)
- return ((ITankContainer) pipe.transport).getTank(direction, type);
- else
- return null;
- }
-
@Override
public boolean shouldRefresh(int oldID, int newID, int oldMeta, int newMeta, World world, int x, int y, int z) {
return oldID != newID;
diff --git a/common/buildcraft/transport/TransportProxyClient.java b/common/buildcraft/transport/TransportProxyClient.java
index eb471978..cc3f44e7 100644
--- a/common/buildcraft/transport/TransportProxyClient.java
+++ b/common/buildcraft/transport/TransportProxyClient.java
@@ -1,6 +1,5 @@
package buildcraft.transport;
-import net.minecraftforge.client.MinecraftForgeClient;
import buildcraft.BuildCraftTransport;
import buildcraft.transport.render.FacadeItemRenderer;
import buildcraft.transport.render.PipeItemRenderer;
@@ -9,6 +8,7 @@ import buildcraft.transport.render.PlugItemRenderer;
import buildcraft.transport.render.RenderPipe;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
+import net.minecraftforge.client.MinecraftForgeClient;
public class TransportProxyClient extends TransportProxy {
public final static PipeItemRenderer pipeItemRenderer = new PipeItemRenderer();
@@ -38,12 +38,12 @@ public class TransportProxyClient extends TransportProxy {
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeItemsObsidian.itemID, pipeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeItemsEmerald.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsWood.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsCobblestone.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsStone.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsIron.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsGold.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsEmerald.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsWood.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsCobblestone.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsStone.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsIron.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsGold.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsEmerald.itemID, pipeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipePowerWood.itemID, pipeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipePowerCobblestone.itemID, pipeItemRenderer);
@@ -54,9 +54,9 @@ public class TransportProxyClient extends TransportProxy {
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeStructureCobblestone.itemID, pipeItemRenderer);
// MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeItemsStipes.shiftedIndex, pipeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeItemsVoid.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsVoid.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsVoid.itemID, pipeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeItemsSandstone.itemID, pipeItemRenderer);
- MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeLiquidsSandstone.itemID, pipeItemRenderer);
+ MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeFluidsSandstone.itemID, pipeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.facadeItem.itemID, facadeItemRenderer);
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.plugItem.itemID, plugItemRenderer);
diff --git a/common/buildcraft/transport/WireIconProvider.java b/common/buildcraft/transport/WireIconProvider.java
index a7d5c7c4..9e65ad41 100644
--- a/common/buildcraft/transport/WireIconProvider.java
+++ b/common/buildcraft/transport/WireIconProvider.java
@@ -1,10 +1,10 @@
package buildcraft.transport;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IconRegister;
+import net.minecraft.util.Icon;
public class WireIconProvider implements IIconProvider {
diff --git a/common/buildcraft/transport/blueprints/BptBlockPipe.java b/common/buildcraft/transport/blueprints/BptBlockPipe.java
index 4c9ff027..5f5d9486 100644
--- a/common/buildcraft/transport/blueprints/BptBlockPipe.java
+++ b/common/buildcraft/transport/blueprints/BptBlockPipe.java
@@ -9,11 +9,6 @@
package buildcraft.transport.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.blueprints.BlockSignature;
@@ -26,6 +21,10 @@ import buildcraft.core.Version;
import buildcraft.transport.BlockGenericPipe;
import buildcraft.transport.GateVanilla;
import buildcraft.transport.Pipe;
+import java.util.LinkedList;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
@Deprecated
public class BptBlockPipe extends BptBlock {
diff --git a/common/buildcraft/transport/blueprints/BptItemPipeDiamond.java b/common/buildcraft/transport/blueprints/BptItemPipeDiamond.java
index 6898abb3..88b23ae7 100644
--- a/common/buildcraft/transport/blueprints/BptItemPipeDiamond.java
+++ b/common/buildcraft/transport/blueprints/BptItemPipeDiamond.java
@@ -9,15 +9,14 @@
package buildcraft.transport.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.blueprints.BptBlockUtils;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.core.blueprints.BptItem;
+import java.util.LinkedList;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.ForgeDirection;
public class BptItemPipeDiamond extends BptItem {
diff --git a/common/buildcraft/transport/blueprints/BptItemPipeEmerald.java b/common/buildcraft/transport/blueprints/BptItemPipeEmerald.java
index f6cf20ff..f1d4cd6e 100644
--- a/common/buildcraft/transport/blueprints/BptItemPipeEmerald.java
+++ b/common/buildcraft/transport/blueprints/BptItemPipeEmerald.java
@@ -9,14 +9,13 @@
package buildcraft.transport.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
import buildcraft.api.blueprints.BptBlockUtils;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.core.blueprints.BptItem;
+import java.util.LinkedList;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
public class BptItemPipeEmerald extends BptItem {
diff --git a/common/buildcraft/transport/blueprints/BptItemPipeIron.java b/common/buildcraft/transport/blueprints/BptItemPipeIron.java
index 3a7ceb62..5f5539d1 100644
--- a/common/buildcraft/transport/blueprints/BptItemPipeIron.java
+++ b/common/buildcraft/transport/blueprints/BptItemPipeIron.java
@@ -9,13 +9,12 @@
package buildcraft.transport.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.core.blueprints.BptItem;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.ForgeDirection;
public class BptItemPipeIron extends BptItem {
diff --git a/common/buildcraft/transport/blueprints/BptItemPipeWooden.java b/common/buildcraft/transport/blueprints/BptItemPipeWooden.java
index 6fb4d146..66ef7240 100644
--- a/common/buildcraft/transport/blueprints/BptItemPipeWooden.java
+++ b/common/buildcraft/transport/blueprints/BptItemPipeWooden.java
@@ -9,13 +9,12 @@
package buildcraft.transport.blueprints;
-import java.util.LinkedList;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.blueprints.BptSlotInfo;
import buildcraft.api.blueprints.IBptContext;
import buildcraft.core.blueprints.BptItem;
+import java.util.LinkedList;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.ForgeDirection;
public class BptItemPipeWooden extends BptItem {
diff --git a/common/buildcraft/transport/gui/ContainerDiamondPipe.java b/common/buildcraft/transport/gui/ContainerDiamondPipe.java
index f5771452..670b4410 100644
--- a/common/buildcraft/transport/gui/ContainerDiamondPipe.java
+++ b/common/buildcraft/transport/gui/ContainerDiamondPipe.java
@@ -7,25 +7,28 @@
*/
package buildcraft.transport.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.core.gui.slots.SlotPhantom;
+import buildcraft.transport.pipes.PipeLogicDiamond;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.core.gui.slots.SlotPhantom;
public class ContainerDiamondPipe extends BuildCraftContainer {
- IInventory playerIInventory;
- IInventory filterIInventory;
+ private final PipeLogicDiamond logic;
+ private final IInventory playerInv;
+ private final IInventory filterInv;
- public ContainerDiamondPipe(IInventory playerInventory, IInventory filterInventory) {
- super(filterInventory.getSizeInventory());
- this.playerIInventory = playerInventory;
- this.filterIInventory = filterInventory;
+ public ContainerDiamondPipe(IInventory playerInventory, PipeLogicDiamond logic) {
+ super(logic.getFilters().getSizeInventory());
+ this.logic = logic;
+ this.playerInv = playerInventory;
+ this.filterInv = logic.getFilters();
for (int y = 0; y < 6; y++) {
for (int x = 0; x < 9; x++) {
- addSlotToContainer(new SlotPhantom(filterInventory, x + y * 9, 8 + x * 18, 18 + y * 18));
+ addSlotToContainer(new SlotPhantom(filterInv, x + y * 9, 8 + x * 18, 18 + y * 18));
}
}
@@ -42,6 +45,6 @@ public class ContainerDiamondPipe extends BuildCraftContainer {
@Override
public boolean canInteractWith(EntityPlayer entityplayer) {
- return filterIInventory.isUseableByPlayer(entityplayer);
+ return logic.isUseableByPlayer(entityplayer);
}
}
diff --git a/common/buildcraft/transport/gui/ContainerEmeraldPipe.java b/common/buildcraft/transport/gui/ContainerEmeraldPipe.java
index 79e2cc5d..6e892abf 100644
--- a/common/buildcraft/transport/gui/ContainerEmeraldPipe.java
+++ b/common/buildcraft/transport/gui/ContainerEmeraldPipe.java
@@ -7,24 +7,27 @@
*/
package buildcraft.transport.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.core.gui.slots.SlotPhantom;
+import buildcraft.transport.pipes.PipeItemsEmerald;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.core.gui.slots.SlotPhantom;
public class ContainerEmeraldPipe extends BuildCraftContainer {
- IInventory playerIInventory;
- IInventory filterIInventory;
+ private final PipeItemsEmerald pipe;
+ private final IInventory playerInv;
+ private final IInventory filterInv;
- public ContainerEmeraldPipe(IInventory playerInventory, IInventory filterInventory) {
- super(filterInventory.getSizeInventory());
- this.playerIInventory = playerInventory;
- this.filterIInventory = filterInventory;
+ public ContainerEmeraldPipe(IInventory playerInventory, PipeItemsEmerald pipe) {
+ super(pipe.getFilters().getSizeInventory());
+ this.pipe = pipe;
+ this.playerInv = playerInventory;
+ this.filterInv = pipe.getFilters();
for (int i = 0; i < 9; i++) {
- addSlotToContainer(new SlotPhantom(filterInventory, i, 8 + i * 18, 18));
+ addSlotToContainer(new SlotPhantom(filterInv, i, 8 + i * 18, 18));
}
for (int l = 0; l < 3; l++) {
@@ -40,6 +43,6 @@ public class ContainerEmeraldPipe extends BuildCraftContainer {
@Override
public boolean canInteractWith(EntityPlayer entityplayer) {
- return filterIInventory.isUseableByPlayer(entityplayer);
+ return pipe.isUseableByPlayer(entityplayer);
}
}
diff --git a/common/buildcraft/transport/gui/ContainerFilteredBuffer.java b/common/buildcraft/transport/gui/ContainerFilteredBuffer.java
index ac91bad6..4e9cb88f 100644
--- a/common/buildcraft/transport/gui/ContainerFilteredBuffer.java
+++ b/common/buildcraft/transport/gui/ContainerFilteredBuffer.java
@@ -7,14 +7,14 @@
*/
package buildcraft.transport.gui;
+import buildcraft.core.gui.BuildCraftContainer;
+import buildcraft.core.gui.slots.SlotPhantom;
import buildcraft.core.gui.slots.SlotValidated;
+import buildcraft.transport.TileFilteredBuffer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
-import buildcraft.core.gui.BuildCraftContainer;
-import buildcraft.core.gui.slots.SlotPhantom;
-import buildcraft.transport.TileFilteredBuffer;
/**
*
diff --git a/common/buildcraft/transport/gui/ContainerGateInterface.java b/common/buildcraft/transport/gui/ContainerGateInterface.java
index 21f97a8b..7564c4ff 100644
--- a/common/buildcraft/transport/gui/ContainerGateInterface.java
+++ b/common/buildcraft/transport/gui/ContainerGateInterface.java
@@ -9,17 +9,6 @@
package buildcraft.transport.gui;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.core.Position;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.IAction;
@@ -34,6 +23,17 @@ import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.transport.Pipe;
+import java.util.Iterator;
+import java.util.LinkedList;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.common.ForgeDirection;
public class ContainerGateInterface extends BuildCraftContainer {
@@ -459,7 +459,7 @@ public class ContainerGateInterface extends BuildCraftContainer {
}
/** GATE INFORMATION **/
- public String getGateGuiFile() {
+ public ResourceLocation getGateGuiFile() {
return pipe.gate.getGuiFile();
}
diff --git a/common/buildcraft/transport/gui/GuiDiamondPipe.java b/common/buildcraft/transport/gui/GuiDiamondPipe.java
index 32a88a58..bde7def0 100644
--- a/common/buildcraft/transport/gui/GuiDiamondPipe.java
+++ b/common/buildcraft/transport/gui/GuiDiamondPipe.java
@@ -7,39 +7,38 @@
*/
package buildcraft.transport.gui;
-import net.minecraft.inventory.IInventory;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
-import buildcraft.transport.TileGenericPipe;
import buildcraft.transport.pipes.PipeLogicDiamond;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiDiamondPipe extends GuiBuildCraft {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/filter.png");
IInventory playerInventory;
- PipeLogicDiamond filterInventory;
+ IInventory filterInventory;
- public GuiDiamondPipe(IInventory playerInventory, TileGenericPipe tile) {
- super(new ContainerDiamondPipe(playerInventory, (IInventory) tile.pipe.logic), (IInventory) tile.pipe.logic);
+ public GuiDiamondPipe(IInventory playerInventory, PipeLogicDiamond logic) {
+ super(new ContainerDiamondPipe(playerInventory, logic), logic.getFilters());
this.playerInventory = playerInventory;
- this.filterInventory = (PipeLogicDiamond) tile.pipe.logic;
+ this.filterInventory = logic.getFilters();
xSize = 175;
ySize = 225;
}
@Override
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
- fontRenderer.drawString(filterInventory.getFilters().getInvName(), getCenteredOffset(filterInventory.getFilters().getInvName()), 6, 0x404040);
+ fontRenderer.drawString(filterInventory.getInvName(), getCenteredOffset(filterInventory.getInvName()), 6, 0x404040);
fontRenderer.drawString(StringUtils.localize("gui.inventory"), 8, ySize - 97, 0x404040);
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/filter.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
diff --git a/common/buildcraft/transport/gui/GuiEmeraldPipe.java b/common/buildcraft/transport/gui/GuiEmeraldPipe.java
index 65fddd01..affc563f 100644
--- a/common/buildcraft/transport/gui/GuiEmeraldPipe.java
+++ b/common/buildcraft/transport/gui/GuiEmeraldPipe.java
@@ -7,39 +7,39 @@
*/
package buildcraft.transport.gui;
-import net.minecraft.inventory.IInventory;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
-import buildcraft.transport.TileGenericPipe;
import buildcraft.transport.pipes.PipeItemsEmerald;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiEmeraldPipe extends GuiBuildCraft {
- IInventory playerInventory;
- PipeItemsEmerald filterInventory;
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/filter_2.png");
- public GuiEmeraldPipe(IInventory playerInventory, TileGenericPipe tile) {
- super(new ContainerEmeraldPipe(playerInventory, (IInventory) tile.pipe), (IInventory) tile.pipe);
+ IInventory playerInventory;
+ IInventory filterInventory;
+
+ public GuiEmeraldPipe(IInventory playerInventory, PipeItemsEmerald pipe) {
+ super(new ContainerEmeraldPipe(playerInventory, pipe), pipe.getFilters());
this.playerInventory = playerInventory;
- this.filterInventory = (PipeItemsEmerald) tile.pipe;
+ this.filterInventory = pipe.getFilters();
xSize = 175;
ySize = 132;
}
@Override
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
- fontRenderer.drawString(filterInventory.getFilters().getInvName(), getCenteredOffset(filterInventory.getFilters().getInvName()), 6, 0x404040);
+ fontRenderer.drawString(filterInventory.getInvName(), getCenteredOffset(filterInventory.getInvName()), 6, 0x404040);
fontRenderer.drawString(StringUtils.localize("gui.inventory"), 8, ySize - 93, 0x404040);
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/filter_2.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
diff --git a/common/buildcraft/transport/gui/GuiFilteredBuffer.java b/common/buildcraft/transport/gui/GuiFilteredBuffer.java
index 2c43254f..617dce39 100644
--- a/common/buildcraft/transport/gui/GuiFilteredBuffer.java
+++ b/common/buildcraft/transport/gui/GuiFilteredBuffer.java
@@ -7,13 +7,14 @@
*/
package buildcraft.transport.gui;
-import org.lwjgl.opengl.GL11;
import buildcraft.core.DefaultProps;
import buildcraft.core.utils.StringUtils;
import buildcraft.transport.TileFilteredBuffer;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
/**
*
@@ -21,6 +22,7 @@ import net.minecraft.inventory.IInventory;
*/
public class GuiFilteredBuffer extends GuiContainer {
+ private static final ResourceLocation TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/filteredBuffer_gui.png");
IInventory playerInventory;
TileFilteredBuffer filteredBuffer;
@@ -37,7 +39,7 @@ public class GuiFilteredBuffer extends GuiContainer {
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(DefaultProps.TEXTURE_PATH_GUI + "/filteredBuffer_gui.png");
+ mc.renderEngine.func_110577_a(TEXTURE);
int cornerX = (width - xSize) / 2;
int cornerY = (height - ySize) / 2;
diff --git a/common/buildcraft/transport/gui/GuiGateInterface.java b/common/buildcraft/transport/gui/GuiGateInterface.java
index 70f69c47..90b5d68d 100644
--- a/common/buildcraft/transport/gui/GuiGateInterface.java
+++ b/common/buildcraft/transport/gui/GuiGateInterface.java
@@ -9,15 +9,6 @@
package buildcraft.transport.gui;
-import java.util.Iterator;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-
-import org.lwjgl.opengl.GL11;
-
-import buildcraft.BuildCraftCore;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.gates.ITriggerParameter;
@@ -28,6 +19,12 @@ import buildcraft.transport.Gate.GateKind;
import buildcraft.transport.Pipe;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.Iterator;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
public class GuiGateInterface extends GuiAdvancedInterface {
@@ -244,10 +241,10 @@ public class GuiGateInterface extends GuiAdvancedInterface {
_container.synchronize();
- String texture = _container.getGateGuiFile();
+ ResourceLocation texture = _container.getGateGuiFile();
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(texture);
+ mc.renderEngine.func_110577_a(texture);
int cornerX = (width - xSize) / 2;
int cornerY = (height - ySize) / 2;
@@ -263,18 +260,18 @@ public class GuiGateInterface extends GuiAdvancedInterface {
if (_container.getGateOrdinal() >= GateKind.AND_3.ordinal()) {
if (_container.triggerState[triggerTracker++]) {
- mc.renderEngine.bindTexture(texture);
+ mc.renderEngine.func_110577_a(texture);
drawTexturedModalRect(cornerX + slot.x + 35, cornerY + slot.y + 6, 176, 18, 18, 4);
}
if (trigger == null || !trigger.hasParameter()) {
- mc.renderEngine.bindTexture(texture);
+ mc.renderEngine.func_110577_a(texture);
drawTexturedModalRect(cornerX + slot.x + 17, cornerY + slot.y - 1, 176, 0, 18, 18);
}
} else if (_container.triggerState[triggerTracker++]) {
- mc.renderEngine.bindTexture(texture);
+ mc.renderEngine.func_110577_a(texture);
drawTexturedModalRect(cornerX + slot.x + 17, cornerY + slot.y + 6, 176, 18, 18, 4);
}
diff --git a/common/buildcraft/transport/network/PacketLiquidUpdate.java b/common/buildcraft/transport/network/PacketFluidUpdate.java
similarity index 72%
rename from common/buildcraft/transport/network/PacketLiquidUpdate.java
rename to common/buildcraft/transport/network/PacketFluidUpdate.java
index 7d602621..a2dd745b 100644
--- a/common/buildcraft/transport/network/PacketLiquidUpdate.java
+++ b/common/buildcraft/transport/network/PacketFluidUpdate.java
@@ -1,35 +1,34 @@
package buildcraft.transport.network;
+import buildcraft.core.network.PacketCoordinates;
+import buildcraft.core.network.PacketIds;
+import buildcraft.core.proxy.CoreProxy;
+import buildcraft.transport.PipeTransportFluids;
+import buildcraft.transport.TileGenericPipe;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.BitSet;
-
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidStack;
-import buildcraft.core.network.PacketCoordinates;
-import buildcraft.core.network.PacketIds;
-import buildcraft.core.proxy.CoreProxy;
-import buildcraft.transport.PipeTransportLiquids;
-import buildcraft.transport.TileGenericPipe;
+import net.minecraftforge.fluids.FluidStack;
-public class PacketLiquidUpdate extends PacketCoordinates {
+public class PacketFluidUpdate extends PacketCoordinates {
- public LiquidStack[] renderCache = new LiquidStack[ForgeDirection.values().length];
+ public FluidStack[] renderCache = new FluidStack[ForgeDirection.values().length];
public BitSet delta;
- public PacketLiquidUpdate(int xCoord, int yCoord, int zCoord) {
+ public PacketFluidUpdate(int xCoord, int yCoord, int zCoord) {
super(PacketIds.PIPE_LIQUID, xCoord, yCoord, zCoord);
}
- public PacketLiquidUpdate(int xCoord, int yCoord, int zCoord, boolean chunkPacket) {
+ public PacketFluidUpdate(int xCoord, int yCoord, int zCoord, boolean chunkPacket) {
super(PacketIds.PIPE_LIQUID, xCoord, yCoord, zCoord);
this.isChunkDataPacket = chunkPacket;
}
- public PacketLiquidUpdate() {
+ public PacketFluidUpdate() {
}
@Override
@@ -48,10 +47,10 @@ public class PacketLiquidUpdate extends PacketCoordinates {
if (pipe.pipe == null)
return;
- if (!(pipe.pipe.transport instanceof PipeTransportLiquids))
+ if (!(pipe.pipe.transport instanceof PipeTransportFluids))
return;
- PipeTransportLiquids transLiq = ((PipeTransportLiquids) pipe.pipe.transport);
+ PipeTransportFluids transLiq = ((PipeTransportFluids) pipe.pipe.transport);
renderCache = transLiq.renderCache;
@@ -64,13 +63,13 @@ public class PacketLiquidUpdate extends PacketCoordinates {
for (ForgeDirection dir : ForgeDirection.values()) {
if (delta.get(dir.ordinal() * 3 + 0)) {
int amt = renderCache[dir.ordinal()] != null ? renderCache[dir.ordinal()].amount : 0;
- renderCache[dir.ordinal()] = new LiquidStack(data.readShort(),amt,data.readShort());
+ renderCache[dir.ordinal()] = new FluidStack(data.readInt(),amt);
}
if (delta.get(dir.ordinal() * 3 + 2)) {
if (renderCache[dir.ordinal()] == null) {
- renderCache[dir.ordinal()] = new LiquidStack(0,0);
+ renderCache[dir.ordinal()] = new FluidStack(0,0);
}
- renderCache[dir.ordinal()].amount = Math.min(transLiq.getCapacity(), data.readShort());
+ renderCache[dir.ordinal()].amount = Math.min(transLiq.getCapacity(), data.readInt());
}
}
}
@@ -84,22 +83,20 @@ public class PacketLiquidUpdate extends PacketCoordinates {
data.write(dBytes);
for (ForgeDirection dir : ForgeDirection.values()) {
- LiquidStack liquid = renderCache[dir.ordinal()];
+ FluidStack liquid = renderCache[dir.ordinal()];
if (delta.get(dir.ordinal() * 3 + 0)) {
if (liquid != null) {
- data.writeShort(liquid.itemID);
- data.writeShort(liquid.itemMeta);
+ data.writeInt(liquid.fluidID);
} else {
- data.writeShort(0);
- data.writeShort(0);
+ data.writeInt(0);
}
}
if (delta.get(dir.ordinal() * 3 + 2)) {
if (liquid != null) {
- data.writeShort(liquid.amount);
+ data.writeInt(liquid.amount);
} else {
- data.writeShort(0);
+ data.writeInt(0);
}
}
}
diff --git a/common/buildcraft/transport/network/PacketHandlerTransport.java b/common/buildcraft/transport/network/PacketHandlerTransport.java
index 6d4c1623..e6b35076 100644
--- a/common/buildcraft/transport/network/PacketHandlerTransport.java
+++ b/common/buildcraft/transport/network/PacketHandlerTransport.java
@@ -1,15 +1,5 @@
package buildcraft.transport.network;
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.inventory.Container;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
import buildcraft.core.network.PacketCoordinates;
import buildcraft.core.network.PacketIds;
import buildcraft.core.network.PacketSlotChange;
@@ -22,6 +12,15 @@ import buildcraft.transport.pipes.PipeItemsEmerald;
import buildcraft.transport.pipes.PipeLogicDiamond;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.inventory.Container;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
public class PacketHandlerTransport implements IPacketHandler {
@@ -41,8 +40,8 @@ public class PacketHandlerTransport implements IPacketHandler {
onPacketPower((EntityPlayer) player, packetPower);
break;
case PacketIds.PIPE_LIQUID:
- PacketLiquidUpdate packetLiquid = new PacketLiquidUpdate();
- packetLiquid.readData(data);
+ PacketFluidUpdate packetFluid = new PacketFluidUpdate();
+ packetFluid.readData(data);
break;
case PacketIds.PIPE_DESCRIPTION:
PipeRenderStatePacket descPacket = new PipeRenderStatePacket();
diff --git a/common/buildcraft/transport/network/PacketPipeTransportContent.java b/common/buildcraft/transport/network/PacketPipeTransportContent.java
index 0c587782..39bba5df 100644
--- a/common/buildcraft/transport/network/PacketPipeTransportContent.java
+++ b/common/buildcraft/transport/network/PacketPipeTransportContent.java
@@ -1,14 +1,13 @@
package buildcraft.transport.network;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import net.minecraft.util.MathHelper;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.core.network.BuildCraftPacket;
import buildcraft.core.network.PacketIds;
import buildcraft.transport.EntityData;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.common.ForgeDirection;
public class PacketPipeTransportContent extends BuildCraftPacket {
diff --git a/common/buildcraft/transport/network/PacketPipeTransportNBT.java b/common/buildcraft/transport/network/PacketPipeTransportNBT.java
index 05abc2b0..4c24db40 100644
--- a/common/buildcraft/transport/network/PacketPipeTransportNBT.java
+++ b/common/buildcraft/transport/network/PacketPipeTransportNBT.java
@@ -1,12 +1,11 @@
package buildcraft.transport.network;
+import buildcraft.core.network.PacketCoordinates;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
-import buildcraft.core.network.PacketCoordinates;
public class PacketPipeTransportNBT extends PacketCoordinates {
diff --git a/common/buildcraft/transport/network/PacketPowerUpdate.java b/common/buildcraft/transport/network/PacketPowerUpdate.java
index 5bc5c94f..64f86e35 100644
--- a/common/buildcraft/transport/network/PacketPowerUpdate.java
+++ b/common/buildcraft/transport/network/PacketPowerUpdate.java
@@ -1,11 +1,10 @@
package buildcraft.transport.network;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
import buildcraft.core.network.PacketCoordinates;
import buildcraft.core.network.PacketIds;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
public class PacketPowerUpdate extends PacketCoordinates {
diff --git a/common/buildcraft/transport/network/PacketSimpleId.java b/common/buildcraft/transport/network/PacketSimpleId.java
index ad39d4fd..7f7a2fdd 100644
--- a/common/buildcraft/transport/network/PacketSimpleId.java
+++ b/common/buildcraft/transport/network/PacketSimpleId.java
@@ -1,11 +1,10 @@
package buildcraft.transport.network;
+import buildcraft.core.network.PacketCoordinates;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-import buildcraft.core.network.PacketCoordinates;
-
public class PacketSimpleId extends PacketCoordinates {
public int entityId;
diff --git a/common/buildcraft/transport/network/PipeRenderStatePacket.java b/common/buildcraft/transport/network/PipeRenderStatePacket.java
index 7317ad7d..ffe4b691 100644
--- a/common/buildcraft/transport/network/PipeRenderStatePacket.java
+++ b/common/buildcraft/transport/network/PipeRenderStatePacket.java
@@ -1,12 +1,11 @@
package buildcraft.transport.network;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
import buildcraft.core.network.PacketCoordinates;
import buildcraft.core.network.PacketIds;
import buildcraft.transport.PipeRenderState;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
public class PipeRenderStatePacket extends PacketCoordinates {
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsCobblestone.java b/common/buildcraft/transport/pipes/PipeFluidsCobblestone.java
similarity index 75%
rename from common/buildcraft/transport/pipes/PipeLiquidsCobblestone.java
rename to common/buildcraft/transport/pipes/PipeFluidsCobblestone.java
index c4354404..d2acb38e 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsCobblestone.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsCobblestone.java
@@ -8,19 +8,19 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
-public class PipeLiquidsCobblestone extends Pipe {
+public class PipeFluidsCobblestone extends Pipe {
- public PipeLiquidsCobblestone(int itemID) {
- super(new PipeTransportLiquids(), new PipeLogicCobblestone(), itemID);
+ public PipeFluidsCobblestone(int itemID) {
+ super(new PipeTransportFluids(), new PipeLogicCobblestone(), itemID);
}
@Override
@@ -31,6 +31,6 @@ public class PipeLiquidsCobblestone extends Pipe {
@Override
public int getIconIndex(ForgeDirection direction) {
- return PipeIconProvider.TYPE.PipeLiquidsCobblestone.ordinal();
+ return PipeIconProvider.TYPE.PipeFluidsCobblestone.ordinal();
}
}
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsEmerald.java b/common/buildcraft/transport/pipes/PipeFluidsEmerald.java
similarity index 61%
rename from common/buildcraft/transport/pipes/PipeLiquidsEmerald.java
rename to common/buildcraft/transport/pipes/PipeFluidsEmerald.java
index feec1f9d..1c41cc7b 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsEmerald.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsEmerald.java
@@ -9,21 +9,21 @@
package buildcraft.transport.pipes;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
/**
*
* @author CovertJaguar
*/
-public class PipeLiquidsEmerald extends PipeLiquidsWood {
+public class PipeFluidsEmerald extends PipeFluidsWood {
- public PipeLiquidsEmerald(int itemID) {
+ public PipeFluidsEmerald(int itemID) {
super(new PipeLogicEmerald(), itemID);
- standardIconIndex = PipeIconProvider.TYPE.PipeLiquidsEmerald_Standard.ordinal();
+ standardIconIndex = PipeIconProvider.TYPE.PipeFluidsEmerald_Standard.ordinal();
solidIconIndex = PipeIconProvider.TYPE.PipeAllEmerald_Solid.ordinal();
- ((PipeTransportLiquids) transport).flowRate = 40;
- ((PipeTransportLiquids) transport).travelDelay = 4;
+ ((PipeTransportFluids) transport).flowRate = 40;
+ ((PipeTransportFluids) transport).travelDelay = 4;
}
}
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsGold.java b/common/buildcraft/transport/pipes/PipeFluidsGold.java
similarity index 71%
rename from common/buildcraft/transport/pipes/PipeLiquidsGold.java
rename to common/buildcraft/transport/pipes/PipeFluidsGold.java
index 664c1d8c..f62f1027 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsGold.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsGold.java
@@ -8,22 +8,22 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
-public class PipeLiquidsGold extends Pipe {
+public class PipeFluidsGold extends Pipe {
- public PipeLiquidsGold(int itemID) {
- super(new PipeTransportLiquids(), new PipeLogicGold(), itemID);
+ public PipeFluidsGold(int itemID) {
+ super(new PipeTransportFluids(), new PipeLogicGold(), itemID);
- ((PipeTransportLiquids) transport).flowRate = 40;
- ((PipeTransportLiquids) transport).travelDelay = 4;
+ ((PipeTransportFluids) transport).flowRate = 40;
+ ((PipeTransportFluids) transport).travelDelay = 4;
}
@Override
@@ -34,7 +34,7 @@ public class PipeLiquidsGold extends Pipe {
@Override
public int getIconIndex(ForgeDirection direction) {
- return PipeIconProvider.TYPE.PipeLiquidsGold.ordinal();
+ return PipeIconProvider.TYPE.PipeFluidsGold.ordinal();
}
}
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsIron.java b/common/buildcraft/transport/pipes/PipeFluidsIron.java
similarity index 81%
rename from common/buildcraft/transport/pipes/PipeLiquidsIron.java
rename to common/buildcraft/transport/pipes/PipeFluidsIron.java
index a634416a..342c730d 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsIron.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsIron.java
@@ -8,23 +8,23 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
-public class PipeLiquidsIron extends Pipe {
+public class PipeFluidsIron extends Pipe {
- protected int standardIconIndex = PipeIconProvider.TYPE.PipeLiquidsIron_Standard.ordinal();
+ protected int standardIconIndex = PipeIconProvider.TYPE.PipeFluidsIron_Standard.ordinal();
protected int solidIconIndex = PipeIconProvider.TYPE.PipeAllIron_Solid.ordinal();
- public PipeLiquidsIron(int itemID) {
- super(new PipeTransportLiquids(), new PipeLogicIron(), itemID);
+ public PipeFluidsIron(int itemID) {
+ super(new PipeTransportFluids(), new PipeLogicIron(), itemID);
}
@Override
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsSandstone.java b/common/buildcraft/transport/pipes/PipeFluidsSandstone.java
similarity index 63%
rename from common/buildcraft/transport/pipes/PipeLiquidsSandstone.java
rename to common/buildcraft/transport/pipes/PipeFluidsSandstone.java
index 65fbf405..24661641 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsSandstone.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsSandstone.java
@@ -9,21 +9,21 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
-import buildcraft.transport.IPipeTransportLiquidsHook;
+import buildcraft.transport.IPipeTransportFluidsHook;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import buildcraft.transport.TileGenericPipe;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
-public class PipeLiquidsSandstone extends Pipe implements IPipeTransportLiquidsHook {
- public PipeLiquidsSandstone(int itemID) {
- super(new PipeTransportLiquids(), new PipeLogicSandstone(), itemID);
+public class PipeFluidsSandstone extends Pipe implements IPipeTransportFluidsHook {
+ public PipeFluidsSandstone(int itemID) {
+ super(new PipeTransportFluids(), new PipeLogicSandstone(), itemID);
}
@Override
@@ -34,17 +34,17 @@ public class PipeLiquidsSandstone extends Pipe implements IPipeTransportLiquidsH
@Override
public int getIconIndex(ForgeDirection direction) {
- return PipeIconProvider.TYPE.PipeLiquidsSandstone.ordinal();
+ return PipeIconProvider.TYPE.PipeFluidsSandstone.ordinal();
}
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
if (container.tileBuffer == null || container.tileBuffer[from.ordinal()] == null)
return 0;
if (!(container.tileBuffer[from.ordinal()].getTile() instanceof TileGenericPipe))
return 0;
- return ((PipeTransportLiquids) this.transport).getTanks(ForgeDirection.UNKNOWN)[from.ordinal()].fill(resource, doFill);
+ return ((PipeTransportFluids) this.transport).fill(from, resource, doFill);
}
}
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsStone.java b/common/buildcraft/transport/pipes/PipeFluidsStone.java
similarity index 73%
rename from common/buildcraft/transport/pipes/PipeLiquidsStone.java
rename to common/buildcraft/transport/pipes/PipeFluidsStone.java
index cd18c34d..d3deb0fe 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsStone.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsStone.java
@@ -8,21 +8,21 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
-public class PipeLiquidsStone extends Pipe {
+public class PipeFluidsStone extends Pipe {
- public PipeLiquidsStone(int itemID) {
- super(new PipeTransportLiquids(), new PipeLogicStone(), itemID);
+ public PipeFluidsStone(int itemID) {
+ super(new PipeTransportFluids(), new PipeLogicStone(), itemID);
- // ((PipeTransportLiquids) transport).flowRate = 40;
+ // ((PipeTransportFluids) transport).flowRate = 40;
}
@Override
@@ -33,7 +33,7 @@ public class PipeLiquidsStone extends Pipe {
@Override
public int getIconIndex(ForgeDirection direction) {
- return PipeIconProvider.TYPE.PipeLiquidsStone.ordinal();
+ return PipeIconProvider.TYPE.PipeFluidsStone.ordinal();
}
}
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsVoid.java b/common/buildcraft/transport/pipes/PipeFluidsVoid.java
similarity index 64%
rename from common/buildcraft/transport/pipes/PipeLiquidsVoid.java
rename to common/buildcraft/transport/pipes/PipeFluidsVoid.java
index 8640e00e..985f0936 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsVoid.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsVoid.java
@@ -9,21 +9,21 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
-import buildcraft.transport.IPipeTransportLiquidsHook;
+import buildcraft.transport.IPipeTransportFluidsHook;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
-public class PipeLiquidsVoid extends Pipe implements IPipeTransportLiquidsHook {
+public class PipeFluidsVoid extends Pipe implements IPipeTransportFluidsHook {
- public PipeLiquidsVoid(int itemID) {
- super(new PipeTransportLiquids(), new PipeLogicVoid(), itemID);
+ public PipeFluidsVoid(int itemID) {
+ super(new PipeTransportFluids(), new PipeLogicVoid(), itemID);
}
@Override
@@ -34,11 +34,11 @@ public class PipeLiquidsVoid extends Pipe implements IPipeTransportLiquidsHook {
@Override
public int getIconIndex(ForgeDirection direction) {
- return PipeIconProvider.TYPE.PipeLiquidsVoid.ordinal();
+ return PipeIconProvider.TYPE.PipeFluidsVoid.ordinal();
}
@Override
- public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
+ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
return resource.amount;
}
}
diff --git a/common/buildcraft/transport/pipes/PipeLiquidsWood.java b/common/buildcraft/transport/pipes/PipeFluidsWood.java
similarity index 72%
rename from common/buildcraft/transport/pipes/PipeLiquidsWood.java
rename to common/buildcraft/transport/pipes/PipeFluidsWood.java
index 7ec72aa8..315c7e65 100644
--- a/common/buildcraft/transport/pipes/PipeLiquidsWood.java
+++ b/common/buildcraft/transport/pipes/PipeFluidsWood.java
@@ -8,12 +8,6 @@
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ITankContainer;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -25,29 +19,35 @@ import buildcraft.api.transport.PipeManager;
import buildcraft.core.network.TileNetworkData;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportLiquids;
+import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidHandler;
-public class PipeLiquidsWood extends Pipe implements IPowerReceptor {
+public class PipeFluidsWood extends Pipe implements IPowerReceptor {
public @TileNetworkData
int liquidToExtract;
private PowerHandler powerHandler;
- protected int standardIconIndex = PipeIconProvider.TYPE.PipeLiquidsWood_Standard.ordinal();
+ protected int standardIconIndex = PipeIconProvider.TYPE.PipeFluidsWood_Standard.ordinal();
protected int solidIconIndex = PipeIconProvider.TYPE.PipeAllWood_Solid.ordinal();
long lastMining = 0;
boolean lastPower = false;
- public PipeLiquidsWood(int itemID) {
+ public PipeFluidsWood(int itemID) {
this(new PipeLogicWood(), itemID);
}
-
- protected PipeLiquidsWood(PipeLogic logic, int itemID) {
- super(new PipeTransportLiquids(), logic, itemID);
+
+ protected PipeFluidsWood(PipeLogic logic, int itemID) {
+ super(new PipeTransportFluids(), logic, itemID);
powerHandler = new PowerHandler(this, Type.MACHINE);
powerHandler.configure(1, 100, 1, 250);
@@ -73,12 +73,12 @@ public class PipeLiquidsWood extends Pipe implements IPowerReceptor {
pos.moveForwards(1);
TileEntity tile = w.getBlockTileEntity((int) pos.x, (int) pos.y, (int) pos.z);
- if (tile instanceof ITankContainer) {
- if (!PipeManager.canExtractLiquids(this, w, (int) pos.x, (int) pos.y, (int) pos.z))
+ if (tile instanceof IFluidHandler) {
+ if (!PipeManager.canExtractFluids(this, w, (int) pos.x, (int) pos.y, (int) pos.z))
return;
- if (liquidToExtract <= LiquidContainerRegistry.BUCKET_VOLUME) {
- liquidToExtract += powerHandler.useEnergy(1, 1, true) * LiquidContainerRegistry.BUCKET_VOLUME;
+ if (liquidToExtract <= FluidContainerRegistry.BUCKET_VOLUME) {
+ liquidToExtract += powerHandler.useEnergy(1, 1, true) * FluidContainerRegistry.BUCKET_VOLUME;
}
}
powerHandler.useEnergy(1, 1, true);
@@ -101,16 +101,16 @@ public class PipeLiquidsWood extends Pipe implements IPowerReceptor {
TileEntity tile = worldObj.getBlockTileEntity((int) pos.x, (int) pos.y, (int) pos.z);
- if (tile instanceof ITankContainer) {
- ITankContainer container = (ITankContainer) tile;
+ if (tile instanceof IFluidHandler) {
+ IFluidHandler container = (IFluidHandler) tile;
- int flowRate = ((PipeTransportLiquids) transport).flowRate;
+ int flowRate = ((PipeTransportFluids) transport).flowRate;
- LiquidStack extracted = container.drain(pos.orientation.getOpposite(), liquidToExtract > flowRate ? flowRate : liquidToExtract, false);
+ FluidStack extracted = container.drain(pos.orientation.getOpposite(), liquidToExtract > flowRate ? flowRate : liquidToExtract, false);
int inserted = 0;
if (extracted != null) {
- inserted = ((PipeTransportLiquids) transport).fill(pos.orientation, extracted, true);
+ inserted = ((PipeTransportFluids) transport).fill(pos.orientation, extracted, true);
container.drain(pos.orientation.getOpposite(), inserted, true);
}
diff --git a/common/buildcraft/transport/pipes/PipeItemsCobblestone.java b/common/buildcraft/transport/pipes/PipeItemsCobblestone.java
index 5c8dca15..4ea3c8d3 100644
--- a/common/buildcraft/transport/pipes/PipeItemsCobblestone.java
+++ b/common/buildcraft/transport/pipes/PipeItemsCobblestone.java
@@ -8,7 +8,6 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -16,6 +15,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsCobblestone extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipeItemsDiamond.java b/common/buildcraft/transport/pipes/PipeItemsDiamond.java
index c3bc5fa8..01a177ab 100644
--- a/common/buildcraft/transport/pipes/PipeItemsDiamond.java
+++ b/common/buildcraft/transport/pipes/PipeItemsDiamond.java
@@ -8,16 +8,6 @@
package buildcraft.transport.pipes;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.util.LinkedList;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTBase;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -29,6 +19,15 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.LinkedList;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsDiamond extends Pipe implements IPipeTransportItemsHook, IClientState {
diff --git a/common/buildcraft/transport/pipes/PipeItemsEmerald.java b/common/buildcraft/transport/pipes/PipeItemsEmerald.java
index bb3bb2a7..9d4e9403 100644
--- a/common/buildcraft/transport/pipes/PipeItemsEmerald.java
+++ b/common/buildcraft/transport/pipes/PipeItemsEmerald.java
@@ -1,17 +1,26 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.transport.pipes;
+import buildcraft.BuildCraftTransport;
+import buildcraft.api.inventory.ISelectiveInventory;
+import buildcraft.api.inventory.ISpecialInventory;
+import buildcraft.core.GuiIds;
+import buildcraft.core.inventory.SimpleInventory;
+import buildcraft.core.network.IClientState;
+import buildcraft.core.proxy.CoreProxy;
+import buildcraft.core.utils.Utils;
+import buildcraft.transport.BlockGenericPipe;
+import buildcraft.transport.PipeIconProvider;
+import buildcraft.transport.PipeTransportItems;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
@@ -20,17 +29,6 @@ import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.BuildCraftTransport;
-import buildcraft.api.inventory.ISelectiveInventory;
-import buildcraft.api.inventory.ISpecialInventory;
-import buildcraft.core.GuiIds;
-import buildcraft.core.network.IClientState;
-import buildcraft.core.proxy.CoreProxy;
-import buildcraft.core.inventory.SimpleInventory;
-import buildcraft.core.utils.Utils;
-import buildcraft.transport.BlockGenericPipe;
-import buildcraft.transport.PipeIconProvider;
-import buildcraft.transport.PipeTransportItems;
public class PipeItemsEmerald extends PipeItemsWood implements IClientState {
@@ -88,36 +86,36 @@ public class PipeItemsEmerald extends PipeItemsWood implements IClientState {
}
return stacks;
- /* ISPECIALINVENTORY */
+ /* ISPECIALINVENTORY */
} else if (inventory instanceof ISpecialInventory) {
- ItemStack[] stacks = ((ISpecialInventory) inventory).extractItem(false, from, (int) powerHandler.getEnergyStored());
- if (stacks != null) {
- for (ItemStack stack : stacks) {
- if(stack == null)
- continue;
+ ItemStack[] stacks = ((ISpecialInventory) inventory).extractItem(false, from, (int) powerHandler.getEnergyStored());
+ if (stacks != null) {
+ for (ItemStack stack : stacks) {
+ if (stack == null)
+ continue;
- boolean matches = false;
- for (int i = 0; i < filters.getSizeInventory(); i++) {
- ItemStack filter = filters.getStackInSlot(i);
- if (filter != null && filter.isItemEqual(stack)) {
- matches = true;
- break;
- }
- }
- if (!matches) {
- return null;
+ boolean matches = false;
+ for (int i = 0; i < filters.getSizeInventory(); i++) {
+ ItemStack filter = filters.getStackInSlot(i);
+ if (filter != null && filter.isItemEqual(stack)) {
+ matches = true;
+ break;
}
}
- if (doRemove) {
- stacks = ((ISpecialInventory) inventory).extractItem(true, from, (int) powerHandler.getEnergyStored());
- for (ItemStack stack : stacks) {
- if (stack != null) {
- powerHandler.useEnergy(stack.stackSize, stack.stackSize, true);
- }
+ if (!matches) {
+ return null;
+ }
+ }
+ if (doRemove) {
+ stacks = ((ISpecialInventory) inventory).extractItem(true, from, (int) powerHandler.getEnergyStored());
+ for (ItemStack stack : stacks) {
+ if (stack != null) {
+ powerHandler.useEnergy(stack.stackSize, stack.stackSize, true);
}
}
}
- return stacks;
+ }
+ return stacks;
} else {
@@ -208,8 +206,12 @@ public class PipeItemsEmerald extends PipeItemsWood implements IClientState {
readFromNBT((NBTTagCompound) nbt);
}
}
-
- public IInventory getFilters(){
+
+ public IInventory getFilters() {
return filters;
}
+
+ public boolean isUseableByPlayer(EntityPlayer player) {
+ return worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) == container;
+ }
}
diff --git a/common/buildcraft/transport/pipes/PipeItemsGold.java b/common/buildcraft/transport/pipes/PipeItemsGold.java
index 7e89fb09..19a573e4 100644
--- a/common/buildcraft/transport/pipes/PipeItemsGold.java
+++ b/common/buildcraft/transport/pipes/PipeItemsGold.java
@@ -8,9 +8,6 @@
package buildcraft.transport.pipes;
-import java.util.LinkedList;
-
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -22,6 +19,8 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.LinkedList;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsGold extends Pipe implements IPipeTransportItemsHook {
diff --git a/common/buildcraft/transport/pipes/PipeItemsIron.java b/common/buildcraft/transport/pipes/PipeItemsIron.java
index 949b1e3b..f501edfe 100644
--- a/common/buildcraft/transport/pipes/PipeItemsIron.java
+++ b/common/buildcraft/transport/pipes/PipeItemsIron.java
@@ -8,7 +8,6 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -16,6 +15,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsIron extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipeItemsObsidian.java b/common/buildcraft/transport/pipes/PipeItemsObsidian.java
index aa2a9164..41cdc245 100644
--- a/common/buildcraft/transport/pipes/PipeItemsObsidian.java
+++ b/common/buildcraft/transport/pipes/PipeItemsObsidian.java
@@ -8,17 +8,6 @@
package buildcraft.transport.pipes;
-import java.util.List;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.item.EntityMinecartChest;
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -35,6 +24,16 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.List;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.item.EntityMinecartChest;
+import net.minecraft.entity.projectile.EntityArrow;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsObsidian extends Pipe implements IPowerReceptor {
diff --git a/common/buildcraft/transport/pipes/PipeItemsQuartz.java b/common/buildcraft/transport/pipes/PipeItemsQuartz.java
index 8a4fe7b9..0f77492c 100644
--- a/common/buildcraft/transport/pipes/PipeItemsQuartz.java
+++ b/common/buildcraft/transport/pipes/PipeItemsQuartz.java
@@ -7,9 +7,6 @@
*/
package buildcraft.transport.pipes;
-import java.util.LinkedList;
-
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -21,6 +18,8 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.LinkedList;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsQuartz extends Pipe implements IPipeTransportItemsHook {
diff --git a/common/buildcraft/transport/pipes/PipeItemsSandstone.java b/common/buildcraft/transport/pipes/PipeItemsSandstone.java
index 84c2d63e..0d241dab 100644
--- a/common/buildcraft/transport/pipes/PipeItemsSandstone.java
+++ b/common/buildcraft/transport/pipes/PipeItemsSandstone.java
@@ -9,7 +9,6 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -17,6 +16,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsSandstone extends Pipe {
public PipeItemsSandstone(int itemID) {
diff --git a/common/buildcraft/transport/pipes/PipeItemsStone.java b/common/buildcraft/transport/pipes/PipeItemsStone.java
index 86029578..6b5b778f 100644
--- a/common/buildcraft/transport/pipes/PipeItemsStone.java
+++ b/common/buildcraft/transport/pipes/PipeItemsStone.java
@@ -8,9 +8,6 @@
package buildcraft.transport.pipes;
-import java.util.LinkedList;
-
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -22,6 +19,8 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.LinkedList;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsStone extends Pipe implements IPipeTransportItemsHook {
diff --git a/common/buildcraft/transport/pipes/PipeItemsVoid.java b/common/buildcraft/transport/pipes/PipeItemsVoid.java
index 90271b02..f17da1ee 100644
--- a/common/buildcraft/transport/pipes/PipeItemsVoid.java
+++ b/common/buildcraft/transport/pipes/PipeItemsVoid.java
@@ -9,8 +9,6 @@
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.EntityData;
@@ -20,6 +18,8 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsVoid extends Pipe implements IItemTravelingHook {
diff --git a/common/buildcraft/transport/pipes/PipeItemsWood.java b/common/buildcraft/transport/pipes/PipeItemsWood.java
index 93515f67..b6e69cbe 100644
--- a/common/buildcraft/transport/pipes/PipeItemsWood.java
+++ b/common/buildcraft/transport/pipes/PipeItemsWood.java
@@ -7,11 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
@@ -30,6 +25,11 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.ISidedInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeItemsWood extends Pipe implements IPowerReceptor {
diff --git a/common/buildcraft/transport/pipes/PipeLogic.java b/common/buildcraft/transport/pipes/PipeLogic.java
index 16b32c05..83f40079 100644
--- a/common/buildcraft/transport/pipes/PipeLogic.java
+++ b/common/buildcraft/transport/pipes/PipeLogic.java
@@ -9,13 +9,13 @@
package buildcraft.transport.pipes;
+import buildcraft.core.IDropControlInventory;
+import buildcraft.transport.TileGenericPipe;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.core.IDropControlInventory;
-import buildcraft.transport.TileGenericPipe;
public class PipeLogic implements IDropControlInventory {
diff --git a/common/buildcraft/transport/pipes/PipeLogicCobblestone.java b/common/buildcraft/transport/pipes/PipeLogicCobblestone.java
index a75d1a65..b9f2595a 100644
--- a/common/buildcraft/transport/pipes/PipeLogicCobblestone.java
+++ b/common/buildcraft/transport/pipes/PipeLogicCobblestone.java
@@ -7,10 +7,10 @@
*/
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.transport.Pipe;
import buildcraft.transport.TileGenericPipe;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeLogicCobblestone extends PipeLogic {
diff --git a/common/buildcraft/transport/pipes/PipeLogicDiamond.java b/common/buildcraft/transport/pipes/PipeLogicDiamond.java
index 114ebccc..d21caf23 100644
--- a/common/buildcraft/transport/pipes/PipeLogicDiamond.java
+++ b/common/buildcraft/transport/pipes/PipeLogicDiamond.java
@@ -7,15 +7,15 @@
*/
package buildcraft.transport.pipes;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.nbt.NBTTagCompound;
import buildcraft.BuildCraftTransport;
import buildcraft.core.GuiIds;
-import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.inventory.SimpleInventory;
+import buildcraft.core.proxy.CoreProxy;
import buildcraft.transport.BlockGenericPipe;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
+import net.minecraft.nbt.NBTTagCompound;
public class PipeLogicDiamond extends PipeLogic {
@@ -56,4 +56,8 @@ public class PipeLogicDiamond extends PipeLogic {
public IInventory getFilters() {
return filters;
}
+
+ public boolean isUseableByPlayer(EntityPlayer player) {
+ return worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) == container;
+ }
}
diff --git a/common/buildcraft/transport/pipes/PipeLogicIron.java b/common/buildcraft/transport/pipes/PipeLogicIron.java
index fcb64274..428a7bc2 100644
--- a/common/buildcraft/transport/pipes/PipeLogicIron.java
+++ b/common/buildcraft/transport/pipes/PipeLogicIron.java
@@ -9,16 +9,16 @@
package buildcraft.transport.pipes;
+import buildcraft.api.tools.IToolWrench;
+import buildcraft.api.transport.IPipeEntry;
+import buildcraft.transport.Pipe;
+import buildcraft.transport.TileGenericPipe;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ITankContainer;
-import buildcraft.api.tools.IToolWrench;
-import buildcraft.api.transport.IPipeEntry;
-import buildcraft.transport.Pipe;
-import buildcraft.transport.TileGenericPipe;
+import net.minecraftforge.fluids.IFluidHandler;
public class PipeLogicIron extends PipeLogic {
@@ -55,7 +55,7 @@ public class PipeLogicIron extends PipeLogic {
}
}
- if (tile instanceof IPipeEntry || tile instanceof IInventory || tile instanceof ITankContainer || tile instanceof TileGenericPipe) {
+ if (tile instanceof IPipeEntry || tile instanceof IInventory || tile instanceof IFluidHandler || tile instanceof TileGenericPipe) {
worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, nextMetadata,0);
container.scheduleRenderUpdate();
diff --git a/common/buildcraft/transport/pipes/PipeLogicObsidian.java b/common/buildcraft/transport/pipes/PipeLogicObsidian.java
index 8cb8dffb..dd9ecec4 100644
--- a/common/buildcraft/transport/pipes/PipeLogicObsidian.java
+++ b/common/buildcraft/transport/pipes/PipeLogicObsidian.java
@@ -9,10 +9,10 @@
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.transport.Pipe;
import buildcraft.transport.TileGenericPipe;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeLogicObsidian extends PipeLogic {
diff --git a/common/buildcraft/transport/pipes/PipeLogicQuartz.java b/common/buildcraft/transport/pipes/PipeLogicQuartz.java
index 39c390f8..253e1edc 100644
--- a/common/buildcraft/transport/pipes/PipeLogicQuartz.java
+++ b/common/buildcraft/transport/pipes/PipeLogicQuartz.java
@@ -9,10 +9,10 @@
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.transport.Pipe;
import buildcraft.transport.TileGenericPipe;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeLogicQuartz extends PipeLogic {
diff --git a/common/buildcraft/transport/pipes/PipeLogicSandstone.java b/common/buildcraft/transport/pipes/PipeLogicSandstone.java
index 41be61a4..e44d944a 100644
--- a/common/buildcraft/transport/pipes/PipeLogicSandstone.java
+++ b/common/buildcraft/transport/pipes/PipeLogicSandstone.java
@@ -9,9 +9,9 @@
package buildcraft.transport.pipes;
+import buildcraft.transport.TileGenericPipe;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.transport.TileGenericPipe;
public class PipeLogicSandstone extends PipeLogic {
@Override
diff --git a/common/buildcraft/transport/pipes/PipeLogicStone.java b/common/buildcraft/transport/pipes/PipeLogicStone.java
index 86497506..b03dd0bd 100644
--- a/common/buildcraft/transport/pipes/PipeLogicStone.java
+++ b/common/buildcraft/transport/pipes/PipeLogicStone.java
@@ -9,10 +9,10 @@
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.transport.Pipe;
import buildcraft.transport.TileGenericPipe;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeLogicStone extends PipeLogic {
diff --git a/common/buildcraft/transport/pipes/PipeLogicStripes.java b/common/buildcraft/transport/pipes/PipeLogicStripes.java
index a810e731..69b3063c 100644
--- a/common/buildcraft/transport/pipes/PipeLogicStripes.java
+++ b/common/buildcraft/transport/pipes/PipeLogicStripes.java
@@ -9,10 +9,10 @@
package buildcraft.transport.pipes;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.transport.Pipe;
import buildcraft.transport.TileGenericPipe;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class PipeLogicStripes extends PipeLogic {
diff --git a/common/buildcraft/transport/pipes/PipeLogicWood.java b/common/buildcraft/transport/pipes/PipeLogicWood.java
index 3953a39c..13ca3143 100644
--- a/common/buildcraft/transport/pipes/PipeLogicWood.java
+++ b/common/buildcraft/transport/pipes/PipeLogicWood.java
@@ -9,18 +9,18 @@
package buildcraft.transport.pipes;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ITankContainer;
import buildcraft.api.tools.IToolWrench;
import buildcraft.api.transport.PipeManager;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import buildcraft.transport.Pipe;
import buildcraft.transport.TileGenericPipe;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.IFluidHandler;
public class PipeLogicWood extends PipeLogic {
@@ -35,7 +35,7 @@ public class PipeLogicWood extends PipeLogic {
if (isInput(tile))
if (PipeManager.canExtractItems(container.getPipe(), tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord)
- || PipeManager.canExtractLiquids(container.getPipe(), tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord)) {
+ || PipeManager.canExtractFluids(container.getPipe(), tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord)) {
newMeta = o.ordinal();
break;
}
@@ -49,7 +49,7 @@ public class PipeLogicWood extends PipeLogic {
}
public boolean isInput(TileEntity tile) {
- return !(tile instanceof TileGenericPipe) && (tile instanceof IInventory || tile instanceof ITankContainer)
+ return !(tile instanceof TileGenericPipe) && (tile instanceof IInventory || tile instanceof IFluidHandler)
&& Utils.checkPipesConnections(container, tile);
}
@@ -110,7 +110,7 @@ public class PipeLogicWood extends PipeLogic {
@Override
public boolean outputOpen(ForgeDirection to) {
- if (this.container.pipe instanceof PipeLiquidsWood) {
+ if (this.container.pipe instanceof PipeFluidsWood) {
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
return meta != to.ordinal();
}
diff --git a/common/buildcraft/transport/pipes/PipePowerCobblestone.java b/common/buildcraft/transport/pipes/PipePowerCobblestone.java
index b8ed7ab3..b4b9b2f4 100644
--- a/common/buildcraft/transport/pipes/PipePowerCobblestone.java
+++ b/common/buildcraft/transport/pipes/PipePowerCobblestone.java
@@ -7,7 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -15,6 +14,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipePowerCobblestone extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipePowerDiamond.java b/common/buildcraft/transport/pipes/PipePowerDiamond.java
index 54f8103b..42513a38 100644
--- a/common/buildcraft/transport/pipes/PipePowerDiamond.java
+++ b/common/buildcraft/transport/pipes/PipePowerDiamond.java
@@ -7,7 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -15,6 +14,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipePowerDiamond extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipePowerGold.java b/common/buildcraft/transport/pipes/PipePowerGold.java
index 920b55ab..8b6e4e87 100644
--- a/common/buildcraft/transport/pipes/PipePowerGold.java
+++ b/common/buildcraft/transport/pipes/PipePowerGold.java
@@ -7,7 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -15,6 +14,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipePowerGold extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipePowerQuartz.java b/common/buildcraft/transport/pipes/PipePowerQuartz.java
index c80678aa..59904ab6 100644
--- a/common/buildcraft/transport/pipes/PipePowerQuartz.java
+++ b/common/buildcraft/transport/pipes/PipePowerQuartz.java
@@ -7,7 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -15,6 +14,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipePowerQuartz extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipePowerStone.java b/common/buildcraft/transport/pipes/PipePowerStone.java
index 8d2236c8..8d04228a 100644
--- a/common/buildcraft/transport/pipes/PipePowerStone.java
+++ b/common/buildcraft/transport/pipes/PipePowerStone.java
@@ -7,7 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -15,6 +14,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipePowerStone extends Pipe {
diff --git a/common/buildcraft/transport/pipes/PipePowerWood.java b/common/buildcraft/transport/pipes/PipePowerWood.java
index 009169c8..fe49a1f3 100644
--- a/common/buildcraft/transport/pipes/PipePowerWood.java
+++ b/common/buildcraft/transport/pipes/PipePowerWood.java
@@ -7,7 +7,6 @@
*/
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.power.IPowerReceptor;
@@ -20,6 +19,7 @@ import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.ForgeDirection;
public class PipePowerWood extends Pipe implements IPowerReceptor {
diff --git a/common/buildcraft/transport/pipes/PipeStructureCobblestone.java b/common/buildcraft/transport/pipes/PipeStructureCobblestone.java
index f5e6b4f6..62261c93 100644
--- a/common/buildcraft/transport/pipes/PipeStructureCobblestone.java
+++ b/common/buildcraft/transport/pipes/PipeStructureCobblestone.java
@@ -1,6 +1,5 @@
package buildcraft.transport.pipes;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
@@ -8,6 +7,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportStructure;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraftforge.common.ForgeDirection;
public class PipeStructureCobblestone extends Pipe {
diff --git a/common/buildcraft/transport/render/FacadeItemRenderer.java b/common/buildcraft/transport/render/FacadeItemRenderer.java
index 5cc0446a..56e98d1d 100644
--- a/common/buildcraft/transport/render/FacadeItemRenderer.java
+++ b/common/buildcraft/transport/render/FacadeItemRenderer.java
@@ -1,19 +1,17 @@
package buildcraft.transport.render;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraftforge.client.IItemRenderer;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftTransport;
import buildcraft.core.utils.Utils;
import buildcraft.transport.ItemFacade;
import buildcraft.transport.PipeIconProvider;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
+import net.minecraftforge.client.IItemRenderer;
+import org.lwjgl.opengl.GL11;
public class FacadeItemRenderer implements IItemRenderer {
diff --git a/common/buildcraft/transport/render/PipeItemRenderer.java b/common/buildcraft/transport/render/PipeItemRenderer.java
index 50fae0a8..fcc31b68 100644
--- a/common/buildcraft/transport/render/PipeItemRenderer.java
+++ b/common/buildcraft/transport/render/PipeItemRenderer.java
@@ -1,19 +1,18 @@
package buildcraft.transport.render;
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraftforge.client.IItemRenderer;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftTransport;
import buildcraft.core.utils.Utils;
import buildcraft.transport.ItemPipe;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Icon;
+import net.minecraftforge.client.IItemRenderer;
+import org.lwjgl.opengl.GL11;
public class PipeItemRenderer implements IItemRenderer {
@@ -25,7 +24,8 @@ public class PipeItemRenderer implements IItemRenderer {
Block block = BuildCraftTransport.genericPipeBlock;
Icon icon = ((ItemPipe) Item.itemsList[item.itemID]).getIconFromDamage(0);
- if (icon == null) icon = Minecraft.getMinecraft().renderEngine.getMissingIcon(0);
+ if (icon == null)
+ icon = ((TextureMap) Minecraft.getMinecraft().func_110434_K().func_110581_b(TextureMap.field_110575_b)).func_110572_b("missingno");
block.setBlockBounds(Utils.pipeMinPos, 0.0F, Utils.pipeMinPos, Utils.pipeMaxPos, 1.0F, Utils.pipeMaxPos);
block.setBlockBoundsForItemRender();
@@ -60,19 +60,20 @@ public class PipeItemRenderer implements IItemRenderer {
block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
- /** IItemRenderer implementation **/
-
+ /**
+ * IItemRenderer implementation *
+ */
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch (type) {
- case ENTITY:
- return true;
- case EQUIPPED:
- return true;
- case INVENTORY:
- return true;
- default:
- return false;
+ case ENTITY:
+ return true;
+ case EQUIPPED:
+ return true;
+ case INVENTORY:
+ return true;
+ default:
+ return false;
}
}
@@ -84,17 +85,16 @@ public class PipeItemRenderer implements IItemRenderer {
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch (type) {
- case ENTITY:
- renderPipeItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f);
- break;
- case EQUIPPED:
- renderPipeItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f);
- break;
- case INVENTORY:
- renderPipeItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f);
- break;
- default:
+ case ENTITY:
+ renderPipeItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f);
+ break;
+ case EQUIPPED:
+ renderPipeItem((RenderBlocks) data[0], item, -0.4f, 0.50f, 0.35f);
+ break;
+ case INVENTORY:
+ renderPipeItem((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f);
+ break;
+ default:
}
}
-
}
diff --git a/common/buildcraft/transport/render/PipeWorldRenderer.java b/common/buildcraft/transport/render/PipeWorldRenderer.java
index 46558e3c..a658850f 100644
--- a/common/buildcraft/transport/render/PipeWorldRenderer.java
+++ b/common/buildcraft/transport/render/PipeWorldRenderer.java
@@ -1,10 +1,5 @@
package buildcraft.transport.render;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.transport.IPipe;
@@ -16,8 +11,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeRenderState;
import buildcraft.transport.TransportProxy;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.common.ForgeDirection;
public class PipeWorldRenderer implements ISimpleBlockRenderingHandler {
diff --git a/common/buildcraft/transport/render/PlugItemRenderer.java b/common/buildcraft/transport/render/PlugItemRenderer.java
index c50f768d..d30a9f40 100644
--- a/common/buildcraft/transport/render/PlugItemRenderer.java
+++ b/common/buildcraft/transport/render/PlugItemRenderer.java
@@ -1,17 +1,15 @@
package buildcraft.transport.render;
+import buildcraft.BuildCraftTransport;
+import buildcraft.transport.PipeIconProvider;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraftforge.client.IItemRenderer;
-
import org.lwjgl.opengl.GL11;
-import buildcraft.BuildCraftTransport;
-import buildcraft.transport.PipeIconProvider;
-
public class PlugItemRenderer implements IItemRenderer{
private void renderPlugItem(RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ) {
diff --git a/common/buildcraft/transport/render/RenderPipe.java b/common/buildcraft/transport/render/RenderPipe.java
index 52bc862a..8cd7cb34 100644
--- a/common/buildcraft/transport/render/RenderPipe.java
+++ b/common/buildcraft/transport/render/RenderPipe.java
@@ -1,107 +1,97 @@
/**
- * Copyright (c) SpaceToad, 2011
- * http://www.mod-buildcraft.com
+ * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com
*
- * BuildCraft is distributed under the terms of the Minecraft Mod Public
- * License 1.0, or MMPL. Please check the contents of the license located in
+ * BuildCraft is distributed under the terms of the Minecraft Mod Public License
+ * 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
-
package buildcraft.transport.render;
-import java.util.HashMap;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.GLAllocation;
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.LiquidStack;
-
-import org.lwjgl.opengl.GL11;
-
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftCore.RenderMode;
import buildcraft.BuildCraftTransport;
import buildcraft.api.transport.IPipedItem;
-import buildcraft.core.render.LiquidRenderer;
import buildcraft.core.render.RenderEntityBlock;
import buildcraft.core.render.RenderEntityBlock.BlockInterface;
import buildcraft.core.utils.Utils;
import buildcraft.transport.EntityData;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
+import buildcraft.transport.PipeTransportFluids;
import buildcraft.transport.PipeTransportItems;
-import buildcraft.transport.PipeTransportLiquids;
import buildcraft.transport.PipeTransportPower;
import buildcraft.transport.TileGenericPipe;
+import com.google.common.collect.Maps;
+import java.util.HashMap;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.GLAllocation;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import org.lwjgl.opengl.GL11;
public class RenderPipe extends TileEntitySpecialRenderer {
final static private int LIQUID_STAGES = 40;
-
final static private int MAX_ITEMS_TO_RENDER = 10;
-
private final EntityItem dummyEntityItem = new EntityItem(null);
-
private final RenderItem customRenderItem;
- private class DisplayLiquidList {
+ private class DisplayFluidList {
public int[] sideHorizontal = new int[LIQUID_STAGES];
public int[] sideVertical = new int[LIQUID_STAGES];
public int[] centerHorizontal = new int[LIQUID_STAGES];
public int[] centerVertical = new int[LIQUID_STAGES];
}
-
- private final HashMap> displayLiquidLists = new HashMap>();
-
- private final int[] angleY = { 0, 0, 270, 90, 0, 180 };
- private final int[] angleZ = { 90, 270, 0, 0, 0, 0 };
-
+ private final HashMap displayFluidLists = Maps.newHashMap();
+ private final int[] angleY = {0, 0, 270, 90, 0, 180};
+ private final int[] angleZ = {90, 270, 0, 0, 0, 0};
final static private int POWER_STAGES = 100;
-
public int[] displayPowerList = new int[POWER_STAGES];
public int[] displayPowerListOverload = new int[POWER_STAGES];
public RenderPipe() {
- customRenderItem = new RenderItem() {
- public boolean shouldBob() {
- return false;
- };
- public boolean shouldSpreadItems() {
- return false;
- };
- };
- customRenderItem.setRenderManager(RenderManager.instance);
+ customRenderItem = new RenderItem() {
+ @Override
+ public boolean shouldBob() {
+ return false;
+ }
+
+ @Override
+ public boolean shouldSpreadItems() {
+ return false;
+ }
+ };
+ customRenderItem.setRenderManager(RenderManager.instance);
}
- private DisplayLiquidList getDisplayLiquidLists(int liquidId, int meta, World world) {
- if (displayLiquidLists.containsKey(liquidId)) {
- HashMap x = displayLiquidLists.get(liquidId);
- if (x.containsKey(meta))
- return x.get(meta);
- } else {
- displayLiquidLists.put(liquidId, new HashMap());
+ private DisplayFluidList getDisplayFluidLists(int liquidId, World world) {
+ if (displayFluidLists.containsKey(liquidId)) {
+ return displayFluidLists.get(liquidId);
}
- DisplayLiquidList d = new DisplayLiquidList();
- displayLiquidLists.get(liquidId).put(meta, d);
+ DisplayFluidList d = new DisplayFluidList();
+ displayFluidLists.put(liquidId, d);
BlockInterface block = new BlockInterface();
- if (liquidId < Block.blocksList.length && Block.blocksList[liquidId] != null) {
- block.baseBlock = Block.blocksList[liquidId];
+ Fluid fluid = FluidRegistry.getFluid(liquidId);
+ if (fluid.getBlockID() != 0) {
+ block.baseBlock = Block.blocksList[fluid.getBlockID()];
} else {
block.baseBlock = Block.waterStill;
- block.texture = Item.itemsList[liquidId].getIconFromDamage(meta);
}
+ block.texture = fluid.getStillIcon();
float size = Utils.pipeMaxPos - Utils.pipeMinPos;
@@ -124,7 +114,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
block.minY = Utils.pipeMinPos + 0.01F;
block.maxY = block.minY + (size - 0.02F) * ratio;
- RenderEntityBlock.renderBlock(block, world, 0, 0, 0, false, true);
+ RenderEntityBlock.INSTANCE.renderBlock(block, world, 0, 0, 0, false, true);
GL11.glEndList();
@@ -142,7 +132,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
block.minZ = 0.5 - (size / 2 - 0.01) * ratio;
block.maxZ = 0.5 + (size / 2 - 0.01) * ratio;
- RenderEntityBlock.renderBlock(block, world, 0, 0, 0, false, true);
+ RenderEntityBlock.INSTANCE.renderBlock(block, world, 0, 0, 0, false, true);
GL11.glEndList();
@@ -160,7 +150,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
block.minY = Utils.pipeMinPos + 0.01;
block.maxY = block.minY + (size - 0.02F) * ratio;
- RenderEntityBlock.renderBlock(block, world, 0, 0, 0, false, true);
+ RenderEntityBlock.INSTANCE.renderBlock(block, world, 0, 0, 0, false, true);
GL11.glEndList();
@@ -178,7 +168,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
block.minZ = 0.5 - (size / 2 - 0.02) * ratio;
block.maxZ = 0.5 + (size / 2 - 0.02) * ratio;
- RenderEntityBlock.renderBlock(block, world, 0, 0, 0, false, true);
+ RenderEntityBlock.INSTANCE.renderBlock(block, world, 0, 0, 0, false, true);
GL11.glEndList();
@@ -186,7 +176,6 @@ public class RenderPipe extends TileEntitySpecialRenderer {
return d;
}
-
boolean initialized = false;
private void initializeDisplayPowerList(World world) {
@@ -217,7 +206,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
block.minX = 0;
block.maxX = 0.5 + (minSize / 2F) + unit * s;
- RenderEntityBlock.renderBlock(block, world, 0, 0, 0, false, true);
+ RenderEntityBlock.INSTANCE.renderBlock(block, world, 0, 0, 0, false, true);
GL11.glEndList();
}
@@ -243,7 +232,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
block.minX = 0;
block.maxX = 0.5 + (minSize / 2F) + unit * s;
- RenderEntityBlock.renderBlock(block, world, 0, 0, 0, false, true);
+ RenderEntityBlock.INSTANCE.renderBlock(block, world, 0, 0, 0, false, true);
GL11.glEndList();
}
@@ -264,8 +253,8 @@ public class RenderPipe extends TileEntitySpecialRenderer {
if (pipe.pipe.transport instanceof PipeTransportItems) {
renderSolids(pipe.pipe, x, y, z);
- } else if (pipe.pipe.transport instanceof PipeTransportLiquids) {
- renderLiquids(pipe.pipe, x, y, z);
+ } else if (pipe.pipe.transport instanceof PipeTransportFluids) {
+ renderFluids(pipe.pipe, x, y, z);
} else if (pipe.pipe.transport instanceof PipeTransportPower) {
renderPower(pipe.pipe, x, y, z);
}
@@ -278,9 +267,9 @@ public class RenderPipe extends TileEntitySpecialRenderer {
GL11.glPushMatrix();
GL11.glDisable(2896 /* GL_LIGHTING */);
- GL11.glTranslatef((float) x, (float) y, (float) z);
+ GL11.glTranslatef((float) x, (float) y, (float) z);
- bindTextureByName("/terrain.png");
+ func_110628_a(TextureMap.field_110575_b);
int[] displayList = pow.overload > 0 ? displayPowerListOverload : displayPowerList;
@@ -309,8 +298,8 @@ public class RenderPipe extends TileEntitySpecialRenderer {
GL11.glPopMatrix();
}
- private void renderLiquids(Pipe pipe, double x, double y, double z) {
- PipeTransportLiquids liq = (PipeTransportLiquids) pipe.transport;
+ private void renderFluids(Pipe pipe, double x, double y, double z) {
+ PipeTransportFluids liq = (PipeTransportFluids) pipe.transport;
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
@@ -326,14 +315,14 @@ public class RenderPipe extends TileEntitySpecialRenderer {
boolean sides = false, above = false;
for (int i = 0; i < 6; ++i) {
- // ILiquidTank tank = liq.getTanks()[i];
- // LiquidStack liquid = tank.getLiquid();
- LiquidStack liquid = liq.renderCache[i];
+ // IFluidTank tank = liq.getTanks()[i];
+ // FluidStack liquid = tank.getFluid();
+ FluidStack liquid = liq.renderCache[i];
// int amount = liquid != null ? liquid.amount : 0;
// int amount = liquid != null ? liq.renderAmmount[i] : 0;
if (liquid != null && liquid.amount > 0) {
- DisplayLiquidList d = getListFromBuffer(liquid, pipe.worldObj);
+ DisplayFluidList d = getListFromBuffer(liquid, pipe.worldObj);
if (d == null) {
continue;
@@ -345,53 +334,49 @@ public class RenderPipe extends TileEntitySpecialRenderer {
int list = 0;
switch (ForgeDirection.VALID_DIRECTIONS[i]) {
- case UP:
- above = true;
- list = d.sideVertical[stage];
- break;
- case DOWN:
- GL11.glTranslatef(0, -0.75F, 0);
- list = d.sideVertical[stage];
- break;
- case EAST:
- case WEST:
- case SOUTH:
- case NORTH:
- sides = true;
- // Yes, this is kind of ugly, but was easier than transform the coordinates above.
- GL11.glTranslatef(0.5F, 0.0F, 0.5F);
- GL11.glRotatef(angleY[i], 0, 1, 0);
- GL11.glRotatef(angleZ[i], 0, 0, 1);
- GL11.glTranslatef(-0.5F, 0.0F, -0.5F);
- list = d.sideHorizontal[stage];
- break;
- default:
+ case UP:
+ above = true;
+ list = d.sideVertical[stage];
+ break;
+ case DOWN:
+ GL11.glTranslatef(0, -0.75F, 0);
+ list = d.sideVertical[stage];
+ break;
+ case EAST:
+ case WEST:
+ case SOUTH:
+ case NORTH:
+ sides = true;
+ // Yes, this is kind of ugly, but was easier than transform the coordinates above.
+ GL11.glTranslatef(0.5F, 0.0F, 0.5F);
+ GL11.glRotatef(angleY[i], 0, 1, 0);
+ GL11.glRotatef(angleZ[i], 0, 0, 1);
+ GL11.glTranslatef(-0.5F, 0.0F, -0.5F);
+ list = d.sideHorizontal[stage];
+ break;
+ default:
}
- LiquidStack canon = liquid.canonical();
- if (canon == null) {
- throw new LiquidRenderer.LiquidCanonException(liquid);
- }
- bindTextureByName(canon.getTextureSheet());
+ func_110628_a(TextureMap.field_110575_b);
GL11.glCallList(list);
GL11.glPopMatrix();
}
}
// CENTER
- // ILiquidTank tank = liq.getTanks()[ForgeDirection.Unknown.ordinal()];
- // LiquidStack liquid = tank.getLiquid();
- LiquidStack liquid = liq.renderCache[ForgeDirection.UNKNOWN.ordinal()];
+ // IFluidTank tank = liq.getTanks()[ForgeDirection.Unknown.ordinal()];
+ // FluidStack liquid = tank.getFluid();
+ FluidStack liquid = liq.renderCache[ForgeDirection.UNKNOWN.ordinal()];
// int amount = liquid != null ? liquid.amount : 0;
// int amount = liquid != null ? liq.renderAmmount[ForgeDirection.Unknown.ordinal()] : 0;
if (liquid != null && liquid.amount > 0) {
- // DisplayLiquidList d = getListFromBuffer(liq.getTanks()[ForgeDirection.Unknown.ordinal()].getLiquid(), pipe.worldObj);
- DisplayLiquidList d = getListFromBuffer(liquid, pipe.worldObj);
+ // DisplayFluidList d = getListFromBuffer(liq.getTanks()[ForgeDirection.Unknown.ordinal()].getFluid(), pipe.worldObj);
+ DisplayFluidList d = getListFromBuffer(liquid, pipe.worldObj);
if (d != null) {
int stage = (int) ((float) liquid.amount / (float) (liq.getCapacity()) * (LIQUID_STAGES - 1));
- bindTextureByName(liquid.canonical().getTextureSheet());
-
+ func_110628_a(TextureMap.field_110575_b);
+
if (above) {
GL11.glCallList(d.centerVertical[stage]);
}
@@ -402,19 +387,19 @@ public class RenderPipe extends TileEntitySpecialRenderer {
}
}
-
+
GL11.glPopAttrib();
GL11.glPopMatrix();
}
- private DisplayLiquidList getListFromBuffer(LiquidStack stack, World world) {
+ private DisplayFluidList getListFromBuffer(FluidStack stack, World world) {
- int liquidId = stack.itemID;
+ int liquidId = stack.fluidID;
if (liquidId == 0)
return null;
- return getDisplayLiquidLists(liquidId, stack.itemMeta, world);
+ return getDisplayFluidLists(liquidId, world);
}
private void renderSolids(Pipe pipe, double x, double y, double z) {
diff --git a/common/buildcraft/transport/render/TileEntityPickupFX.java b/common/buildcraft/transport/render/TileEntityPickupFX.java
index a891d059..3a525cbd 100644
--- a/common/buildcraft/transport/render/TileEntityPickupFX.java
+++ b/common/buildcraft/transport/render/TileEntityPickupFX.java
@@ -11,8 +11,10 @@
*/
package buildcraft.transport.render;
+import buildcraft.core.utils.Utils;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.particle.EntityFX;
-import net.minecraft.client.particle.EntityPickupFX;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderManager;
@@ -20,12 +22,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-
import org.lwjgl.opengl.GL11;
-
-import buildcraft.core.utils.Utils;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
//import net.minecraft.client.particle.EntityPickupFX;
@SideOnly(Side.CLIENT)
diff --git a/common/buildcraft/transport/triggers/TriggerFilteredBufferInventoryLevel.java b/common/buildcraft/transport/triggers/TriggerFilteredBufferInventoryLevel.java
index 55b6908f..65258fdb 100644
--- a/common/buildcraft/transport/triggers/TriggerFilteredBufferInventoryLevel.java
+++ b/common/buildcraft/transport/triggers/TriggerFilteredBufferInventoryLevel.java
@@ -9,14 +9,14 @@
package buildcraft.transport.triggers;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.transport.TileFilteredBuffer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.ForgeDirection;
public class TriggerFilteredBufferInventoryLevel extends BCTrigger {
diff --git a/common/buildcraft/transport/triggers/TriggerPipeContents.java b/common/buildcraft/transport/triggers/TriggerPipeContents.java
index d039f2f1..b52616da 100644
--- a/common/buildcraft/transport/triggers/TriggerPipeContents.java
+++ b/common/buildcraft/transport/triggers/TriggerPipeContents.java
@@ -7,10 +7,6 @@
*/
package buildcraft.transport.triggers;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.liquids.ILiquidTank;
-import net.minecraftforge.liquids.LiquidContainerRegistry;
-import net.minecraftforge.liquids.LiquidStack;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
@@ -18,16 +14,20 @@ import buildcraft.core.utils.StringUtils;
import buildcraft.transport.EntityData;
import buildcraft.transport.ITriggerPipe;
import buildcraft.transport.Pipe;
+import buildcraft.transport.PipeTransportFluids;
import buildcraft.transport.PipeTransportItems;
-import buildcraft.transport.PipeTransportLiquids;
import buildcraft.transport.PipeTransportPower;
import buildcraft.transport.pipes.PipePowerWood;
+import net.minecraftforge.common.ForgeDirection;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTankInfo;
public class TriggerPipeContents extends BCTrigger implements ITriggerPipe {
public enum Kind {
- Empty, ContainsItems, ContainsLiquids, ContainsEnergy, RequestsEnergy, TooMuchEnergy
+ Empty, ContainsItems, ContainsFluids, ContainsEnergy, RequestsEnergy, TooMuchEnergy
};
Kind kind;
@@ -40,7 +40,7 @@ public class TriggerPipeContents extends BCTrigger implements ITriggerPipe {
public boolean hasParameter() {
switch (kind) {
case ContainsItems:
- case ContainsLiquids:
+ case ContainsFluids:
return true;
default:
return false;
@@ -55,8 +55,8 @@ public class TriggerPipeContents extends BCTrigger implements ITriggerPipe {
return StringUtils.localize("gate.pipe.empty");
case ContainsItems:
return StringUtils.localize("gate.pipe.containsItems");
- case ContainsLiquids:
- return StringUtils.localize("gate.pipe.containsLiquids");
+ case ContainsFluids:
+ return StringUtils.localize("gate.pipe.containsFluids");
case ContainsEnergy:
return StringUtils.localize("gate.pipe.containsEnergy");
case RequestsEnergy:
@@ -84,26 +84,26 @@ public class TriggerPipeContents extends BCTrigger implements ITriggerPipe {
}
} else
return !transportItems.travelingEntities.isEmpty();
- } else if (pipe.transport instanceof PipeTransportLiquids) {
- PipeTransportLiquids transportLiquids = (PipeTransportLiquids) pipe.transport;
+ } else if (pipe.transport instanceof PipeTransportFluids) {
+ PipeTransportFluids transportFluids = (PipeTransportFluids) pipe.transport;
- LiquidStack searchedLiquid = null;
+ FluidStack searchedFluid = null;
if (parameter != null && parameter.getItem() != null) {
- searchedLiquid = LiquidContainerRegistry.getLiquidForFilledItem(parameter.getItem());
+ searchedFluid = FluidContainerRegistry.getFluidForFilledItem(parameter.getItem());
}
if (kind == Kind.Empty) {
- for (ILiquidTank b : transportLiquids.getTanks(ForgeDirection.UNKNOWN)) {
- if (b.getLiquid() != null && b.getLiquid().amount != 0)
+ for (FluidTankInfo b : transportFluids.getTankInfo(ForgeDirection.UNKNOWN)) {
+ if (b.fluid != null && b.fluid.amount != 0)
return false;
}
return true;
} else {
- for (ILiquidTank b : transportLiquids.getTanks(ForgeDirection.UNKNOWN)) {
- if (b.getLiquid() != null && b.getLiquid().amount != 0)
- if (searchedLiquid == null || searchedLiquid.isLiquidEqual(b.getLiquid()))
+ for (FluidTankInfo b : transportFluids.getTankInfo(ForgeDirection.UNKNOWN)) {
+ if (b.fluid != null && b.fluid.amount != 0)
+ if (searchedFluid == null || searchedFluid.isFluidEqual(b.fluid))
return true;
}
@@ -145,8 +145,8 @@ public class TriggerPipeContents extends BCTrigger implements ITriggerPipe {
return ActionTriggerIconProvider.Trigger_PipeContents_Empty;
case ContainsItems:
return ActionTriggerIconProvider.Trigger_PipeContents_ContainsItems;
- case ContainsLiquids:
- return ActionTriggerIconProvider.Trigger_PipeContents_ContainsLiquid;
+ case ContainsFluids:
+ return ActionTriggerIconProvider.Trigger_PipeContents_ContainsFluid;
case ContainsEnergy:
return ActionTriggerIconProvider.Trigger_PipeContents_ContainsEnergy;
case RequestsEnergy:
diff --git a/common/buildcraft/transport/utils/ConnectionMatrix.java b/common/buildcraft/transport/utils/ConnectionMatrix.java
index 7a9e8811..778e7ba7 100644
--- a/common/buildcraft/transport/utils/ConnectionMatrix.java
+++ b/common/buildcraft/transport/utils/ConnectionMatrix.java
@@ -4,7 +4,6 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.BitSet;
-
import net.minecraftforge.common.ForgeDirection;
public class ConnectionMatrix {
diff --git a/common/buildcraft/transport/utils/FacadeMatrix.java b/common/buildcraft/transport/utils/FacadeMatrix.java
index 2181b4c1..c14426b0 100644
--- a/common/buildcraft/transport/utils/FacadeMatrix.java
+++ b/common/buildcraft/transport/utils/FacadeMatrix.java
@@ -3,7 +3,6 @@ package buildcraft.transport.utils;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraftforge.common.ForgeDirection;
public class FacadeMatrix {
diff --git a/common/buildcraft/transport/utils/TextureMatrix.java b/common/buildcraft/transport/utils/TextureMatrix.java
index 7f1b79d1..599c9b15 100644
--- a/common/buildcraft/transport/utils/TextureMatrix.java
+++ b/common/buildcraft/transport/utils/TextureMatrix.java
@@ -3,7 +3,6 @@ package buildcraft.transport.utils;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-
import net.minecraftforge.common.ForgeDirection;
public class TextureMatrix {
diff --git a/common/buildcraft/transport/utils/WireMatrix.java b/common/buildcraft/transport/utils/WireMatrix.java
index f8dbc0ec..b5cbdf01 100644
--- a/common/buildcraft/transport/utils/WireMatrix.java
+++ b/common/buildcraft/transport/utils/WireMatrix.java
@@ -1,12 +1,11 @@
package buildcraft.transport.utils;
+import buildcraft.api.transport.IPipe;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.BitSet;
-
import net.minecraftforge.common.ForgeDirection;
-import buildcraft.api.transport.IPipe;
public class WireMatrix {