Skip to content

Commit

Permalink
Fix Sealable Oxygen Pipe not working. Fixes #1085.
Browse files Browse the repository at this point in the history
  • Loading branch information
radfast committed Jan 17, 2015
1 parent 2386ff2 commit 295e173
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 28 deletions.
Expand Up @@ -180,16 +180,8 @@ public void registerBlockIcons(IIconRegister par1IconRegister)
this.blockIcon = par1IconRegister.registerIcon(GalacticraftCore.TEXTURE_PREFIX + "" + EnumEnclosedBlock.OXYGEN_PIPE.getTexture());
}

@Override
public void onBlockAdded(World world, int x, int y, int z)
private void tileAdded(TileEntity tileEntity, int metadata)
{
super.onBlockAdded(world, x, y, z);

int metadata = world.getBlockMetadata(x, y, z);

//TODO: this tileEntity will be null or invalid when onBlockAdded is called
final TileEntity tileEntity = world.getTileEntity(x, y, z);

if (metadata == EnumEnclosedBlock.TE_CONDUIT.getMetadata())
{

Expand All @@ -198,7 +190,7 @@ else if (metadata > 0 && metadata <= EnumEnclosedBlock.OXYGEN_PIPE.getMetadata()
{
if (tileEntity instanceof INetworkConnection)
{
((INetworkConnection) tileEntity).refresh();
// ((INetworkConnection) tileEntity).refresh();
}
}
else if (metadata <= EnumEnclosedBlock.IC2_LV_CABLE.getMetadata())
Expand Down Expand Up @@ -238,16 +230,16 @@ else if (metadata <= EnumEnclosedBlock.ALUMINUM_WIRE.getMetadata())
{
if (tileEntity instanceof IConductor)
{
((IConductor) tileEntity).refresh();
// ((IConductor) tileEntity).refresh();
}
}
else if (metadata <= EnumEnclosedBlock.ALUMINUM_WIRE_HEAVY.getMetadata())
{
if (tileEntity instanceof IConductor)
{
((IConductor) tileEntity).refresh();
// ((IConductor) tileEntity).refresh();
}
}
}
}

@Override
Expand Down Expand Up @@ -349,13 +341,15 @@ else if (metadata <= EnumEnclosedBlock.ALUMINUM_WIRE_HEAVY.getMetadata())
@Override
public TileEntity createNewTileEntity(World world, int metadata)
{
if (metadata == EnumEnclosedBlock.TE_CONDUIT.getMetadata())
TileEntity returnTile = null;

if (metadata == EnumEnclosedBlock.TE_CONDUIT.getMetadata())
{

//TODO
}
else if (metadata > 0 && metadata <= EnumEnclosedBlock.OXYGEN_PIPE.getMetadata())
{
return new TileEntityOxygenPipe();
returnTile = new TileEntityOxygenPipe();
}
else if (metadata <= EnumEnclosedBlock.IC2_LV_CABLE.getMetadata())
{
Expand All @@ -379,7 +373,7 @@ else if (metadata <= EnumEnclosedBlock.IC2_LV_CABLE.getMetadata())

constructor.setAccessible(true);

return (TileEntity) constructor.newInstance((short) BlockEnclosed.getTypeFromMeta(metadata).getSubMetaValue());
returnTile = (TileEntity) constructor.newInstance((short) BlockEnclosed.getTypeFromMeta(metadata).getSubMetaValue());
}
catch (Exception e)
{
Expand Down Expand Up @@ -411,7 +405,7 @@ else if (metadata <= EnumEnclosedBlock.BC_POWER_GOLDPIPE.getMetadata())

TileEntity tilePipe = (TileEntity) constructor.newInstance();

return tilePipe;
returnTile = tilePipe;
}
catch (Exception e)
{
Expand All @@ -426,7 +420,7 @@ else if (metadata <= EnumEnclosedBlock.ME_CABLE.getMetadata())
try
{
Class<?> clazz = Class.forName("appeng.me.tile.TileCable");
return (TileEntity) clazz.newInstance();
returnTile = (TileEntity) clazz.newInstance();
}
catch (Exception e)
{
Expand All @@ -436,14 +430,16 @@ else if (metadata <= EnumEnclosedBlock.ME_CABLE.getMetadata())
}
else if (metadata <= EnumEnclosedBlock.ALUMINUM_WIRE.getMetadata())
{
return new TileEntityAluminumWire(1);
returnTile = new TileEntityAluminumWire(1);
}
else if (metadata <= EnumEnclosedBlock.ALUMINUM_WIRE_HEAVY.getMetadata())
{
return new TileEntityAluminumWire(2);
returnTile = new TileEntityAluminumWire(2);
}

return null;
if (returnTile != null) this.tileAdded(returnTile, metadata);

return returnTile;
}

@Override
Expand Down
Expand Up @@ -10,7 +10,6 @@
import micdoodle8.mods.galacticraft.api.transmission.grid.PathfinderChecker;
import micdoodle8.mods.galacticraft.api.transmission.tile.*;
import micdoodle8.mods.galacticraft.api.vector.BlockVec3;
import micdoodle8.mods.galacticraft.core.blocks.BlockTransmitter;
import micdoodle8.mods.galacticraft.core.energy.EnergyConfigHandler;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
Expand Down Expand Up @@ -208,12 +207,13 @@ public void refreshOxygenTiles()
continue;
}

if (!(((TileEntity) transmitter).getWorldObj().getBlock(((TileEntity) transmitter).xCoord, ((TileEntity) transmitter).yCoord, ((TileEntity) transmitter).zCoord) instanceof BlockTransmitter))
//This causes problems with Sealed Oxygen Pipes (and maybe also unwanted chunk loading)
/* if (!(((TileEntity) transmitter).getWorldObj().getBlock(((TileEntity) transmitter).xCoord, ((TileEntity) transmitter).yCoord, ((TileEntity) transmitter).zCoord) instanceof BlockTransmitter))
{
it.remove();
continue;
}
*/
for (int i = 0; i < transmitter.getAdjacentConnections().length; i++)
{
TileEntity acceptor = transmitter.getAdjacentConnections()[i];
Expand Down
Expand Up @@ -10,7 +10,6 @@
import micdoodle8.mods.galacticraft.api.transmission.grid.PathfinderChecker;
import micdoodle8.mods.galacticraft.api.transmission.tile.*;
import micdoodle8.mods.galacticraft.api.vector.BlockVec3;
import micdoodle8.mods.galacticraft.core.blocks.BlockTransmitter;
import micdoodle8.mods.galacticraft.core.energy.EnergyConfigHandler;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
Expand Down Expand Up @@ -199,12 +198,12 @@ public void refreshHydrogenTiles()
continue;
}

if (!(((TileEntity) transmitter).getWorldObj().getBlock(((TileEntity) transmitter).xCoord, ((TileEntity) transmitter).yCoord, ((TileEntity) transmitter).zCoord) instanceof BlockTransmitter))
/* if (!(((TileEntity) transmitter).getWorldObj().getBlock(((TileEntity) transmitter).xCoord, ((TileEntity) transmitter).yCoord, ((TileEntity) transmitter).zCoord) instanceof BlockTransmitter))
{
it.remove();
continue;
}

*/
for (int i = 0; i < transmitter.getAdjacentConnections().length; i++)
{
TileEntity acceptor = transmitter.getAdjacentConnections()[i];
Expand Down

0 comments on commit 295e173

Please sign in to comment.