1
0

11012 Commits

Author SHA1 Message Date
Tiger Wang
d9d71e1de6
Rail: avoid invalid game states ()
+ Check CanBeAt
Ref: 

Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-13 13:44:20 +00:00
Tiger Wang
33f3c18bc1
Beds: derestrict clicking block face ()
Ref: https://github.com/cuberite/cuberite/issues/4860#issuecomment-691545904
2020-09-13 10:58:39 +00:00
Tiger Wang
198407807f
Reverse order of ChunkSender priorities ()
* Reduces confusion when using overloaded operator< and priority_queue

Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-09-12 19:43:18 +00:00
Tiger Wang
93adbdce9a
Use tracing for explosions ()
* TNT: Implement tracing algorithm

+ Add intensity tracing
* Fix iterating over all players to SendExplosion, even those not in range

* Implemented TNT entity interaction

* Fixed misaligned destruction tracing

* Finalise TNT algorithm

- Remove BlockArea and just use chunks

Using SetBlock makes it so that we can update everything properly, and does appear to be faster.

* BlockInfo learns about explosion attentuation

* Rename Explodinator parameters

* TNT: pull block destruction into common function

Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-12 18:57:44 +00:00
SatoKaito
834d61dacc
fixed missing include for FreeBSD. () 2020-09-10 00:17:06 +01:00
12xx12
c2f8ceb554
Add more statistic tracking ()
+ Added possible 1.8 stats
+ Added stat tracking for 1.8.2
+ Added stat tracking for 1.9
+ Added the breed cow achievement

Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-09-05 16:13:44 +01:00
12xx12
2d197e147e
Use pitch lookup in noteblock block entity ()
- Removed the calculation in the noteblock block entity

I did the calculation in python if anyone is interested where the numbers are from

Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-09-05 16:07:01 +01:00
Tiger Wang
040380321c WriteConsoleInput can return FALSE when running as servic 2020-09-05 14:23:54 +01:00
Tiger Wang
29808c61c9 Reformat messages in NonCtrlHandler 2020-09-05 13:41:42 +01:00
Tiger Wang
1bc12ba2b3 Streamline startup sequence
* Clean up cRoot & main
* Move some OS-specifics into OSSupport
2020-09-05 13:16:52 +01:00
Tiger Wang
5e670a050b Rename AddEntityIfNotPresent to AddPlayer
+ Always make a chunk for the player to go into
* Fixes 
2020-09-03 22:25:35 +01:00
Alexander Harkness
a3b5cba6be
Define _DEBUG macro for tests and main server ()
Cuberite can now ASSERT its own failure once again...

Signed-off-by: @tigerw
2020-08-30 15:32:03 +00:00
Tiger Wang
f84e805453 Entities can fail to add into a chunk
- MoveEntityToNewChunk, AddEntity can fail. Ensure we handle these cases correctly
2020-08-29 21:34:21 +01:00
Tiger Wang
07ffd9f6f3 Unused/duplicate function cleanup
* FaceIntToBlockFace in 1.8/1.9 protocol merged
- Removed undefined permissions stuff in Player header
2020-08-29 16:47:40 +01:00
Tiger Wang
d2e92440eb Remove redundant DoWithChunkAt in chests 2020-08-28 21:43:12 +01:00
Tiger Wang
5d736b653f Minor style fixes 2020-08-28 21:42:37 +01:00
Tiger Wang
c1ffed60ec FastNBTWriter: AddString now uses string_view
* Avoids an allocation for all those string literals we pass in
2020-08-28 21:42:18 +01:00
Tiger Wang
8fa8ee96fc Broadcaster: don't loop over all entities to broadcast one's position
* Use ForClientsWithEntity
2020-08-28 21:41:18 +01:00
Tiger Wang
be121f9e80 Save enderchest block entities to storage
+ Add EnderChest saving, as Vanilla does
- Remove CreateBlockEntities. Storage should save & load everything so looping over chunk data is not needed
2020-08-28 21:40:40 +01:00
Tiger Wang
da9158937d WorldStorage: Removed unused callback parameters 2020-08-28 21:36:46 +01:00
Tiger Wang
071aee6c79 Clean up pickup collection to use ForEachEntityInBox 2020-08-28 21:35:38 +01:00
Tiger Wang
167247328a Chunk: Make StayCount/AlwaysTicked unsigned 2020-08-28 21:34:23 +01:00
Tiger Wang
7023548de0 Simplify MoveEntityToNewChunk
- No longer try getting from the chunkmap if GetNeighborChunk fails, since nothing else does this and entities (in future) will not tick close to an unloaded chunk edge
* GetRelNeighborChunk uses FindChunk
2020-08-28 21:32:46 +01:00
Tiger Wang
08bd77e547 Clean up GenerateChunk/TouchChunk
- Remove TouchChunk
- Remove unused bool return value in GenerateChunk
- Remove ShouldGenerateIfLoadFailed
2020-08-28 21:26:04 +01:00
Tiger Wang
72ae5ecb5a ChunkMap: do not wantonly make empty chunks
- Removed calls that constructed an empty chunk, found it was invalid, and did nothing with said chunk

Partially addresses 
2020-08-28 21:22:44 +01:00
Tiger Wang
b084f1f13f Remove unneeded MarkDirty, SendToClients parameters of SetMeta
Partially reverts , whose addition of these parameters was superseded by  that fixed generated leaves' metas.

References:
https://github.com/cuberite/cuberite/pull/4417#discussion_r334950513
e0bcd754009f16480437b2c1fa5e7fbedab31496
2020-08-28 21:08:06 +01:00
Tiger Wang
ecd8f0c0de 1.13+: Send length-prefixed server Brand string
Ref: 5176c22656a8fb5485ab04100daa93bb761bb8f6
2020-08-28 21:08:06 +01:00
Mattes D
3d7acb6d10 Removed const 2020-08-27 17:32:48 +01:00
Mattes D
c98a2d9acf Changed tree-growing functions in cWorld to use Vector3i coords. 2020-08-27 17:32:48 +01:00
Mattes D
0e3039d44c Added a "reloadweb" command for reloading web admin config. 2020-08-27 17:32:32 +01:00
Azurethi
d2de029c02
Fixed windows hack in Compile.sh ()
the exit command causes the entire shell to close before the user can read the message. Clear added to get rid of console spam from not windows cmds
2020-08-26 10:42:51 +00:00
Peter Bell
fa917259a5 Fix doors and trapdoors closing on server restart 2020-08-25 21:38:49 +01:00
Tiger Wang
a473e8ba52 ChunkDataSerializer: don't repeatedly mallocate
+ Store an instance of the class, the way it seems it is meant to be used.
2020-08-21 18:22:04 +01:00
Tiger Wang
440523b022 CompressPacket: reserve CompressedSize, not the uncompressed size
+ Assign the length data to a_CompressedData to overwrite it, mirroring the behaviour of cByteBuffer::ReadAll
2020-08-21 18:17:45 +01:00
Tiger Wang
8620f6a13e StatSerializer: use std::move 2020-08-21 18:15:34 +01:00
Tiger Wang
e23dcffaff Make StatSerializer a namespace 2020-08-21 00:53:10 +01:00
Tiger Wang
8cca3db61b Consolidate various Chunk serialisers under one roof
* Merge most into WriteSectionDataSeamless
2020-08-21 00:53:10 +01:00
Tiger Wang
2d28d681c7 Remove unused variables in ChestEntity/BlockEntityWithItems 2020-08-21 00:53:10 +01:00
Tiger Wang
82d251b71b Made cProtocol::Version, EntityMetadata enums less verbose 2020-08-21 00:53:09 +01:00
Tiger Wang
9a9079d3da Remove complex templated SendBlockChange
If we're sending enough blocks to have virtual calls be an issue, we should resend the chunk instead.
2020-08-21 00:53:09 +01:00
Tiger Wang
d8c8d0124d Replace PowerData struct with PowerLevel
* We no longer need to track the powering block with the removal of SolidBlockHandler. PowerLevel is now just an unsigned char
2020-08-21 00:50:09 +01:00
Tiger Wang
03557e978e cChunk's deleted copy constructor needs const 2020-08-21 00:50:09 +01:00
Tiger Wang
d1b0d0f5b5 Remove level of indirection in cChunk storage
- No more unique_ptr storage
2020-08-21 00:50:09 +01:00
Tiger Wang
3143d6ce67 Remove std::make_unique from redstone handler creation 2020-08-21 00:50:09 +01:00
Tiger Wang
6617d43983 Minor typo fixes
* Also DeMorgan'd Emerald ore condition
2020-08-21 00:50:09 +01:00
Alexander Harkness
b230b547b6
More tar incompatibility changes
Why not just agree on a single type of tar?
2020-08-20 21:09:54 +00:00
Alexander Harkness
6ded83f8f2
Exclude .git only, mac has inferior tar
(not sticky enough)
2020-08-20 20:48:58 +00:00
Alexander Harkness
8e0b210e66
Exclude VCS files from archives for jenkins binaries 2020-08-20 20:34:13 +00:00
12xx12
70ab8d2f96
Adding block entity transmission to 1.13 ()
+ Adding block entity transmission to 1.13
+ Added HandlePacketSetBeaconEffect

Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-08-19 20:46:03 +01:00
Tiger Wang
963ec77575 Add statistics upgrade mapping 2020-08-19 20:45:27 +01:00