peterbell10
e27290f7d2
cPawn: Reset last ground height in ResetPosition ( #4261 )
...
Prevents fall damage after teleporting/portaling to a lower height.
Fixes #3457
2018-07-23 17:26:48 +01:00
changyong guo
01e72ddb65
Rewrite explosion knock back ( #4251 )
...
1. Base knockback on an entity's bounding box intersection with the explosion
2. Armor blast protection reduces knockback
3. Don't apply knockback to players flying in creative mode
Fixes #4139
2018-07-23 10:24:00 +01:00
changyong guo
7b0db672d1
Keep players in gmNotSet ( #4248 )
...
This allows players game mode to update to the default after portal to another world.
Fixes #4207
2018-07-23 00:35:32 +01:00
changyong guo
3e802932a6
recover hotbar selected slot after reconnect ( #4249 )
...
1. implement protocol message SendHeldItemChange
2. add save / load inventory equipped item slot in JSON
3. send held item slot message after player connect to server
Fixes #4189
2018-07-22 23:23:33 +01:00
peterbell10
4fbf04413d
Make offline UUIDs consistent with vanilla. ( #4178 )
...
Fixes #4177
This is a breaking change to existing Cuberite permissions settings.
2018-07-20 00:30:09 +01:00
Bond-009
2431b077cd
Add unbreaking for armor ( #4220 )
...
Ref: minecraft.gamepedia.com/Enchanting#Unbreaking
#915
2018-07-12 23:10:15 +01:00
peterbell10
a4dbb5c582
Prefer static_cast to reinterpret_cast ( #4223 )
...
* Change reinterpret_cast -> static_cast wherever possible
* Remove more unnecessary `const_cast`s.
reinterpret_casts should be avoided for the same reason as c-style casts - they don't do any type-checking. reinterpret_cast was mainly being used for down-casting in inheritance hierarchies but static_cast works just as well while also making sure that there is actually an inheritance relationship there.
2018-05-02 08:50:36 +01:00
peterbell10
4bf160d596
Update m_LastSentPosition in TeleportToCoords and DoMoveToWorld. ( #4211 )
2018-04-11 08:39:24 +01:00
peterbell10
d3c1c626f5
Deal with covered switches consistently ( #4161 )
...
* Fixes a number of "<function>: not all control paths return a value" warnings on MSVC.
* Introduces the UNREACHABLE global macro and uses it instead of conditionally compiled switch defaults.
* Move cNBTParseErrorCategory from FastNBT.h into FastNBT.cpp to prevent bad calls to message()
2018-02-04 23:07:12 +00:00
Alexander Harkness
ad22922393
Rename cEntity swim states ( #3996 )
...
* Replace cEntity:m_IsSubmerged with m_IsHeadInWater
* Replace cEntity:m_IsSwimming with m_IsInWater
* Add API documentation for new symbols
* Apply SetSwimState to all entities, not just mobs and players
* Pickups now use IsOnFire to check if they are on fire before destruction
Fixes #3987
2018-01-14 18:44:45 +00:00
Alexander Harkness
2529a89835
Golden Apple Fixes ( #4130 )
...
* Do not remove food item until player has been fed
* Golden apples now ignore hunger when eating
* Removed EnchantedGoldenApple recipe, as it was removed in 1.9
Reference: https://minecraft.gamepedia.com/1.9#Items_2
* Adjust golden apple effects, as they were changed in 1.9
Reference: https://minecraft.gamepedia.com/1.9#Items_2
2018-01-06 00:39:23 +00:00
Alexander Harkness
b4aa19f329
Item durability loss now depends on the item used. ( #4123 )
...
Armour durability also no longer changes when it
is used to break blocks or attack mobs.
Fixes #4119
2018-01-05 11:28:06 +00:00
peterbell10
0bacda3269
Implement horse inventory ( #4053 )
...
* Implement horse inventory
* Fix sign conversions
* Add API doc for ItemCategory::IsHorseArmor
* Improve HandleOpenHorseInventory comment and style fixes.
2017-10-21 17:56:09 +01:00
Lane Kolbly
30c8470a52
Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors ( #3959 )
...
* Made BroadcastSoundEffect take vector parameters.
* Added docs for new vectored methods
* Removed old code
* Fixed lua warnings
* Made old BroadcastSoundEffect not an override.
* m_Block to m_BlockPos, used Vector3d constructor where prettier.
* a_Block to a_BlockPos
* Changed thunderbolt a_Block to a_BlockPos
2017-09-19 15:12:54 +01:00
peterbell10
e225b7f826
Replace ItemCallbacks with lambdas ( #3993 )
2017-09-11 23:20:49 +02:00
Lane Kolbly
b12f4ef7d5
Made world data paths adjustable, and added API to temporarily disable saving chunks to disk. ( #3912 )
2017-09-07 13:41:16 +01:00
Lane Kolbly
dc294cdc51
Switched player statistic store to save with UUID filenames. ( #4002 )
2017-09-07 11:57:12 +02:00
Alexander Harkness
e33eb529ad
Fire effect now shown for creative and spectator mode players ( #3998 )
...
* Fire effect now shown for creative and spectator mode players
Fixes #3989
* Add documentation for IsFireproof
2017-09-07 09:59:08 +01:00
LogicParrot
49c443896d
Revert "Replace ItemCallbacks with lambdas ( #3948 )"
...
This reverts commit 496c337cdf
.
2017-09-02 08:50:23 +01:00
peterbell10
496c337cdf
Replace ItemCallbacks with lambdas ( #3948 )
2017-09-01 13:04:50 +02:00
peterbell10
f4f2fc7c3d
Add cUUID class ( #3871 )
2017-08-25 13:43:18 +01:00
mathiascode
02775e52c4
Minor changes ( #3909 )
2017-08-24 11:19:40 +02:00
Lane Kolbly
f81e6f6b6d
Changed MoveToWorld to ScheduleMoveToWorld in cPlayer::Respawn ( #3922 )
...
* Changed MoveToWorld to ScheduleMoveToWorld
- Removed empty line
2017-08-18 11:40:35 +01:00
Tiger Wang
72d7027861
Merge pull request #3489 from cuberite/EntityOwnership
...
* Changed entity ownership model to use smart pointers
2017-08-18 11:17:56 +01:00
Lane Kolbly
1ec85a2b2c
Add cLuaWindow OnClicked Callback ( #3901 )
2017-08-17 16:27:43 +02:00
Tiger Wang
4ef47aed62
Changed entity ownership model to use smart pointers
2017-08-07 19:24:16 +01:00
peterbell10
79eb4c3aed
Implement invisibility effect
2017-08-03 15:34:38 +02:00
peterbell10
759618b035
Remove double includes part 2 ( #3890 )
2017-08-03 15:34:19 +02:00
Lukas Pioch
4691bc5a29
Removed double includes ( #3885 )
2017-08-02 19:57:20 +01:00
peterbell10
0d0323608d
cBlockHandler: take player by ref
2017-08-01 08:21:20 +02:00
peterbell10
8eb5672920
cWorld::SendBlockTo take player by ref
2017-08-01 08:21:20 +02:00
Lane Kolbly
5402b214b3
Check for intersection between placed blocks and entities. ( #3850 )
...
* Check for intersection between placed blocks and entities.
+ Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks.
* Factored block-entity placement checking into another function in cPlayer.
- Removed vector min/max functions
* Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity.
+ Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
2017-07-28 17:59:21 +01:00
Tiger Wang
eb4432bb62
Tentative fix for player-limit race condition ( #3862 )
...
* Attempts to fix #2257
Derived from d233e9843148313c71fbaba96ccff660e47b07b1
* Changed player count type to int
* Clarified certain actions
2017-07-28 17:54:40 +01:00
Lane Kolbly
87af95b67c
Updated armor cover calculation. ( #3858 )
...
* Updated armor damage calculation.
+ Added lua docs, added casts from float to int.
* Changed verbage in docstring and comment.
2017-07-23 10:46:38 +01:00
Lane Kolbly
a561886bf3
Implemented draggingitem API.
2017-07-10 05:46:04 +02:00
Lane Kolbly
7c7f85117b
Added armor durability reduction when player is attacked.
2017-07-02 07:45:49 +02:00
peterbell10
360d8eade0
FastRandom rewrite ( #3754 )
2017-06-13 21:35:30 +02:00
Lukas Pioch
7922e6addb
Fixes problems with windows:
...
- Changed cPlayer:OpenWindow to accept a ref, tolua adds a nil check
- Close open lua window in destructor, to avoid dangling pointers
2017-06-05 15:14:23 +02:00
Heiko Hund
a0341d561a
Add rank prefix and suffix to player name in chat ( #3730 )
...
Fixes issue #1721
2017-05-27 02:15:56 +01:00
Lukas Pioch
e35ac1bfb9
Clang 5.0 fixes
...
- Added override keyword
- Removed inherited member variables
2017-05-21 12:19:06 +02:00
Lukas Pioch
74ee255cae
Detach player from entity / object if he is dead
2017-03-19 09:48:15 +01:00
mathiascode
dae2adde65
Updated sounds and effect IDs ( #3422 )
2017-02-15 06:05:24 +01:00
Pokechu22
9c2a0bb7b9
Track skin part and main hand preferences ( #3498 )
2017-01-03 21:19:29 +01:00
mathiascode
efc7fed05b
Updated links and docs ( #3488 )
2016-12-19 17:08:19 +01:00
Mattes D
0bffa29358
Removed ClientHandle.h dependencies from common headers.
2016-11-18 20:00:04 +01:00
mohe2015
32b38fb264
Anticheat fastbreak ( #3411 )
...
Added block hardness checks when breaking blocks.
2016-11-06 19:30:19 +01:00
bibo38
cb640ffea4
Spectators added ( #2852 )
2016-10-12 14:38:45 +02:00
sgtbigman
7bcc3535fd
Initialize m_bIsInBed in cPlayer constructor.
...
This fixes an issue where the return value from the IsInBed method of
the cPlayer class in the lua API would not return a boolean value.
2016-10-08 00:58:43 -04:00
LogicParrot
5625598afa
Improve cPlayer::DoMoveToWorld ( #3113 )
2016-09-03 10:39:52 +03:00
LogicParrot
c088f7ff0a
Proper respawn packets on dimension travel
2016-08-29 11:16:06 +03:00