private void ProcessSide(ModTileEntity tileEntity, Side side, Side machineSide, ref long usedEnergy) { EnergyReceiver energyReceiver; if (tileEntity is EnergyReceiver) { energyReceiver = tileEntity as EnergyReceiver; if ((energyReceiver.CanConnect(machineSide) && !IO[side]) || energyReceiver is ExampleWireTileEntity) { usedEnergy += SendEnergy(energyReceiver, storage.MaxTransfer - storage.GetCurrentEnergy(), side); } } }
/// <summary> /// Generate energy as long the generator is not full. /// If it's on server the timer will go on and sync the data every time it reach 0 /// </summary> public override void Update() { try { if (EnergyContainer.GetCurrentEnergy() != EnergyContainer.MaxEnergy) { this.EnergyContainer.ReceiveEnergy(4); } if (Main.netMode == NetmodeID.Server) { updateTimer--; if (updateTimer <= 0) { NetMessage.SendData(MessageID.TileEntitySharing, -1, -1, null, ID); updateTimer = 3; } } } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } }
public long GetEnergyStored(Tile tile) { return(storage.GetCurrentEnergy()); }