| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
+ Add ability to coalesce before spawning in to world.
* Adapt coalescing for pickup entities already in the world to be more like Vanilla.
|
|
|
|
|
| |
+ Keep a list of spectators so that pointer clean-up can happen when the spectated is killed.
* Fix invalid game state when riding/spectating and then entering or leaving spectator mode.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Spectation: add dedicated pathway for spectator mode
+ Sync player rotation with spectated entity.
+ Add dedicated infrastructure to cPlayer for handling spectation, instead of misusing entity riding.
* Avoid infinite recursion when exiting spectation, fixes #5296
* AttachTo: Change parameter to reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixing bugs regarding wolfs and ocelots
* Death messages appear after killing tamed ocelots and wolfs
* Style fix
* Added myself to the CONTRIBUTORS file
* Removed redundant string initialization
* Removed an unsafe cast.
* Changed the order of initialization of fields in constuctor of class cOcelot
|
|
|
|
| |
* resets ticks alive on death
* updated the comment in the .h file
|
| |
|
| |
|
|
|
|
|
|
| |
* Basic elytra flight
Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* notchian totem of undying
* ...
* ....
* Update src/Entities/Pawn.cpp
Co-authored-by: Alexander Harkness <me@bearbin.net>
* DeductTotem func
* fixed build errors
* Added myself to CONTRIBUTORS
* Small changes
Co-authored-by: Peter <peter@cassoviacode.com>
Co-authored-by: Alexander Harkness <me@bearbin.net>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
|
|
|
|
|
|
|
|
| |
+ A cPlayer, once created, has a strong pointer to the cClientHandle. The player ticks the clienthandle. If he finds the handle destroyed, he destroys himself in turn. Nothing else can kill the player.
* The client handle has a pointer to the player. Once a player is created, the client handle never outlasts the player, nor does it manage the player's lifetime. The pointer is always safe to use after FinishAuthenticate, which is also the point where cProtocol is put into the Game state that allows player manipulation.
+ Entities are once again never lost by constructing a chunk when they try to move into one that doesn't exist.
* Fixed a forgotten Super invocation in cPlayer::OnRemoveFromWorld.
* Fix SaveToDisk usage in destructor by only saving things cPlayer owns, instead of accessing cWorld.
|
|
|
|
|
|
|
|
|
|
| |
* Fix potential destruction crashes
* Fix destructors accessing destroyted objects
* Fix cPlayer not destroying windows (Destroyed never called)
* Tentatively fixes #4608, fixes #3236, fixes #3262
- Remove cEntity::Destroyed() and replace with cEntity::OnRemoveFromWorld()
* Add missing call to OnRemoveFromWorld
|
|
|
|
|
|
| |
* Added magma block contact damage
* Fireproof entities do not take damage from magma
* Fire resistance prevents magma damage
* No magma damage when hovering over magma block
|
|
|
|
|
| |
- Remove improper accesses in cChunk destructor
* Fixes #4894
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
|
|
|
|
| |
* Make puking pickups fly nicer
* Improve entity position updates
* Move determination of whether a delta is too big for a packet into the protocol handlers
+ Less jittery movement
+ Generalise CollectEntity to take any entity
|
|
|
| |
* Buttons can now be triggered by arrows.
|
|
|
| |
* Add cEntity::GetBoundingBox, and use where appropriate.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Prevent player from being destroyed by plugins
Add manual binding, bails out with error message if attempted
entity to destroy is player.
* Improve warnings and documentation, remove automatic binding
* Remove old and unnecessary deprecated function
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix armor protection
* Check min damage
* Check min damage
* Commit missing changes
* Convert to int
* Use float
* Float some more
|
|
|
| |
* Don't send entity velocity for boats
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Stabilise MoveToWorld
* Fix comments and deprecate ScheduleMoveToWorld
* Enhanced thread safety for m_WorldChangeInfo
* Return unique_ptr from cAtomicUniquePtr::exchange
* cWorld now calls entity cEntity::OnAddToWorld and cEntity::OnRemoveFromWorld.
Allows broadcasting entities added to the world from the world's tick thread.
This also factors out some common code from cEntity::DoMoveToWorld and cEntity::Initialize.
As a consequence, cEntity::Destroy(false) (i.e. Destroying the entity without broadcasting) is impossible.
This isn't used anywhere in Cuberite so it's now deprecated.
* Update entity position after removing it from the world.
Fixes broadcasts being sent to the wrong chunk.
* Fix style
* cEntity: Update LastSentPosition when sending spawn packet
* Add Wno-deprecated-declarations to the lua bindings
* Kill uses of ScheduleMoveToWorld
|
| |
|
| |
|
|
|
|
| |
Closes #4357
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move Broadcast functions from cChunkMap to cBroadcaster
- Remove cBroadcastInterface in favour of cBroadcaster.
- cChunk: Remove broadcast functions.
* resurect broadcast interface
* Absorb cBroadcaster into cWorld.
Removes the need for forwarding the function calls.
* Improve const-correctness
* Use Int8 instead of char
+ Comment `ForClients` functions
* Improve comments
* Broadcaster: Rename ForClients functions
|
|
|
|
|
| |
Prevents fall damage after teleporting/portaling to a lower height.
Fixes #3457
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Hi,
I found cuberite don't support to press key "F" to swap items on main hand and offhand, so I implemented this feature.
Best regards
Changyong
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix #4024
* Fix clang error
* Add comment
* Fix behaviour
* Save Health as float
* Changed m_Health to float
* Remove redundant static_cast
* Fix casts
|
|
|
| |
Fixes isue #2925
|
| |
|
| |
|
|
|
|
|
|
| |
+ Added GetLastSentPos
* Fixed spawn position bug in 1.8.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* Updated armor damage calculation.
+ Added lua docs, added casts from float to int.
* Changed verbage in docstring and comment.
|
| |
|
|
|
| |
Fixes #3603
|
| |
|
| |
|
| |
|
|
|
| |
protocol for vehicles now properly handled, protocol for boat paddles now properly handled, boats can no longer spawn underwater, boats now properly float, boat metadata now properly broadcasted.
|
|
|
|
| |
* Fixes #3216
|
| |
|
| |
|
| |
|
|
|
|
| |
cPawn instances can no longer push an entity they are attached to. cEntity now has a IsAttachedTo method.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This not only provides fire resistence, but also prevents blaze fireballs.
See #2556
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Spaces around some operators are checked.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
|
| |
|
|\ |
|
| | |
|
|/
|
|
| |
This makes Lua scripts easier, as they don't need to cast values from cEntity to the specific descendant.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/ClientHandle.cpp
src/ClientHandle.h
src/Protocol/Protocol.h
src/Protocol/Protocol125.cpp
src/Protocol/Protocol125.h
src/Protocol/Protocol17x.cpp
src/Protocol/Protocol17x.h
src/Protocol/ProtocolRecognizer.cpp
src/Protocol/ProtocolRecognizer.h
src/World.cpp
src/World.h
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
src/World.h
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/Chunk.cpp
src/Entities/Player.cpp
src/Root.cpp
src/World.cpp
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fixes end portals' solidity
* Fixed crashes to do with multithreading and removing an entity from
the wrong world
* Fixed crashes due to bad merge
* Fixed crashes due to an object being deleted twice
* Simplified cWorld::Start() and added comments to configuration files
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/Blocks/WorldInterface.h
src/ClientHandle.cpp
src/ClientHandle.h
src/Entities/Player.cpp
src/Entities/Player.h
src/Generating/FinishGen.cpp
src/Protocol/Protocol.h
src/Protocol/Protocol125.cpp
src/Protocol/Protocol125.h
src/Protocol/Protocol16x.cpp
src/Protocol/Protocol16x.h
src/Protocol/Protocol17x.cpp
src/Protocol/Protocol17x.h
src/Protocol/ProtocolRecognizer.cpp
src/Protocol/ProtocolRecognizer.h
src/Root.h
src/World.cpp
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This was mostly done automatically and then visually inspected for obvious errors.
All //-style comments should have a 2-space separation from the code, and 1 space after the comment sign.
|
| |\ |
|
| | |\
| | | |
| | | | |
Death messages
|
| | | | |
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/Entities/Player.cpp
src/Entities/ProjectileEntity.cpp
|
| | |/ |
|
| | | |
|
| |/ |
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/Chunk.cpp
src/Entities/Entity.h
src/Entities/Player.h
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Furnace.txt: newline
BlockID: removed extraneous dimension mapping
cEntity: fixed typo
cPlayer: WorldPtr typedef
|
| |
| |
| |
| | |
It wasn't really working and needs more development
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/ClientHandle.cpp
src/Entities/Player.cpp
src/Entities/Player.h
src/Protocol/Protocol125.cpp
src/Protocol/Protocol17x.cpp
|
| |
| |
| |
| | |
Fixes #1039, fixes #851
|
| |
| |
| |
| | |
This alone doesn't work properly yet, further changes to cPlayer are needed.
|
| | |
|
|/ |
|
|\
| |
| | |
Implemented cacti damage
|
| |
| |
| |
| |
| | |
+ Implemented cacti damage
* Fixed pickup tossing (PR #994 bug)
|
|/ |
|
| |
|
|\ |
|
| |\
| | |
| | | |
Add entity invulnerable
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Other small changes.
|
| |/ |
|
| |
| |
| |
| |
| | |
* Also fixed a potential issue with position sending - if someone moved
slowly enough, their position would never be updated.
|
|\|
| |
| |
| |
| | |
Conflicts:
src/World.h
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Prevent any entities with the m_Fireproof flag from taking fire or lava damage.
|
|/
|
|
| |
* Added comments to BroadcastMovementUpdate() and the collision tracer
|
|\
| |
| | |
Fixes to redstone & general
|
| |
| |
| |
| |
| | |
* Entities properly handle chunks
* Changed EntityStatus enums to be less shouty
|
|/
|
|
|
|
|
| |
+ Added new AI rules handling cacti and large heights
* Fixed cIniFile not recognising comments in cIniFile::ReadFile()
* Fixed users.ini not being properly generated
* Changed all instances of (int)floor(GetPosXXX()) to POSXXX_TOINT
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
src/ChunkMap.cpp
|
| | |
|
|/
|
|
|
|
|
| |
+ TNT now has a chance of flinging FallingBlock entities around
* Improved TNT damage
* Improved TNT spawning visuals
* Possible fix for 'SetSwimState failure' messages in debug
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/Entities/Entity.h
src/WorldStorage/NBTChunkSerializer.cpp
|
| |
| |
| |
| | |
+ Implemented paintings
|
|/
|
|
|
| |
+ Implemented Item Frames
* Fixed Pitch and Yaw being wrongly flipped in the protocol (XOFT!)
|
|
|
|
|
|
| |
+ Implemented mobile fall damage
* Formatting fixes
+ Defined new Position->Integer macros
|
|
|
|
|
| |
* Implemented mob drowning
* Iron Golems and squids are excluded
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Players now search for an area around themselves to teleport to when
detaching from something
|
|
|
|
| |
Also removed an unused inline header file (yuck).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Conflicts:
VC2008/MCServer.vcproj
|
|
|