progress with 1.7.2 port

This commit is contained in:
SpaceToad 2014-02-08 20:39:39 +01:00
parent 20d08f393a
commit 6b36051353
83 changed files with 307 additions and 347 deletions

View file

@ -77,6 +77,7 @@ import buildcraft.core.utils.Localization;
import buildcraft.core.recipes.AssemblyRecipeManager;
import buildcraft.core.recipes.IntegrationRecipeManager;
import buildcraft.core.triggers.TriggerRedstoneInput;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
@ -90,7 +91,6 @@ import cpw.mods.fml.common.network.FMLEmbeddedChannel;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.EntityRegistry;
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;
@ -298,17 +298,19 @@ public class BuildCraftCore extends BuildCraftMod {
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
for (Block block : Block.blocksList) {
for (Object o : Block.blockRegistry) {
Block block = (Block) o;
if (block instanceof BlockFluidBase || block instanceof IFluidBlock || block instanceof IPlantable) {
BuildCraftAPI.softBlocks[block.blockID] = true;
BuildCraftAPI.softBlocks.add(block);
}
}
BuildCraftAPI.softBlocks[Blocks.snow.blockID] = true;
BuildCraftAPI.softBlocks[Block.vine.blockID] = true;
BuildCraftAPI.softBlocks[Block.fire.blockID] = true;
TickRegistry.registerTickHandler(new TickHandlerCoreClient(), Side.CLIENT);
BuildCraftAPI.softBlocks.add(Blocks.snow);
BuildCraftAPI.softBlocks.add(Blocks.vine);
BuildCraftAPI.softBlocks.add(Blocks.fire);
FMLCommonHandler.instance().bus().register(new TickHandlerCoreClient());
}
@EventHandler

View file

@ -93,14 +93,7 @@ public class BuildCraftEnergy extends BuildCraftMod {
public static BuildCraftEnergy instance;
@EventHandler
public void preInit(FMLPreInitializationEvent evt) {
// 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");
}
public void preInit(FMLPreInitializationEvent evt) {
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);
@ -118,14 +111,14 @@ public class BuildCraftEnergy extends BuildCraftMod {
}
if (oilDesertBiomeId > 0) {
if (BiomeGenBase.biomeList[oilDesertBiomeId] != null) {
if (BiomeGenBase.getBiomeGenArray () [oilDesertBiomeId] != null) {
throw new BiomeIdException("oilDesert", oilDesertBiomeId);
}
biomeOilDesert = BiomeGenOilDesert.makeBiome(oilDesertBiomeId);
}
if (oilOceanBiomeId > 0) {
if (BiomeGenBase.biomeList[oilOceanBiomeId] != null) {
if (BiomeGenBase.getBiomeGenArray () [oilOceanBiomeId] != null) {
throw new BiomeIdException("oilOcean", oilOceanBiomeId);
}
biomeOilOcean = BiomeGenOilOcean.makeBiome(oilOceanBiomeId);

View file

@ -233,7 +233,7 @@ public class BuildCraftTransport extends BuildCraftMod {
durability.comment = "How long a pipe will take to break";
pipeDurability = (float) durability.getDouble(DefaultProps.PIPES_DURABILITY);
Property exclusionItemList = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_BLOCK, "woodenPipe.item.exclusion", new String[0]);
Property exclusionItemList = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "woodenPipe.item.exclusion", new String[0]);
String[] excludedItemBlocks = exclusionItemList.getStringList();
if (excludedItemBlocks != null) {
@ -243,7 +243,7 @@ public class BuildCraftTransport extends BuildCraftMod {
} else
excludedItemBlocks = new String[0];
Property exclusionFluidList = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_BLOCK, "woodenPipe.liquid.exclusion", new String[0]);
Property exclusionFluidList = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "woodenPipe.liquid.exclusion", new String[0]);
String[] excludedFluidBlocks = exclusionFluidList.getStringList();
if (excludedFluidBlocks != null) {
@ -444,10 +444,7 @@ public class BuildCraftTransport extends BuildCraftMod {
public static Item buildPipe(int defaultID, Class<? extends Pipe> clas, String descr, Object... ingredients) {
String name = Character.toLowerCase(clas.getSimpleName().charAt(0)) + clas.getSimpleName().substring(1);
Property prop = BuildCraftCore.mainConfiguration.getItem(name + ".id", defaultID);
int id = prop.getInt(defaultID);
ItemPipe res = BlockGenericPipe.registerPipe(id, clas);
ItemPipe res = BlockGenericPipe.registerPipe(clas);
res.setBlockName(clas.getSimpleName());
LanguageRegistry.addName(res, descr);

View file

@ -9,6 +9,9 @@
package buildcraft.api.core;
import java.util.HashSet;
import java.util.Set;
import net.minecraft.block.Block;
public class BuildCraftAPI {
@ -16,5 +19,5 @@ public class BuildCraftAPI {
public static final int LAST_ORIGINAL_BLOCK = 122;
public static final int LAST_ORIGINAL_ITEM = 126;
public static final boolean[] softBlocks = new boolean[Block.blocksList.length];
public static final Set <Block> softBlocks = new HashSet<Block>();
}

View file

@ -9,6 +9,7 @@
package buildcraft.api.gates;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@ -63,7 +64,7 @@ public class TriggerParameter implements ITriggerParameter {
// Legacy code to prevent existing gates from losing their contents
int itemID = compound.getInteger("itemID");
if (itemID != 0) {
stack = new ItemStack(itemID, 1, compound.getInteger("itemDMG"));
stack = new ItemStack((Item) Item.itemRegistry.getObject(itemID), 1, compound.getInteger("itemDMG"));
return;
}

View file

@ -134,12 +134,6 @@ public class BlockArchitect extends BlockContainer {
return blockTextureSides;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister)

View file

@ -78,12 +78,6 @@ public class BlockBlueprintLibrary extends BlockContainer {
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister)

View file

@ -119,12 +119,6 @@ public class BlockBuilder extends BlockContainer {
super.breakBlock(world, x, y, z, block, par6);
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -99,12 +99,6 @@ public class BlockFiller extends BlockContainer {
super.breakBlock(world, x, y, z, block, par6);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -140,17 +140,11 @@ public class BlockMarker extends BlockContainer {
private void dropTorchIfCantStay(World world, int x, int y, int z) {
int meta = world.getBlockMetadata(x, y, z);
if (!canPlaceBlockOnSide(world, x, y, z, meta)) {
dropBlockAsItem(world, x, y, z, BuildCraftBuilders.markerBlock.blockID, 0);
dropBlockAsItem(world, x, y, z, 0, 0);
world.setBlock(x, y, z, null);
}
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {

View file

@ -52,12 +52,6 @@ public class BlockPathMarker extends BlockMarker {
return super.getBlockTexture(iblockaccess, i, j, k, l);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister)

View file

@ -406,13 +406,13 @@ public class TileMarker extends TileBuildCraft implements IAreaProvider {
if (m.isSet()) {
worldObj.setBlock(m.x, m.y, m.z, null);
BuildCraftBuilders.markerBlock.dropBlockAsItem(worldObj, m.x, m.y, m.z, BuildCraftBuilders.markerBlock.blockID, 0);
BuildCraftBuilders.markerBlock.dropBlockAsItem(worldObj, m.x, m.y, m.z, 0, 0);
}
}
worldObj.setBlock(o.vectO.x, o.vectO.y, o.vectO.z, null);
BuildCraftBuilders.markerBlock.dropBlockAsItem(worldObj, o.vectO.x, o.vectO.y, o.vectO.z, BuildCraftBuilders.markerBlock.blockID, 0);
BuildCraftBuilders.markerBlock.dropBlockAsItem(worldObj, o.vectO.x, o.vectO.y, o.vectO.z, 0, 0);
}
@Override

View file

@ -10,6 +10,7 @@ package buildcraft.core;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
import buildcraft.energy.worldgen.OilPopulate;
@ -47,10 +48,12 @@ public class InterModComms {
} else {
Integer blId = Ints.tryParse(array[0]);
Integer metaId = Ints.tryParse(array[1]);
if (blId == null || metaId == null) {
Logger.getLogger("Buildcraft").log(Level.INFO, String.format("Received an invalid add-facade request %s from mod %s", m.getStringValue(), m.getSender()));
} else {
ItemFacade.addFacade(new ItemStack(blId, 1, metaId));
Block block = (Block) Block.blockRegistry.getObjectById(blId);
ItemFacade.addFacade(new ItemStack(block, 1, metaId));
}
}
} else if (m.isItemStackMessage()) {
@ -65,8 +68,8 @@ public class InterModComms {
try {
String biomeID = m.getStringValue().trim();
int id = Integer.valueOf(biomeID);
if (id >= BiomeGenBase.biomeList.length) {
throw new IllegalArgumentException("Biome ID must be less than " + BiomeGenBase.biomeList.length);
if (id >= BiomeGenBase.getBiomeGenArray().length) {
throw new IllegalArgumentException("Biome ID must be less than " + BiomeGenBase.getBiomeGenArray().length);
}
OilPopulate.INSTANCE.surfaceDepositBiomes.add(id);
} catch (Exception ex) {
@ -79,8 +82,8 @@ public class InterModComms {
try {
String biomeID = m.getStringValue().trim();
int id = Integer.valueOf(biomeID);
if (id >= BiomeGenBase.biomeList.length) {
throw new IllegalArgumentException("Biome ID must be less than " + BiomeGenBase.biomeList.length);
if (id >= BiomeGenBase.getBiomeGenArray().length) {
throw new IllegalArgumentException("Biome ID must be less than " + BiomeGenBase.getBiomeGenArray().length);
}
OilPopulate.INSTANCE.excludedBiomes.add(id);
} catch (Exception ex) {

View file

@ -6,8 +6,8 @@ import net.minecraft.item.ItemStack;
public class ItemBlockBuildCraft extends ItemBlock {
public ItemBlockBuildCraft(int id) {
super(id);
public ItemBlockBuildCraft() {
super();
}
@Override

View file

@ -1,26 +1,29 @@
package buildcraft.core;
import buildcraft.core.proxy.CoreProxy;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType;
import java.util.EnumSet;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
public class TickHandlerCoreClient implements ITickHandler {
public class TickHandlerCoreClient {
private boolean nagged;
@Override
public void tickStart(EnumSet<TickType> type, Object... tickData) {
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void tickEnd(PlayerTickEvent evt) {
@Override
public void tickEnd(EnumSet<TickType> type, Object... tickData) {
if (nagged)
if (nagged) {
return;
}
EntityPlayer player = (EntityPlayer) tickData[0];
EntityPlayer player = evt.player;
// if(!Config.disableVersionCheck) {
@ -37,15 +40,4 @@ public class TickHandlerCoreClient implements ITickHandler {
nagged = true;
}
@Override
public EnumSet<TickType> ticks() {
return EnumSet.of(TickType.PLAYER);
}
@Override
public String getLabel() {
return "BuildCraft - Player update tick";
}
}

View file

@ -84,7 +84,7 @@ public abstract class TileBuildCraft extends TileEntity implements ISynchronized
public void onBlockPlacedBy(EntityLivingBase entity, ItemStack stack) {
if (entity instanceof EntityPlayer)
owner = ((EntityPlayer) entity).username;
owner = ((EntityPlayer) entity).getDisplayName();
}
public void destroy() {

View file

@ -14,6 +14,7 @@ import buildcraft.core.Box;
import buildcraft.core.Version;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.BCLog;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@ -25,6 +26,8 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import net.minecraft.block.Block;
public abstract class BptBase {
BptSlot contents[][][];
@ -57,15 +60,15 @@ public abstract class BptBase {
anchorZ = 0;
}
public void setBlockId(int x, int y, int z, int blockId) {
if (contents[x][y][z] == null) {
public void setBlock(int x, int y, int z, Block block) {
/*if (contents[x][y][z] == null) {
contents[x][y][z] = new BptSlot();
contents[x][y][z].x = x;
contents[x][y][z].y = y;
contents[x][y][z].z = z;
}
contents[x][y][z].blockId = blockId;
contents[x][y][z].blockId = blockId;*/
}
public void rotateLeft(BptContext context) {

View file

@ -366,8 +366,8 @@ public class BptBlueprint extends BptBase {
}
@Override
public void setBlockId(int x, int y, int z, int blockId) {
super.setBlockId(x, y, z, blockId);
public void setBlock(int x, int y, int z, Block block) {
super.setBlock(x, y, z, block);
}
@Override

View file

@ -73,7 +73,7 @@ public class FluidUtils {
public static Block getFluidBlock(Fluid fluid, boolean moving) {
if (fluid == FluidRegistry.WATER)
return moving ? Blocks.flowing_lava : Blocks.water;
return moving ? Blocks.flowing_water : Blocks.water;
if (fluid == FluidRegistry.LAVA)
return moving ? Blocks.flowing_lava : Blocks.lava;
return fluid.getBlock();

View file

@ -9,14 +9,18 @@
package buildcraft.core.fluids;
import com.google.common.collect.ForwardingList;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
@ -109,7 +113,7 @@ public class TankManager<T extends Tank> extends ForwardingList<T> implements IF
}
}
public void writeData(DataOutputStream data) throws IOException {
public void writeData(ByteBuf data) {
for (Tank tank : tanks) {
FluidStack fluidStack = tank.getFluid();
if (fluidStack != null && fluidStack.getFluid() != null) {
@ -123,7 +127,7 @@ public class TankManager<T extends Tank> extends ForwardingList<T> implements IF
}
@SideOnly(Side.CLIENT)
public void readData(DataInputStream data) throws IOException {
public void readData(ByteBuf data) {
for (Tank tank : tanks) {
int fluidId = data.readShort();
if (fluidId > 0) {

View file

@ -63,9 +63,10 @@ public class GuiBetterButton extends GuiButton implements IToolTipProvider {
@Override
public void drawButton(Minecraft minecraft, int mouseX, int mouseY) {
if (!drawButton) {
if (!visible) {
return;
}
FontRenderer fontrenderer = minecraft.fontRenderer;
bindButtonTextures(minecraft);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
@ -92,7 +93,7 @@ public class GuiBetterButton extends GuiButton implements IToolTipProvider {
@Override
public boolean isToolTipVisible() {
return drawButton;
return visible;
}
@Override

View file

@ -30,9 +30,10 @@ public class GuiMultiButton extends GuiBetterButton {
@Override
public void drawButton(Minecraft minecraft, int x, int y) {
if (!drawButton) {
if (!visible) {
return;
}
FontRenderer fontrenderer = minecraft.fontRenderer;
bindButtonTextures(minecraft);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

View file

@ -233,8 +233,8 @@ public class InvUtils {
adjacent = chest.adjacentChestZNeg;
}
if (chest.adjacentChestZPosition != null) {
adjacent = chest.adjacentChestZPosition;
if (chest.adjacentChestZPos != null) {
adjacent = chest.adjacentChestZPos;
}
if (adjacent != null) {

View file

@ -48,7 +48,7 @@ public class PacketGuiReturn extends BuildCraftPacket {
} else if (obj instanceof Entity) {
Entity entity = (Entity) obj;
data.writeBoolean(false);
data.writeInt(entity.entityId);
data.writeInt(entity.getEntityId());
} else
return;
obj.writeGuiData(data);

View file

@ -230,6 +230,6 @@ public class CoreProxy {
* server channels instead.
*/
public EntityPlayer getPlayerFromNetHandler (INetHandler hander) {
return ((NetHandlerPlayServer) hander).field_147369_b;
return ((NetHandlerPlayServer) hander).playerEntity;
}
}

View file

@ -12,6 +12,7 @@ import buildcraft.core.EntityBlock;
import java.util.Arrays;
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;
@ -27,6 +28,7 @@ import org.lwjgl.opengl.GL11;
public class RenderEntityBlock extends Render {
public static RenderEntityBlock INSTANCE = new RenderEntityBlock();
protected RenderBlocks renderBlocks;
@Override
protected ResourceLocation getEntityTexture(Entity entity) {
@ -121,6 +123,7 @@ public class RenderEntityBlock extends Render {
}
private RenderEntityBlock() {
renderBlocks = field_147909_c;
}
@Override

View file

@ -43,12 +43,12 @@ public class BlockUtil {
if (block == null)
return null;
if (block.isAirBlock(world, i, j, k))
if (block.isAir(world, i, j, k))
return null;
int meta = world.getBlockMetadata(i, j, k);
ArrayList<ItemStack> dropsList = block.getBlockDropped(world, i, j, k, meta, 0);
ArrayList<ItemStack> dropsList = block.getDrops(world, i, j, k, meta, 0);
float dropChance = ForgeEventFactory.fireBlockHarvesting(dropsList, world, block, i, j, k, meta, 0, 1.0F, false, CoreProxy.proxy.getBuildCraftPlayer(world));
ArrayList<ItemStack> returnList = new ArrayList<ItemStack>();
@ -87,7 +87,7 @@ public class BlockUtil {
}
public static boolean isAnObstructingBlock(Block block, World world, int x, int y, int z) {
if (block == null || block.isAirBlock(world, x, y, z))
if (block == null || block.isAir(world, x, y, z))
return false;
return true;
}
@ -97,7 +97,7 @@ public class BlockUtil {
}
public static boolean canChangeBlock(Block block, World world, int x, int y, int z) {
if (block == null || block.isAirBlock(world, x, y, z))
if (block == null || block.isAir(world, x, y, z))
return true;
if (block.getBlockHardness(world, x, y, z) < 0)
@ -117,7 +117,7 @@ public class BlockUtil {
}
public static boolean isSoftBlock(Block block, World world, int x, int y, int z) {
return block == null || BuildCraftAPI.softBlocks[blockID] || block.isAirBlock(world, x, y, z);
return block == null || BuildCraftAPI.softBlocks.contains(block) || block.isAir(world, x, y, z);
}
/**

View file

@ -42,7 +42,7 @@ public class BptBlockEngine extends BptBlock {
@Override
public void buildBlock(BptSlotInfo slot, IBptContext context) {
context.world().setBlock(slot.x, slot.y, slot.z, slot.blockId, slot.meta,1);
//context.world().setBlock(slot.x, slot.y, slot.z, slot.blockId, slot.meta,1);
TileEngine engine = (TileEngine) context.world().getTileEntity(slot.x, slot.y, slot.z);

View file

@ -18,7 +18,7 @@ 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 cpw.mods.fml.common.eventhandler.Event.Result;
import net.minecraftforge.event.entity.player.FillBucketEvent;
public class BucketHandler {

View file

@ -284,7 +284,7 @@ public abstract class TileEngine extends TileBuildCraft implements IPowerRecepto
if ((!pipesOnly || tile instanceof IPipeTile) && isPoweredTile(tile, o)) {
orientation = o;
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, worldObj.getBlockId(xCoord, yCoord, zCoord));
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, worldObj.getBlock(xCoord, yCoord, zCoord));
return true;
}

View file

@ -68,11 +68,6 @@ public class BlockAutoWorkbench extends BlockBuildCraft {
return new TileAutoWorkbench();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister)

View file

@ -92,12 +92,6 @@ public class BlockFloodGate extends BlockBuildCraft {
}
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -67,12 +67,6 @@ public class BlockHopper extends BlockBuildCraft {
return true;
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -85,12 +85,6 @@ public class BlockMiningWell extends BlockBuildCraft {
return new TileMiningWell();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister)

View file

@ -93,12 +93,6 @@ public class BlockPump extends BlockBuildCraft {
}
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -125,11 +125,11 @@ public class BlockQuarry extends BlockBuildCraft {
}
@Override
public ArrayList<ItemStack> getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) {
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
if (BuildCraftFactory.quarryOneTimeUse) {
return new ArrayList<ItemStack>();
}
return super.getBlockDropped(world, x, y, z, metadata, fortune);
return super.getDrops(world, x, y, z, metadata, fortune);
}
@Override

View file

@ -135,13 +135,7 @@ public class BlockRefinery extends BlockContainer {
return true;
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -80,7 +80,7 @@ public class BlockTank extends BlockContainer {
case 1:
return textureTop;
default:
if (iblockaccess.getBlockId(i, j - 1, k) == blockID)
if (iblockaccess.getBlock(i, j - 1, k) == this)
return textureStackedSide;
else
return textureBottomSide;
@ -146,12 +146,6 @@ public class BlockTank extends BlockContainer {
return super.shouldSideBeRendered(world, x, y, z, side);
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -18,7 +18,7 @@ public class BptBlockTank extends BptBlock {
@Override
public void buildBlock(BptSlotInfo slot, IBptContext context) {
context.world().setBlock(slot.x, slot.y, slot.z, slot.blockId, slot.meta,1);
//context.world().setBlock(slot.x, slot.y, slot.z, slot.blockId, slot.meta,1);
}
}

View file

@ -100,7 +100,7 @@ public class TileFloodGate extends TileBuildCraft implements IFluidHandler {
private boolean placeFluid(int x, int y, int z, Fluid fluid) {
Block block = worldObj.getBlock(x, y, z);
if (canPlaceFluidAt(block, x, y, z)) {
boolean placed = worldObj.setBlock(x, y, z, FluidUtils.getFluidBlockId(fluid, true));
boolean placed = worldObj.setBlock(x, y, z, FluidUtils.getFluidBlock(fluid, true));
if (placed) {
queueAdjacent(x, y, z);
expandQueue();

View file

@ -30,6 +30,7 @@ import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.BlockUtil;
import buildcraft.core.utils.Utils;
import io.netty.buffer.ByteBuf;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -296,7 +297,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
}
private boolean isPumpableFluid(int x, int y, int z) {
Fluid fluid = BlockUtil.getFluid(worldObj.getBlockId(x, y, z));
Fluid fluid = BlockUtil.getFluid(worldObj.getBlock(x, y, z));
if (fluid == null)
return false;
if (!isFluidAllowed(fluid))
@ -378,10 +379,10 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
public PacketPayload getPacketPayload() {
PacketPayloadStream payload = new PacketPayloadStream(new PacketPayloadStream.StreamWriter() {
@Override
public void writeData(DataOutputStream data) throws IOException {
data.writeInt(aimY);
data.writeFloat((float) tubeY);
data.writeBoolean(powered);
public void writeData(ByteBuf buf) {
buf.writeInt(aimY);
buf.writeFloat((float) tubeY);
buf.writeBoolean(powered);
}
});
@ -391,7 +392,7 @@ public class TilePump extends TileBuildCraft implements IMachine, IPowerReceptor
@Override
public void handleUpdatePacket(PacketUpdate packet) throws IOException {
PacketPayloadStream payload = (PacketPayloadStream) packet.payload;
DataInputStream data = payload.stream;
ByteBuf data = payload.stream;
aimY = data.readInt();
tubeY = data.readFloat();
powered = data.readBoolean();

View file

@ -619,29 +619,29 @@ public class TileQuarry extends TileBuildCraft implements IMachine, IPowerRecept
for (int i = 0; i < bluePrint.sizeX; ++i) {
for (int j = 0; j < bluePrint.sizeY; ++j) {
for (int k = 0; k < bluePrint.sizeZ; ++k) {
bluePrint.setBlockId(i, j, k, 0);
bluePrint.setBlock(i, j, k, null);
}
}
}
for (int it = 0; it < 2; it++) {
for (int i = 0; i < bluePrint.sizeX; ++i) {
bluePrint.setBlockId(i, it * (box.sizeY() - 1), 0, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlockId(i, it * (box.sizeY() - 1), bluePrint.sizeZ - 1, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlock(i, it * (box.sizeY() - 1), 0, BuildCraftFactory.frameBlock);
bluePrint.setBlock(i, it * (box.sizeY() - 1), bluePrint.sizeZ - 1, BuildCraftFactory.frameBlock);
}
for (int k = 0; k < bluePrint.sizeZ; ++k) {
bluePrint.setBlockId(0, it * (box.sizeY() - 1), k, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlockId(bluePrint.sizeX - 1, it * (box.sizeY() - 1), k, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlock(0, it * (box.sizeY() - 1), k, BuildCraftFactory.frameBlock);
bluePrint.setBlock(bluePrint.sizeX - 1, it * (box.sizeY() - 1), k, BuildCraftFactory.frameBlock);
}
}
for (int h = 1; h < box.sizeY(); ++h) {
bluePrint.setBlockId(0, h, 0, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlockId(0, h, bluePrint.sizeZ - 1, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlockId(bluePrint.sizeX - 1, h, 0, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlockId(bluePrint.sizeX - 1, h, bluePrint.sizeZ - 1, BuildCraftFactory.frameBlock.blockID);
bluePrint.setBlock(0, h, 0, BuildCraftFactory.frameBlock);
bluePrint.setBlock(0, h, bluePrint.sizeZ - 1, BuildCraftFactory.frameBlock);
bluePrint.setBlock(bluePrint.sizeX - 1, h, 0, BuildCraftFactory.frameBlock);
bluePrint.setBlock(bluePrint.sizeX - 1, h, bluePrint.sizeZ - 1, BuildCraftFactory.frameBlock);
}
bluePrintBuilder = new BptBuilderBlueprint(bluePrint, worldObj, box.xMin, yCoord, box.zMin);

View file

@ -25,6 +25,7 @@ import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketPayloadStream;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import io.netty.buffer.ByteBuf;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -362,7 +363,7 @@ public class TileRefinery extends TileBuildCraft implements IFluidHandler, IPowe
public PacketPayload getPacketPayload() {
PacketPayload payload = new PacketPayloadStream(new PacketPayloadStream.StreamWriter() {
@Override
public void writeData(DataOutputStream data) throws IOException {
public void writeData(ByteBuf data) {
data.writeFloat(animationSpeed);
tankManager.writeData(data);
}
@ -372,7 +373,7 @@ public class TileRefinery extends TileBuildCraft implements IFluidHandler, IPowe
@Override
public void handleUpdatePacket(PacketUpdate packet) throws IOException {
DataInputStream stream = ((PacketPayloadStream) packet.payload).stream;
ByteBuf stream = ((PacketPayloadStream) packet.payload).stream;
animationSpeed = stream.readFloat();
tankManager.readData(stream);
}

View file

@ -17,6 +17,7 @@ import buildcraft.core.network.PacketPayload;
import buildcraft.core.network.PacketPayloadStream;
import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import io.netty.buffer.ByteBuf;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -69,7 +70,7 @@ public class TileTank extends TileBuildCraft implements IFluidHandler {
public PacketPayload getPacketPayload() {
PacketPayload payload = new PacketPayloadStream(new PacketPayloadStream.StreamWriter() {
@Override
public void writeData(DataOutputStream data) throws IOException {
public void writeData(ByteBuf data) {
tankManager.writeData(data);
}
});
@ -78,7 +79,7 @@ public class TileTank extends TileBuildCraft implements IFluidHandler {
@Override
public void handleUpdatePacket(PacketUpdate packet) throws IOException {
DataInputStream stream = ((PacketPayloadStream) packet.payload).stream;
ByteBuf stream = ((PacketPayloadStream) packet.payload).stream;
tankManager.readData(stream);
}

View file

@ -63,11 +63,11 @@ public class PacketHandlerFactory extends BuildCraftChannelHandler {
private void onRefinerySelect(EntityPlayer playerEntity, PacketUpdate packet) throws IOException {
TileRefinery tile = getRefinery(playerEntity.getWorldObj(), packet.posX, packet.posY, packet.posZ);
TileRefinery tile = getRefinery(playerEntity.worldObj, packet.posX, packet.posY, packet.posZ);
if (tile == null || packet.payload == null)
return;
DataInputStream stream = ((PacketPayloadStream)packet.payload).stream;
ByteBuf stream = ((PacketPayloadStream)packet.payload).stream;
tile.setFilter(stream.readByte(), FluidRegistry.getFluid(stream.readShort()));
}

View file

@ -77,12 +77,6 @@ public class BlockLaser extends BlockContainer {
return meta;
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -27,6 +27,7 @@ import buildcraft.core.utils.Utils;
import com.google.common.collect.Lists;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;
@ -67,7 +68,7 @@ public class TileAdvancedCraftingTable extends TileLaserTableBase implements IIn
public int[] oreIDs = new int[9];
public CraftingGrid() {
public CraftingGrid() {
super(9, "CraftingSlots", 1);
Arrays.fill(oreIDs, -1);
}

View file

@ -64,12 +64,6 @@ public class BlockFilteredBuffer extends BlockBuildCraft {
return true;
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void addCreativeItems(ArrayList itemList) {
itemList.add(new ItemStack(this));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {

View file

@ -113,7 +113,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
}
@Override
public boolean canBeReplacedByLeaves(World world, int x, int y, int z) {
public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) {
return false;
}
@ -510,7 +510,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
}
@Override
public ArrayList<ItemStack> getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) {
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
if (CoreProxy.proxy.isRenderWorld(world))
return null;
@ -526,9 +526,9 @@ public class BlockGenericPipe extends BlockBuildCraft {
}
if (pipe != null) {
if (pipe.itemID > 0) {
if (pipe.item != null) {
pipe.dropContents();
list.add(new ItemStack(pipe.itemID, 1, damageDropped(metadata)));
list.add(new ItemStack(pipe.item, 1, damageDropped(metadata)));
}
}
}
@ -559,23 +559,23 @@ public class BlockGenericPipe extends BlockBuildCraft {
}
if (pipe != null) {
int k1 = pipe.itemID;
Item k1 = pipe.item;
if (k1 > 0) {
if (k1 != null) {
pipe.dropContents();
dropBlockAsItem_do(world, i, j, k, new ItemStack(k1, 1, damageDropped(l)));
dropBlockAsItem(world, i, j, k, new ItemStack(k1, 1, damageDropped(l)));
}
}
}
}
@Override
public int idDropped(int meta, Random rand, int dmg) {
// Returns 0 to be safe - the id does not depend on the meta
return 0;
public Item getItemDropped(int meta, Random rand, int dmg) {
// Returns null to be safe - the id does not depend on the meta
return null;
}
@SideOnly(Side.CLIENT)
/*@SideOnly(Side.CLIENT)
@Override
public int idPicked(World world, int i, int j, int k) {
Pipe pipe = getPipe(world, i, j, k);
@ -584,7 +584,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
return 0;
else
return pipe.itemID;
}
}*/
@SideOnly(Side.CLIENT)
@Override
@ -642,7 +642,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float xOffset, float yOffset, float zOffset) {
super.onBlockActivated(world, x, y, z, player, side, xOffset, yOffset, zOffset);
world.notifyBlocksOfNeighborChange(x, y, z, BuildCraftTransport.genericPipeBlock.blockID);
world.notifyBlocksOfNeighborChange(x, y, z, BuildCraftTransport.genericPipeBlock);
Pipe pipe = getPipe(world, x, y, z);
@ -799,7 +799,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
private boolean addFacade(EntityPlayer player, Pipe pipe, ForgeDirection side) {
ItemStack stack = player.getCurrentEquippedItem();
if (pipe.container.addFacade(side, ItemFacade.getBlockId(stack), ItemFacade.getMetaData(stack))) {
if (pipe.container.addFacade(side, ItemFacade.getBlock(stack), ItemFacade.getMetaData(stack))) {
if (!player.capabilities.isCreativeMode) {
stack.stackSize--;
}
@ -871,7 +871,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
@SuppressWarnings({"all"})
@SideOnly(Side.CLIENT)
@Override
public IIcon getBlockTexture(IBlockAccess iblockaccess, int x, int y, int z, int side) {
public IIcon getIcon(IBlockAccess iblockaccess, int x, int y, int z, int side) {
TileEntity tile = iblockaccess.getTileEntity(x, y, z);
if (!(tile instanceof TileGenericPipe))
return null;
@ -937,18 +937,18 @@ public class BlockGenericPipe extends BlockBuildCraft {
}
/* Registration ******************************************************** */
public static Map<Integer, Class<? extends Pipe>> pipes = new HashMap<Integer, Class<? extends Pipe>>();
public static Map<Item, Class<? extends Pipe>> pipes = new HashMap<Item, Class<? extends Pipe>>();
static long lastRemovedDate = -1;
public static Map<BlockIndex, Pipe> pipeRemoved = new HashMap<BlockIndex, Pipe>();
public static ItemPipe registerPipe(int key, Class<? extends Pipe> clas) {
ItemPipe item = new ItemPipe(key);
public static ItemPipe registerPipe(Class<? extends Pipe> clas) {
ItemPipe item = new ItemPipe();
item.setBlockName("buildcraftPipe." + clas.getSimpleName().toLowerCase(Locale.ENGLISH));
GameRegistry.registerItem(item, item.getUnlocalizedName());
pipes.put(item.itemID, clas);
pipes.put(item, clas);
Pipe dummyPipe = createPipe(item.itemID);
Pipe dummyPipe = createPipe(item);
if (dummyPipe != null) {
item.setPipeIconIndex(dummyPipe.getIconIndexForItem());
TransportProxy.proxy.setIconProviderFromPipe(item, dummyPipe);
@ -960,7 +960,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
return pipes.containsKey(key);
}
public static Pipe createPipe(int key) {
public static Pipe createPipe(Item key) {
try {
Class<? extends Pipe> pipe = pipes.get(key);
@ -1018,7 +1018,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
return;
}
BuildCraftTransport.instance.wireIconProvider.registerIcons(iconRegister);
for (int i : pipes.keySet()) {
for (Item i : pipes.keySet()) {
Pipe dummyPipe = createPipe(i);
if (dummyPipe != null) {
dummyPipe.getIconProvider().registerIcons(iconRegister);
@ -1058,7 +1058,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
*/
@SideOnly(Side.CLIENT)
@Override
public boolean addBlockHitEffects(World worldObj, MovingObjectPosition target, EffectRenderer effectRenderer) {
public boolean addHitEffects(World worldObj, MovingObjectPosition target, EffectRenderer effectRenderer) {
int x = target.blockX;
int y = target.blockY;
int z = target.blockZ;
@ -1123,7 +1123,7 @@ public class BlockGenericPipe extends BlockBuildCraft {
*/
@SideOnly(Side.CLIENT)
@Override
public boolean addBlockDestroyEffects(World worldObj, int x, int y, int z, int meta, EffectRenderer effectRenderer) {
public boolean addDestroyEffects(World worldObj, int x, int y, int z, int meta, EffectRenderer effectRenderer) {
Pipe pipe = getPipe(worldObj, x, y, z);
if (pipe == null)
return false;

View file

@ -48,16 +48,16 @@ public class ItemFacade extends ItemBuildCraft {
@Override
public String getItemDisplayName(ItemStack itemstack) {
String name = super.getItemDisplayName(itemstack);
int decodedBlockId = ItemFacade.getBlockId(itemstack);
Block decodedBlock = ItemFacade.getBlock(itemstack);
int decodedMeta = ItemFacade.getMetaData(itemstack);
if (decodedBlockId < Block.blocksList.length && Block.blocksList[decodedBlockId] != null && Block.blocksList[decodedBlockId].getRenderType() == 31) {
if (decodedBlock != null && decodedBlock.getRenderType() == 31) {
decodedMeta &= 0x3;
}
ItemStack newStack = new ItemStack(decodedBlockId, 1, decodedMeta);
if (Item.itemsList[decodedBlockId] != null) {
ItemStack newStack = new ItemStack(decodedBlock, 1, decodedMeta);
if (Item.getItemFromBlock(decodedBlock) != null) {
name += ": " + CoreProxy.proxy.getItemDisplayName(newStack);
} else {
name += " < BROKEN (" + decodedBlockId + ":" + decodedMeta + " )>";
name += " < BROKEN (" + decodedBlock.getLocalizedName() + ":" + decodedMeta + " )>";
}
return name;
}
@ -89,7 +89,7 @@ public class ItemFacade extends ItemBuildCraft {
return false;
TileGenericPipe pipeTile = (TileGenericPipe) tile;
if (pipeTile.addFacade(ForgeDirection.getOrientation(side).getOpposite(), ItemFacade.getBlockId(stack), ItemFacade.getMetaData(stack))) {
if (pipeTile.addFacade(ForgeDirection.getOrientation(side).getOpposite(), ItemFacade.getBlock(stack), ItemFacade.getMetaData(stack))) {
if (!player.capabilities.isCreativeMode) {
stack.stackSize--;
}
@ -140,15 +140,19 @@ public class ItemFacade extends ItemBuildCraft {
}
public static int getMetaData(ItemStack stack) {
if (stack.hasTagCompound() && stack.getTagCompound().hasKey("meta"))
if (stack.hasTagCompound() && stack.getTagCompound().hasKey("meta")) {
return stack.getTagCompound().getInteger("meta");
return stack.getItemDamage() & 0x0000F;
} else {
return stack.getItemDamage() & 0x0000F;
}
}
public static int getBlockId(ItemStack stack) {
if (stack.hasTagCompound() && stack.getTagCompound().hasKey("id"))
return stack.getTagCompound().getInteger("id");
return ((stack.getItemDamage() & 0xFFF0) >>> 4);
public static Block getBlock(ItemStack stack) {
if (stack.hasTagCompound() && stack.getTagCompound().hasKey("id")) {
return (Block) Block.blockRegistry.getObjectById(stack.getTagCompound().getInteger("id"));
} else {
return (Block) Block.blockRegistry.getObjectById((stack.getItemDamage() & 0xFFF0) >>> 4);
}
}
@Override
@ -192,15 +196,15 @@ public class ItemFacade extends ItemBuildCraft {
ItemStack slotmatch = null;
for (int i = 0; i < inventorycrafting.getSizeInventory(); i++) {
ItemStack slot = inventorycrafting.getStackInSlot(i);
if (slot != null && slot.getItem() == ItemFacade.this.itemID && slotmatch == null) {
if (slot != null && slot.getItem() == ItemFacade.this && 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;
Block block = ItemFacade.getBlock(slotmatch);
return block != null && block.getRenderType() == 31;
}
return false;
@ -211,27 +215,25 @@ public class ItemFacade extends ItemBuildCraft {
ItemStack slotmatch = null;
for (int i = 0; i < inventorycrafting.getSizeInventory(); i++) {
ItemStack slot = inventorycrafting.getStackInSlot(i);
if (slot != null && slot.getItem() == ItemFacade.this.itemID && slotmatch == null) {
if (slot != null && slot.getItem() == ItemFacade.this && slotmatch == null) {
slotmatch = slot;
} else if (slot != null) {
slotmatch = NO_MATCH;
}
}
if (slotmatch != null && slotmatch != NO_MATCH) {
int blockId = ItemFacade.getBlockId(slotmatch);
Block block = ItemFacade.getBlock(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(bl, (blockMeta & 0x3) | 4);
if (block != null && block.getRenderType() == 31 && (blockMeta & 0xC) == 0)
return getStack(block, (blockMeta & 0x3) | 4);
// Meta | 4 = true
if (bl != null && bl.getRenderType() == 31 && (blockMeta & 0x8) == 0)
return getStack(bl, (blockMeta & 0x3) | 8);
if (block != null && block.getRenderType() == 31 && (blockMeta & 0x8) == 0)
return getStack(block, (blockMeta & 0x3) | 8);
// Meta | 8 = true
if (bl != null && bl.getRenderType() == 31 && (blockMeta & 0x4) == 0)
return getStack(bl, (blockMeta & 0x3));
if (block != null && block.getRenderType() == 31 && (blockMeta & 0x4) == 0)
return getStack(block, (blockMeta & 0x3));
}
return null;
}
@ -261,9 +263,9 @@ public class ItemFacade extends ItemBuildCraft {
public static ItemStack getStack(Block block, int metadata) {
ItemStack stack = new ItemStack(BuildCraftTransport.facadeItem, 1, 0);
NBTTagCompound nbt = new NBTTagCompound("tag");
nbt.setInteger("meta", metadata);
nbt.setInteger("id", blockID);
NBTTagCompound nbt = new NBTTagCompound();
nbt.setInteger("meta", metadata);
nbt.setInteger("id", Block.blockRegistry.getIDForObject(block));
stack.setTagCompound(nbt);
return stack;
}

View file

@ -45,7 +45,7 @@ public class ItemPipe extends ItemBuildCraft implements IItemPipe {
if (worldBlock == Blocks.snow) {
side = 1;
} else if (worldBlock != Blocks.vine && worldBlock != Blocks.tallgrass && worldBlock != Blocks.deadbush
&& (worldBlock == null || !worldBlock.isBlockReplaceable(world, i, j, k))) {
&& (worldBlock == null || !worldBlock.isReplaceable(world, i, j, k))) {
if (side == 0) {
j--;
}
@ -66,27 +66,31 @@ public class ItemPipe extends ItemBuildCraft implements IItemPipe {
}
}
if (itemstack.stackSize == 0)
if (itemstack.stackSize == 0) {
return false;
if (world.canPlaceEntityOnSide(blockID, i, j, k, false, side, entityplayer, itemstack)) {
}
if (world.canPlaceEntityOnSide(block, i, j, k, false, side, entityplayer, itemstack)) {
Pipe pipe = BlockGenericPipe.createPipe(itemID);
if (pipe == null) {
BCLog.logger.log(Level.WARNING, "Pipe failed to create during placement at {0},{1},{2}", new Object[]{i, j, k});
return true;
}
if (BlockGenericPipe.placePipe(pipe, world, i, j, k, blockID, 0)) {
Block.blocksList[blockID].onBlockPlacedBy(world, i, j, k, entityplayer, itemstack);
if (BlockGenericPipe.placePipe(pipe, world, i, j, k, block, 0)) {
block.onBlockPlacedBy(world, i, j, k, entityplayer, itemstack);
world.playSoundEffect(i + 0.5F, j + 0.5F, k + 0.5F,
block.stepSound.getPlaceSound(),
(block.stepSound.getVolume() + 1.0F) / 2.0F,
block.stepSound.getPitch() * 0.8F);
itemstack.stackSize--;
}
return true;
} else
} else {
return false;
}
}
@SideOnly(Side.CLIENT)

View file

@ -21,14 +21,17 @@ import buildcraft.transport.gates.GateFactory;
import buildcraft.transport.pipes.events.PipeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.lang.reflect.Method;
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.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@ -40,7 +43,7 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
public int[] signalStrength = new int[]{0, 0, 0, 0};
public TileGenericPipe container;
public final T transport;
public final int itemID;
public final Item item;
private boolean internalUpdateScheduled = false;
public boolean[] wireSet = new boolean[]{false, false, false, false};
public Gate gate;
@ -49,9 +52,9 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
public SafeTimeTracker actionTracker = new SafeTimeTracker();
private static Map<Class<? extends Pipe>, Map<Class<? extends PipeEvent>, EventHandler>> eventHandlers = new HashMap<Class<? extends Pipe>, Map<Class<? extends PipeEvent>, EventHandler>>();
public Pipe(T transport, int itemID) {
public Pipe(T transport, Item item) {
this.transport = transport;
this.itemID = itemID;
this.item = item;
if (!networkWrappers.containsKey(this.getClass())) {
networkWrappers
@ -409,12 +412,12 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
}
protected void notifyBlocksOfNeighborChange(ForgeDirection side) {
container.getWorldObj().notifyBlocksOfNeighborChange(container.xCoord + side.offsetX, container.yCoord + side.offsetY, container.zCoord + side.offsetZ, BuildCraftTransport.genericPipeBlock.blockID);
container.getWorldObj().notifyBlocksOfNeighborChange(container.xCoord + side.offsetX, container.yCoord + side.offsetY, container.zCoord + side.offsetZ, BuildCraftTransport.genericPipeBlock);
}
protected void updateNeighbors(boolean needSelf) {
if (needSelf) {
container.getWorldObj().notifyBlocksOfNeighborChange(container.xCoord, container.yCoord, container.zCoord, BuildCraftTransport.genericPipeBlock.blockID);
container.getWorldObj().notifyBlocksOfNeighborChange(container.xCoord, container.yCoord, container.zCoord, BuildCraftTransport.genericPipeBlock);
}
for (ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
notifyBlocksOfNeighborChange(side);

View file

@ -106,7 +106,7 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, IFlui
private boolean pipeBound = false;
private boolean resyncGateExpansions = false;
public int redstoneInput = 0;
private int[] facadeBlocks = new int[ForgeDirection.VALID_DIRECTIONS.length];
private Block[] facadeBlocks = new int[ForgeDirection.VALID_DIRECTIONS.length];
private int[] facadeMeta = new int[ForgeDirection.VALID_DIRECTIONS.length];
private boolean[] plugs = new boolean[ForgeDirection.VALID_DIRECTIONS.length];
@ -274,8 +274,8 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, IFlui
// Facades
for (ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) {
int blockId = this.facadeBlocks[direction.ordinal()];
renderState.facadeMatrix.setFacade(direction, blockId, this.facadeMeta[direction.ordinal()]);
Block block = this.facadeBlocks[direction.ordinal()];
renderState.facadeMatrix.setFacade(direction, block, this.facadeMeta[direction.ordinal()]);
}
//Plugs
@ -589,16 +589,16 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, IFlui
refreshRenderState = true;
}
public boolean addFacade(ForgeDirection direction, int blockid, int meta) {
public boolean addFacade(ForgeDirection direction, Block block, int meta) {
if (this.getWorldObj().isRemote)
return false;
if (this.facadeBlocks[direction.ordinal()] == blockid)
if (this.facadeBlocks[direction.ordinal()] == block)
return false;
if (hasFacade(direction))
dropFacadeItem(direction);
this.facadeBlocks[direction.ordinal()] = blockid;
this.facadeBlocks[direction.ordinal()] = block;
this.facadeMeta[direction.ordinal()] = meta;
worldObj.notifyBlockChange(this.xCoord, this.yCoord, this.zCoord, getBlock());
scheduleRenderUpdate();
@ -610,7 +610,7 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, IFlui
return false;
if (this.getWorldObj().isRemote)
return renderState.facadeMatrix.getFacadeBlockId(direction) != 0;
return (this.facadeBlocks[direction.ordinal()] != 0);
return (this.facadeBlocks[direction.ordinal()] != null);
}
private void dropFacadeItem(ForgeDirection direction) {
@ -622,7 +622,7 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, IFlui
return false;
if (!worldObj.isRemote) {
dropFacadeItem(direction);
this.facadeBlocks[direction.ordinal()] = 0;
this.facadeBlocks[direction.ordinal()] = null;
this.facadeMeta[direction.ordinal()] = 0;
worldObj.notifyBlockChange(this.xCoord, this.yCoord, this.zCoord, getBlock());
scheduleRenderUpdate();

View file

@ -68,10 +68,12 @@ public class BptBlockPipe extends BptBlock {
public boolean isValid(BptSlotInfo slot, IBptContext context) {
Pipe pipe = BlockGenericPipe.getPipe(context.world(), slot.x, slot.y, slot.z);
if (BlockGenericPipe.isValid(pipe))
return pipe.itemID == slot.cpt.getInteger("pipeId");
else
return false;
//if (BlockGenericPipe.isValid(pipe))
// return pipe.itemID == slot.cpt.getInteger("pipeId");
//else
// return false;
return false;
}
@Override
@ -87,12 +89,12 @@ public class BptBlockPipe extends BptBlock {
public void buildBlock(BptSlotInfo slot, IBptContext context) {
int pipeId = slot.cpt.getInteger("pipeId");
Pipe pipe = BlockGenericPipe.createPipe(pipeId);
//Pipe pipe = BlockGenericPipe.createPipe(pipeId);
for (int i = 0; i < pipe.wireSet.length; ++i)
if (slot.cpt.hasKey("wire" + i)) {
pipe.wireSet[i] = true;
}
//for (int i = 0; i < pipe.wireSet.length; ++i)
// if (slot.cpt.hasKey("wire" + i)) {
// pipe.wireSet[i] = true;
// }
// if (slot.cpt.hasKey("gate")) {
// // / TODO: Does not save/load custom gates
@ -137,7 +139,7 @@ public class BptBlockPipe extends BptBlock {
Pipe pipe = BlockGenericPipe.getPipe(context.world(), x, y, z);
if (BlockGenericPipe.isValid(pipe)) {
bptSlot.cpt.setInteger("pipeId", pipe.itemID);
//bptSlot.cpt.setInteger("pipeId", pipe.itemID);
for (int i = 0; i < pipe.wireSet.length; ++i)
if (pipe.wireSet[i]) {

View file

@ -64,7 +64,7 @@ public class PacketFluidUpdate extends PacketCoordinates {
colorRenderCache = transLiq.colorRenderCache;
byte[] dBytes = new byte[2];
data.read(dBytes);
data.readBytes(dBytes);
delta = fromByteArray(dBytes);
// System.out.printf("read %d, %d, %d = %s, %s%n", posX, posY, posZ, Arrays.toString(dBytes), delta);
@ -90,7 +90,7 @@ public class PacketFluidUpdate extends PacketCoordinates {
byte[] dBytes = toByteArray(delta);
// System.out.printf("write %d, %d, %d = %s, %s%n", posX, posY, posZ, Arrays.toString(dBytes), delta);
data.write(dBytes);
data.writeBytes(dBytes);
for (ForgeDirection dir : ForgeDirection.values()) {
FluidStack liquid = renderCache[dir.ordinal()];

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeFluidsCobblestone extends Pipe {
public PipeFluidsCobblestone(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsCobblestone(Item item) {
super(new PipeTransportFluids(), item);
}
@Override

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeFluidsGold extends Pipe<PipeTransportFluids> {
public PipeFluidsGold(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsGold(Item item) {
super(new PipeTransportFluids(), item);
transport.flowRate = 40;
transport.travelDelay = 4;

View file

@ -21,6 +21,7 @@ import buildcraft.transport.triggers.ActionPipeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidHandler;
@ -46,8 +47,8 @@ public class PipeFluidsIron extends Pipe<PipeTransportFluids> {
}
};
public PipeFluidsIron(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsIron(Item item) {
super(new PipeTransportFluids(), item);
}
@Override

View file

@ -7,6 +7,7 @@
*/
package buildcraft.transport.pipes;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
@ -23,8 +24,8 @@ import cpw.mods.fml.relauncher.SideOnly;
public class PipeFluidsSandstone extends Pipe<PipeTransportFluids> implements IPipeTransportFluidsHook, IPipeConnectionForced {
public PipeFluidsSandstone(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsSandstone(Item item) {
super(new PipeTransportFluids(), item);
}
@Override

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeFluidsStone extends Pipe {
public PipeFluidsStone(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsStone(Item item) {
super(new PipeTransportFluids(), item);
// ((PipeTransportFluids) transport).flowRate = 40;
}

View file

@ -15,13 +15,14 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
public class PipeFluidsVoid extends Pipe implements IPipeTransportFluidsHook {
public PipeFluidsVoid(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsVoid(Item item) {
super(new PipeTransportFluids(), item);
}
@Override

View file

@ -22,6 +22,7 @@ import buildcraft.transport.PipeTransportFluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -51,8 +52,8 @@ public class PipeFluidsWood extends Pipe<PipeTransportFluids> implements IPowerR
}
};
public PipeFluidsWood(int itemID) {
super(new PipeTransportFluids(), itemID);
public PipeFluidsWood(Item item) {
super(new PipeTransportFluids(), item);
powerHandler = new PowerHandler(this, Type.MACHINE);
powerHandler.configure(1, 100, 1, 250);

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeItemsCobblestone extends Pipe {
public PipeItemsCobblestone(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsCobblestone(Item item) {
super(new PipeTransportItems(), item);
}
@Override

View file

@ -57,8 +57,8 @@ public class PipeItemsDaizuli extends Pipe<PipeTransportItems> {
}
};
public PipeItemsDaizuli(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsDaizuli(Item item) {
super(new PipeTransportItems(), item);
transport.allowBouncing = true;
}

View file

@ -15,6 +15,7 @@ import java.util.LinkedList;
import net.minecraft.block.Block;
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.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
@ -38,8 +39,8 @@ public class PipeItemsDiamond extends Pipe<PipeTransportItems> implements IClien
private SimpleInventory filters = new SimpleInventory(54, "Filters", 1);
public PipeItemsDiamond(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsDiamond(Item item) {
super(new PipeTransportItems(), item);
}
public IInventory getFilters() {

View file

@ -18,12 +18,13 @@ import buildcraft.transport.TravelingItem;
import buildcraft.transport.pipes.events.PipeEventItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeItemsGold extends Pipe {
public PipeItemsGold(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsGold(Item item) {
super(new PipeTransportItems(), item);
}
@Override

View file

@ -17,10 +17,13 @@ import buildcraft.transport.TileGenericPipe;
import buildcraft.transport.triggers.ActionPipeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.LinkedList;
import java.util.Map;
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.util.ForgeDirection;
@ -45,8 +48,8 @@ public class PipeItemsIron extends Pipe<PipeTransportItems> {
}
};
public PipeItemsIron(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsIron(Item item) {
super(new PipeTransportItems(), item);
transport.allowBouncing = true;
}

View file

@ -31,8 +31,8 @@ import net.minecraftforge.common.util.ForgeDirection;
public class PipeItemsLapis extends Pipe<PipeTransportItems> {
public PipeItemsLapis(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsLapis(Item item) {
super(new PipeTransportItems(), item);
}
@Override

View file

@ -27,12 +27,15 @@ import buildcraft.transport.pipes.events.PipeEventItem;
import buildcraft.transport.utils.TransportUtils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Arrays;
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.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.AxisAlignedBB;
@ -45,8 +48,8 @@ public class PipeItemsObsidian extends Pipe<PipeTransportItems> implements IPowe
private int[] entitiesDropped;
private int entitiesDroppedIndex = 0;
public PipeItemsObsidian(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsObsidian(Item item) {
super(new PipeTransportItems(), item);
entitiesDropped = new int[32];
Arrays.fill(entitiesDropped, -1);
@ -224,7 +227,7 @@ public class PipeItemsObsidian extends Pipe<PipeTransportItems> implements IPowe
}
} else if (entity instanceof EntityArrow) {
powerHandler.useEnergy(distance, distance, true);
stack = new ItemStack(Item.arrow, 1);
stack = new ItemStack(Items.arrow, 1);
CoreProxy.proxy.removeEntity(entity);
}
@ -241,7 +244,7 @@ public class PipeItemsObsidian extends Pipe<PipeTransportItems> implements IPowe
entitiesDroppedIndex = 0;
else
entitiesDroppedIndex++;
entitiesDropped[entitiesDroppedIndex] = event.entity.entityId;
entitiesDropped[entitiesDroppedIndex] = event.entity.getEntityId();
}
public boolean canSuck(Entity entity, int distance) {
@ -254,7 +257,7 @@ public class PipeItemsObsidian extends Pipe<PipeTransportItems> implements IPowe
return false;
for (int i = 0; i < entitiesDropped.length; ++i) {
if (item.entityId == entitiesDropped[i])
if (item.getEntityId() == entitiesDropped[i])
return false;
}

View file

@ -17,12 +17,13 @@ import buildcraft.transport.TravelingItem;
import buildcraft.transport.pipes.events.PipeEventItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeItemsQuartz extends Pipe {
public PipeItemsQuartz(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsQuartz(Item item) {
super(new PipeTransportItems(), item);
}

View file

@ -7,6 +7,7 @@
*/
package buildcraft.transport.pipes;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftTransport;
@ -21,8 +22,8 @@ import cpw.mods.fml.relauncher.SideOnly;
public class PipeItemsSandstone extends Pipe implements IPipeConnectionForced {
public PipeItemsSandstone(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsSandstone(Item item) {
super(new PipeTransportItems(), item);
}
@Override

View file

@ -17,12 +17,13 @@ import buildcraft.transport.TravelingItem;
import buildcraft.transport.pipes.events.PipeEventItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeItemsStone extends Pipe {
public PipeItemsStone(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsStone(Item item) {
super(new PipeTransportItems(), item);
}
@Override

View file

@ -15,12 +15,13 @@ import buildcraft.transport.PipeTransportItems;
import buildcraft.transport.pipes.events.PipeEventItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeItemsVoid extends Pipe<PipeTransportItems> {
public PipeItemsVoid(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsVoid(Item item) {
super(new PipeTransportItems(), item);
}
@Override

View file

@ -28,6 +28,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
@ -50,8 +51,8 @@ public class PipeItemsWood extends Pipe<PipeTransportItems> implements IPowerRec
}
};
public PipeItemsWood(int itemID) {
super(new PipeTransportItems(), itemID);
public PipeItemsWood(Item item) {
super(new PipeTransportItems(), item);
powerHandler = new PowerHandler(this, Type.MACHINE);
powerHandler.configure(1, 64.1f, 1, 64.1f);

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipePowerCobblestone extends Pipe<PipeTransportPower> {
public PipePowerCobblestone(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerCobblestone(Item item) {
super(new PipeTransportPower(), item);
transport.initFromPipe(getClass());
}

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipePowerDiamond extends Pipe<PipeTransportPower> {
public PipePowerDiamond(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerDiamond(Item item) {
super(new PipeTransportPower(), item);
transport.initFromPipe(getClass());
}

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipePowerGold extends Pipe<PipeTransportPower> {
public PipePowerGold(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerGold(Item item) {
super(new PipeTransportPower(), item);
transport.initFromPipe(getClass());
}

View file

@ -54,8 +54,8 @@ public class PipePowerIron extends Pipe<PipeTransportPower> {
}
}
public PipePowerIron(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerIron(Item item) {
super(new PipeTransportPower(), item);
transport.initFromPipe(getClass());
}

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipePowerQuartz extends Pipe<PipeTransportPower> {
public PipePowerQuartz(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerQuartz(Item item) {
super(new PipeTransportPower(), item);
transport.initFromPipe(getClass());
}

View file

@ -14,12 +14,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipePowerStone extends Pipe<PipeTransportPower> {
public PipePowerStone(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerStone(Item item) {
super(new PipeTransportPower(), item);
transport.initFromPipe(getClass());
}

View file

@ -20,6 +20,7 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
@ -31,8 +32,8 @@ public class PipePowerWood extends Pipe<PipeTransportPower> implements IPowerRec
private boolean[] powerSources = new boolean[6];
private boolean full;
public PipePowerWood(int itemID) {
super(new PipeTransportPower(), itemID);
public PipePowerWood(Item item) {
super(new PipeTransportPower(), item);
powerHandler = new PowerHandler(this, Type.PIPE);
initPowerProvider();

View file

@ -7,12 +7,13 @@ import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportStructure;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraftforge.common.util.ForgeDirection;
public class PipeStructureCobblestone extends Pipe {
public PipeStructureCobblestone(int itemID) {
super(new PipeTransportStructure(), itemID);
public PipeStructureCobblestone(Item item) {
super(new PipeTransportStructure(), item);
}
@Override

View file

@ -42,7 +42,7 @@ public class FacadeMatrix {
public void writeData(DataOutputStream data) throws IOException {
for (int i = 0; i < ForgeDirection.VALID_DIRECTIONS.length; i++) {
data.writeShort(_blocks[i]);
data.writeShort(Block.blockRegistry.getIDForObject(_blocks[i]));
data.writeByte(_blockMetas[i]);
}
}
@ -50,8 +50,11 @@ public class FacadeMatrix {
public void readData(DataInputStream data) throws IOException {
for (int i = 0; i < ForgeDirection.VALID_DIRECTIONS.length; i++) {
short id = data.readShort();
if (_blocks[i] != id) {
_blocks[i] = id;
Block block = (Block) Block.blockRegistry.getObjectById(id);
if (_blocks[i] != block) {
_blocks[i] = block;
dirty = true;
}
byte meta = data.readByte();