Commit Graph

184 Commits

Author SHA1 Message Date
9d77fe3bb6 More controlled chunk existence checking. 2020-05-04 23:20:54 -05:00
10022876d5 Fixed potential biome continuity logic mistake. 2020-05-04 20:35:44 -05:00
785f7a1ea3 Added generation modes. 2020-05-04 20:27:44 -05:00
479e28c090 World info now persist through reloads. 2020-05-04 16:57:57 -05:00
1167efbe4e Large package structure refactoring. 2020-05-04 16:41:46 -05:00
7fb858c7ca Refactoring. 2020-05-04 16:20:09 -05:00
832603cdd7 Value adjustements. 2020-05-04 16:01:45 -05:00
483b8b2ecb Added a world information system. 2020-05-04 15:54:41 -05:00
5ddc11258c Removed snowy biomes from the list of special layered biomes. 2020-05-04 14:08:53 -05:00
3a86bd1a12 Wrote a world information system and management for them.
Also large amounts of refactoring done.

The tests implement the new changes.

Island map test clears the cache now.
2020-05-04 12:53:09 -05:00
fc9aca3bb1 Overworld general terrain generation complete.
Added warning supression for unused as it may be used in the future.
2020-05-03 22:45:42 -05:00
a077ec6c0e Refactoring. 2020-05-03 17:49:48 -05:00
740ca812ae World generation feels more natural now.
Mountain tips after a certain height is stone.

Deep ocean biomes are now actually deeper.

Temperature map no longer calculates in groups of 4.
2020-05-03 16:44:43 -05:00
085827264b Biome selector updates.
Now uses a given seed to produce a biome.

Chooses the deep equivalent of a requested ocean given a parameter.
2020-05-03 16:41:40 -05:00
9aaaede19f Added two new utility datatypes. 2020-05-03 16:38:23 -05:00
dc3ccb6ff0 Added height modifier to height shader as well as difference between deep oceans and normal oceans. 2020-05-03 12:16:37 -05:00
1db4811d66 Height shader and snow blocks work. 2020-05-03 11:42:24 -05:00
d4c0fa259c Further toying with values.
Primitive generation working.
2020-05-02 22:40:56 -05:00
79edd9bf29 Several changes to chunk generation operation.
Multiple values adjusted.

Pipeline changed.

Changed server start script to not wait for debugger.
2020-05-02 19:22:45 -05:00
d8d0744350 Registered chunk loader into bukkit event listener. 2020-05-02 19:21:32 -05:00
486a0f837f Basic terrain shaping added.
World height shader "shades" the primitive island height giving variation to land and sea.

World layer shader "shades" the primitive islands with varying layers dependent on biomes.

Mapper values was changed to perform the more targetted task of generating island locations and masks.

Biome selector now takes a random at call to help with seed consistency (due to threading, this may still be problematic).

Chunk generator implements the new changes.

Tests implement new changes.
2020-05-02 00:06:58 -05:00
a6cebe703b Now generating primitive islands.
Favourable island mapper values.
2020-05-01 18:37:06 -05:00
e4597538b2 Chunk generation now generates sea and island.
Adjusted values for the island mapper.
Island world mapper now takes a seed instead of a random object.
Refactoring of method names.

Reduced cache sizes used by terrain generation.

Reworked height shader to not use it's own noise generator.

Updated tests implementing changes respectively.
2020-04-30 21:42:03 -05:00
d0701ce63d Changed async execution setup.
Two beta threads with lower thread priority and one alpha with normal thread priority.

Implemented use of both in chunk loading.
2020-04-30 16:26:11 -05:00
9b111cc977 Cache value now has convenience constructor.
Implemented the changes.

Also placed putting data in hashmap priority so for faster access.
2020-04-30 15:50:14 -05:00
3e80d1e67d Height shader now takes random object in constructor.
Removed old height shader code having to do with this change.

Implmemented changes to chunk generator.
2020-04-30 15:11:35 -05:00
0eb2a13d14 Adding to usage list before to hashmap for better concurrency. 2020-04-30 14:53:48 -05:00
50ee956ce7 Removed some debugging code, removed instance of double locking. 2020-04-30 14:51:14 -05:00
387393632d Cache now no longer locked from reading while writing.
Fixed another case where writing is followed by consecutive reading.
2020-04-30 14:40:28 -05:00
c60e94728e Added fix for another potential multithreaded case for cache.
Case: consecutive gets.
2020-04-30 01:03:52 -05:00
83297a1d10 Improved cache performance by removing locks.
These sync locks can be removed because of fixing the multithread cases in the previous commit.
2020-04-30 00:20:32 -05:00
f7eb94ae39 Corrected false assumption in caching logic. 2020-04-30 00:09:58 -05:00
f637e79ea5 Refactoring. 2020-04-29 23:13:15 -05:00
64a3e3db27 Slightly faster. 2020-04-29 22:53:28 -05:00
1b80c26348 Clear cache after each test. 2020-04-29 21:29:47 -05:00
21e8e52b9c Changed test parameters, added large sized test. 2020-04-29 21:26:22 -05:00
c963ad140f Chunk generator asyncronously generates block values.
Also added parallel capable override.
2020-04-29 20:12:54 -05:00
538b1c3cae Changed some multithreaded tests to fail if exception is thrown. 2020-04-29 19:53:02 -05:00
c63298bcaa Fixed tests environments.
Added basic islandworldmapper to test for block value consistency.

UniBiomeGenerator tests now produce new random object with same seed.
2020-04-29 19:40:02 -05:00
c6fd9a833c Revert to "Island world chunk generator now pre-generates island values."
This reverts commit e40bf74cb8.
2020-04-29 19:14:20 -05:00
a119e6f596 Removed unneccesary blocking call. 2020-04-29 16:31:38 -05:00
4c93e85078 Fixed error.
The order of checking for null prioritizing was swapped.
2020-04-29 16:28:24 -05:00
6f27e52c6b Improved locking scheme of cache. 2020-04-29 16:25:27 -05:00
e40bf74cb8 Island world chunk generator now pre-generates island values.
Also implements the new biome selector.
2020-04-29 15:06:24 -05:00
5b1bb4288d Biome selector no longer requires random parameter.
Implemented new biome selector changes.
2020-04-29 15:06:14 -05:00
c2fb0ffea8 Added executor to utilities. 2020-04-29 14:00:30 -05:00
14d0375c7e Added threading for building the biome grid. 2020-04-29 13:11:07 -05:00
a102f53365 Changed locking positions. 2020-04-29 13:05:04 -05:00
d62bc696a5 Changed a test to use JUnit's timeout annotation. 2020-04-28 23:37:09 -05:00
b2efe76e27 Renamed test to better describe it. 2020-04-28 23:30:07 -05:00