187 Commits

Author SHA1 Message Date
Drew DeVault
bbc405f902 Prevent blocks from being placed inside entities
Fixes #78
2015-07-01 15:59:23 -06:00
Drew DeVault
59740846b7 Add bounding box for torches (null) 2015-07-01 15:53:14 -06:00
Drew DeVault
ed32e479d7 Implement remaining orientable blocks 2015-07-01 15:36:52 -06:00
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
63d1e8411f Fix merging and enumerable issues 2015-07-01 11:45:29 -06:00
Drew DeVault
329818b534 Revert "Merge pull request #171 from manio143/ConsoleLogLines"
This reverts commit f2fc89191feaf955dea3cf995dd54616efe1203e, reversing
changes made to aa144a28ead9ec6cd7204bbdd67b38db2cb6c524.
2015-07-01 11:32:03 -06:00
Drew DeVault
328420fcdb WorldLighter -> WorldLighting 2015-07-01 11:30:54 -06:00
Drew DeVault
994de4de70 Refactor light propegation RE: dextar0's comments 2015-07-01 11:26:43 -06:00
Drew DeVault
d0ab60cd89 Propegate light from Y = 128 -> 0
Also fixes a bug with ChunkEnumerator
2015-07-01 11:09:06 -06:00
Drew DeVault
13ef861112 Recalculate height map as world changes 2015-07-01 10:56:19 -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
Marian Dziubiak
e2402d8e21 ConsoleLog multiline - fixes 2015-06-28 08:07:41 +02:00
manio143
575a739095 ConsoleLog outputs long text in multiple lines 2015-06-28 08:07:40 +02:00
Drew DeVault
aa144a28ea Upgrade to .NET 4.5 2015-06-27 17:57:33 -06:00
Drew DeVault
edf7205050 Fix propegation of light through leaves/etc 2015-06-26 19:22:07 -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
0542b5eb62 Fix bug with generate: false 2015-06-26 17:00:39 -06:00
Drew DeVault
f89381aa6f Fix bugs in sky light calculation 2015-06-26 16:50:52 -06:00
Drew DeVault
b2ae41b87c Initial implementation of lighting 2015-06-26 16:27:13 -06:00
Drew DeVault
df4ed8ce9f Add sapling renderer and more debug commands 2015-06-23 15:40:52 -06:00
Drew DeVault
2dd80cdd0d Implement IDisposable on Window/WindowArea 2015-06-23 15:40:52 -06:00
William Moorehouse
d295e65849 Fixed loss of items when placing on invalid support block 2015-06-22 19:39:08 -04:00
William Moorehouse
0f872459b2 Implemented cactus support logic 2015-06-22 19:26:53 -04:00
William Moorehouse
50c7e021a7 Added rendering support for moist farmland 2015-06-22 18:34:34 -04:00
Drew DeVault
025dc3770e Generate empty chunks in client 2015-06-22 11:34:30 -04:00
Drew DeVault
20e0aee572 Make chests drop inventory when mined
This also fixes a bug where a chest, when removed and replaced, would
have the same inventory. Also adds validation on update sign packets to
make sure it is indeed a sign they are updating.
2015-06-22 11:34:30 -04:00
Drew DeVault
81acdf103a Refactor chest code, implement storage persistence 2015-06-22 11:34:30 -04:00
William Moorehouse
3a05352fc9 Renamed StoneSlabBlock to SlabBlock 2015-06-22 11:34:30 -04:00
Drew DeVault
e3aee2f991 Partially implement chests 2015-06-22 11:34:29 -04:00
Mitchell Kutchuk
e086066d9f Style convention fixes 2015-06-22 08:22:36 -07:00
Mitchell Kutchuk
c413c8b325 Undo throw exception if manifest file doesn't exist 2015-06-20 20:15:32 -07:00
Mitchell Kutchuk
2dd36b28ec Fix merge conflict 2015-06-20 19:44:58 -07:00
Mitchell Kutchuk
4225124546 Implement asynchronous sockets 2015-06-20 19:43:28 -07:00
Drew DeVault
8697994737 Add wheat and farmland renderers 2015-06-20 13:56:57 -04: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
Drew DeVault
12a5483d3b Add vegitation renderer
This replaces TallGrassRenderer and adds support for flowers.

This should be used going forward for any plants that can be rendered as
an x-quad.
2015-06-19 11:53:08 -04:00
Drew DeVault
e7fd0c5cd2 Change how LastAccessed is used with chunks 2015-06-18 19:13:41 -04:00
Drew DeVault
bebaed2b5b Load MonoGame.Framework manually at runtime
This lets us have one build that will in theory work on Windows and
Linux.
2015-06-18 12:23:27 -04:00
William Moorehouse
d5224f72c9 Added more resolution options and fullscreen support 2015-06-17 15:03:06 -04:00
William Moorehouse
9ad14273a4 Changed resolution setting to a dropdown 2015-06-17 14:23:46 -04:00
William Moorehouse
5c3c035019 Fixes for client crashing when not run through the launcher 2015-06-17 13:24:39 -04:00
William Moorehouse
9538d1321a Added support for changing preferred resolution 2015-06-17 10:02:06 -04:00
William Moorehouse
1e0827a93e Fixed an issue where Windows-style newlines at the end of pack.txt would cause display issues 2015-06-17 09:22:29 -04:00
William Moorehouse
a7d394ef19 Fixed exception in client when settings.json managed to refer to a non-existent or corrupt .zip 2015-06-17 09:17:26 -04:00
William Moorehouse
f15744b7a2 Finished cleaning up texture pack code 2015-06-17 09:10:42 -04:00
William Moorehouse
2ae26f1519 More fixes 2015-06-16 22:17:30 -06:00
William Moorehouse
3c2bb1a225 Fixed known issues with texture pack loading 2015-06-16 22:17:30 -06:00