110 Commits

Author SHA1 Message Date
Drew DeVault
68f53787fc ItemStack.Empty -> ItemStack.EmptyStack 2016-03-20 14:12:57 -04:00
Peroalane
e476546bd0 Another fix. 2016-03-20 18:56:10 +01:00
Peroalane
c1c9832fb1 Fixes 2016-03-20 18:52:25 +01:00
Peroalane
66cc475d9f Fix grass seed drop 2016-03-20 18:40:59 +01:00
Drew DeVault
1750eb60d6 Add interactive bounding box to sugarcane, torches
Note that torches have a different bounding box depending on their
metadata, which is not currently supported by the block model.
2016-01-03 12:06:02 -05:00
Drew DeVault
42f682ac1c Drop items when you exit a crafting bench
Fixes #26
2015-10-07 07:21:12 -04:00
Drew DeVault
2395c535b8 Fix build 2015-10-06 07:48:49 -04:00
Drew DeVault
b0624e26b3 Add full list of burnable and smeltable items 2015-10-06 07:28:00 -04:00
Drew DeVault
de880f2f8c Merge branch 'client-audio' 2015-10-05 22:08:25 -04:00
Drew DeVault
a361703746 Implement walking sounds
These sounds change depending on what kind of block you're walking in.

Still to come: sound effects for mining and placing blocks
2015-10-05 22:06:59 -04:00
Drew DeVault
d4ccb22e4f Reinitialize furnaces when loaded from disk 2015-10-05 08:44:54 -04:00
Drew DeVault
98b15c3434 Fix minor bug with fuel consumption from furnaces 2015-10-05 08:36:32 -04:00
Drew DeVault
05cffcf631 Finish implementing furnaces (server side)
That is, it works with the Minecraft client, but not with the TrueCraft
client.
2015-10-05 08:35:28 -04:00
Drew DeVault
11489e7f95 Partially implement furnace blocks 2015-10-04 15:46:43 -04:00
Drew DeVault
cc1eccae02 Fix issues with metadata from mined wood and wool 2015-10-03 09:51:52 -04:00
Drew DeVault
ed85da313f Fix remaining issues with snowfall blocks
Fixes #194
2015-10-02 08:22:58 -04:00
Drew DeVault
14aa3ce07a Add "InteractiveBoundingBox" to IBlockProvider
This is used to determine the bounding box for interaction in the client
(the ray that's cast from your camera interacts with it to determine the
highlighted block).

TODO: Make it work better with metadata.

This commit also fixes one of the issues with snow: ref #194
2015-10-02 08:15:29 -04:00
Drew DeVault
b0c41ffdcc Reduce the max grow time for cactus 2015-09-30 07:36:03 -04:00
Stian Furu Øverbye
dbfd70ba55 Oops! 2015-09-08 14:59:43 +02:00
Drew DeVault
6969964b18 Implement FIRE 2015-09-07 19:14:12 -04:00
Stian Furu Øverbye
f349487ee4 Added cactus growth 2015-09-07 23:42:13 +02:00
Drew DeVault
79e95e2083 Improve performance, fix grass issue 2015-09-07 17:25:14 -04:00
Drew DeVault
988d2077a2 Refine profiler, improve fluid performance
The fluid improvements reduce the number of scheduled updates queued
during terrain generation (they are not really very necessary).
2015-09-07 16:22:20 -04:00
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
483cc7b763 Finish grass growth implementation 2015-07-16 05:54:35 -06:00
Drew DeVault
f7bd7a109d Optimize event scheduling when loading chunks 2015-07-07 00:49:54 -06:00
Drew DeVault
d27882cdec Add grass growth 2015-07-06 21:07:40 -06:00
Drew DeVault
940b2217c1 Add mechanism for scheduling updates on chunk load 2015-07-06 20:41:25 -06:00
Drew DeVault
18eb5e34d5 Fix build error 2015-07-04 17:28:17 -06:00
Drew DeVault
e127cadbd9 Do not consider signs above self as obstructions
...to chests
2015-07-04 16:37:29 -06:00
Drew DeVault
afb15bf218 Allow chest blocks to open into signs 2015-07-04 15:52:08 -06:00
Drew DeVault
8b1930eeac Switch to DateTime.UtcNow for everything 2015-07-02 12:14:55 -06:00
Drew DeVault
bda2e11885 Prevent players from spawning underground
Fixes #76
2015-07-01 16:12:59 -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
994de4de70 Refactor light propegation RE: dextar0's comments 2015-07-01 11:26:43 -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
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
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