Drew DeVault
08c313a651
Add names to events for profiling puproses
2015-09-07 16:13:18 -04:00
Drew DeVault
14661c7110
Add profiler, improve event scheduler performance
2015-09-07 16:07:39 -04:00
Drew DeVault
7578d5980a
Add mob wandering AI
2015-07-02 22:46:20 -06:00
Drew DeVault
7da2ca5a27
Track the subject of each scheduled event
...
This allows us to cancel events when the subject is no longer around.
For example, if a chunk is unloaded due to inactivity, the events within
it are cancelled (growth of wheat, propegation of fluids, etc). When a
client disconnects, events associated with it are cancelled.
To use this for your own scheduled events, pick a subject. If your
subject does not implement IEventSubject, implement it. Then, you can
pass the subject into ScheduleEvent and that's it. When the subject
dies, your events will die with it. So long as the subject remains
alive, your events still fire.
`null` is a valid subject for events that should happen regardless of
any subject expiring.
Closes #1
2015-07-01 14:02:41 -06:00
Drew DeVault
0bf8f75c5a
Revert "Merge pull request #174 from Mitch528/events"
...
This reverts commit 43d2840171a83e8b8260f981d1918d7ad1c5ed1f, reversing
changes made to 186efa270795abefbef2b5745656fda2ae11610a.
2015-06-26 16:51:28 -06:00
Mitchell Kutchuk
2db4df9b5d
Expanded upon EventScheduler
...
- Events are now sorted
- Thread waits until either a new event is scheduled or an existing
event is ready before continuing.
2015-06-26 10:43:52 -07:00
Mitchell Kutchuk
7820a304ae
Catch packet handler exceptions
2015-06-22 08:08:15 -07:00
Mitchell Kutchuk
4225124546
Implement asynchronous sockets
2015-06-20 19:43:28 -07:00
Drew DeVault
2dd423ab11
Implement singleplayer
2015-06-02 20:31:43 -06:00
Robin Kanters
7cd6c1ffe5
Only using username for checking access
2015-05-18 08:40:49 +02:00
Robin Kanters
1eaf36ffda
Moved access control to IMultiplayerServer
2015-05-18 08:40:46 +02:00
Robin Kanters
b099ac8644
Moved AccessConfiguration to the IMultiplayerServer and adjusted the loginhandler accordingly
2015-05-18 08:40:43 +02:00
Robin Kanters
4206f2d005
Fixed code issues (variable renames and such)
2015-05-08 21:56:08 +02:00
Robin Kanters
2b09ca5ce0
buttload of capitalization fixed (uppercase in parameter names)
2015-05-05 22:26:44 +02:00
Drew DeVault
4cbf9e714c
Cleanly shut down on SIGTERM
2015-04-26 18:39:37 -06:00
Drew DeVault
e5a1ee3439
Implement crafting from the inventory window
...
This does not include all recipes in the game, and there is no support
for crafting benches yet.
2015-02-07 15:51:38 -07:00
Drew DeVault
079f8b9188
Flesh out EntityManager to sync entities w/clients
...
This makes sure that you get new entities as you move to chunks that
have them, and that entities are despawned as you move further away from
them.
2015-02-01 21:43:25 -07:00
Drew DeVault
eda5dd2f82
Implement bed placement and supported blocks
2015-02-01 18:53:10 -07:00
Drew DeVault
4df341e7d6
Add item repository and leaves logic
2015-02-01 14:59:02 -07:00
Drew DeVault
8feefbbbbf
Implement entity physics and item drops
2015-02-01 10:38:55 -07:00
Drew DeVault
61bd2d32d3
Add block repository support code
2015-01-26 16:40:32 -07:00
Daniel Vidmar
7e608db385
Removed command event code
2015-01-23 15:23:46 -05:00
Daniel Vidmar
1d48d01648
New Command System
...
- Added a new command system
- Added a help command
- Added a command event
2015-01-23 04:03:28 -05:00
Drew DeVault
c2b7e4b065
Add PlayerJoined event
2015-01-01 19:49:53 -07:00
Drew DeVault
c623bb68a5
Add event handler for chat messages
2014-12-28 19:18:13 -07:00
Drew DeVault
4d3d5ee8e0
Send initial slew of chunks to connected clients
2014-12-27 18:19:42 -07:00
Drew DeVault
05e132850c
Implement scheduled events
2014-12-27 18:19:41 -07:00
Drew DeVault
427329f06c
Add worlds and logging to server
2014-12-27 18:19:41 -07:00
Drew DeVault
e26e31f432
Initial commit
2014-12-27 00:21:19 -07:00