1
0
Commit Graph

11218 Commits

Author SHA1 Message Date
Tiger Wang
a999c5d845 More cProtocol cleanup
* Alpha sort functions
* Simplify hand handling
* Fix left handed mode client-side display
2021-04-12 22:35:07 +01:00
Tiger Wang
63ded9f6b4 Add animations for shield/item block & break 2021-04-12 22:35:07 +01:00
Tiger Wang
99bd05dff5 Add magical critical effect 2021-04-12 22:35:07 +01:00
Tiger Wang
17c091a97f Fix thrown snowball/egg hit animations
+ Snowballs destroy ender crystals
2021-04-12 22:35:07 +01:00
Tiger Wang
2fc86476ae Improve bed handling robustness
+ Boot the player out if the bed was destroyed
2021-04-12 22:35:07 +01:00
Tiger Wang
66c211c33a Unify multiprotocol entity animations 2021-04-12 22:35:07 +01:00
Tiger Wang
956f5bca28 Remove unused GetClassStatic in cWorld 2021-04-12 22:35:07 +01:00
Tiger Wang
9aa85e38a8 Fix incorrect name in deserialiser for zombie pigmen 2021-04-12 22:35:07 +01:00
Tiger Wang
6e80f7544d Update entity sizes 2021-04-12 22:35:07 +01:00
Tiger Wang
1394fc8eb5 Streamline player abilities handling
* Update player list gamemode on world change
* Fix invisibility for spectators, use entity metadata
* Populate m_World for cPlayers on load
- Remove SendPlayerMaxSpeed, a duplicate of SendEntityProperties
2021-04-12 22:35:07 +01:00
Tiger Wang
0f9d424427 Fix block break particles 2021-04-12 22:35:07 +01:00
Tiger Wang
d6b264bc21 Fall particles: check for valid Y 2021-04-12 22:35:07 +01:00
Tiger Wang
4cd49d7eca Fix sending incorrect date values on world change
Yak shave: make more things use cTickTime. Fix a couple of incorrect modulo-on-millisecond-value by making them use WorldTickAge.
2021-04-12 22:35:07 +01:00
12xx12
a2a2226179
Fixed generator for the Mega Taiga biome (#5129)
* Fixed generator for small foliage.
2021-04-12 22:33:14 +01:00
Tiger Wang
64778c6a39 Fix improper destruction of BEs on /regen 2021-04-12 14:09:58 +01:00
Mattes D
0137e71f6b Added override specifiers to overridden functions.
Needed for clang-11 compatibility.
2021-04-12 14:09:52 +01:00
Tiger Wang
04cb4996e2 Update the minimodules 2021-04-12 14:09:18 +01:00
12xx12
8d10f1b26a
fixed build (#5181) 2021-04-08 11:52:43 +00:00
Damián Imrich
befe132861
cPieceModifier interface and cPieceModifierRandomizeBlocks class (#5122) 2021-04-08 12:24:59 +02:00
12xx12
d78bcac150
Obsidian pillars, end fountain, not Ender dragon spawning (#4993)
* added generator for obsidian pillars and central fountain which then is used for the exit portal

* checkstyle

* checkstyle the second

* fixed clang
removed magic number
added Clamp

* make the pillars configurable

* fixed clang
added warning if there was a unknown value if the tower should have a cage or not

* forgot to cancel on unkwon value

* fixed clang this time maybe

* added new generator to generator test

* fixed test

* added prefab generation for end fountain

* fixed checkstyle and updated the prefab

* added ender dragon spawning
made the fountain positioning dynamic
removed fountain placement functions

* added enderdragon stuff to testing

* pls compile

* added changes suggested by @peterbell10

* fixed clang

* added debug for further research on the ARM build

* ok - it wasn't my tower placement

* checking in setup

* readded the fountain schematic

* removed finisher

* readded generator

* removed generator trigger - kept ini file access

* using cChunkDef function to calculate abs pos of endercrystal

* yes, I know it's unused...

* commented everything in the ComposableGenerator.cpp
 - so only the new class in compiled in but not called at all

* don't compile in the new generator at all
(removed from CMakeLists.txt)

* readded the new generator

* readded the new generator

* removed debug output

* made the towers generate acrocc chunk borders

* fixed bad merge

* fixed clang

* fixed clang

* generate the dragon 20 blocks above terrain

* trying to fixed weird undefined reference

* maybe this fixes the weird behaviour

* takes chunk width as parameter now

* added new comments with info to generated structures
removed ender dragon spawning
removed chunkwidth from parameter

* fixed linker

* maybe fixed linking. tried with gc and clang

* fixed ender crystal

* fixed test

* updated output strings

* fixed build

* fixed up test

* fixed test compile

* fixed test - cant get the tests to show up

* removed the semicolon

* maybe this is the fix?

* at this point i have no idea - in MVSC it works

* removed the ender dragon

Co-authored-by: 12xx12 <12xx12100@gmail.com>
2021-04-08 12:18:18 +02:00
Nate
b2eddbed84
Teleport off of mount when throwing enderpearl (#5179)
* Teleport off of mount when throwing enderpearl

* Simplify returning boolean

* Oops forgot a semicolon

* Fix code conventions in Player.h
2021-04-08 12:17:24 +02:00
Nate
8efe55c62c
Change to Cuboid calculation for splash distance (#5176)
* Change to Cuboid calculation for splash distance

* Use ForEachEntityInBox when splash entities

* Remove TODO comment, calculation verified

* Added self to contributors
2021-04-06 16:16:31 +00:00
Damián Imrich
071b7be3d4
Basic elytra flight (#5124)
* Basic elytra flight

Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-04-03 18:45:20 +01:00
Tiger Wang
ce6f8b3557 Fix finisher generating invalid pumpkin
Result was black spot in the ground because the meta exceeded 3 and the client didn't render anything.

Been here since the beginning? fbabf9ee8c/source/FinishGen.cpp (L159)
2021-04-01 00:02:44 +01:00
Tiger Wang
8a30a4a7b8 Player data loading cleanup
* Kick player if data were corrupt to avoid making it worse
2021-03-29 23:36:15 +01:00
Tiger Wang
222d9957a1 cIsThread cleanup
+ Semi-gracefully handle unexpected exceptions
* No-one cared about the return values, remove them
2021-03-29 23:36:15 +01:00
Tiger Wang
8ec5552998
Do an early check for empty network buffers (#5172)
Avoid overhead when nothing to do.
2021-03-29 23:36:00 +01:00
Tiger Wang
abcc14076c Call ProcessProtocolOut at opportune times 2021-03-28 21:20:13 +01:00
Tiger Wang
c24e968f2c Send keep alives slightly less frequently
Ref: http://github.com/cuberite/cuberite/issues/4082#issuecomment-348675321
2021-03-28 15:36:10 +01:00
Tiger Wang
5d11816015 Move some redstone implementations into the source file 2021-03-28 15:36:10 +01:00
Tiger Wang
2687f2df30
Fix chunk block changes being sent out of order (#5169)
* Flush out all pending, buffered changes at the end of each tick, after every chunk is ticked. This makes every block update client-side in unison, instead of unlucky ones only being sent 1 tick later.
* Re-add buffer for outgoing network data; IOCP async WSASend has higher overhead than expected... Fixes regression introduced in 054a89dd9
2021-03-28 14:44:20 +01:00
Tiger Wang
125df19477
Do not fake a tool when converting to pickups (#5170)
* When the cause of destruction was world-induced (CanBeAt check failed) there is no tool. Pass the nullptr directly to ConvertToPickups and let it handle it.
* Fixes #4795
- Remove unused a_Digger parameter to ConvertToPickups.
2021-03-28 14:41:34 +01:00
Tiger Wang
748b121703
Unify DoWithBlockEntity (#5168)
+ DoWith calls now broadcast the block entity and mark the chunk dirty
+ Add block entity change queue to synchronise BE updates with block updates
* Fixed a few incorrect assertions about BE type
- Remove manual overloads
2021-03-28 14:40:57 +01:00
Tiger Wang
5123850db0
Fix Windows XP to 7 compatibility (#5167)
* Partially reverts 01a4e696b
* Unify thread names
- Remove use of GetThreadId API
2021-03-28 13:34:57 +01:00
IceCruelStuff
58d7b7e5c7
Update Copyright year (#5165) 2021-03-26 20:29:23 +00:00
Tiger Wang
90369deb5a
Change TimeOfDay to WorldDate (#5160)
* Change TimeOfDay to WorldDate

* Do not wrap at 20 minutes, continue incrementing
* Fixes #4737
* Fixes #5159
2021-03-20 20:58:19 +00:00
Tiger Wang
55ba39ca0e Don't send ping updates one packet at a time
* Use the batch update feature of the packet.
* Lengthen interval between time and ping update packets (ref. http://github.com/cuberite/cuberite/issues/4082#issuecomment-348675321).
2021-03-19 11:23:30 +00:00
Tiger Wang
e3fe9e5e93 Deduplicate WriteBlockEntity 2021-03-17 23:44:59 +00:00
Tiger Wang
edf9e39ed7 Mob heads, banners cannot be used
* Fixed UsedBy returning true, blocking block placement
2021-03-17 23:44:59 +00:00
Tiger Wang
5ca3a7c2e7 shared_ptr -> unique_ptr in generators 2021-03-17 23:44:42 +00:00
Tiger Wang
3e3c30496d Add heraldry names to banner pattern API docs 2021-03-15 11:07:54 +00:00
12xx12
243083e01a
Adding basic Banner functionality (#4806)
+ Added item and block for banners

Co-authored-by: 12xx12 <12xx12100@gmail.com>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-03-15 02:47:55 +00:00
Tiger Wang
ca5608c66c Derive HugeMushroom from the base handler
ConvertToPickups is already overridden.
2021-03-15 02:44:39 +00:00
Tiger Wang
61cc1c0190 Change Cobblestone block handler to default
Cobblestone shouldn't be handled with the Stone handler.
2021-03-15 02:44:39 +00:00
Tiger Wang
de76503d5c Remove DoesDropOnUnsuitable
This is only overridden false in Vines and Snow. It is called when a CanBeAt check fails, to determine whether DropBlockAsPickups is called. However, Vines and Snow already drop nothing without the right tool, so this function is superfluous.
2021-03-15 02:44:39 +00:00
Tiger Wang
45591cbe7b
Properly deprecate more XYZ parameter'd functions (#5147)
* Fixes #5144
2021-03-15 02:28:18 +00:00
NiLSPACE
c729d7abde
Fixed some death messages showing up even when they are disabled. (#5153) 2021-03-11 21:26:35 +00:00
Tiger Wang
01a4e696b3
Do protocol decryption in-place (with CryptoAPI on Windows) (#5145) 2021-03-08 16:37:36 +00:00
12xx12
3daf253b7f
Some emplace_back replacements (#5149)
* replace push_back with emplace_back when a new object was created in the function call
2021-03-07 16:31:43 +00:00
Tiger Wang
d9a2b8611c
Mitigate MSVC crash (#5146)
Reference: http://ci.appveyor.com/project/Cuberite/cuberite/builds/38087390/job/p857ibg3x87naw36/messages
2021-03-06 12:59:39 +00:00