| Commit message (Collapse) | Author | Files | Lines |
|
For redstone wire, block area bindings, and fire simulator.
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
|
|
|
|
|
|
|
|
|
|
* Fixed diagonal redstone powering
* Transparent blocks don't transmit downwards
|
|
* Fixes #5336
|
|
|
|
* Alpha-sort cChestEntity
* Chests: use SendUpdateBlockEntity
* Pathfinder: fix out of range Y
* 1.13: correct weather packet ID
* Chests: fix neighbour scanner
+ Add OnAddToWorld and overload to scan neighbours there, instead of in the constructor/OnUse. This fixes hoppers accessing newly loaded double chests and seeing a null m_Neighbour, thus thinking its a single chest.
* Fix typo in cross coords computation.
* Simplify hopper logic.
* Block entities: ASSERT that type is correct
If you match the block type first before calling DoWithBlockEntity, the corresponding block entity must either be empty or correspond to the block type.
* Chunk: fix some forgotten PendingSendBE cleanup
+ Add cleanup in SetAllData, WriteBlockArea
- Remove RemoveBlockEntity (used once), HasBlockEntity (not used)
* Replace MakeIndex with MakeIndexNoCheck
* Remove extraneous MarkDirty in hopper & chests
|
|
|
|
Yak shave: make more things use cTickTime. Fix a couple of incorrect modulo-on-millisecond-value by making them use WorldTickAge.
|
|
|
|
+ DoWith calls now broadcast the block entity and mark the chunk dirty
+ Add block entity change queue to synchronise BE updates with block updates
* Fixed a few incorrect assertions about BE type
- Remove manual overloads
|
|
* Rename ChunkData Creatable test
* Add missing Y-check in RedstoneWireHandler
* Remove ChunkDef.h dependency in Scoreboard
* Prepare ChunkData for BlockState storage
+ Split chunk block, meta, block & sky light storage
+ Load the height map from disk
- Reduce duplicated code in ChunkData
- Remove saving MCSBiomes, there aren't any
- Remove the allocation pool, ref #4315, #3864
* fixed build
* fixed test
* fixed the debug compile
Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
|
|
|
|
|
|
|
|
Daylight Sensors are already always ticked.
|
|
+ Add type-safe container for states
* Split registry Blocks into BlockTypes, BlockStates so the block types enumeration can be #included without too much penalty
* Ensure Registry uses type-safe container
|
|
* Fixes #4918
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
|
|
* Turn off global-constructors warning. These are needed to implement cRoot signal handler functionality
* Add Clang flags based on version lookup instead of a compile test. The CMake config process is single threaded and slow enough already
* Reduced GetStackValue verbosity
+ Clarify EnchantmentLevel, StayCount, AlwaysTicked, ViewDistance signedness
+ Give SettingsRepositoryInterface a move constructor to simplify main.cpp code
- Remove do {} while (false) construction in redstone handler
|
|
* Fix cmake not adding Werror on clang, and _lots_ of warnings
* WIP: Build fixes
* Cannot make intermediate blockhandler instance
* Tiger's changes
* Fix BitIndex check
* Handle invalid NextState values in cMultiVersionProtocol
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
|
|
* Fixed upper half ignoring its updates
* Fixes #4945
* Fixed doors playing sound effects when they didn't actually toggle
|
|
|
|
* TNT: Implement tracing algorithm
+ Add intensity tracing
* Fix iterating over all players to SendExplosion, even those not in range
* Implemented TNT entity interaction
* Fixed misaligned destruction tracing
* Finalise TNT algorithm
- Remove BlockArea and just use chunks
Using SetBlock makes it so that we can update everything properly, and does appear to be faster.
* BlockInfo learns about explosion attentuation
* Rename Explodinator parameters
* TNT: pull block destruction into common function
Co-authored-by: Alexander Harkness <me@bearbin.net>
|
|
|
|
|
|
* We no longer need to track the powering block with the removal of SolidBlockHandler. PowerLevel is now just an unsigned char
|
|
|
|
- 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
|
|
* Have the simulator manager get the block and pass it on
+ Add new overload for WakeUp, called when the manager wakes face positions
|
|
+ Pass block, use relatives
* Fixes everything immediately converting abs back to rel and getting block, when these data were already available
|
|
* 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
|
|
* Fixed recursive base unintentionally scheduling the origin position for an update because it called the wrong function
|
|
|
|
* Also fix a return that should've been continue
|
|
|
|
|
|
+ Improved performance, reduces bottleneck in chunkmap lookup
* Stop allocating and throwing away lots of small vectors in Update/GetValidSourcePositions return values
- Remove unused GetPowerLevel virtual
|
|
|
|
+ Add inclusions to Globals.h
* Sort Globals.h
- Remove sys/stat.h from Globals.h
|
|
* Make our CMake slightly less insane
|
|
|
|
|
|
|
|
* Buttons can now be triggered by arrows.
|
|
Co-authored-by: peterbell10 <peterbell10@live.co.uk>
|
|
Co-authored-by: peterbell10 <peterbell10@live.co.uk>
|
|
|
|
|
|
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
|
|
|
|
|
|
+ Provisional handling for observers
|
|
|
|
+ Added sounds on depress and release
+ Added correct delay times
|
|
|
|
* Lock hopper when powered by redstone
* Add to manual bindings
* Add hopper API documentation
Co-authored-by: Mat <mail@mathias.is>
|
|
* TNT position fixes
* Don't add offset to explosion spawn coords
* Don't make other entities push TNT
* Correct initial TNT speed
* Fix typo
* Improvements
* Revert unwanted change
* Style fixes
* Update format
|
|
|
|
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.
|
|
Ref: https://github.com/cuberite/cuberite/pull/4264#discussion_r204769193
|
|
Add check for number of empty lines between functions and fix the corresponding failures
|
|
* Fixes #3198
* Fixes #57 (again lol)
|
|
* Replaces AppendVPrintf with fmt::sprintf
* fmt::ArgList now used as a type safe alternative to varargs.
* Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu.
* Adds FLOG functions to log with fmt's native formatting style.
|
|
|
|
* Made BroadcastSoundEffect take vector parameters.
* Added docs for new vectored methods
* Removed old code
* Fixed lua warnings
* Made old BroadcastSoundEffect not an override.
* m_Block to m_BlockPos, used Vector3d constructor where prettier.
* a_Block to a_BlockPos
* Changed thunderbolt a_Block to a_BlockPos
|
|
|
|
|
|
|
|
This reverts commit 496c337cdfa593654018c171f6a74c28272265b5.
|
|
|
|
|
|
|
|
|
|
|
|
- Added override keyword
- Removed inherited member variables
|
|
This commit fixes an issue where a pressureplate would only open oak fence gates
|
|
|
|
The handler would get called for any BlockEntity, but not every BlockEntity is a BlockEntityWithItems. Downcasting with static_cast is UB on fail.
|
|
* Comparators and pistons no longer update instantly
* Fixes #3168.
* Consolidated comparator code
* As a result, fixed an issue where GetPowerLevel didn't consider block
entities behind it (only GetFrontPowerLevel did)
|
|
|
|
* As a result, fixed an issue where GetPowerLevel didn't consider block
entities behind it (only GetFrontPowerLevel did)
|
|
* Fixes #3168.
|
|
|
|
|
|
- Fixes a range check inside cIncrementalRedstoneSimulator::Simulate
|
|
* Don't let redstone blocks power adjacent blocks.
This fixes issue #2966
|
|
* Improvements to performance? Maybe. Can't hurt (he says).
|
|
When a new block was placed that has a corresponding RedstoneHandler the PowerData for the position was cached, but never deleted and remained unchanged when the block got destroyed. The RedstoneSimulator now erases all cached PowerData for positions where the block doesn't have a RedstoneHandler (i.e. Air).
|
|
|
|
|
|
Also upgraded the user setting file for MSVC to 2013.
|
|
|
|
|
|
|
|
|
|
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan!
* Uses classes and inheritance now
* Speed should be improved
|