From ac61442dda1cb09696117ec640e8331d78fc08f6 Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Fri, 4 Apr 2025 23:38:52 +0700 Subject: [PATCH] feat: implemented debug renderer entities --- .../msb3/api/command/DebugCommands.java | 1 + .../api/command/DebugRendererCommand.java | 62 ++++++++++++ .../ru/dragonestia/msb3/api/debug/Debug.java | 11 +++ .../api/{util => debug}/DebugMessage.java | 8 +- .../dragonestia/msb3/api/dialog/Dialog.java | 2 +- .../msb3/api/dialog/DialogButton.java | 2 +- .../msb3/api/dialog/DialogCondition.java | 2 +- .../action/DialogDialogActionHandler.java | 2 +- .../msb3/api/entity/OffsetPosition.java | 10 ++ .../msb3/api/entity/debug/DebugCollider.java | 29 ++++++ .../msb3/api/entity/debug/DebugHologram.java | 18 ++++ .../msb3/api/entity/debug/DebugLine.java | 64 +++++++++++++ .../msb3/api/entity/debug/DebugMarker.java | 33 +++++++ .../api/entity/debug/DebugRendererEntity.java | 96 +++++++++++++++++++ .../api/entity/rule/PlayerViewerRule.java | 31 ++++++ .../dragonestia/msb3/api/math/Quaternion.java | 18 ++++ .../msb3/api/player/MsbPlayer.java | 42 +++++++- .../api/ui/dialogue/DialogueRenderer.java | 2 +- 18 files changed, 421 insertions(+), 12 deletions(-) create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/command/DebugRendererCommand.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/debug/Debug.java rename api/src/main/java/ru/dragonestia/msb3/api/{util => debug}/DebugMessage.java (87%) create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/OffsetPosition.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/debug/DebugCollider.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/debug/DebugHologram.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/debug/DebugLine.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/debug/DebugMarker.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/debug/DebugRendererEntity.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/entity/rule/PlayerViewerRule.java create mode 100644 api/src/main/java/ru/dragonestia/msb3/api/math/Quaternion.java diff --git a/api/src/main/java/ru/dragonestia/msb3/api/command/DebugCommands.java b/api/src/main/java/ru/dragonestia/msb3/api/command/DebugCommands.java index 414fac5..ca6262b 100644 --- a/api/src/main/java/ru/dragonestia/msb3/api/command/DebugCommands.java +++ b/api/src/main/java/ru/dragonestia/msb3/api/command/DebugCommands.java @@ -29,6 +29,7 @@ public class DebugCommands { registerPosCommand(); registerTeleportCommand(); registerGameModeCommand(); + DebugRendererCommand.register(); log.info("Registered debug commands"); } diff --git a/api/src/main/java/ru/dragonestia/msb3/api/command/DebugRendererCommand.java b/api/src/main/java/ru/dragonestia/msb3/api/command/DebugRendererCommand.java new file mode 100644 index 0000000..acec548 --- /dev/null +++ b/api/src/main/java/ru/dragonestia/msb3/api/command/DebugRendererCommand.java @@ -0,0 +1,62 @@ +package ru.dragonestia.msb3.api.command; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.minestom.server.MinecraftServer; +import net.minestom.server.command.CommandSender; +import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.CommandContext; +import net.minestom.server.command.builder.arguments.ArgumentEnum; +import net.minestom.server.command.builder.arguments.ArgumentString; +import net.minestom.server.command.builder.arguments.ArgumentType; +import net.minestom.server.entity.Player; +import ru.dragonestia.msb3.api.player.MsbPlayer; + +public class DebugRendererCommand extends Command { + + private final ArgumentEnum