Fix a last few issues, and stop leaking networks on the client
This commit is contained in:
parent
c13b3b240f
commit
d70595ad84
3 changed files with 17 additions and 2 deletions
|
@ -52,6 +52,10 @@ public abstract class PartTransmitter<A, N extends DynamicNetwork<A, N>> extends
|
|||
getTransmitter().takeShare();
|
||||
TransmitterNetworkRegistry.invalidateTransmitter(getTransmitter());
|
||||
}
|
||||
else
|
||||
{
|
||||
getTransmitter().setTransmitterNetwork(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -61,6 +65,10 @@ public abstract class PartTransmitter<A, N extends DynamicNetwork<A, N>> extends
|
|||
{
|
||||
TransmitterNetworkRegistry.invalidateTransmitter(getTransmitter());
|
||||
}
|
||||
else
|
||||
{
|
||||
getTransmitter().setTransmitterNetwork(null);
|
||||
}
|
||||
super.preRemove();
|
||||
}
|
||||
|
||||
|
|
|
@ -164,8 +164,7 @@ public class PacketTransmitterUpdate implements IMessageHandler<TransmitterUpdat
|
|||
break;
|
||||
case FLUID:
|
||||
fluidStack = (FluidStack)data[0];
|
||||
fluidScale = (Float)data[1];
|
||||
didFluidTransfer = (Boolean)data[2];
|
||||
didFluidTransfer = (Boolean)data[1];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -24,9 +24,17 @@ public abstract class Transmitter<A, N extends DynamicNetwork<A, N>> implements
|
|||
@Override
|
||||
public void setTransmitterNetwork(N network)
|
||||
{
|
||||
if(theNetwork == network)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(world().isRemote && theNetwork != null)
|
||||
{
|
||||
theNetwork.transmitters.remove(this);
|
||||
if(theNetwork.transmitters.isEmpty())
|
||||
{
|
||||
theNetwork.deregister();
|
||||
}
|
||||
}
|
||||
theNetwork = network;
|
||||
orphaned = theNetwork == null;
|
||||
|
|
Loading…
Reference in a new issue