Experimentral update to 1.21.9
- Added also the new feature Optional-CloudHeight to EnvironmentBuilder
Changes the BiomeCarvers-Class to allow custom (DataPack)
Carvers
- Removed "BiomeFeatureType": Carvers no longer need Classification to Liquid/Air-Carvers
Changed some Methods to match changes
- Removed the AdvancedBiomeProvider (which was used to add Custom Biomes)
Methods in the AdvancedWorldCreator are now removed and you now need to use the Bukkit-WorldCreator-Methods
Changed some Methods / Classes to match changes
- Changed BiomeProviderCheckerBoard, BiomeProviderDefault, BiomeProviderLines, BiomeProviderMultiNoise, BiomeProviderSingle, BiomeProviderSquares
Biomes created with this API now have the .getBukkitBiome() Method in the CustomBiome-Class and can be added to the Bukkit-BiomeProvider
Biomes added with DataPacks can be added with the Bukkit-BiomeProvider too [to get a DataPack-Biome just use following Registry: org.Bukkit.Registry.BIOME.get(##NamespacedKey##)]
Removed internal "AdvancedCustomWorldChunkManager" which is no longer needed
Update to 1.21.3
- Some small internal changes but all in all everything should work again
Probably works, but not everything is tested 100%.
Please report any Bugs/Crashes.
Fixed an Issue with Paper (Paper removed needed parts from the generation)
Initial Update (firsts tests are fine)
Fixed a Bug: Paper removed a Constructor of a CraftBukkit-Class
Added "StructurePlacementOverride"
- Allows changing structure placement rate (Villages, Ships, Igloo...)
For example:
Code (Text):
StructurePlacementOverride override = new StructurePlacementOverride();
override.setStructurePlacement(StructurePlacementOverride.StructurePlacementType.IGLOO, 4, 2);
advancedworldcreator.setStructurePlacementOverride(override);
Updated to 1.20.1 but expecting Bugs.
Please contact me if you encounter any bugs (+ detailed information on what your doing).
![[IMG]](//proxy.spigotmc.org/28c5ce1634b4d6e4ab397982d154864ff468760b/68747470733a2f2f6a617661646f63732e6475636b646e732e6f72672f696d672f7570646174653132302e706e67)
Probably fixed an issue from Paper where certain Methods and Classes changed and caused errors.
Fixes a small bug where restarting the server won't load the world correctly.
-EnvironmentBuilder now has the option to set the Monster-Spawn-Light-Test and Monster-Spawn-Block-Light-Limit option to modify Monsterspawning
-Fixed a bug where the "/locate biome" command did not work probably
Using custom biomes will now work with Custom-BiomeProvider
(Default Custom-BiomeProvider: BiomeProviderCheckerBoard, BiomeProviderDefault, BiomeProviderLines, BiomeProviderMultiNoise, BiomeProviderSingle, BiomeProviderSquares)
Biomes now have the BiomeDecorationPopulator which can be added with:
#addCustomDecorationPopulator(BiomeDecorationType , BiomeDecorationPopulator)
It allows to place small things like Ores but does not allow do do much stuff since it needs to be out of sync with Bukkit.
Custom Environments and GeneratorConfigurations will now work better and have more features to change stuff
Updated to 1.19.3
- Please report all Bugs if you find some
- Some Features changed or are missing (write me if you miss something)
- Have fun!
This update should bring back most of the features to 1.18.2.
Some of them are not 100% tested - make sure to report bugs (discord || spigot-page)
Currently the main feature that allows to define custom StructureConfiguration has been disabled/removed since it won't work anymore without editing the API itself.
Added the BiomeProviderMultiNoise (setting Biomes based on terrain and other values)
Added the BiomeProviderDefault (a way to set biomes like Overworld/Nether but you can replace the Biomes that would generate with other Biomes too)
------------------------------------------------
Fixed Warnings about missing Keys.
Added "BiomeProviderSingle" to create simple Worlds with just one Biome.
(Also added a method to add custom created stuff in biomes that will get used later =) )
This Update allows you to use the API in Minecraft 1.18.
Sadly too many stuff changed and there will be no support for older Versions anymore.
This Update also revamps the complete API:
- new Method-Names
- default WorldCreator-Settings-Support
- some Methods/Functions got removed since they are not available/replaced by the Bukkit-API
It will take some time to write down the new API, but here you can take a look on how to use it:
Code (Java):
BiomeCreator biomeCreator
=
new BiomeCreator
(
"firstname",
"secondname"
)
;
biomeCreator.
setWaterColor
(
new java.
awt.
Color
(
76,
255,
255
)
)
;
biomeCreator.
setGrassColor
(
new java.
awt.
Color
(
136,
0,
0
)
)
;
biomeCreator.
setSkyColor
(
new java.
awt.
Color
(
1,
73,
51
)
)
;
biomeCreator.
setWaterFogColor
(
new java.
awt.
Color
(
255,
255,
255
)
)
;
BiomeCreator.
CustomBiome customBiome
= biomeCreator.
createBiome
(
true
)
;
AdvancedWorldCreator creator
=
new AdvancedWorldCreator
(
"testnewcreator"
)
;
boolean hasSkylight
=
false
;
boolean hasCeiling
=
true
;
boolean ultraWarm
=
true
;
boolean natural
=
false
;
boolean createDragonFight
=
true
;
boolean piglinSafe
=
false
;
boolean bedWorks
=
true
;
boolean respawnAnchorWorks
=
true
;
boolean hasRaids
=
true
;
creator.
setEnvironmentBuilder
(
new EnvironmentBuilder
(
null, hasSkylight, hasCeiling, ultraWarm, natural,
1.0, createDragonFight, piglinSafe, bedWorks, respawnAnchorWorks, hasRaids,
-
128,
1024,
1024, Tag.
INFINIBURN_OVERWORLD.
getKey
(
), NamespacedKey.
minecraft
(
"overworld"
), 1.0f
)
)
;
GeneratorConfiguration generatorConfig
=
new GeneratorConfiguration
(
)
;
generatorConfig.
setDefaultBlock
(Material.
DIAMOND_BLOCK
)
;
generatorConfig.
getNoiseGeneration
(
).
setMinY
(
-
128
)
;
generatorConfig.
getNoiseGeneration
(
).
setHeight
(
1024
)
;
creator.
setGeneratorConfiguration
(generatorConfig
)
;
creator.
setAdvancedBiomeProvider
(
new BiomeProviderLines.
Builder
(
3,
true
)
.
addBiome
(customBiome
)
.
addBiome
(org.
bukkit.
block.
Biome.
OCEAN
).
create
(
)
)
;
creator.
createWorld
(
)
;
You can now place a
RegisteredCustomBiome into the World!
Methods are available in the
RegisteredCustomBiome-Object:
1.) boolean insertBiome(World world, int x, int z)
-> Will place the Biome from lowest Y up to max Y of the World
2.) boolean insertBiome(World world, int x, int y, int z)
-> Will place the Biome at exact this X/Y/Z-Position in the World
3.) boolean insertBiome(Block b, boolean fullHeight)
-> Will place the Biome at the Blocks-Position, or at the the full Height of the World if fullHeight = true
You can now use all BiomeGenerators without using the NMS-Class 'Biomes'.
Just use the bukkit version, for example:
biomegenerator.addBiome(Biome.PLAINS);
(Usage of NMS is still supported.)
Some changes made Spigot-Version buggy.
They are maybe fixed now.
Paper remapped some classes from "fastutil" so they are not available if you use Paper.
I made some changes and hope most of the features will now work with Paper too.
In the last Version there was no new Download-File
This Version allows you to add your own Custom ChunkGenerator to the AdvancedCreator and also to disable the normal World-Generation at all.
Changes:
You can now use this Method with the enum "WorldDecoration" instead of NMS-Values:
advancedcreator.setDecorationBlacklisted(WorldDecoration.RAW_GENERATION, false);
The Methode "setCustomWorldSetting" from the AdvancedCreator-Object now uses the Bukkit "BlockData" instead of the NMS-Value "IBlockData":
You can create your own BlockData with 'Bukkit.createBlockData(Material)'
While creating the CustomDimensionSettings, you have to specify a Bukkit-Tag as Tag for Infinity-Burning-Blocks instead of a MinecraftKey(NMS) and also for the WorldEffects you now have to choose one of the WorldEffects-Enum instead of a MinecraftKey(NMS)
Bug-Fixes:
CustomDimensionSettings had switched variables -> doBedWorks and respawnAnchorWorks were switched
Creating a Custom 1.17.1 Overworld with a total Height of 1280 Blocks here:
https://github.com/FreeSoccerHDX/AdvancedWorldCreatorAPI/blob/main/Giant 1.17.1 World.md
You can now use the Vanilla-Methods to create Ores & Trees with Custom Sizes & Materials:
Structures:
Useable with AdvancedCreator:
Useable only with CustomForest:
- CustomAcaciaTreeStructure
- CustomBirchTreeStructure
- CustomDarkOakTreeStructure
- CustomFancyOakTreeStructure
- CustomMegaJungleTreeStructure
- CustomMegaPineTreeStructure
- CustomMegaSpruceTreeStructure
- CustomOakTreeStructure
- CustomPineTreeStructure
- CustomSmallJungleTreeStructure
- CustomSpruceTreeStructure
This Bug is related to
https://bugs.mojang.com/browse/MC-197616
After creating a World with a CustomBiome you need to relog (to recive the CustomBiome Data)
Or else the Client don't know about this Biome and will spam 'Received invalid biome id: 222' (id may be different) in the Client-Log (this will cause huge Lags and Game-Crashes)
Also the "replace=true" while registering a CustomBiome may now work better.
Specific classes got changed/removed by Paper. This is the fix for it.
Paper will have some issues with some Classes. This update is not a full fix for this. But some Features will now work also with Paper.
Also added a new BiomeGenerator to generate a World with just one Biome.
-> SingleBiomeGenerator
Fixed some Bugs with the Generation of Custom Worlds with newer implemented Settings.
I made some changes to some Method-Names and also renamed the WorldChunkManagers to BiomeGenerators.
Example:
DummyWorldChunkManagerOverworld will now called OverworldBiomeGenerator.
I hope this will help to understand this API a little bit.
CustomBiome:
- You can now add Mobs to the CustomBiome (addMobToBiome)
- You can set a custom Surface (setCustomSurfaceBuilder)
Datapacks:
- You can now add StructureFeatures to your CustomBiome from Datapacks(getDatapackStructureFeature)
- You can now list the Datapack-Features
More Information here:
github.com/FreeSoccerHDX/AdvancedWorldCreatorAPI
There is now a "new" Method called
"registerCustomBiome(CustomBiome, replace)"
If replace is true you can change the CustomBiome-Settings and just run the registerCustomBiome again.
With this update you can set the Prekey for Custom Biomes to almost everything you want. (default: 'awc', chars to use: a-z, 0-9)
More Features for the AdvancedCreator:
- setAllowMonsters
- setAllowAnimals
- setGameMode
- setDifficulty
Read more about the new Methods here:
https://github.com/FreeSoccerHDX/AdvancedWorldCreatorAPI
Also updated GitHub for a better Documentation
- More Custom Biomes/Worlds examples planned.