45 Commits

Author SHA1 Message Date
Drew DeVault
f2ab1c0598 Implement A* pathfinding and relevant tests 2015-07-02 17:05:44 -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
2d84695157 Add ChunkLoaded event to world 2015-07-01 10:37:14 -06:00
Drew DeVault
aa144a28ea Upgrade to .NET 4.5 2015-06-27 17:57:33 -06:00
Drew DeVault
61310e6bbb Improve tool effectiveness subsystem 2015-06-26 17:56:07 -06:00
Drew DeVault
b2ae41b87c Initial implementation of lighting 2015-06-26 16:27:13 -06:00
Drew DeVault
e3aee2f991 Partially implement chests 2015-06-22 11:34:29 -04:00
Mitchell Kutchuk
4225124546 Implement asynchronous sockets 2015-06-20 19:43:28 -07:00
William Moorehouse
56ac35352c Added more functionality to FontRenderer 2015-06-13 15:46:29 -04:00
Drew DeVault
2dd423ab11 Implement singleplayer 2015-06-02 20:31:43 -06:00
Robin Kanters
f79f7e36b0 Disable .pdb generation for Release builds 2015-05-21 23:09:17 +02:00
Robin Kanters
c62b9cd079 Moved config loading to parent class of Serverconfig and Accessconfig 2015-05-18 08:40:48 +02:00
Robin Kanters
7d16f0d835 Removed some unused code 2015-05-18 08:40:47 +02:00
Robin Kanters
b7aa5f22df Removed old black/whitelist implementations and laid groundwork for new implementation 2015-05-18 08:40:43 +02:00
Robin Kanters
c3f55df77a Added ability to black/whitelist usernames. If blacklisted, they cannot log in to the server 2015-05-18 08:40:41 +02:00
Drew DeVault
3b542d9be0 Initial commit of TrueCraft.Launcher 2015-05-16 11:39:34 -06:00
Drew DeVault
47733bb5fb Create TrueCraft.Client.Linux
At some point I'll work on other platforms.
2015-05-12 17:31:22 -06:00
Daniel Vidmar
2100e8c4ab Terrain Decorations & some fixes
- Decorations are terrain features such as trees & dungeons
- cleaned up the code for chunk decorators, and tree & dungeon
generation
- monster spawner blocks now have no drop
- when a block is set to air its metadata value is now reset to 0x0
2015-03-01 00:24:29 -05:00
Daniel Vidmar
6811ed551c Fixed issues created from bad merge during rebase 2015-02-21 13:25:44 -05:00
Daniel Vidmar
9fa3286ea0 Terrain Generation 2015-02-21 02:42:03 -05:00
Daniel Vidmar
b83ee8383d New terrain generator 2015-02-21 02:37:13 -05:00
Drew DeVault
f687a22531 Implement all crafting recipes (except for wool)
Because I am really, really out of patience
2015-02-08 00:05:00 -07: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
Cuber
e940734b1b Expand vectors structs, separate Coordinates into diff files 2015-02-07 19:56:04 +02: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
c0585fc714 Implement mining via block providers 2015-01-26 17:05:26 -07:00
Drew DeVault
61bd2d32d3 Add block repository support code 2015-01-26 16:40:32 -07:00
Daniel Vidmar
90923522bc Added items 2015-01-26 16:25:11 -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
99775ef54e Implement block placement properly 2014-12-28 20:13:23 -07:00
Drew DeVault
c623bb68a5 Add event handler for chat messages 2014-12-28 19:18:13 -07:00
Drew DeVault
152c268fbd Add player chat 2014-12-28 19:04:42 -07:00
Drew DeVault
2b7d721326 Add block provider interfaces 2014-12-28 15:38:58 -07:00
Drew DeVault
f02dcd9004 TrueCraft-ify the Craft.Net window implementation 2014-12-28 12:03:54 -07:00
Drew DeVault
a3b8dabc32 Pull in Craft.Net window management
Windows are handled somewhat differently in beta 1.7.3, so this may
eventually have to change a bit.
2014-12-28 11:48:20 -07:00
Drew DeVault
fac5d28935 Implement simple server-side digging logic 2014-12-28 11:17:14 -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
96ecbc708c Adapt Craft.Net.Anvil for world support 2014-12-27 12:34:55 -07:00
Drew DeVault
e26e31f432 Initial commit 2014-12-27 00:21:19 -07:00