summaryrefslogtreecommitdiffstats
path: root/src/BlockEntities (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-04-20Valid Height is now checked by vector.x12xx12x1-1/+1
2022-04-20Updated protocol functions to Vector3xx12xx12x4-4/+4
also added support in included functions
2022-01-14auto > charx12xx12x1-1/+1
2022-01-14Fixed Compiler Warningsx12xx12x2-3/+3
2021-05-03Add player statistics to API (#5193)nshah2510-13/+14
* Fixed issue #5166 Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-04-30Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang5-248/+194
* 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
2021-04-23Repaired Hoppers Treating Chests as two entities (#5202)npresley05063-71/+67
* Repaired Hoppers Treating Chests as two entities * Style changes * style fixes * Fixed style issues, also condensed logic in MoveItemsFromChest * Used m_Neighbour, fixed styling * GetNeighbour not ReturnNeighbour Co-authored-by: npresley <npresley@umich.edu>
2021-04-12Fix sending incorrect date values on world changeTiger Wang6-26/+34
Yak shave: make more things use cTickTime. Fix a couple of incorrect modulo-on-millisecond-value by making them use WorldTickAge.
2021-04-12Added override specifiers to overridden functions.Mattes D1-1/+1
Needed for clang-11 compatibility.
2021-03-28Unify DoWithBlockEntity (#5168)Tiger Wang5-35/+13
+ 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
2021-03-18Mob heads, banners cannot be usedTiger Wang4-53/+59
* Fixed UsedBy returning true, blocking block placement
2021-03-15Adding basic Banner functionality (#4806)12xx124-0/+131
+ Added item and block for banners Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-03-15Properly deprecate more XYZ parameter'd functions (#5147)Tiger Wang2-2/+2
* Fixes #5144
2021-02-20Mark UNREACHABLE with intrinsicsTiger Wang1-1/+0
2021-01-18cChunk: don't inherit from cChunkDef (#5106)Tiger Wang1-2/+2
2021-01-02Fix potential destruction crashes (#5095)Tiger Wang16-225/+221
* Fix potential destruction crashes * Fix destructors accessing destroyted objects * Fix cPlayer not destroying windows (Destroyed never called) * Tentatively fixes #4608, fixes #3236, fixes #3262 - Remove cEntity::Destroyed() and replace with cEntity::OnRemoveFromWorld() * Add missing call to OnRemoveFromWorld
2020-12-30Command Blocks: fix a crashTiger Wang1-3/+3
* Don't store a temporary
2020-12-21Comment and code style fixTiger Wang1-13/+8
+ Add static keyword - Don't capture everything in lambda
2020-11-06Add correct implementation of crops (#4802)0ddlyoko1-38/+41
* [FIX] Add correct implementation of seed drops. > Official percentage of drops has been implemented * Fix C++ conventions * Change "Vals" variable to "m_Vals" * [FIX] Add correct implementation of Carrots, Potatoes, Wheat & Beetroots seed * Add Fortune support with crops Add fortune support with Wheat, Carrots, Potatoes & Beetroots seeds * [FIX] Right-clicking on a grown Beetroot in survival consume 2 bone meals Fix #4805 * Add documentation for "cWorld::IsFullGrownPlantAt" method * Fix dispenser that full grown a plant > Change methods cItemDyeHandler::FertilizePlant & cItemDyeHandler::growPlantsAround to static * Display particle even if tree doesn't grow * When right-clicking on a full grown melon / pumpkin seed, no longer produce a melon / pumpkin Before this commit, when you right-click on a melon or a pumpkin seed, a melon / pumpkin block spawned. With this commit, it no longer spawns * [FIX] Do not create melon / pumpkin block when right-clicking with a bone meal This fix will prevent the creation of a melon / pumpkin block when you right-click with a bone meal on a melon / pumpkin plant - It just detect if the plant is full grown. if yes, the method "Grow" is not called - Remove IsFullGrownPlant Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-10-24Remove BLOCKENTITY_PROTODEFTiger Wang21-153/+10
2020-10-10Adding more customize options to mob spawners and improving the way to look for surrounding entities (#4955)12xx122-80/+72
* added nearly any customize option * fixed unnecessary diff added comments * removed unnecessary const qualifier * fixed build * changed to ForEachEntityInBox * added docs * updated lua api description * checkstyle * added changes suggested by @peterbell10 And now the player may break the server by setting ridiculous ranges * updated docs changed cast to static cast * fixed clang * fixed clang on WSSAnvil.cpp Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-10-09Beacon now checks for players in surrounding square (#4972)12xx121-21/+14
* Beacon now check for players in surrounding square not every player * added proper BoundingBox Co-authored-by: Alexander Harkness <me@bearbin.net> * one symbol to change everything one symbol to break the whole build Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-10-03Remove SetProperty(...cPlayer)Tiger Wang4-4/+4
Enchantment table, anvil windows are already opened one per-player.
2020-09-27Fixing Mob spawner behaviour (#4930)12xx122-20/+15
* fixed mob spawner failure (whoopsie in the BlockEntity.GetChunkZ()) Style * fixed spawning behaviour * fixed saving entity type saving * checkstyle * removed debug log * removed short saving * Style Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-09-25Do not call into things we don't own in destructorsTiger Wang2-14/+0
- Remove improper accesses in cChunk destructor * Fixes #4894
2020-09-25Deleted BiomeDef.h and ChunkDef.h from Globals.h (#4885)KingCol131-1/+1
* Removed BiomeDef.h * Removed ChunkDef.h from Globals.h * Added to CONTRIBUTORS. * Re-added empty last line to Globals.h * Included stddef and StringUtils in BiomeDef.h * Fixed build tools compiling. It compiles, but at what cost? * Added include to src/Generating/Trees.h * Include added in ChunkGeneratorThread.h * Moved rearranged includes in LineBlockTracer.cpp * Re-arrange headers in ChunkInterface.cpp * Included ChunkDef.h in Path.h * Included ChunkDef.h in NBTChunkSerializer.h * Rearranged included and added required includes to headers. * Removed unnecessary included in StringUtils.h.
2020-09-25BlockEntity: clarify ConvertToPickups behaviourTiger Wang1-1/+1
2020-09-25Unify block entity pickup conversionTiger Wang11-1/+68
- Removed normal BlockHandler knowledge of block entities during conversion + Added cBlockEntity::ConvertToPickups that handles it
2020-09-25Small cleanup in JukeboxesTiger Wang2-13/+18
* Fixed creative players not tracking stats, and the code trying to "place" a record when they used one
2020-09-23Limit fortune level, style fixesTiger Wang1-3/+2
2020-09-21Implement Dropspenser Hook (#4903)KrystilizeNevaDies2-2/+11
* Implement Dropspenser Hook Implemented a hook for dropspensing. HOOK_DROPSPENSE When plugin callback returns true then dropspense is cancelled * Update src/Bindings/PluginManager.h Co-authored-by: peterbell10 <peterbell10@live.co.uk> * Create OnDropSpense.lua * Fix indent * Forgot include Forgot to include the plugin manager. Although now im confused why it was working on my end without including the plugin manager * Update plugins.lua with dropspense * fix typos * haha notepad++ go brr Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-09-20Added end portal and enchanting table block entities12xx126-19/+178
2020-09-05Add more statistic tracking (#4837)12xx1210-1/+35
+ Added possible 1.8 stats + Added stat tracking for 1.8.2 + Added stat tracking for 1.9 + Added the breed cow achievement Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-09-05Use pitch lookup in noteblock block entity (#4826)12xx122-45/+80
- Removed the calculation in the noteblock block entity I did the calculation in python if anyone is interested where the numbers are from Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-09-05Streamline startup sequenceTiger Wang1-1/+1
* Clean up cRoot & main * Move some OS-specifics into OSSupport
2020-08-28Remove redundant DoWithChunkAt in chestsTiger Wang2-12/+6
2020-08-21Remove unused variables in ChestEntity/BlockEntityWithItemsTiger Wang2-4/+0
2020-08-19Add Statistics and Achievements for newer Network standards12xx121-1/+1
2020-08-08Remove the redstone solid block handlerTiger Wang2-8/+2
- 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
2020-08-02Always use relative coordinates in AddBlockTiger Wang3-42/+44
+ Pass block, use relatives * Fixes everything immediately converting abs back to rel and getting block, when these data were already available
2020-08-01Replaced cpp14::make_unique<> with std::make_unique<>.Mattes D1-19/+19
2020-07-26Call BlockEntityWithItems from ChestEntity slot changed handlerTiger Wang2-37/+53
* Small degree of unification for what to do with the current entity * Make sure to do necessary actions for both sides of a double chest
2020-07-19Precompile unordered_map/setTiger Wang1-1/+0
+ Add inclusions to Globals.h * Sort Globals.h - Remove sys/stat.h from Globals.h
2020-05-16Upgrade to C++17 [CMake] (#4717)Tiger Wang1-8/+2
* Make our CMake slightly less insane
2020-05-15Enable some more clang-tidy linter checks (#4738)peterbell103-14/+2
* Avoid inefficient AString -> c_str() -> AString round trip * Avoid redundant string init expressions * Avoid unnecessary return, continue, etc. * Add .clang-format to help with clang-tidy fix-its * Avoid unnecessary passing by value * Avoid unnecessary local copying * Avoid copying in range-for loops * Avoid over-complicated boolean expressions * Some violations missed by my local clang-tidy * Allow unnecessary continue statements * Add brackets * Another expression missed locally * Move BindingsProcessor call into clang-tidy.sh and add space * Fix pushd not found error * Different grouping of CheckBlockInteractionRate
2020-05-09Update submodules (#4727)peterbell101-1/+1
Closes #4708 This updates jsoncpp, mbedtls, TCLAP and SQLiteCpp to their latest stable release. A few additional changes were needed: * jsoncpp deprecated Reader, FastWriter and StyledWriter which I've replaced with some helper functions in JsonUtils.cpp * SQLiteCpp changed how it builds with external sqlite libraries, now expecting them to be installed. The simplest path was to remove sqlite from cuberite's submodule and just use SQLiteCpp's internal version.
2020-04-25Update DispenserEntity.cppLukas Pioch1-1/+1
Removed unneeded cast
2020-04-25Fixed spawning of mobs from dispenserLukas Pioch1-2/+3
2020-04-16Using Super.Mattes D37-59/+59
2020-04-04Block entity for beacon was not created (#4618)Lukas Pioch1-0/+1
2020-04-03Manage block entity lifetime with unique_ptr (#4080)peterbell102-29/+29
2020-04-03Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D6-3/+8
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2020-03-27 Lock hopper when powered by redstone (#4347)Bond-0092-4/+25
* Lock hopper when powered by redstone * Add to manual bindings * Add hopper API documentation Co-authored-by: Mat <mail@mathias.is>
2020-03-23Play sound when brewing is completeMat1-0/+1
2020-03-23Jukebox improvements (#4537)Mat2-4/+23
* Add jukebox block handler Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-03-22Don't remove items twice (#4524)Mat1-1/+1
* Don't remove items twice
2020-03-19Remove leading slash from command block commands (#4502)Mat1-6/+20
2020-03-04Prevent container item duplication (#4476)Mat2-15/+0
2019-10-28Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D3-22/+22
2019-10-04Fixed crash in hopper while pulling items from blockentity above itself (#4412)NiLSPACE1-2/+2
2019-09-29Refactored more of Entities and BlockEntities to use Vector3. (#4403)Mattes D38-399/+420
2019-08-11Wake up redstone simulator on slot changes for blockentities (#4348)Bond-0092-0/+16
Fix #1898 Fix #2194 Fix #3063
2018-09-24Add a formatting function for Vector3 (#4282)peterbell102-7/+7
* Vector3: Add custom fmt compatible formatter. * cLuaState: Add fmt version of ApiParamError * Use vector formatting in manual bindings * Always log vectors with FLOG
2018-08-29Force all headers other than "Globals.h" to be included with relative paths (#4269)peterbell106-9/+6
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.
2018-07-27cWorld: Manually bind deprecated broadcast functions (#4265)peterbell102-3/+3
Ref: https://github.com/cuberite/cuberite/pull/4264#discussion_r204769193
2018-07-26CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell106-12/+4
Add check for number of empty lines between functions and fix the corresponding failures
2018-07-24Broadcast refactor (#4264)peterbell101-4/+2
* Move Broadcast functions from cChunkMap to cBroadcaster - Remove cBroadcastInterface in favour of cBroadcaster. - cChunk: Remove broadcast functions. * resurect broadcast interface * Absorb cBroadcaster into cWorld. Removes the need for forwarding the function calls. * Improve const-correctness * Use Int8 instead of char + Comment `ForClients` functions * Improve comments * Broadcaster: Rename ForClients functions
2018-05-02Prefer static_cast to reinterpret_cast (#4223)peterbell1015-15/+15
* Change reinterpret_cast -> static_cast wherever possible * Remove more unnecessary `const_cast`s. reinterpret_casts should be avoided for the same reason as c-style casts - they don't do any type-checking. reinterpret_cast was mainly being used for down-casting in inheritance hierarchies but static_cast works just as well while also making sure that there is actually an inheritance relationship there.
2018-04-11Smelting Gives Experience (#4094)Alex Sweet2-0/+25
* Smelting Exp Smelting now gives experience * Furnace.txt update Exp rewards are entered in furnace.txt, Reward calculation is now done is the furnaceentity class * furnace.txt update Changed alignment tabs to spaces Included documentation of exp in recipe * Updated StringToFloat changed strtod to strtof * Explicit Float to Int * Reworked Smelting Rewards * No C casts -Adds new function to the api -Sets reward counter to 0 in furnace constructor * Style and exp lock removed -Fixed style mistakes accoring to PR notes -XP isn't locked to a single player anymore * No Smelter API -Removed SetLastSmelter and GetLastSmelter -Fixed comments -Fixed log reward amounts
2018-01-03Add the fmt library (#4065)peterbell101-0/+1
* 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.
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0091-4/+3
2017-10-02Fixed 2 small warnings (#4055)Bond-0092-7/+3
2017-09-25BroadcastBlockBreakAnimation and BroadcastBlockEntity use vectors (#4038)Bond-0095-14/+12
2017-09-19Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)Lane Kolbly2-6/+4
* 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
2017-09-19Removed UTF-8 BOM (#4033)Lukas Pioch2-2/+2
2017-09-14Fix switch warnings (#4013)peterbell102-10/+12
* Fix switch warnings * Fix a variety of -Wswitch and -Wswitch-enum warnings * Remove unneeded -Wno-error flags * Reorganise some eMonsterType switches * Alpha sort eMonsterType cases in WriteMobMetadata and in cNBTChunkSerializer::AddMonsterEntity * List all mob types in protocol 1.12 and NBTChunkSerializer * cStructGenTrees::GetNumTrees: remove switch default * cWSSAnvil::LoadOldMinecartFromNBT: Log unhandled minecart type
2017-09-11Replace ItemCallbacks with lambdas (#3993)peterbell104-107/+43
2017-09-07Changed some int parameters to vector parameters (#3937)Bond-0091-2/+2
2017-09-02Revert "Replace ItemCallbacks with lambdas (#3948)"LogicParrot4-43/+107
This reverts commit 496c337cdfa593654018c171f6a74c28272265b5.
2017-09-01Replace ItemCallbacks with lambdas (#3948)peterbell104-107/+43
2017-08-25Add cUUID class (#3871)peterbell102-9/+14
2017-08-21Award player an achievement when creating a beacon (#3930)Bond-0091-13/+36
2017-08-18cBeaconEntity fix no world crashpeterbell101-1/+4
2017-08-17Sitting cats block enderchests from opening (#3906)Bond-0092-25/+11
2017-08-07Changed entity ownership model to use smart pointersTiger Wang1-2/+2
2017-08-02Removed double includes (#3885)Lukas Pioch1-1/+0
2017-07-12Added basic ocelot behavior (#3829)Bond-0091-2/+29
2017-07-07Added bed entity (#3823)Lukas Pioch4-0/+106
* Added bed entity * Export cBedEntity to lua * Set color of bed through item damage value * Added bed entity to APIDoc * NBT: Added loading and saving * Crafting recipes for the colored beds
2017-06-30Added 1.12 blocks (#3760)Bond-0092-3/+41
2017-06-24cBlockArea supports block entities. (#3795)Mattes D2-3/+56
2017-06-16Fixed missing "override"Mattes D1-1/+1
2017-06-16BlockEntities: Support cloning self.Mattes D37-231/+538
2017-06-13FastRandom rewrite (#3754)peterbell102-7/+7
2017-06-05Fixes problems with windows:Lukas Pioch7-7/+7
- Changed cPlayer:OpenWindow to accept a ref, tolua adds a nil check - Close open lua window in destructor, to avoid dangling pointers
2017-06-03Fixed double chests (#3741)peterbell102-7/+24
Normal and trapped chests next to each other don't open a double chest window. Slot changes in the secondary chest are broadcast. Placing a chest in +x of another updates the original chest's metadata.
2017-05-28Minor cBrewingRecipes cleanup (#3731)peterbell101-4/+4
2017-05-28Double chest window fix (#3735)peterbell102-52/+130
2017-05-28Broadcast mob head changesmathiascode1-0/+5
2017-05-24Exported boatLukas Pioch1-1/+6
- NBT: Added saving / loading of material - Added the material in the item handler of the boat - Drop the correct boat if destroyed - APIDoc: Added desc and functions
2017-05-21Clang 5.0 fixesLukas Pioch7-7/+7
- Added override keyword - Removed inherited member variables
2017-05-21Fixed invisible chests (#3722)Pablo Beltrán3-5/+15
Fixes #3479, #3403, #3696
2017-05-08Corrected brewingstand and added support for fuelLukas Pioch2-19/+66
2017-04-01Added a nullptr check to cEntity::IsA (#3659)Marvin Kopf1-1/+1
Fixes #3603
2017-03-22Fireworks can be fired from a dispenserBond-0091-1/+4
2017-02-15Updated sounds and effect IDs (#3422)mathiascode3-10/+10
2017-02-14Added some blocks and items (#3503)mathiascode1-8/+118
2017-02-05Fixed bindings for cBlockArea:Read and Write. (#3568)Mattes D1-1/+1
The original bindings accepted nil as the World param, causing a crash.
2016-11-18Removed ClientHandle.h dependencies from common headers.Mattes D5-6/+12
2016-08-24Fixed type-casting-related warnings.Mattes D1-2/+1
2016-07-18CMake: Remove needless minimum version specifications.Mattes D1-2/+0
2016-07-18Updated API documentation.Mattes D2-4/+4
2016-06-15- Add a activation flag to droppers and dispensers. Previously droppers and dispensers shot items with every block update.QUSpilPrgm2-4/+4
- Fixes a range check inside cIncrementalRedstoneSimulator::Simulate
2016-06-03Update Dispensers and let them act more like in VanillaQUSpilPrgm2-10/+81
- Added code to make bonemeal, potions, minecarts, XP bottles and boats work inside dispensers - Dispensers are now able to place TNT if the block is transparent but not air - Added return value that indicates the success of pumpkin, melon, sugarcane and cactus growing functions - Changed return value of "GrowRipePlant" so that it actually indicates if the block was able to grow - Fixed "GrowSugarcane" and "GrowCactus" in "GrowRipePlant" so that it only grows them a single block
2016-04-22Reduced unnecessary block updatesLogicParrot2-2/+1
2016-02-19Proper entity destruction in non-ticking chunksLogicParrot1-1/+1
2016-02-05Bulk clearing of whitespaceLogicParrot20-159/+159
2016-01-11Changed the format of the MobHead data to allow MobHeads working on MInecraft 1.8bibo382-11/+56
The NBT format now carries the texture data and transmit it to the client. See: http://minecraft.gamepedia.com/Head#Block_entity Related to #2674
2016-01-01Renamed leftover strings to Cuberite / Server, as needed.Mattes D1-1/+1
Also upgraded the user setting file for MSVC to 2013.
2015-12-18Reorganised the redstone simulatorTiger Wang8-89/+4
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan! * Uses classes and inheritance now * Speed should be improved
2015-12-17Moved variables into scope, removed unused variables and fixed variablesLukas Pioch1-1/+1
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj29-33/+52
2015-11-24Add enum for Sound and Particle EffectsDave Tucker3-10/+12
Fixes #2603 Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2015-11-08Fix memory leakworktycho1-1/+1
Fixes CID 132249
2015-11-03Implemented brewingLukas Pioch4-0/+449
2015-10-26Update Loops required for JsonCPPLukas Pioch1-2/+2
2015-09-17Added CircleCI for stylechecking.Mattes D2-4/+24
This will allow us to remove the stylecheck from Travis builds, making them a bit faster, and having fast style checks
2015-09-02Fixes #2485Tiger Wang1-1/+0
2015-07-31Unified the doxy-comment format.Mattes D9-60/+49
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney2-4/+4
2015-07-16Spawn baby mobshallucino1-1/+1
2015-07-12Fixed DropSpenser sound #2333mmdk951-2/+2
2015-07-07(Ender) Chests are obstructed by opaque blocks.Nounours Heureux2-15/+13
2015-06-17Fixes #2245Tiger Wang1-1/+1
Whoops :/
2015-06-15Fixed overridetycho1-1/+1
This was causing a compile error in clang 3.6
2015-06-10Reinstate "Chunk queue collapsing"Tiger Wang1-0/+1
This reinstates commit f36acb683594daff5af3971dcbe3c3a171628b78 and reverts commit adfbc42c021e1bcfcb355933c0fd784306ce0e18.
2015-06-07Revert "Chunk queue collapsing"worktycho1-1/+0
2015-06-06ComparatorsTiger Wang2-1/+19
2015-06-05Rewrote ChunkSending queue for significantly improved performancetycho1-0/+1
2015-06-03Fixes multiple furnace issues, including from loading world storageHaoTNN2-14/+37
2015-05-28Fix commentstycho2-6/+9
2015-05-24Made -Weverything an error.tycho3-9/+19
2015-05-23Fixed missing overrides and added a ignore flag for reserved macro for clang version 3.6 and higher.Lukas Pioch2-2/+2
2015-05-19Make -Werror disabling file onlytycho2-2/+7
Ad fix a load of warnings
2015-05-19Fixes lit furnace issue in #2051haotnn1-0/+1
2015-05-11Improved hoppersTiger Wang2-27/+16
* Fixes #1994
2015-05-09More style checking.Mattes D2-2/+2
Spaces around some operators are checked.
2015-03-21Changed cEntity::m_UniqueID to UInt32.Mattes D3-14/+28
2015-03-20Correct world height validations.Tommy Santerre1-2/+2
Unify the way we test block above the current one (Height - 1 instead of a_RelY + 1). Allow generation of world of flat height = 255
2015-03-19Removed unwanted base classes from Lua API.Mattes D1-0/+2
2015-03-10Moved window code into cpp filesHowaner1-1/+1
2015-01-11Initial convertion of a_Dt to std::chronoTycho13-13/+13
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
2014-12-17NULL -> nullptrTiger Wang1-2/+2
2014-12-13Own classes for all windows.Howaner6-3/+6
2014-12-01MobSpawner fixes.Howaner3-3/+10
2014-11-29Many api fixes, add vanilla names to mob type -> string functions and mob spawner fixes.Howaner3-57/+12
2014-11-27BlockEntities: Removed the extra semicolon.Mattes D16-24/+25
2014-11-18Finished mob spawner implementation.Howaner13-121/+10
2014-10-23En masse NULL -> nullptr replaceTiger Wang16-54/+64
2014-10-21Fixed trailing whitespace.Mattes D2-2/+2
2014-10-20En masse NULL -> nullptr replaceTiger Wang16-44/+44
2014-10-19cLuaState: cBlockEntity descendants are pushed with proper class type.Mattes D16-25/+62
2014-10-18Furnaces now update their block entity typeTiger Wang1-2/+4
Therefore improving cChunk's variable boundary checking.
2014-10-18Simpler code.Alexander Harkness1-3/+2
2014-10-16Nullptr?Alexander Harkness1-2/+2
2014-10-16Fixed a number of stylistic issues.Alexander Harkness1-7/+7
2014-10-12fix std:min call, include algorithm and compare same typeSteven Riehl1-2/+2
2014-10-12refactor an if block to std::minSteven Riehl1-4/+1
2014-10-12convert old style casts to fix warningsSteven Riehl8-105/+74
2014-10-03Improved furnacesTiger Wang2-142/+109
* Fixed progress bar on 1.8 * Fixed bugs * Improved code * Fixes #1068 * Fixes #1070
2014-09-30Removed WSSCompactTiger Wang24-437/+0
2014-09-28Compilation fixTiger Wang1-2/+2
2014-09-27SuggestionsTiger Wang3-9/+8
2014-09-27Fixed compile errors.Howaner2-42/+42
2014-09-26Removed more unessicary includesTycho22-35/+12
2014-09-25Fixed dispender direction bugHowaner1-1/+1
2014-09-23A few compiler warning fixesChris Darnell1-1/+1
2014-09-19Implemented mob spawner.Howaner3-43/+323
2014-09-17Added first test to show the object can be createdTycho1-1/+1
2014-09-17Created MobSpawnerEntity class.Howaner4-1/+165
2014-09-13Implemented Chest MinecartsTiger Wang7-7/+2
2014-09-11Possibly decoupled IncrementalRedstoneSimulator from the rest of the serverTycho2-4/+5
THis wil hopefully allow for unit testing
2014-09-06Added Y-wise asserts to signs.Mattes D1-0/+1
This should help detect #1313's second case.
2014-09-01Fixed style.madmaxoft1-1/+2
2014-08-31Changed null check to assertworktycho1-5/+3
Changed the null check to clarify that the function should not be called before the entity has been attached to a world.
2014-08-31Rewrited furnace.txt loading.Howaner1-1/+1
2014-08-30Fixed style.madmaxoft1-2/+3
2014-08-29Improved command block securityTiger Wang1-6/+19
2014-08-10Fixed potential null dereferenceTycho1-5/+5
Fixes CID 70466
2014-08-06Fixed style issuesTycho2-2/+5
2014-08-06Fixed multiple inhertance being output by toluaTycho2-6/+10
2014-08-05Removed dependecy of redstone simulator on NoteBlockTycho2-1/+13
2014-08-05Refactored Redstone simulator not to depend on TNTEntity or DropSpenserENtity DirectlyTycho2-3/+13
2014-08-02Fixed a bug who can used from hacked clients.Howaner1-0/+2
2014-07-31Use "default:" in switch.Howaner1-3/+6
2014-07-31Renamed "select..." methods to "set..." and better IsValidEffect() function.Howaner2-51/+15
2014-07-31Updated documentation.Howaner1-3/+3
2014-07-31Renamed functions and added beacon json saving.Howaner2-46/+44
2014-07-30Added window update.Howaner1-0/+23
2014-07-30Added beacon load/save.Howaner1-0/+3
2014-07-30Changed return type from GetPrimaryPotion() and GetSecondaryPotion()Howaner1-2/+2
2014-07-30Exported the beacon.Howaner2-17/+27
2014-07-30Added beacon.Howaner3-32/+337
2014-07-24Removed redundant semicolons and re-added warningarchshift3-4/+4
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft8-12/+12
2014-07-19Code style: Fixed braces on separate lines.madmaxoft3-3/+6
2014-07-19Subdirs: Only add_library if not using MSVCarchshift1-1/+3
2014-07-19BlockEntities/CMakeLists.txt: Replaced glob with list of filesarchshift1-5/+35
2014-07-18Fixed spaces before commas.madmaxoft1-2/+2
2014-07-17Basic style fixes.madmaxoft10-11/+11
2014-07-17Normalized comments.madmaxoft4-10/+10
This was mostly done automatically and then visually inspected for obvious errors. All //-style comments should have a 2-space separation from the code, and 1 space after the comment sign.
2014-07-15Fixed a DropSpenser AddFace bugTiger Wang1-1/+1
2014-07-15Pass cItem by reference.madmaxoft1-1/+1
Fixes CID 66445.
2014-07-13Fixed Issue with Comparing agast the wrong chest, potentially causing crashes.worktycho1-7/+7
2014-07-13Changed BroadcastSoundEffect function to take floating pos.Howaner1-1/+1
2014-07-12cHopperEntity: Simplified chest conditions.madmaxoft1-10/+4
2014-07-12cChestEntity: Renamed a member to avoid confusion.madmaxoft2-8/+9
2014-07-12Fixed alignment.madmaxoft1-2/+3
2014-07-12Suggestions and bug fixTiger Wang2-10/+18
* Fixed hoppers pushing/pulling to/from (trapped)chests that do not form a double-chest with the chest type directly connected to said hopper; thank you, @madmaxoft
2014-07-11SuggestionsTiger Wang1-4/+4
2014-07-08Made things consistentTiger Wang1-4/+5
2014-07-07Implemented trapped chests & othersTiger Wang4-13/+36
+ Added trapped chests * Fixed a bunch of bugs in the redstone simulator concerning wires and repeaters * Other potential bugfixes
2014-06-29Properly implemented enderchestsTiger Wang2-93/+44
2014-06-24Fixed crashes in HopperEntity.Mattes D1-19/+58
Some of the coords were off and some functions were assuming too much. Fixes the crash reported in http://forum.mc-server.org/showthread.php?tid=1497
2014-06-22Chests don't open if obstructedTiger Wang1-0/+13
* Fixes FS383
2014-06-11DispenserEntity code cleanup after PR merge.madmaxoft2-30/+30
2014-06-05- Fixed a lot of alignmentJoannisO1-7/+7
2014-06-04- Removed the code that removed fireworks from a dispenser even thoughtJoannisO1-3/+0
they weren't launched.
2014-06-04- Fixed variable names in a function.JoannisO1-2/+2
2014-06-04- Fixed a lot of astethicsJoannisO2-14/+17
2014-06-03- Fixed an issue where there were 2 "DispChunk"-s in the same function.JoannisO1-16/+5
Resused the initial one.
2014-06-03- Fixed a bug where I didn't return anything in the GetShootVectorJoannisO1-0/+2
function. This was however passed as "working" by GCC.
2014-06-03- Fixed a bug where I used the FireCharge ITEM instead of the ProjectileJoannisO1-1/+1
ENUM
2014-06-03- Cleaned up the code massivelyJoannisO2-90/+31
- Stopped using cChunk in the GetShootVector class. Parameter is now the Metadata of the block - Stopped using cChunk in the SpawnProjectileFromDispenser method now using coordinates and finding the chunk by itself. - Removed the matrix calculations from GetShootVector.
2014-06-03- Added doxy comments and exported to luaJoannis2-22/+64
- Manipulation of the ShootVector is not to be done by the function that wants to spawn a projectile.
2014-05-31- Changed the name of the ProjectileLookVector method.JoannisO2-3/+3
Note: I still think the new name is unclear. Any other suggestions are welcome.
2014-05-29- Prefixed all args with "a_"JoannisO2-6/+10
- Added braces around the cases.
2014-05-28Code improvementsHowaner1-5/+2
2014-05-28Fix skull bugs.Howaner1-0/+5
2014-05-28- Removed breaks. I thought it wouldn't compile without them but theJoannisO1-2/+0
issue was appearantly solved with an earlier commit.
2014-05-28- Fixed an issue where dispensers would only shoot arrows (appearantlyJoannisO1-33/+24
some commits didn't come through) - Cleaned up the code according to suggestions.
2014-05-28- Implemented vertical dispensing for projectiles.Joannis2-16/+40
- Fixed some terrible commit issues on my side.
2014-05-27- Fixed the ampersands and asterisks to fit the format.Joannis2-8/+8
- Fixed the method "SpawnProjectileFromDispenser" to use CamelCasing.
2014-05-26- Added support for more types of projectiles in the DispenserJoannisO2-38/+51
- Improved the method of spawning projectiles in the world - Added another method for spawning the projectiles
2014-05-26Added Arrow- and FireCharge-Dispensing to DispenserEntity.JoannisO2-27/+95
2014-04-27Added static const, initialized fields.archshift2-1/+4
2014-04-25Cmake generated projects for IDEs include headers in project files.archshift1-0/+1
2014-04-19Fixed Flint and Steel, reverted Minecart change, renamed a parameter namejfhumann1-5/+5
2014-04-19Fixed formatting, made function static.madmaxoft2-13/+18
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann3-8/+13
2014-04-12Some tweaksSTRWarrior1-5/+17
GetPyramidLevel returns 0 when no layers were found, 1 for one layer etc. Auto adjust the minY and/or maxY to 0 if the beacon is low.
2014-04-12Removed debug message.STRWarrior1-1/+0
2014-04-12Simplefied GetPyramidLevelSTRWarrior1-10/+3
2014-04-12Implemented the skeleton code for the beacon.STRWarrior3-0/+153
There is no handling for the GUI. It can now check how big the pyramid is under the beacon.
2014-04-03Fixed a few MSVC type warnings.Mattes D1-1/+1
2014-03-16Fixed double to float conversions.madmaxoft1-1/+1
2014-03-14Add fireball interactHowaner1-0/+6
2014-03-08Change TNT Fuse to ticksHowaner1-1/+1
2014-03-07Add Flower PotsHowaner3-0/+210
2014-02-28Documented the changes in cJukeboxEntity.madmaxoft1-2/+3
2014-02-24Fixed compilation in MSVC (forward class definitions).madmaxoft2-0/+2
2014-02-24BlockEntities is warnings freeTycho6-3/+11
2014-02-23Rename SkullEntity to MobHeadEntityHowaner5-189/+189
2014-02-23Add break to Protocol17x.cpp and use new comment delimiterHowaner1-7/+7
2014-02-23Add Heads completelyHowaner3-5/+3
2014-02-23Add Skulls/HeadsHowaner3-0/+191
2014-02-21Better Jukebox APIHowaner2-16/+48
2014-02-19Rename SkullEntity to MobHeadEntityHowaner5-189/+189
2014-02-19Add break to Protocol17x.cpp and use new comment delimiterHowaner1-7/+7
2014-02-18Add Heads completelyHowaner3-5/+3
2014-02-17Add Skulls/HeadsHowaner3-0/+191
2014-02-15Fixed typographical errorTiger Wang1-2/+1
2014-02-15Removed debug messages againTiger Wang1-6/+0
2014-02-13Added proper debug messagesTiger Wang1-3/+8
2014-02-13Fancy stuff with constant referencesTiger Wang1-2/+2
2014-02-12Added more missing GetClassStatic()sTiger Wang2-0/+4
2014-02-12Removed some unneeded BroadcastWholeWindow()sTiger Wang4-23/+2
2014-02-12Changed inheritance a bitTiger Wang7-33/+47
* cBlockEntityWithItems now inherits from cBlockEntityWindowOwner
2014-02-11Fixed #190Tiger Wang1-2/+67
+ Hoppers now collect pickups above them
2014-02-11Fixed #612Tiger Wang2-0/+16
* Chests send contents updates to client
2014-01-23Minor style improvements for the merged PR.Mattes D1-4/+4
2014-01-23Command block fixes 2andrew1-6/+20
2014-01-19Removed unneeded paramtersTiger Wang1-1/+1
2014-01-19Changed SendBlockEntity format slightlyTiger Wang1-24/+2
* Writing NBT is now in Protocol, not BlockEntity files * Fixed a last output bug
2014-01-19Improved command blocksTiger Wang1-5/+37
* Their command and previous output are displayed on the client * They have a BlockHandler implementation, so you can't place blocks on them anymore + As a side effect, implemented UpdateBlockEntity
2014-01-18Fixed compiler error.STRWarrior1-3/+3
2014-01-18Command block fixesandrew2-38/+5
2014-01-18Parse the MC|AdvCdm plugin messageandrew1-0/+2
2014-01-18Command blocks: Execute()andrew1-5/+27
2014-01-18Command block (de)serializationandrew2-3/+42
2014-01-18Basic command block implementationandrew3-11/+271
2014-01-16Removed obsoleted functionsTiger Wang2-4/+4
2014-01-06Fixed a few MSVC warnings.madmaxoft2-5/+4
2013-12-30Fixed compilation in VC2008.madmaxoft1-2/+1
Also removed an unused inline header file (yuck).
2013-12-22merged in warnings changesTycho Bickerstaff5-4/+9
2013-12-22converted commneted paramater names to the unused macroTycho Bickerstaff2-2/+8
2013-12-21Chunk is now warnings cleanTycho Bickerstaff3-3/+3
2013-12-21fixed hidden bug with furnaces ignoring time burntTycho Bickerstaff1-1/+1
this patch fixes an issue with furnaces where they would ignore the time burnt in setBurnTimes this did not cause a problem as this function was only called with the same value as the one it was using for time burnt
2013-12-21ChunkSender is now warnings cleanTycho Bickerstaff1-1/+1
2013-12-20Fixed compiler warning when iterating over a fixed array of items (ARRAYCOUNT).madmaxoft2-4/+4
2013-12-19added blocks and blockentitiesTycho Bickerstaff1-0/+11
2013-12-16Fixed multiple inheritance in ToLua++.madmaxoft5-20/+20
This fixes #422.
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
Ref.: #407
2013-12-07Added basic ender chestsTiger Wang3-10/+201
Note that they just mirror chests now, so no per player inventory.
2013-12-06Fixed pickups spawning for BlockEntitiesTiger Wang1-1/+1
2013-11-28Moved json includes to where they are really needed.madmaxoft1-0/+1
2013-11-27Fixed VC2008 compilation, normalized include paths.madmaxoft5-5/+5
2013-11-27Fixed the remaining derpsAlexander Harkness5-5/+5
2013-11-25Further attempts to fix compileTiger Wang5-5/+5
2013-11-24Attempt to fix compilationTiger Wang5-5/+5
2013-11-24Moved source to srcAlexander Harkness21-0/+3033