From d4ccb22e4f9d6b675711b6dc114ca8f3b11494fb Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Mon, 5 Oct 2015 08:44:54 -0400 Subject: [PATCH] Reinitialize furnaces when loaded from disk --- TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs | 6 ++++++ TrueCraft/MultiplayerServer.cs | 2 ++ 2 files changed, 8 insertions(+) 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;