Drew DeVault
fa8c4a6877
Enforce digging time and damage items when used
...
Closes #11
Partially addresses #12
2015-07-01 15:22:27 -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
994de4de70
Refactor light propegation RE: dextar0's comments
2015-07-01 11:26:43 -06:00
Drew DeVault
b118b73c80
Track opacity-based height maps in WorldLighter
2015-07-01 10:53:46 -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
9d1f5377ef
Drop different items based on tool used to mine
...
For example, mining stone with your hand now drops nothing, and mining
leaves with shears will drop the leaves.
2015-06-26 17:15:51 -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
Drew DeVault
b2ae41b87c
Initial implementation of lighting
2015-06-26 16:27:13 -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
Drew DeVault
2dd80cdd0d
Implement IDisposable on Window/WindowArea
2015-06-23 15:40:52 -06:00
Drew DeVault
e3aee2f991
Partially implement chests
2015-06-22 11:34:29 -04: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
939a6dc79c
Render snow variation of grass blocks
...
This also increases the average rainfall everywhere so that fucking
deserts are less common
2015-06-20 11:01:07 -04:00
William Moorehouse
56ac35352c
Added more functionality to FontRenderer
2015-06-13 15:46:29 -04:00
William Moorehouse
d31435751d
Changed comment delimiter
2015-06-11 23:34:41 -04:00
William Moorehouse
07d407389d
Reverted moving license info
2015-06-11 23:30:56 -04:00
William Moorehouse
fae1cd6c67
Added XML comments to most types/fields/methods in the TrueCraft.API namespace
2015-06-11 23:06:00 -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
7cd6c1ffe5
Only using username for checking access
2015-05-18 08:40:49 +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
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
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
bd132b0d6f
Fix client bugs preventing use on vanilla servers
2015-05-17 16:18:09 -06:00
Drew DeVault
3b542d9be0
Initial commit of TrueCraft.Launcher
2015-05-16 11:39:34 -06:00
Drew DeVault
742c92b782
Add snowfall rendering
2015-05-15 15:12:36 -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
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
805320ce8f
Implement caves
...
This:
- Implements caves with 3D noise
- Moves periodic chunk updates to the thread pool
- Fixes a handful of small bugs
2015-05-03 19:49:43 -06:00
Drew DeVault
e5207c6dec
Add support for signs
2015-05-03 16:02:47 -06:00
Drew DeVault
4cbf9e714c
Cleanly shut down on SIGTERM
2015-04-26 18:39:37 -06:00
Drew DeVault
6517738949
Improve terrain generation
...
- Enforced coding style
- Improved perlin constants
- Improved biome constants
- Spawn plants before trees so plants may grow underneath
- Fixed areas that were not deterministic
2015-04-26 18:08:56 -06:00
Drew DeVault
52241a5ea3
Fix falling sand entities
2015-04-20 14:26:15 -06:00
Drew DeVault
74849b0b56
Implement player persistence
...
This saves your health, inventory, position, and look values.
2015-04-18 17:11:09 -06:00
Drew DeVault
65deecd131
Add world manifests
...
These include the spawn point, seed, and terrain generator so that you
can load saved worlds with all the right details.
2015-04-13 17:41:57 -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
30392fae69
Final terrain generation PR fixes
2015-02-24 20:30:28 -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
4012432a0e
Implement door blocks
2015-02-11 22:06:59 -07:00
Drew DeVault
4f66305ad9
Partially implement sand, fully implement stairs
2015-02-10 23:15:48 -07:00
Drew DeVault
4dd99e4e93
Refactor the water block provider
...
This makes the fluid dynamics model much easier to understand and
maintain.
2015-02-10 21:21:24 -07:00