summaryrefslogtreecommitdiffstats
path: root/src/Entities/Player.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-09-27Update Minecraft Wiki links to new domain (#5532)Spongecade1-5/+5
* Update Minecraft Wiki links to new domain * Added Spongecade to contributors * Sorted Spongecade
2023-05-16Removed all Printf-family functions from StringUtils.Mattes D1-4/+4
Replaced them with fmt::format calls, including changes to the format strings. Also changed the format strings to use FMT_STRING, so that the format is checked compile-time against the arguments. Also fixed code-style violations already present in the code.
2022-11-03Chunk: Optimise idle tickingTiger Wang1-9/+0
* Instead of chunks ticking player objects, and the player object in turn ticking its client handle, let the world tick the client handles. This means we no longer need to maintain a special-case for chunks that shouldn't be ticking, but still need to process players. Partially reverts to the state before 054a89dd.
2022-04-20Valid Height is now checked by vector.x12xx12x1-2/+2
2022-04-20Updated protocol functions to Vector3xx12xx12x1-4/+4
also added support in included functions
2022-04-19Check height is within world for pistons and digging (#5396)KingCol131-1/+9
* Fixes piston and digging crashes.
2022-04-12fix various compiler warnings (and some unwanted case statement fallthroughs)hle01-2/+2
2022-02-08Spectation: keep track of spectatorsTiger Wang1-10/+29
+ Keep a list of spectators so that pointer clean-up can happen when the spectated is killed. * Fix invalid game state when riding/spectating and then entering or leaving spectator mode.
2022-01-24Add player permission level (#5358)Simon Pribylski1-34/+47
2022-01-14syntaxTiger Wang1-1/+1
2022-01-14eblockfaceTiger Wang1-1/+1
2022-01-14Fixed Compiler Warningsx12xx12x1-1/+1
2021-12-29Improved farmer AI & Fixed entity loading functions (#5351)Persson-dev1-2/+0
* Allow villagers to pickup items * Add farmer villager harvesting * Use of auto keyword * Using for loop to check adjacent crops * Show particules when farmer harvest * Fix area comment * Move constants to header file * Removing unnecessary semicolon * Initialization of CropBlockType variable * Apply 12xx12 suggestion * Fixing area constant size * Refactor bounding box calculation, use vectors. * Add Api documentation * Update lua docs * Rework farmer ai * Fixing lua docs notes * Add missing capitalisation * Add villagers inventory save * Fixing loading entities from disk inconsistencies * Add farmer harvest animation * Fix beetroots grow state Co-authored-by: Alexander Harkness <me@bearbin.net>
2021-12-02ItemHandler initialisation is a constant expression (#5344)x12xx12x1-7/+7
* Transition to non-pointer item handler * That is my destructor - I decide when I leave this world * I declare your destruction private and you final
2021-11-11Miscellaneous fixes (#5320)Tiger Wang1-116/+51
* Protocol: update Abilities flags + Add Spectator handling * BioGen: move <iostream> include * ClientHandle: rename Respawn packet dimension check flag * Make it clearer what it's doing. * ClientHandle: move ProcessProtocolIn calls to World * Player: remove some redundant initialisation * Player: UpdateCapabilities enables flight for spectators * Produce growth: improve comments * ClientHandle: run unload checks using delta time * Fix forgotten initialisation of time member
2021-10-03World: change spawnpoint type to int (#5313)Tiger Wang1-1/+1
* World: change spawnpoint type to int As Vanilla does.
2021-10-02Perform bed checks upon respawn (#5300)JK2K1-12/+44
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-10-02Snipe skeleton achievmentRorkh1-4/+17
2021-09-30Spectation: add dedicated pathway for spectator mode (#5303)Tiger Wang1-98/+81
* Spectation: add dedicated pathway for spectator mode + Sync player rotation with spectated entity. + Add dedicated infrastructure to cPlayer for handling spectation, instead of misusing entity riding. * Avoid infinite recursion when exiting spectation, fixes #5296 * AttachTo: Change parameter to reference
2021-08-21Fix typo in message send when getting achievements (#5282)Bart Ribbers1-1/+1
2021-07-23Added y bounds checking for cPlayer::PlaceBlock (#5194)Kiryu1441-9/+9
2021-07-06Invalidate m_LastStreamedChunk when player position doesn't matchTiger Wang1-3/+0
So teleporting to and back doesn't cause chunk sending to stop. * Fixes #4531
2021-06-28Remove spammy LOGD outputTiger Wang1-2/+0
2021-06-28SetBedPos: make World parameter non-nullTiger Wang1-7/+6
* Fixes #5190
2021-06-19Death messages for tamed pets and ocelots are now tamable. (#5243)TheHyper451-58/+1
* Fixing bugs regarding wolfs and ocelots * Death messages appear after killing tamed ocelots and wolfs * Style fix * Added myself to the CONTRIBUTORS file * Removed redundant string initialization * Removed an unsafe cast. * Changed the order of initialization of fields in constuctor of class cOcelot
2021-05-05Move item placement into item handlers (#5184)Tiger Wang1-19/+26
* 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 Wang1-3/+3
2021-05-03Add player statistics to API (#5193)nshah251-32/+36
* Fixed issue #5166 Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-04-12Thrown potions/enderpearls: cleanupTiger Wang1-13/+6
2021-04-12cPlayer: move some constants out of headerTiger Wang1-2/+10
2021-04-12More cProtocol cleanupTiger Wang1-12/+21
* 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-12Improve bed handling robustnessTiger Wang1-1/+10
+ Boot the player out if the bed was destroyed
2021-04-12Unify multiprotocol entity animationsTiger Wang1-3/+2
2021-04-12Update entity sizesTiger Wang1-11/+1
2021-04-12Streamline player abilities handlingTiger Wang1-93/+65
* 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-12Fix sending incorrect date values on world changeTiger Wang1-7/+7
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)Nate1-0/+16
* Teleport off of mount when throwing enderpearl * Simplify returning boolean * Oops forgot a semicolon * Fix code conventions in Player.h
2021-04-03Basic elytra flight (#5124)Damián Imrich1-70/+236
* 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 Wang1-147/+79
* 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 Wang1-1/+1
* 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 Wang1-12/+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 Wang1-16/+14
* Fixes #5144
2021-03-11Fixed some death messages showing up even when they are disabled. (#5153)NiLSPACE1-5/+1
2021-02-07Fix #5118Tiger Wang1-419/+424
2021-01-12Clarify cClientHandle, cPlayer ownership semanticsTiger Wang1-251/+207
+ 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-02Fix potential destruction crashes (#5095)Tiger Wang1-2/+1
* 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 Neill1-0/+1
* 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-06Players are no longer kicked when clicking on bedrock (#5023)Tiger Wang1-18/+8
* Players are no longer kicked when clicking on bedrock * Fixes #5022
2020-10-15added const correctness on some functions in cPlayer (#4999)12xx121-2/+2
Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-10-05Fix cmake not adding Werror on clang, and _lots_ of warnings (#4963)peterbell101-3/+3
* 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)KingCol131-19/+67
* 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)KingCol131-0/+23
* 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-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 Wang1-4/+2
* 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-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-21Make StatSerializer a namespaceTiger Wang1-4/+2
2020-08-19Add Statistics and Achievements for newer Network standards12xx121-56/+57
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-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-14Introduce recipe book functionality (#4493)Tobias Wilken1-10/+92
* 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-05-15Enable some more clang-tidy linter checks (#4738)peterbell101-9/+3
* 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-09Update submodules (#4727)peterbell101-6/+8
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-07Remove old Android leftovers (#4722)Mat1-2/+2
2020-05-04Improve entity position updates (#4701)Tiger Wang1-21/+19
* 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-03Add cEntity::GetBoundingBox, and use where appropriate. (#4711)Alexander Harkness1-1/+1
* Add cEntity::GetBoundingBox, and use where appropriate.
2020-04-18MoveToWorld must always be provided a worldTiger Wang1-1/+1
2020-04-16Using Super.Mattes D1-10/+10
2020-04-02Replace buckets to the selected hotbar slot, rather than the first available. (#4580)Alexander Harkness1-0/+19
* 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)peterbell101-1/+1
2020-03-30Lua API for spectating entities (#4518)Mat1-2/+18
2020-03-24Send respawn packet by default (#4540)Mat1-1/+1
2020-03-23Manual merge of #4498.Alexander Harkness1-1/+6
Credit to @MeMuXin Closes #4498
2020-03-22Don't remove items twice (#4524)Mat1-4/+0
* Don't remove items twice
2020-03-19Improvements to knockback (#4504)Mat1-4/+0
* Improvements to knockback * SetSpeed for explosions * Improve code consistency
2020-03-05Attached entities can't enter portals (#4484)Mat1-0/+3
* Attached entities can't enter portals * Whitespace fixes
2020-03-05Stabilise MoveToWorld (#4004)Mat1-71/+49
* 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
2019-09-27Fixed MSVC warnings (#4400)Mattes D1-1/+1
2019-08-16Fix mobs targeting dead players (#4344)Julius Oeftiger1-1/+1
Fixes #4340
2019-08-11Fix building with clang 8.0 (#4346)Bond-0091-2/+2
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)peterbell101-4/+4
* 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)peterbell101-2/+2
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-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-07-26CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell101-1/+4
Add check for number of empty lines between functions and fix the corresponding failures
2018-07-23cPawn: Reset last ground height in ResetPosition (#4261)peterbell101-1/+0
Prevents fall damage after teleporting/portaling to a lower height. Fixes #3457
2018-07-23Rewrite explosion knock back (#4251)changyong guo1-0/+28
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 guo1-27/+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 guo1-0/+17
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-0091-22/+33
Ref: minecraft.gamepedia.com/Enchanting#Unbreaking #915
2018-05-02Prefer static_cast to reinterpret_cast (#4223)peterbell101-4/+4
* 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-11Update m_LastSentPosition in TeleportToCoords and DoMoveToWorld. (#4211)peterbell101-2/+2
2018-02-05Deal with covered switches consistently (#4161)peterbell101-29/+24
* 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-14Rename cEntity swim states (#3996)Alexander Harkness1-9/+1
* 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 Harkness1-19/+24
Armour durability also no longer changes when it is used to break blocks or attack mobs. Fixes #4119
2017-10-21Implement horse inventory (#4053)peterbell101-0/+30
* Implement horse inventory * Fix sign conversions * Add API doc for ItemCategory::IsHorseArmor * Improve HandleOpenHorseInventory comment and style fixes.
2017-09-19Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)Lane Kolbly1-1/+1
* 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-11Replace ItemCallbacks with lambdas (#3993)peterbell101-56/+17
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 Harkness1-18/+0
* Fire effect now shown for creative and spectator mode players Fixes #3989 * Add documentation for IsFireproof
2017-09-02Revert "Replace ItemCallbacks with lambdas (#3948)"LogicParrot1-17/+56
This reverts commit 496c337cdfa593654018c171f6a74c28272265b5.
2017-09-01Replace ItemCallbacks with lambdas (#3948)peterbell101-56/+17
2017-08-25Add cUUID class (#3871)peterbell101-7/+6
2017-08-24Minor changes (#3909)mathiascode1-1/+1
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-07Changed entity ownership model to use smart pointersTiger Wang1-5/+9
2017-08-03Implement invisibility effectpeterbell101-4/+6
2017-08-03Remove double includes part 2 (#3890)peterbell101-2/+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 Kolbly1-0/+95
* 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 Kolbly1-11/+16
* Updated armor damage calculation. + Added lua docs, added casts from float to int. * Changed verbage in docstring and comment.
2017-07-10Implemented draggingitem API.Lane Kolbly1-0/+13
2017-07-02Added armor durability reduction when player is attacked.Lane Kolbly1-0/+12
2017-06-13FastRandom rewrite (#3754)peterbell101-7/+6
2017-06-05Fixes problems with windows:Lukas Pioch1-5/+5
- Changed cPlayer:OpenWindow to accept a ref, tolua adds a nil check - Close open lua window in destructor, to avoid dangling pointers
2017-05-27Add rank prefix and suffix to player name in chat (#3730)Heiko Hund1-0/+18
Fixes issue #1721
2017-05-21Clang 5.0 fixesLukas Pioch1-2/+3
- Added override keyword - Removed inherited member variables
2017-03-19Detach player from entity / object if he is deadLukas Pioch1-0/+4
2017-02-15Updated sounds and effect IDs (#3422)mathiascode1-1/+1
2017-01-03Track skin part and main hand preferences (#3498)Pokechu221-1/+23
2017-01-03Track skin part and main hand preferences (#3498)Pokechu221-1/+23
2016-12-19Updated links and docs (#3488)mathiascode1-1/+1
2016-11-18Removed ClientHandle.h dependencies from common headers.Mattes D1-2/+121
2016-11-06Anticheat fastbreak (#3411)mohe20151-0/+92
Added block hardness checks when breaking blocks.
2016-10-12Spectators added (#2852)bibo381-0/+69
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-03Improve cPlayer::DoMoveToWorld (#3113)LogicParrot1-36/+43
2016-08-29Proper respawn packets on dimension travelLogicParrot1-0/+9
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-06-02Fixed fall damageTiger Wang1-1/+1
* Fixes #3216
2016-05-03Fixed death on teleportation or leaving Minecart (#3181)LogicParrot1-5/+9
2016-05-03Fix crash on world travel (#3180)LogicParrot1-1/+1
2016-04-13Fix occasional freeze bugLogicParrot1-35/+36
2016-04-05Minor improvements to player freezeLogicParrot1-1/+1
2016-04-05Improved player freeze codeLogicParrot1-44/+61
2016-03-31Players never fall through unloaded chunks or end up inside solids on teleportLogicParrot1-27/+80
2016-03-31Player death crashfixLogicParrot1-2/+4
2016-03-29Bed's world is now savedLogicParrot1-2/+38
2016-02-19Proper entity destruction in non-ticking chunksLogicParrot1-27/+45
2016-02-08remove cWorld::createAndInitializeWorldLogicParrot1-1/+1
2016-02-03cMonster::m_Target safety across worldsLogicParrot1-1/+7
2016-02-02Fixed cChunk::m_Entities corruption upon world travelLogicParrot1-4/+14
2016-01-22Improved tamed wolf pack cooperation and projectile reactionsLogicParrot1-7/+9
2016-01-16Fixed wrong knockback direction after explosion damageLogicParrot1-0/+4
2016-01-16Fix crash when tamed wolf is hit by arrowsLogicParrot1-4/+7
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)LogicParrot1-0/+39
2016-01-06Fixed Clang warnings.Mattes D1-1/+9
2015-12-25Freeze player until chunk is loadedSafwat Halaby1-0/+83
2015-12-13blockheight mechanismGargaj1-97/+0
2015-11-10Avoid reading out of boundsGargaj1-4/+14
as per https://github.com/cuberite/cuberite/pull/2630#discussion_r44377411
2015-11-10fix shallow water + add future code for liquid fall dampeningGargaj1-3/+11
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 Wang1-160/+98
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-22/+22
2015-07-14Improved mapsTiger Wang1-0/+5
2015-07-14Fix food drain on movement.LO1ZB1-11/+10
2015-06-13Added HOOK_KILLEDNounours Heureux1-6/+19
2015-06-10Implemented nether portal scanning code.Lane Kolbly1-4/+3
2015-05-23Fix gamemode not changing properly.Alexander Harkness1-64/+71
Should fix #604
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 Pioch1-2/+3
2015-05-18Added hooks HOOK_ENTITY_CHANGE_WORLD and HOOK_ENTITY_CHANGED_WORLDLukas Pioch1-0/+10
Fixes #1435.
2015-05-09More style checking.Mattes D1-6/+6
Spaces around some operators are checked.
2015-04-25cPlayer now checks restrictions.Mattes D1-6/+24
Fixes #1331.
2015-04-03Fixed players not appearing/disappearing when traveling to a new world.STRWarrior1-0/+6
2015-03-05Added OnTeleportEntity hook for plugins.joshi071-10/+15
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-28 modified: src/Entities/Player.cppDevToaster1-17/+17
modified: src/Entities/Player.h
2015-01-27Converted cServer to use the cNetwork API.Mattes D1-7/+17
2015-01-11Initial convertion of a_Dt to std::chronoTycho1-1/+1
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
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 D1-0/+96
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.Howaner1-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-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 Wang1-30/+30
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-30/+30
2014-10-20Migrated cSleep and cTimer to std::chronoTiger Wang1-8/+4
2014-10-18Fixed failure for cRankManager to restartTiger Wang1-6/+6
2014-10-15Functions in cPluginManager get references instead of pointers.Mattes D1-1/+1
2014-10-02Optimized chunk loaderHowaner1-1/+0
2014-09-28cRankManager: Added GetAllPlayers() and GetPlayerName()Howaner1-0/+5
2014-09-26Fixed players custom name in 1.8Howaner1-3/+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 createdTycho1-2/+2
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-12Added extra mushroom handler.Howaner1-7/+0
2014-09-09Added the player list to the 1.8 protocol.Howaner1-1/+3
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-02Added SetCustomName() to players.Howaner1-1/+46
2014-08-31Fixed styleJaume Aloy1-0/+3
2014-08-30Fixed potion removing in creative mode.Howaner1-4/+2
2014-08-24RankMgr: Default rank is applied to players without any rank.Mattes D1-1/+5
2014-08-21Removed cGroup and cGroupManager.Mattes D1-2/+0
2014-08-21Protection Enchantments, some fixesJaume Aloy1-1/+1
- 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-19cPlayer reads ranks from cRankManager.Mattes D1-201/+55
2014-08-19Added more enchantments and some fixesJaume Aloy1-0/+20
- Removed Debug messages - Added Punch enchantment effect - Added Silk Touch enchantment - Added Unbreaking enchantment effect
2014-08-18Player: Silenced a few type conversion warnings.Mattes D1-2/+2
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-11Fixed tolua error with static initializationarchshift1-0/+9
2014-08-11Player.cpp: change unnamed enum to constant integersarchshift1-1/+1
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-03Code reduction and clarity fixesarchshift1-10/+7
2014-08-03Removed unused cPlayer::FoodPoison functionarchshift1-9/+0
2014-07-31Fixed hunger bugs, Implemented golden apple, added jump statistic, added correct food effects.Howaner1-17/+36
2014-07-31Fixed UUIDs handling in cPlayer.madmaxoft1-5/+8
The loading expected dashed UUIDs, MCS uses short UUIDs throughout.
2014-07-29Slight cleanup after portalsTiger Wang1-1/+1
2014-07-27Add "Broadcasting" settings to world.iniHowaner1-6/+8
2014-07-23SuggestionsTiger Wang1-1/+1
2014-07-23Fix item durability.Howaner1-2/+2
Fixes #1181
2014-07-22Speed improvements, crash fixes, & self-suggestionsTiger Wang1-2/+4
2014-07-21SuggestionsTiger Wang1-20/+5
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-54/+54
2014-07-21Style: Normalized spaces after if, for and while.madmaxoft1-28/+28
2014-07-20Bug and crash fixesTiger Wang1-18/+17
* 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-19Removed references to deprecated cChatColor::Colorarchshift1-1/+1
2014-07-19Code style: Fixed braces on separate lines.madmaxoft1-1/+2
2014-07-19Fixed clamping issuesarchshift1-4/+1
2014-07-18Fix failed merge and other issuesTiger Wang1-32/+8
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.madmaxoft1-4/+4
2014-07-17More trailing whitespace fixes.madmaxoft1-1/+1
2014-07-17Player.cpp: Fixed compile errorarchshift1-1/+1
2014-07-17Player.cpp: Added Wither death messagearchshift1-0/+1
2014-07-17Basic style fixes.madmaxoft1-5/+5
2014-07-17Normalized comments.madmaxoft1-21/+21
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-16Another fix for excessive food drainTiger Wang1-0/+9
2014-07-14Player properties are now retrievedTiger Wang1-2/+2
2014-07-13Changed BroadcastSoundEffect function to take floating pos.Howaner1-1/+1
2014-07-11Simplified the player data loading.madmaxoft1-9/+8
2014-07-11Player data filenames are based on UUID.madmaxoft1-54/+111
2014-07-11Fixed a missing return value.madmaxoft1-0/+2
2014-07-11Preparation for player UUID-based storage: LoadFromFile()madmaxoft1-21/+33
2014-07-04Tailored death messagesTiger Wang1-7/+28
2014-07-02SuggestionTiger Wang1-13/+13
2014-07-02Fixed player teleport food drainTiger Wang1-1/+9
2014-06-30Fixes.Howaner1-3/+3
2014-06-30Add new hook: HOOK_PLAYER_FOOD_LEVEL_CHANGEHowaner1-26/+24
2014-06-29Fixed respawningTiger Wang1-1/+1
* Fixes #1103
2014-06-29Properly implemented enderchestsTiger Wang1-0/+7
2014-06-28Likely fixed too quick food depletionTiger Wang1-1/+1
* Fixes FS427 properly, hopefully
2014-06-21Fixed invalid iteratorsTiger Wang1-0/+1
2014-06-21More suggestionsTiger Wang1-1/+1
2014-06-19Nullify deleted pointers.archshift1-0/+1
2014-06-19EntityEffects.x -> EntityEffect.x, Object-Oriented effectsarchshift1-37/+0
Changed effect map to take a pointer of the effect as a result.
2014-06-17Entity Effects: Clarified user, added it to AddEntityEffectarchshift1-1/+1
Added second AddEntityEffect with a pass-by-value of the class.
2014-06-17Changed the AddEntityEffect() params for easier calls.madmaxoft1-1/+1
2014-06-17Pawn: renamed HandleEntityEffects to HandleEntityEffectarchshift1-2/+2
Exported entity effect functions for ToLua and documented them in APIDesc.lua
2014-06-17Entity effect type: use 'eff' as a prefix instead of 'ef'archshift1-6/+6
2014-06-17Implemented milk, added documentation to Pawn.harchshift1-1/+1
2014-06-17Pawn.cpp: fixed effect iterator BAD_ACCESSarchshift1-1/+1
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-17EntityEffect: read-only getters, added user and distance modifier fieldsarchshift1-1/+1
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 secondsarchshift1-20/+1
http://minecraft.gamepedia.com/Hunger#Behavior
2014-06-17Entity effects: Added handlers for entity effectsarchshift1-13/+38
Implemented hunger, instant health, damage, poison, regen Added "template" entity effect implementations
2014-06-17Moved Effects.h to EntityEffects.h, added initial implarchshift1-3/+3
2014-06-16Add bow charging animationHowaner1-1/+5
2014-06-16Merge branch 'master' of github.com:mc-server/MCServerTycho1-1/+29
2014-06-16Implemented PR suggestionsarchshift1-1/+1
Furnace.txt: newline BlockID: removed extraneous dimension mapping cEntity: fixed typo cPlayer: WorldPtr typedef
2014-06-15Players are saved regularlyTiger Wang1-1/+18
* Fixes #1076
2014-06-14Refactored speed-setting to use a common function for all cases.madmaxoft1-56/+2
2014-06-12Portals animate and delay correctlyTiger Wang1-15/+6
2014-06-08Fixed deadlock when moving players to other worlds.Mattes D1-8/+10
Fixes #1039, fixes #851
2014-06-08Added queue for adding entities to cWorld.Mattes D1-2/+0
This alone doesn't work properly yet, further changes to cPlayer are needed.
2014-06-05Fixed compilationTiger Wang1-1/+1
2014-06-04SuggestionsTiger Wang1-0/+1
2014-06-04Configurable portalsTiger Wang1-1/+1
2014-06-04SuggestionsTiger 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 Wang1-13/+22
+ Implemented bed home positions * Fixed some inventory and health server/client mismatches after world change
2014-05-31Implemented end and nether portalsTiger Wang1-10/+26
2014-05-29Revert "Fixed a food saturation issue"Tiger Wang1-1/+1
This reverts commit 67308e4337b422ebefb249049e662266072b0ba2.
2014-05-25Fixed a food saturation issueTiger Wang1-1/+1
2014-05-22cPlayer overrides the SetSpeedXX functionsSTRWarrior1-0/+45
Fixed compile error
2014-05-22Both SetSpeed functions are now overridden by cPlayerSTRWarrior1-0/+20
2014-05-20Cleaned up cPlayer::UpdateMovementStats; Wither achievementsandrew1-14/+57
2014-05-20Update Player.cppAlexander Harkness1-19/+19
2014-05-19Added client translation to achievementsTiger Wang1-4/+4
2014-05-18There's no "round" function in MSVC2008.madmaxoft1-3/+3
2014-05-13Fixesandrew1-10/+11
2014-05-12Movement Statisticsandrew1-9/+77
2014-05-12cEntity::Killed(cEntity *) Handler; Achievement triggers; cPlayer::AwardAchievement()andrew1-4/+66
2014-05-11Fixed stat serializationandrew1-10/+21
2014-05-11Statistic Managerandrew1-2/+19
2014-05-06Suggestions'd #2Tiger Wang1-1/+1
2014-05-06Suggestions'dTiger Wang1-1/+1
2014-04-27A tiny speed improvement in ApplyFoodExhaustion()Tiger Wang1-5/+5
2014-04-26Add entity invulnerableHowaner1-9/+12
2014-04-23Some change to Entity.cppTiger Wang1-16/+6
* Added comments to BroadcastMovementUpdate() and the collision tracer
2014-04-19Fixed Flint and Steel, reverted Minecart change, renamed a parameter namejfhumann1-2/+2
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann1-4/+5
2014-04-17Added new AI rulesTiger Wang1-18/+14
+ 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 Wang1-1/+1
* Entities properly handle chunks * Changed EntityStatus enums to be less shouty
2014-04-05Added cPlayer:SendRotation() API function.madmaxoft1-0/+11
2014-03-29Fixed #721 and FS439Tiger Wang1-0/+1
2014-03-20Plugins can set flying speed.madmaxoft1-3/+30
2014-03-20Rewritten player speeds to be relative unit-less.madmaxoft1-2/+2
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-11Unified Vector classesandrew1-0/+1
2014-03-09CheckBlockInteractionsRate() fixed & enabledTiger Wang1-25/+0
2014-03-01g_BlockXXX => cBlockInfo::XXXandrew1-1/+1
2014-03-01Shortened enumsandrew1-2/+2
2014-03-01Exported and documented cScoreboardandrew1-18/+3
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-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-17Map item handler; Fixed several bugsandrew1-0/+3
2014-02-16Fixed minor formatting issues from #682Tiger Wang1-10/+1
- Removed unused PlaySoundEffect * Simplified and parenthesised code
2014-02-16Add Exp Bottle EffectsHowaner1-0/+9
2014-02-16Disable Hunger DeathHowaner1-1/+7
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-07Improved chat messaging functionsTiger Wang1-10/+0
* 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-05Removed deprecated HasCommand functionSTRWarrior1-13/+0
2014-02-05Fixed annoying creative on fire bugTiger Wang1-0/+17
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-02Creative players take Plugin damageTiger Wang1-2/+2
2014-02-01Removed "player destroying" hookdaniel09161-3/+1
2014-01-25Two minor changesTiger Wang1-5/+3
2014-01-25Implemented fall damage for mobsTiger Wang1-4/+2
+ Implemented mobile fall damage * Formatting fixes + Defined new Position->Integer macros
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 Wang1-103/+14
* Implemented mob drowning * Iron Golems and squids are excluded
2014-01-24removed hook from enchanting commitdaniel09161-4/+0
2014-01-24Some updates for enchantingdaniel09161-0/+4
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 Hunsinger1-3/+3
2014-01-23Split TossItem into three Toss functions (Held, Equipped and Pickup)Mike Hunsinger1-49/+58
2014-01-22Fixed compilation on VC2008tonibm191-0/+1
2014-01-21Scoreboard protocol supportandrew1-6/+11
2014-01-20Scoreboard deserializationandrew1-1/+21
2014-01-19Scoreboard improvementsandrew1-4/+4
2014-01-19Basic scoreboard implementationandrew1-0/+52
2014-01-17Removed internal cEntity::GetRot() usage.madmaxoft1-2/+2
2014-01-16Removed obsoleted functionsTiger Wang1-3/+3
2014-01-15Implemented Ctrl-Q drop stackTiger Wang1-3/+8
Also fixed an issue with TossItems not respecting count.
2014-01-14Yes newline at end of file :DTiger Wang1-1/+5
2014-01-13Detaching improvementsTiger Wang1-0/+26
* Players now search for an area around themselves to teleport to when detaching from something
2013-12-31Fixed a cPlayer::IsGameModeAdventure. It was determined based off of gmCreate rather than gmAdventure.Morgan Redshaw1-2/+2
2013-12-26Server now handles death messagesTiger Wang1-0/+16
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-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-22Implemented fall particlesTiger Wang1-3/+18
2013-12-21Floater now dissapears when the player doesn't have an fishing rod equipped.STRWarrior1-0/+29
2013-12-20Sorted a few constructors to remove warnings.madmaxoft1-21/+22
2013-12-19Fixed PlayerAbilities and creativeTiger Wang1-0/+18
2013-12-19Implented IsFishing, SetIsFishing and GetFloaterID().STRWarrior1-0/+2
2013-12-16Fixed cClientHandle::Tick() being called from two threads.madmaxoft1-22/+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.STRWarrior1-1/+1
2013-12-15This adds a function that allows you to 'shoot' a player towards a direction.STRWarrior1-0/+10
2013-12-15Added m_IsFlying and m_CanFly. Both have a Get and Set function. Added cClientHandle::SendPlayerAbilities() functionSTRWarrior1-0/+32
2013-12-15cPlayer is using the broadcast functions.STRWarrior1-3/+3
2013-12-14Added E_EFFECT_<Effect>STRWarrior1-3/+3
2013-12-14Added SendEntityEffect and SendRemoveEntityEffect. Also a Player now gets the hunger effect when he has food poison.STRWarrior1-1/+9
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-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
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 Wang1-1/+4
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 Harkness1-0/+0
2013-11-21Exported static XP calculation to Lua API.madmaxoft1-8/+7
2013-11-16minor change in LOGD callDaniel O'Brien1-2/+2
2013-11-16removed magic numberDaniel O'Brien1-2/+2
2013-11-16edited comment and changed error behavior of DeltaXpDaniel O'Brien1-3/+9
2013-11-16updated plugin again...Daniel O'Brien1-4/+4
2013-11-16removed SpendExperience and changed AddExperience to handle removing XpDaniel O'Brien1-29/+8
2013-11-16fixed bug and added SpendExperience()Daniel O'Brien1-4/+37
2013-11-16fix possible threadlock issue, changed function names to be closer to standardDaniel O'Brien1-18/+30
2013-11-15alignment fixes :)Daniel O'Brien1-1/+1
2013-11-15finished #143 I believeDaniel O'Brien1-3/+16
2013-11-15added cProtocol function to pass xp to clientDaniel O'Brien1-13/+19
2013-11-14fixed XpGetPercentageDaniel O'Brien1-1/+3
2013-11-14fixed function nameDaniel O'Brien1-1/+1
2013-11-13fixed commentDaniel O'Brien1-1/+1
2013-11-13changed function nameDaniel O'Brien1-1/+1
2013-11-13minor changesDaniel O'Brien1-5/+5
2013-11-13changed name conventionDaniel O'Brien1-2/+2
2013-11-13Fixed problems with code style etcDaniel O'Brien1-30/+68
2013-11-13Player Xp, includes get/set and addExperienceDaniel O'Brien1-1/+2
2013-11-13Player XpDaniel O'Brien1-3/+71
2013-11-02Fixed bow damage in creativeTiger Wang1-1/+1
Also reverted indenting change
2013-11-02Multiple fixesTiger Wang1-12/+9
* Fixed #282 * Fixed bow not taking damage * Enhanced Player.cpp code
2013-10-25cIniFile doesn't store filename internally anymore.madmaxoft1-4/+4
2013-10-24Unified cPlayer's Heal() function with cEntity's.madmaxoft1-5/+2
2013-10-24Pickups now have collection delay when vomitedTiger Wang1-1/+1
Implements FS#394.
2013-10-09Moved cMakeDir::MakeDir to cFile::CreateFolder.madmaxoft1-2/+1
And exported to Lua.
2013-09-16Attempt at fixing linux crash on player login.Matyas Dolak1-1/+11
Ref.: http://forum.mc-server.org/showthread.php?tid=1244
2013-09-11Better player gamemode detectionTiger Wang1-1/+1
2013-09-11Added player void damageTiger Wang1-3/+6
2013-09-08Removed the "charging bow" debug message.madmaxoft1-1/+0
2013-09-04Players toss a little furtherTiger Wang1-1/+1
2013-08-30Moved throw pos and speed calculation from cProjectileEntity into cPlayer.madmaxoft1-0/+30
2013-08-30Shooting a bow kinda works.madmaxoft1-0/+44
The arrow is released, but sometimes hits wrong blocks or disappears completely.
2013-08-20Hotfix for #83.madmaxoft1-0/+6
Do not tick the player while their chunk is invalid.
2013-08-19Debuggers: Added continuous hunger reporting.madmaxoft1-2/+2
Showcases the OnWorldTick() hook to fire events at regular intervals. Will be used for debugging the issues related to hyper-hunger.
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-23/+23
2013-08-19Fixed crash when the player is above the world.madmaxoft1-1/+1
Fixes #53.
2013-08-14Server counts the players correctly.madmaxoft1-0/+3
Was missing the PlayerDestroying() call, so players weren't removed from the playercount.
2013-08-14Fixed player swimstate crash.madmaxoft1-16/+35
The check for swimming / submersion checks the Y coord first. Fixes #63.
2013-08-14Player counts are now properly handled.madmaxoft1-9/+6
Fixes #80
2013-08-13Clients are now ticked in cServer first, then in cWorld once they get assigned a world.madmaxoft1-15/+19
2013-08-12Keep players from taking damage when teleporting.STRWarrior1-1/+1
2013-08-12Removed cServer::BroadcastChat() and cServer::SendMessage().madmaxoft1-6/+16
These two functions make it difficult to move to the new ticking system, and they aren't used anyway. If so required, they can be emulated by ForEachWorld / ForEachPlayer calls.
2013-08-10Added back the required extra line in player.cppAlexander Harkness1-0/+1
2013-08-10Deleting cPlayer now does LOGD instead of LOGTiger Wang1-2/+1
Hopefully only prints in debug the debug message!
2013-08-09Fixed stupid syntax error (thanks build system).Alexander Harkness1-1/+1
2013-08-09Keep players from taking damage when teleporting. (Hopefully).Alexander Harkness1-0/+1
Fixes #29
2013-08-09Fixed some formatting issues I accidentally introducedJames Ravenscroft1-11/+12
2013-08-09Removed the need to recalculate whether player is under water in ApplyFoodExhaustionJames Ravenscroft1-11/+3
2013-08-09Added IsSwimming and IsSubmerged flags and access methodsJames Ravenscroft1-9/+28
2013-08-08Fixed food handler for mushroom soup - proper food level and saturation are applied and the player receives a wooden bowl back after nommingJames Ravenscroft1-0/+7
2013-08-08Made comments more readable by adding space between // and text content. Added /// doxygen syntax comments to declarationsJames Ravenscroft1-7/+7
2013-08-08Fixed the formatting issues in player cpp filesJames Ravenscroft1-31/+30
2013-08-08Made player drowning implementationJames Ravenscroft1-1/+44
2013-08-08Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.madmaxoft1-3/+7
As requested in FS 418.
2013-08-01New players get full healthmadmaxoft1-4/+5
Fixes #28.
2013-07-30Fixed inverted sanity check in SetGameMode()madmaxoft1-1/+1
Fixes #22.
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-1423/+1423
2013-07-28Player eating is now properly broadcast to other players.madmaxoft1-1/+1
Also fixed the API relating to food, determining player gamemode, and removed several unneeded API functions.
2013-07-28Implemented basic eating support.madmaxoft1-0/+58
Food is now properly consumed and it takes 1.5 sec.
2013-07-28Hunger-per-distance is calculated only for the XZ distancemadmaxoft1-0/+1
2013-07-28Player food level is reset on respawnmadmaxoft1-0/+4
2013-07-28Added cPlayer::IsGameModeXXX() and cWorld::IsGameModeXXX() functions.madmaxoft1-1/+35
These are the preferred way of determining the gamemode, you should use those instead of doing manual comparisons to the gamemode value.
2013-07-27Hunger: If a player dies the food level resets.STRWarrior1-1325/+1326
2013-07-26Removed debug-logging the player movement in each tickmadmaxoft@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1685 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-12First implementation of movement-related hunger and APImadmaxoft@gmail.com1-69/+214
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1673 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07Fixed sprinting in 1.6.1, made speeds available through API; fixed messages containing quotes.madmaxoft@gmail.com1-0/+54
Fixes FS #415 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1660 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07Improved function names for protocol packet sending; alpha-sorted the function listsmadmaxoft@gmail.com1-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1659 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05Fixed a crash when moving a player to a non-existent world (reported by tonibm19)madmaxoft@gmail.com1-1/+1
http://forum.mc-server.org/showthread.php?tid=434&pid=8865#pid8865 crashdump.zip/crash_mcs_165c.dmp git-svn-id: http://mc-server.googlecode.com/svn/trunk@1645 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-03Fixed player moving between worlds.madmaxoft@gmail.com1-19/+30
Fixes FS #407. Also fixes a few possible deadlocks between SocketThreads and TickThread git-svn-id: http://mc-server.googlecode.com/svn/trunk@1641 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-01Rewritten entity-on-fire management ("forever on fire" bugs)madmaxoft@gmail.com1-11/+14
Fixes FS #297 and part of FS #403. Added sizes to all entities. Moved all damage-related functions from cPawn to cEntity API change: renamed cPawn:TeleportTo() to cEntity:TeleportToCoords() git-svn-id: http://mc-server.googlecode.com/svn/trunk@1635 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-16Added respawn screen when switching worlds.nielsbreu@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1598 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-04Implemented proper player crouching.madmaxoft@gmail.com1-0/+18
Fixes FS #365 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1553 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-02LuaWindow: Fixed memory leaks with unclosed windowsmadmaxoft@gmail.com1-5/+5
A player disconnecting will now force all windows to close, not respecting any plugin's overrides. http://forum.mc-server.org/showthread.php?tid=1146&pid=8350#pid8350 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1543 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30Added the OnClosing callback to cLuaWindow APImadmaxoft@gmail.com1-5/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1534 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30Window contents are sent whenever the window is opened by a player.madmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1533 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30LuaWindow: Initial code, the window can be opened, but not much manipulatedmadmaxoft@gmail.com1-6/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1532 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30Implemented left-click inventory paintingmadmaxoft@gmail.com1-0/+30
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1529 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28Moved BlockEntities to a separate foldermadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1527 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-24Refactored cInventory to use cItemGrid for the actual Storagemadmaxoft@gmail.com1-13/+5
This makes the API more orthogonal and is easier to use in the plugins. Also changes in the inventory are now propagated to the needed places (armor updates to BroadcastEntityEquipment etc.) even when the inventory is changed by a plugin. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1503 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-19Inventory code cleanup, players can now see each other's armormadmaxoft@gmail.com1-10/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1493 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-19Empty permission is always grantedmadmaxoft@gmail.com1-1/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1490 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-07Replaced MIN / MAX with std::min and std::max (pt 2)madmaxoft@gmail.com1-9/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1456 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-19cPlayer now uses BroadcastMovementUpdate during its Tick functionkeyboard.osh@gmail.com1-40/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1395 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13Proper entity removal functionsmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1386 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()madmaxoft@gmail.com1-8/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1385 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-04Fixed personal crafting grid not being tossed on inventory close.madmaxoft@gmail.com1-19/+0
FS #355, http://www.mc-server.org/support/index.php?do=details&task_id=355 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1358 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-01Pawn, Player: fixed asserts when teleporting players outside of the world (setting spawn Y to 256)madmaxoft@gmail.com1-9/+20
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1346 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-23Added helper functions AddSpeed, AddSpeedX, AddSpeedY, AddSpeedZ, AddPosition, AddPosX, AddPosY, AddPosZ. Made sure that all entites use these helper functions.keyboard.osh@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1299 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-22Implemented BroadcastMovementUpdate function. Moved m_Pos,m_Rot,m_Speed to private members and made sure that all classes uses the public functions to access these members.keyboard.osh@gmail.com1-29/+29
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1294 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-09Pickups are now being saved into Anvil.madmaxoft@gmail.com1-1/+1
Also changed cEntity rotation datatype to double git-svn-id: http://mc-server.googlecode.com/svn/trunk@1262 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-05Fixed random teleporting into the void when leaving minecartsmadmaxoft@gmail.com1-4/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1259 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-03Player can sit in minecarts (but not move them yet)madmaxoft@gmail.com1-1/+11
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1249 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-26Changed HOOK_PLAYER_MOVED to HOOK_PLAYER_MOVING to match the scheme used for names.madmaxoft@gmail.com1-1/+1
-ING means the event is being processed and may be refused by a plugin, -ED means it has already happenned and the plugin cannot do anything about it. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1174 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-22MTRand reference is now passed as a Tick() parameter so that it isn't created and destroyed over and over again. All entities will handle physics (empty callback for now)madmaxoft@gmail.com1-5/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1096 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21Added more constants into eEntityType; made them a compulsory parameter to the constructor, so that all entities have proper type.madmaxoft@gmail.com1-2/+2
Also added a few utility functions to cEntity for distinguishing the types (IsPlayer(), IsPickup() etc.) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1092 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21Reworked the IsA() / GetClass() framework to actually be useful. Added GetParentClass().madmaxoft@gmail.com1-6/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1090 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21Refactored the TakeDamage API to take equipped weapon and armor into consideration (PvP untested)madmaxoft@gmail.com1-15/+24
http://forum.mc-server.org/showthread.php?tid=625 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1087 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-15Fixed fall damage againluksor111@gmail.com1-1/+1
Added sound effects to pistons git-svn-id: http://mc-server.googlecode.com/svn/trunk@1074 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-27Fixed warnings in Player.cppluksor111@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1071 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-27Added initial adventure mode supportluksor111@gmail.com1-2/+6
Added missing Emerald crafting recipe You get more fall damage when jumping Torch no longer protects players from fall damage Fixed Ender Chest drops git-svn-id: http://mc-server.googlecode.com/svn/trunk@1070 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-26Fixed certain blocks crashing clients when minedluksor111@gmail.com1-1/+1
Fixed rail duplication glitch Fixed fall damage calculation Glass no longer drops glass git-svn-id: http://mc-server.googlecode.com/svn/trunk@1068 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-01Refactored the world time.madmaxoft@gmail.com1-5/+5
Now it is stored in two values - WorldAge (only incremented, plugins cannot change) and TimeOfDay (plugins can change). Since sub-tick precision is needed in Tick(), we store it both as number of seconds (double) and number of ticks (Int64) is calculated off of that. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1022 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-24Fixed issues with pickups. sebi.noreply@gmail.com1-2/+9
* Now when picking up max. stack amount is checked. * Added cInventory::AddItemAnyAmount() which will not fail if it cannot add all items (it will just modify amount) * If there is no space in inventory and picking up stacked items, it will try to fill stacks already in inventory, partially picking up the item. * When closing inventory player will drop any items it's currently 'dragging' git-svn-id: http://mc-server.googlecode.com/svn/trunk@1008 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-18Converted some const char*s and std::strings to AStringsfaketruth1-6/+35
Added a cPlayer:RemoveFromGroup() so players can be removed from groups programmatically Added a cClientHandle:SetUsername to be used by Lua. I'm curious what ThuGie can do with his plugin. git-svn-id: http://mc-server.googlecode.com/svn/trunk@978 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29Fixed initial player head rotation when a player is being spawned on another clientfaketruth1-1/+4
Fixed showing correct item in the player hand when spawned on another client (it didn't include metadata/health before) Fixed player head rotation when moving and looking around at the same time git-svn-id: http://mc-server.googlecode.com/svn/trunk@914 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29SocketThread: clients aren't double-removed anymore.madmaxoft@gmail.com1-1/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@909 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-13/+13
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: OSSupport-related files in a separate subfolder, renamed.madmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@885 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: UI files renamedmadmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@878 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-20UI: Added shift-click support to most slot areas, except crafting.madmaxoft@gmail.com1-0/+3
Also fixed survival inventory's crafting grid not working. git-svn-id: http://mc-server.googlecode.com/svn/trunk@868 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-20Refactored windows.madmaxoft@gmail.com1-76/+41
As described on the forum: http://forum.mc-server.org/showthread.php?tid=561 For now, only basic clicking works; shift-click not implemented yet. git-svn-id: http://mc-server.googlecode.com/svn/trunk@867 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-04Fixed a possible race condition in cClientHandle's packet sending code; prepared for moving cSocket out of cClientHandle's ownership.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@832 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-31Progress on the 1.3.2 protocol.madmaxoft@gmail.com1-1/+1
Sometimes the client lets the player through, but most of the times the connection breaks for no apparent reason. git-svn-id: http://mc-server.googlecode.com/svn/trunk@812 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-29Gotten completely rid of all cPackets. The cProtocol125 class now does all the parsing and writing by itself.madmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@802 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-28Moved all packet-serializing code into cProtocol125; half the packet classes aren't needed anymore.madmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@800 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-24Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com1-32/+20
git-svn-id: http://mc-server.googlecode.com/svn/trunk@783 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-19Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com1-107/+94
git-svn-id: http://mc-server.googlecode.com/svn/trunk@761 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-10Fixed a crash in creative inventory (FS 235, patch submitted by l0udPL)madmaxoft@gmail.com1-20/+34
git-svn-id: http://mc-server.googlecode.com/svn/trunk@722 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-06A bit of cleanup and documentation around the UI window handlingmadmaxoft@gmail.com1-9/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@716 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-17Simple health regeneration systemlapayo94@gmail.com1-72/+60
Prepared for food git-svn-id: http://mc-server.googlecode.com/svn/trunk@679 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-13The gamemode is now only saved if it is different from the current gamemode.lapayo94@gmail.com1-3/+12
Default gamemode now depends on the joined world, not on the default world git-svn-id: http://mc-server.googlecode.com/svn/trunk@661 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-12Save last gamemodelapayo94@gmail.com1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@660 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-12fixed bug http://www.mc-server.org/support/index.php?do=details&task_id=212&project=2lapayo94@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@658 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-1062/+1062
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-06Item-dropping code rewritten and centralized - now there's only one place to modify if we want to split or merge same-item drops: cWorld:SpawnItemPickups(). Also, mined blocks can now drop more items, and they recognize if they're being mined by the correct tool.madmaxoft@gmail.com1-40/+61
git-svn-id: http://mc-server.googlecode.com/svn/trunk@561 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29Refactored item-eating from cClientHandle into cPlayermadmaxoft@gmail.com1-9/+63
git-svn-id: http://mc-server.googlecode.com/svn/trunk@519 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27Improved logging on mis-configuration in cPlayer and cWorldStoragemadmaxoft@gmail.com1-1/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@505 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24Added the new 1.2.4's PlayerAbilities packet; restructures packet files for less files, more dense.madmaxoft@gmail.com1-2/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24Removed the split between 1.2.3 and 1.1, left only 1.2.3 codemadmaxoft@gmail.com1-7/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@429 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19Fixed player heads always pointing north (new EntityHeadLook packet)madmaxoft@gmail.com1-2/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@424 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16Got rid of cPlayer::sPlayerStatefaketruth1-82/+34
git-svn-id: http://mc-server.googlecode.com/svn/trunk@418 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10Fixed a few obsoleted functionsmadmaxoft@gmail.com1-1/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@397 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-1/+1
cAuthenticator uses unique client ID for authentication Changed the kick function used by cAuthenticator to take a client ID instead of name, so the correct user is kicked Using callback reference instead of pointer in GetChunkData and affiliates GetChunkData returns false when failed, and true when succeeded Renamed entity type enums to something prettier Exposed some functions to Lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@388 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380faketruth1-7/+17
Also removed the SetClientHandle() function from cPlayer Added a Destroyed() function to cEntity that is called ONLY ONCE after an entity has been 'destroyed' Cleaned up some code, using enums for GameMode and Weather and replaced some 'const char *' with 'const AString &' Exposed some more functions to Lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@382 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05ChunkSender: Chunks are now compressed and sent to clients from a separate threads, proper passive waiting between threads. Not much tested, just appears to work :)madmaxoft@gmail.com1-1/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01Chunks are successfully streamed to clients (in a bad a slow way, but whatever)faketruth1-0/+2
Fixed respawn packet for 1.2.2 git-svn-id: http://mc-server.googlecode.com/svn/trunk@350 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29Added validity checks to world broadcasting. Also added logging to cPlayer deletion to catch that stupid BugByBoo.madmaxoft@gmail.com1-1/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@342 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26Attempt at fixing crashes with disconnecting playersmadmaxoft@gmail.com1-10/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@329 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-28/+37
git-svn-id: http://mc-server.googlecode.com/svn/trunk@298 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16cPlayer empty-handed spawn fixmadmaxoft@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@275 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16Chunk is now marked as dirty; saving only dirty chunks; rewritten load / save not to use cChunkPtr; set VC2008 project to level4 warnings; block entities are now loaded and saved properlymadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@273 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15No longer using pointers for Vector3(f/d/i) in cEntity's and cTracerfaketruth1-26/+26
git-svn-id: http://mc-server.googlecode.com/svn/trunk@268 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15New players no longer cause an assertfaketruth1-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@267 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-13Rewritten most of the code for multithreading; still not 100%, but getting there. If this commit proves to be too problematic, we can always undo it.madmaxoft@gmail.com1-83/+117
git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02cClientHandle: gotten rid of the obnoxious m_pState, now using direct members insteadmadmaxoft@gmail.com1-7/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@228 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02cSocket API fix (possible invalid pointer)madmaxoft@gmail.com1-1/+19
cMCLogger slight change (CS ptr -> member) git-svn-id: http://mc-server.googlecode.com/svn/trunk@222 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01Rewritten cAuthenticator to make use of the new cIsThread architecture - now authentication runs in a single separate thread for all clients;madmaxoft@gmail.com1-6/+14
Global player-kicking function (cServer, cRoot); More char * -> AString conversion git-svn-id: http://mc-server.googlecode.com/svn/trunk@221 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01AString logging fix 2madmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@218 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com1-8/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@216 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01Introducing StringUtils - the place to be if you are a generic string routine :) No more sprintf()!madmaxoft@gmail.com1-9/+15
git-svn-id: http://mc-server.googlecode.com/svn/trunk@209 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31Can now receive POST data in WebPlugins!faketruth1-2/+1
Fixed Debug With optimized Noise in VS2010 by having it run the correct MCServer_debug.exe instead of MCServer.exe Changed winsock.h to Winsock2.h in Globals.h so sockets can be graciously closed (See webserver Socket::Close() ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@197 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30Replaced most FILE operations with a cFile objectmadmaxoft@gmail.com1-58/+66
git-svn-id: http://mc-server.googlecode.com/svn/trunk@196 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30Added a WebAdmin interface to view users their groups, and the permissions of groups.faketruth1-1/+22
cChunk::Tick did an assertion in cCSLock, I used a cCSUnlock to fix it, but not sure if this is correct. git-svn-id: http://mc-server.googlecode.com/svn/trunk@194 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-4/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@188 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01CreativeInventory Updatelapayo94@gmail.com1-18/+38
- Fixed various problems with the new creative inventory (Crafting, furnace, etc) - Creative inventory will now be saved to disk, so you keep your creative inventory also for the next sessions git-svn-id: http://mc-server.googlecode.com/svn/trunk@162 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01- implemented separated inventory for creative mode (cSurvivalInventory and cCreativeInventory)lapayo94@gmail.com1-5/+12
(Separation is not perfect yet, because maybe there are some mayor changes needed :D) - implemented CreativeInventoryAction (was mistakenly called CreateInventoryAction) -> Fixed meta data for creative selected blocks ->->Slabs/Steps are now placed correctly - slabs can now be build to a double slab - fixed a bug in the inventory which put items with different meta values in the same slot git-svn-id: http://mc-server.googlecode.com/svn/trunk@160 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 - Initial food handling by cedeelmtilden@gmail.com1-0/+21
git-svn-id: http://mc-server.googlecode.com/svn/trunk@156 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 - Chests open and close on clients when opened/closedmtilden@gmail.com1-2/+19
- Beginnings of "Double Chest". All that's needed is detection when 2 chests get put next to each other, block other chests from then touching them on any side, load/save with the m_JoinedChest seeing each other and adding and making sure the left side is always the top rows. I'm not sure exactly at this moment how to do all of the detection and saving/loading of the double chest stuff so if you've any ideas feel free to point out some areas in the server code or implement it yourself. git-svn-id: http://mc-server.googlecode.com/svn/trunk@154 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28- implemented the fire simulation in native c++ (cFireSimulator)lapayo94@gmail.com1-0/+10
- Changed the Durationsystem for Items. cPlayer::UseEquippedItem calls cItem::DamageItem this function damages the item if it has a duration. (needed the duration also in another place so this saves code ;)) - added some other burning blocks - the mobtypes for the settings.ini which i must have forgotten in the last commit git-svn-id: http://mc-server.googlecode.com/svn/trunk@150 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 - Fixed ping displaying same for everyone, knew it was something I messed up with itr :(mtilden@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@147 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28- Implemented Drops from Burning animalslapayo94@gmail.com1-79/+26
- added right monster health and attack strength - refactored the Pawn/Monster/Player class a little bit - changed some namings to fit the style git-svn-id: http://mc-server.googlecode.com/svn/trunk@140 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27Users file was pretty messed up with mixed unix and windows line endings. The ini failed to parse correctly under cygwin.faketruth1-0/+1
'Fixed' a 'bug' where MCServer would seemingly endlessly calculate lighting for an entire world (and then crash), when this entire world has 'wrong' lighting. This happens when running a converted map from Vanilla. Fixed this by only allowing a maximum of 50 chunks to recalculate their lighting per tick. Fixed a small coding error in cChunkMap where it would check PakVersion twice, instead of also ChunkVersion. DeNotch converter does not need the VS2010 runtime thingies anymore git-svn-id: http://mc-server.googlecode.com/svn/trunk@138 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 - Added basic ping handling.mtilden@gmail.com1-4/+4
Not sure what's up with the MC client, though. It doesn't seem to end up giving good results like the KA packet return is hanging and waiting for other things to process instead of being handled on its own to give a true result. Feel free to update if there's any way to deliver truer results. git-svn-id: http://mc-server.googlecode.com/svn/trunk@133 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26Players can switch worlds on the fly with the command /gotoworld [worldName]. This uses the function cPlayer::MoveToWorld()faketruth1-0/+27
Changed isValidItem to IsValidItem in Core.lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@126 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 - Linux compatible fixes including updated makefilemtilden@gmail.com1-3/+5
- Mersenne Twister still says uint32 but it's now signed for compatibility with random uses needing negative values - Server seed is sent to clients, but needs to be able to be signed long long later on for authentic reasons - Protocol Version is required to match to ensure client compatibility, this should probably have a settings.ini check as well as store the value there git-svn-id: http://mc-server.googlecode.com/svn/trunk@121 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 - Added timer to cPlayer PlayerListItem because sending the packets like minecraft does (every tick per player) is 20 pps per client to each client and was causing Kicks for having too high of a packet queuemtilden@gmail.com1-7/+14
git-svn-id: http://mc-server.googlecode.com/svn/trunk@120 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 - Default Notchian Ping (static until ping implemented through keepalive send/receive)mtilden@gmail.com1-2/+2
- Player "left" message regardless of exit reason git-svn-id: http://mc-server.googlecode.com/svn/trunk@119 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 - Cleaned up PLI Packet and its creation/sending and fixed bug of player not being removed on scoreboard (forgot to send color in the removal packet)mtilden@gmail.com1-5/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@116 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 - Make Color was using 2 extra characters which took 2 characters off the 16 max (including color codes) for scoreboard displaymtilden@gmail.com1-2/+17
- Added xC9 PlayerListItem packet and added code for player names to be added and removed from the scoreboard (need a catch-all for client disconnects: crashes, timeouts, etc) - Changed wid wording to a_WindowType git-svn-id: http://mc-server.googlecode.com/svn/trunk@113 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25Hold item is now dropped when inventory is closedlapayo94@gmail.com1-3/+25
Thanks to mtilden for this ( http://forum.mc-server.org/showthread.php?tid=183&pid=1428#pid1428 ) Also the items in the 4 crafting slots are now dropped. git-svn-id: http://mc-server.googlecode.com/svn/trunk@107 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25Chunks are generated in a separate thread allowing players to keep on playing and chatting while chunks are generated. This means, however, that cWorld::GetChunk() does not always return a chunk and is something you need to be aware of. I am not entirely sure if all this is completely stable, but I think so :Ofaketruth1-0/+2
Chunks are now generated before the player is able to see them. This is done because after a chunks is done generating, some blocks might still need to be set (parts of trees from neighboring chunk), causing more bandwidth to be used (each changed block needs to be sent to clients again) and (fps) lagging the clients when changing a lot of blocks. Calculating ahead fixes these issues. Separated the placing of foliage (trees and stuff) when generated chunks into a new function GenerateFoliage() Cleaned up the VS2010 project, now using some VS2010 specific functions like dependencies on projects (no need for setting library dependencies manually). VS2010 project now compiles way faster in Release by using multi threading. git-svn-id: http://mc-server.googlecode.com/svn/trunk@103 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-22Fixes:lapayo94@gmail.com1-1/+1
- Pickups fall through water now (Server-side they stayed in the water surface) - Suppressed some warnings (int to short etc.) - Water is now passable for cTracer git-svn-id: http://mc-server.googlecode.com/svn/trunk@96 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-21- Crafting fixed in 1.0.0lapayo94@gmail.com1-6/+4
- Server compatible with the weapons and equip again. (Some Packets were incompatible) - fixed bucket bugs (not all) - Fixed clients getting crashed by wrong Pickups - fixed nearly all mob drops. (Check wheather they are burning is missing Big Grin) - maybe some other things I can´t recall atm Big Grin git-svn-id: http://mc-server.googlecode.com/svn/trunk@94 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10Can now set gamemode via lua.admin@omencraft.com1-1/+15
git-svn-id: http://mc-server.googlecode.com/svn/trunk@89 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10Made block action sanity checks more robust, water buckets, lava buckets and empty buckets should all now work.admin@omencraft.com1-0/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@87 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-09Added m_IP to player class and binding to get IP for LUA. (Probably should use m_pState)admin@omencraft.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@82 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-06Patch with diff file created by Sebi (implemented some stuff like lava physics, drops are deleted when in lava, water is now slower, lava gives actual damage etc.). Pistons now work mostly as they should. They do not yet show the motion animation and do not emit sound. They do extend, push, and retract as they should though. Right now the only way to activate a piston is to light redstone wire adjacent to it with a redstone torch.admin@omencraft.com1-18/+28
git-svn-id: http://mc-server.googlecode.com/svn/trunk@67 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-02Fixed some "Entity was not found in any chunk!" warningsfaketruth1-1/+10
Player's current world is saved in the player file. When a player joins the server, the player joins the last world he was in. It seems MCServer can finally run multiple worlds! It just needs functionality to switch between them git-svn-id: http://mc-server.googlecode.com/svn/trunk@46 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-01You can now run multiple worlds by defining them in settings.ini . However there's no way to change worlds on the fly yetfaketruth1-24/+14
Players are now stored in separate folder /players instead of in the world folder (!so move the folder!) Fixed a memory leak/error in cPickup.cpp Multiple worlds are stored in cRoot cClientHandle lists are taken out of cWorld and now stored in cServer Worlds now have names to distinguish them by Some functions in the Core plugin now distinguish between worlds git-svn-id: http://mc-server.googlecode.com/svn/trunk@40 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-01forogt to update all of cPlayer.cpp for player based gamemode.admin@omencraft.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@39 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-01Put in some sanity checks to ensure players don't interact with blocks too quickly. Changed gamemode to be player based. (MCServer crashes when picking up an item. Need to find and fix bug.)admin@omencraft.com1-7/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@38 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-31Player data is saved and loaded as human readable JSON now.faketruth1-18/+63
cFileFormatUpdate will loop through old files and convert them to new files (should replace legacy old format loading code) cItem has two new functions to load from Json and output Json, this will keep the items in Json standard ChestEntity and FurnaceEntity use the new functions in cItem git-svn-id: http://mc-server.googlecode.com/svn/trunk@35 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-22/+21
git-svn-id: http://mc-server.googlecode.com/svn/trunk@29 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26Made several recomended changes. Gamemode is now world based. Need to add it to player.admin@omencraft.com1-2/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@18 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26Moved GAMEMODE declaration to a single place... cPacket.h. Player can't take damage any more but can still sometimes die on spawn. Not sure why. Falling through the void does not kill you yet.admin@omencraft.com1-5/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@17 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-21Compiles for linuxfaketruth1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@6 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-03MCServer c++ source filesfaketruth1-0/+713
git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6