feat: Add support for Minecraft 1.20.5 (#186)

* feat: support Minecraft 1.20.5

* build: bump to 1.6.5

* refactor: optimize imports

* docs: update about menu author credits

* docs: update velocity meta author credits

* docs: update URL

* refactor: use Minedown from new repo

* docs: shorten name of Plugin Message API docs page

* deps: bump minimum Velocity version to 380
This commit is contained in:
William 2024-04-23 16:23:36 +01:00 committed by GitHub
parent 88dc2996e4
commit c23fdd1ff6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 27 additions and 20 deletions

View File

@ -45,7 +45,7 @@ dependencies {
implementation 'org.apache.commons:commons-text:1.12.0'
implementation 'net.william278:DesertWell:2.0.4'
implementation 'de.themoep:minedown-adventure:1.7.2-SNAPSHOT'
implementation 'net.william278:minedown:1.8.2'
implementation 'org.bstats:bstats-velocity:3.0.2'
implementation 'de.exlll:configlib-yaml:4.5.0'

View File

@ -154,4 +154,5 @@ public class VelocitabAPIHook {
### 6. Next steps
Now that you've got everything ready, you can start doing stuff with the Velocitab API!
- [[API Examples]]
- [[API Examples]]
- See also: [[Plugin Message API]]

View File

@ -3,7 +3,7 @@ Velocitab supports the full range of modern color formatting, including RGB colo
Formatting is applied on header, footer and player text for each server group, and is applied after [[Placeholders]] have been inserted.
## MineDown syntax reference
MineDown is the default formatter type, enabled by setting `formatter` to `MINEDOWN` in `config.yml`. See the [MineDown Syntax Reference](https://github.com/Phoenix616/MineDown) on GitHub for the specification of how to format text with it.
MineDown is the default formatter type, enabled by setting `formatter` to `MINEDOWN` in `config.yml`. See the [MineDown Syntax Reference](https://github.com/WiIIiam278/MineDown) on GitHub for the specification of how to format text with it.
## MiniMessage syntax reference
MiniMessage formatting can be enabled by setting `formatter` to `MINIMESSAGE` in `config.yml`. See the [MiniMessage Syntax Reference](https://docs.advntr.dev/minimessage/format.html) on the Adventure Docs for how to format text with it. Using MiniMessage as the formatter also allows compatibility for using MiniPlaceholders in text.

View File

@ -18,7 +18,7 @@ Please click through to the topic you wish to read about.
* 🖼️ [[Custom Logos]]
* 📦 [[API]]
* 📝 [[API Examples]]
* 📝 [[Plugin Message API Examples]]
* 📝 [[Plugin Message API]]
## Links
* 💻 [GitHub](https://github.com/WiIIiam278/Velocitab)

View File

@ -12,7 +12,7 @@
* 🖼️ [[Custom Logos]]
* 📦 [[API]]
* 📝 [[API Examples]]
* 📝 [[Plugin Message API Examples]]
* 📝 [[Plugin Message API]]
## Links
* 💻 [GitHub](https://github.com/WiIIiam278/Velocitab)

View File

@ -3,9 +3,9 @@ javaVersion=17
org.gradle.jvmargs='-Dfile.encoding=UTF-8'
org.gradle.daemon=true
plugin_version=1.6.4
plugin_version=1.6.5
plugin_archive=velocitab
plugin_description=A beautiful and versatile TAB list plugin for Velocity proxies
velocity_api_version=3.3.0
velocity_minimum_build=329
velocity_minimum_build=380

View File

@ -29,7 +29,10 @@ import net.william278.velocitab.packet.UpdateTeamsPacket;
import net.william278.velocitab.player.TabPlayer;
import org.jetbrains.annotations.NotNull;
import java.util.*;
import java.util.Arrays;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
public class PluginMessageAPI {

View File

@ -21,7 +21,6 @@ package net.william278.velocitab.commands;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.arguments.StringArgumentType;
import com.mojang.brigadier.builder.ArgumentBuilder;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import com.mojang.brigadier.builder.RequiredArgumentBuilder;
import com.velocitypowered.api.command.BrigadierCommand;
@ -47,10 +46,10 @@ public final class VelocitabCommand {
.title(Component.text("Velocitab"))
.description(Component.text(plugin.getDescription().getDescription().orElseThrow()))
.version(plugin.getVersion())
.credits("Author",
AboutMenu.Credit.of("William278").description("Click to visit website").url("https://william278.net"))
.credits("Authors",
AboutMenu.Credit.of("William278").description("Click to visit website").url("https://william278.net"),
AboutMenu.Credit.of("AlexDev03").description("Click to visit GitHub").url("https://github.com/alexdev03"))
.credits("Contributors",
AboutMenu.Credit.of("AlexDev03").description("Code"),
AboutMenu.Credit.of("Ironboundred").description("Code"),
AboutMenu.Credit.of("Emibergo02").description("Code"),
AboutMenu.Credit.of("FreeMonoid").description("Code"),

View File

@ -37,7 +37,7 @@ import java.util.function.Function;
public enum Formatter {
MINEDOWN(
(text, player, plugin) -> new MineDown(text).toComponent(),
(text) -> text.replace("__", "_\\_"),
MineDown::escape,
"MineDown",
(text) -> new MineDown(text).toComponent()
),

View File

@ -38,7 +38,8 @@ public class Protocol765Adapter extends Protocol404Adapter {
public Protocol765Adapter(@NotNull Velocitab plugin) {
super(plugin, Set.of(
ProtocolVersion.MINECRAFT_1_20_3
ProtocolVersion.MINECRAFT_1_20_3,
ProtocolVersion.MINECRAFT_1_20_5
));
}

View File

@ -35,7 +35,10 @@ import net.william278.velocitab.tab.Nametag;
import org.jetbrains.annotations.NotNull;
import org.slf4j.event.Level;
import java.util.*;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import static com.velocitypowered.api.network.ProtocolVersion.*;
@ -281,7 +284,8 @@ public class ScoreboardManager {
.mapping(0x56, MINECRAFT_1_19_3, true)
.mapping(0x5A, MINECRAFT_1_19_4, true)
.mapping(0x5C, MINECRAFT_1_20_2, true)
.mapping(0x5E, MINECRAFT_1_20_3, true);
.mapping(0x5E, MINECRAFT_1_20_3, true)
.mapping(0x60, MINECRAFT_1_20_5, true);
packetRegistration.register();
} catch (Throwable e) {
plugin.log(Level.ERROR, "Failed to register UpdateTeamsPacket", e);

View File

@ -25,9 +25,7 @@ import net.william278.velocitab.player.TabPlayer;
import org.jetbrains.annotations.NotNull;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* The VanishTabList handles the tab list for vanished players

View File

@ -3,9 +3,10 @@
"name": "Velocitab",
"version": "${version}",
"description": "${description}",
"url": "https://william278.net",
"url": "https://william278.net/project/velocitab",
"authors": [
"William278"
"William278",
"AlexDev03"
],
"dependencies": [
{