-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Worldgen API v0 #66
Worldgen API v0 #66
Conversation
There is an example of how it works in test mod: TestWorldgenListener |
station-worldgen-api-v0/src/main/resources/assets/.mcassetsroot
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tabs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Original file have spaces, and Idea just keep file in the same format
...c/main/java/net/modificationstation/stationapi/impl/worldgen/BiomeProviderRegistryEvent.java
Outdated
Show resolved
Hide resolved
...api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeBuilder.java
Outdated
Show resolved
Hide resolved
...-worldgen-api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/BiomeAPI.java
Outdated
Show resolved
Hide resolved
…vent, Reference2Object maps in BiomeAPI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After these are resolved, if this pull request is feature-complete, I think I'll merge.
...api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeBuilder.java
Outdated
Show resolved
Hide resolved
...api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeBuilder.java
Outdated
Show resolved
Hide resolved
...v0/src/main/java/net/modificationstation/stationapi/api/worldgen/surface/SurfaceBuilder.java
Outdated
Show resolved
Hide resolved
...c/main/java/net/modificationstation/stationapi/impl/worldgen/BiomeProviderRegisterEvent.java
Outdated
Show resolved
Hide resolved
...-api-v0/src/main/java/net/modificationstation/stationapi/impl/worldgen/WorldgenListener.java
Outdated
Show resolved
Hide resolved
...-api-v0/src/main/java/net/modificationstation/stationapi/impl/worldgen/WorldgenListener.java
Outdated
Show resolved
Hide resolved
...api-v0/src/main/java/net/modificationstation/stationapi/mixin/worldgen/MixinBiomeSource.java
Outdated
Show resolved
Hide resolved
...api-v0/src/main/java/net/modificationstation/stationapi/mixin/worldgen/MixinBiomeSource.java
Outdated
Show resolved
Hide resolved
...-worldgen-api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/BiomeAPI.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some mistakes.
Also, this doesn't require any additional multiplayer code, right? Because everything is based on the world's seed. Or does it need extra work for multiplayer?
...n/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeProviderRegisterEvent.java
Outdated
Show resolved
Hide resolved
...n/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeProviderRegisterEvent.java
Outdated
Show resolved
Hide resolved
...api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeBuilder.java
Outdated
Show resolved
Hide resolved
...-api-v0/src/main/java/net/modificationstation/stationapi/impl/worldgen/WorldgenListener.java
Outdated
Show resolved
Hide resolved
...v0/src/main/java/net/modificationstation/stationapi/api/worldgen/surface/SurfaceBuilder.java
Outdated
Show resolved
Hide resolved
...api-v0/src/main/java/net/modificationstation/stationapi/api/worldgen/biome/BiomeBuilder.java
Outdated
Show resolved
Hide resolved
… handling, event phase
Yes, all computations are based on world seed and biomes are registered on both client and server |
…nHashMap proper usage
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these features are final, let's get this merged
# Conflicts: # settings.gradle
This is a prototype of worldgen API.
Implemented features:
Planned features:
How biome distribution works:
Original in-game biomes uses temperature and wetness (humidity) for distribution, which makes adding custom biomes problematic. To solve that issue world was divided into Biome Regions, each region will generate only specific biomes. By default there is only one region in both Nether and End, you can add biomes directly into them or add a separate regions for modded biomes (which can have temperature/wetness distribution and will not break vanilla generation)
Example of vanilla biomes:
Vanilla biomes with two custom biomes (edge + central):
Several mod regions:
Several biomes added into Nether region
Biome colors (grass and leaves, separately) are done with BiomeColorProviders, you can use single color for biome foliage or define a custom function: