Skip to content

Commit

Permalink
Kick Player when island is delete
Browse files Browse the repository at this point in the history
  • Loading branch information
Euphillya committed Jan 5, 2025
1 parent 5f57158 commit 5e111c3
Show file tree
Hide file tree
Showing 89 changed files with 525 additions and 484 deletions.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/addon_suggestion.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,43 @@ assignees: 'Euphillya'
**English Version**

## Addon Name

*What is the proposed name of the addon?*

## Detailed Description

*Provide a comprehensive description of the addon and its functionalities.*

## Proposed Features

*List and describe the features that this addon would include.*

## Benefits to Users

*Explain how this addon would benefit the users and enhance their experience.*

## Use Case Examples

*Provide specific scenarios or examples where this addon would be useful.*

**Version Française**

## Nom de l'Addon

*Quel est le nom proposé pour l'addon ?*

## Description détaillée

*Fournissez une description complète de l'addon et de ses fonctionnalités.*

## Fonctionnalités proposées

*Listez et décrivez les fonctionnalités que cet addon inclurait.*

## Avantages pour les utilisateurs

*Expliquez comment cet addon profiterait aux utilisateurs et améliorerait leur expérience.*

## Exemples d'utilisation

*Fournissez des scénarios ou des exemples spécifiques où cet addon serait utile.*
24 changes: 16 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,43 @@ First off, thank you for considering contributing to Skyllia! It's people like y

### Reporting Bugs

This section guides you through submitting a bug report for Skyllia. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
This section guides you through submitting a bug report for Skyllia. Following these guidelines helps maintainers and
the community understand your report, reproduce the behavior, and find related reports.

#### Before Submitting A Bug Report

- **Perform a [search](https://github.com/Euphillya/Skyllia/issues)** to see if the bug has already been reported. If it has, and the issue is still open, add a comment to the existing issue instead of opening a new one.
- **Perform a [search](https://github.com/Euphillya/Skyllia/issues)** to see if the bug has already been reported. If it
has, and the issue is still open, add a comment to the existing issue instead of opening a new one.

#### How Do I Submit A (Good) Bug Report?

Bugs are tracked as GitHub issues. Create an issue and provide the following information by filling in the provided template.
Bugs are tracked as GitHub issues. Create an issue and provide the following information by filling in the provided
template.

- **Use a clear and descriptive title** for the issue to identify the problem.
- **Describe the exact steps which reproduce the problem** in as many details as possible.
- **Provide specific examples to demonstrate the steps**.
- **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
- **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that
behavior.
- **Explain which behavior you expected to see instead and why.**
- **Include screenshots and animated GIFs** which show the problem and explain how to reproduce the problem.
- **If the problem is related to performance or memory**, include a CPU profile capture with your report.
- **Include the versions of all relevant software** (e.g., PaperMC, Folia, Java version).

### Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for Skyllia, including completely new features and minor improvements to existing functionality.
This section guides you through submitting an enhancement suggestion for Skyllia, including completely new features and
minor improvements to existing functionality.

#### Before Submitting An Enhancement Suggestion

- **Perform a [search](https://github.com/Euphillya/Skyllia/issues)** to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
- **Perform a [search](https://github.com/Euphillya/Skyllia/issues)** to see if the enhancement has already been
suggested. If it has, add a comment to the existing issue instead of opening a new one.

#### How Do I Submit A (Good) Enhancement Suggestion?

Enhancement suggestions are tracked as GitHub issues. Create an issue on the repository and provide the following information:
Enhancement suggestions are tracked as GitHub issues. Create an issue on the repository and provide the following
information:

- **Use a clear and descriptive title** for the issue to identify the suggestion.
- **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
Expand All @@ -56,7 +63,8 @@ Enhancement suggestions are tracked as GitHub issues. Create an issue on the rep
- **Follow the project's coding style**.
- **Ensure any install or build dependencies are removed before the end of the layer when doing a build**.
- **Update the documentation with the details of the pull request**.
- **Increase the version numbers in any examples files and the README.md to the new version that this pull request would represent**.
- **Increase the version numbers in any examples files and the README.md to the new version that this pull request would
represent**.

#### How Do I Submit A (Good) Pull Request?

Expand Down
44 changes: 27 additions & 17 deletions addons/InsightsSkyllia/readme.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# SkylliaInsight

**SkylliaInsightAddon** is an addon for the [Insights](https://github.com/InsightsPlugin/Insights) plugin, designed to integrate the Skyllia platform's island management features with Insights' region limiting capabilities. This addon allows server administrators to monitor and enforce limits on player islands, ensuring a balanced and optimized gameplay experience.
**SkylliaInsightAddon** is an addon for the [Insights](https://github.com/InsightsPlugin/Insights) plugin, designed to
integrate the Skyllia platform's island management features with Insights' region limiting capabilities. This addon
allows server administrators to monitor and enforce limits on player islands, ensuring a balanced and optimized gameplay
experience.

## Features

- **Region Integration:** Seamlessly integrates Skyllia islands with Insights, enabling region-based limits on island activities.
- **Custom Limit Configurations:** Utilize Insights' powerful limits configuration to manage tile, group, and permission-based restrictions on islands.
- **Dynamic Region Detection:** Automatically detects island regions based on chunk locations, ensuring accurate limit enforcement.
- **Region Integration:** Seamlessly integrates Skyllia islands with Insights, enabling region-based limits on island
activities.
- **Custom Limit Configurations:** Utilize Insights' powerful limits configuration to manage tile, group, and
permission-based restrictions on islands.
- **Dynamic Region Detection:** Automatically detects island regions based on chunk locations, ensuring accurate limit
enforcement.
- **Folia Support:** Optimized for Folia, ensuring enhanced performance on multithreaded servers.
- **Permission-Based Access:** Control access to various functionalities with granular permissions for administrators.

Expand All @@ -17,30 +23,32 @@
- **Insights Plugin:** Required for region limiting and monitoring functionalities.
- **Java:** Java 21 is required for optimal performance.
- **Dependencies:**
- **SkylliaOre:** Optional, for displaying generator types.
- **SkylliaBankAddon:** Optional, for displaying bank-related information.
- **SkylliaValue:** Optional, for displaying island values (proprietary plugin).
- **SkylliaOre:** Optional, for displaying generator types.
- **SkylliaBankAddon:** Optional, for displaying bank-related information.
- **SkylliaValue:** Optional, for displaying island values (proprietary plugin).

## Installation

1. **Download SkylliaInsightAddon:**
- Obtain the latest version of SkylliaInsightAddon from the [official repository](https://github.com/Euphillya/Skyllia/tree/dev/addons/SkylliaInsight).
- Obtain the latest version of SkylliaInsightAddon from
the [official repository](https://github.com/Euphillya/Skyllia/tree/dev/addons/SkylliaInsight).

2. **Install Dependencies:**
- Ensure that the Skyllia and Insights plugins are installed and properly configured on your server.
- Install any optional dependencies (SkylliaOre, SkylliaBankAddon) if you wish to utilize their features.
- For SkylliaValue, ensure you have the proprietary plugin installed as it is required for displaying island values.
- Ensure that the Skyllia and Insights plugins are installed and properly configured on your server.
- Install any optional dependencies (SkylliaOre, SkylliaBankAddon) if you wish to utilize their features.
- For SkylliaValue, ensure you have the proprietary plugin installed as it is required for displaying island values.

3. **Configure the Plugin:**
- Place the `SkylliaInsightAddon.jar` file into your server's `plugins/Insights/addons/` directory.
- Ensure that the `Insights` plugin is properly configured according to your server's requirements.
- Place the `SkylliaInsightAddon.jar` file into your server's `plugins/Insights/addons/` directory.
- Ensure that the `Insights` plugin is properly configured according to your server's requirements.

4. **Restart the Server:**
- Restart your Minecraft server to load the SkylliaInsight plugin.
- Restart your Minecraft server to load the SkylliaInsight plugin.

## Usage

SkylliaInsight works in the background to integrate Skyllia islands with Insights' region limiting system. Administrators can manage and configure limits through the Insights configuration files.
SkylliaInsight works in the background to integrate Skyllia islands with Insights' region limiting system.
Administrators can manage and configure limits through the Insights configuration files.

### Setting Up Limits

Expand Down Expand Up @@ -119,7 +127,8 @@ limit:
## Configuration
Customize the limits and how they apply to Skyllia islands by editing the `limits.yml` file in the Insights plugin directory. Below is an overview of the configuration options:
Customize the limits and how they apply to Skyllia islands by editing the `limits.yml` file in the Insights plugin
directory. Below is an overview of the configuration options:

### Basic Layout

Expand Down Expand Up @@ -158,7 +167,8 @@ For support, please join our [Discord server](https://discord.gg/uUJQEB7XNN).

## Contributing

Contributions are welcome! Please read the [contribution guidelines](../../CONTRIBUTING.md) before submitting a pull request.
Contributions are welcome! Please read the [contribution guidelines](../../CONTRIBUTING.md) before submitting a pull
request.

## License

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,32 +44,12 @@ public class SkylliaRegion implements Region {

private final Island island;
private final World world;

public SkylliaRegion(Island island, World world) {
this.island = island;
this.world = world;
}

@Override
public String getAddon() {
return getPluginName();
}

@Override
public String getKey() {
return "SKYLLIA_%s".formatted(this.island.getId());
}

@Override
public List<ChunkPart> toChunkParts() {
List<ChunkPart> parts = new ArrayList<>();

for (Position position : spiralStartCenter(island.getPosition(), island.getSize())) {
parts.add(new ChunkPart(new ChunkLocation(world, position.x(), position.z())));
}
return parts;
}


public static List<Position> spiralStartCenter(Position islandRegion, double size) {
List<Position> positions = new ArrayList<>();

Expand Down Expand Up @@ -104,5 +84,25 @@ public static List<Position> spiralStartCenter(Position islandRegion, double siz
}
return positions;
}

@Override
public String getAddon() {
return getPluginName();
}

@Override
public String getKey() {
return "SKYLLIA_%s".formatted(this.island.getId());
}

@Override
public List<ChunkPart> toChunkParts() {
List<ChunkPart> parts = new ArrayList<>();

for (Position position : spiralStartCenter(island.getPosition(), island.getSize())) {
parts.add(new ChunkPart(new ChunkLocation(world, position.x(), position.z())));
}
return parts;
}
}
}
Loading

0 comments on commit 5e111c3

Please sign in to comment.