Commit Graph

27 Commits (dcfd9f11f15c97649ee4b9462628c73b07c6c594)

Author SHA1 Message Date
trivernis dcfd9f11f1
Add unit tests for shapes
Signed-off-by: trivernis <trivernis@protonmail.com>
3 years ago
trivernis 9b618eccc2 Fix dynmap version being null when dynmap doesn't support the minecraft versio
- Fixes #69
4 years ago
trivernis aaa614f651 Cleanup 4 years ago
Trivernis ac6a80ed86
Add autostart config parameter (closes #78) (#84) 4 years ago
Trivernis acf302e8c1
Feature/async chunkmaster (#81)
* Change generation to be asynchronous

At this stage it will most likely crash the server at a certain point.
Pausing and resuming isn't stable. Saving the progress isn't stable as well.
Chunks are being unloaded in the main thread by an unloader class.

* Switch to native threads

- Use thread instead of async tasks
- Store pending paper chunks in the database
- Interrupt the thread when it should be stopped

* Fix insertion of pending chunks

Fix an error that is thrown when the sql for inserting pending chunks doesn't have any chunks to insert.

* Add task states

Add states to differentiate between generating and validating tasks
as well as a field in the database to store this information.
A task will first generate a world until the required radius or the
worldborder is reached. Then it validates that each chunk has been generated.

* Add object representation of world_properties table

* Add DAO for pending_chunks table

* Add DAO for generation_tasks table

* Add state updating to periodic save

* Fix loading of world properties

* Add states to tasks and fix completion handling

* Fix progress report and spiral shape

* Modify the paper generation task so it works with spigot

This change is being made because normal chunk generation doesn't allow
chunks to be requested from a different thread. With PaperLib this issue
can be solved.

* Add workarounds for spigot problems

* Fix some blocking issues and update README

* Add locking to ChunkUnloader class
4 years ago
trivernis 928dfbf264 Fix #61 incorrect progress percentage 4 years ago
trivernis 0bc38384b4 Change pause on join to have a configurable player count
Closes #31
4 years ago
trivernis 53aec18a06 Change group for Chunkmaster dynmap markers
- Change the group to "Chunkmaster" to be able to disable all of those markers.
- Add a marker that displays the last chunk that has been generated and refreshes
every 30 seconds.
4 years ago
trivernis 8953b63c2b Add integration for dynmap
By integrating with dynmap the plugin can show the area of the generation task for each world via an area marker and
triggers the rendering of tiles for generated chunks.
4 years ago
Trivernis 965598de2b Add i18n to every output
Closes #16
4 years ago
trivernis bd731c85f0 Add i18n to generation manager 4 years ago
trivernis 900600714e Add i18n structure 4 years ago
trivernis f89262e538 Add ignore-worldborder config option
- [Convert to unix linebreaks]
- Add ignore-worldborder config option to generate past the vanilla world border
4 years ago
Trivernis ce826419f1 Added config parameter
- made database filename configurable
5 years ago
Trivernis 8b63643f7a Changes to sql structure
- changed SqliteUpdateManager to SqliteManager
- added methods to execute sql with values and callback to the SqliteManager
- added auto close of statements
- switched to establishing a connection only when sql should be executed
5 years ago
Trivernis 7c953ac085 Added tpChunk command
- added tpchunk command
- changed help display on chunkmaster command
- removed autostart table column
5 years ago
Trivernis 8134ccde9c Fixes and speed improvement
- added config parameter to define the number of chunks that should be generated per step
- probably fixed #3 by processing or canceling pending chunks before the world is saved
5 years ago
Trivernis b9443c7487 Added bStats and changed jar build 5 years ago
Trivernis 5a5fe74d9c Performance and stability improvements
- improved performance of paper generation task
- improved stability of spigot generation task
- Updated Readme
- added configuration parameters for max pending chunks and max loaded chunks
5 years ago
Trivernis c49036e35b Performance improvements
- improved performance on paper servers by using chunk coordinates instead of chunk instances to check if the chunk was generated
- moved generation stuff to lib/generation
5 years ago
Trivernis 08bec14df9 Generation task seperation
- Added interface GenerationTask
- added method to GenerationManager that creates a task depending on the server type
- added generation task for paper and spigot (to profit from async chunk loading)
5 years ago
Trivernis 52ba24390f Bug fixes, config file, more commands
- fixed chunk skips skipping not-generated chunks
- changed command structure to /chunkmaster <operation>
- added config options
- updated readme
5 years ago
Trivernis ecf7f10f52 Fixes and SQL auto Update
- fixed removegentask command
- added autostop of generation task after a certain amout of chunks or at the world border
- added SqlUpdateManager to check  if tables need to be created or updated
5 years ago
Trivernis 29720e8451 Fixes and readme update
- fixed stop and resuming on player join/leave
- fixed stop command
5 years ago
Trivernis d69740851e Added generation list task 5 years ago
Trivernis 1343dbf249 Working version 5 years ago
Trivernis 4d233480fe Added Spiral class
- Spiral class to create spirals around a coordinate
5 years ago