summaryrefslogtreecommitdiffstats
path: root/src/ClientHandle.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-04-07Initial resource pack support (#4622)Mat1-0/+1
2020-03-28cClientHandle: Only allow m_State to increase (#4533)peterbell101-0/+4
* cClientHandle: Only allow m_State to increase * WasAddedToWorld was incorrect if kicked * Rewrite cClient::Destroy with a guard clause
2018-08-26Store and pass entity effect duration as an int not a short. (#4293)Alexander Harkness1-1/+1
Fixes #4292.
2018-07-23recover hotbar selected slot after reconnect (#4249)changyong guo1-0/+1
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-01-08Rewrite cClientHandle::HandleRightClick (#4089)9caihezi1-1/+2
* Add hand parameter to distinguish main hand/off hand. * Add a new function cClientHandle::HandleUseItem to separate the functionality of using an item without a target block. This matches the protocol with client version >= 1.9 * Always actively update the status of a block if the placement fails (by out of reach or rejected by plugin). * Do not call plugin callback CallHookPlayerRightClick(-1, 255, -1, -1, 0, 0, 0) when using item. The CallHookPlayerUsingItem will still be called. Now at most one of CallHookPlayerRightClick, CallHookPlayerUsingBlock, CallHookPlayerUsingItem and CallHookPlayerEating will be called based on the type of action (not including the used version of callbacks). * Do not count using item as BlockInteractionsRate check (Using item takes time). * Now we can open chests(etc.) when sneaking as long as the player's hand is empty. This is what vanilla server does.
2017-10-21Implement horse inventory (#4053)peterbell101-0/+4
* 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-0/+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-08Shutdown connection when disconnect packet sent (#3999)Alexander Harkness1-7/+1
2017-09-07Updated APIDoc (#3985)Lukas Pioch1-1/+1
2017-08-27Implement Forge protocol handshake support (#3869)satoshinm1-0/+29
2017-08-25Add cUUID class (#3871)peterbell101-15/+13
2017-08-21Fully implemented leashes (#3798)Pablo Beltrán1-0/+2
2017-08-13Replaced includes with forward declarationsLukas Pioch1-1/+1
2017-08-07Changed entity ownership model to use smart pointersTiger Wang1-0/+3
2017-08-06Removed unneeded includes (#3902)Lukas Pioch1-2/+0
2017-08-03Remove double includes part 2 (#3890)peterbell101-4/+1
2017-08-03Removed unused forward declarations (#3888)Lukas Pioch1-4/+0
2017-07-21Remove smart pointer macrospeterbell101-1/+1
2017-06-26Fixed memory leak in cClientHandle. (#3794)Mattes D1-1/+1
2017-05-21Clang 5.0 fixesLukas Pioch1-1/+1
- Added override keyword - Removed inherited member variables
2017-01-28Fixed ClientHandle:GetProtocolVersion returning wrong number.Mattes D1-1/+1
2016-12-16Initial support for the 1.11 protocol.Mattes D1-1/+1
2016-12-12Use CMake's Android generators to crosscompileTiger Wang1-1/+1
2016-11-19Fixed race conditions in cClientHandle's State.Mattes D1-11/+21
2016-11-13Add Lua API export for titles. (#3408)mohe20151-7/+7
2016-11-06Anticheat fastbreak (#3411)mohe20151-0/+6
Added block hardness checks when breaking blocks.
2016-10-21Added SendMessageRaw for sending json string.Lukas Pioch1-0/+1
2016-10-12Spectators added (#2852)bibo381-0/+2
2016-09-03Improve cPlayer::DoMoveToWorld (#3113)LogicParrot1-1/+2
2016-08-29Proper respawn packets on dimension travelLogicParrot1-0/+3
2016-05-141.9 / 1.9.2 / 1.9.3 / 1.9.4 protocol support (#3135)Pokechu221-1/+2
* Semistable update to 15w31a I'm going through snapshots in a sequential order since it should make things easier, and since protocol version history is written. * Update to 15w34b protocol Also, fix an issue with the Entity Equipment packet from the past version. Clients are able to connect and do stuff! * Partially update to 15w35e Chunk data doesn't work, but the client joins. I'm waiting to do chunk data because chunk data has an incomplete format until 15w36d. * Add '/blk' debug command This command lets one see what block they are looking at, and makes figuring out what's supposed to be where in a highly broken chunk possible. * Fix CRLF normalization in CheckBasicStyle.lua Normally, this doesn't cause an issue, but when running from cygwin, it detects the CR as whitespace and creates thousands of violations for every single line. Lua, when run on windows, will normalize automatically, but when run via cygwin, it won't. The bug was simply that gsub was returning a replaced version, but not changing the parameter, so the replaced version was ignored. * Update to 15w40b This includes chunk serialization. Fully functional chunk serialization for 1.9. I'm not completely happy with the chunk serialization as-is (correct use of palettes would be great), but cuberite also doesn't skip sending empty chunks so this performance optimization should probably come later. The creation of a full buffer is suboptimal, but it's the easiest way to implement this code. * Write long-by-long rather than creating a buffer This is a bit faster and should be equivalent. However, the code still doesn't look too good. * Update to 15w41a protocol This includes the new set passengers packet, which works off of the ridden entity, not the rider. That means, among other things, that information about the previously ridden vehicle is needed when detaching. So a new method with that info was added. * Update to 15w45a * 15w51b protocol * Update to 1.9.0 protocol Closes #3067. There are still a few things that need to be worked out (picking up items, effects, particles, and most importantly inventory), but in general this should work. I'll make a few more changes tomorrow to get the rest of the protocol set up, along with 1.9.1/1.9.2 (which did make a few changes). Chunks, however, _are_ working, along with most other parts of the game (placing/breaking blocks). * Fix item pickup packet not working That was a silly mistake, but at least it was an easy one. * 1.9.2 protocol support * Fix version info found in server list ping Thus, the client reports that it can connect rather than saying that the server is out of date. This required creating separate classes for 1.9.1 and 1.9.2, unfortunately. * Fix build errors generated by clang These didn't happen in MSVC. * Add protocol19x.cpp and protocol19x.h to CMakeLists * Ignore warnings in protocol19x that are ignored in protocol18x * Document BLOCK_FACE and DIG_STATUS constants * Fix BLOCK_FACE links and add separate section for DIG_STATUS * Fix bat animation and object spawning The causes of both of these are explained in #3135, but the gist is that both were typos. * Implement Use Item packet This means that buckets, bows, fishing rods, and several other similar items now work when not looking at a block. * Handle DIG_STATUS_SWAP_ITEM_IN_HAND * Add support for spawn eggs and potions The items are transformed from the 1.9 version to the 1.8 version when reading and transformed back when sending. * Remove spammy potion debug logging * Fix wolf collar color metadata The wrong type was being used, causing several clientside issues (including the screen going black). * Fix 1.9 chunk sending in the nether The nether and the end don't send skylight. * Fix clang build errors * Fix water bottles becoming mundane potions This happened because the can become splash potion bit got set incorrectly. Water bottles and mundane potions are only differentiated by the fact that water bottles have a metadata of 0, so setting that bit made it a mundane potion. Also add missing break statements to the read item NBT switch, which would otherwise break items with custom names and also cause incorrect "Unimplemented NBT data when parsing!" logging. * Copy Protocol18x as Protocol19x Aditionally, method and class names have been swapped to clean up other diffs. This commit is only added to make the following diffs more readable; it doesn't make any other changes (beyond class names). * Make thrown potions use the correct appearence This was caused by potions now using metadata. * Add missing api doc for cSplashPotionEntity::GetItem * Fix compile error in SplashPotionEntity.cpp * Fix fix of cSplashPotionEntity API doc * Temporarilly disable fall damage particles These were causing issues in 1.9 due to the changed effect ID. * Properly send a kick packet when connecting with an invalid version This means that the client no longer waits on the server screen with no indication whatsoever. However, right now the server list ping isn't implemented for unknown versions, so it'll only load "Old" on the ping. I also added a GetVarIntSize method to cByteBuffer. This helps clean up part of the code here (and I think it could clean up other parts), but it may make sense for it to be moved elsewhere (or declared in a different way). * Handle server list pings from unrecognized versions This isn't the cleanest way of writing it (it feels odd to use ProtocolRecognizer to send packets, and the addition of m_InPingForUnrecognizedVersion feels like the wrong technique), but it works and I can't think of a better way (apart from creating a full separate protocol class to handle only the ping... which would be worse). * Use cPacketizer for the disconnect packet This also should fix clang build errors. * Add 1.9.3 / 1.9.4 support * Fix incorrect indentation in APIDesc
2016-04-05Improved player freeze codeLogicParrot1-0/+2
2016-03-31Players never fall through unloaded chunks or end up inside solids on teleportLogicParrot1-0/+9
2016-02-05Bulk clearing of whitespaceLogicParrot1-54/+54
2016-01-17Fixed race conditionsLukas Pioch1-1/+1
2015-11-24Add enum for Sound and Particle EffectsDave Tucker1-1/+2
Fixes #2603 Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2015-10-05Improved the data structure for storing loaded chunkstycho1-1/+1
Should significantly increase the performance of deciding which chunks to stream
2015-08-20Fixed food drain bugsTiger Wang1-1/+8
2015-08-12Fix old style casts and implicit conversionsMatti Hänninen1-2/+2
2015-07-31Unified the doxy-comment format.Mattes D1-1/+1
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-1/+1
2015-07-14Improved mapsTiger Wang1-3/+1
2015-06-27use atomic for state, to avoid torn readstycho1-2/+2
2015-06-10Reinstate "Chunk queue collapsing"Tiger Wang1-4/+4
This reinstates commit f36acb683594daff5af3971dcbe3c3a171628b78 and reverts commit adfbc42c021e1bcfcb355933c0fd784306ce0e18.
2015-06-07Revert "Chunk queue collapsing"worktycho1-4/+4
2015-06-05Made the list of chunks to stream an unordered_settycho1-4/+4
This should increase performance of chunk streaming
2015-06-02Added system and above action bar chat messagesjan641-0/+4
2015-05-09More style checking.Mattes D1-2/+2
Spaces around some operators are checked.
2015-05-07Added support for additional data in the ParticleEffect Packettycho1-0/+2
Also started refactoring how broadcasts are handled
2015-04-13Implement backend for /title commandScott Moore1-0/+7
2015-03-21Fixed signedness warnings in Protocol.Mattes D1-1/+1
2015-03-21Fixed signedness issues in protocols.Mattes D1-1/+1
2015-03-21Unified cByteBuffer types.Mattes D1-10/+12
cByteBuffer now reads and writes any of the [U]Int<N> types.
2015-01-27Fixed a deadlock in cClientHandle network sending.Mattes D1-1/+5
2015-01-27Converted cServer to use the cNetwork API.Mattes D1-30/+50
2015-01-18Fixed warnings in 1.7 protocol.Mattes D1-2/+2
2014-12-24Refactored all player block placing to go through hooks.Mattes D1-3/+0
Fixes #1618.
2014-12-11Cosmetic touchups.Mattes D1-2/+2
Removed trailing whitespace, added cast to remove warning, added file seeking in case of corrupt files.
2014-12-09Fixed indent problems and added return definitions to CheckMultiLogin().Vincent1-1/+2
Changed from IsAllowMultiLogin() to DoesAllowMultiLogin(). Fixed CheckMultiLogin() to not run to the end without returning a value.
2014-12-08Changed CheckMultiLogin() to not have main body wrapped in an if statement.Vincent1-0/+1
Added in indent to cPlayerListCallBack in cCallback class inside CheckMultiLogin(). Added doxy-comment for DoWithPlayer(). Changed comments on IsPlayerInQueue() and IsAllowMultiLogin() to doxy-comments.
2014-12-08Fixed compile errorsVincent1-1/+1
2014-12-08Moved the check into a new function and just calls that function and a blank FindAndDoWithPlayer added.Vincent1-0/+2
2014-12-07Fixed c++11 branch issues.Mattes D1-4/+7
2014-11-15Use LastPlacedSign instead of LastPlacedBlock.Howaner1-5/+2
2014-11-15Renamed m_UsedViewDistance to m_CurrentViewDistanceHowaner1-3/+3
2014-11-15Renamed m_SetViewDistance to m_RequestedViewDistanceHowaner1-3/+3
2014-11-15Fixed a security problem with signs.Howaner1-0/+6
2014-11-15Renamed GetSettedViewDistance() to GetRequestedViewDistance()Howaner1-2/+2
2014-11-14Use m_UsedViewDistance and m_SetViewDistance.Howaner1-7/+13
2014-10-20Migrated cSleep and cTimer to std::chronoTiger Wang1-5/+5
2014-10-19Fixed minor style issues.Mattes D1-1/+1
2014-10-16Merged branch 'fix_chunks'.Mattes D1-0/+1
2014-10-06Stream 4 chunks per tick. Added priority.Howaner1-3/+4
2014-10-06Better StreamNextChunk() methodHowaner1-0/+4
2014-10-05cClientHandle: Added protocol version knowledge.Mattes D1-0/+9
2014-10-03Improved furnacesTiger Wang1-1/+1
* Fixed progress bar on 1.8 * Fixed bugs * Improved code * Fixes #1068 * Fixes #1070
2014-10-02Optimized chunk loaderHowaner1-5/+5
2014-10-01cClientHandle: Alpha-sorted the sending functions.madmaxoft1-7/+7
2014-09-30Rewritten plugin messages, vanilla are being parsed directly.madmaxoft1-15/+40
This should finally fix the compatibility problems between 1.7 and 1.8 protocols with the changes in the vanilla plugin messages.
2014-09-27Dropped support for <1.7.xTiger Wang1-1/+0
2014-09-26Fixed players custom name in 1.8Howaner1-1/+1
2014-09-18Exported player list states to extra functions.Howaner1-67/+71
2014-09-17Full BungeeCord compatibility.madmaxoft1-1/+13
Fixes #1392. Fixes SpigotMC/BungeeCord#1211.
2014-09-131.8: Fixed maps.Howaner1-2/+2
2014-09-111.8: Added ParticleEffect packet.Howaner1-1/+1
2014-09-09Added the player list to the 1.8 protocol.Howaner1-1/+1
2014-09-07Exported cClientHandle:GetIPString() to Lua API.Mattes D1-1/+1
2014-09-02Added SetCustomName() to players.Howaner1-1/+1
2014-08-28Fixed crashes and use std::swap.Hownaer1-1/+1
2014-08-28remove y-coord from chunksLO1ZB1-1/+1
2014-08-11Exported daylight cycle flag to the protocol.Howaner1-1/+1
2014-08-07Added SetDoDaylightCycle() and IsDaylightCycleEnabled() to cWorld.Howaner1-1/+1
I need this for a GameRule plugin.
2014-07-30Added beacon.Howaner1-1/+4
2014-07-30MojangAPI: Implemented UUID shortening and dashing.madmaxoft1-1/+7
2014-07-23Moar view distance!tonibm191-2/+2
Let's blow up our computers! :D
2014-07-22Export SendEntityAnimation to ToLuaarchshift1-1/+1
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-3/+3
2014-07-18Fix failed merge and other issuesTiger Wang1-1/+1
2014-07-17Fixed spaces around single-line comments.madmaxoft1-7/+9
There should be at least two spaces in front and one space after //-style comments.
2014-07-17Fixed basic whitespace problems.madmaxoft1-7/+7
Indenting by spaces and alignment by spaces, as well as trailing whitespace on non-empty lines.
2014-07-16Store properties as Json::ValueTiger Wang1-4/+7
2014-07-14Player properties are now retrievedTiger Wang1-1/+4
2014-07-13Changed BroadcastSoundEffect function to take floating pos.Howaner1-1/+1
2014-07-13Revert failed fix for #31Tiger Wang1-4/+0
This reverts commit 69dc9b4c9aea58ebd95e2dbd0205701dfc4ce54e.
2014-06-29Fixed respawningTiger Wang1-1/+1
* Fixes #1103
2014-06-27Added generic entity-collecting.Mattes D1-1/+1
Now any cEntity can be collected, not only cPickups. This should help PR #1098.
2014-06-21Added cClientHandle::IsUUIDOnline function.madmaxoft1-2/+9
Ref.: #771
2014-06-12Portals animate and delay correctlyTiger Wang1-1/+1
2014-06-08Fixed deadlock when moving players to other worlds.Mattes D1-3/+3
Fixes #1039, fixes #851
2014-06-08Added queue for adding entities to cWorld.Mattes D1-1/+2
This alone doesn't work properly yet, further changes to cPlayer are needed.
2014-05-31Implemented end and nether portalsTiger Wang1-1/+1
2014-05-26Revert "Add more move checks"madmaxoft1-1/+1
This reverts commit 989312c4e7f517ae324e857cb255211e3fd8bb06.
2014-05-19cCompositeChat message type is now formattedTiger Wang1-2/+2
2014-05-16Add more move checksHowaner1-1/+1
- Invalid X/Y/Z/Stance check (std::isnan) - Illegal stance - Illegal position (32.000.000 is the world size)
2014-05-11Statistic Managerandrew1-0/+2
2014-05-11Rename HandleBlockDigCancel to FinishDigAnimtion.Howaner1-2/+2
2014-05-09Add DIG_STATUS_CANCELLED packet and add item resend, when a block can't place/break.Howaner1-0/+3
2014-05-05Add MC|ItemName plugin message.Howaner1-0/+3
2014-05-01More ClientHandle fixes.madmaxoft1-1/+1
2014-05-01Fixed crashes in the SSL HTTP connection.madmaxoft1-1/+1
2014-04-26Further refactored, Reverted Minecart changearchshift1-1/+3
Other small changes.
2014-04-25Refactored SendChat(), placing the message-type formatting into its own function.archshift1-0/+3
Removed default case warning in the process.
2014-04-17Modified many thingsdaniel09161-3/+0
2014-04-16Fixed conflicting enchantments checkingdaniel09161-1/+1
2014-04-15Code Optimizationdaniel09161-2/+3
2014-04-15Modified namesdaniel09161-2/+2
2014-04-14Implemented the 1.7.6 protocol and authenticator.madmaxoft1-1/+7
Server works both in online and offline modes with 1.7.9.
2014-04-14A client UUID is generated when the server is in offline mode.madmaxoft1-1/+6
1.7.9 client works with these changes in offline mode.
2014-04-13Fixed invisibility enchantmentsdaniel09161-0/+1
2014-04-13Added Yggdrasil Authentication Systemdaniel09161-1/+5
Code by Howaner. Fixes/Changes by me.
2014-04-12Added complete Enchanting Systemdaniel09161-1/+4
http://minecraft.gamepedia.com/Enchantment_mechanics
2014-04-07Added deleted things for mergingdaniel09161-0/+3
2014-04-07Fixed merge conflictdaniel09161-3/+0
2014-04-04Fixed some Clang warnings in protocols.madmaxoft1-1/+1
2014-04-02Fixed All signedness warnings in HTTPServer.cppTycho1-1/+1
2014-03-31Simplified and fixed slabs, fixes #835Tiger Wang1-2/+2
2014-03-11Unified Vector classesandrew1-1/+1
2014-03-09CheckBlockInteractionsRate() fixed & enabledTiger Wang1-1/+3
2014-03-08Split cClientHandle::HandleEntityAction() into three seperate functions HandleEntityCrouch, HandleEntityLeaveBed and HandleEntitySprinting.Jan-Fabian Humann1-1/+3
2014-02-20cClientHandle manages the client-registered plugin channels.madmaxoft1-26/+46
Fixes #706.
2014-02-18Map decorators; Map clientsandrew1-0/+2
2014-02-18Implemented paintings, fixes #689Tiger Wang1-0/+2
+ Implemented paintings
2014-02-16Add Locale to ClientHandleHowaner1-1/+6
2014-02-15Implemented cCompositeChat.madmaxoft1-1/+3
This allows plugins to send composite chat messages, containing URLs, commands to run and cmdline suggestions. Fixes #678.
2014-02-13IDCount Serializationandrew1-2/+2
2014-02-13Implementation of in-game mapsandrew1-0/+2
2014-02-07Improved chat messaging functionsTiger Wang1-1/+1
* Moved string manipulation into cClientHandle and therefore... + Added configuration option for prefixes. * Cleaned up code. * Updated documentation for API.
2014-02-05Fixed explosions bugTiger Wang1-11/+2
* Fixed bug where explosions would sometimes never be sent
2014-02-04Improved Type safety of eBlockFaceTycho1-5/+5
May Fix #640
2014-01-31Some updates for enchanting (2)daniel09161-0/+3
2014-01-21Scoreboard protocol supportandrew1-0/+4
2014-01-19Removed unneeded paramtersTiger Wang1-1/+1
2014-01-19Changed SendBlockEntity format slightlyTiger Wang1-2/+1
* Writing NBT is now in Protocol, not BlockEntity files * Fixed a last output bug
2014-01-19Improved command blocksTiger Wang1-0/+2
* Their command and previous output are displayed on the client * They have a BlockHandler implementation, so you can't place blocks on them anymore + As a side effect, implemented UpdateBlockEntity
2014-01-18Parse the MC|AdvCdm plugin messageandrew1-0/+3
2014-01-13Added handshake processing to protocol 1.7.madmaxoft1-0/+6
This fixes #495
2014-01-09Added cClientHandle::SendPluginMessage().madmaxoft1-0/+1
It is not yet exported in the API, though.
2014-01-07Plugin messages are received and handed to plugins.madmaxoft1-0/+1
Note that MCS doesn't currently handle any channel registrations, this will come later on.
2013-12-22Implented BroadcastParticleEffectSTRWarrior1-0/+1
2013-12-20Fixed the rest of constructor reorders.madmaxoft1-9/+0
2013-12-16Removed some old cRedstone remnantsTiger Wang1-1/+0
2013-12-16Fixed cClientHandle::Tick() being called from two threads.madmaxoft1-0/+4
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-15Moved reading flags to the protocol.STRWarrior1-1/+1
2013-12-15Added m_IsFlying and m_CanFly. Both have a Get and Set function. Added cClientHandle::SendPlayerAbilities() functionSTRWarrior1-0/+2
2013-12-14Forgot to commit the ClientHandle.STRWarrior1-0/+2
2013-12-12Unknown packet type extended to 32 bits.madmaxoft1-1/+1
2013-12-07Renamed animation functionTiger Wang1-1/+1
Renamed BroadcastPlayerAnimation to BroadcastEntityAnimation. Not just players can have animations, you know.
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-15alignment fixes :)Daniel O'Brien1-1/+1
2013-11-15finished #143 I believeDaniel O'Brien1-1/+1
2013-11-15added cProtocol function to pass xp to clientDaniel O'Brien1-0/+1
2013-11-08cProtocol::SendWindowOpen() signature changed.madmaxoft1-3/+3
This implements #313.
2013-11-05Removed the obsolete SendWholeInventory(cInventory &) function.madmaxoft1-1/+0
This won't compile because there's still a change in Protocol17x.cpp pending; the next commit will fix this.
2013-09-16Fixed missing newline.Alexander Harkness1-0/+1
2013-09-16Vanilla like maximum and default view distancetonibm191-3/+2
2013-09-14Set the minimum viewdistance to 3.madmaxoft1-1/+1
Fixes #167.
2013-09-08Fixed client spawning.madmaxoft1-6/+3
The method used for 1.2.5 clients no longer works. Fixes #139.
2013-09-06Implemented SteerVehicle packet.madmaxoft1-0/+1
2013-09-06Implemented SteerVehicle packet.madmaxoft1-0/+1
2013-08-29Implemented xoft's suggestions [SEE DESC]Tiger Wang1-1/+1
Rail metas are now in BlockID and exported to LUA Minecart now does a SetMass, instead of m_Mass Minecarts use SubType instead of TypeType
2013-08-28Fixed Minecart spawning issuesTiger Wang1-1/+1
Now you can have everything!
2013-08-25Fixed public thing in ClientHandleTiger Wang1-3/+3
2013-08-23Double slabs work *choke choke*Tiger Wang1-1/+1
2013-08-20Added a delay between the kick packet and socket close.madmaxoft1-0/+4
This should have helped #31, but the client disagrees.
2013-08-18Added cWindow property manipulation API.madmaxoft1-1/+1
Now enchantment table and furnace properties can be set by a plugin
2013-08-14ClientHandle no longer queues chat messages.madmaxoft1-9/+0
It is no longer needed to queue chat messages, because the protocol is parsed within the Tick thread itself, without holding any SocketThread CS.
2013-08-14Player counts are now properly handled.madmaxoft1-0/+4
Fixes #80
2013-08-13Clients are now ticked in cServer first, then in cWorld once they get assigned a world.madmaxoft1-10/+15
2013-08-01ClientHandle: alpha-sorted the HandleXXX functions declarationsmadmaxoft1-15/+15
2013-07-30Tab completion packet is handled and sent.madmaxoft1-50/+52
This only handles the network comm and the overall design logic, the actual completion is not yet implemented, only dummy values are returned for now.
2013-07-29Added the "Edit Sign" packet sent to the client placing a sign.madmaxoft1-0/+1
Fixes issue #20. The 1.6.2 client wouldn't open the sign editor UI unless it receives a special packet
2013-07-28Implemented basic eating support.madmaxoft1-4/+4
Food is now properly consumed and it takes 1.5 sec.
2013-07-07Improved function names for protocol packet sending; alpha-sorted the function listsmadmaxoft@gmail.com1-8/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1659 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05Unmounting vehicles implemented in the 1.6.1 waymadmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1650 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-03Fixed player moving between worlds.madmaxoft@gmail.com1-0/+10
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-06-18Added a crude limiter for explosions sent to client.madmaxoft@gmail.com1-1/+15
Now the client can survive even 3000k TNT blocks exploding without jerking much. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18More TNT fixes.madmaxoft@gmail.com1-1/+1
Chain-reaction TNTs are spawned in proper coordinates (FS #390) Centralized Primed TNT entity spawning and made available to the plugins. Internal changes for better TNT performance. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1604 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-09Added SetTicksUntilWeatherChange/GetTicksUntilWeatherChange. to set/get the amount of ticks before the weather changes. Added SendBlockChange to Lua to create "fake" blocksnielsbreu@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1572 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-04Implemented proper player crouching.madmaxoft@gmail.com1-1/+1
Fixes FS #365 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1553 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-08Refactored window clicking code to use different click actionsmadmaxoft@gmail.com1-1/+1
First part of solving FS #371; should fix #370. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1459 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-19Fixed Linux compilation, slight code cleanupmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1396 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-18Initial implementation of explosions and TNT blockkeyboard.osh@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1392 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-2/+2
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-1/+1
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-03-18Added support for the packet #28 (0x1C): ENTITY_VELOCITYkeyboard.osh@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1283 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-03Player can sit in minecarts (but not move them yet)madmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1249 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-21Moved the Speed member into cEntity class instead of its descendants.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1222 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-18Minecarts can now be placed.madmaxoft@gmail.com1-0/+1
No interaction, no physics, though. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1219 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-15/+26
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-05Not sending multiple DC packets to the client.madmaxoft@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1120 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-26Adjusted the protocol framework to support different types of falling block spawning.madmaxoft@gmail.com1-1/+3
In brief, with cProtocol, "say what you want done, not how you want me to do it". But still 1.4.6 crashes on falling block spawning. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1104 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-24Added the 1.4.6 protocolmadmaxoft@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1099 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-12Fixed block breaking in survival.luksor111@gmail.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1038 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11Hopefully a fix for crash when chunks are added to a client being destroyed.madmaxoft@gmail.com1-9/+11
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1032 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-01Refactored the world time.madmaxoft@gmail.com1-2/+3
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-21Added jukeboxes (patch contributed by Luksor)madmaxoft@gmail.com1-41/+42
git-svn-id: http://mc-server.googlecode.com/svn/trunk@994 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-18Converted some const char*s and std::strings to AStringsfaketruth1-0/+1
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-30Added falling block entities. Sand and gravel now properly fall downfaketruth1-0/+1
Implemented the PACKET_SPAWN_OBJECT packet Made some things use BLOCKTYPE instead of char Android: Requests WebAdmin port when pressing the configure button git-svn-id: http://mc-server.googlecode.com/svn/trunk@915 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29Beds can be slept in now (it doesn't change the time though)faketruth1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@911 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29Made beds placeablefaketruth1-1/+5
Android: Updated some stuff and set default view distance lower git-svn-id: http://mc-server.googlecode.com/svn/trunk@900 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-25Added the block dig animation packet (patch contributed by l0udPL)madmaxoft@gmail.com1-0/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@892 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-25Sockets are now owned by SocketThreads instead of ClientHandle (FS #246 and FS #247)madmaxoft@gmail.com1-5/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@891 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-0/+0
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-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@885 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Tweaked logging.madmaxoft@gmail.com1-37/+37
Less output for UI. More output for player pos confirming (FS #245) and for player spawning git-svn-id: http://mc-server.googlecode.com/svn/trunk@875 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-11Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com1-0/+1
http://forum.mc-server.org/showthread.php?tid=434&pid=4564#pid4564 git-svn-id: http://mc-server.googlecode.com/svn/trunk@858 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-06Officially added 1.3.2 protocol supportmadmaxoft@gmail.com1-7/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@839 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-06ClientHandle: added an overflow buffer for outgoing data, it fixes the "bad packet id" problem with 1.3.2.madmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@837 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-05Added the possibility of reserved player slots by implementing the HandleHandshake hook!faketruth1-0/+1
More info: http://forum.mc-server.org/showthread.php?tid=555 git-svn-id: http://mc-server.googlecode.com/svn/trunk@836 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-2/+2
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-31Another possible deadlock in cClientHandle averted. Hope this is the one.madmaxoft@gmail.com1-0/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@810 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-30Added a basic protocol recognizer and the base for 1.3.2 protocol.madmaxoft@gmail.com1-3/+1
Also fixed a few type-related warnings. git-svn-id: http://mc-server.googlecode.com/svn/trunk@805 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-30cProtocol handles the initial handshake up to player loginmadmaxoft@gmail.com1-7/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@804 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-7/+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-3/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@800 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-27Cut out all packet handling to a separate cProtocol descendantmadmaxoft@gmail.com1-53/+51
git-svn-id: http://mc-server.googlecode.com/svn/trunk@796 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-26git-svn-id: http://mc-server.googlecode.com/svn/trunk@795 0a769ca7-a7f5-676a-18bf-c427514a06d6madmaxoft@gmail.com1-0/+2
2012-08-26Fixed compilation problem on Linux (FS case sensitivity sux)madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@791 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-25cWorld doesn't use cPackets.madmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@789 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-25Removed cPackets from cChunk.madmaxoft@gmail.com1-0/+3
Also decoupled a possible deadlock in player login code. git-svn-id: http://mc-server.googlecode.com/svn/trunk@788 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-0/+1
Also, Lua API change, OnCollectItem -> OnCollectPickup; first param is cPlayer to match other callbacks. git-svn-id: http://mc-server.googlecode.com/svn/trunk@786 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-0/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@783 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-19Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@762 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-28/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@761 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-19Another handful of packets rewritten.madmaxoft@gmail.com1-6/+14
Also changed cItem::m_ItemID into m_ItemType of type short. Easier handling. m_ItemID kept for compatibility reasons (Lua-interface etc.) git-svn-id: http://mc-server.googlecode.com/svn/trunk@756 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-18Chat packet handled in the new way; fixed missing packet sending for inventory slot.madmaxoft@gmail.com1-2/+2
Again, API change! cPlugin:OnChat() has had its parameters swapped, to match all the other callbacks - Player first, Message second git-svn-id: http://mc-server.googlecode.com/svn/trunk@751 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-18Packet refactoring, phase two, partial. Rewritten a few packet handling functions not to use cPacket-descendant objects.madmaxoft@gmail.com1-9/+11
This breaks plugin API! Plugins need to modify their hook functions to match those used in the Core plugin git-svn-id: http://mc-server.googlecode.com/svn/trunk@750 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-17Packets now parse themselves from a cByteBuffer object (1st part of packeting rewrite, http://forum.mc-server.org/showthread.php?tid=524 )madmaxoft@gmail.com1-2/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@744 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-239/+239
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-09Bonemeal is consumed in survival mode when used on growable blocksmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@582 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-07Bonemeal works on crops, melons, pumpkins, saplings and grass. Plant growing has been refactored into separate functions callable from Lua, too.madmaxoft@gmail.com1-0/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@573 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-07Updated version text to include 1.2.5; ChunkSender doesn't serialize chunk packets for chunks without a clientmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@480 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-11Moved the commands /coords /viewdistance and /regeneratechunks from cServer.cpp to the Core pluginfaketruth1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@457 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10Added the "/regeneratechunk" command that regenerates either current chunk or a chunk specified with x, z parameters. TODO: permissions - we don't want guests erasing our chunks!madmaxoft@gmail.com1-0/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@454 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-26Added the supported client version to banner; shamelessly added myself to the authors list ;)madmaxoft@gmail.com1-0/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@436 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-4/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13Fixed a few warnings, lifted up the block interactinos limit to 20 (10 was not enough for Creative mode)madmaxoft1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@407 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11Not sending chunks to the client twicemadmaxoft@gmail.com1-2/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@399 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10Using references instead of pointers for sending packetsmadmaxoft@gmail.com1-2/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@394 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-4/+8
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-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-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26Using cSocketThreads for client outgoing packets. Unfortunately had to put in one intermediate thread (cServer::cNotifyWriteThread) to avoid deadlocks. Still, seems we have a proper multithreading for clients and no more per-client threads, yay :)madmaxoft@gmail.com1-8/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@328 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23Made the viewdistance settable by users and default in settings.ini. The default is 9.madmaxoft@gmail.com1-3/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@326 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@285 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-27/+49
git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08cSocketThreads plugged in for cClientHandle reading. Sending still kept the old way. Please help me test this commit thoroughly, this is a change that can break on subtleties.madmaxoft@gmail.com1-9/+15
git-svn-id: http://mc-server.googlecode.com/svn/trunk@244 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-04Fixed a bug in source/cClientHandle.hadmin@omencraft.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@231 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-03cClientHandle: split packet handling into separate functions for claritymadmaxoft@gmail.com1-20/+80
git-svn-id: http://mc-server.googlecode.com/svn/trunk@229 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02cClientHandle: gotten rid of the obnoxious m_pState, now using direct members insteadmadmaxoft@gmail.com1-11/+58
git-svn-id: http://mc-server.googlecode.com/svn/trunk@228 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-4/+4
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-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-0/+1
Made some funky smart pointer things for chunks. Fixed a bug where the client would override the player position on the server and back again, resulting in sending too many chunks to the client which it doesn't even need. Fixed some compiler warnings in cPickup.cpp git-svn-id: http://mc-server.googlecode.com/svn/trunk@164 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 - Added chicken to eatingmtilden@gmail.com1-1/+1
- Increased max interactions again, seems to be fine now for even the fastest clickers. git-svn-id: http://mc-server.googlecode.com/svn/trunk@142 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 - Added basic ping handling.mtilden@gmail.com1-2/+5
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-27Slightly cleaner block change interactions static in headermtilden@gmail.com1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@130 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/+1
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 - 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-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@116 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-1/+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-11-12Put view distance back to 13. Didn't mean to change that.admin@omencraft.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@92 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-11Found and fixed a bug not letting users place blocks in water or lava.admin@omencraft.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@91 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-04Added (Probably incorrectly) a cRedstone class. Also, palcing a redstone torch will recursively light any redstone wire it's connected to. Removing a torch from an active wire will unlight the entire length. Class needs to be updated to make use of non deprecated function. Current deprecated function warning drastically slows redstone performance.admin@omencraft.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@51 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-0/+1
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-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-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@17 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26Creative mode now breaks blocks without providing block drops. Need to work with Player's Inventory for proper creative mode support. GAMEMODE is declared and set twice.admin@omencraft.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@16 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-03MCServer c++ source filesfaketruth1-0/+70
git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6