A quick fix

This commit is contained in:
Aidan C. Brady 2014-08-08 15:09:42 -04:00
parent 9566e25ba6
commit 76d2997a6b
4 changed files with 2 additions and 71 deletions

View file

@ -61,7 +61,6 @@ import mekanism.common.tile.TileEntityElectricBlock;
import mekanism.common.tile.TileEntityEnergizedSmelter;
import mekanism.common.tile.TileEntitySalinationBlock;
import mekanism.common.tile.TileEntitySalinationValve;
import mekanism.common.transporter.PathfinderCache;
import mekanism.common.transporter.TransporterManager;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
@ -980,7 +979,6 @@ public class Mekanism
//Reset consistent managers
MultiblockManager.reset();
TransporterManager.reset();
PathfinderCache.reset();
}
@EventHandler

View file

@ -759,7 +759,7 @@ public class PartLogisticalTransporter extends PartSidedPipe implements ILogisti
super.onRemoved();
if(!world().isRemote)
{
{
for(TransporterStack stack : transit)
{
TransporterUtils.drop(this, stack);

View file

@ -47,7 +47,6 @@ import codechicken.multipart.NormalOcclusionTest;
import codechicken.multipart.PartMap;
import codechicken.multipart.TMultiPart;
import codechicken.multipart.TSlottedPart;
import cpw.mods.fml.common.ModAPIManager;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -629,7 +628,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
@Override
public boolean onRightClick(EntityPlayer player, int side)
{
if(!world().isRemote)
if(!world().isRemote && !(this instanceof PartLogisticalTransporter))
{
redstoneReactive ^= true;
refreshConnections();

View file

@ -1,66 +0,0 @@
package mekanism.common.transporter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import mekanism.api.Coord4D;
public class PathfinderCache
{
public static Map<PathData, List<Coord4D>> cachedPaths = new HashMap<PathData, List<Coord4D>>();
public static void onChanged(Coord4D location)
{
Set<PathData> toKill = new HashSet<PathData>();
for(Map.Entry<PathData, List<Coord4D>> entry : cachedPaths.entrySet())
{
if(entry.getValue().contains(entry))
{
toKill.add(entry.getKey());
}
}
for(PathData path : toKill)
{
cachedPaths.remove(path);
}
}
public static void reset()
{
cachedPaths.clear();
}
public static class PathData
{
public Coord4D start;
public Coord4D end;
public PathData(Coord4D s, Coord4D e)
{
start = s;
end = e;
}
@Override
public boolean equals(Object obj)
{
return obj instanceof PathData &&
((PathData)obj).start.equals(start) &&
((PathData)obj).end.equals(end);
}
@Override
public int hashCode()
{
int code = 1;
code = 31 * code + start.hashCode();
code = 31 * code + end.hashCode();
return code;
}
}
}