Tiger Wang
d9d71e1de6
Rail: avoid invalid game states ( #4864 )
...
+ Check CanBeAt
Ref: #4859
Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-13 13:44:20 +00:00
Tiger Wang
33f3c18bc1
Beds: derestrict clicking block face ( #4863 )
...
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 ( #4858 )
...
* 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 ( #4845 )
...
* 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. ( #4852 )
2020-09-10 00:17:06 +01:00
12xx12
c2f8ceb554
Add more statistic tracking ( #4837 )
...
+ 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 ( #4826 )
...
- 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 #4847
2020-09-03 22:25:35 +01:00
Alexander Harkness
a3b5cba6be
Define _DEBUG macro for tests and main server ( #4843 )
...
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 #2324
2020-08-28 21:22:44 +01:00
Tiger Wang
b084f1f13f
Remove unneeded MarkDirty, SendToClients parameters of SetMeta
...
Partially reverts #3129 , whose addition of these parameters was superseded by #3149 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: 5176c22656
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 ( #4834 )
...
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 ( #4829 )
...
+ 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