1.8 clients seem to dislike "resurrecting" a dead player entity, doing
so results in the player entering a glitched state where its nickname
is displayed on the feet and they can't be attacked by melee. Destroying
and recreating the client-side entity at respawn time seems to fix the
glitch, and does not seem to affect more modern clients.
* Save maps every 5 minutes
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Only save maps with changes
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Maps created with non-default values are immediately dirty
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Apply suggestions from code review
* Fix spacing for clang-tidy
---------
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
Co-authored-by: Alexander Harkness <me@bearbin.net>
* Fix access to uninitialized space
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Same fix to other noise generate functions
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Skip the last Cell.Move
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Add comments
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
---------
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Preserve banner names across place and pick up
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Update src/BlockEntities/BannerEntity.h
---------
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
Co-authored-by: Alexander Harkness <me@bearbin.net>
* Set TCP_NODELAY on connections
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Windows wants a char * not a void * :-(
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* And clang objects to old style casts
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
---------
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Fix filename template for saved maps
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* First patch - added to CONTRIBUTORS
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
---------
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* Moved end generator back to 3d perlin noise
* Replaced magic numbers where constants are available
* Use auto instead of NOISE_DATATYPE
Fixed redeclaration of distanceFromSpawn variable
Renamed EndGenIslandFlatness optoin to EndGenIslandThickness
* First Draft of adding endermite
* Update src/Mobs/Endermite.h
Co-authored-by: x12xx12x <44411062+12xx12@users.noreply.github.com>
* Adding Protocols + SpawnEgg
TODO: don't forget to put the endermite in core plugin for the summon
command
* Adding endermite to monster.ini
* Adding 5% change of spawning endermite when throwing enderpearl
* Spawn endermite at last position instead of Hit Position + .cache to .gitignore
* fixup! Spawn endermite at last position instead of Hit Position + .cache to .gitignore
* destroy endermite if 2 min, not if name is set
* Syntax
* Adding Enderman targeting endermite + fixing syntax
* Fixing compile error + return error [but crash on enderman spawn]
* Fix crash but enderman doesn't target
* Enderman targeting endermite finished
* checking style because i'm a noob at git...
* fixup! checking style because i'm a noob at git...
* Added endermite egg meta to docs
* Final touches
Removed unnecesary imports
fixed callback to run only in sight distance and actually check sigtlines
* Fixed error after not pulling branch
---------
Co-authored-by: x12xx12x <44411062+12xx12@users.noreply.github.com>
Co-authored-by: Debucquoy <debucqquoy.anthony@gmail.com>
Regession from #5085
```
[ 79%] Building CXX object Tools/ProtoProxy/CMakeFiles/ProtoProxy.dir/Connection.cpp.o
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:337:26: error: use of undeclared identifier 'AF_INET'
m_ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:337:35: error: use of undeclared identifier 'SOCK_STREAM'
m_ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:337:48: error: use of undeclared identifier 'IPPROTO_TCP'
m_ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:342:2: error: unknown type name 'sockaddr_in'
sockaddr_in localhost;
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:343:25: error: use of undeclared identifier 'AF_INET'
localhost.sin_family = AF_INET;
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:346:53: error: unknown type name 'sockaddr'
if (connect(m_ServerSocket, reinterpret_cast<const sockaddr *>(&localhost), sizeof(localhost)) != 0)
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:362:29: error: use of undeclared identifier 'recv'
int res = static_cast<int>(recv(m_ServerSocket, Buffer, sizeof(Buffer), 0)); // recv returns int on windows, ssize_t on linux
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:402:29: error: use of undeclared identifier 'recv'
int res = static_cast<int>(recv(m_ClientSocket, Buffer, sizeof(Buffer), 0)); // recv returns int on Windows, ssize_t on Linux
^
/home/bond/dev/cuberite/Tools/ProtoProxy/Connection.cpp:451:29: error: use of undeclared identifier 'send'
int res = static_cast<int>(send(a_Socket, reinterpret_cast<const char *>(a_Data.data()), a_Data.size(), 0)); // Windows uses int for a_Size, Linux uses size_t; but Windows doesn't complain. Return type is int on Windows and ssize_t on Linux
^
[ 79%] Building CXX object CMakeFiles/Cuberite.dir/Unity/unity_38_cxx.cxx.o
9 errors generated.
```
This adds a Macro which simply identifies the function and class name for error messages. Examples taken from the MojangAPI class [Choosen because I worked on that]
processing is done during compile time. Should be cross compatible