Make TNTLeague Event System Capable

This commit is contained in:
2025-02-01 21:50:36 +01:00
parent 90666e2d20
commit 3d153d49b5
10 changed files with 182 additions and 79 deletions
@@ -72,9 +72,12 @@ public class Message {
pattern += fromRB(resourceBundle, message);
for (int i = 0; i < params.length; i++) {
if (params[i] instanceof SubMessage) {
SubMessage smsg = (SubMessage) params[i];
if (params[i] instanceof SubMessage.Translatable) {
SubMessage.Translatable smsg = (SubMessage.Translatable) params[i];
params[i] = parse(smsg.getMessage(), sender, smsg.getParams());
} else if (params[i] instanceof SubMessage.Literal) {
SubMessage.Literal smsg = (SubMessage.Literal) params[i];
params[i] = smsg.getMessage();
}
}
@@ -19,20 +19,33 @@
package de.steamwar.message;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
public class SubMessage {
@AllArgsConstructor
public abstract class SubMessage {
private final String message;
private final Object[] params;
public SubMessage(String message, Object... params) {
this.message = message;
this.params = params;
@Getter
public static class Translatable extends SubMessage {
private final Object[] params;
public Translatable(String message, Object... params) {
super(message);
this.params = params;
}
public Translatable(String message) {
super(message);
this.params = new Object[0];
}
}
public SubMessage(String message) {
this.message = message;
this.params = new Object[0];
@Getter
public static class Literal extends SubMessage {
public Literal(String message) {
super(message);
}
}
}