summaryrefslogtreecommitdiffstats
path: root/src/ClientHandle.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-06-04Fixed bad coordinateworktycho1-1/+1
2014-05-27ClientHandle.cpp: Process look before posarchshift1-1/+1
2014-05-26ClientHandle.cpp: remove redundant codearchshift1-22/+2
HandlePlayerMoveLook() calls HandlePlayerPos() and HandlePlayerLook() to reduce code redundancy.
2014-05-26Revert "Add more move checks"madmaxoft1-58/+16
This reverts commit 989312c4e7f517ae324e857cb255211e3fd8bb06.
2014-05-25Hopefully fixed piston duplication issuesTiger Wang1-1/+0
* Fixes #879 * Fixes #714
2014-05-18Implemented cacti damageTiger Wang1-2/+3
+ Implemented cacti damage * Fixed pickup tossing (PR #994 bug)
2014-05-16Add more move checksHowaner1-16/+58
- Invalid X/Y/Z/Stance check (std::isnan) - Illegal stance - Illegal position (32.000.000 is the world size)
2014-05-15Fix compile error.Howaner1-1/+1
2014-05-15Move radius check.Howaner1-25/+40
2014-05-11Fixed stat serializationandrew1-8/+0
2014-05-11Statistic Managerandrew1-1/+18
2014-05-11Rename HandleBlockDigCancel to FinishDigAnimtion.Howaner1-3/+3
2014-05-09Add block place/break distance check.Howaner1-0/+21
2014-05-09Add DIG_STATUS_CANCELLED packet and add item resend, when a block can't place/break.Howaner1-17/+44
2014-05-06Simplified the HandleAnvilItemName() code.Howaner1-7/+2
2014-05-05Changed HandleAnvilItemName() length to size_t in ClientHandle.hHowaner1-1/+1
2014-05-05Add clicks, exp subtraction, item check, ...Howaner1-1/+1
2014-05-05Add MC|ItemName plugin message.Howaner1-0/+32
2014-05-02HOOK_DISCONNECT has cClientHandle as its first parameter.madmaxoft1-3/+3
Ref.: #655.
2014-05-01More ClientHandle fixes.madmaxoft1-2/+2
2014-05-01Fixed warnings in ClientHandle.madmaxoft1-2/+2
2014-05-01Fixed crashes in the SSL HTTP connection.madmaxoft1-1/+2
2014-04-29Delayed sending the KeepAlive packet for 3 seconds after login.madmaxoft1-0/+5
This should alleviate #889.
2014-04-28Fixed braces.madmaxoft1-1/+5
2014-04-28Fixed missing return value warning in MSVC.madmaxoft1-0/+1
2014-04-27Redstone simulator now directly accesses cChunkTiger Wang1-1/+2
* Redstone simulator performance improvements * Added return values to some functions * Minor fixes
2014-04-26More small fixes.archshift1-9/+9
2014-04-26Moar alignment.archshift1-7/+7
2014-04-26Further refactored, Reverted Minecart changearchshift1-57/+21
Other small changes.
2014-04-25Oops, fixed that.archshift1-0/+2
2014-04-25Refactored SendChat(), placing the message-type formatting into its own function.archshift1-84/+78
Removed default case warning in the process.
2014-04-24Fix armor in survival mode.Howaner1-1/+1
2014-04-19Declared one mutex as mutable in order to allow for const correct get accessors.jfhumann1-4/+4
2014-04-18Small style changesjfhumann1-1/+1
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann1-8/+10
2014-04-18Removed old includedaniel09161-1/+1
2014-04-17Fixed some Errors (not all)daniel09161-7/+10
2014-04-17Modified many thingsdaniel09161-856/+1
2014-04-16Fixed conflicting enchantments checkingdaniel09161-23/+23
2014-04-16Added deletions from merge conflictdaniel09161-0/+875
2014-04-16Fixed merge conflictdaniel09161-877/+0
2014-04-15Attempted fix for the client crash with the new protocols.madmaxoft1-6/+9
2014-04-15Code Optimizationdaniel09161-356/+180
2014-04-15Added Book Enchantingdaniel09161-1/+310
2014-04-15Modified namesdaniel09161-47/+47
2014-04-15Add linux compatibilityHowaner1-61/+71
2014-04-14Implemented the 1.7.6 protocol and authenticator.madmaxoft1-8/+22
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-0/+24
1.7.9 client works with these changes in offline mode.
2014-04-14Removed Debug Messagedaniel09161-2/+0
2014-04-14Added/Modified last things for Enchanting Systemdaniel09161-15/+53
2014-04-14Bug fixesdaniel09161-2/+2
2014-04-13Fixed invisibility enchantmentsdaniel09161-1/+3
2014-04-13Fixed mistakedaniel09161-1/+1
2014-04-13Fixed Server Crashdaniel09161-0/+6
2014-04-13Some Fixesdaniel09161-1/+8
2014-04-13Added Yggdrasil Authentication Systemdaniel09161-2/+5
Code by Howaner. Fixes/Changes by me.
2014-04-12Added complete Enchanting Systemdaniel09161-15/+662
http://minecraft.gamepedia.com/Enchantment_mechanics
2014-04-12Entities handle chunks properly againTiger Wang1-1/+1
* Entities properly handle chunks * Changed EntityStatus enums to be less shouty
2014-04-04Fixed some Clang warnings in protocols.madmaxoft1-2/+2
2014-04-02Fixed All signedness warnings in HTTPServer.cppTycho1-1/+1
2014-03-31Simplified and fixed slabs, fixes #835Tiger Wang1-1/+1
2014-03-29Compare for inequality in FACE_NONE checksTiger Wang1-3/+3
2014-03-29Removed leftover clienthandle codeTiger Wang1-10/+6
2014-03-29Fixed players not updating after world changeTiger Wang1-4/+2
Addendum to 6dea7993f2a563a8b3a0746feeb2174922631526
2014-03-28Fixed block interaction rate checkTiger Wang1-2/+4
2014-03-23Implemented lilypad placementTiger Wang1-4/+8
2014-03-11Fixed a load of format string errorsTycho1-1/+1
2014-03-11Unified Vector classesandrew1-3/+0
2014-03-10Removed Some unnessicary macrosTycho1-13/+0
2014-03-09!= FACE_NONETiger Wang1-1/+1
2014-03-09Fixed data length issuesTiger Wang1-1/+1
2014-03-09CheckBlockInteractionsRate() fixed & enabledTiger Wang1-29/+19
2014-03-09Slight plugin messaging changesTiger Wang1-0/+13
- Clients are not allowed to register duplicate channels - Clients are not allowed to use channels that were not registered
2014-03-08Split cClientHandle::HandleEntityAction() into three seperate functions HandleEntityCrouch, HandleEntityLeaveBed and HandleEntitySprinting.Jan-Fabian Humann1-28/+30
2014-03-08Fixed issues with int vs size_t and a few other warningsTycho1-2/+2
2014-03-05Add data backsending, when the Client interacts a Block and the Interact is cancelled.Howaner1-4/+10
2014-03-02cBlockInfo now manages the respective cBlockHandlerandrew1-3/+3
2014-03-01g_BlockXXX => cBlockInfo::XXXandrew1-1/+1
2014-02-28Use switch in GetStepSoundHowaner1-1/+1
2014-02-28Fix Double Slabs, fix Slab Meta and add more things to burnableHowaner1-1/+1
2014-02-23Use the ItemCategorie::IsSword() Method.Howaner1-1/+1
2014-02-23No Sword Block Destroying in Creative ModeHowaner1-0/+10
2014-02-20cClientHandle manages the client-registered plugin channels.madmaxoft1-10/+77
Fixes #706.
2014-02-18Map decorators; Map clientsandrew1-13/+9
2014-02-18Implemented paintings, fixes #689Tiger Wang1-0/+8
+ Implemented paintings
2014-02-17Map item handler; Fixed several bugsandrew1-2/+0
2014-02-16Links sent via chat messages are clickable.madmaxoft1-8/+14
Fixes #658.
2014-02-16Add Locale to ClientHandleHowaner1-0/+1
2014-02-15Implemented cCompositeChat.madmaxoft1-1/+11
This allows plugins to send composite chat messages, containing URLs, commands to run and cmdline suggestions. Fixes #678.
2014-02-15cMap::UpdateRadiusandrew1-0/+2
2014-02-14Send map when selectedandrew1-0/+13
2014-02-13Implementation of in-game mapsandrew1-0/+18
2014-02-07Added sender name to PM if prefixes disabledTiger Wang1-1/+1
* Also moved the PVP setting into Mechanics
2014-02-07Improved chat messaging functionsTiger Wang1-6/+108
* 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-8/+6
2014-02-05Reduced max explosions per tickTiger Wang1-1/+1
2014-02-05Fixed explosions bugTiger Wang1-20/+10
* Fixed bug where explosions would sometimes never be sent
2014-02-04Improved Type safety of eBlockFaceTycho1-5/+5
May Fix #640
2014-02-03Fixed a crash bugTiger Wang1-8/+2
2014-02-03Server now handles join messages alsoTiger Wang1-9/+11
* Revised as well hook documentation
2014-02-01Changed Signiture of OnDiggingTycho1-3/+3
2014-02-01Changed Signiture of OnDestroyedByPlayerTycho1-3/+4
2014-02-01Changed pointers to referencesTycho1-4/+3
2014-02-01Changed signitures of Several BLockHandler MethodsTycho1-1/+2
Changed the signitures of the following to use interfaces: GetPlacementBlockTypeMeta OnPlaced OnPlacedByPlayer OnDestroyed OnNeighbourChanged NeighbourChanged OnUse CanBeAt Check
2014-01-31Some updates for enchanting (2)daniel09161-0/+36
2014-01-26Refactored cBlockHandler::OnUse and dependentsTycho1-1/+4
2014-01-25First attempt at Implementing InterfacesTycho1-1/+1
2014-01-25Two minor changesTiger Wang1-1/+1
2014-01-24Fixed a possible deadlock on client disconnect.madmaxoft1-9/+0
2014-01-23Command block fixes 2andrew1-16/+9
2014-01-23Split TossItem into three Toss functions (Held, Equipped and Pickup)Mike Hunsinger1-2/+3
2014-01-21Scoreboard SendTo()andrew1-0/+3
2014-01-21Scoreboard protocol supportandrew1-0/+30
2014-01-19Removed unneeded paramtersTiger Wang1-2/+2
2014-01-19Rewritten SocketThreads for proper shutdown scenario.madmaxoft1-5/+1
This fixes #560 and #390.
2014-01-19Changed SendBlockEntity format slightlyTiger Wang1-3/+6
* Writing NBT is now in Protocol, not BlockEntity files * Fixed a last output bug
2014-01-19Implemented MC|Brand responseTiger Wang1-3/+9
2014-01-19Improved command blocksTiger Wang1-0/+9
* 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-18Command block fixesandrew1-5/+12
2014-01-18Parse the MC|AdvCdm plugin messageandrew1-0/+64
2014-01-16Removed obsoleted functionsTiger Wang1-2/+2
2014-01-15Implemented Ctrl-Q drop stackTiger Wang1-0/+11
Also fixed an issue with TossItems not respecting count.
2014-01-09Added cClientHandle::SendPluginMessage().madmaxoft1-0/+9
It is not yet exported in the API, though.
2014-01-07Plugin messages are received and handed to plugins.madmaxoft1-0/+9
Note that MCS doesn't currently handle any channel registrations, this will come later on.
2013-12-31fixed ClientHandle warningsTycho Bickerstaff1-0/+1
2013-12-22Implented BroadcastParticleEffectSTRWarrior1-0/+9
2013-12-20Fixed the rest of constructor reorders.madmaxoft1-21/+20
2013-12-19Fixed PlayerAbilities and creativeTiger Wang1-3/+3
2013-12-19Fixed 1.7 arm swing animationTiger Wang1-1/+23
2013-12-18Disconnection message no longer shown if pingTiger Wang1-5/+8
2013-12-18The "<>" of a player name is now colouredTiger Wang1-1/+1
2013-12-18Fixed 1.7 player disconnection not calling hookTiger Wang1-4/+14
This fixes #357
2013-12-18Renamed back EntityAnimation to PlayerAnimationTiger Wang1-1/+1
This fixes #411 and partially reverts 30ead790490f04248b861db79fddde9148b552f4
2013-12-16Fixed cClientHandle::Tick() being called from two threads.madmaxoft1-6/+43
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-16Fixed multiple player spawn broadcasts.madmaxoft1-3/+0
2013-12-15Fixed calling OnPlayerJoined() in the wrong place.madmaxoft1-6/+1
This is the first part of a fix for #187.
2013-12-15This adds a function that allows you to 'shoot' a player towards a direction.STRWarrior1-2/+0
2013-12-15Moved reading flags to the protocol.STRWarrior1-17/+3
2013-12-15Added m_IsFlying and m_CanFly. Both have a Get and Set function. Added cClientHandle::SendPlayerAbilities() functionSTRWarrior1-0/+33
2013-12-14Forgot to commit the ClientHandle.STRWarrior1-0/+18
2013-12-12Unknown packet type extended to 32 bits.madmaxoft1-3/+3
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
Ref.: #407
2013-12-07Fixed trapdoors not togglingTiger Wang1-1/+1
The redstone simulator kept on resetting them.
2013-12-07Renamed animation functionTiger Wang1-7/+7
Renamed BroadcastPlayerAnimation to BroadcastEntityAnimation. Not just players can have animations, you know.
2013-12-06Fixed bed leave animationTiger Wang1-1/+1
2013-12-06Updated comments for slabsTiger Wang1-5/+6
2013-12-02Switched to using provided ReadItem function.Samuel Barney1-0/+9
Fixed misplacing when clicking on the bottom of bottom slabs and the top of top slabs.
2013-11-30Properly fixed snow height, fixes #98 and #264Tiger Wang1-9/+14
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-15finished #143 I believeDaniel O'Brien1-2/+5
2013-11-15added cProtocol function to pass xp to clientDaniel O'Brien1-0/+9
2013-11-10Bundled fixes [SEE DESC]Tiger Wang1-2/+2
* Fixed compiler warning in Monster.cpp * Future proofed particle effects * Improved pickups, made less jittery
2013-11-08cProtocol::SendWindowOpen() signature changed.madmaxoft1-2/+2
This implements #313.
2013-11-05Removed the obsolete SendWholeInventory(cInventory &) function.madmaxoft1-11/+2
This won't compile because there's still a change in Protocol17x.cpp pending; the next commit will fix this.
2013-11-04Autogeneration of settings.ini and webadmin.iniTiger Wang1-2/+2
Fixes issue #75
2013-11-03ClientHandle: Fixed an error in player-joining hook.madmaxoft1-2/+2
Players being disconnected used to fire the PlayerJoined hook repeatedly.
2013-10-29Changed GameMode() == 1 to IsGameModeCreative in AggressiveMonster.cpp and ClientHandle.cppSTRWarrior1-1/+1
2013-10-29Fixed bug where creative inventory didn't work.STRWarrior1-1/+1
2013-10-28Renamed cWindow constants to include the "wt" prefix.madmaxoft1-2/+2
2013-09-22Changed a commentTiger Wang1-1/+1
Was a remnant of my TypeType minecarts :D
2013-09-21Fixed pickup spawning with inherited gamemode.madmaxoft1-0/+1
2013-09-15Removed leftover CanBePlacedOnSideTiger Wang1-7/+0
2013-09-15Removed leftover DoesAllowBlockOnTopTiger Wang1-9/+0
2013-09-09Removed the cDoors class.madmaxoft1-1/+0
The helper functions that it implemented were moved into their respective blockhandlers.
2013-09-08Fixed client spawning.madmaxoft1-108/+51
The method used for 1.2.5 clients no longer works. Fixes #139.
2013-09-06Implemented SteerVehicle packet.madmaxoft1-0/+9
2013-09-06Implemented SteerVehicle packet.madmaxoft1-0/+9
2013-08-30Shooting a bow kinda works.madmaxoft1-4/+4
The arrow is released, but sometimes hits wrong blocks or disappears completely.
2013-08-29Implemented xoft's suggestions [SEE DESC]Tiger Wang1-2/+2
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-2/+2
Now you can have everything!
2013-08-24Client can no longer place blocks outside the Y range of the world.madmaxoft1-1/+6
Fixes #128.
2013-08-24Added comments and fixed a bugTiger Wang1-9/+21
Bug was placing slabs between slabs not making a double slab.
2013-08-24Fixed final slab bugTiger Wang1-1/+1
This bug allowed a double slab to be made below by placing a compatible slab on a "top" slab. The coordinates are always one lower, so now it checks to see if the slab orientation can be made into a double.
2013-08-23Double slabs work *choke choke*Tiger Wang1-20/+49
2013-08-22Another fix for #31.madmaxoft1-0/+6
This seems to have done it, no more crashes for me.
2013-08-20Added a delay between the kick packet and socket close.madmaxoft1-2/+17
This should have helped #31, but the client disagrees.
2013-08-20Fixed player spawning.madmaxoft1-0/+10
Now the player is spawned only after the chunk they're in is sent to the client. Hopefully no more falling-through-terrain-while-loggin-in.
2013-08-19Fixed the extreme strain on the world tick thread.madmaxoft1-0/+2
Block changes were sent even with empty changesets, causing a lot of lost CPU cycles.
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-3/+2
2013-08-18Added cWindow property manipulation API.madmaxoft1-17/+17
Now enchantment table and furnace properties can be set by a plugin
2013-08-14ClientHandle no longer queues chat messages.madmaxoft1-47/+17
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-1/+37
Fixes #80
2013-08-13Clients are now ticked in cServer first, then in cWorld once they get assigned a world.madmaxoft1-31/+32
2013-08-12Removed cServer::BroadcastChat() and cServer::SendMessage().madmaxoft1-6/+8
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-11Moved MaxPlayers and Description from cWorld to cServer.madmaxoft1-7/+7
Also started creating a new cWorld::cTickThread class, but not used yet.
2013-08-11Added OnPlayerAnimation() hook.madmaxoft1-0/+6
Initial patch by @STR_Warrior, updated to account for different animation packets.
2013-08-10Removed extra disconnect messageTiger Wang1-5/+0
There seems to be already one in the HandleDisconnect hook function.
2013-08-09Fixed some formatting issues I accidentally introducedJames Ravenscroft1-0/+2
2013-08-09Added IsSwimming and IsSubmerged flags and access methodsJames Ravenscroft1-4/+2
2013-08-08Fixed the jump food exhaustion being added when player is swimmingJames Ravenscroft1-3/+8
2013-08-02Implemented OnPlayerRightClickingEntity() hookmadmaxoft1-0/+4
Fixes FS 425
2013-07-31Implemented the actual tab completion for commands and playernames.madmaxoft1-1/+1
Each command is reported only if the player has the permission to use it.
2013-07-30Tab completion packet is handled and sent.madmaxoft1-0/+26
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/+9
Fixes issue #20. The 1.6.2 client wouldn't open the sign editor UI unless it receives a special packet
2013-07-28Player eating is now properly broadcast to other players.madmaxoft1-0/+5
Also fixed the API relating to food, determining player gamemode, and removed several unneeded API functions.
2013-07-28Implemented basic eating support.madmaxoft1-12/+8
Food is now properly consumed and it takes 1.5 sec.
2013-07-12First implementation of movement-related hunger and APImadmaxoft@gmail.com1-9/+19
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1673 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-08Color codes are stripped from the DC messagemadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1670 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/+11
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-148/+157
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/+13
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1650 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05Fixed 1.6.1's movement speedmadmaxoft@gmail.com1-0/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1649 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-03Fixed player moving between worlds.madmaxoft@gmail.com1-13/+54
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-29Fixed crouch-placing unplaceable items (FS #399)madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1632 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22Plugins can modify message in the OnChat() hook handler.madmaxoft@gmail.com1-2/+3
FS #376 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1622 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18Crouching will allow block placement on otherwise functional blocks.madmaxoft@gmail.com1-2/+2
Fixes FS #382 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1607 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18Added a crude limiter for explosions sent to client.madmaxoft@gmail.com1-1/+27
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-16Added an elaborative comment on the deadlock prevention codemadmaxoft@gmail.com1-1/+12
(FS #375) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1597 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-15First attempt at fixing the inter-threading deadlocks between the tick thread and the socket threadmadmaxoft@gmail.com1-1/+11
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1591 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-04Removed cLadder, cSign, cStairs, cTorch and cVine classes, moved their functionality into the appropriate BlockHandlers / ItemHandlersmadmaxoft@gmail.com1-4/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1555 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-04Implemented proper player crouching.madmaxoft@gmail.com1-4/+18
Fixes FS #365 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1553 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30LuaWindow: Initial code, the window can be opened, but not much manipulatedmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1532 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28Moved BlockEntities to a separate foldermadmaxoft@gmail.com1-2/+2
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-4/+3
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-5/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1493 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-08Refactored window clicking code to use different click actionsmadmaxoft@gmail.com1-5/+5
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-2/+2
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/+9
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-16/+14
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-4/+4
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-02Added support for head yaw tracking and packet sending and fixed bug in BroadcastMovementUpdatekeyboard.osh@gmail.com1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1350 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-18Added support for the packet #28 (0x1C): ENTITY_VELOCITYkeyboard.osh@gmail.com1-0/+11
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-1/+25
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1249 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-27Made FAST_FLOOR_DIV work correctly, replaced all floorf() divisions with it.madmaxoft@gmail.com1-2/+2
Still not perfect - chunk and region calculations can be made into a single CPU instruction - SAR - but not all compilers are known to support that (">>" operator on signed datatypes needs to perform arithmetic shift, C/C++ standard makes it implementation-specific; MSVC and GCC do what we need, LLVM unknown) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1224 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-21Moved the Speed member into cEntity class instead of its descendants.madmaxoft@gmail.com1-2/+2
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/+9
No interaction, no physics, though. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1219 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-14Fixed one-hit-blocks not being broken server-sidemadmaxoft@gmail.com1-2/+4
FS #301 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1213 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-13Added missing dig status.luksor111@gmail.com1-0/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1141 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-171/+307
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-6/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1120 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-27Fixed OnBlockPlace hookluksor111@gmail.com1-10/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1113 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-26Adjusted the protocol framework to support different types of falling block spawning.madmaxoft@gmail.com1-0/+9
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-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1099 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21Refactored the TakeDamage API to take equipped weapon and armor into consideration (PvP untested)madmaxoft@gmail.com1-6/+4
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-20Removed chat messages from consoleluksor111@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1082 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-19Added dispensers (they can't dispense items yet)luksor111@gmail.com1-15/+21
Fixed crash when digging snow Moved BlockPlace hook check, so Core plugin will no longer block item usage Player chat messages are now visible in the console git-svn-id: http://mc-server.googlecode.com/svn/trunk@1081 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-18Fixed wrong c++ standard assumptions about bools.madmaxoft@gmail.com1-2/+4
Should fix FS #265. http://forum.mc-server.org/showthread.php?tid=629&pid=5415#pid5415 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1053 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-16Fixed boolean comparison.madmaxoft@gmail.com1-1/+1
Don't compare booleans to false / true, use them directly. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1048 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-16Removed log message when spawning players on a client.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1047 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-12Fixed block breaking in survival.luksor111@gmail.com1-4/+15
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-4/+21
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-7/+10
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-22You can now see particles and hear sounds when other players are destroying blocks.luksor111@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1004 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-21Added jukeboxes (patch contributed by Luksor)madmaxoft@gmail.com1-0/+9
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/+9
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-10-17Fixed a vulnerability in cClientHandle::HandleRespawn()faketruth1-1/+9
Changed some hook locations: Moved HOOK_PLAYER_JOIN to where HOOK_PLAYER_SPAWN was (before player is added to the world) Added HOOK_PLAYER_SPAWN to after a player's initial spawn and after a player is re-spawned after death git-svn-id: http://mc-server.googlecode.com/svn/trunk@972 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-10Added an option to disable/enable PVP on a per world basisfaketruth1-0/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@944 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-06Fixed an invalid direction to AddDirection()madmaxoft@gmail.com1-8/+11
( http://forum.mc-server.org/showthread.php?tid=571&pid=4821#pid4821 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@939 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-06Completely removed the old (buggy) redstone simulator.madmaxoft@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@937 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-01Slight refactoring of BlockHandlers - dropping unneeded virtual functionsmadmaxoft@gmail.com1-3/+3
( http://forum.mc-server.org/showthread.php?tid=434&pid=4734#pid4734 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@917 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-30Added falling block entities. Sand and gravel now properly fall downfaketruth1-0/+8
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-29Removed a rogue cSleep from ClientHandle. Since sockets are owned by sockethreads, the client can safely Destroy() itself right after sending a packet.madmaxoft@gmail.com1-4/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@912 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29Beds can be slept in now (it doesn't change the time though)faketruth1-0/+27
git-svn-id: http://mc-server.googlecode.com/svn/trunk@911 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29Unified folder name-casingmadmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@902 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-25Added the block dig animation packet (patch contributed by l0udPL)madmaxoft@gmail.com1-2/+45
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-27/+12
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-23/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: ChunkDataSerializer is Protocol-relatedmadmaxoft@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@886 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: OSSupport-related files in a separate subfolder, renamed.madmaxoft@gmail.com1-4/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@885 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: Removed unused cBlockToPickupmadmaxoft@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@884 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: Mobs-related files in a separate subfolder, renamed.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@883 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: Protocol-related files in a separate subfoldermadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@880 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-23Fixed position confirming for 1.3.2 (FS #245)madmaxoft@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@877 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Fixed players not spawning to others when they join the server.madmaxoft@gmail.com1-0/+3
Ref.: http://forum.mc-server.org/showthread.php?tid=434&pid=4633#pid4633 git-svn-id: http://mc-server.googlecode.com/svn/trunk@876 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Tweaked logging.madmaxoft@gmail.com1-0/+6
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-20Refactored windows.madmaxoft@gmail.com1-12/+14
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-11Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com1-0/+11
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-07Relaxed the check for held item, the client sometimes sends wrong ItemType.madmaxoft@gmail.com1-2/+9
http://forum.mc-server.org/showthread.php?tid=549&pid=4502#pid4502 git-svn-id: http://mc-server.googlecode.com/svn/trunk@846 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-06Added protocol-specific authentication, now works for both 1.2.5 and 1.3.2madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@841 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-5/+32
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/+17
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/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@832 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-02Next iteration on the 1.3.2 protocol. Still no good, but sometimes it just gets through. For your testing pleasures ;)madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@819 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-01Fix for Rev 814, the correct cPlayer object is actually sent into the callbacks.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@816 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-01Implemented: http://www.mc-server.org/support/index.php?do=details&task_id=239&project=2&dev=26lapayo94@gmail.com1-1/+1
Fixed Bug on build collision git-svn-id: http://mc-server.googlecode.com/svn/trunk@813 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-31Progress on the 1.3.2 protocol.madmaxoft@gmail.com1-2/+2
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-5/+13
git-svn-id: http://mc-server.googlecode.com/svn/trunk@810 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-31Fixed one possibility of a deadlock in cClientHandle::SendChunkData()madmaxoft@gmail.com1-13/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@809 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-30Added a basic protocol recognizer and the base for 1.3.2 protocol.madmaxoft@gmail.com1-25/+10
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-58/+4
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-4/+4
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-38/+36
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-892/+175
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/+16
2012-08-25cSocket doesn't use cPackets.madmaxoft@gmail.com1-10/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@790 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-25cWorld doesn't use cPackets.madmaxoft@gmail.com1-0/+58
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-2/+69
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/+13
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/+77
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/+39
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-49/+286
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-31/+123
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-19Fixed Bug #236lapayo94@gmail.com1-3/+3
Workbench, Chest and Furnace are usable again git-svn-id: http://mc-server.googlecode.com/svn/trunk@755 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-18Chat packet handled in the new way; fixed missing packet sending for inventory slot.madmaxoft@gmail.com1-26/+28
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-115/+196
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-15/+37
git-svn-id: http://mc-server.googlecode.com/svn/trunk@744 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-15Added temporary debug statistics of the RelEntMoveLook packet removal efficiencymadmaxoft@gmail.com1-0/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@740 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-06A bit of cleanup and documentation around the UI window handlingmadmaxoft@gmail.com1-2/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@716 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-17Simple health regeneration systemlapayo94@gmail.com1-14/+3
Prepared for food git-svn-id: http://mc-server.googlecode.com/svn/trunk@679 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-16Fixed some small bugs :)lapayo94@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@672 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-15A new Block handling system :olapayo94@gmail.com1-560/+78
It was really a lot of work :D Took me the complete weekend :D Would really like to here your opinion on this =) The aim of this is to put all the actions for one block in one place so it is not spread around the source. (ToPickup, Action in cWorld, Action in cChunk, Action here, action there :D) git-svn-id: http://mc-server.googlecode.com/svn/trunk@671 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-13The gamemode is now only saved if it is different from the current gamemode.lapayo94@gmail.com1-1/+2
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-1/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@660 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-16Leaves: Applied patch by Luksor.cedeel@gmail.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@624 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-16Proper kick reasons!cedeel@gmail.com1-3/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@621 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-16Exported cWorld::ForEachEntity and cWorld::ForEachEntityInChunk; no idea if they actually workmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@620 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-15Lit furnaces can be used by playersmadmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@617 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-15Basic handling of vines. No growth yet.cedeel@gmail.com1-13/+18
git-svn-id: http://mc-server.googlecode.com/svn/trunk@615 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-15Fixed placing block on tall grass (FS #209)madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@614 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Fixed snow again, this time for real.cedeel@gmail.com1-2/+17
I didn't realize the client would also try to replace the snow from the sides. git-svn-id: http://mc-server.googlecode.com/svn/trunk@612 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Fixes placing blocks on snow.cedeel@gmail.com1-10/+21
Also a little formatting. git-svn-id: http://mc-server.googlecode.com/svn/trunk@611 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-2084/+2084
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-13Added a BlockToPickup hook for modifying pickups when a player breaks a block.madmaxoft@gmail.com1-2/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@602 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-09Disallowed placing cacti in watermadmaxoft@gmail.com1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@592 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-09Plants growable by bonemeal are settable in the world.ini. Default matches vanilla MC.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@584 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-09Bonemeal is consumed in survival mode when used on growable blocksmadmaxoft@gmail.com1-1/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@582 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-08Sugarcane grows and can be grown using bonemeal.madmaxoft@gmail.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@578 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-3/+33
git-svn-id: http://mc-server.googlecode.com/svn/trunk@573 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-07Repeaters' delays can be set by rclkmadmaxoft@gmail.com1-3/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@570 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-07Multiple packets are serialized in one request.madmaxoft@gmail.com1-5/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@568 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-07Added more statistics to the packet queue overfill problem.madmaxoft@gmail.com1-2/+20
git-svn-id: http://mc-server.googlecode.com/svn/trunk@566 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-07(Temporary) hotfix for the "too many packets" error - set the packet limit 5x higher.madmaxoft@gmail.com1-1/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@565 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-41/+41
git-svn-id: http://mc-server.googlecode.com/svn/trunk@561 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-04Updated zlib, added chat formatting, fixed upside down stairs and slabs, fixed makefiles, hopefully updated vc project filescedeel@gmail.com1-4/+21
git-svn-id: http://mc-server.googlecode.com/svn/trunk@546 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-02ClientHandle dumps the contents of all packets in the queue if the packet queue gets overloaded to the point of client-kicking. Use this to debug FS #197.madmaxoft@gmail.com1-0/+63
git-svn-id: http://mc-server.googlecode.com/svn/trunk@540 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-30Seeds can now be planted and they grow (albeit too quickly and too non-uniformly, need to fix blocktick selection)madmaxoft@gmail.com1-1/+28
git-svn-id: http://mc-server.googlecode.com/svn/trunk@523 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29Farmland is created using a hoe on dirt or grass.madmaxoft@gmail.com1-2/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@520 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29Refactored item-eating from cClientHandle into cPlayermadmaxoft@gmail.com1-71/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@519 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29Added code for the chunks to manipulate their neighbors while ticking. Also added some basic farming support - melon and pumpkin growing code. Untested and untestable so far, will test and fix later.madmaxoft@gmail.com1-65/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@518 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-4/+33
git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 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-1/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@454 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-03Logging OnBlockDig and OnBlockPlace only in Debug mode ( http://mc-server.org/support/index.php?do=details&task_id=133&project=2 )madmaxoft@gmail.com1-2/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@447 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-26Added the supported client version to banner; shamelessly added myself to the authors list ;)madmaxoft@gmail.com1-1/+1
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-7/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24Protocol version bumped up to 29 (MC 1.2.4), seems to work.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@430 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-16/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@429 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-22Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com1-4/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@426 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11Not sending chunks to the client twicemadmaxoft@gmail.com1-21/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@399 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10Fixed a few obsoleted functionsmadmaxoft@gmail.com1-6/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@397 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10Using references instead of pointers for sending packetsmadmaxoft@gmail.com1-15/+15
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-1/+11
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-1/+0
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-06Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkListsmadmaxoft@gmail.com1-4/+11
git-svn-id: http://mc-server.googlecode.com/svn/trunk@371 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-33/+22
git-svn-id: http://mc-server.googlecode.com/svn/trunk@365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04Changed signed char to unsigned char in block packets, so we can receive height up to 255faketruth1-4/+6
Blocks placed above 128 limit don't become obsidian anymore. This was due to the cChunk::MakeIndex() function return 0 when outside of bounds, it now returns an 'error constant' git-svn-id: http://mc-server.googlecode.com/svn/trunk@356 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-03Got rid of some hardcoded numbers, now using hardcoded variables! woofaketruth1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@355 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02That should not have been committed...faketruth1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@354 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01Started carefully moving to 1.2.2faketruth1-1/+18
Clients can get up to the login packet, after which the server tries to send chunks but in the wrong format and the client disconnects git-svn-id: http://mc-server.googlecode.com/svn/trunk@347 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29Fixed the authenticator bugmadmaxoft@gmail.com1-0/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@344 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29Making sure cClientHandle::m_Player was NULL after authentication completedfaketruth1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@343 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk listsmadmaxoft@gmail.com1-3/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@340 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26Attempt at fixing crashes with disconnecting playersmadmaxoft@gmail.com1-0/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@329 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-115/+73
git-svn-id: http://mc-server.googlecode.com/svn/trunk@328 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26Extended SocketThreads for writing support (unusable in cClientHandle due to too many deadlock possibilities)madmaxoft@gmail.com1-9/+8
Extended the range of ignored packets in pre-game client states (fixes connection issues with some mods installed) git-svn-id: http://mc-server.googlecode.com/svn/trunk@327 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-6/+27
git-svn-id: http://mc-server.googlecode.com/svn/trunk@326 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.faketruth1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@318 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com1-12/+9
Also fixed a threading issue when a player connecting might have gotten stuck in "Downloading world" forever git-svn-id: http://mc-server.googlecode.com/svn/trunk@304 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com1-11/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@303 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-1/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@298 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-20Using own ASSERT() that logs to filefaketruth1-5/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@297 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-14/+14
git-svn-id: http://mc-server.googlecode.com/svn/trunk@285 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16Got rid of dangerous GetEntity(), not using DoWithEntity()faketruth1-6/+20
git-svn-id: http://mc-server.googlecode.com/svn/trunk@278 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com1-87/+85
git-svn-id: http://mc-server.googlecode.com/svn/trunk@263 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-294/+406
git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)madmaxoft@gmail.com1-9/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@245 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-110/+65
git-svn-id: http://mc-server.googlecode.com/svn/trunk@244 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07Rewritten all packets to use buffers instead of direct sockets, for future cSocketThreads compatibility.madmaxoft@gmail.com1-23/+38
Moved data sending from cPacket into cSocket git-svn-id: http://mc-server.googlecode.com/svn/trunk@240 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-05Now showing proper error messages when sockets fail :)faketruth1-1/+1
Crossplatform GetLastError function in cSocket git-svn-id: http://mc-server.googlecode.com/svn/trunk@234 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-03cClientHandle: split packet handling into separate functions for claritymadmaxoft@gmail.com1-969/+1158
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-332/+333
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-40/+28
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-01sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com1-8/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@216 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31Slight code cleanup, no big changesmadmaxoft@gmail.com1-40/+126
git-svn-id: http://mc-server.googlecode.com/svn/trunk@202 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-8/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@188 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-23Cactus towers can be destroyed by removing the bottom blockfaketruth1-1/+53
Added checks whether flowers/mushrooms/saplings can be placed on surface Added checks for cactus to see if it's allowed to be placed Fluids now wash away certain items (flower, sapling, cactus) git-svn-id: http://mc-server.googlecode.com/svn/trunk@169 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-20MCServer is now compatible with Minecraft client 1.1 (as long as the client is not using any mods/plugins I think)faketruth1-2/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@165 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-1/+33
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
2012-01-02Fixed crashing bug in cClientHandle::~cClientHandlefaketruth1-1/+3
When there are players in the server, and a client connects as far as the handshake and then disconnects, the server crashed. This is because there is no m_Player yet after the handshake, and the destructor uses m_Player without checking if it exists git-svn-id: http://mc-server.googlecode.com/svn/trunk@163 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01Fixed the numchunks console command.faketruth1-8/+8
Added some form of reference counting to cChunk to make sure it's not referenced when deleting it. Right now it's only needed due to the generation of chunks in a separate thread and adding it to the spread light list in cWorld git-svn-id: http://mc-server.googlecode.com/svn/trunk@161 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01- implemented separated inventory for creative mode (cSurvivalInventory and cCreativeInventory)lapayo94@gmail.com1-17/+37
(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
2012-01-01Chests, furnaces and dispensers face the correct way now.faketruth1-0/+5
http://mc-server.org/support/index.php?do=details&task_id=88 git-svn-id: http://mc-server.googlecode.com/svn/trunk@159 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-31Made a couple of functions in cChunk inline, this should speed up several block operations on chunksfaketruth1-16/+6
Players should not spawn in the ground anymore. When an entity was added to cWorld twice (which shouldn't happen actually), the server would crash when the entity is destroyed, this should be fixed now. git-svn-id: http://mc-server.googlecode.com/svn/trunk@158 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 - Initial food handling by cedeelmtilden@gmail.com1-13/+30
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-1/+1
- 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-29- Pickups should now burn in firelapayo94@gmail.com1-2/+9
- The player no longer gets an empty bucket when in creative mode - improved the simulators again (moved to std::list because this should be faster with so many objects) (But the water simulation still is very slow) git-svn-id: http://mc-server.googlecode.com/svn/trunk@153 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28- implemented the fire simulation in native c++ (cFireSimulator)lapayo94@gmail.com1-84/+43
- 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 too fast actions kick for realmtilden@gmail.com1-5/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@149 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28Fixed some small memory leakslapayo94@gmail.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@148 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 - Didn't notice steak missing as wellmtilden@gmail.com1-0/+8
Interesting to note, when you make a food item handled with health it gets rid of the eating animation, this seems backwards. git-svn-id: http://mc-server.googlecode.com/svn/trunk@143 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 - Added chicken to eatingmtilden@gmail.com1-0/+9
- 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-27I'll lower my frequency of commits.. 1000 default ends up sent more often than calc'd packets.mtilden@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@135 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27Oops, accidentally left debug printmtilden@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@134 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 - Added basic ping handling.mtilden@gmail.com1-3/+27
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-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@130 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27Set player interaction kicking to 5 interactions per .1 seconds to help with lag disconnects. Still need to change code to lessen the false positives.admin@omencraft.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@128 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/+14
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-26Fixed the little check for max players. If somehow a player was able to connect and the number of players would exceed the max players, everybody is allowed in and the server will never be 'full'. It's fixed nowfaketruth1-9/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@122 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 - Linux compatible fixes including updated makefilemtilden@gmail.com1-3/+7
- 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 - Default Notchian Ping (static until ping implemented through keepalive send/receive)mtilden@gmail.com1-2/+10
- 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 - Scoreboard deleting moved to cClientHandle::~cClientHandle() with checks. Please test this every way you can with clients disconnecting from the internet, crashing, etc. It should work on all cases as every client gets called in this part to be 'Deleted'mtilden@gmail.com1-6/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@118 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-6/+6
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-0/+11
- 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-2/+4
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-25Code improvementslapayo94@gmail.com1-0/+1
Fixed authentication (Can be activated now) Added MersenneTwister.h Thanks to mtilden ( http://forum.mc-server.org/showthread.php?tid=183&pid=1428#pid1428 and http://forum.mc-server.org/showthread.php?tid=183&pid=1418#pid1418 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@106 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25- improved and simplified the door system (shorter, clearer)lapayo94@gmail.com1-26/+25
- Doors now drop a complete door & other part gets destroyed - Build a function for pickup counts (cBlockToPickup::PickupCount) (Default is 1) git-svn-id: http://mc-server.googlecode.com/svn/trunk@104 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-7/+21
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-24Max. players and MOTD are now changeable in the settings.inilapayo94@gmail.com1-3/+9
Thanks to mtilden ( http://forum.mc-server.org/showthread.php?tid=183&pid=1381#pid1381 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@101 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-23Added thread names to cThread so when debugging in Visual Studio you actually know what thread you're looking atfaketruth1-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@100 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-22Digging leaves with shears now drops leaveslapayo94@gmail.com1-1/+2
Falling Sand now notifies water around Implemented Function to get the relative chunk position in the total position (cChunk::PositionToWorldPosition) Pistons don´t drop water and lava items anymore when stopping water/lava implemented Getter for lava and water simulator IsBlockWater and IsBlockLava function in Defines.h git-svn-id: http://mc-server.googlecode.com/svn/trunk@97 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-21- Crafting fixed in 1.0.0lapayo94@gmail.com1-7/+26
- 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-11Found and fixed a bug not letting users place blocks in water or lava.admin@omencraft.com1-2/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@91 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10Fixed logging in underground bug this time. A hack, but it works. :Dadmin@omencraft.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@90 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10Can now set gamemode via lua.admin@omencraft.com1-1/+1
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-15/+70
git-svn-id: http://mc-server.googlecode.com/svn/trunk@87 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10Added code for doors. Doors now place correctly but opening them is buggy and I need to change the current opening code to use bitwise operators.admin@omencraft.com1-2/+48
git-svn-id: http://mc-server.googlecode.com/svn/trunk@85 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10Added random weather that persists per world. Also added SetWeather, GetWeather, and CastThunderbolt to lua bindings.admin@omencraft.com1-17/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@83 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/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@82 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-08It's a Squirrel!!faketruth1-0/+1
In SquirrelBindings.h use #define USE_SQUIRREL 1 to enable squirrel git-svn-id: http://mc-server.googlecode.com/svn/trunk@76 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-07Updated redstone and pistons some mode. If you break an extended piston the piston extension will now also break. When a redstone device is broken by something other than a person the redstone circuit should now update.admin@omencraft.com1-15/+34
git-svn-id: http://mc-server.googlecode.com/svn/trunk@74 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-07Added Sebi's changes to pistons and item drops.admin@omencraft.com1-13/+20
git-svn-id: http://mc-server.googlecode.com/svn/trunk@72 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-07Pistons now generate noise and animate when moving.admin@omencraft.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@71 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-06Redstone wire now updates correctly when added and removed. it also updates all currently programmed redstone items and wire circuits. Also cleaned up the mess I left of the code.admin@omencraft.com1-2/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@69 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-06Redstone is now self aware. It's not quite as dumb as it used to be at any rate. Redstone wires have no range and understand they are supposed to stay on whenever there's an active torch touching it. (Need to add other power devices)admin@omencraft.com1-9/+29
git-svn-id: http://mc-server.googlecode.com/svn/trunk@68 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-7/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@67 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-05Added all the items up to Beta 1.9.5. Added pistons and piston class.admin@omencraft.com1-2/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@63 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-5/+27
git-svn-id: http://mc-server.googlecode.com/svn/trunk@51 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-03Fixed some redstone items and a bug that prevented floats from client to server packets reading correctly on 64 bit linux.admin@omencraft.com1-2/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@50 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-03Added some redstone items.admin@omencraft.com1-6/+30
git-svn-id: http://mc-server.googlecode.com/svn/trunk@49 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-03Updated the thunderbolt packet. Lightning and rain can be tested with a workbench and a chest. >:)admin@omencraft.com1-7/+17
git-svn-id: http://mc-server.googlecode.com/svn/trunk@48 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-02Added New/Invaid State and Thunderbolt packets. For testing purposes it now rains whenever a player opens a workbench and stops when they pen a chest. The rain start/stop in only sent to the sole clientopening the items.admin@omencraft.com1-7/+26
git-svn-id: http://mc-server.googlecode.com/svn/trunk@47 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-02Fixed some "Entity was not found in any chunk!" warningsfaketruth1-4/+8
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-02Fixed player spawn teleport postion.admin@omencraft.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@45 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-01fixed player spawning in the ground.admin@omencraft.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@42 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-01Accidentally removed a line of codefaketruth1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@41 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-46/+49
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-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-5/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@38 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-01Players can now place blocks in creative mode. The blocks players select from the creative mode inventory are not stored in the players' inventory. (I kind of like that)admin@omencraft.com1-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@37 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-15/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@29 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-27Fixed a memory leakfaketruth1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@19 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-3/+4
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-2/+2
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-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@16 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26Added CreateInventoryAction packet for creative mode. Used cPacketEntityEquipment as template. Forced server into Creative Mode. Can't break blocks yet. Player can stil be damaged in creative mode and dying takes you back to survival mode.admin@omencraft.com1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@15 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26added simple code for server side item durabilty on tool items that have durabilty. need to add block destroyed durability modifier.admin@omencraft.com1-3/+70
git-svn-id: http://mc-server.googlecode.com/svn/trunk@12 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-23Abstracted sockets some more to ensure the same behavior over the entire program and on multiple platforms.faketruth1-19/+3
MCSocket.h should soon be deprecated and deleted Do a full rebuild (mine bugged out when I didn't) git-svn-id: http://mc-server.googlecode.com/svn/trunk@8 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-21Compiles for linuxfaketruth1-2/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@6 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-03MCServer c++ source filesfaketruth1-0/+1082
git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6