diff --git a/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs b/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs index 20af2c5..67b8517 100644 --- a/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs @@ -144,6 +144,12 @@ namespace TrueCraft.Core.Logic.Blocks UpdateWindows(coords, state); } + public override void BlockLoadedFromChunk(Coordinates3D coords, IMultiplayerServer server, IWorld world) + { + var state = GetState(world, coords); + TryInitializeFurnace(state, server.Scheduler, world, coords, server.ItemRepository); + } + public override void BlockMined(BlockDescriptor descriptor, BlockFace face, IWorld world, IRemoteClient user) { var entity = world.GetTileEntity(descriptor.Coordinates); diff --git a/TrueCraft/MultiplayerServer.cs b/TrueCraft/MultiplayerServer.cs index 7b6189a..d917234 100644 --- a/TrueCraft/MultiplayerServer.cs +++ b/TrueCraft/MultiplayerServer.cs @@ -21,6 +21,7 @@ using System.Threading.Tasks; using System.Diagnostics; using System.Collections.Concurrent; using TrueCraft.Profiling; +using TrueCraft.Core.Logic.Blocks; namespace TrueCraft { @@ -224,6 +225,7 @@ namespace TrueCraft void ScheduleUpdatesForChunk(IWorld world, IChunk chunk) { + chunk.UpdateHeightMap(); int _x = chunk.Coordinates.X * Chunk.Width; int _z = chunk.Coordinates.Z * Chunk.Depth; Coordinates3D coords, _coords;