summaryrefslogtreecommitdiffstats
path: root/src/Generating/FinishGen.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-09-27Update Minecraft Wiki links to new domain (#5532)Spongecade1-1/+1
* Update Minecraft Wiki links to new domain * Added Spongecade to contributors * Sorted Spongecade
2023-05-16Removed all Printf-family functions from StringUtils.Mattes D1-3/+3
Replaced them with fmt::format calls, including changes to the format strings. Also changed the format strings to use FMT_STRING, so that the format is checked compile-time against the arguments. Also fixed code-style violations already present in the code.
2022-04-20Valid Height is now checked by vector.x12xx12x1-2/+2
2022-01-14fixed compile error in jenkins and more warningsx12xx12x1-2/+2
2022-01-14Fixed Compiler Warningsx12xx12x1-1/+1
2021-07-09Item frame maps (#5258)KingCol131-1/+1
+ Send map data when item frame spawns. + Add some casts to placate compiler warnings. * size_t for array access. * Mark chunk dirty when rotation or item in item frame is changed.
2021-04-30Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang1-3/+3
* 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-23Fixing grass not generating below trees (#5199)12xx121-0/+26
* moves the y-Position below the tree on grass generation
2021-04-12Fixed generator for the Mega Taiga biome (#5129)12xx121-3/+109
* Fixed generator for small foliage.
2021-04-01Fix finisher generating invalid pumpkinTiger Wang1-1/+1
Result was black spot in the ground because the meta exceeded 3 and the client didn't render anything. Been here since the beginning? http://github.com/cuberite/cuberite/blob/fbabf9ee8c7f0940e6f7d01e0362849bf4f6396b/source/FinishGen.cpp#L159
2021-01-11zlib -> libdeflate (#5085)Tiger Wang1-3/+1
+ Use libdeflate + Use std::byte * Fix passing temporary to string_view + Emulate make_unique_for_overwrite
2020-12-21Comment and code style fixTiger Wang1-1/+1
+ Add static keyword - Don't capture everything in lambda
2020-11-14Fix flower and foliage generation (#4723)mBornand1-68/+155
* fix flower generation - remove wrong mushroom and flower generation + add "tiny" mushrooms in Mushrooms biomes + add "tiny" mushrooms in Mega Taiga and variants + add tulip generation for plains biomes * Turn numbers into constants - Remove duplication of grass generation - Remove fern in inappropriate biomes * added roofed forest flowers to ini file * fixed crash with biMesaPlateuM + Use empty() + Emplace directly + Avoid a string copy in BiomeName + Alias BiomeIndex to avoid multiple casts Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-10-11Adding Silverfish Spawning Blocks (#4946)12xx121-8/+27
* added breaking, spawning, animation * checkstyle * added undocumented API symbols * added changes suggested by @peterbell10 * added natural ore like generation * fixed spawning two silverfishes * fixed clang * fixed clang try 2 * updated comment unified offset * final clang fix * added spawning for more silverfishes if one was damaged * fixed spawning on one hit kill * fixed spawning on one hit kill fixed spawning by potion damage * fixed clang * fixed broken build * fixed broken build * I should read the error message properly fixed build now? * added small changes suggested by @peterbell10 Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-08-21Minor typo fixesTiger Wang1-16/+18
* Also DeMorgan'd Emerald ore condition
2020-08-12Add enhanced Gold generation in Mesa-Type Biomes (#4821)12xx121-0/+21
* added enhanced gold generation in mesa-type-biomes * fixed typo in comment * added enhanced gold generation in mesa biomes - fixed small checkstyle errors Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-08-10Update FinishGen.cpp12xx121-1/+0
2020-08-10small issues addressed in #4817 fixed because was merged to fast12xx121-9/+1
2020-08-09Adding Emeralds to generation (#4817)12xx121-1/+29
* Adding Emeralds to generation * fixed crash * fixed documentation and changed function name to match others * forgot to change the name in the doc * removed debug output - sorry build servers Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-05-15Enable some more clang-tidy linter checks (#4738)peterbell101-1/+1
* 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-04-03Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D1-0/+1
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
2019-09-06Separated chunk generator from world / plugin interfaces.Mattes D1-1/+0
The generator now only takes care of servicing synchronous "GetChunk(X, Y)" and "GetBiomes(X, Y)" requests.
2018-09-24Add a formatting function for Vector3 (#4282)peterbell101-2/+2
* Vector3: Add custom fmt compatible formatter. * cLuaState: Add fmt version of ApiParamError * Use vector formatting in manual bindings * Always log vectors with FLOG
2018-05-03Generate cacti and sugarcane with different heights (#4137)Cocosushi61-25/+80
When generating foliage, create cacti with height in the interval [1; MaxCactusHeight] and sugarcane with height in [1; MaxSugarcaneHeight] (with MaxCactusHeight and MaxSugarcaneHeight declared in world.ini) Fixes #4135
2018-04-11Removed duplicate code (#4198)Bond-0091-80/+7
Should also fix dogs not despawning
2018-03-20Wolves only spawn in taiga biomes (#4197)Bond-0091-2/+1
Ref: https://minecraft.gamepedia.com/Wolf#Spawning
2017-09-18cFinishGenPreSimulator: Preserve sand meta (#4025)peterbell101-9/+7
Fixes #1516.
2017-09-14Fix switch warnings (#4013)peterbell101-2/+4
* 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-08-07Changed entity ownership model to use smart pointersTiger Wang1-2/+2
2017-08-03Remove double includes part 2 (#3890)peterbell101-1/+0
2017-07-07BigFlower fixes (#3826)peterbell101-2/+2
* BigFlowers fixes * Correct upper part meta * Documented parameters to DoesIgnoreBuildCollision
2017-06-19Generated tall flowers have flower type meta in both blockspeterbell101-2/+2
2017-02-24Finishers now update the heightmap for tall flowers. (#3545)Jacob1-0/+7
2016-09-27Use cChunkDef::Height for Y coord comparison where applicable.Moritz Borcherding1-2/+2
2016-08-14Implemented OverworldClumpFlowersNiLSPACE1-0/+204
2016-02-05Bulk clearing of whitespaceLogicParrot1-4/+4
2015-12-09Fixed opposite condition in OreNests finisher.Mattes D1-2/+2
2015-11-27Normalized OrePockets generator config names.Mattes D1-2/+2
All INI values use AllInitialCapsStyle, no underscores.
2015-11-25OrePockets finisher is now configurable.Mattes D1-19/+105
2015-11-25Added OrePockets and DirtPockets finish gens.Mattes D1-0/+367
2015-07-15Fixed tall grass trying to be placed in cold biomes.Samuel Barney1-1/+7
2015-05-30Fixed minor cast warningtycho1-1/+1
2015-05-30Fix FreeBSD/clang errors caused by -Werrorlinnemannr1-1/+5
With FreeBSD/clang, -Werror combined with the configured warning flags yields some fatal errors, specifically related to signed conversion, 64 to 32 bit conversion, and tautological compares. CONTRIBUTORS Add myself to the contributor list src/Generating/FinishGen.cpp In cFinishGenPassiveMobs::GetRandomMob(), change the type of RandMob from size_t to the difference_type of the ListOfSpawnables iterator MobIter. Using size_t triggers a 64 bit to 32 bit conversion if the difference_type of the iterator class is 64 bit Also explicitly cast the noise expression to unsigned long so we don't get a signed conversion warning from the modulo against ListOfSpawnables.size() src/OSSupport/StackTrace.cpp FreeBSD 10 and above includes a non glibc implementation of benchmark() for which size_t, not int, is the return type. To account for this and prevent a signed conversion warning, abstract the type for numItems with a macro btsize src/StringUtils.h In StringToInteger(), correct a tautological compare warning for unsigned types with the template. If T is unsigned, comparing std::numeric_limits<T>::min() to the unsigned result is always false. That control can enter this branch in an evaluated template with an unsigned type T may also permit a signed number to be parsed and erroneously stripped of its signedness at runtime. To guard against this and avoid the warning in the case that the number parsed from the string is non-positive, return false and don't try to parse if T is unsigned and control enters the non-positive branch
2015-05-24Made -Weverything an error.tycho1-7/+7
2015-05-24Wolves don't spawn in rivers.Alexander Harkness1-1/+1
2015-05-23Cows and rabbits no longer spawn over water.Alexander Harkness1-1/+1
Fixes #2080
2015-05-19Fixed a lot of warningstycho1-8/+8
2015-05-18Fix the health of animalsLukas Pioch1-0/+1
2015-05-09More style checking.Mattes D1-1/+1
Spaces around some operators are checked.
2015-04-19Fixed styleSTRWarrior1-2/+2
2015-04-19Added GlowStone finisherSTRWarrior1-1/+113
2015-03-20Correct world height validations.Tommy Santerre1-1/+1
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-01Replaced IntNoiseXX with IntNoiseXXIntSTRWarrior1-2/+2
2015-02-28Made the minimum vine level configurableSTRWarrior1-1/+1
2015-02-28Implemented a vines finisher that creates vines in jungle biomesSTRWarrior1-0/+94
2015-02-25Ice finisher uses GetSnowStartHeight instead of specific biomesSTRWarrior1-26/+19
2015-02-25Snow finisher uses GetSnowStartHeight instead of specific biomesSTRWarrior1-22/+14
2014-12-07Fixed error message in cFinishGenPassiveMobsSTRWarrior1-1/+1
It would send an error message when trying to spawn mobs in a desert
2014-12-05FinishGenPassiveMobs: Cosmetic changes.Mattes D1-23/+22
2014-12-05formatting and default spawn percentagep-mcgowan1-1/+2
2014-12-05reformatp-mcgowan1-9/+5
2014-12-05restructure, with logic this timep-mcgowan1-5/+13
2014-12-05restructured random animals, added check for desert (update as per wiki)p-mcgowan1-19/+17
2014-12-05handle non-vanilla dimensionsp-mcgowan1-2/+2
2014-12-05handle non-vanilla dimensionsp-mcgowan1-2/+3
2014-12-05formatting fixesp-mcgowan1-4/+11
2014-12-04format blocks and randomizingp-mcgowan1-8/+9
2014-12-04awful comment fixing, randomizer fixp-mcgowan1-11/+24
2014-12-03clearing CheckBasicStyle.lua messagesp-mcgowan1-13/+13
2014-12-03class description and doxy-commentingp-mcgowan1-3/+3
2014-12-02typos and oversights for lua and CIp-mcgowan1-1/+5
2014-12-02indentation, repeatable random, small correctionsp-mcgowan1-98/+93
2014-12-02fix comments after replacing spaces with tabsp-mcgowan1-4/+4
2014-12-02animal terrain finisherp-mcgowan1-175/+175
2014-12-02animal terrain finisherp-mcgowan1-0/+212
2014-12-02reformat for lua and CIp-mcgowan1-5/+8
2014-12-02formatting and commenting fixesp-mcgowan1-4/+4
2014-12-01cacti no longer spawn outside of desert variantsp-mcgowan1-1/+13
2014-12-01Simplefied SoulsandRimsSTRWarrior1-36/+6
Replaced two for loops with a single if
2014-12-01Added better soulsand rimsSTRWarrior1-0/+82
As a finisher called SoulsandRims
2014-11-30Hopefully fixed random build failsSTRWarrior1-1/+1
2014-11-26Merge remote-tracking branch 'origin-master' into c++11Tiger Wang1-1/+1
2014-11-18Moved all Noise-related files into a separate folder.Mattes D1-1/+0
2014-11-15Snow generator: Fixed failure at top of the world.Mattes D1-1/+1
2014-11-10TallGrassGenerator: Fixed crash when too highSTRWarrior1-0/+5
2014-10-27Another switch.Alexander Harkness1-0/+5
2014-10-27Fix missing biomes in enum.Alexander Harkness1-0/+5
2014-10-23Merged IniFile into main MCS sources.Mattes D1-1/+1
2014-09-17Added first test to show the object can be createdTycho1-0/+1
2014-08-10Removed an old and outdated comment.STRWarrior1-2/+0
2014-07-30PreSimulator: Added configurations.STRWarrior1-4/+18
You can now choose if it should pregenerate something or not
2014-07-29Fixed comment above cFinishGenSingleTopBlockSTRWarrior1-1/+1
2014-07-28Renamed cFinishGenSingleBiomeSingleTopBlock to cFinishGenSingleTopBlockSTRWarrior1-8/+13
Now accepts a vector of biomes and a vector of allowed blocks.
2014-07-27NetherClumpGenerator: Fixed generating stuff on halfslabs and fencesSTRWarrior1-1/+1
2014-07-27NetherClumpFoliage: Fixed assertSTRWarrior1-8/+39
2014-07-25Tweaks to NetherClumpFoliageSTRWarrior1-34/+6
Simplefied the way NetherClupFoliage creates the X and Z coordinate.
2014-07-25Speed up the NetherClumpFoliage finisher.STRWarrior1-8/+9
Using IntNoiseXX instead of CubicNoiseXX.
2014-07-23Fixed possible crash in the NetherClumpFoliage finisher.STRWarrior1-0/+5
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-4/+4
2014-07-21Fixed a missing enter.STRWarrior1-0/+1
2014-07-21Removed y for-loop.STRWarrior1-27/+27
Only the top block now gets long grass.
2014-07-20Changed CubicNoiseXX to IntNoiseXXSTRWarrior1-27/+36
Added some comments
2014-07-20Renamed cFinishGenFoliage to cFinishGenTallGrassSTRWarrior1-8/+26
Better grass density Added double tall grass.
2014-07-20Fixed warningsSTRWarrior1-2/+1
2014-07-20First attempt for a new foliage finisherSTRWarrior1-0/+32
2014-07-18Fixed spaces before commas.madmaxoft1-2/+2
2014-07-17Basic style fixes.madmaxoft1-2/+2
2014-07-17Normalized comments.madmaxoft1-11/+11
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-06-04Fixed a NetherFinisher bugTiger Wang1-0/+9
2014-03-01g_BlockXXX => cBlockInfo::XXXandrew1-3/+3
2014-01-18Fixed errors.STRWarrior1-1/+1
2014-01-18Renamed cFinishGenNetherSprinkleFoliage to cFinishGenNetherClumpFoliage. Fixed typo'sSTRWarrior1-6/+6
2014-01-18Some tweaks.STRWarrior1-5/+18
Everything generates more often. Fire can only spawn on ForeverBurning blocks.
2014-01-18Fixed bug where only brown mushrooms would spawn.STRWarrior1-3/+3
2014-01-18It now actualy works.STRWarrior1-20/+42
2014-01-17First attempt at creating a clumb version NetherFinisher.STRWarrior1-22/+62
2014-01-10Decoupled cChunkGenerator from cWorld and cRoot.madmaxoft1-2/+2
Now the chunk generator can be used by other projects without depending on the two hugest structures in MCS.
2014-01-10Added cFinishGenNetherSprinkleFoliage.STRWarrior1-0/+45
2014-01-07Fixed a few MSVC warnings.madmaxoft1-1/+1
2013-12-20Fixed compiler warning when iterating over a fixed array of items (ARRAYCOUNT).madmaxoft1-3/+3
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-06-22Added the End height and composition generators.madmaxoft@gmail.com1-3/+3
Also made the dimension in world.ini specifiable by a string. Exported StringToDimension() and StringToBiome() to Lua API. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1621 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-19The subgenerators use cChunkDesc instead of raw arrays. cChunkDesc is based on cBlockArea. Initial version of Lakes generator.madmaxoft@gmail.com1-10/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1286 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-17Rewritten generators so that they use the cChunkDesc class (and thus can use cBlockArea merging)madmaxoft@gmail.com1-221/+77
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1282 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-17Fixed zero-probability height distribution in FluidSprings finishermadmaxoft@gmail.com1-4/+11
FS #330 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1279 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14Added water and lava springs.madmaxoft@gmail.com1-0/+175
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1269 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-03FinishGen: Fixed sand collapsing and fluid stationarizingmadmaxoft@gmail.com1-3/+14
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1246 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-02Presimulator finisher now drops sand and gravel through fire blocks as wellmadmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1238 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-22PreSimulator finisher should now drop blocks through water and lava (untested)madmaxoft@gmail.com1-0/+4
http://forum.mc-server.org/showthread.php?tid=409&pid=5728#pid5728 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1097 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11Added DeadBushes finisher (initial patch by STR_Warrior; DeathBushes FTW!)madmaxoft@gmail.com1-8/+76
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1037 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-21cFinishGenPreSimulator sets correct fluid type (stationary in the middle, flowing on chunk borders / holes next to water.madmaxoft@gmail.com1-1/+82
git-svn-id: http://mc-server.googlecode.com/svn/trunk@999 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-21Added the first part of the PreSimulator finisher, drops floating sand and gravel to ground.madmaxoft@gmail.com1-0/+79
git-svn-id: http://mc-server.googlecode.com/svn/trunk@998 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: Generating-related files in a separate subfoldermadmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@881 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-27Removed bottom lava from caves generator, added a new finish generator BottomLava for that. Also fixed a slight error in SameBlock composition generator cfgmadmaxoft@gmail.com1-0/+29
git-svn-id: http://mc-server.googlecode.com/svn/trunk@698 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-03Added a lilypad finishermadmaxoft@gmail.com1-0/+73
git-svn-id: http://mc-server.googlecode.com/svn/trunk@647 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-285/+285
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-08Sugarcane and Pumpkins get placed (quite rarely) in the SprinkleSmallFoliage FinishGenmadmaxoft@gmail.com1-5/+84
git-svn-id: http://mc-server.googlecode.com/svn/trunk@576 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27Ice finisher generator; fixed snow on water.madmaxoft@gmail.com1-1/+29
git-svn-id: http://mc-server.googlecode.com/svn/trunk@515 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27Added a snow finisher generatormadmaxoft@gmail.com1-1/+25
git-svn-id: http://mc-server.googlecode.com/svn/trunk@514 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-0/+154
git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 0a769ca7-a7f5-676a-18bf-c427514a06d6