Skip to content

Commit

Permalink
Merge pull request #24 from efrei-craft/development
Browse files Browse the repository at this point in the history
Some fixes
  • Loading branch information
DocSystem authored Nov 4, 2022
2 parents 0108b9b + 5a67063 commit 325f8eb
Show file tree
Hide file tree
Showing 9 changed files with 116 additions and 24 deletions.
28 changes: 28 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'

categories:
- title: '🚀 Features'
label: 'feature'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'

autolabeler:
- label: 'chore'
files:
- '*.md'
branch:
- '/docs{0,1}\/.+/'
- label: 'bug'
branch:
- '/fix\/.+/'
title:
- '/fix/i'
- label: 'enhancement'
branch:
- '/feature\/.+/'
body:
- '/JIRA-[0-9]{1,4}/'
4 changes: 2 additions & 2 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ name: Gradle

on:
push:
branches: [ "development", "stable" ]
branches: [ "*" ]
pull_request:
branches: [ "development", "stable" ]
branches: [ "*" ]

permissions:
contents: read
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Release Drafter

on:
push:
# branches to consider in the event; optional, defaults to all
branches: [ "*" ]
# pull_request event is required only for autolabeler
pull_request:
# Only following types are handled by the action, but one can default to all as well
types: [opened, reopened, synchronize]
# pull_request_target event is required for autolabeler to support PRs from forks
pull_request_target:
types: [opened, reopened, synchronize]

permissions:
contents: read

jobs:
update_release_draft:
permissions:
# write permission is required to create a github release
contents: write
# write permission is required for autolabeler
# otherwise, read permission is required at least
pull-requests: write
runs-on: ubuntu-latest
steps:
# (Optional) GitHub Enterprise requires GHE_HOST variable set
#- name: Set GHE_HOST
# run: |
# echo "GHE_HOST=${GITHUB_SERVER_URL##https:\/\/}" >> $GITHUB_ENV

# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
# (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml
# with:
# config-name: my-config.yml
# disable-autolabeler: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44 changes: 29 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,36 @@
# ECATUP
# ECATUP (_Efrei Craft's Awesome Tools and Utilities Plugin_)

---
[![Java CI with Gradle](https://github.com/efrei-craft/ECATUP/actions/workflows/gradle.yml/badge.svg)](https://github.com/efrei-craft/ECATUP/actions/workflows/gradle.yml)

Efrei Craft's Awesome Tools and Utilities Plugin
## Les commandes et fonctions utiles d'Efrei Craft

---
### Permissions

Les commandes et fonctions utiles d'Efrei Craft
| Permission | Description |
|-------------------------|------------------------------------------------------------------|
| `ecatup.lobby` | Permet au joueur d'utiliser la commande `/lobby`. |
| `ecatup.gamemode` | Permet au joueur d'utiliser la commande `/gm` et ses dérivées. |
| `ecatup.give.skull` | Permet au joueur d'utiliser la commande `/skull`. |
| `ecatup.whois` | Permet au joueur d'utiliser la commande `/whois`. |
| `ecatup.chat.color` | Permet au joueur d'envoyer des messages en couleur dans le chat. |
| `ecatup.channel.use` | Permet au joueur d'utiliser la commande `/channel`. |
| `ecatup.channel.global` | Permet au joueur d'envoyer des messages dans le canal GLOBAL. |
| `ecatup.channel.server` | Permet au joueur d'envoyer des messages dans le canal SERVER. |
| `ecatup.channel.team` | Permet au joueur d'envoyer des messages dans le canal TEAM. |
| `server.<server_name>` | Permet au joueur de se connecter au serveur `<server_name>`. |

## Permissions
### Commandes
| Commande | Description | Alias |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| <code>/gm <0&#124;1&#124;2&#124;3> [player]</code><br/><code>/gm <s&#124;c&#124;a&#124;sp> [player]</code><br/><code>/gm <survival&#124;creative&#124;adventure&#124;spectator> [player]</code> | Change le gamemode de `player`, ou le sien. | `/gms` `/gmc` `/gma` `/gmsp` |
| `/lobby` | Se ramène au lobby (c'est-à-dire, le serveur s'appelant "lobby"). | `/hub` `/spawn` |
| `/skull [player]` | Obtient son propre crâne, ou celui de `player`. | |
| `/whois [player]` | Obtient des informations sur soi-même, ou `player`. De plus, chaque information est copiable en cliquant dessus. | |
| <code>/channel [GLOBAL&#124;SERVER&#124;TEAM]</code> | Bascule sur un canal de chat, ou retourne son canal actuel. | `/chat` `/c` |
| `/slap <player> [-a]` | Donne une claque à `player` dans une direction aléatoire (mais vers le haut).</br>Avec -a, `player` sera repoussé dans la direction opposée, à soi-même. | `/bitchslap` |

| Permission | Description |
|------------------------|------------------------------------------------------------------|
| `ecatup.lobby` | Permet au joueur d'utiliser la commande `/lobby`. |
| `ecatup.gamemode` | Permet au joueur d'utiliser la commande `/gm` et ses dérivées. |
| `ecatup.give.skull` | Permet au joueur d'utiliser la commande `/skull`. |
| `ecatup.whois` | Permet au joueur d'utiliser la commande `/whois`. |
| `ecatup.chat.color` | Permet au joueur d'envoyer des messages en couleur dans le chat. |
| `ecatup.channel` | Permet au joueur d'utiliser la commande `/channel`. |
| `ecatup.channel.global`| Permet au joueur d'envoyer des messages dans le canal GLOBAL. |
| `server.<server_name>` | Permet au joueur de se connecter au serveur `<server_name>`. |
\
\
Chaque message du chat est **copiable**, et ajoutera le **canal** sur lequel il a été dit, ainsi que le **timestamp**.
![Exemple](exemple1.png)
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ plugins {
}

group = 'fr.efreicraft'
version = '1.0.8'
version = '1.0.9'

compileJava.options.encoding "UTF-8"

Expand Down
Binary file added exemple1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions src/main/java/fr/efreicraft/ecatup/commands/Chat.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

import static fr.efreicraft.ecatup.utils.Msg.colorize;

Expand Down Expand Up @@ -101,10 +102,9 @@ public void sendChannelPrefToDB(Player player, PreferenceCache.ChatChannel chann
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (args.length != 1) return Collections.emptyList();

List<String> result = new ArrayList<>();
Arrays.stream(PreferenceCache.ChatChannel.values())
List<String> result = Arrays.stream(PreferenceCache.ChatChannel.values())
.filter(channel -> channel.toString().startsWith(args[0].toUpperCase()))
.forEach(channel -> result.add(channel.toString()));
.filter(channel -> sender.hasPermission("ecatup.channel.global") || channel != PreferenceCache.ChatChannel.GLOBAL).map(Enum::toString).collect(Collectors.toList());

return result;
}
Expand Down
12 changes: 10 additions & 2 deletions src/main/java/fr/efreicraft/ecatup/utils/Msg.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
package fr.efreicraft.ecatup.utils;

import net.kyori.adventure.text.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;

import java.util.Objects;

public class Msg {
public static String colorize(String message) {
return ChatColor.translateAlternateColorCodes('&', message);
return ChatColor.translateAlternateColorCodes('&', Objects.requireNonNullElse(message, "null"));
}

public static String colorize(TextComponent message) {
return ChatColor.translateAlternateColorCodes('&', message.content());
return ChatColor.translateAlternateColorCodes('&', Objects.requireNonNullElse(message.content(), nullText()));
}

private static String nullText() {
Bukkit.getLogger().warning("Tried to colorize a null text (LuckPerms is at it again...)");
return "null";
}
}
4 changes: 3 additions & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ permissions:
description: Permet l'utilisation de '&' pour colorer son texte
ecatup.slap:
description: Permet d'utiliser /slap
ecatup.channel.use:
description: Permet d'utiliser /channel
ecatup.channel:
description: Permet de changer de channel, tout court
children:
Expand All @@ -42,7 +44,7 @@ commands:
aliases:
- channel
- c
permission: ecatup.channel
permission: ecatup.channel.use
gm:
description: Change your gamemode
usage: /gm <gamemode> [player]
Expand Down

0 comments on commit 325f8eb

Please sign in to comment.