summaryrefslogtreecommitdiffstats
path: root/src/Entities (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-05-05Move item placement into item handlers (#5184)Tiger Wang2-22/+29
* Move item placement into item handlers + Add appropriate CanBeAt checks in cPlayer::PlaceBlocks, into which all placement handlers call. * Partly addresses #5157 * Fixes #4878 * Fixes #2919 * Fixes #4629 * Fixes #4239 * Fixes #4849 Co-authored-by: changyong guo <guo1487@163.com> Co-authored-by: Xotheus <shady3300@outlook.com> Co-authored-by: Krist Pregracke <krist@tiger-scm.com> * Review fixes * Update APIDesc.lua * Rename Co-authored-by: changyong guo <guo1487@163.com> Co-authored-by: Xotheus <shady3300@outlook.com> Co-authored-by: Krist Pregracke <krist@tiger-scm.com>
2021-05-04Rename files to match codeTiger Wang2-4/+4
2021-05-03Add player statistics to API (#5193)nshah254-42/+46
* Fixed issue #5166 Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-04-30Added functionality: mobs now enter boats and minecarts (#5214)jclever773-0/+83
* Added functionality: mobs now enter boats and minecarts when coming into collision with them. * Fixed basic style errors, nothing else * Added self to contributors and reverted .gitignore to original state.
2021-04-21Resets ticks alive on death (#5197)12xx122-1/+2
* resets ticks alive on death * updated the comment in the .h file
2021-04-12Thrown potions/enderpearls: cleanupTiger Wang6-149/+66
2021-04-12cPlayer: move some constants out of headerTiger Wang2-10/+10
2021-04-12More cProtocol cleanupTiger Wang2-18/+30
* Alpha sort functions * Simplify hand handling * Fix left handed mode client-side display
2021-04-12Add animations for shield/item block & breakTiger Wang1-1/+27
2021-04-12Add magical critical effectTiger Wang1-5/+20
2021-04-12Fix thrown snowball/egg hit animationsTiger Wang4-109/+48
+ Snowballs destroy ender crystals
2021-04-12Improve bed handling robustnessTiger Wang1-1/+10
+ Boot the player out if the bed was destroyed
2021-04-12Unify multiprotocol entity animationsTiger Wang5-49/+15
2021-04-12Update entity sizesTiger Wang26-52/+52
2021-04-12Streamline player abilities handlingTiger Wang3-103/+73
* 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-12Fall particles: check for valid YTiger Wang1-9/+12
2021-04-12Fix sending incorrect date values on world changeTiger Wang4-16/+13
Yak shave: make more things use cTickTime. Fix a couple of incorrect modulo-on-millisecond-value by making them use WorldTickAge.
2021-04-08Teleport off of mount when throwing enderpearl (#5179)Nate3-3/+38
* Teleport off of mount when throwing enderpearl * Simplify returning boolean * Oops forgot a semicolon * Fix code conventions in Player.h
2021-04-06Change to Cuboid calculation for splash distance (#5176)Nate1-9/+6
* Change to Cuboid calculation for splash distance * Use ForEachEntityInBox when splash entities * Remove TODO comment, calculation verified * Added self to contributors
2021-04-03Basic elytra flight (#5124)Damián Imrich7-182/+368
* Basic elytra flight Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-03-30Player data loading cleanupTiger Wang2-164/+88
* Kick player if data were corrupt to avoid making it worse
2021-03-28Call ProcessProtocolOut at opportune timesTiger Wang1-3/+3
2021-03-20Change TimeOfDay to WorldDate (#5160)Tiger Wang2-3/+3
* Change TimeOfDay to WorldDate * Do not wrap at 20 minutes, continue incrementing * Fixes #4737 * Fixes #5159
2021-03-19Don't send ping updates one packet at a timeTiger Wang2-14/+0
* 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-15Properly deprecate more XYZ parameter'd functions (#5147)Tiger Wang5-24/+21
* Fixes #5144
2021-03-11Fixed some death messages showing up even when they are disabled. (#5153)NiLSPACE1-5/+1
2021-03-07Some emplace_back replacements (#5149)12xx123-3/+3
* replace push_back with emplace_back when a new object was created in the function call
2021-02-07Fix #5118Tiger Wang6-556/+452
2021-01-28Creative mode hits immediately disappear boats (#5117)Simerson1-0/+10
Instant destroy boat in creative mode + boat one-shot in creative mode + Add boat instant destroy in creative + Instant break boat in creative
2021-01-22End crystal placement (#5112)Damián Imrich1-7/+8
* End crystal placement * End crystal placement - fixed error and added some comments * Removed unused includes * Update src/Items/ItemEndCrystal.h Co-authored-by: Alexander Harkness <me@bearbin.net> * End Crystal placement, early-return pattern enforcement * End crystal Item finish? * Small changes Fixed a crashbug in ender crystal destruction. According to vanilla 1.16 testing, end crystals don't place if any entity intersects the box, not just other end crystals. Check return value of SpawnEnderCrystal. Add header in SeeMake. Cafe Stile Redux. * The stylechecker relies on CMakeLists * There is another Co-authored-by: Alexander Harkness <me@bearbin.net> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-01-22Implementation of totem of undying behaviour (#5111)Damián Imrich3-0/+56
* 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>
2021-01-18cChunk: don't inherit from cChunkDef (#5106)Tiger Wang1-1/+1
2021-01-12Clarify cClientHandle, cPlayer ownership semanticsTiger Wang4-367/+244
+ 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.
2021-01-11Convert most calls to blocking GetHeight/GetBiomeAt to direct chunk accessesTiger Wang2-10/+18
* Hopefully fixes #5094
2021-01-02Fix potential destruction crashes (#5095)Tiger Wang9-162/+148
* 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
2020-11-25Added magma block contact damage (#5055)Aiden Neill3-4/+53
* 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
2020-11-06Ender Crytal Fix and report proper cmake file for luabindingscheck fail (#5017)12xx123-16/+62
* fixed network fixed explosion fixed ticking added network broadcast to Setter method added nullptr protection using macros in 1.10 Protocol_1_10.cpp revealed functions to LUA API small fixups, typos, less functions used fixed more doc readded info that saving is done only if the beam is displayed made the constructor transfer all needed members fixed wrong commit removed default parameters on SpawnEnderCrystal fixed wrong metadata moved call to destroy in the right place fixed some typos Fixed Ender Crystal * fixed documentation * fixed doc and added proper error message * Parameters, arrows * Parameters Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-11-06Players are no longer kicked when clicking on bedrock (#5023)Tiger Wang2-18/+9
* Players are no longer kicked when clicking on bedrock * Fixes #5022
2020-10-29Add beam target, configurable base visibility to Ender Crystals (#5010)12xx122-5/+26
* Fixes #4990 Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-10-15added const correctness on some functions in cPlayer (#4999)12xx122-4/+7
Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-10-05Fix cmake not adding Werror on clang, and _lots_ of warnings (#4963)peterbell103-6/+10
* Fix cmake not adding Werror on clang, and _lots_ of warnings * WIP: Build fixes * Cannot make intermediate blockhandler instance * Tiger's changes * Fix BitIndex check * Handle invalid NextState values in cMultiVersionProtocol Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-10-02Fix instant mining of blocks not being recognised, tweak anti-cheat (#4938)KingCol132-26/+81
* Tried to fix a small issue... Ended up rewriting a bunch of god awful, opaque code with no source and no sense. Who names a function GetPlayerRelativeBlockHardness??? It's gone now. We're safe again. * Testing anti-cheat. * Tidy up debug logging. * Remove empty member declaration. * Rewrite GetDigSpeed slightly for better readability. * GetMiningProgressPerTick now returns 1 when instantly mined. Fixed hasily written typo. * Comment style and typo fixes.
2020-10-01Enchanting table shows detail on hover. Enchanting is deterministic. (#4937)KingCol132-0/+31
* Use lapis for enchanting, subtract correct number of levels, ClientHandle now selects from pregenerated list. Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-09-25Do not call into things we don't own in destructorsTiger Wang2-18/+0
- Remove improper accesses in cChunk destructor * Fixes #4894
2020-09-22Added dtEnvitonment to player damage text (#4925)12xx121-0/+1
+ Added dtEnvironment to string conversion + Added dtEnvironment to player damage strings
2020-09-20BlockHandler initialisation is a constant expression (#4891)Tiger Wang2-5/+3
* BlockHandler initialisation is a constant expression If we can't make it all namespaces, this is the next best I guess. + Tag handlers constexpr, const as needed + Inherit constructors * Privatise handler functions * More constexpr Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-19Fixed missing case: in entity damaging crashin the server (#4899)12xx121-0/+1
* made snow golems not crashing the server anymore * changed damage type to environment * updated damage in API dopcumentation and changed enderman damage type * removed incidental d in the code * added dtEnvironment to ArmorCoversAgainst Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-17Add some const qualifiers to functions (#4874)12xx122-4/+4
* add some const qualifiers to functions * added changes suggested by @tigerw Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-09-12Use tracing for explosions (#4845)Tiger Wang3-11/+13
* 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-05Add more statistic tracking (#4837)12xx121-5/+30
+ 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-08-29Entities can fail to add into a chunkTiger Wang1-5/+0
- MoveEntityToNewChunk, AddEntity can fail. Ensure we handle these cases correctly
2020-08-29Unused/duplicate function cleanupTiger Wang1-3/+0
* FaceIntToBlockFace in 1.8/1.9 protocol merged - Removed undefined permissions stuff in Player header
2020-08-21Make StatSerializer a namespaceTiger Wang1-4/+2
2020-08-19Add Statistics and Achievements for newer Network standards12xx124-66/+66
2020-08-09Fix arrows preventing block placemention2322-0/+12
2020-08-04OnBroken/OnPlaced are for entity actionsTiger Wang1-8/+6
* Call OnPlaced/OnBroken in PlaceBlock/DigBlock - Remove unused Placing/Breaking handlers * Have the blockhandler's Check handle neighbour updating, instead of QueueTickBlockNeighbors
2020-08-01Replaced cpp14::make_unique<> with std::make_unique<>.Mattes D2-35/+35
2020-07-19Precompile unordered_map/setTiger Wang1-2/+0
+ Add inclusions to Globals.h * Sort Globals.h - Remove sys/stat.h from Globals.h
2020-07-17Initial work on 1.13 entity metadata (#4539)Mat1-4/+11
* Initial work on 1.13 entity metadata * Largely complete metadata Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-07-14Introduce recipe book functionality (#4493)Tobias Wilken2-10/+106
* Introduce recipe book functionality The recipe book helps especially new players. Missing it gives the impression that cuberite is not as advanced as it is. The handling of the recipe book uses the following functions: - Unlock Recipes (https://wiki.vg/index.php?title=Protocol&oldid=14204#Unlock_Recipes) to make recipes available and show the notification for new recipes. Initialization is done on player login for known ones, the update is done when new items are discovered. - Craft Recipe Request (https://wiki.vg/index.php?title=Protocol&oldid=14204#Craft_Recipe_Request) when the user selects a recipe from the recipe book to fill the slots. Known recipes are initialized on player login via `Unlock Recipes` with `Action` 0. As soon as a new recipe is discovered this is added via `Unlock Recipes` with `Action` 1. To be able to know and recognize new recipes the player class is extended with `KnownItems` and `KnownRecipes`. As soon as a player touches an item this is compared to the list of `KnownItems`, if the item is unknown the recipes are checked for this item and the other ingredients are checked with the list of `KnownItems`. If a full match is discovered the recipe is unlocked with the client and stored in the `KnownRecipes`. To unlock recipes the recipe ID is sent to the client. A mapping file (for protocol 1.12.2) translated the minecraft recipe names to ids. The crafting.txt is extended with and minecraft recipe names is possible. Limitations: Only a single recipe is added to the crafting area. Multiple clicks or shift click does not increase the number of builds. Co-authored-by: peterbell10 <peterbell10@live.co.uk> * Address first issues mentioned by @peterbell10 - Some linting - Extract loading of recipe specific protocol mapping into a function - Build `RecipeNameMap` only once - Use `std::optional` - Extract `LoadRecipe` from `Window` * Start to implement new suggestions * Update with suggestions from @peterbell10 * Some minor cleanup * Update protocol packet IDs * Remove unused include * Include header in cmake * Change a vector to integer counter * Change dromedaryCase method names to PascalCase * Address suggestions from @madmaxoft * Read Protocol subdirectories to load recipe books To load all recipebooks iterate over the `Protocol` subdirectories to find mapping files. Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-07-06Reduced packet spam when entities idleTiger Wang1-2/+2
* Try not to send look packets when nothing's changed.
2020-05-16Upgrade to C++17 [CMake] (#4717)Tiger Wang1-9/+5
* Make our CMake slightly less insane
2020-05-15Enable some more clang-tidy linter checks (#4738)peterbell104-17/+8
* Avoid inefficient AString -> c_str() -> AString round trip * Avoid redundant string init expressions * Avoid unnecessary return, continue, etc. * Add .clang-format to help with clang-tidy fix-its * Avoid unnecessary passing by value * Avoid unnecessary local copying * Avoid copying in range-for loops * Avoid over-complicated boolean expressions * Some violations missed by my local clang-tidy * Allow unnecessary continue statements * Add brackets * Another expression missed locally * Move BindingsProcessor call into clang-tidy.sh and add space * Fix pushd not found error * Different grouping of CheckBlockInteractionRate
2020-05-10Cleanup unneeded globals (#4736)peterbell101-1/+1
2020-05-09Update submodules (#4727)peterbell102-7/+9
Closes #4708 This updates jsoncpp, mbedtls, TCLAP and SQLiteCpp to their latest stable release. A few additional changes were needed: * jsoncpp deprecated Reader, FastWriter and StyledWriter which I've replaced with some helper functions in JsonUtils.cpp * SQLiteCpp changed how it builds with external sqlite libraries, now expecting them to be installed. The simplest path was to remove sqlite from cuberite's submodule and just use SQLiteCpp's internal version.
2020-05-08Use Vector3 for cLineBlockTracer and cBlockTracer (#4715)mBornand1-6/+3
* cLineBlockTracer uses Vector
2020-05-07Remove old Android leftovers (#4722)Mat1-2/+2
2020-05-06Fixed various MSVC warnings.Mattes D2-5/+1
2020-05-04Refactor minecart collision detection code. (#4712)Alexander Harkness2-109/+280
* Refactor minecart collision detection code. - Use new GetBoundingBox function. - Handle descending and ascending rails. - Snap to descending rails. * Add message for UNREACHABLE
2020-05-04Add comment for boat position broadcastAlexander Harkness1-0/+3
2020-05-04Improve entity position updates (#4701)Tiger Wang8-100/+55
* 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
2020-05-03Buttons can now be triggered by arrows. (#4670)DrButcher2-0/+6
* Buttons can now be triggered by arrows.
2020-05-03Add cEntity::GetBoundingBox, and use where appropriate. (#4711)Alexander Harkness6-5/+8
* Add cEntity::GetBoundingBox, and use where appropriate.
2020-05-03Set entity world earlymathiascode1-0/+1
2020-05-01Unify entity spawn packet sendingTiger Wang15-62/+26
2020-04-21Vector3 in Handlers (#4680)Mattes D1-10/+7
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-20Delet SpawnObject paramsTiger Wang8-32/+8
* Fix #4679 awkward...
2020-04-19More arrow patchesTiger Wang3-42/+37
* Further reduce instances of appearing black * Fix packet send and get arrows to more reliably lodge in blocks clientside * Fix hit detection failing at chunk boundaries + Use delegating constructors
2020-04-18Reduce arrows going black on hitTiger Wang1-15/+25
2020-04-18MoveToWorld must always be provided a worldTiger Wang3-20/+22
2020-04-18Only store IDs across ticksTiger Wang2-21/+43
2020-04-16Using Super.Mattes D54-174/+235
2020-04-12Fixed entity teleport for just-spawned entities.Mattes D1-1/+5
Includes a test code in the Debuggers plugin - throwing a cake-as-fallingblock.
2020-04-10Add Zombie VillagersBond-0091-1/+2
2020-04-09Don't set entity world twice (#4606)Mat1-3/+0
* Don't set entity world twice * Call HookSpawnedEntity when the entity actually spawned
2020-04-09Falling blocks can now be spawned at any position. (#4620)Mattes D2-7/+5
* Falling blocks can now be spawned at any position. * Added a /cake command to Debuggers that throws a cake in a nice slow arc. * Fixed regular falling blocks.
2020-04-03Tweak pickup sound pitch (#4598)Mat2-2/+2
2020-04-03Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D7-0/+7
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2020-04-02Replace buckets to the selected hotbar slot, rather than the first available. (#4580)Alexander Harkness2-0/+26
* Replace buckets to the selected hotbar slot, rather than the first available. Replicates vanilla behaviour, as well as being more logical. * Refactor cInventory::AddItem. Behaviour is now documented * Add new cInventory::ReplaceOneEquippedItem and ::SetEquippedItem methods * Return empty potion to the same slot after drinking * Replace buckets correctly in other situations, not simply water and lava Uses the new ReplaceOneEquippedItem method * Correct collecting water from source block with bottle * Add cPlayer::ReplaceOneEquippedItemTossRest method * Handle stacked filled buckets (in theory) Use new cPlayer::ReplaceOneEquippedItemTossRest method
2020-04-02Fix explosion knockback issues and tweak knockback strength (#4590)peterbell102-4/+4
2020-03-31Prevent player from being destroyed by plugins (#4584)Alexander Harkness1-6/+2
* 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
2020-03-30Lua API for spectating entities (#4518)Mat2-2/+21
2020-03-27Fix typo in floater code (#4556)Mat1-1/+1
2020-03-24Send respawn packet by default (#4540)Mat2-3/+3
2020-03-23Manual merge of #4498.Alexander Harkness1-1/+6
Credit to @MeMuXin Closes #4498
2020-03-23Pickup spawn improvements (#4525)Mat1-1/+1
Pickups are now thrown around when spawned, like in vanilla. Pickups also bail out of the collision detection checks while being created, to prevent them from blasting too far off in e.g. cobblestone generators.
2020-03-22Fix effect crashes (#4530)Mat1-3/+3
* Fix effect crashes * Change according to suggestion
2020-03-22TNT position fixes (#4519)Mat2-2/+2
* TNT position fixes * Don't add offset to explosion spawn coords * Don't make other entities push TNT * Correct initial TNT speed * Fix typo * Improvements * Revert unwanted change * Style fixes * Update format
2020-03-22Fix armor protection (#4506)Mat2-17/+24
* Fix armor protection * Check min damage * Check min damage * Commit missing changes * Convert to int * Use float * Float some more
2020-03-22Don't remove items twice (#4524)Mat2-5/+1
* Don't remove items twice
2020-03-20Clamp teleportation position (#4203)stone33111-1/+9
2020-03-19Improvements to knockback (#4504)Mat3-12/+24
* Improvements to knockback * SetSpeed for explosions * Improve code consistency
2020-03-19Prevent arrows from sinking into the ground (#4509)Mat1-1/+1
2020-03-19Change outdated air drag value for arrowsMat1-1/+1
2020-03-19Change outdated air drag value for TNTMat1-1/+1
2020-03-07Don't send entity velocity for boats (#4488)Mat4-5/+35
* Don't send entity velocity for boats
2020-03-05Attached entities can't enter portals (#4484)Mat2-0/+18
* Attached entities can't enter portals * Whitespace fixes
2020-03-05Stabilise MoveToWorld (#4004)Mat11-190/+232
* 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
2020-03-04Update LastSentPosition when entity has no speed (#4487)peterbell101-53/+50
* Update LastSentPosition when entity has no speed * Restructure BroadcastMovementUpdate and always process relmove
2020-03-04Play correct sound when entities are hit by arrows (#4481)Mat1-1/+1
2019-10-28Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D2-13/+11
2019-09-29Refactored more of Entities and BlockEntities to use Vector3. (#4403)Mattes D48-203/+239
2019-09-27Fixed MSVC warnings (#4400)Mattes D3-4/+4
2019-08-16Fix mobs targeting dead players (#4344)Julius Oeftiger1-1/+1
Fixes #4340
2019-08-11Fix building with clang 8.0 (#4346)Bond-0094-13/+15
2019-08-08Change TakeDamageInfo::FinalDamage from int to float (#4359)Aplaus2283-9/+9
Closes #4357
2019-04-18Make Nether portals spawn the player inside of them (#4325)DaPorkchop_1-2/+2
Currently the player is spawned immediately in front of them. Simply changing `cNetherPortalScanner::OutOffset` to 0.5 wasn't enough, as the player would always be spawned on top of the portal, however checking for non-solid blocks instead of air fixes this.
2018-09-24Add a formatting function for Vector3 (#4282)peterbell106-36/+30
* Vector3: Add custom fmt compatible formatter. * cLuaState: Add fmt version of ApiParamError * Use vector formatting in manual bindings * Always log vectors with FLOG
2018-08-29Force all headers other than "Globals.h" to be included with relative paths (#4269)peterbell1010-17/+14
Closes #4236 CMake now creates a header file in the build directory under the path "include/Globals.h" which just includes "src/Globals.h" with an absolute path. Then instead of adding "src/" to the include directories, it adds "include/". #include "Globals.h" still works by including the build generated file and any other src-relative path will not work.
2018-08-26Store and pass entity effect duration as an int not a short. (#4293)Alexander Harkness1-1/+1
Fixes #4292.
2018-08-17solve new player login crash issue (#4285)changyong guo1-1/+0
currently if new player login, server will crash during send player ability to client. this pull request solve this issue.
2018-08-02Experience orb (#4259)changyong guo2-23/+74
* Replace cWorld::FindClosesPlayer with cWorld::DoWithClosestPlayer * Implement experience reward splitting into the orb sizes used in vanilla * Modified speed calculation in cExpOrb::Tick to make the orbs fly towards the player Fixes #4216
2018-07-27Add new flow direction calculating algorithm (#4160)bionext031-51/+37
2018-07-27cWorld: Manually bind deprecated broadcast functions (#4265)peterbell102-4/+2
Ref: https://github.com/cuberite/cuberite/pull/4264#discussion_r204769193
2018-07-26CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell1010-9/+27
Add check for number of empty lines between functions and fix the corresponding failures
2018-07-25Reimplemented fall particlesTiger Wang1-3/+8
Regression when 1.9.x support introduced in #3135, originally implemented in #461.
2018-07-24Broadcast refactor (#4264)peterbell105-27/+14
* 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
2018-07-23cPawn: Reset last ground height in ResetPosition (#4261)peterbell104-2/+13
Prevents fall damage after teleporting/portaling to a lower height. Fixes #3457
2018-07-23Rewrite explosion knock back (#4251)changyong guo4-2/+103
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-23Keep players in gmNotSet (#4248)changyong guo2-30/+29
This allows players game mode to update to the default after portal to another world. Fixes #4207
2018-07-23recover hotbar selected slot after reconnect (#4249)changyong guo2-0/+20
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-20Make offline UUIDs consistent with vanilla. (#4178)peterbell101-4/+55
Fixes #4177 This is a breaking change to existing Cuberite permissions settings.
2018-07-13Add unbreaking for armor (#4220)Bond-0092-22/+37
Ref: minecraft.gamepedia.com/Enchanting#Unbreaking #915
2018-06-24Support swap item between main hand and offhand by press key "F" (#4241)changyong guo2-0/+6
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
2018-05-02Prefer static_cast to reinterpret_cast (#4223)peterbell103-27/+27
* 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-04-27Fix fishing timer (#4217)peterbell101-0/+5
Fixes ["Fishing Speed Too Slow"](https://forum.cuberite.org/thread-3175-post-29000.html#pid29000). Interestingly, the constants @NiLSPACE points out are actually correct: ```cpp (Random.RandInt(100, 900) - static_cast<int>(a_Player->GetEquippedItem().m_Enchantments.GetLevel(cEnchantments::enchLure) * 100)) ``` 100 to 900 ticks is the correct timing of 5-45 seconds. However, the timer is only updated when the floater is in the water and the server side position was actually bobbing in and out of the water. This meant the timer took ~2-3x longer than it should. With this change the floater position is always in the water and so the timer works as expected.
2018-04-11Update m_LastSentPosition in TeleportToCoords and DoMoveToWorld. (#4211)peterbell103-4/+18
2018-02-05Deal with covered switches consistently (#4161)peterbell107-79/+41
* 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-01-17Calculate crit damage properly (#4154)Bond-0091-11/+13
2018-01-16Exp Orbs and Pickups are destroyed instantly by cacti. (#4136)Alexander Harkness5-15/+54
* Cactus detection code follows pattern set in #3996 * Pickups are now destroyed on cactus contact * Add cactus detection and destruction to Exp Orbs Remove checks for IsExpOrb() in cEntity::Tick() Exp Orbs do not call super::Tick() and so this condition was pointless.
2018-01-14Rename cEntity swim states (#3996)Alexander Harkness6-122/+99
* 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-06Golden Apple Fixes (#4130)Alexander Harkness1-0/+4
* 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-05Item durability loss now depends on the item used. (#4123)Alexander Harkness2-20/+32
Armour durability also no longer changes when it is used to break blocks or attack mobs. Fixes #4119
2018-01-03Add the fmt library (#4065)peterbell101-1/+1
* Replaces AppendVPrintf with fmt::sprintf * fmt::ArgList now used as a type safe alternative to varargs. * Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu. * Adds FLOG functions to log with fmt's native formatting style.
2018-01-03Concrete mixing (#4096)Zach DeCook1-0/+7
Adds a block handler for concrete powder and implements hardening to concrete. Concrete powder turns into concrete when: * It is next to water when it receives a block update * It falls onto a water block (even with Physics SandInstantFall=1)
2017-12-26improve rain simulation (#4017)Alexander Harkness1-5/+2
* Uses vanilla logic to decide which blocks rain falls through. * Rain falls infinitely above the world, and stops at y=0. * Entities will now be extinguished if they are under rain-blocking blocks, and fire will now be extinguished by rain similarly. * Create IsWeatherWetAtXYZ to identify wetness at a particular location. * Use new code for enderman rain detection. * Fixes issue #916 * Disable warnings for global constructors in the fire simulator.
2017-12-26Water bottles are drinkable potions (#4114)Alexander Harkness1-11/+8
Water bottles are now drinkable potions Fixes #4111 Also update outdated mcwiki references
2017-12-21Fixed Clang 5.0 compile errors (#4085)bibo381-0/+2
* Fixed Clang 5.0 compile errors * Fixed wrong comment * Only disable warnings in Clang 5 or higher * Added a CMake condition for the Clang 5 no-zero-as-null-pointer-constant warning * Now using the use_nullptr branch of the Cuberite specific SQLiteCpp fork
2017-11-22Store Health as a float (#4073)Fabian3-12/+12
* Fix #4024 * Fix clang error * Add comment * Fix behaviour * Save Health as float * Changed m_Health to float * Remove redundant static_cast * Fix casts
2017-10-21Implement horse inventory (#4053)peterbell102-0/+34
* Implement horse inventory * Fix sign conversions * Add API doc for ItemCategory::IsHorseArmor * Improve HandleOpenHorseInventory comment and style fixes.
2017-10-21Fix minecart deceleration (#4059)peterbell102-32/+48
2017-09-19Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)Lane Kolbly6-9/+9
* 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-19Removed UTF-8 BOM (#4033)Lukas Pioch2-2/+2
2017-09-14Fix switch warnings (#4013)peterbell101-4/+0
* Fix switch warnings * Fix a variety of -Wswitch and -Wswitch-enum warnings * Remove unneeded -Wno-error flags * Reorganise some eMonsterType switches * Alpha sort eMonsterType cases in WriteMobMetadata and in cNBTChunkSerializer::AddMonsterEntity * List all mob types in protocol 1.12 and NBTChunkSerializer * cStructGenTrees::GetNumTrees: remove switch default * cWSSAnvil::LoadOldMinecartFromNBT: Log unhandled minecart type
2017-09-12Adjust lava damage values (#4020)Alexander Harkness2-2/+2
Fixes isue #2925
2017-09-11Replace ItemCallbacks with lambdas (#3993)peterbell1010-323/+143
2017-09-10Fix crash for players out of the world. Fixes #4006 (#4007)Alexander Harkness1-3/+4
2017-09-07Made world data paths adjustable, and added API to temporarily disable saving chunks to disk. (#3912)Lane Kolbly1-2/+2
2017-09-07Switched player statistic store to save with UUID filenames. (#4002)Lane Kolbly1-2/+2
2017-09-07Fire effect now shown for creative and spectator mode players (#3998)Alexander Harkness3-24/+19
* Fire effect now shown for creative and spectator mode players Fixes #3989 * Add documentation for IsFireproof
2017-09-07Updated APIDoc (#3985)Lukas Pioch2-5/+7
2017-09-07Changed some int parameters to vector parameters (#3937)Bond-00925-72/+71
2017-09-05Add cWorld::RemoveEntity and use in cEntity (#4003)peterbell101-11/+10
* Add cWorld::RemoveEntity and use in cEntity * cEntity: Remove uneeded asserts from Destroy and DoMoveToWorld
2017-09-02Revert "Replace ItemCallbacks with lambdas (#3948)"LogicParrot10-143/+323
This reverts commit 496c337cdfa593654018c171f6a74c28272265b5.
2017-09-01SetSwimState now takes into account head heightAlexander Harkness1-2/+3
This affects m_IsSubmerged and IsSubmerged() for entities of all types. Also prevent squids from suffocating in water.
2017-09-01Replace ItemCallbacks with lambdas (#3948)peterbell1010-323/+143
2017-08-30Protocol Spawn Position Should Use LastSentPosition (#3929)Lane Kolbly1-0/+4
+ Added GetLastSentPos * Fixed spawn position bug in 1.8.
2017-08-30Added ShouldSendRespawn parameter to ScheduleMoveToWorld (#3979)Lane Kolbly2-3/+5
2017-08-28Cleanup Vector3 constructors and Abspeterbell101-1/+1
2017-08-25Gives all entities the default airlevel on creation (#3942)Bond-0091-2/+2
* Guardians don't take damage on land * Squids suffocate on land
2017-08-25Add cUUID class (#3871)peterbell102-14/+15
2017-08-24Use ref instead of pointerLukas Pioch1-1/+1
2017-08-24Minor changes (#3909)mathiascode6-15/+15
2017-08-24Added check to deactivate existing entity effects when new entity effects are added.Lane Kolbly1-0/+7
2017-08-22Added check in cEntity::TickBurning for whether the entity is planning to change worlds. (#3943)Lane Kolbly1-0/+6
2017-08-21Give arthropods slowness IV when hit with bane of arthropods (#3932)Bond-0091-3/+7
2017-08-21Fully implemented leashes (#3798)Pablo Beltrán5-1/+292
2017-08-18Changed MoveToWorld to ScheduleMoveToWorld in cPlayer::Respawn (#3922)Lane Kolbly1-1/+1
* Changed MoveToWorld to ScheduleMoveToWorld - Removed empty line
2017-08-17Add cLuaWindow OnClicked Callback (#3901)Lane Kolbly1-0/+6
2017-08-13Added knockback to arrows, fixed knockback enchantment handling (#3900)Lane Kolbly2-34/+16
* Added knockback for arrows, fixed knockback enchantment handling.
2017-08-13Replaced includes with forward declarationsLukas Pioch1-1/+3
2017-08-07Changed entity ownership model to use smart pointersTiger Wang6-30/+33
2017-08-03Implement invisibility effectpeterbell105-45/+92
2017-08-03Remove double includes part 2 (#3890)peterbell102-3/+0
2017-08-03Removed unused forward declarations (#3888)Lukas Pioch1-6/+0
2017-08-02Removed double includes (#3885)Lukas Pioch1-1/+0
2017-08-01cBlockHandler: take player by refpeterbell101-1/+1
2017-08-01cWorld::SendBlockTo take player by refpeterbell101-2/+2
2017-07-28Check for intersection between placed blocks and entities. (#3850)Lane Kolbly4-0/+103
* 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-28Tentative fix for player-limit race condition (#3862)Tiger Wang1-5/+0
* Attempts to fix #2257 Derived from d233e9843148313c71fbaba96ccff660e47b07b1 * Changed player count type to int * Clarified certain actions
2017-07-23Updated armor cover calculation. (#3858)Lane Kolbly4-135/+98
* Updated armor damage calculation. + Added lua docs, added casts from float to int. * Changed verbage in docstring and comment.
2017-07-12Changing pickup lifetime and combining semantics, making these adjustable in the lua api. (#3843)Lane Kolbly2-6/+28
2017-07-12If entity is a player, send relmove packets.Lane Kolbly1-1/+1
2017-07-10Implemented draggingitem API.Lane Kolbly2-1/+17
2017-07-02Added armor durability reduction when player is attacked.Lane Kolbly1-0/+12
2017-07-02Players in creative and spectator aren't affected by cacti (#3824)Bond-0091-1/+4
2017-06-15Entity: Replaced a mutexed counter with a std::atomic. (#3773)Mattes D2-11/+15
2017-06-13FastRandom rewrite (#3754)peterbell105-20/+20
2017-06-05Fixes problems with windows:Lukas Pioch3-7/+7
- Changed cPlayer:OpenWindow to accept a ref, tolua adds a nil check - Close open lua window in destructor, to avoid dangling pointers
2017-06-04Avoid pickups to sink into blocks and disappear (#3739)Pablo Beltrán2-24/+35
* Avoid pickups to sink into blocks and disappear
2017-06-03Fixed exp orb (#3744)Pablo Beltrán1-19/+23
Fixes #3740 Fixes #2667
2017-05-28Fixed tracer usage in Entity physics handling. (#3720)Mattes D1-7/+9
2017-05-27Add rank prefix and suffix to player name in chat (#3730)Heiko Hund2-0/+24
Fixes issue #1721
2017-05-24Exported boatLukas Pioch2-9/+143
- NBT: Added saving / loading of material - Added the material in the item handler of the boat - Drop the correct boat if destroyed - APIDoc: Added desc and functions
2017-05-21Clang 5.0 fixesLukas Pioch3-6/+5
- Added override keyword - Removed inherited member variables
2017-05-11Tracer replacement (#3704)Mattes D2-47/+50
* Replaced cTracer usage with cLineBlockTracer. * Exported new cLineBlockTracer utility functions to Lua API.
2017-05-09Exported cFallingBlock and cExpOrb (#3700)Lukas Pioch2-5/+16
2017-04-04APIDoc: Documented missing functions and variables. (#3634)Lukas Pioch1-6/+6
2017-04-01Added a nullptr check to cEntity::IsA (#3659)Marvin Kopf2-2/+2
Fixes #3603
2017-03-19Detach player from entity / object if he is deadLukas Pioch1-0/+4
2017-02-25Fixed cactus detection and zombie pigman sword (#3584)Bond-0091-1/+2
Fixes for issues #902 and #2917
2017-02-20Changed fish launching mechanism (#3520)Alex2-0/+6
Fish and other fishing loot now correctly fly towards played when reeled in.
2017-02-15Updated sounds and effect IDs (#3422)mathiascode5-7/+7
2017-01-03Track skin part and main hand preferences (#3498)Pokechu222-1/+36
2017-01-03Track skin part and main hand preferences (#3498)Pokechu222-1/+36
2016-12-30Fix crash after calling OnTick on removed effect (#3501)Fabian Stein1-3/+5
2016-12-29Fixed entity effect ticking (#3497)Fabian Stein1-1/+10
Fixes #3386
2016-12-19Updated links and docs (#3488)mathiascode2-5/+5
2016-12-16Initial support for the 1.11 protocol.Mattes D2-2/+2
2016-12-15Fixed minecart destruction using deallocated memory.Mattes D1-3/+8
2016-12-10Export GetPosition and GetSpeed from cEntity as a copy instead of a pointer to lua.Lukas Pioch1-2/+6
2016-12-10Powered rails can kick-start minecarts (#3472)Marvin Kopf2-32/+62
2016-11-18Removed ClientHandle.h dependencies from common headers.Mattes D2-17/+134
2016-11-06Anticheat fastbreak (#3411)mohe20154-0/+140
Added block hardness checks when breaking blocks.
2016-10-21Added SendMessageRaw for sending json string.Lukas Pioch1-0/+1
2016-10-12Spectators added (#2852)bibo388-5/+104
2016-10-09Fixed cProjectileEntity double destroy bug (#3397)LogicParrot1-0/+4
2016-10-08Initialize m_bIsInBed in cPlayer constructor.sgtbigman1-0/+1
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-09-27Use cChunkDef::Height for Y coord comparison where applicable.Moritz Borcherding1-2/+2
2016-09-03Entities now bail out of ticks if destroyed (#3363)LogicParrot8-1/+40
2016-09-03Improve cPlayer::DoMoveToWorld (#3113)LogicParrot1-36/+43
2016-08-29Proper respawn packets on dimension travelLogicParrot3-9/+50
2016-08-22Delay EntityChangedWorld players' callback until Entity fully linked to world (#3330)ElNounch1-2/+1
Otherwise, some API calls just don't seem to happen .gitignore tweak for test executables
2016-08-20Fix minecart destruction crash (#3336)LogicParrot1-1/+1
2016-08-20Fixed minecraft with chest destruction crash (#3335)LogicParrot1-2/+11
2016-08-04Fixed RasPi builds of unit tests.Mattes D4-4/+12
On RasPi with gcc 4.8.2, the asserts wouldn't compile when tests were enabled. Enforced the assumption that ASSERT code is generated only in Debug builds.
2016-07-21Dropped 1.7 support (#3253)Mathias1-1/+1
2016-07-18CMake: Remove needless minimum version specifications.Mattes D1-2/+0
2016-07-18Updated API documentation.Mattes D2-15/+13
2016-07-18Fixes for boat entities (#3265)beeduck4-3/+83
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.
2016-07-05Fixed falling block spawningAltenius1-1/+1
Fixes #3222
2016-06-30Close chest window if minecart is destroyedLukas Pioch1-0/+1
2016-06-27Changed cLuaWindow callbacks to use cLuaState::cCallback.Mattes D1-3/+3
2016-06-02Fixed fall damageTiger Wang4-44/+17
* Fixes #3216
2016-05-141.9 / 1.9.2 / 1.9.3 / 1.9.4 protocol support (#3135)Pokechu224-6/+14
* Semistable update to 15w31a I'm going through snapshots in a sequential order since it should make things easier, and since protocol version history is written. * Update to 15w34b protocol Also, fix an issue with the Entity Equipment packet from the past version. Clients are able to connect and do stuff! * Partially update to 15w35e Chunk data doesn't work, but the client joins. I'm waiting to do chunk data because chunk data has an incomplete format until 15w36d. * Add '/blk' debug command This command lets one see what block they are looking at, and makes figuring out what's supposed to be where in a highly broken chunk possible. * Fix CRLF normalization in CheckBasicStyle.lua Normally, this doesn't cause an issue, but when running from cygwin, it detects the CR as whitespace and creates thousands of violations for every single line. Lua, when run on windows, will normalize automatically, but when run via cygwin, it won't. The bug was simply that gsub was returning a replaced version, but not changing the parameter, so the replaced version was ignored. * Update to 15w40b This includes chunk serialization. Fully functional chunk serialization for 1.9. I'm not completely happy with the chunk serialization as-is (correct use of palettes would be great), but cuberite also doesn't skip sending empty chunks so this performance optimization should probably come later. The creation of a full buffer is suboptimal, but it's the easiest way to implement this code. * Write long-by-long rather than creating a buffer This is a bit faster and should be equivalent. However, the code still doesn't look too good. * Update to 15w41a protocol This includes the new set passengers packet, which works off of the ridden entity, not the rider. That means, among other things, that information about the previously ridden vehicle is needed when detaching. So a new method with that info was added. * Update to 15w45a * 15w51b protocol * Update to 1.9.0 protocol Closes #3067. There are still a few things that need to be worked out (picking up items, effects, particles, and most importantly inventory), but in general this should work. I'll make a few more changes tomorrow to get the rest of the protocol set up, along with 1.9.1/1.9.2 (which did make a few changes). Chunks, however, _are_ working, along with most other parts of the game (placing/breaking blocks). * Fix item pickup packet not working That was a silly mistake, but at least it was an easy one. * 1.9.2 protocol support * Fix version info found in server list ping Thus, the client reports that it can connect rather than saying that the server is out of date. This required creating separate classes for 1.9.1 and 1.9.2, unfortunately. * Fix build errors generated by clang These didn't happen in MSVC. * Add protocol19x.cpp and protocol19x.h to CMakeLists * Ignore warnings in protocol19x that are ignored in protocol18x * Document BLOCK_FACE and DIG_STATUS constants * Fix BLOCK_FACE links and add separate section for DIG_STATUS * Fix bat animation and object spawning The causes of both of these are explained in #3135, but the gist is that both were typos. * Implement Use Item packet This means that buckets, bows, fishing rods, and several other similar items now work when not looking at a block. * Handle DIG_STATUS_SWAP_ITEM_IN_HAND * Add support for spawn eggs and potions The items are transformed from the 1.9 version to the 1.8 version when reading and transformed back when sending. * Remove spammy potion debug logging * Fix wolf collar color metadata The wrong type was being used, causing several clientside issues (including the screen going black). * Fix 1.9 chunk sending in the nether The nether and the end don't send skylight. * Fix clang build errors * Fix water bottles becoming mundane potions This happened because the can become splash potion bit got set incorrectly. Water bottles and mundane potions are only differentiated by the fact that water bottles have a metadata of 0, so setting that bit made it a mundane potion. Also add missing break statements to the read item NBT switch, which would otherwise break items with custom names and also cause incorrect "Unimplemented NBT data when parsing!" logging. * Copy Protocol18x as Protocol19x Aditionally, method and class names have been swapped to clean up other diffs. This commit is only added to make the following diffs more readable; it doesn't make any other changes (beyond class names). * Make thrown potions use the correct appearence This was caused by potions now using metadata. * Add missing api doc for cSplashPotionEntity::GetItem * Fix compile error in SplashPotionEntity.cpp * Fix fix of cSplashPotionEntity API doc * Temporarilly disable fall damage particles These were causing issues in 1.9 due to the changed effect ID. * Properly send a kick packet when connecting with an invalid version This means that the client no longer waits on the server screen with no indication whatsoever. However, right now the server list ping isn't implemented for unknown versions, so it'll only load "Old" on the ping. I also added a GetVarIntSize method to cByteBuffer. This helps clean up part of the code here (and I think it could clean up other parts), but it may make sense for it to be moved elsewhere (or declared in a different way). * Handle server list pings from unrecognized versions This isn't the cleanest way of writing it (it feels odd to use ProtocolRecognizer to send packets, and the addition of m_InPingForUnrecognizedVersion feels like the wrong technique), but it works and I can't think of a better way (apart from creating a full separate protocol class to handle only the ping... which would be worse). * Use cPacketizer for the disconnect packet This also should fix clang build errors. * Add 1.9.3 / 1.9.4 support * Fix incorrect indentation in APIDesc
2016-05-03Fixed death on teleportation or leaving Minecart (#3181)LogicParrot4-6/+32
2016-05-03Fix crash on world travel (#3180)LogicParrot1-1/+1
2016-04-30Proper minecart DoSetSpeed Override (#3174)LogicParrot1-1/+1
Closes #3173, Introduced in #3037.
2016-04-22Fix minecart block collision on curved railsWoazboat1-10/+56
2016-04-18Fix issues below y = 0LogicParrot2-6/+6
2016-04-15Add speed limit enforcement for minecartsMarvin Kopf2-41/+54
2016-04-13Fix occasional freeze bugLogicParrot2-39/+42
2016-04-05Minor improvements to player freezeLogicParrot1-1/+1
2016-04-05Improved player freeze codeLogicParrot2-54/+62
2016-03-31Players never fall through unloaded chunks or end up inside solids on teleportLogicParrot2-27/+82
2016-03-31Player death crashfixLogicParrot1-2/+4
2016-03-30MoveToWorld defaults to spawnpointLogicParrot2-3/+21
2016-03-29Bed's world is now savedLogicParrot2-4/+47
2016-03-21Revert "Lua callback"Mattes D1-3/+3
2016-03-18Fixed leaping potion not giving jump boostBlitz Rakete1-0/+1
2016-03-17Changed cLuaWindow callbacks to use cLuaState::cCallback.Mattes D1-3/+3
2016-02-19Proper entity destruction in non-ticking chunksLogicParrot7-87/+177
2016-02-16Fix minecart entity collisionMarvin Kopf2-27/+11
* Minecarts no longer handle a collision if the entity is behind them. * Minecarts will leave the pushing after a collision on a straight rail to the entity.
2016-02-08remove cWorld::createAndInitializeWorldLogicParrot2-5/+11
2016-02-05Bulk clearing of whitespaceLogicParrot31-242/+242
2016-02-03cMonster::m_Target safety across worldsLogicParrot4-18/+120
2016-02-02Fixed cChunk::m_Entities corruption upon world travelLogicParrot2-6/+25
2016-02-02Fix cPawn pushingMarvin Kopf3-0/+22
cPawn instances can no longer push an entity they are attached to. cEntity now has a IsAttachedTo method.
2016-01-31Updated old forum linksMathias1-1/+1
2016-01-22Improved tamed wolf pack cooperation and projectile reactionsLogicParrot7-21/+68
2016-01-21Spiders now friendly at daylight, new cChunk functionsLogicParrot1-1/+0
2016-01-16Fixed wrong knockback direction after explosion damageLogicParrot1-0/+4
2016-01-16Fix crash when tamed wolf is hit by arrowsLogicParrot4-58/+69
2016-01-16Fix fall damage crash when tamed wolves neabryLogicParrot1-1/+5
2016-01-13Limited the username length to 16 characters.bibo381-0/+2
This fixes a client crash, because Minecraft requires that a username is not longer than 16 characters. See also: http://minecraft.gamepedia.com/The_Player#Name Fixes #2545
2016-01-12Tamed wolf assists owner (attack / defence)LogicParrot7-50/+123
2016-01-06Fixed Clang warnings.Mattes D2-5/+10
2016-01-01Renamed leftover strings to Cuberite / Server, as needed.Mattes D1-1/+1
Also upgraded the user setting file for MSVC to 2013.
2015-12-25Freeze player until chunk is loadedSafwat Halaby2-1/+112
2015-12-17Moved variables into scope, removed unused variables and fixed variablesLukas Pioch1-1/+1
2015-12-13blockheight mechanismGargaj5-109/+193
2015-12-11Test for correct coordinates when fishingGargaj1-1/+1
Fun fact: this was able to actually deadlock the server depending on where you were standing :)
2015-12-10Test for correct coordinates when fishingGargaj1-1/+1
Fun fact: this was able to actually deadlock the server depending on where you were standing :)
2015-12-08Small spelling issues fixedJulian Laubstein1-3/+3
2015-12-05Spawn chickens from eggs as babiesGargaj1-5/+5
This actually works now with the breeding patch (would also close https://github.com/cuberite/cuberite/pull/2366)
2015-11-29implement breedingGargaj1-0/+2
2015-11-24Add enum for Sound and Particle EffectsDave Tucker2-2/+4
Fixes #2603 Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2015-11-13Improved spawn location calculations.samoatesgames1-2/+2
- Supports Overworld and Nether spawns. - Supports spawning under objects, but still above ground (e.g. under the leaves of a tree). - Protects against spawning in oceans. - Protects against spawning in water. - Uses a radial search about the origin, rather than a linear. - Correctly calculates Nether spawn on spawn world generation (fixes: cuberite#2548) - Fixes a bug in CheckPlayerSpawnPoint() where the X offset was used in both the X and Z coords (BLOCKTYPE BlockType = GetBlock(a_PosX + Coords[i].x, a_PosY, a_PosZ + Coords[i].x);)
2015-11-10Avoid reading out of boundsGargaj1-4/+14
as per https://github.com/cuberite/cuberite/pull/2630#discussion_r44377411
2015-11-10Avoid division by zeroGargaj1-1/+1
It won't do much because direction will still be a nullvector, but it at least avoids a CPU spike.
2015-11-10fix shallow water + add future code for liquid fall dampeningGargaj1-3/+11
2015-11-07code styleGargaj1-3/+3
2015-11-07implement pushing/shoving based on @NiLSPACE's suggestionGargaj1-0/+36
2015-11-05Destroy an ender crystal, damage a dragon when hit by an egg.Alexander Harkness2-92/+103
2015-11-04Fix being set on fire while directly being under lavaGargaj1-1/+1
Right now you will be on fire if there is a block of lava right above you, even if it doesn't pour down.
2015-11-01Implemented the Water Breathing Potion functionality.bibo382-0/+16
Fixes #2556
2015-10-31Implemented the FireResistence potion effects.bibo385-6/+34
This not only provides fire resistence, but also prevents blaze fireballs. See #2556
2015-10-31Debug mode: Fixed assertion, if player below y < 0Lukas Pioch1-3/+3
2015-10-05Spectator Mode doesn't fly[FIX]OdnetninI1-0/+1
2015-09-25Maked it compileable for clang-3.7Lukas Pioch1-2/+2
2015-08-21Namespace qualify std::abs, use explicit castMatti Hänninen1-1/+1
Without 'std' namespace qualification Clang (at least Apple Clang 6.1) seems to resolve 'abs' to the 'abs' function in 'cstdlib'. This in turn triggers the 'absolute-value' warning which in turn is promoted to error. Implicit casts trigger 'old-style-cast' warnings which are promoted to errors.
2015-08-20Fixed food drain bugsTiger Wang4-287/+138
2015-07-31Unified the doxy-comment format.Mattes D6-80/+77
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney9-121/+120
2015-07-16Spawn baby mobshallucino1-5/+5
2015-07-14Improved mapsTiger Wang1-0/+5
2015-07-14Fix food drain on movement.LO1ZB1-11/+10
2015-06-24Added a forgotten break in cHangingEntity constructor.Mattes D1-0/+1
This had caused loading the cHangingEntity to fail in debug builds.
2015-06-13Work on NetherPortalScanner. Setup portal scanner to reset PortalCooldown. Changed where player is spawned. Added a_InitSpawn flag to CreateAndInitializeWorld.Lane Kolbly2-16/+26
2015-06-13Added HOOK_KILLEDNounours Heureux2-6/+26
2015-06-10Implemented nether portal scanning code.Lane Kolbly4-19/+63
2015-06-02Added system and above action bar chat messagesjan641-8/+13
2015-06-02Fixed warnings in MSVC.Mattes D1-3/+12
It complained about undefined return values or using uninitialized variables.
2015-05-28AI - Sane SkeletonSafwatHalaby1-10/+11
2015-05-28Fix commentstycho1-5/+6
2015-05-24Made -Weverything an error.tycho17-42/+48
2015-05-23Fix gamemode not changing properly.Alexander Harkness2-148/+154
Should fix #604
2015-05-23Fixed missing overrides and added a ignore flag for reserved macro for clang version 3.6 and higher.Lukas Pioch2-6/+6
2015-05-23Added a fix for players falling through the world when connecting in spectator modeb33duck1-0/+7
2015-05-22Fixed players head visible when in spectator modeb33duck1-0/+9
2015-05-21Renamed hook HOOK_ENTITY_CHANGE_WORLDLukas Pioch2-5/+6
2015-05-19Make -Werror disabling file onlytycho8-12/+17
Ad fix a load of warnings
2015-05-18Added hooks HOOK_ENTITY_CHANGE_WORLD and HOOK_ENTITY_CHANGED_WORLDLukas Pioch2-0/+21
Fixes #1435.
2015-05-18Fixes #2052Tiger Wang1-0/+1
2015-05-09More style checking.Mattes D8-20/+20
Spaces around some operators are checked.
2015-05-07Added support for additional data in the ParticleEffect Packettycho1-3/+3
Also started refactoring how broadcasts are handled
2015-05-04Entity improvementsTiger Wang2-2/+1
•Pathfinder improvements •Fixes #1217 •Fixes #1933 Merge remote-tracking branch 'SafwatHalaby/water2' into fixes
2015-04-25cPlayer now checks restrictions.Mattes D2-7/+36
Fixes #1331.
2015-04-19HangingEntity: Fixed a needless clang warning.Mattes D1-2/+5
2015-04-03Fixed players not appearing/disappearing when traveling to a new world.STRWarrior1-0/+6
2015-03-31Changed air drag for pickupsDevToaster1-1/+1
2015-03-31Changed air drag units to 'interpolated ticks' per secondDevToaster9-13/+15
2015-03-31Adjusted projectile physicsDevToaster1-4/+6
2015-03-31Modified physics for more vanilla-like behaviorDevToaster14-12/+49
2015-03-22Unified cPacketizer across all protocols.Mattes D1-1/+1
2015-03-21Changed linked world name variables and setters / getters.Mattes D1-5/+5
Ref.: #1792 Ref.: https://github.com/mc-server/MCServer/pull/1792#discussion_r25946707
2015-03-21Changed cEntity::m_UniqueID to UInt32.Mattes D5-52/+61
2015-03-21Fixed trailing whitespace.Mattes D1-1/+1
2015-03-20Improved arrow in-flight and block-hit appearanceTiger Wang2-19/+3
* Fixes #1495
2015-03-20Correct world height validations.Tommy Santerre2-2/+5
Unify the way we test block above the current one (Height - 1 instead of a_RelY + 1). Allow generation of world of flat height = 255
2015-03-14Fixed style violationsTiger Wang1-2/+2
2015-03-14cPainting saving implementedTiger Wang6-32/+31
Additionally, it now inherits from cHangingEntity.
2015-03-13Fixed confusion over Item Frame directionsTiger Wang2-65/+65
2015-03-05Added OnTeleportEntity hook for plugins.joshi072-12/+21
Plugins may or may not allow teleport to the new position. Updated the HookNotify plugin with it.
2015-02-28Changed C-styled casts to static_cast and removed unneeded castsDevToaster1-34/+34
2015-02-28Replaced short int with int for Player experienceDevToaster1-1/+1
2015-02-28 modified: src/Entities/Player.cppDevToaster2-27/+27
modified: src/Entities/Player.h
2015-02-26use DoSetSpeed in AddSpeed* in Entity.cppRaekye1-10/+4
2015-02-08Handle client 'leave bed' requestTiger Wang1-2/+12
* Fixes #1728
2015-02-07SpacingHowaner1-1/+1
2015-02-07cPlayer should override IsOnGround()Howaner2-3/+3
2015-02-07Added IsOnGround() to cEntityHowaner1-0/+3
2015-01-27Converted cServer to use the cNetwork API.Mattes D2-10/+32
2015-01-18Fixed type-conversion warnings.Mattes D3-7/+7
2015-01-16Converted cPickupEntity to std::chronoTycho2-12/+12
2015-01-16Converted MinecartEntity to std::chronoTycho2-8/+8
2015-01-16Converted cExpOrbEntity to std::chronoTycho2-7/+7
2015-01-16Converted ArrowEntityTiers to std::chronoTycho2-7/+7
2015-01-11Initial convertion of a_Dt to std::chronoTycho38-69/+69
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
2014-12-24APIDump: Updated the player block placement documentation.Mattes D1-1/+2
The hooks now have fewer parameters but are called on all player-placed blocks (#1618).
2014-12-24Replaced a std::hash specialization with explicit type.Mattes D1-1/+1
std::hash is problematic in gcc / clang, one has a class, the other a struct.
2014-12-24Refactored all player block placing to go through hooks.Mattes D2-0/+114
Fixes #1618.
2014-12-15Added braces to 'if' according to the code guidelinesgushromp1-0/+2
2014-12-15Updated cPlayer::DoMoveToWorld to send target world's weather info to Playerblashyrk1-0/+4
2014-12-13Own classes for all windows.Howaner2-1/+2
2014-12-05BasicStyle: Added missing braces to control statements.Mattes D2-10/+39
2014-12-05Fixed reported parentheses around comparisons.Mattes D1-1/+1
2014-12-04Updated whitespace in comment, changed conditional to logical equivalent due to popular demandJonathan Fabian1-2/+2
2014-12-03Fix Spaces to TabsJonathan Fabian1-5/+5
2014-12-03Add missing IsSpectatorMode() checks in Player.cpp, make sure that player is flying when spawned otherwise it will fall through the world.Jonathan Fabian1-6/+11
2014-11-27Minecart.h: Fixed integral conversion warning.Mattes D1-1/+1
2014-11-23Compilation fixesTiger Wang1-7/+5
2014-11-15Renamed GetSettedViewDistance() to GetRequestedViewDistance()Howaner1-1/+1
2014-11-14Use m_UsedViewDistance and m_SetViewDistance.Howaner1-0/+3
2014-10-23Merged IniFile into main MCS sources.Mattes D1-1/+1
2014-10-23En masse NULL -> nullptr replaceTiger Wang15-188/+192
2014-10-21cItemFrame: Fixed a forgotten rename.Mattes D1-1/+1
2014-10-21Properly exported cItemFrame and cHangingEntity to Lua.Mattes D4-37/+55
2014-10-21Exported individual projectile classes to Lua API.Mattes D16-117/+253
They used to be exported, but then they were moved to separate files and those werent' added to the ToLua processing list.
2014-10-20En masse NULL -> nullptr replaceTiger Wang15-99/+99
2014-10-20Migrated cSleep and cTimer to std::chronoTiger Wang2-9/+5
2014-10-19LuaState: Pushing a cEntity pushes the correct class name.Mattes D1-5/+5
This makes Lua scripts easier, as they don't need to cast values from cEntity to the specific descendant.
2014-10-18Fixed failure for cRankManager to restartTiger Wang1-6/+6
2014-10-15Functions in cPluginManager get references instead of pointers.Mattes D7-19/+25
2014-10-13Fixed style.Mattes D1-1/+1
2014-10-12convert old style casts to fix warningsSteven Riehl2-101/+93
2014-10-09Float/Ciel: If it's going to use C++11, it might as well take advantage of itarchshift1-3/+3
2014-10-09Use static casts instead of C casts, add floor-cast functionsarchshift1-3/+3
2014-10-02Optimized chunk loaderHowaner1-1/+0
2014-10-01cPlayer: Removed useless functions from the Lua API.madmaxoft1-2/+6
2014-09-28Compilation fixTiger Wang1-2/+2
2014-09-28cRankManager: Added GetAllPlayers() and GetPlayerName()Howaner1-0/+5
2014-09-27SuggestionsTiger Wang2-3/+4
2014-09-26Removed more unessicary includesTycho3-3/+1
2014-09-26Fixed players custom name in 1.8Howaner1-3/+4
2014-09-25Comment styleHowaner1-1/+1
2014-09-25Fixed hanging direction bugs.Howaner2-1/+16
2014-09-25HangingEntity: Silenced a crash.madmaxoft1-2/+8
Vanilla worlds sometimes contain data that this was asserting upon. Changed into a log.
2014-09-23Made ExpBottleEntity break on entities.archshift2-1/+23
Fixes #1369
2014-09-23A few compiler warning fixesChris Darnell3-42/+45
2014-09-22Made it compile with clangChris Darnell2-4/+4
2014-09-18DerpHowaner1-1/+1
2014-09-18Exported player list states to extra functions.Howaner1-2/+2
2014-09-17Fixed minor style issues.madmaxoft1-2/+2
2014-09-17Implementing Spectator Modenesco1-1/+1
Adding some proprieties of the spectator game mode in player.cpp : - Players can't toss items - Players can't touch the ground
2014-09-17Added first test to show the object can be createdTycho5-21/+21
2014-09-17Preparing 1.8 updatenesco1-5/+15
2014-09-16Preparing 1.8 updatenesco1-1/+2
Partially added Spectator gamemode
2014-09-16Pre 1.8 releasenesco1-0/+8
Added Spectator gamemode
2014-09-16Preparing 1.8 changesnesco1-0/+3
Added Spectator Gamemode
2014-09-13Entities experience water resistanceTiger Wang2-16/+31
2014-09-13Implemented Chest MinecartsTiger Wang2-18/+63
2014-09-12Fixed friction being applied whilst airborneTiger Wang1-11/+13
Reported by tonibm9 in #1300.
2014-09-12Added extra mushroom handler.Howaner1-7/+0
2014-09-111.8: Fixed hangings.Howaner1-1/+1
2014-09-09Added the player list to the 1.8 protocol.Howaner2-2/+4
2014-09-06Fixed player spawning in unknown world.Mattes D1-0/+4
This may happen if the admin removes a world.
2014-09-05Fixed security: Player cannot spawn in a disabled world.Mattes D1-1/+1
2014-09-04Revert "Globals.h: Added Floor and Ciel casting, C++ cast cleanups, etc"archshift1-3/+3
This reverts commit 472efa8174626a00ffdf5b39e1a44ac419cd3698. Apparently we don't support some of these features quite yet (darn you C++98!)
2014-09-04Globals.h: Added Floor and Ciel casting, C++ cast cleanups, etcarchshift1-3/+3
Snow Golems must also be above 64Y to spawn snow (as of 1.8).
2014-09-03Fixed style and alpha-sorting.madmaxoft2-4/+4
2014-09-03EntityEffect.cpp: Enable 1.8's leaping potionarchshift1-1/+1
2014-09-02Renamed SetWalkSpeed() to SetRelativeWalkSpeed()Howaner1-4/+4
2014-09-02Added the new functions to APIDump.Howaner1-1/+1
2014-09-02Added SetCustomName() to players.Howaner2-1/+61
2014-09-01Pickups combine only within one chunk.madmaxoft1-2/+6
This greatly improves performance of the tick thread.
2014-09-01Added name tagHowaner4-3/+8
2014-09-01Added CustomName to cMonster.Howaner1-3/+6
2014-09-01Fixed previous commit's wrong assumptions.madmaxoft1-10/+10
The equipment-getting functions return a copy already, so we can't take a pointer, really.
2014-09-01Fixed MSVC compilation, improved performance.madmaxoft1-30/+59
We're not creating copies of the equipped items anymore, rather, we're using pointers to them. Also pow() is needlessly slow for a simple second power, and MSVC2008 was confused about the pow() overloads.
2014-09-01Fixed MSVC warning.madmaxoft1-2/+2
2014-08-31Fixed styleJaume Aloy3-8/+9
2014-08-30Fixed MSVC2008 compilation.madmaxoft1-18/+18
It was getting confused about which sqrt() overload to call.
2014-08-30Fixed potion removing in creative mode.Howaner1-4/+2
2014-08-30Added slowness effect and added entity support.Howaner2-16/+65
2014-08-30Added a_Digger checkJaume Aloy1-2/+2
2014-08-29Removed unused codeTiger Wang1-1/+0
2014-08-28Added speed entity effect.Hownaer2-0/+45
2014-08-28Fixed a typo.Mattes D1-1/+1
2014-08-24RankMgr: Default rank is applied to players without any rank.Mattes D1-1/+5
2014-08-24Change comment formattingChristophe Piveteau1-20/+12
2014-08-22More EnchantmentsJaume Aloy1-57/+70
- Added Thorns and Respiration enchantments
2014-08-21Removed last remnant of cGroup.Mattes D1-1/+0
2014-08-21Removed cGroup and cGroupManager.Mattes D1-2/+0
2014-08-21Protection Enchantments, some fixesJaume Aloy3-8/+114
- Protection echantments (fire, blast, feather falling, protection and projectile). It isn't finished, add secondary effects and optimize the code. - Removed some brackets. - Silk touch fixed.
2014-08-20cPlayer: Exported the LoadRank function to Lua API.Mattes D1-2/+2
2014-08-19Changed if in BlockHandlerJaume Aloy1-1/+0
2014-08-19FixesJaume Aloy4-14/+15
- Changed m_TicksLeftBurning > 0 for IsOnFire() - Tried to do the changes in BlockHandler.cpp - Removed m_Creator in ArrowEntity - Added m_Enchantments in ProjectileEntity CreatorData - Added blank lines between functions
2014-08-19cPlayer reads ranks from cRankManager.Mattes D2-224/+85
2014-08-19Changed if for switchJaume Aloy1-3/+2
2014-08-19Added more enchantments and some fixesJaume Aloy4-7/+61
- Removed Debug messages - Added Punch enchantment effect - Added Silk Touch enchantment - Added Unbreaking enchantment effect
2014-08-19Added some EnchantmentsJaume Aloy3-6/+89
- Bow enchantments: Infinity, Flame and Power - Sword and tools enchantments: Fire Aspect, Bane of Arthropods, Smite, Sharpness
2014-08-18Player: Silenced a few type conversion warnings.Mattes D1-2/+2
2014-08-18Adjust comment formattingChristophe Piveteau1-20/+40
2014-08-17Player saving creates the "players" folder, if needed.Mattes D1-0/+1
Fixes #1268.
2014-08-16Better OnPlayerMoving hook.Howaner1-2/+10
2014-08-15Added a lot of commentsChristophe Piveteau1-30/+36
2014-08-15Clarify comment messageChristophe Piveteau1-2/+2
2014-08-15End of comment moved away from new lineChristophe Piveteau1-2/+1
2014-08-15Add some commentsChristophe Piveteau1-10/+21
2014-08-14Further changes in coding styleChristophe Piveteau1-38/+28
2014-08-13Further fixing of coding style errorsChristophe Piveteau1-26/+22
2014-08-13Another intendation errorChristophe Piveteau1-2/+2
2014-08-13Fixed braces and intendation errorsChristophe Piveteau1-3/+11
2014-08-13Implement ability to push minecarts on curved railsChristophe Piveteau1-2/+70
2014-08-11Fixed tolua error with static initializationarchshift2-3/+12
2014-08-11Player.cpp: change unnamed enum to constant integersarchshift2-7/+8
2014-08-10SpacesTycho1-1/+1
2014-08-10Fixed potential crash in Player.cppTycho1-0/+4
Fixes CID 71780 If ShouldBroadcastDeathMessages is false the pointer would fall through to a check agaist it being a player
2014-08-10Fixed swing arm animation when you ate.Howaner1-4/+2
2014-08-06On destroy ender crystal, create bedrock and firearchshift1-3/+3
2014-08-04CheckBasicStyle: multi-level indent change.madmaxoft1-1/+1
2014-08-04Attempt to fix knockback and swimming.Howaner1-15/+13
2014-08-03Added cPlayer::GetUUID().madmaxoft1-0/+3
2014-08-03Fixed a ToLua warning - operator = not supported.madmaxoft2-2/+2
2014-08-03Entity.cpp: Air timer comment fixarchshift1-1/+1
2014-08-03Code reduction and clarity fixesarchshift2-29/+16
2014-08-03Removed unused cPlayer::FoodPoison functionarchshift2-12/+0
2014-08-03Entity.cpp: On portal check, use if-else for current dimensionarchshift1-60/+54
If current dimension corresponds with the portal (nether portal in the nether) send to the overworld, else send to the portal dimension. No need to switch on the dimension and exclude potential others.
2014-07-31Fixed hunger bugs, Implemented golden apple, added jump statistic, added correct food effects.Howaner3-22/+38
2014-07-31Fixed UUIDs handling in cPlayer.madmaxoft2-6/+9
The loading expected dashed UUIDs, MCS uses short UUIDs throughout.
2014-07-30Entity.h: Moved constants out of some unnamed enumarchshift1-14/+14
2014-07-29Slight cleanup after portalsTiger Wang1-1/+1
2014-07-29Detrailed whitespaceTiger Wang1-3/+3
2014-07-27Add "Broadcasting" settings to world.iniHowaner1-6/+8
2014-07-26SplashPotionEntity: Use `const cItem &` instead of a cItemarchshift2-2/+2
2014-07-26Fixed indentations, removed redundant init code in SplashPotionEntity.cpparchshift3-6/+2
2014-07-26Moved potion static functions to EntityEffect to create splash potions through worldarchshift5-9/+156
2014-07-24Removed redundant semicolons and re-added warningarchshift26-33/+33
2014-07-23SuggestionsTiger Wang4-16/+23
2014-07-23Fix item durability.Howaner3-8/+11
Fixes #1181
2014-07-22Speed improvements, crash fixes, & self-suggestionsTiger Wang4-35/+37
2014-07-21SuggestionsTiger Wang4-65/+70
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft4-66/+66
2014-07-21Style: Normalized spaces after if, for and while.madmaxoft1-28/+28
2014-07-20Line tracer invalid chunk fixTiger Wang1-6/+7
* Fixes #1230 * Additionally improved speed in some scenarios
2014-07-20Bug and crash fixesTiger Wang4-48/+65
* 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
2014-07-20Added m_TicksAlive to entities, allows projectiles to hit their creatorsarchshift3-3/+14
2014-07-20Added destroy-timer system to splash potion entitiesarchshift2-3/+24
2014-07-19Removed references to deprecated cChatColor::Colorarchshift1-1/+1
2014-07-19Code style: Fixed braces on separate lines.madmaxoft1-1/+2
2014-07-19Fixed style: spaces after commas.madmaxoft1-1/+1
2014-07-19Minecart: slimmed down SpawnOn by keeping subtype in the payload enumarchshift2-20/+7
2014-07-19Splash potions: Renamed PotionParticleType to PotionColor for clarityarchshift2-10/+10
2014-07-19Fixed splash potion color on tossarchshift2-0/+16
2014-07-19Fixed clamping issuesarchshift3-12/+3
2014-07-19Subdirs: Only add_library if not using MSVCarchshift1-2/+4
2014-07-19Entities/CMakeLists.txt: Replaced glob with list of filesarchshift1-5/+56
2014-07-18Fix failed merge and other issuesTiger Wang3-45/+12
2014-07-18Moved ChatColor.h out of defines where it was not neededarchshift1-0/+1
2014-07-17Fixed NULL being passed instead of a double to AddEntityEffectarchshift1-1/+1
2014-07-17Fixed tabs used for alignment.madmaxoft9-25/+25
2014-07-17More trailing whitespace fixes.madmaxoft4-8/+8
2014-07-17Player.cpp: Fixed compile errorarchshift1-1/+1
2014-07-17Player.cpp: Added Wither death messagearchshift1-0/+1
2014-07-17Basic style fixes.madmaxoft8-29/+29
2014-07-17Fixed many slime bugs.Howaner1-4/+1
- Fixed slime hurt/death sound - Added slime spawning on death. - Fixed the max health. - Fixed the attack damage. - Little slimes should not attack players.
2014-07-17Normalized comments.madmaxoft29-141/+141
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.
2014-07-17Fixed mob knockbackTiger Wang1-23/+8
* Fixes #901
2014-07-17Fixed 3 MSVC warnings in SplashPotionEntity.madmaxoft1-1/+1
2014-07-17Updated cPawn::KilledBy signature for custom death messages.madmaxoft2-3/+3
2014-07-17Fixed formatting for cWitherSkullEntitymadmaxoft2-3/+13
2014-07-16Another fix for excessive food drainTiger Wang2-1/+10
2014-07-16Resolved backwards compatibility issuesTiger Wang1-1/+1
2014-07-15Restructured cSplashPotionEntity code.madmaxoft3-70/+102
The callback doesn't need declaration in the header. Renamed PotionName to PotionParticleType.
2014-07-15Only the cEntityEffect::effXXX constants are Lua-exported.madmaxoft2-72/+102
The rest of the classes don't need exporting, there's no interface using them anyway.
2014-07-15Reformatted EntityEffect code.madmaxoft1-25/+29
2014-07-15Fixed a MSVC warning in cEntityEffect::CreateEntityEffect().madmaxoft1-0/+1
2014-07-14Maybe improved arrow sinkingTiger Wang1-2/+2
2014-07-14Readability and clarity changesarchshift3-29/+23
2014-07-14Player properties are now retrievedTiger Wang1-2/+2
2014-07-14EntityEffect: Inlined functions, added explicit copy constructor and operator.archshift2-20/+29
2014-07-14Changed separating comment style from asterisks to slashes.archshift2-93/+93
2014-07-13Made CreateProjectile a pointerworktycho2-4/+5
2014-07-13Changed BroadcastSoundEffect function to take floating pos.Howaner5-7/+7
2014-07-12Added splash potions to NBT serialization and retrievalarchshift2-1/+9
2014-07-12For now, removed creator member from Entity Effect for pointer safetyarchshift5-94/+84
2014-07-11Simplified the player data loading.madmaxoft1-9/+8
2014-07-11Player data filenames are based on UUID.madmaxoft2-67/+132
2014-07-11Fixed a missing return value.madmaxoft1-0/+2
2014-07-11Preparation for player UUID-based storage: LoadFromFile()madmaxoft2-21/+42
2014-07-09Fixed arrow collection animationTiger Wang2-22/+4
* Fixed piston extension non-solidness
2014-07-07Added extra space before commentsTiger Wang1-6/+6
2014-07-07Implemented trapped chests & othersTiger Wang1-1/+1
+ Added trapped chests * Fixed a bunch of bugs in the redstone simulator concerning wires and repeaters * Other potential bugfixes
2014-07-05Changed everything to callbacksTiger Wang3-80/+33
2014-07-04Crash and compile fixTiger Wang2-4/+9
2014-07-04SuggestionsTiger Wang6-6/+15
2014-07-04Various fixedTiger Wang3-10/+107
* Fixed potential invalid pointer dereferencing, fixes #1117 * Fixed ender pearls not being loaded properly
2014-07-04Eps comparisonTiger Wang2-2/+2
2014-07-04Tailored death messagesTiger Wang9-22/+43
2014-07-02SuggestionsTiger Wang2-8/+14
2014-07-02SuggestionTiger Wang1-13/+13
2014-07-02Fixed player teleport food drainTiger Wang2-1/+14
2014-07-01Vector clamping fixesTiger Wang1-4/+8
Thank you, @madmaxoft.
2014-06-30Fixes.Howaner1-3/+3
2014-06-30Implemented Vector3<>::Floor()Tiger Wang1-2/+3
2014-06-30Add new hook: HOOK_PLAYER_FOOD_LEVEL_CHANGEHowaner1-26/+24
2014-06-29Fixed respawningTiger Wang1-1/+1
* Fixes #1103
2014-06-29SuggestionsTiger Wang2-3/+6
2014-06-29Properly implemented enderchestsTiger Wang2-2/+16
2014-06-28An unification of code styleTiger Wang1-1/+1
2014-06-28Likely fixed too quick food depletionTiger Wang1-1/+1
* Fixes FS427 properly, hopefully
2014-06-28Fixed server forcing players afloatTiger Wang1-1/+4
* Fixes #1131
2014-06-26Add comment.Howaner1-0/+1
2014-06-26Fixed a comment and changed CombineCount to short.Howaner1-2/+2
2014-06-26GameMode checkHowaner1-1/+1
2014-06-24Optimize combining.Howaner1-3/+3
2014-06-24Better combining.Howaner1-3/+20
2014-06-24Fix pickup combining over the maximum stack size.Howaner1-4/+8
2014-06-22Some Entity.cpp style improvementsTiger Wang2-13/+8
2014-06-22Fixed multiple issues with projectilesTiger Wang8-63/+112
* Fixed arrows not being collectable/not truly hitting a block/not lodging into blocks/not going in far enough * Fixed projectiles not playing their block hit animation owning to being destroyed too quickly
2014-06-22Conforms to standardsTiger Wang1-1/+1
2014-06-21Fixed invalid iteratorsTiger Wang3-2/+12
2014-06-21More suggestionsTiger Wang3-4/+6
2014-06-19Nullify deleted pointers.archshift1-0/+1
2014-06-19EntityEffects.x -> EntityEffect.x, Object-Oriented effectsarchshift10-270/+745
Changed effect map to take a pointer of the effect as a result.
2014-06-17Entity effects: changed User to Creator, removed pawn pass-by-valuearchshift5-35/+19
2014-06-17Added the OnEntityAddEffect hook.madmaxoft2-0/+11
2014-06-17Entity Effects: Clarified user, added it to AddEntityEffectarchshift5-13/+30
Added second AddEntityEffect with a pass-by-value of the class.
2014-06-17Changed the AddEntityEffect() params for easier calls.madmaxoft5-47/+50
2014-06-17Entity Effect: Separates total duration and ticks of activityarchshift3-22/+23
Changed HandleEntityEffect to use cEntityEffect's ticks instead of a static counter
2014-06-17Fixed MSVC compilation.madmaxoft1-4/+7
2014-06-17Pawn: renamed HandleEntityEffects to HandleEntityEffectarchshift4-6/+8
Exported entity effect functions for ToLua and documented them in APIDesc.lua
2014-06-17Cave spider now poisons its victim, added IsPawn function to Entityarchshift2-1/+2
2014-06-17Added wither damage type, wither entity effect.archshift2-1/+16
2014-06-17Monster: added IsUndead(), undead-specific entity effectsarchshift1-6/+0
2014-06-17Applies splash potion effects to mobs as well as playersarchshift2-8/+12
2014-06-17Removed long function wrappingarchshift1-2/+1
2014-06-17Entity effect type: use 'eff' as a prefix instead of 'ef'archshift4-41/+41
2014-06-17Added splash potion functionalityarchshift5-14/+87
2014-06-17Entity: only fire critical hit if damage type is physicalarchshift1-1/+2
2014-06-17Player: made healing instantaneousarchshift2-2/+2
2014-06-17Implemented drinkable potions, noeffect entity effect,archshift3-0/+16
Clears entity effects on death
2014-06-17Implemented milk, added documentation to Pawn.harchshift3-1/+36
2014-06-17Pawn.cpp: fixed effect iterator BAD_ACCESSarchshift2-9/+14
Erasure was occurring before the iterator increased, causing a bad access. Solved by storing map pairs in variables and manually updating iterator before erasure. Fixed mix-up in function arguments on food poisoning
2014-06-17Pawn: Enabled entity effect broadcast, added typedefarchshift2-4/+6
Typedef'd std::map<cEntityEffect::eType, cEntityEffect> to tEffectMap
2014-06-17EntityEffect: read-only getters, added user and distance modifier fieldsarchshift3-11/+35
User: the pawn that uses or produces the entity effect (drinks/throws a potion) Distance modifier: the potency modifier from splash potion effectivity radius
2014-06-17Player: Removed food-poisoning-specific code, set duration to 30 secondsarchshift2-26/+2
http://minecraft.gamepedia.com/Hunger#Behavior
2014-06-17Entity effects: Added handlers for entity effectsarchshift4-13/+138
Implemented hunger, instant health, damage, poison, regen Added "template" entity effect implementations
2014-06-17Added iterator on tick to manage entity effect durationarchshift1-1/+18
2014-06-17cPawn: Remove unused m_bBurnablearchshift2-2/+0
2014-06-17Moved Effects.h to EntityEffects.h, added initial implarchshift6-33/+113
2014-06-17Added classes for splash potions and wither skullsarchshift5-0/+149
2014-06-17derpHowaner1-3/+3
2014-06-17The same: Float, not DoubleHowaner1-1/+1
2014-06-17Float, not DoubleHowaner1-1/+1
2014-06-16Split Broadcast Sound Effect function call in multiple lines.Howaner1-2/+16
2014-06-16Fix bow sound and creative arrow pickup.Howaner1-10/+22
2014-06-16Add bow charging animationHowaner2-2/+6
2014-06-16Merge branch 'master' of github.com:mc-server/MCServerTycho4-33/+81
2014-06-16Implemented PR suggestionsarchshift3-3/+4
Furnace.txt: newline BlockID: removed extraneous dimension mapping cEntity: fixed typo cPlayer: WorldPtr typedef
2014-06-15Players are saved regularlyTiger Wang2-2/+22
* Fixes #1076
2014-06-14Removed an unused tolua_end and tolua_begin pair.madmaxoft1-2/+0
2014-06-14Simplified speed clamping.madmaxoft1-8/+3
2014-06-14Refactored speed-setting to use a common function for all cases.madmaxoft4-93/+44
2014-06-14Reverted portal creation codeTiger Wang2-103/+0
It wasn't really working and needs more development
2014-06-12Fixed compileworktycho1-1/+1
2014-06-12Portals animate and delay correctlyTiger Wang4-50/+112
2014-06-11Player.h: Moved doxy-comments to Entity.harchshift2-3/+10
Moved doxy-comments to the defining function in Entity.h rather than the overloaded functions in Player.h Comment for each function (instead of assumed encapsulating comments) @deprecated tag for ForceSetSpeed()
2014-06-10Portal improvements and suggestionsTiger Wang2-41/+92
2014-06-08Fixed deadlock when moving players to other worlds.Mattes D3-15/+18
Fixes #1039, fixes #851
2014-06-08Added queue for adding entities to cWorld.Mattes D3-4/+5
This alone doesn't work properly yet, further changes to cPlayer are needed.
2014-06-05Fixed compilationTiger Wang1-1/+1
2014-06-04SuggestionsTiger Wang2-2/+5
2014-06-04Configurable portalsTiger Wang2-14/+33
2014-06-04SuggestionsTiger Wang2-5/+9
2014-06-04Fix itemframe break.Howaner1-1/+3
2014-06-04Added checks for no downfall biomesTiger Wang1-1/+1
2014-06-03Player permissions aren't logged to console anymore.madmaxoft1-7/+0
This was only logspam on most servers and there are alternative ways to list players' permissions.
2014-06-01Implemented bed homesTiger Wang3-16/+40
+ Implemented bed home positions * Fixed some inventory and health server/client mismatches after world change
2014-05-31Implemented end and nether portalsTiger Wang4-11/+150
2014-05-31Used recommendationsSTRWarrior1-2/+1
2014-05-30Wrong arrow commit.Howaner1-4/+0
2014-05-29Revert "Fixed a food saturation issue"Tiger Wang1-1/+1
This reverts commit 67308e4337b422ebefb249049e662266072b0ba2.
2014-05-28Add throw sound and fix arrow server crash.Howaner2-5/+4
2014-05-28Fix Y-Position from arrow entity.Howaner1-0/+1
2014-05-25Fixed a food saturation issueTiger Wang1-1/+1
2014-05-23Fixed datatype conversion warning.Mattes D1-2/+2
2014-05-22Added doxy-commentsSTRWarrior1-6/+8
2014-05-22cEntity::SetSpeed(a_Vector3d) isn't virtualized anymoreSTRWarrior2-2/+2
2014-05-22cPlayer overrides the SetSpeedXX functionsSTRWarrior3-4/+53
Fixed compile error
2014-05-22Both SetSpeed functions are now overridden by cPlayerSTRWarrior3-6/+32
2014-05-20Cleaned up cPlayer::UpdateMovementStats; Wither achievementsandrew2-14/+60
2014-05-20Update Player.cppAlexander Harkness1-19/+19
2014-05-19Fixed a cactus Y position issueTiger Wang1-2/+3
2014-05-19Simplified cacti conditionsTiger Wang1-2/+2
2014-05-19Added client translation to achievementsTiger Wang1-4/+4
2014-05-19DerpAlexander Harkness1-1/+1
2014-05-19Should have fixed assumptions about entity width.Alexander Harkness1-4/+5
@madmaxoft can you comment?
2014-05-19Fixed clanging errors.Alexander Harkness1-5/+5
Please @tigerw make sure this is correct.
2014-05-18Implemented cacti damageTiger Wang2-0/+26
+ Implemented cacti damage * Fixed pickup tossing (PR #994 bug)
2014-05-18There's no "round" function in MSVC2008.madmaxoft2-4/+4
2014-05-13Fixesandrew2-16/+14
2014-05-12Movement Statisticsandrew3-11/+96
2014-05-12cEntity::Killed(cEntity *) Handler; Achievement triggers; cPlayer::AwardAchievement()andrew5-4/+95
2014-05-11Fixed compilationandrew1-0/+2
2014-05-11Fixed stat serializationandrew1-10/+21
2014-05-11Statistic Managerandrew2-2/+26
2014-05-09Initialise m_HasTeleported in both constructorsworktycho1-0/+1
2014-05-06Suggestions'd #2Tiger Wang1-1/+1
2014-05-06Suggestions'dTiger Wang2-2/+2
2014-05-02A bit of reformatting.madmaxoft1-5/+10
2014-04-28Fixed a MSVC warning.madmaxoft1-1/+1
2014-04-28Fixed projectile source filenames, indentationsarchshift17-58/+58
2014-04-27Fixed warnings.madmaxoft1-0/+1
2014-04-27Fixed ToLua errors, added newlinesarchshift18-19/+19
2014-04-27Redstone simulator now directly accesses cChunkTiger Wang2-2/+2
* Redstone simulator performance improvements * Added return values to some functions * Minor fixes
2014-04-27Fixed ToLua issuesarchshift8-19/+16
2014-04-27Moved cFireworkEntity out of ProjectileEntity.harchshift4-115/+115
2014-04-27Moved cGhastFireballEntity out of ProjectileEntity.harchshift4-74/+83
2014-04-27Moved cFireChargeEntity out of ProjectileEntity.harchshift4-82/+88
2014-04-27Moved cThrownSnowballEntity out of ProjectileEntity.harchshift4-74/+83
2014-04-27Moved cExpBottleEntity out of ProjectileEntity.harchshift4-52/+61
2014-04-27Moved cThrownEnderPearl out of ProjectileEntity.harchshift4-86/+94
2014-04-27Moved cThrownEggEntity out of ProjectileEntity.harchshift4-90/+99
2014-04-27Moved cArrowEntity out of ProjectileEntity.harchshift4-280/+291
2014-04-27A tiny speed improvement in ApplyFoodExhaustion()Tiger Wang1-5/+5
2014-04-27More comments!Tiger Wang2-3/+10
* Also fixed a potential issue with position sending - if someone moved slowly enough, their position would never be updated.
2014-04-27Added static const, initialized fields.archshift1-0/+2
2014-04-26More small fixes.archshift1-1/+1
2014-04-26Implemented Chunk Sparsing with segmentsTycho1-3/+2
2014-04-26Further refactored, Reverted Minecart changearchshift4-17/+23
Other small changes.
2014-04-26FixesHowaner2-11/+14
2014-04-26Moved switch{} out of GetArmorCoverAgainst().archshift2-5/+29
2014-04-26Fixed a couple more warnings.archshift2-21/+17
2014-04-26Change m_InvulnerableTicks description again again :DHowaner1-1/+1
2014-04-26Change m_InvulnerableTicks description again.Howaner1-1/+1
2014-04-26Change m_InvulnerableTicks descriptionHowaner1-1/+1
2014-04-26Add entity invulnerableHowaner8-26/+61
2014-04-25Cmake generated projects for IDEs include headers in project files.archshift1-0/+1
2014-04-25Creator not user.archshift2-5/+5
2014-04-25Comments for TrySpawnChicken() and TeleportUser().archshift1-0/+2
2014-04-25Rename spawn chicken method, Initialize m_HasTeleported.archshift2-4/+5
2014-04-25Fix formattingr.ramazanov1-9/+15
2014-04-25Fix for clangr.ramazanov1-5/+1
2014-04-25Mobs shouldn't burn when it's Raining & Mob Knockback is far too muchr.ramazanov1-8/+5
2014-04-25Chicken eggs and ender pearls can hit entities.archshift2-7/+66
Fixed warning by adding dedicated m_HasTeleported for fired arrows.
2014-04-24Implemented suggestionsTiger Wang1-7/+6
2014-04-23Some change to Entity.cppTiger Wang6-122/+100
* Added comments to BroadcastMovementUpdate() and the collision tracer
2014-04-23Mobs shouldn't burn when it's Raining #906r.ramazanov1-9/+30
Mob Knockback is far too much #776
2014-04-23Renamed getter and setter for IsFireproof.archshift2-3/+3
2014-04-23Fireproof status getter and setter.archshift2-0/+16
2014-04-22Fixed indentation and changed m_Fireproof to m_IsFireproof.archshift2-14/+14
2014-04-22Lay foundation for fireproof entities.archshift2-3/+15
Prevent any entities with the m_Fireproof flag from taking fire or lava damage.
2014-04-21reverted the revert of the minecart collision detection fix.jfhumann1-2/+1
2014-04-21Mobs shouldn't burn when it's Raining #906r.ramazanov1-5/+12
2014-04-19Fixed Flint and Steel, reverted Minecart change, renamed a parameter namejfhumann3-4/+5
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann3-6/+7
2014-04-18Fixed #906Tiger Wang1-0/+10
2014-04-17Added new AI rulesTiger Wang4-39/+36
+ 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
2014-04-12Entities handle chunks properly againTiger Wang6-118/+118
* Entities properly handle chunks * Changed EntityStatus enums to be less shouty
2014-04-05Fixed Endiannes conversion routines for floats and doubles.madmaxoft1-1/+1
This bug has been introduced in 8825d30aabbee8cb2e452dc5a17deb6f9b6892a7. This change fixes #854.
2014-04-05Removed debugging log from entity physics handling.madmaxoft1-1/+2
2014-04-05Added cPlayer:SendRotation() API function.madmaxoft2-0/+17
2014-04-03Documented the units and range for entity rotations.madmaxoft1-7/+7
2014-03-30Using recommendations (I think)STRWarrior1-1/+2
2014-03-30Added a BlockHitPos parameter to OnProjectileHitBlockSTRWarrior1-2/+2
2014-03-30Added a blockface parameter to the OnProjectileHitBlock hook.STRWarrior1-1/+1
2014-03-29Fixed the OnProjectileHitBlock hook not stopping projectiles.STRWarrior1-1/+1
2014-03-29Added HOOK_PROJECTILE_HIT_BLOCK.STRWarrior1-0/+5
2014-03-29Fixed error when the hook gets called.STRWarrior1-1/+0
2014-03-29Added HOOK_PROJECTILE_HIT_ENTITYSTRWarrior1-0/+6
2014-03-29Fixed #721 and FS439Tiger Wang1-0/+1
2014-03-25Ender crystalsandrew3-11/+102
2014-03-25More fixes to get it to compile for me on Mac 10.9. Mostly just newline additions, but some of the unused variables were causing errors, so I wrapped them in #ifndef __APPLE__ calls, since I didn't know if they were going to be used in the future.Samuel Barney2-3/+1
Also had to undefine TOLUA_TEMPLATE_BIND a couple of times.
2014-03-25Added newlines. Without them, the files would not compile.Samuel Barney2-2/+2
2014-03-20Plugins can set flying speed.madmaxoft2-75/+118
2014-03-20Rewritten player speeds to be relative unit-less.madmaxoft2-7/+11
Value of 1 means "default speed", 2 means "double the speed", 0.5 means "half the speed". This allows for easier plugins and is more future-proof.
2014-03-20Minor Entity.cpp cleanupTiger Wang1-12/+9
2014-03-15Add item frame saving.Howaner4-44/+119
2014-03-15Add health and age load to pickup's.Howaner2-16/+22
2014-03-15Add ExpOrb saving.Howaner3-10/+34
2014-03-11Unified Matrix4 codeandrew1-1/+1
2014-03-11TakeDamage now has the cThrownSnowballEntity instead of the creator's object.STRWarrior1-1/+1
2014-03-11Snowballs now actualy hurt other entities.STRWarrior2-2/+25
3 damage for blazes and 1 for the ender dragon. Otherwise 0
2014-03-11Unified Vector classesandrew2-3/+2
2014-03-09Fixed #778 - stack overflow.comTiger Wang1-1/+1
2014-03-09Beds now work properly fixes #707Tiger Wang1-3/+14
Also fixes FS392 Conflicts: src/Blocks/WorldInterface.h src/ClientHandle.cpp
2014-03-09CheckBlockInteractionsRate() fixed & enabledTiger Wang2-35/+1
2014-03-08Fixed issues with int vs size_t and a few other warningsTycho2-4/+4
2014-03-08Change TNT Fuse to ticksHowaner2-11/+11
2014-03-08Add TNT Save/Load and add Netbeans projects to .gitignoreHowaner2-17/+33
2014-03-05Added extra awesomeness to TNTTiger Wang3-195/+205
+ 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
2014-03-01g_BlockXXX => cBlockInfo::XXXandrew4-14/+14
2014-03-01Shortened enumsandrew1-2/+2
2014-03-01Exported and documented cScoreboardandrew1-18/+3
2014-02-28Fixed multiple gcc warnings about unused params.madmaxoft2-1/+12
2014-02-28Moved common cGroupManager code to a separate function.madmaxoft1-7/+11
This fixes my concerns in PR #709.
2014-02-27Removed unneeded includes in Player.cppTiger Wang1-7/+0
2014-02-27Implemented ballistic missiles (fireworks)Tiger Wang2-43/+56
+ Added fireworks
2014-02-24Small improvements to boats.STRWarrior1-3/+7
2014-02-21Remove users.ini generation in Player.cpp and use the CheckUsers() FunctionHowaner1-6/+1
2014-02-21Add 'Group not found', when the Server load the users.ini and add auto generate from users.iniHowaner1-1/+5
2014-02-18Changed BlockFace type to eBlockFaceTiger Wang2-13/+26
2014-02-18Added a braceTiger Wang1-0/+2
==== { } { __ } { | | } ==== REMOVE ALL THE BRACES!!
2014-02-18Properly exported and documented paintingsTiger Wang1-2/+2
2014-02-18Implemented paintings, fixes #689Tiger Wang3-0/+87
+ Implemented paintings
2014-02-18Implemented item frames, a part of #689Tiger Wang3-0/+153
+ Implemented Item Frames * Fixed Pitch and Yaw being wrongly flipped in the protocol (XOFT!)
2014-02-17Map item handler; Fixed several bugsandrew1-0/+3
2014-02-16Links sent via chat messages are clickable.madmaxoft1-1/+2
Fixes #658.
2014-02-16Fixed minor formatting issues from #682Tiger Wang3-16/+3
- Removed unused PlaySoundEffect * Simplified and parenthesised code
2014-02-16Replace random Float Generation and broadcast the Exp Pickup SoundHowaner2-9/+4
2014-02-16Add Exp Bottle EffectsHowaner4-1/+23
2014-02-16Disable Hunger DeathHowaner1-1/+7
2014-02-15Implemented cCompositeChat.madmaxoft1-0/+1
This allows plugins to send composite chat messages, containing URLs, commands to run and cmdline suggestions. Fixes #678.
2014-02-15If a player is called "Notch" he drops an apple. http://minecraft.gamepedia.com/NotchSTRWarrior1-0/+6
2014-02-12Made player jump reset less ambiguousTiger Wang1-1/+2
2014-02-11Fixed #627Tiger Wang1-2/+2
- Attack() is now called from cAggressive instead of cMonster * Monsters can no longer attack through walls * Should fix last remnants of player damage after teleporting (that both STR and bearbin contributed fixes to :P)
2014-02-09Fixed a boat ASSERTTiger Wang1-2/+8
2014-02-07Improved chat messaging functionsTiger Wang2-17/+8
* Moved string manipulation into cClientHandle and therefore... + Added configuration option for prefixes. * Cleaned up code. * Updated documentation for API.
2014-02-06Server internally uses new functionsTiger Wang1-6/+4
2014-02-06Added more chat functionsTiger Wang1-1/+0
2014-02-05Removed deprecated HasCommand functionSTRWarrior2-14/+0
2014-02-05Fixed most of the reordering warningsTycho4-11/+11
2014-02-05Fixed annoying creative on fire bugTiger Wang2-0/+20
2014-02-04Added more SendMessageXXX() functionsTiger Wang1-0/+4
2014-02-04Improved Type safety of eBlockFaceTycho3-22/+22
May Fix #640
2014-02-03Pickup constructor no longer exportedTiger Wang3-4/+8
It didn't do anything without Initialize() exported, anyway, pickups are spawned with cWorld.
2014-02-03Added SendMessageXXX() to cPlayerTiger Wang1-0/+3
As requested by @bearbin, one no longer needs to download a file that links to Core. The server does it! Hopefully this encourages standards compliance.
2014-02-03Fixed a crash bugTiger Wang1-3/+3
2014-02-03Server now handles join messages alsoTiger Wang1-1/+7
* Revised as well hook documentation
2014-02-03Fixed compilationtonibm191-1/+0
2014-02-03Exporded World:FindClosestPlayer, Item:IsEnchantable and Monster:MoveToPosition to Lua APItonibm191-0/+1
2014-02-02Creative players take Plugin damageTiger Wang2-3/+4
2014-02-01Removed "player destroying" hookdaniel09161-3/+1
2014-01-29Removed debug message when a firework entity hit a solid block.STRWarrior1-2/+0
2014-01-29Bottle o' Enchanting spawns an experience orb.STRWarrior1-1/+2
2014-01-25Rail speed tweakTiger Wang1-2/+2
2014-01-25Two minor changesTiger Wang1-5/+3
2014-01-25Implemented fall damage for mobsTiger Wang3-5/+8
+ Implemented mobile fall damage * Formatting fixes + Defined new Position->Integer macros
2014-01-25Implemented pickup combiningTiger Wang1-0/+55
* Fixes FS393 * Part of #131
2014-01-25Added "player destroying" and "player destroyed" hooksdaniel09161-0/+4
Hooks: HOOK_PLAYER_DESTROYING HOOK_PLAYER_DESTROYED Idea from: https://github.com/mc-server/MCServer/issues/473
2014-01-25All mobs now drown (fixes #54)Tiger Wang4-127/+130
* Implemented mob drowning * Iron Golems and squids are excluded
2014-01-24Miscellaneous improvementsTiger Wang1-10/+4
2014-01-24removed hook from enchanting commitdaniel09161-4/+0
2014-01-24Removed unused ReferenceManagerTiger Wang2-45/+1
2014-01-24Added more minecart powered rail directionsTiger Wang1-3/+63
2014-01-24Some updates for enchantingdaniel09161-0/+4
2014-01-24Fixed crash with failed entity-loading.madmaxoft1-1/+2
This should fix issues reported in: http://forum.mc-server.org/showthread.php?tid=1328 http://forum.mc-server.org/showthread.php?tid=1308
2014-01-24Fixed indentation once and for all.Mike Hunsinger1-31/+31
2014-01-24Fixed indentation and doxygen comments... For real this time.Mike Hunsinger1-3/+3
2014-01-24Fixed spacing and doxycomments.Mike Hunsinger2-6/+6
2014-01-23Split TossItem into three Toss functions (Held, Equipped and Pickup)Mike Hunsinger2-50/+66
2014-01-22Fixed compilation on VC2008tonibm191-0/+1
2014-01-21Scoreboard protocol supportandrew1-6/+11
2014-01-20Scoreboard deserializationandrew2-3/+26
2014-01-19Begin implementing ascending railsTiger Wang2-2/+45
2014-01-19Added one more direction into collision checksTiger Wang1-26/+51
* Added direction XM_XP * Improved performance, thanks STR and xoft
2014-01-19Minecart improvements and fixesTiger Wang1-33/+43
* Fixed curved rails * Fixed detector rails in certain situations * Fixed powered rails and others passing bad meta to SnapToRail()
2014-01-19Added more rail functionalityTiger Wang1-14/+0
2014-01-19Scoreboard improvementsandrew1-4/+4
2014-01-19Basic scoreboard implementationandrew2-1/+62
2014-01-19Exported cFloater to the Lua API.STRWarrior1-3/+7
2014-01-18Minecart collision and general improvementsTiger Wang2-70/+242
+ Implemented collision on one type of rail * Improved curved rails somewhat * Fixed a crash bug
2014-01-17Removed internal cEntity::GetRot() usage.madmaxoft3-7/+7
2014-01-16Disabled excessive entity-related logging in Debug mode.madmaxoft1-1/+11
2014-01-16Removed obsoleted functionsTiger Wang5-27/+25
2014-01-16Changed GetContent function.STRWarrior1-1/+1
2014-01-15OBSOLETE'd obsolete functionsTiger Wang1-2/+2
2014-01-15Implemented Ctrl-Q drop stackTiger Wang1-3/+8
Also fixed an issue with TossItems not respecting count.
2014-01-15Furnace minecarts now stop being active after a while.STRWarrior2-2/+19
2014-01-15First implementation for furnace minecarts.STRWarrior2-1/+23
2014-01-14Yes newline at end of file :DTiger Wang1-1/+5
2014-01-13Final improvements to MinecartsTiger Wang3-93/+292
* Fixed curved rails being a little broken + Implemented detector rails + Implemented block collisions on rails * Fixed snapping to rail - Removed minecart physics conditions in Entity.cpp as minecarts use their own simulator when on rails Fixes #148 and #217; partially implemented #215. This is Cave Johnson, and we're done here.
2014-01-13Detaching improvementsTiger Wang4-4/+34
* Players now search for an area around themselves to teleport to when detaching from something
2014-01-12Fixed server crash.STRWarrior1-1/+1
2014-01-12Renamed cEmptyMinecart to cRideableMinecartSTRWarrior2-6/+7
2014-01-12EmptyMinecarts should be able to get a block inside of them.STRWarrior2-3/+11
2014-01-12Multiple enhancements and fixes to minecartsTiger Wang3-132/+190
+ They are destroyed instantly by creative mode * Physics is much improved + Basic implementation of powered rails
2013-12-31Fixed a cPlayer::IsGameModeAdventure. It was determined based off of gmCreate rather than gmAdventure.Morgan Redshaw1-2/+2
2013-12-30Fixed compilation in VC2008.madmaxoft1-2/+4
Also removed an unused inline header file (yuck).
2013-12-26Server now handles death messagesTiger Wang1-0/+16
2013-12-25Fixed Parentheses.STRWarrior1-2/+2
2013-12-25You are now able to sweep mobs to your position using fishing rods.STRWarrior2-12/+142
2013-12-25Braced up some codeTiger Wang1-0/+2
2013-12-25Used IsGamemodeCreative() functionTiger Wang1-1/+1
2013-12-24Fixed comments in main.cpp and Player.cppTiger Wang1-1/+1
2013-12-24Improved knockback animationTiger Wang1-3/+3
* Critical hits now actually increase damage * Looking down at an entity and hitting them still produces upwards motion (as per Vanilla experience) * Reduced force to be more realistic
2013-12-24finally removed them all?Alexander Harkness1-1/+1
2013-12-23Improved player fall particle positionsTiger Wang1-5/+2
2013-12-23Clarified some code in Player.cppTiger Wang1-2/+5
2013-12-23Fixed a comment in Entity.cppTiger Wang1-1/+1
2013-12-22Implemented knockback and critical hitTiger Wang1-4/+21
2013-12-22Implemented fall particlesTiger Wang1-3/+18
2013-12-22merged in warnings changesTycho Bickerstaff3-7/+17
2013-12-22Fishing underground is slower and fishing while raining is faster.STRWarrior1-0/+15
2013-12-22Fixed compiler warnings.STRWarrior1-2/+2
2013-12-22Fishing now uses a countdown instead of a random number each tick.STRWarrior2-12/+29
2013-12-22converted commneted paramater names to the unused macroTycho Bickerstaff3-5/+13
2013-12-21Floater now dissapears when the player doesn't have an fishing rod equipped.STRWarrior2-0/+32
2013-12-21Root is now warnings cleanTycho Bickerstaff1-2/+2
2013-12-21ChunkSender is now warnings cleanTycho Bickerstaff2-5/+5
2013-12-21You could now only get fish from non-source blocks. Fixed it.STRWarrior1-1/+1
2013-12-21Fixed bug where you could get fish from non-source blocks.STRWarrior1-1/+1
2013-12-20Fixed bug where the floater could pop in the water while you could already get a fish.STRWarrior1-2/+2
2013-12-20More reordering fixes.madmaxoft3-7/+16
2013-12-20Sorted a few constructors to remove warnings.madmaxoft5-32/+36
2013-12-20Fixed compiler warning when iterating over a fixed array of items (ARRAYCOUNT).madmaxoft1-1/+1
2013-12-19Fixed #include in Floater.cpp.STRWarrior1-1/+1
2013-12-19The floater now actualy dives under water.STRWarrior1-1/+1
2013-12-19Fixed PlayerAbilities and creativeTiger Wang1-0/+18
2013-12-19Implented IsFishing, SetIsFishing and GetFloaterID().STRWarrior2-0/+12
2013-12-19Added cFloater class.STRWarrior3-0/+90
2013-12-16Boats drop a boat pickup when destroyed by hand. You can now actualy use boats.STRWarrior2-3/+33
2013-12-16Added HandleSpeedFromAttachee so an entity can override the function.STRWarrior2-4/+15
2013-12-16Fixed cClientHandle::Tick() being called from two threads.madmaxoft2-24/+0
When the player was initialized, the Tick() function continued to stream chunk, while the cWorld called Tick() from its tick thread. Final fix for #187.
2013-12-15Server saves if a player is flying.STRWarrior1-1/+3
2013-12-15Renamed ShootTo function to ForceSetSpeed.STRWarrior2-3/+3
2013-12-15This adds a function that allows you to 'shoot' a player towards a direction.STRWarrior2-0/+13
2013-12-15Fixed indentation.madmaxoft1-1/+1
2013-12-15Added m_IsFlying and m_CanFly. Both have a Get and Set function. Added cClientHandle::SendPlayerAbilities() functionSTRWarrior2-1/+45
2013-12-15cPlayer is using the broadcast functions.STRWarrior1-3/+3
2013-12-14Exported E_EFFECTS_<Effect> to lua. Forgot to commit Globals.h.STRWarrior1-1/+2
2013-12-14Added E_EFFECT_<Effect>STRWarrior2-3/+32
2013-12-14Added SendEntityEffect and SendRemoveEntityEffect. Also a Player now gets the hunger effect when he has food poison.STRWarrior1-1/+9
2013-12-14Exported the cTNTEntitySTRWarrior1-2/+6
2013-12-14Fixed not getting XP from mobs.STRWarrior1-1/+1
2013-12-14Improved player permissions loggingTiger Wang1-1/+1
2013-12-14Fixes to redstone wire and torchesTiger Wang1-1/+1
+ Wires now power blocks around the block beneath * Torches no longer power off if it is on a linked powered block * Enhanced code, split functions, etc.
2013-12-14Groups.ini and Users.ini are now generatedTiger Wang1-1/+6
2013-12-13Using "a_ClosestPlayer != NULL" in cExpOrb.STRWarrior1-1/+1
2013-12-11ExpOrbs now move.STRWarrior1-4/+8
2013-12-11moved entities to globsTycho Bickerstaff1-1/+5
2013-12-10more cmakeTycho Bickerstaff1-0/+7
2013-12-08Fixed angle normalization typo.madmaxoft1-1/+1
2013-12-08Fixed normalizing large angles.madmaxoft1-6/+3
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft3-3/+3
Ref.: #407
2013-12-07Renamed animation functionTiger Wang1-3/+3
Renamed BroadcastPlayerAnimation to BroadcastEntityAnimation. Not just players can have animations, you know.
2013-12-06Puking now uses GetEyeHeight()Tiger Wang1-1/+1
2013-12-06Fixed eating using wrong animationTiger Wang1-1/+1
2013-12-06Tools make a sound when breaking, fixes #266Tiger Wang2-2/+5
2013-11-27Fixed VC2008 compilation, normalized include paths.madmaxoft1-1/+1
2013-11-27Fixed some of tiger's derpyness.Alexander Harkness1-2/+2
2013-11-26Hopefully fixed last of the Linux compile errorsTiger Wang1-1/+1
2013-11-24Attempt to fix compilationTiger Wang1-2/+2
2013-11-24Moved source to srcAlexander Harkness18-0/+6466