summaryrefslogtreecommitdiffstats
path: root/src/Generating/ComposableGenerator.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-04-12ForestRocks: use make_unique to constructTiger Wang1-1/+1
2021-04-12Fixed generator for the Mega Taiga biome (#5129)12xx121-1/+6
* Fixed generator for small foliage.
2021-04-08fixed build (#5181)12xx121-3/+2
2021-04-08Obsidian pillars, end fountain, not Ender dragon spawning (#4993)12xx121-1/+15
* added generator for obsidian pillars and central fountain which then is used for the exit portal * checkstyle * checkstyle the second * fixed clang removed magic number added Clamp * make the pillars configurable * fixed clang added warning if there was a unknown value if the tower should have a cage or not * forgot to cancel on unkwon value * fixed clang this time maybe * added new generator to generator test * fixed test * added prefab generation for end fountain * fixed checkstyle and updated the prefab * added ender dragon spawning made the fountain positioning dynamic removed fountain placement functions * added enderdragon stuff to testing * pls compile * added changes suggested by @peterbell10 * fixed clang * added debug for further research on the ARM build * ok - it wasn't my tower placement * checking in setup * readded the fountain schematic * removed finisher * readded generator * removed generator trigger - kept ini file access * using cChunkDef function to calculate abs pos of endercrystal * yes, I know it's unused... * commented everything in the ComposableGenerator.cpp - so only the new class in compiled in but not called at all * don't compile in the new generator at all (removed from CMakeLists.txt) * readded the new generator * readded the new generator * removed debug output * made the towers generate acrocc chunk borders * fixed bad merge * fixed clang * fixed clang * generate the dragon 20 blocks above terrain * trying to fixed weird undefined reference * maybe this fixes the weird behaviour * takes chunk width as parameter now * added new comments with info to generated structures removed ender dragon spawning removed chunkwidth from parameter * fixed linker * maybe fixed linking. tried with gc and clang * fixed ender crystal * fixed test * updated output strings * fixed build * fixed up test * fixed test compile * fixed test - cant get the tests to show up * removed the semicolon * maybe this is the fix? * at this point i have no idea - in MVSC it works * removed the ender dragon Co-authored-by: 12xx12 <12xx12100@gmail.com>
2021-03-18shared_ptr -> unique_ptr in generatorsTiger Wang1-68/+64
2021-03-07Some emplace_back replacements (#5149)12xx121-34/+34
* replace push_back with emplace_back when a new object was created in the function call
2021-01-11zlib -> libdeflate (#5085)Tiger Wang1-35/+4
+ Use libdeflate + Use std::byte * Fix passing temporary to string_view + Emulate make_unique_for_overwrite
2020-11-14Fix flower and foliage generation (#4723)mBornand1-1/+2
* 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-09-18Adding Generator For Single Piece Structures (#4830)12xx121-0/+16
* the beginning of a magnificent work - added basic files and classes without functionality * fixed checkstyle * added imports * moved imports * - Adding SinglePieceStructureGen - Adding a cPrefabChestStructure to generate Chests with contents - Added the options and calls to the ComposableGenerator * moved Globals to .h file * removed the chest thingy from the code (for now) * Update SinglePieceStructureGen.cpp * readded whitespace * renamed to SinglePieceStructuresGen for consistency added new classes to test * fixed small things (mostly style and cleanup) removed loottables * added small changes suggested by madmaxoft * small change to documentation * added check for allowed biomes * check only the biome of the origin position * fixed error on IsBiomeAllowed * added new cubesets * updated structures for with sponging * updated biome names * updated metadata to prevent crashing removed debug output * updated structures with sponging * added sponging to deserterWell to make it disappear in sand * small change in meta * rename DesertTemple -> DesertPyramid * minor style changes Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-05-15Enable some more clang-tidy linter checks (#4738)peterbell101-2/+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
2019-09-08ChunkGenerator: Changed to use cChunkCoords.Mattes D1-3/+3
2019-09-08ShapeGen, HeiGen: Changed to use cChunkCoords.Mattes D1-1/+1
2019-09-08BiomeGen: Changed to use cChunkCoords params.Mattes D1-2/+2
2019-09-06Moved the generator defaults to ComposableGenerator.Mattes D1-10/+105
2019-09-06Separated chunk generator from world / plugin interfaces.Mattes D1-44/+40
The generator now only takes care of servicing synchronous "GetChunk(X, Y)" and "GetBiomes(X, Y)" requests.
2018-05-03Generate cacti and sugarcane with different heights (#4137)Cocosushi61-1/+3
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
2017-02-15Dead bushes will generate in mega mega taigas (#3571)Bond-0091-0/+1
2016-08-14Implemented OverworldClumpFlowersNiLSPACE1-0/+5
2016-02-05Bulk clearing of whitespaceLogicParrot1-10/+10
2015-12-17PieceStructures generator: Fixed wrong merge conflict resolution.Mattes D1-4/+4
Also improved reporting messages. Ref.: http://forum.mc-server.org/showthread.php?tid=2256
2015-12-01Added PieceStructures generator.Mattes D1-83/+95
2015-11-25OrePockets finisher is now configurable.Mattes D1-2/+6
2015-11-25Added OrePockets and DirtPockets finish gens.Mattes D1-109/+15
2015-08-12Fix old style casts and implicit conversionsMatti Hänninen1-7/+13
2015-06-23Generate biomes when pregenerating heights through CompositedHeiGen.Mattes D1-1/+1
Fixes #2283.
2015-06-20Added basic support for loading village prefabs from files.Mattes D1-1/+3
2015-05-19Fixed a lot of warningstycho1-2/+2
2015-04-19Fixed typo in NetherForts initializationSTRWarrior1-1/+1
The S in NetherForts was missing
2015-04-19Added GlowStone finisherSTRWarrior1-0/+4
2015-03-01Replaced cFinishGenPtr with std::make_sharedSTRWarrior1-1/+1
2015-02-28Made the minimum vine level configurableSTRWarrior1-1/+2
2015-02-28Implemented a vines finisher that creates vines in jungle biomesSTRWarrior1-0/+4
2014-12-03forgot initializerp-mcgowan1-1/+5
2014-12-01Added better soulsand rimsSTRWarrior1-0/+4
As a finisher called SoulsandRims
2014-11-26Merge remote-tracking branch 'origin-master' into c++11Tiger Wang1-52/+60
2014-11-13Gen refactor: Implemented CompositedHeiGen.Mattes D1-3/+10
This fixes crashes in the Village generator due to the missing generator.
2014-11-12Generator: Shape initial refactoring.Mattes D1-49/+50
The code compiles, but several structure generators are broken, crash on start.
2014-11-10Added BiomalNoise3D shape generator.Mattes D1-0/+4
2014-10-23Merged IniFile into main MCS sources.Mattes D1-1/+1
2014-10-23En masse NULL -> nullptr replaceTiger Wang1-3/+3
2014-10-22ComposableGenerator: Removed nullptr initializers.Mattes D1-3/+3
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-3/+3
2014-10-19Generator: Rewritten to use SharedPtrs.Mattes D1-78/+45
2014-10-04Fixes #1503 - No gravel is being generatedwin32re1-1/+1
2014-09-28Added Granite, Diorite and Andesite to the NaturalPatches generator.STRWarrior1-0/+27
2014-09-05BiomeMultiCache is not used for simple generators.Mattes D1-21/+22
2014-09-05Fixed style.Mattes D1-2/+2
2014-09-03adapting formatDayBr3ak1-2/+4
2014-09-02adding config file entry #381DayBr3ak1-1/+10
2014-09-02adding the multicache behaviorDayBr3ak1-1/+1
2014-08-27DungeonRooms: Added a height probability distribution function.Mattes D1-4/+5
2014-08-26Added initial dungeon rooms finisher.Mattes D1-0/+8
2014-08-10Bunch of tweaks:STRWarrior1-7/+7
Renamed Quarts to Quartz Using const_iterator instead of iterator Used CheckBasicStyle script to find style errors
2014-08-10Added NaturalPatches generatorSTRWarrior1-0/+22
It generates gravel and dirt.
2014-08-10Added NetherOreNests.STRWarrior1-0/+15
It generates Nether Quarts.
2014-08-10Changed cStructGenOreNests to take a list of ores + the block to replace.STRWarrior1-1/+51
2014-07-30PreSimulator: Added configurations.STRWarrior1-1/+6
You can now choose if it should pregenerate something or not
2014-07-29Some finishing touchesSTRWarrior1-1/+1
Removed whitespace fixed dead bush comment
2014-07-28Forgot Mesa Plateau biome.STRWarrior1-0/+1
2014-07-28Renamed cFinishGenSingleBiomeSingleTopBlock to cFinishGenSingleTopBlockSTRWarrior1-2/+29
Now accepts a vector of biomes and a vector of allowed blocks.
2014-07-27RoughRavines: Made floor and ceiling settings-adjustable.madmaxoft1-10/+22
The world.ini has settings for the minimum and maximum height for each at the ravines' center and edges.
2014-07-27RoughRavines: More settings - size, width, roughnessmadmaxoft1-4/+14
2014-07-27RoughRavines: Initial generator implementation.madmaxoft1-3/+11
This provides the basic shape of the ravines, with the basic settings based on GridStructGen, and good default values.
2014-07-20Renamed cFinishGenFoliage to cFinishGenTallGrassSTRWarrior1-4/+4
Better grass density Added double tall grass.
2014-07-20First attempt for a new foliage finisherSTRWarrior1-0/+4
2014-07-17Basic style fixes.madmaxoft1-3/+3
2014-07-17Normalized comments.madmaxoft1-2/+2
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-21Added a TestRails generator.madmaxoft1-0/+5
This is for debugging purposes only.
2014-06-16Merge branch 'master' of github.com:mc-server/MCServerTycho1-14/+22
2014-06-16Fixed a copypasta error in WormNestCaves generator settings.madmaxoft1-1/+1
2014-06-15Added random offsets to cGridStructGen.madmaxoft1-14/+22
Fixes #740.
2014-06-07Added RainbowRoads finisher generator.madmaxoft1-3/+11
2014-05-31Implemented end and nether portalsTiger Wang1-15/+1
2014-05-31Added an initial version of the underwater base generator.madmaxoft1-0/+8
2014-05-22Villages have min and max density setting.madmaxoft1-4/+6
Also made roads use 3+9 scheme, instead of 3+5, for the house connectors. Fixes #1020.
2014-05-15Changed village generator defaults to more reasonable values.madmaxoft1-2/+2
2014-05-15VillageGen rewritten using BFSPieceGenerator.madmaxoft1-0/+9
Piece composition is not good yet, the buildings aren't height-adjusted and the road pieces will need special processing. This is mainly for adjusting the per-piece params.
2014-03-28NetherFortGen: Added several more prefabs.madmaxoft1-1/+1
Also extended the defauls MaxDepth value to 12.
2014-03-28Initial NetherFortGen import.madmaxoft1-1/+16
Simple fortresses of 2 different rooms will generate.
2014-03-09A working POCPiece generator.madmaxoft1-0/+5
2014-03-01Unified StructureGens and FinisherGens.madmaxoft1-86/+71
Now they are all Finishers. Fixes #398.
2014-01-18Alpha-sorted the finishers.madmaxoft1-4/+4
2014-01-18Renamed cFinishGenNetherSprinkleFoliage to cFinishGenNetherClumpFoliage. Fixed typo'sSTRWarrior1-2/+2
2014-01-10Decoupled cChunkGenerator from cWorld and cRoot.madmaxoft1-5/+6
Now the chunk generator can be used by other projects without depending on the two hugest structures in MCS.
2014-01-10Fixed generator adding values to ini file.madmaxoft1-1/+2
2014-01-10Added cFinishGenNetherSprinkleFoliage.STRWarrior1-2/+6
2014-01-09Composition generator creating moved to a separate function.madmaxoft1-61/+77
Also it forces the defaults into the INI file.
2014-01-09Height generator creating moved info HeiGen.cpp.madmaxoft1-53/+1
The generator also explicitly sets the default back into the INI file.
2013-11-28Moved BiomeGen creation from INI file data to BioGen.cpp.madmaxoft1-48/+1
This way it can be shared between MCServer and BiomeVisualiser.
2013-11-27Fixed the remaining derpsAlexander Harkness1-1/+1
2013-11-26Hopefully fixed last of the Linux compile errorsTiger Wang1-1/+1
2013-11-25Further attempts to fix compileTiger Wang1-1/+1
2013-11-24Attempt to fix compilationTiger Wang1-1/+1
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-10-11CompoGen and HeiGen read their settings in their respective Initialize() functions.madmaxoft1-40/+17
2013-10-10Generator: Renamed cBiomeGenerator's Initialize() to InitializeBiomeGen().madmaxoft1-1/+1
This will allow initializing generators that implement both cBiomeGenerator and other generators.
2013-09-28Minor startup streamliningTiger Wang1-1/+1
* LOGD'd unneeded debugging messages, streamlining startup + Added a basic timer for how long in seconds it took to start up + Added two checks for plural (plugin/s, second/s)
2013-08-14Generation and simulation defaultsTiger Wang1-6/+6
...are no longer set, instead, the server operator is told to set them.
2013-08-14Buncha bugfixes [SEE DESC]Tiger Wang1-3/+3
Fixed generation values not being written Fixed piston being able to push water Fixed ice creating a non-source block (still doesn't update though) Removed problematic piston code
2013-08-11Removed unneeded case clauseTiger Wang1-1/+1
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-524/+524
2013-06-22Added the End height and composition generators.madmaxoft@gmail.com1-1/+12
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-05-05Re-worked generator subobject ownership, added a cache for the CompositionGenmadmaxoft@gmail.com1-50/+29
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1447 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-05Added the DistortedHeightmap height and composition generator.madmaxoft@gmail.com1-2/+35
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1445 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-27Noise3D made into Composable - both a HeightGen and a CompositionGenmadmaxoft@gmail.com1-2/+31
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1419 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-25Initial version of "DistortedMembraneOverhangs"madmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1412 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-24Added the initial version of DirectOverhangsmadmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-24Added a (commented-out) performance test for biome generatormadmaxoft@gmail.com1-0/+13
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1409 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-22Added a (commented-out) performance test for cHeiGenBiomal and cCompoGenBiomalmadmaxoft@gmail.com1-0/+28
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1401 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-06Mineshafts: randomized start position, tweaked default generator parameters; removed debugging glass pillars.madmaxoft@gmail.com1-2/+2
Mineshafts can be considered finished. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1366 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-31MineShafts: User-settable chance of individual pieces' occurence. Staircase-only mineshafts, yay :)madmaxoft@gmail.com1-3/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1336 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-30MineShafts: Set the default GridSize to 256madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1332 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-29MineShafts: implemented basic corridors, without any embellishments or branching yet.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1326 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-29MineShafts: backup commit with initial work, still unusable.madmaxoft@gmail.com1-1/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1321 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-24Made MultiStepMap BioGen the defaultmadmaxoft@gmail.com1-8/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1308 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-20Alpha-sorted the generators in ComposableGeneratormadmaxoft@gmail.com1-15/+15
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1291 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-19Lakes: added a limiter, better height distributionmadmaxoft@gmail.com1-2/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1287 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-12/+10
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-6/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1282 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14Added water and lava springs.madmaxoft@gmail.com1-3/+17
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1269 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-11Initial nether composition generatormadmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1266 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-08Prepared cChunkDesc for further API extension; used it as the sole container for generated chunk data, including entities / block entities.madmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1200 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-02Moved BioGen parameter reading from cComposableGenrator into each BioGen itselfmadmaxoft@gmail.com1-18/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1190 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-25Merged the usable portion of the "gens" branch.madmaxoft@gmail.com1-0/+405
Splitting off the Composable generator and fiddling with LuaChunk / ChunkDesc is good, other generators not good yet. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1171 0a769ca7-a7f5-676a-18bf-c427514a06d6