Skip to content

Commit

Permalink
docs: documentation overhaul
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex4386 committed Nov 2, 2024
1 parent c797ecc commit becbe5b
Show file tree
Hide file tree
Showing 23 changed files with 867 additions and 384 deletions.
27 changes: 27 additions & 0 deletions .github/docs/changes_from_diwaly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[< Return to Typhon Docs](/DOCS.md)

# Changes from Diwaly's Volcano Plugin
This document will list the changes from Diwaly's Volcano Plugin to Typhon Plugin.

## Changes
* **Entire Rewrite**
- Typhon Plugin is a complete rewrite of Diwaly's Volcano Plugin. The plugin will use `JSON` files to store volcano, eruption vents, and other data.
* **Realistic Eruption**
- **Realistic Ejecta**: Instead of Diwaly's Volcano Plugin that utilizes predefined palette of blocks to compose the volcano by defining probability of each block, Typhon uses predefined materials based on user's silica content configuration
- **Realistic Eruption**: Unlike Diwaly's Volcano Plugin that only flows lava, (i.e. "hawaiian" eruption), Typhon Plugin has variety of eruption styles such as "strombolian", "vulcanian" eruption. or "surtseyan", "plinian" eruption on specific conditions are met.
- **Realistic Eruption Column**: When "vulcanian" eruption or "plinian" eruption is triggered, Typhon Plugin triggers Pyroclastic flows and ash clouds.
- **Realistic Environment**: Typhon Plugin will try to mimic real-life volcano behavior as much as possible. such as, Volcanic gases.
- **Pillow Lava**: Unlike Diwaly's Volcano Plugin that stops and generate stone when water is met, Typhon Plugin implements custom flow of lava to create pillow lava when the lava flows into the water.

## Commands
Unlike Diwaly's Volcano Plugin, Typhon Plugin uses different command scheme due to the rewrite.

* **Diwaly's Volcano Plugin**: `/volcano <subcommand> <name> <args>`
* **Typhon Plugin**: `/volcano <name> <subcommand...> <args>`

## Configuration
Typhon Plugin uses `JSON` files to store data. The configuration file will be stored in `plugins/typhon/` directory.

### Volcano Configuration
Unlike Diwaly's Volcano plugin, Typhon Plugin uses `JSON` files to store volcano data. The configuration file will be stored in `plugins/typhon/volcanoes/{volcano_name}` directory.

18 changes: 18 additions & 0 deletions .github/docs/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[< Return to Typhon Docs](/DOCS.md)

# Installation

## Requirements
* **PaperMC** for Minecraft® 1.21.
* **Java 21** or higher
* A Really beefy (multithreading capable) computer/server
* Bandwidth to cover up extreme usage of FallingBlock and Particles
(Can use up to `72Mbps` per player)
* **A lot of RAM** (4GiB or more recommended)

## Install
1. Download the latest version of the plugin from the [releases page](https://github.com/Alex4386/Typhon/releases/latest)
- **Note**: If you want to test the latest features, you can download the latest build from the [actions page](https://github.com/Alex4386/Typhon/actions/workflows/maven.yml)
2. If you are going to use `BlueMap`, download and install the plugin.
3. Place the downloaded jar file in the `plugins` folder of your server.
4. Start the server.
26 changes: 26 additions & 0 deletions .github/docs/volcano/ash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[< Return to Typhon Docs](/DOCS.md)
[<< Return to Volcano Docs](./index.md)

# Volcanic Ash
Volcanic Ash is the ash that is ejected to the sky from the volcano during the eruption such as `"vulcanian"`, `"plinian"`, `"surtseyan"` etc.

In Typhon Plugin, you can trigger the volcanic ash to be ejected from the volcano is implemented via `BlockDisplay` entities.

The following is implemented:
- `Pyroclastic Flows`
- `Ash Plumes`

## Pyroclastic Flows
Pyroclastic Flows are the fast-moving current of hot gas and volcanic matter that flows down the side of the volcano during the eruption.

In Typhon Plugin, The `Pyroclastic Flows` will race down the side of the volcano and destroy everything in its path and do the following:
- `Pile up Ash`: The pyroclastic flows will pile up the `TUFF` blocks on the ground.
- `Burn the Blocks`: The pyroclastic flows will burn the blocks that are flammable such as wood, leaves, etc.
- `Burn the Trees`: The pyroclastic flows will burn the trees and turn them into `coal_block` as if contacted with lava.
- `Burn the Players`: The pyroclastic flows will burn the players to death if they are inside of it.

## Ash Plumes
Ash Plumes are the plumes of ash that is ejected to the sky from the volcano during the eruption.

In Typhon Plugin, The `Ash Plumes` will rise to the sky and do the following:
- `Burn the entities`: The ash plumes will burn the entities that are inside of it.
Binary file added .github/docs/volcano/assets/pillow_lava.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions .github/docs/volcano/bombs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[< Return to Typhon Docs](/DOCS.md)
[<< Return to Volcano Docs](./index.md)

# Volcanic Bombs
Volcanic Bombs are the solidified lava that is ejected to the sky from the volcano during the eruption such as `"strombolian"`, `"vulcanian"`, `"plinian"`, `"surtseyan"` etc.

In Typhon Plugin, you can trigger the volcanic bombs to be ejected from the volcano is implemented via `FallingBlock` entities.

When the volcanic bombs are ejected, they will be thrown to the sky and fall back to the ground. The size of the volcanic bombs can be different how intense the eruption is.

## Size of the Volcanic Bombs
The size of the volcanic bombs can be different based on the eruption style.
Usually, the size of the volcanic bombs is calculated based on the `explosionPower` and `radius` of the bombs., by default, the size of the volcanic bombs is between `1` to `3` blocks.

During the `plinian` eruption, the size of the volcanic bombs can be between `3` to `5` blocks., or can be even larger.

## Falling to the ground
When the volcanic bombs fall back to the ground, they will explode and create a crater on the ground. The size of the crater can be different based on the `explosionPower` and `radius` of the bombs.

The volcanic bombs can break the wooden blocks, glass blocks, and other fragile blocks. until it reaches the ground.

When it crashes to the ground, The lava from the volcanic bombs can ooze out from the bomb and cool down to create a new block.




55 changes: 17 additions & 38 deletions .github/docs/volcano/builder.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,28 @@
[< Return to Typhon Docs](/index.md)
[< Return to Typhon Docs](/DOCS.md)
[<< Return to Volcano Docs](./index.md)

# Volcano Builder
You can easily create a volcano with Typhon Plugin.
Volcano Builder is a feature of Typhon Plugin that allows you to build a volcano in a more controlled way.

## Example: Creating stratovolcano
For creating a stratovolcano, It can be divided into 3 stages:
## Enable
> [!NOTE]
> For simplicity of the documentation, the following commands will use commands for `mainvent`. For subvent, Please refer to the [Eruption Vents](./vents.md#commands) documentation.
1. Building a main basin of the volcano by `hawaiian eruption`
2. Building an andesite top by `vulcanian eruption`

### Dividing the Y-levels for each cones
Suppose you want to create a volcano with a height of 200 from the y 64.
Due to hawaiian eruption having fluid lava, the slope of the hawaiian eruption is likely to be `1/3`.

Usually the basin of the volcano have `1/2` of the total height.
Considering the part of the basin hidden by the volcano, the height of the basin should be `2/3` of the total height.

Thus, the height of the basin should be `200 * 2/3 = 133`.

### Using builder to build basin of the volcano
for the basin, the y_threshold should be `133 + 64 = 197`.

Follow the following command.
To enable the builder, you need to run the following command:
```
typhon create tambora hawaiian
volcano tambora mainvent hawaiian style crater
volcano tambora mainvent builder y_threshold 197
volcano tambora mainvent builder enable
volcano tambora mainvent start
/volcano <volcano_name> mainvent builder enable
```

The volcano will automatically stop erupting when the volcano.

### Using builder to build andesite top
for the andesite top, the y_threshold should be `64 + 200 = 264`.

Follow the following command.
To disable the builder, you need to run the following command:
```
volcano tambora mainvent style vulcanian
volcano tambora mainvent builder y_threshold 264
volcano tambora mainvent builder enable
volcano tambora mainvent start
/volcano <volcano_name> mainvent builder disable
```

The volcano will automatically stop erupting when the volcano.
## Modes
- `y_threshold`: The builder will stop erupting when the y-level of the volcano reaches the threshold.
- Set: `/volcano <volcano_name> mainvent builder y_threshold <y_level>`

## Examples
- [Build a Stratovolcano](./tips/build_stratovolcano.md)
- [Building a Stratovolcano that reaches the sky](./tips/build_stratovolcano_sky.md)

### Done
You have successfully created a stratovolcano with Typhon Plugin!
32 changes: 17 additions & 15 deletions .github/docs/volcano/caldera.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
[< Return to Volcano Page](index.md)
# Caldera
<p align="right">Last Update: <b>v0.7.0-rc2</b></p>
[< Return to Typhon Docs](/DOCS.md)
[<< Return to Volcano Docs](./index.md)

## Start creating caldera
Creation of caldera consists 2 stages
1. `/volcano <name> mainvent caldera <radius> <?deep> <?oceanY>`: setup the caldera formation
2. `/volcano <name> mainvent caldera start`: start the caldera formation
# Caldera
Caldera is a large volcanic crater, typically one formed by a major eruption leading to the collapse of the mouth of the volcano.

## Setup the caldera formation
The `/volcano <name> mainvent caldera <radius> <?deep> <?oceanY>` command is used to create a caldera.
Typhon Plugin allows you to create a caldera in the volcano, and even you can create a caldera lake if you want.

The command takes the following arguments:
## Start creating caldera
> [!NOTE]
> For simplicity of the documentation, the following commands will use commands for `mainvent`. For subvent, Please refer to the [Eruption Vents](./vents.md#commands) documentation.
* `<radius>`: The radius or starting size of the caldera.
* `<deep>`: The depth of the caldera. This is an optional argument, if not defined, it will automatically set it up via calculating via radius
* `<oceanY>`: The y-coordinate of the water level if the caldera is you want to make a caldera lake. If this is left blank, It is purely random if it will generate caldera lake or not. this should not over the lowest point of the caldera rim.
To start creating a caldera, you need to run the following commands:
1. If you have created caldera before, you need to reset the caldera formation by running:
`/volcano <name> mainvent caldera clear`
2. `/volcano <name> mainvent caldera <radius> <?deep> <?oceanY>`: setup the caldera formation
- `<radius>`: The radius or starting size of the caldera., The radius of the `"mouth"` of the caldera.
- `<deep>`: The depth of the caldera. This is an optional argument, if not defined, it will automatically set it up via calculating via radius
- `<oceanY>`: The y-coordinate of the water level if the caldera is you want to make a caldera lake. If this is left blank, It is purely random if it will generate caldera lake or not. if it is lower than the lowest point of the caldera rim, it will not generate caldera lake.

Example: `/volcano Tambora mainvent caldera 140 50 83`.
3. `/volcano <name> mainvent caldera start`: start the caldera formation

## Start the caldera formation
When the caldera formation setup is completed, It will automatically generate a blueprint for creating caldera.
You can start the caldera formation via running `/volcano <name> mainvent caldera start`.

As soon as you run this command, the vent will start `plinian` eruption. sending obnoxious size of volcanic bombs to cone/outside of the volcano.
As soon as you run this command, the vent will start [`plinian` eruption](./eruption.md#unconfigurable-eruption-style) sending obnoxious size of volcanic bombs to cone/outside of the volcano.

## Check current caldera formation status
You can check current status of caldera formation by running `/volcano <name> mainvent caldera`.
Expand Down
Loading

0 comments on commit becbe5b

Please sign in to comment.