1
0
Commit Graph

116 Commits

Author SHA1 Message Date
andrew
b4bf13aa4f Unified Vector classes 2014-03-11 16:02:25 +02:00
Alexander Harkness
411c4ddd79 Merge pull request #779 from mc-server/tntburnexplode
TNT explodes when consumed by fire
2014-03-10 18:57:12 +00:00
Tiger Wang
b2733fad22 Fixed compile 2014-03-10 18:23:12 +00:00
Tiger Wang
0f412a0a02 Removed uneeded meta obtain 2014-03-09 21:48:18 +00:00
Tiger Wang
09c5542123 Merge pull request #768 from Howaner/BlockEntitys
Add TNT load/save
2014-03-09 21:44:32 +00:00
Tiger Wang
ff186f9735 TNT explodes when consumed by fire
Fixed FS#406
2014-03-09 01:23:55 +00:00
Tycho
307fad0f25 Fixed issues with int vs size_t and a few other warnings 2014-03-08 08:33:38 -08:00
Howaner
527f358510 Merge branch 'master' into BlockEntitys 2014-03-08 12:29:45 +01:00
Howaner
b37966fd21 Change TNT Fuse to ticks 2014-03-08 12:24:33 +01:00
andrew
d86fc1af06 Added some comments 2014-03-07 20:49:40 +02:00
andrew
8808523942 Fixed water/lava interaction 2014-03-07 15:42:03 +02:00
madmaxoft
3e80e63665 Merge remote-tracking branch 'xdot/master' 2014-03-06 13:24:28 +01:00
andrew
1ea17c0a75 Implemented vanilla-like fluid simulator 2014-03-05 15:54:38 +02:00
Mattes D
71ae689eb7 Merge pull request #746 from Howaner/Slabs
Add Trapdoor Functions to cWorld and fix Trapdoor Redstone Bugs
2014-03-03 20:52:08 +01:00
Mattes D
b17d04737d Merge pull request #738 from xdot/master
Refactored global block property arrays
2014-03-02 16:13:43 +01:00
Howaner
e4b2502896 Add Trapdoor Functions to cWorld and fix Trapdoor Redstone Bugs 2014-03-02 16:01:37 +01:00
andrew
d73cdba1f6 g_BlockXXX => cBlockInfo::XXX 2014-03-01 21:34:19 +02:00
Howaner
66c8425041 Fix Double Slabs, fix Slab Meta and add more things to burnable 2014-02-28 15:26:32 +01:00
madmaxoft
ffc4691f48 Removed problematic utf8. 2014-02-20 22:17:01 +01:00
Howaner
337c4e5cd4 Bad UTF-8 o.O 2014-02-20 22:02:14 +01:00
Howaner
d47f421e2d Remove typeinfo import in IncrementalRedstoneSimulator 2014-02-20 21:00:16 +01:00
Howaner
4dd39f8cd6 Add Pressure Plate Sound 2014-02-20 19:21:04 +01:00
Howaner
69961fc4df Add Light weighted pressure plates 2014-02-20 19:07:32 +01:00
Howaner
4b7891f290 Add Hay Bale to Burnable 2014-02-20 17:56:35 +01:00
Tiger Wang
55a6306e2b Fixed a glaring bug with chunk cross-simulating
* A chunk's redstone blocks list is no longer touched if AddBlock was
being called with another chunk's coordinates
* Fixed chunk boundary checks
2014-02-16 00:45:14 +00:00
Tiger Wang
d273cc4142 Added a 'default:' for SimChunk()'s switch 2014-02-15 20:22:51 +00:00
Tiger Wang
c494d0f6f2 A fix and an improvement
* Fixed a special case with the wrong ChunkX/Z values being used to
calculate a relative position
* Simplified data structure adding and removing operations (no more
pointers!)
- Removed one character of whitespace :D
2014-02-15 19:56:45 +00:00
Tiger Wang
6eeeb2aa01 Sizeable speed improvements to redstone
+ Moved all simulator data into individual chunks
* Cleaned up parameters for functions and some code
* Fixed repeaters powering off faster than they power on

The main issue before was that, although the redstone simulator stored
blocks to be simulated in individual cChunks, other data, such as
powered lists, and etcetera, were global regardless of which chunk was
being simulated. Therefore, with worlds with lots of redstone, each tick
saw the ticking of chunks, which themselves iterated through the entire
dataset needlessly, creating LOTS of lag. Should be better now :)
2014-02-15 15:51:49 +00:00
Howaner
70a0dcb1eb Add more Sounds to Redstone Simulator 2014-02-15 16:30:28 +01:00
Howaner
87e79de4b7 Add Fence Gate to Redstone Simulator 2014-02-15 16:30:27 +01:00
Tiger Wang
a0a44b969e Improved pressure plates
+ Two (or more) pressure plates can be triggered at the same time
* Fixed issues caused by pressure plates not being in the sources list
2014-02-11 23:13:49 +00:00
STRWarrior
3a897844a0 Renamed cRedstoneManager to cRedstoneSimulator and renamed cRedstoneSimulator to cIncrementalRedstoneSimulator (Might change later). 2014-02-07 22:59:08 +01:00
STRWarrior
09a23fa114 Fixed some end of lines 2014-02-07 22:25:15 +01:00
STRWarrior
176664810b Implemented an easy way of adding new redstone simulators.
Also added a "noop" redstone simulator that does the same as the fluid version.
2014-02-07 22:13:55 +01:00
Tycho
8ba6f73169 Fixed most of the reordering warnings 2014-02-05 09:43:49 -08:00
Tycho
8464f689ea Improved Type safety of eBlockFace
May Fix #640
2014-02-04 10:59:05 -08:00
Tycho
f8881622a4 Removed unused lookups 2014-02-03 12:31:18 -08:00
Mattes D
b090547c17 Merge pull request #602 from mc-server/improvementsandfixes
Redstone crash fix and current console line replace function
2014-02-02 22:02:25 -08:00
Tycho
b82fc394dd Changed Signiture of OnUpdate 2014-02-02 06:49:37 -08:00
Tiger Wang
b0784d1931 Split cCoord template into one and two data types 2014-02-01 21:40:02 +00:00
Tycho
c6304b2b4f Changed pointers to references 2014-02-01 05:06:32 -08:00
Tycho
25ec7750aa Changed signitures of Several BLockHandler Methods
Changed the signitures of the following to use interfaces:
GetPlacementBlockTypeMeta
OnPlaced
OnPlacedByPlayer
OnDestroyed
OnNeighbourChanged
NeighbourChanged
OnUse
CanBeAt
Check
2014-01-31 15:17:41 -08:00
Tiger Wang
ed7816419d Fixed redstone simulator crash found in #570 2014-01-29 19:19:14 +00:00
andrew
9a9b51a513 Basic command block implementation 2014-01-18 15:16:47 +02:00
Tiger Wang
1d81db6446 Fixed wire, rail, and pressure plate unpowering 2014-01-12 23:19:08 +00:00
Tiger Wang
318c353ee4 Fixed rails powering 2014-01-11 21:32:42 +00:00
Tiger Wang
ff57381631 Did some stuff with the vectors 2014-01-11 14:26:18 +00:00
Tiger Wang
6b25ef4fa3 Fixed a door bug and reduced code
Doors wouldn't get powered by repeaters, and some blocks, like glass,
were viable middle blocks when they shouldn't have been.
2014-01-11 01:52:14 +00:00
Tiger Wang
d5b38402ed Fixed doors, fixes #453 2014-01-10 21:35:41 +00:00
Tiger Wang
e7fba08e6c Major refactoring of redstone
This commit is a refactoring of the redstone code, mainly the functions
handling the removal of invalid blocks from power supplier data
structures. Its aim is to improve performance and potentially reduce the
memory footprint of the data structures.

It works to reduce the amount of GetBlock()s triggered every tick.
Before, a GetBlock() was requested for every single item in the data
lists, as well as for every single redstone block in a chunk. Following
these changes, the AddBlock() event is utilised more effectively to only
update the lists when needed (a block is changed), as well as to insert
the block type (and update it when needed) alongside the coordinates
into the main redstone simulator chunkdata list.

In short, a single GetBlock() is now cached, with this cache being
updated when the simulator is awoken due to a block change.

At least, I *hope* that this is what it does :P
2014-01-10 20:31:05 +00:00