| Commit message (Collapse) | Author | Files | Lines |
|
|
|
- Remove cSolidBlockHandler
* Functionality now integrated into simulator dispatcher
* Fix door double open/close issues, arisen due to the top/bottom halves getting different power
+ Small migration to block states for redstone wire
|
|
* WakeUp is for singular changes (block breaking for example). The simulator should check blocks around the position and discover other affected blocks as it sees fit
* AddBlock is for when you know a whole area is to be updated; chunk loading, or area wakeups for example
+ Prepares for correct handling of destroyed blocks after removal of SolidBlockHandler in the redstone simulator
|
|
|
|
Closes #4236
CMake now creates a header file in the build directory under the path "include/Globals.h" which just includes "src/Globals.h" with an absolute path. Then instead of adding "src/" to the include directories, it adds "include/".
#include "Globals.h" still works by including the build generated file and any other src-relative path will not work.
|
|
|
|
|
|
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan!
* Uses classes and inheritance now
* Speed should be improved
|
|
|
|
|
|
|
|
|
|
THis wil hopefully allow for unit testing
|
|
|
|
Also added a "noop" redstone simulator that does the same as the fluid version.
|
|
|
|
|
|
|
|
Doors wouldn't get powered by repeaters, and some blocks, like glass,
were viable middle blocks when they shouldn't have been.
|
|
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
|
|
|
|
|
|
|
|
|
|
Also added basic daylight sensors, though because GetBlockSkylight
always is 15, it doesn't work.
|
|
Repeaters remain queued to power even if their original source has since
unpowered. Also functionised and cleaned up code.
|
|
Game of Thrones music in Minecraft, here I come!
|
|
+ Wires now power blocks around the block beneath
* Torches no longer power off if it is on a linked powered block
* Enhanced code, split functions, etc.
|
|
Also an excuse to update submodules
|
|
They DO sometimes get stuck though :P
|
|
The redstone simulator kept on resetting them.
|
|
This fixes #60.
|
|
Also updated redstone simulator to support it
|
|
|
|
+ Added lever location checking
* Fixed button location checking
* Fixed button pressing/unpressing
* Fixed repeaters updating
* Minor enhancements
|
|
* Fixed compilation on VC2013
* Fixed redstone self powering - still one more scenario to go
+ Redstone now powers block beneath
* Improved code: functionized stuff, and reduced unneeded GetBlockMetas;
also utilised direct chunk access, as recommended by xoft
+ Added torches powering blocks above it
* Fixed repeaters getting power when they shouldn't
- Stopped wires getting power from another wire through a block, which
could lead to wire-powering loops (vanilla behaviour)
|
|
+ Updated BlockID - look for yourself
* Improved button, repeater, lever, and comparator code ->
simplification and splitting of some stuff from the redstone simulator
file
* Fixed buttons not breaking when in an invalid game state
* Fixed QueueSetBlock -> improved (AGAIN) piston code
+ Rewrote redstone simulator
Fixes: #57, #58, #205, and part of #131.
Fixes FS issues: 281, 116, and 102
|
|
Added a common ancestor class "DropSpenser" that has the common code for dropper and dispenser and is Lua-accessible, too. The Debuggers plugin now triggers both droppers and dispensers when rclking them with a redstone torch.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1514 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
Also changed cEntity rotation datatype to double
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1262 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1228 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1227 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1105 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1076 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
http://forum.mc-server.org/showthread.php?tid=649
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1075 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
Moved all simulators into a subfolder.
Replaced cWaterSimulator and cLavaSimulator with a generic cFluidSimulator.
Moved original fluid simulation into cClassicFluidSimulator.
Fluid simulator parameters (MaxHeight, Falloff) are read from the world.ini file (can have nether-like lava with lower falloff)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@956 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@937 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
Also slightly refactored the variable / argument names (BlockID is deprecated, use BlockType instead)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@921 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
Implemented the PACKET_SPAWN_OBJECT packet
Made some things use BLOCKTYPE instead of char
Android: Requests WebAdmin port when pressing the configure button
git-svn-id: http://mc-server.googlecode.com/svn/trunk@915 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@374 0a769ca7-a7f5-676a-18bf-c427514a06d6
|
|
git-svn-id: http://mc-server.googlecode.com/svn/trunk@345 0a769ca7-a7f5-676a-18bf-c427514a06d6
|