Merge branch 'master' of https://github.com/BuildCraft/BuildCraft
This commit is contained in:
commit
3cf74d7986
33 changed files with 186 additions and 56 deletions
|
@ -310,9 +310,11 @@ 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),
|
||||
|
|
|
@ -8,12 +8,15 @@
|
|||
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;
|
||||
|
@ -58,9 +61,6 @@ 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.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
|
||||
@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)
|
||||
|
|
|
@ -42,6 +42,7 @@ import buildcraft.factory.BptBlockTank;
|
|||
import buildcraft.factory.FactoryProxy;
|
||||
import buildcraft.factory.FactoryProxyClient;
|
||||
import buildcraft.factory.GuiHandler;
|
||||
import buildcraft.factory.PumpDimensionList;
|
||||
import buildcraft.factory.TileAutoWorkbench;
|
||||
import buildcraft.factory.TileHopper;
|
||||
import buildcraft.factory.TileMiningWell;
|
||||
|
@ -83,6 +84,8 @@ public class BuildCraftFactory {
|
|||
|
||||
public static boolean allowMining = true;
|
||||
|
||||
public static PumpDimensionList pumpDimensionList;
|
||||
|
||||
@Instance("BuildCraft|Factory")
|
||||
public static BuildCraftFactory instance;
|
||||
|
||||
|
@ -156,6 +159,8 @@ public class BuildCraftFactory {
|
|||
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);
|
||||
Property plainPipeId = BuildCraftCore.mainConfiguration.getBlock("drill.id", DefaultProps.DRILL_ID);
|
||||
Property autoWorkbenchId = BuildCraftCore.mainConfiguration.getBlock("autoWorkbench.id", DefaultProps.AUTO_WORKBENCH_ID);
|
||||
|
|
|
@ -41,7 +41,7 @@ public class BlockBuilder extends BlockContainer {
|
|||
public BlockBuilder(int i) {
|
||||
super(i, Material.iron);
|
||||
setHardness(0.7F);
|
||||
setCreativeTab(CreativeTabBuildCraft.tabBuildCraft);
|
||||
//setCreativeTab(CreativeTabBuildCraft.tabBuildCraft);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -89,6 +89,6 @@ public class BlockIndex implements Comparable<BlockIndex> {
|
|||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return i + j << 8 + k << 16;
|
||||
return (i * 37 + j) * 37 + k;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
package buildcraft.core;
|
||||
|
||||
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;
|
||||
import java.util.List;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class BlockSpring extends Block {
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ public class DefaultProps {
|
|||
|
||||
public static final String DEFAULT_LANGUAGE = "en_US";
|
||||
|
||||
public static String PUMP_DIMENSION_LIST = "+/*/*,+/-1/Lava";
|
||||
|
||||
public static int WOODEN_GEAR_ID = 19100;
|
||||
public static int STONE_GEAR_ID = 19101;
|
||||
public static int IRON_GEAR_ID = 19102;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
package buildcraft.core;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemSpring extends ItemBlockBuildCraft {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package buildcraft.core;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
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 {
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ import java.util.LinkedList;
|
|||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import buildcraft.api.core.BuildCraftAPI;
|
||||
import buildcraft.core.IBuilderInventory;
|
||||
import buildcraft.core.blueprints.BptSlot.Mode;
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@ 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;
|
||||
|
@ -14,8 +16,6 @@ import buildcraft.core.gui.buttons.GuiBetterButton;
|
|||
import buildcraft.core.gui.tooltips.ToolTip;
|
||||
import buildcraft.core.gui.tooltips.ToolTipLine;
|
||||
import buildcraft.core.utils.SessionVars;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
|
||||
public abstract class GuiBuildCraft extends GuiContainer {
|
||||
|
||||
|
|
|
@ -1,12 +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.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 org.lwjgl.opengl.GL11;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
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 <http://www.railcraft.info/>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
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 {
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.network.packet.Packet;
|
||||
|
@ -33,7 +34,6 @@ 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 net.minecraft.item.ItemBlock;
|
||||
|
||||
public class CoreProxy {
|
||||
|
||||
|
|
|
@ -7,19 +7,21 @@
|
|||
*/
|
||||
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.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraftforge.liquids.LiquidStack;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -6,6 +6,7 @@ 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;
|
||||
|
@ -13,7 +14,6 @@ import buildcraft.api.gates.ITrigger;
|
|||
import buildcraft.api.gates.ITriggerProvider;
|
||||
import buildcraft.api.transport.IPipe;
|
||||
import buildcraft.core.IMachine;
|
||||
import net.minecraftforge.liquids.ILiquidTank;
|
||||
|
||||
public class DefaultTriggerProvider implements ITriggerProvider {
|
||||
|
||||
|
|
|
@ -14,14 +14,14 @@ 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;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
|
||||
public class BlockOilFlowing extends BlockFlowing implements ILiquid {
|
||||
|
||||
|
|
|
@ -11,14 +11,14 @@ import net.minecraft.block.BlockStationary;
|
|||
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.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
|
||||
public class BlockOilStill extends BlockStationary implements ILiquid {
|
||||
|
||||
|
|
|
@ -7,20 +7,20 @@
|
|||
*/
|
||||
package buildcraft.energy;
|
||||
|
||||
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.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
import net.minecraftforge.event.ForgeSubscribe;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
import net.minecraftforge.event.terraingen.TerrainGen;
|
||||
import buildcraft.BuildCraftCore;
|
||||
import buildcraft.BuildCraftEnergy;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
|
||||
public class OilPopulate {
|
||||
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
*/
|
||||
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;
|
||||
|
@ -23,7 +29,6 @@ import buildcraft.core.IInventoryRenderer;
|
|||
import buildcraft.energy.Engine;
|
||||
import buildcraft.energy.Engine.EnergyStage;
|
||||
import buildcraft.energy.IEngineProvider;
|
||||
import static net.minecraftforge.common.ForgeDirection.*;
|
||||
|
||||
public class RenderEngine extends TileEntitySpecialRenderer implements IInventoryRenderer {
|
||||
|
||||
|
|
86
common/buildcraft/factory/PumpDimensionList.java
Normal file
86
common/buildcraft/factory/PumpDimensionList.java
Normal file
|
@ -0,0 +1,86 @@
|
|||
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;
|
||||
|
||||
public class PumpDimensionList {
|
||||
public PumpDimensionList(String string) {
|
||||
|
||||
entries = new LinkedList<Entry>();
|
||||
|
||||
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;
|
||||
|
||||
entries.add(0, e);
|
||||
}
|
||||
|
||||
entries = new ArrayList<Entry>(entries);
|
||||
}
|
||||
|
||||
private class Entry {
|
||||
boolean isWhitelist;
|
||||
LiquidStack liquidStack;
|
||||
String liquidName;
|
||||
int dimID;
|
||||
boolean matchAnyLiquid;
|
||||
boolean matchAnyDim;
|
||||
|
||||
private void initLiquidStack() {
|
||||
liquidStack = LiquidDictionary.getLiquid(liquidName, 1);
|
||||
if(liquidStack == null)
|
||||
throw new RuntimeException("Configuration error: unknown liquid "+liquidName+" in pumping.controlList");
|
||||
}
|
||||
|
||||
boolean matches(LiquidStack liquid, int dim) {
|
||||
if(!matchAnyLiquid) {
|
||||
if(liquidStack == null)
|
||||
initLiquidStack();
|
||||
if(!liquidStack.isLiquidEqual(liquid))
|
||||
return false;
|
||||
}
|
||||
if(!matchAnyDim && dimID != dim)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private List<Entry> entries;
|
||||
|
||||
public boolean isLiquidAllowed(LiquidStack liquid, int dim) {
|
||||
for(Entry e : entries)
|
||||
if(e.matches(liquid, dim))
|
||||
return e.isWhitelist;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -25,6 +25,7 @@ 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;
|
||||
import buildcraft.api.power.IPowerProvider;
|
||||
import buildcraft.api.power.IPowerReceptor;
|
||||
|
@ -211,6 +212,8 @@ public class TilePump extends TileMachine implements IMachine, IPowerReceptor, I
|
|||
|
||||
addToPumpIfLiquid(new BlockIndex(x, y, z), markedBlocks, lastFound, pumpList, liquidId);
|
||||
|
||||
long timeoutTime = System.currentTimeMillis() + 1000;
|
||||
|
||||
while (lastFound.size() > 0) {
|
||||
TreeSet<BlockIndex> visitIteration = new TreeSet<BlockIndex>(lastFound);
|
||||
lastFound.clear();
|
||||
|
@ -228,6 +231,9 @@ public class TilePump extends TileMachine implements IMachine, IPowerReceptor, I
|
|||
pumpList = blocksToPump.get(index.j + 1);
|
||||
|
||||
addToPumpIfLiquid(new BlockIndex(index.i, index.j + 1, index.k), markedBlocks, lastFound, pumpList, liquidId);
|
||||
|
||||
if(System.currentTimeMillis() > timeoutTime)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -257,7 +263,14 @@ public class TilePump extends TileMachine implements IMachine, IPowerReceptor, I
|
|||
}
|
||||
|
||||
private boolean isLiquid(BlockIndex index) {
|
||||
return index != null && (Utils.liquidFromBlockId(worldObj.getBlockId(index.i, index.j, index.k)) != null);
|
||||
if(index == null)
|
||||
return false;
|
||||
|
||||
LiquidStack liquid = Utils.liquidFromBlockId(worldObj.getBlockId(index.i, index.j, index.k));
|
||||
if(liquid == null)
|
||||
return false;
|
||||
|
||||
return BuildCraftFactory.pumpDimensionList.isLiquidAllowed(liquid, worldObj.provider.dimensionId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -12,6 +12,7 @@ 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 org.lwjgl.opengl.GL11;
|
||||
|
||||
|
@ -19,7 +20,6 @@ import buildcraft.core.DefaultProps;
|
|||
import buildcraft.core.IInventoryRenderer;
|
||||
import buildcraft.core.render.LiquidRenderer;
|
||||
import buildcraft.factory.TileRefinery;
|
||||
import net.minecraftforge.liquids.LiquidStack;
|
||||
|
||||
public class RenderRefinery extends TileEntitySpecialRenderer implements IInventoryRenderer {
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
*/
|
||||
package buildcraft.factory.render;
|
||||
|
||||
import buildcraft.core.render.LiquidRenderer;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.liquids.LiquidStack;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import buildcraft.core.render.LiquidRenderer;
|
||||
import buildcraft.factory.TileTank;
|
||||
|
||||
public class RenderTank extends TileEntitySpecialRenderer {
|
||||
|
|
|
@ -10,9 +10,11 @@
|
|||
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 java.util.TreeMap;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
|
@ -47,9 +49,6 @@ 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.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
public class BlockGenericPipe extends BlockContainer {
|
||||
static enum Part {
|
||||
|
|
|
@ -104,8 +104,13 @@ public class ItemFacade extends ItemBuildCraft {
|
|||
continue;
|
||||
}
|
||||
|
||||
if (!(b.blockID == 20)){
|
||||
if (b.blockID == 7 || b.blockID == 18 || b.blockID == 19 || b.blockID == 95) {
|
||||
if (!(b.blockID == 20)){ //Explicitly allow glass
|
||||
if (b.blockID == 7 //Bedrock
|
||||
|| b.blockID == 2 //Grass block
|
||||
|| b.blockID == 18 //Oak leaves
|
||||
|| b.blockID == 19 //Sponge
|
||||
|| b.blockID == 95 //Locked chest
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
if (!b.isOpaqueCube() || b.hasTileEntity(0) || !b.renderAsNormalBlock()) {
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
|
||||
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;
|
||||
|
@ -23,7 +25,6 @@ import buildcraft.core.IItemPipe;
|
|||
import buildcraft.core.ItemBuildCraft;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class ItemPipe extends ItemBuildCraft implements IItemPipe {
|
||||
|
||||
|
|
|
@ -210,8 +210,11 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
|
|||
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
nbttagcompound.setBoolean("wireSet[" + i + "]", wireSet[i]);
|
||||
nbttagcompound.setBoolean("wireState[" + i + "]", broadcastSignal[i]);
|
||||
}
|
||||
|
||||
nbttagcompound.setBoolean("redstoneState", broadcastRedstone);
|
||||
|
||||
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);
|
||||
|
@ -245,8 +248,11 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
|
|||
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
wireSet[i] = nbttagcompound.getBoolean("wireSet[" + i + "]");
|
||||
broadcastSignal[i] = nbttagcompound.getBoolean("wireState[" + i + "]");
|
||||
}
|
||||
|
||||
broadcastRedstone = nbttagcompound.getBoolean("redstoneState");
|
||||
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
activatedActions[i] = ActionManager.actions[nbttagcompound.getInteger("action[" + i + "]")];
|
||||
activatedTriggers[i] = ActionManager.triggers[nbttagcompound.getInteger("trigger[" + i + "]")];
|
||||
|
|
|
@ -12,7 +12,6 @@ package buildcraft.transport.render;
|
|||
import java.util.HashMap;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GLAllocation;
|
||||
import net.minecraft.client.renderer.entity.RenderItem;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
|
|
Loading…
Reference in a new issue