Drew DeVault
0c6a973a69
Unify server and client implementations of windows
2015-10-09 07:42:37 -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
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
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
75a39118a9
Add numbers to slots on inventory
2015-09-30 20:03:51 -04:00
Drew DeVault
8a0ad17b00
Add icon texture mappings for all items
2015-09-30 18:29:07 -04:00
Drew DeVault
2eaaf219a8
Fix torch rendering, track the highlighted face
...
The second bit will allow the client to start doing things like placing
blocks.
2015-09-27 21:00:32 -04:00
Drew DeVault
02146108ba
Fix highlighted block, add crosshairs
2015-09-27 17:14:04 -04:00
Drew DeVault
8f2a4e54a9
Add highlighted block model and VoxelCast class
2015-09-24 08:28:16 -04:00
Drew DeVault
15670c3d77
Reduce mouse sensitivity, fix return to launcher
...
The mouse sensitivity is now more Minecrafty by default (will eventualy
want to make this configurable) and the bug where the launcher won't
re-open after exiting singleplayer is fixed.
2015-09-21 08:16:44 -04:00
Drew DeVault
2d0ce96cc0
Avoid rendering unseen blocks at chunk boundaries
2015-09-20 15:49:31 -04:00
Drew DeVault
6969964b18
Implement FIRE
2015-09-07 19:14:12 -04:00
Drew DeVault
79e95e2083
Improve performance, fix grass issue
2015-09-07 17:25:14 -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
yankejustin
cf5d54b9da
Optimize ray intersection calculation
...
Check to make sure the direction is not 0 only once. Also, check to make
sure it is 0 first so we don't unnecessarily calculate if the position
is greater-than or less-than another without purpose.
2015-08-07 13:58:58 -04:00
yankejustin
105b0f57d0
Reduced string concatenation
...
Reduce the amount of string concatenation when converting an ItemStack
to a string.
2015-08-07 13:49:15 -04:00
Drew DeVault
f927f86d43
Raise PathComplete event from IMobEntity
...
...when the current path is completed
2015-07-15 20:25:01 -06:00
Drew DeVault
f7bd7a109d
Optimize event scheduling when loading chunks
2015-07-07 00:49:54 -06:00
Drew DeVault
940b2217c1
Add mechanism for scheduling updates on chunk load
2015-07-06 20:41:25 -06:00
Drew DeVault
ed7a14b871
Rewrite physics engine
...
This time it sucks slightly less
2015-07-06 19:30:51 -06:00
Drew DeVault
87b621e166
Finish lighting optimizations (for now)
...
We can now consistently light a chunk with sub-10ms lighting steps.
2015-07-04 15:00:54 -06:00
Drew DeVault
d00c4ad9f5
Cache chunks during lighting operations
2015-07-04 11:30:43 -06:00
Drew DeVault
8966367ebf
Lay foundation for natural mob spawning
2015-07-03 11:26:41 -06:00
Drew DeVault
7578d5980a
Add mob wandering AI
2015-07-02 22:46:20 -06:00
Drew DeVault
e00cc2fe60
Add initial support for mobs
2015-07-02 22:08:41 -06:00
Drew DeVault
f2ab1c0598
Implement A* pathfinding and relevant tests
2015-07-02 17:05:44 -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
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