Skip to content

Commit 0685132

Browse files
committed
Add component input/output handler
1 parent 35c2e4e commit 0685132

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

debuggery-bukkit/src/main/java/io/zachbr/debuggery/reflection/types/handlers/bukkit/BukkitBootstrap.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public BukkitBootstrap(TypeHandler typeHandler, Logger logger) {
5858
bukkitHandlers.add(new PotionEffectInputHandler());
5959
bukkitHandlers.add(new PotionEffectTypeInputHandler());
6060
bukkitHandlers.add(new VectorInputHandler());
61+
bukkitHandlers.add(new ComponentInputHandler());
6162
// register polymorphics last
6263
bukkitHandlers.add(new BlockDataInputHandler());
6364

@@ -76,6 +77,7 @@ public BukkitBootstrap(TypeHandler typeHandler, Logger logger) {
7677
bukkitHandlers.add(new OfflinePlayerOutputHandler());
7778
bukkitHandlers.add(new PermissionAttachmentInfoOutputHandler());
7879
bukkitHandlers.add(new WorldBorderOutputHandler());
80+
bukkitHandlers.add(new ComponentOutputHandler());
7981

8082
//
8183
// Register
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.zachbr.debuggery.reflection.types.handlers.bukkit.input;
2+
3+
import io.zachbr.debuggery.reflection.types.handlers.base.InputHandler;
4+
import io.zachbr.debuggery.reflection.types.handlers.base.platform.PlatformSender;
5+
import net.kyori.adventure.text.Component;
6+
import net.kyori.adventure.text.minimessage.MiniMessage;
7+
import org.jetbrains.annotations.NotNull;
8+
import org.jetbrains.annotations.Nullable;
9+
10+
public class ComponentInputHandler implements InputHandler<Component> {
11+
@Override
12+
public @NotNull Component instantiateInstance(String input, Class<? extends Component> clazz, @Nullable PlatformSender<?> sender) throws Exception {
13+
return MiniMessage.miniMessage().deserialize(input);
14+
}
15+
16+
@Override
17+
public @NotNull Class<Component> getRelevantClass() {
18+
return Component.class;
19+
}
20+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.zachbr.debuggery.reflection.types.handlers.bukkit.output;
2+
3+
import io.zachbr.debuggery.reflection.types.handlers.base.OutputHandler;
4+
import net.kyori.adventure.text.Component;
5+
import net.kyori.adventure.text.minimessage.MiniMessage;
6+
import org.jetbrains.annotations.NotNull;
7+
import org.jetbrains.annotations.Nullable;
8+
9+
public class ComponentOutputHandler implements OutputHandler<Component> {
10+
@Override
11+
public @Nullable String getFormattedOutput(Component component) {
12+
return MiniMessage.miniMessage().serialize(component);
13+
}
14+
15+
@Override
16+
public @NotNull Class<Component> getRelevantClass() {
17+
return Component.class;
18+
}
19+
}

0 commit comments

Comments
 (0)