summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-05-28 21:12:47 +0200
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-05-28 21:12:47 +0200
commit9be27992e211631cb4e72619c78c5c23397b2a9c (patch)
treed981f1123709c10db9cf3432ccbb793285226f2e
parentBlock entities now receive the cChunk param in their Tick() function (diff)
downloadcuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.tar
cuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.tar.gz
cuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.tar.bz2
cuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.tar.lz
cuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.tar.xz
cuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.tar.zst
cuberite-9be27992e211631cb4e72619c78c5c23397b2a9c.zip
-rw-r--r--VC2008/MCServer.vcproj36
-rw-r--r--source/AllToLua.pkg12
-rw-r--r--source/Bindings.cpp80
-rw-r--r--source/Bindings.h2
-rw-r--r--source/BlockEntities/BlockEntity.h (renamed from source/BlockEntity.h)4
-rw-r--r--source/BlockEntities/BlockEntityWithItems.h (renamed from source/BlockEntityWithItems.h)2
-rw-r--r--source/BlockEntities/ChestEntity.cpp (renamed from source/ChestEntity.cpp)19
-rw-r--r--source/BlockEntities/ChestEntity.h (renamed from source/ChestEntity.h)2
-rw-r--r--source/BlockEntities/DispenserEntity.cpp (renamed from source/DispenserEntity.cpp)6
-rw-r--r--source/BlockEntities/DispenserEntity.h (renamed from source/DispenserEntity.h)0
-rw-r--r--source/BlockEntities/DropSpenserEntity.cpp (renamed from source/DropSpenserEntity.cpp)4
-rw-r--r--source/BlockEntities/DropSpenserEntity.h (renamed from source/DropSpenserEntity.h)2
-rw-r--r--source/BlockEntities/DropperEntity.cpp (renamed from source/DropperEntity.cpp)4
-rw-r--r--source/BlockEntities/DropperEntity.h (renamed from source/DropperEntity.h)0
-rw-r--r--source/BlockEntities/FurnaceEntity.cpp (renamed from source/FurnaceEntity.cpp)14
-rw-r--r--source/BlockEntities/FurnaceEntity.h (renamed from source/FurnaceEntity.h)4
-rw-r--r--source/BlockEntities/JukeboxEntity.cpp (renamed from source/JukeboxEntity.cpp)2
-rw-r--r--source/BlockEntities/JukeboxEntity.h (renamed from source/JukeboxEntity.h)2
-rw-r--r--source/BlockEntities/NoteEntity.cpp (renamed from source/NoteEntity.cpp)2
-rw-r--r--source/BlockEntities/NoteEntity.h (renamed from source/NoteEntity.h)8
-rw-r--r--source/BlockEntities/SignEntity.cpp (renamed from source/SignEntity.cpp)8
-rw-r--r--source/BlockEntities/SignEntity.h (renamed from source/SignEntity.h)0
-rw-r--r--source/Chunk.cpp14
-rw-r--r--source/ClientHandle.cpp4
-rw-r--r--source/Generating/MineShafts.cpp2
-rw-r--r--source/ManualBindings.cpp8
-rw-r--r--source/Player.cpp2
-rw-r--r--source/Simulator/FireSimulator.h2
-rw-r--r--source/Simulator/RedstoneSimulator.cpp2
-rw-r--r--source/UI/SlotArea.cpp6
-rw-r--r--source/UI/Window.cpp6
-rw-r--r--source/UI/WindowOwner.h2
-rw-r--r--source/WorldStorage/NBTChunkSerializer.cpp14
-rw-r--r--source/WorldStorage/WSSAnvil.cpp14
-rw-r--r--source/WorldStorage/WSSCompact.cpp13
35 files changed, 175 insertions, 127 deletions
diff --git a/VC2008/MCServer.vcproj b/VC2008/MCServer.vcproj
index a43b26081..7a4a65a20 100644
--- a/VC2008/MCServer.vcproj
+++ b/VC2008/MCServer.vcproj
@@ -2297,75 +2297,75 @@
Name="BlockEntities"
>
<File
- RelativePath="..\source\BlockEntity.h"
+ RelativePath="..\source\BlockEntities\BlockEntity.h"
>
</File>
<File
- RelativePath="..\source\BlockEntityWithItems.h"
+ RelativePath="..\source\BlockEntities\BlockEntityWithItems.h"
>
</File>
<File
- RelativePath="..\source\ChestEntity.cpp"
+ RelativePath="..\source\BlockEntities\ChestEntity.cpp"
>
</File>
<File
- RelativePath="..\source\ChestEntity.h"
+ RelativePath="..\source\BlockEntities\ChestEntity.h"
>
</File>
<File
- RelativePath="..\source\DispenserEntity.cpp"
+ RelativePath="..\source\BlockEntities\DispenserEntity.cpp"
>
</File>
<File
- RelativePath="..\source\DispenserEntity.h"
+ RelativePath="..\source\BlockEntities\DispenserEntity.h"
>
</File>
<File
- RelativePath="..\source\DropperEntity.cpp"
+ RelativePath="..\source\BlockEntities\DropperEntity.cpp"
>
</File>
<File
- RelativePath="..\source\DropperEntity.h"
+ RelativePath="..\source\BlockEntities\DropperEntity.h"
>
</File>
<File
- RelativePath="..\source\DropSpenserEntity.cpp"
+ RelativePath="..\source\BlockEntities\DropSpenserEntity.cpp"
>
</File>
<File
- RelativePath="..\source\DropSpenserEntity.h"
+ RelativePath="..\source\BlockEntities\DropSpenserEntity.h"
>
</File>
<File
- RelativePath="..\source\FurnaceEntity.cpp"
+ RelativePath="..\source\BlockEntities\FurnaceEntity.cpp"
>
</File>
<File
- RelativePath="..\source\FurnaceEntity.h"
+ RelativePath="..\source\BlockEntities\FurnaceEntity.h"
>
</File>
<File
- RelativePath="..\source\JukeboxEntity.cpp"
+ RelativePath="..\source\BlockEntities\JukeboxEntity.cpp"
>
</File>
<File
- RelativePath="..\source\JukeboxEntity.h"
+ RelativePath="..\source\BlockEntities\JukeboxEntity.h"
>
</File>
<File
- RelativePath="..\source\NoteEntity.cpp"
+ RelativePath="..\source\BlockEntities\NoteEntity.cpp"
>
</File>
<File
- RelativePath="..\source\NoteEntity.h"
+ RelativePath="..\source\BlockEntities\NoteEntity.h"
>
</File>
<File
- RelativePath="..\source\SignEntity.cpp"
+ RelativePath="..\source\BlockEntities\SignEntity.cpp"
>
</File>
<File
- RelativePath="..\source\SignEntity.h"
+ RelativePath="..\source\BlockEntities\SignEntity.h"
>
</File>
</Filter>
diff --git a/source/AllToLua.pkg b/source/AllToLua.pkg
index 5fe53abfb..736cd3ca1 100644
--- a/source/AllToLua.pkg
+++ b/source/AllToLua.pkg
@@ -39,12 +39,12 @@ $cfile "World.h"
$cfile "Inventory.h"
$cfile "Item.h"
$cfile "ItemGrid.h"
-$cfile "BlockEntity.h"
-$cfile "BlockEntityWithItems.h"
-$cfile "ChestEntity.h"
-$cfile "DropSpenserEntity.h"
-$cfile "DispenserEntity.h"
-$cfile "DropperEntity.h"
+$cfile "BlockEntities/BlockEntity.h"
+$cfile "BlockEntities/BlockEntityWithItems.h"
+$cfile "BlockEntities/ChestEntity.h"
+$cfile "BlockEntities/DropSpenserEntity.h"
+$cfile "BlockEntities/DispenserEntity.h"
+$cfile "BlockEntities/DropperEntity.h"
$cfile "WebAdmin.h"
$cfile "WebPlugin.h"
$cfile "Pickup.h"
diff --git a/source/Bindings.cpp b/source/Bindings.cpp
index 0bbe126f6..1b5e1193d 100644
--- a/source/Bindings.cpp
+++ b/source/Bindings.cpp
@@ -1,6 +1,6 @@
/*
** Lua binding: AllToLua
-** Generated automatically by tolua++-1.0.92 on 05/28/13 14:04:23.
+** Generated automatically by tolua++-1.0.92 on 05/28/13 21:11:42.
*/
#ifndef __cplusplus
@@ -38,12 +38,12 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S);
#include "Inventory.h"
#include "Item.h"
#include "ItemGrid.h"
-#include "BlockEntity.h"
-#include "BlockEntityWithItems.h"
-#include "ChestEntity.h"
-#include "DropSpenserEntity.h"
-#include "DispenserEntity.h"
-#include "DropperEntity.h"
+#include "BlockEntities/BlockEntity.h"
+#include "BlockEntities/BlockEntityWithItems.h"
+#include "BlockEntities/ChestEntity.h"
+#include "BlockEntities/DropSpenserEntity.h"
+#include "BlockEntities/DispenserEntity.h"
+#include "BlockEntities/DropperEntity.h"
#include "WebAdmin.h"
#include "WebPlugin.h"
#include "Pickup.h"
@@ -15845,6 +15845,70 @@ static int tolua_AllToLua_cBlockEntity_GetChunkZ00(lua_State* tolua_S)
}
#endif //#ifndef TOLUA_DISABLE
+/* method: GetRelX of class cBlockEntity */
+#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockEntity_GetRelX00
+static int tolua_AllToLua_cBlockEntity_GetRelX00(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (
+ !tolua_isusertype(tolua_S,1,"const cBlockEntity",0,&tolua_err) ||
+ !tolua_isnoobj(tolua_S,2,&tolua_err)
+ )
+ goto tolua_lerror;
+ else
+#endif
+ {
+ const cBlockEntity* self = (const cBlockEntity*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in function 'GetRelX'", NULL);
+#endif
+ {
+ int tolua_ret = (int) self->GetRelX();
+ tolua_pushnumber(tolua_S,(lua_Number)tolua_ret);
+ }
+ }
+ return 1;
+#ifndef TOLUA_RELEASE
+ tolua_lerror:
+ tolua_error(tolua_S,"#ferror in function 'GetRelX'.",&tolua_err);
+ return 0;
+#endif
+}
+#endif //#ifndef TOLUA_DISABLE
+
+/* method: GetRelZ of class cBlockEntity */
+#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockEntity_GetRelZ00
+static int tolua_AllToLua_cBlockEntity_GetRelZ00(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (
+ !tolua_isusertype(tolua_S,1,"const cBlockEntity",0,&tolua_err) ||
+ !tolua_isnoobj(tolua_S,2,&tolua_err)
+ )
+ goto tolua_lerror;
+ else
+#endif
+ {
+ const cBlockEntity* self = (const cBlockEntity*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in function 'GetRelZ'", NULL);
+#endif
+ {
+ int tolua_ret = (int) self->GetRelZ();
+ tolua_pushnumber(tolua_S,(lua_Number)tolua_ret);
+ }
+ }
+ return 1;
+#ifndef TOLUA_RELEASE
+ tolua_lerror:
+ tolua_error(tolua_S,"#ferror in function 'GetRelZ'.",&tolua_err);
+ return 0;
+#endif
+}
+#endif //#ifndef TOLUA_DISABLE
+
/* method: GetSlot of class cBlockEntityWithItems */
#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockEntityWithItems_GetSlot00
static int tolua_AllToLua_cBlockEntityWithItems_GetSlot00(lua_State* tolua_S)
@@ -26659,6 +26723,8 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S)
tolua_function(tolua_S,"GetWorld",tolua_AllToLua_cBlockEntity_GetWorld00);
tolua_function(tolua_S,"GetChunkX",tolua_AllToLua_cBlockEntity_GetChunkX00);
tolua_function(tolua_S,"GetChunkZ",tolua_AllToLua_cBlockEntity_GetChunkZ00);
+ tolua_function(tolua_S,"GetRelX",tolua_AllToLua_cBlockEntity_GetRelX00);
+ tolua_function(tolua_S,"GetRelZ",tolua_AllToLua_cBlockEntity_GetRelZ00);
tolua_endmodule(tolua_S);
tolua_cclass(tolua_S,"cBlockEntityWithItems","cBlockEntityWithItems","cBlockEntity",NULL);
tolua_beginmodule(tolua_S,"cBlockEntityWithItems");
diff --git a/source/Bindings.h b/source/Bindings.h
index 90ed4fcc0..b508452c7 100644
--- a/source/Bindings.h
+++ b/source/Bindings.h
@@ -1,6 +1,6 @@
/*
** Lua binding: AllToLua
-** Generated automatically by tolua++-1.0.92 on 05/28/13 14:04:23.
+** Generated automatically by tolua++-1.0.92 on 05/28/13 21:11:43.
*/
/* Exported function */
diff --git a/source/BlockEntity.h b/source/BlockEntities/BlockEntity.h
index a1dba82a6..ab7d7f5dc 100644
--- a/source/BlockEntity.h
+++ b/source/BlockEntities/BlockEntity.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ClientHandle.h"
-#include "World.h"
+#include "../ClientHandle.h"
+#include "../World.h"
diff --git a/source/BlockEntityWithItems.h b/source/BlockEntities/BlockEntityWithItems.h
index b160b8ed4..77f4ebe2e 100644
--- a/source/BlockEntityWithItems.h
+++ b/source/BlockEntities/BlockEntityWithItems.h
@@ -10,7 +10,7 @@
#pragma once
#include "BlockEntity.h"
-#include "ItemGrid.h"
+#include "../ItemGrid.h"
diff --git a/source/ChestEntity.cpp b/source/BlockEntities/ChestEntity.cpp
index 45c543538..769fadc22 100644
--- a/source/ChestEntity.cpp
+++ b/source/BlockEntities/ChestEntity.cpp
@@ -2,27 +2,16 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "ChestEntity.h"
-#include "Item.h"
-#include "ClientHandle.h"
-#include "Player.h"
-#include "UI/Window.h"
-#include "World.h"
-#include "Root.h"
-#include "Pickup.h"
-#include "Noise.h"
+#include "../Item.h"
+#include "../Player.h"
+#include "../UI/Window.h"
+#include "../Noise.h"
#include <json/json.h>
-class cWorld;
-class cRoot;
-
-
-
-
-
cChestEntity::cChestEntity(int a_BlockX, int a_BlockY, int a_BlockZ) :
super(E_BLOCK_CHEST, a_BlockX, a_BlockY, a_BlockZ, ContentsWidth, ContentsHeight, NULL)
{
diff --git a/source/ChestEntity.h b/source/BlockEntities/ChestEntity.h
index 60fd7589a..03cd5a943 100644
--- a/source/ChestEntity.h
+++ b/source/BlockEntities/ChestEntity.h
@@ -2,7 +2,7 @@
#pragma once
#include "BlockEntityWithItems.h"
-#include "UI/WindowOwner.h"
+#include "../UI/WindowOwner.h"
diff --git a/source/DispenserEntity.cpp b/source/BlockEntities/DispenserEntity.cpp
index 6ccd66727..08f26efff 100644
--- a/source/DispenserEntity.cpp
+++ b/source/BlockEntities/DispenserEntity.cpp
@@ -2,9 +2,9 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "DispenserEntity.h"
-#include "Player.h"
-#include "Simulator/FluidSimulator.h"
-#include "Chunk.h"
+#include "../Player.h"
+#include "../Simulator/FluidSimulator.h"
+#include "../Chunk.h"
diff --git a/source/DispenserEntity.h b/source/BlockEntities/DispenserEntity.h
index 09270e7f8..09270e7f8 100644
--- a/source/DispenserEntity.h
+++ b/source/BlockEntities/DispenserEntity.h
diff --git a/source/DropSpenserEntity.cpp b/source/BlockEntities/DropSpenserEntity.cpp
index 0d07ec27b..c0993d676 100644
--- a/source/DropSpenserEntity.cpp
+++ b/source/BlockEntities/DropSpenserEntity.cpp
@@ -6,8 +6,8 @@
#include "Globals.h"
#include "DropSpenserEntity.h"
-#include "Player.h"
-#include "Chunk.h"
+#include "../Player.h"
+#include "../Chunk.h"
diff --git a/source/DropSpenserEntity.h b/source/BlockEntities/DropSpenserEntity.h
index 4918f8dfe..ca9f7dfa3 100644
--- a/source/DropSpenserEntity.h
+++ b/source/BlockEntities/DropSpenserEntity.h
@@ -11,7 +11,7 @@
#pragma once
#include "BlockEntityWithItems.h"
-#include "UI/WindowOwner.h"
+#include "../UI/WindowOwner.h"
diff --git a/source/DropperEntity.cpp b/source/BlockEntities/DropperEntity.cpp
index be2726cfa..ebb52c8a1 100644
--- a/source/DropperEntity.cpp
+++ b/source/BlockEntities/DropperEntity.cpp
@@ -5,8 +5,8 @@
#include "Globals.h"
#include "DropperEntity.h"
-#include "Player.h"
-#include "Simulator/FluidSimulator.h"
+#include "../Player.h"
+#include "../Simulator/FluidSimulator.h"
diff --git a/source/DropperEntity.h b/source/BlockEntities/DropperEntity.h
index ed29bfe95..ed29bfe95 100644
--- a/source/DropperEntity.h
+++ b/source/BlockEntities/DropperEntity.h
diff --git a/source/FurnaceEntity.cpp b/source/BlockEntities/FurnaceEntity.cpp
index f4cefc56a..b199f480b 100644
--- a/source/FurnaceEntity.cpp
+++ b/source/BlockEntities/FurnaceEntity.cpp
@@ -2,16 +2,10 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "FurnaceEntity.h"
-#include "BlockID.h"
-#include "Item.h"
-#include "UI/Window.h"
-#include "Player.h"
-#include "World.h"
-#include "ClientHandle.h"
-#include "FurnaceRecipe.h"
-#include "Server.h"
-#include "Pickup.h"
-#include "Root.h"
+#include "../UI/Window.h"
+#include "../Player.h"
+#include "../FurnaceRecipe.h"
+#include "../Root.h"
#include <json/json.h>
diff --git a/source/FurnaceEntity.h b/source/BlockEntities/FurnaceEntity.h
index 5bbbef32b..0606497b2 100644
--- a/source/FurnaceEntity.h
+++ b/source/BlockEntities/FurnaceEntity.h
@@ -2,8 +2,8 @@
#pragma once
#include "BlockEntity.h"
-#include "UI/WindowOwner.h"
-#include "Item.h"
+#include "../UI/WindowOwner.h"
+#include "../Item.h"
diff --git a/source/JukeboxEntity.cpp b/source/BlockEntities/JukeboxEntity.cpp
index 249e86df2..617b7bd00 100644
--- a/source/JukeboxEntity.cpp
+++ b/source/BlockEntities/JukeboxEntity.cpp
@@ -2,7 +2,7 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "JukeboxEntity.h"
-#include "World.h"
+#include "../World.h"
#include <json/json.h>
diff --git a/source/JukeboxEntity.h b/source/BlockEntities/JukeboxEntity.h
index 94ecd2894..063453607 100644
--- a/source/JukeboxEntity.h
+++ b/source/BlockEntities/JukeboxEntity.h
@@ -2,7 +2,7 @@
#pragma once
#include "BlockEntity.h"
-#include "Player.h"
+#include "../Player.h"
diff --git a/source/NoteEntity.cpp b/source/BlockEntities/NoteEntity.cpp
index 6dc32ddd5..36da13692 100644
--- a/source/NoteEntity.cpp
+++ b/source/BlockEntities/NoteEntity.cpp
@@ -2,7 +2,7 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "NoteEntity.h"
-#include "World.h"
+#include "../World.h"
#include <json/json.h>
diff --git a/source/NoteEntity.h b/source/BlockEntities/NoteEntity.h
index b78437f6f..29ce4ef8f 100644
--- a/source/NoteEntity.h
+++ b/source/BlockEntities/NoteEntity.h
@@ -15,11 +15,11 @@ namespace Json
enum ENUM_NOTE_INSTRUMENTS
{
- E_INST_HARP_PIANO = 0,
+ E_INST_HARP_PIANO = 0,
E_INST_DOUBLE_BASS = 1,
- E_INST_SNARE_DRUM = 2,
- E_INST_CLICKS = 3,
- E_INST_BASS_DRUM = 4
+ E_INST_SNARE_DRUM = 2,
+ E_INST_CLICKS = 3,
+ E_INST_BASS_DRUM = 4
};
diff --git a/source/SignEntity.cpp b/source/BlockEntities/SignEntity.cpp
index 0f952426a..91cbb5a5e 100644
--- a/source/SignEntity.cpp
+++ b/source/BlockEntities/SignEntity.cpp
@@ -3,10 +3,10 @@
#include "SignEntity.h"
-#include "Player.h"
-#include "ClientHandle.h"
-#include "World.h"
-#include "Root.h"
+#include "../Player.h"
+// #include "ClientHandle.h"
+// #include "World.h"
+// #include "Root.h"
#include <json/json.h>
diff --git a/source/SignEntity.h b/source/BlockEntities/SignEntity.h
index b4e7a141f..b4e7a141f 100644
--- a/source/SignEntity.h
+++ b/source/BlockEntities/SignEntity.h
diff --git a/source/Chunk.cpp b/source/Chunk.cpp
index 56741e3f7..c33ba3608 100644
--- a/source/Chunk.cpp
+++ b/source/Chunk.cpp
@@ -12,13 +12,13 @@
#include "Server.h"
#include "zlib.h"
#include "Defines.h"
-#include "ChestEntity.h"
-#include "DispenserEntity.h"
-#include "DropperEntity.h"
-#include "FurnaceEntity.h"
-#include "SignEntity.h"
-#include "NoteEntity.h"
-#include "JukeboxEntity.h"
+#include "BlockEntities/ChestEntity.h"
+#include "BlockEntities/DispenserEntity.h"
+#include "BlockEntities/DropperEntity.h"
+#include "BlockEntities/FurnaceEntity.h"
+#include "BlockEntities/JukeboxEntity.h"
+#include "BlockEntities/NoteEntity.h"
+#include "BlockEntities/SignEntity.h"
#include "Torch.h"
#include "Ladder.h"
#include "Pickup.h"
diff --git a/source/ClientHandle.cpp b/source/ClientHandle.cpp
index 6fe874bc4..501568fc6 100644
--- a/source/ClientHandle.cpp
+++ b/source/ClientHandle.cpp
@@ -8,8 +8,8 @@
#include "PluginManager.h"
#include "Player.h"
#include "Inventory.h"
-#include "ChestEntity.h"
-#include "SignEntity.h"
+#include "BlockEntities/ChestEntity.h"
+#include "BlockEntities/SignEntity.h"
#include "UI/Window.h"
#include "Item.h"
#include "Torch.h"
diff --git a/source/Generating/MineShafts.cpp b/source/Generating/MineShafts.cpp
index fe93cec65..0f7f78e19 100644
--- a/source/Generating/MineShafts.cpp
+++ b/source/Generating/MineShafts.cpp
@@ -19,7 +19,7 @@ in a depth-first processing. Each of the descendants will branch randomly, if no
#include "Globals.h"
#include "MineShafts.h"
#include "../Cuboid.h"
-#include "../ChestEntity.h"
+#include "../BlockEntities/ChestEntity.h"
diff --git a/source/ManualBindings.cpp b/source/ManualBindings.cpp
index c1d9b8724..4fb801da9 100644
--- a/source/ManualBindings.cpp
+++ b/source/ManualBindings.cpp
@@ -13,10 +13,10 @@
#include "WebAdmin.h"
#include "StringMap.h"
#include "ClientHandle.h"
-#include "ChestEntity.h"
-#include "DispenserEntity.h"
-#include "DropperEntity.h"
-#include "FurnaceEntity.h"
+#include "BlockEntities/ChestEntity.h"
+#include "BlockEntities/DispenserEntity.h"
+#include "BlockEntities/DropperEntity.h"
+#include "BlockEntities/FurnaceEntity.h"
#include "md5/md5.h"
diff --git a/source/Player.cpp b/source/Player.cpp
index 031b7a6c9..776bf3e3f 100644
--- a/source/Player.cpp
+++ b/source/Player.cpp
@@ -9,7 +9,7 @@
#include "World.h"
#include "Pickup.h"
#include "PluginManager.h"
-#include "BlockEntity.h"
+#include "BlockEntities/BlockEntity.h"
#include "GroupManager.h"
#include "Group.h"
#include "ChatColor.h"
diff --git a/source/Simulator/FireSimulator.h b/source/Simulator/FireSimulator.h
index 3031cdba5..0d8a548ef 100644
--- a/source/Simulator/FireSimulator.h
+++ b/source/Simulator/FireSimulator.h
@@ -2,7 +2,7 @@
#pragma once
#include "Simulator.h"
-#include "../BlockEntity.h"
+#include "../BlockEntities/BlockEntity.h"
diff --git a/source/Simulator/RedstoneSimulator.cpp b/source/Simulator/RedstoneSimulator.cpp
index 7bf91cace..989443e41 100644
--- a/source/Simulator/RedstoneSimulator.cpp
+++ b/source/Simulator/RedstoneSimulator.cpp
@@ -2,7 +2,7 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "RedstoneSimulator.h"
-#include "../DispenserEntity.h"
+#include "../BlockEntities/DropSpenserEntity.h"
#include "../Piston.h"
#include "../World.h"
#include "../BlockID.h"
diff --git a/source/UI/SlotArea.cpp b/source/UI/SlotArea.cpp
index abe964454..1886c515c 100644
--- a/source/UI/SlotArea.cpp
+++ b/source/UI/SlotArea.cpp
@@ -6,9 +6,9 @@
#include "Globals.h"
#include "SlotArea.h"
#include "../Player.h"
-#include "../ChestEntity.h"
-#include "../DropSpenserEntity.h"
-#include "../FurnaceEntity.h"
+#include "../BlockEntities/ChestEntity.h"
+#include "../BlockEntities/DropSpenserEntity.h"
+#include "../BlockEntities/FurnaceEntity.h"
#include "../Items/ItemHandler.h"
#include "Window.h"
#include "../CraftingRecipes.h"
diff --git a/source/UI/Window.cpp b/source/UI/Window.cpp
index b21c2adba..c2ce4127e 100644
--- a/source/UI/Window.cpp
+++ b/source/UI/Window.cpp
@@ -2,15 +2,15 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "Window.h"
+#include "WindowOwner.h"
+#include "SlotArea.h"
#include "../Item.h"
#include "../ClientHandle.h"
#include "../Player.h"
#include "../Pickup.h"
#include "../Inventory.h"
-#include "WindowOwner.h"
#include "../Items/ItemHandler.h"
-#include "SlotArea.h"
-#include "../ChestEntity.h"
+#include "../BlockEntities/ChestEntity.h"
diff --git a/source/UI/WindowOwner.h b/source/UI/WindowOwner.h
index 82293b357..b7cbadf01 100644
--- a/source/UI/WindowOwner.h
+++ b/source/UI/WindowOwner.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../BlockEntity.h"
+#include "../BlockEntities/BlockEntity.h"
#include "../Entity.h"
#include "Window.h"
diff --git a/source/WorldStorage/NBTChunkSerializer.cpp b/source/WorldStorage/NBTChunkSerializer.cpp
index a37899c0e..65153c4d8 100644
--- a/source/WorldStorage/NBTChunkSerializer.cpp
+++ b/source/WorldStorage/NBTChunkSerializer.cpp
@@ -5,13 +5,13 @@
#include "Globals.h"
#include "NBTChunkSerializer.h"
#include "../BlockID.h"
-#include "../ChestEntity.h"
-#include "../DispenserEntity.h"
-#include "../DropperEntity.h"
-#include "../FurnaceEntity.h"
-#include "../SignEntity.h"
-#include "../NoteEntity.h"
-#include "../JukeboxEntity.h"
+#include "../BlockEntities/ChestEntity.h"
+#include "../BlockEntities/DispenserEntity.h"
+#include "../BlockEntities/DropperEntity.h"
+#include "../BlockEntities/FurnaceEntity.h"
+#include "../BlockEntities/JukeboxEntity.h"
+#include "../BlockEntities/NoteEntity.h"
+#include "../BlockEntities/SignEntity.h"
#include "../ItemGrid.h"
#include "../StringCompression.h"
#include "../Entity.h"
diff --git a/source/WorldStorage/WSSAnvil.cpp b/source/WorldStorage/WSSAnvil.cpp
index b4b842bbd..14b87670d 100644
--- a/source/WorldStorage/WSSAnvil.cpp
+++ b/source/WorldStorage/WSSAnvil.cpp
@@ -9,13 +9,13 @@
#include "../World.h"
#include "zlib.h"
#include "../BlockID.h"
-#include "../ChestEntity.h"
-#include "../DispenserEntity.h"
-#include "../DropperEntity.h"
-#include "../FurnaceEntity.h"
-#include "../SignEntity.h"
-#include "../NoteEntity.h"
-#include "../JukeboxEntity.h"
+#include "../BlockEntities/ChestEntity.h"
+#include "../BlockEntities/DispenserEntity.h"
+#include "../BlockEntities/DropperEntity.h"
+#include "../BlockEntities/FurnaceEntity.h"
+#include "../BlockEntities/JukeboxEntity.h"
+#include "../BlockEntities/NoteEntity.h"
+#include "../BlockEntities/SignEntity.h"
#include "../Item.h"
#include "../ItemGrid.h"
#include "../StringCompression.h"
diff --git a/source/WorldStorage/WSSCompact.cpp b/source/WorldStorage/WSSCompact.cpp
index 38edeaf37..973cb22e5 100644
--- a/source/WorldStorage/WSSCompact.cpp
+++ b/source/WorldStorage/WSSCompact.cpp
@@ -9,13 +9,12 @@
#include "zlib.h"
#include <json/json.h>
#include "../StringCompression.h"
-#include "../ChestEntity.h"
-#include "../SignEntity.h"
-#include "../DispenserEntity.h"
-#include "../FurnaceEntity.h"
-#include "../NoteEntity.h"
-#include "../JukeboxEntity.h"
-#include "../BlockID.h"
+#include "../BlockEntities/ChestEntity.h"
+#include "../BlockEntities/DispenserEntity.h"
+#include "../BlockEntities/FurnaceEntity.h"
+#include "../BlockEntities/JukeboxEntity.h"
+#include "../BlockEntities/NoteEntity.h"
+#include "../BlockEntities/SignEntity.h"